Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upUse glCopyImageSubData where available to copy data between texture arrays #3338
Conversation
|
Note that this is instead of #3327, as it does not work on 3xx or 4xx, for some reason not yet known. The bug on 3xx also seems slightly different than on later Adrenos. Once we properly understand it, we can make a better decision on how to minimise divergent code whilst supporting as many devices as possible. |
|
The taskcluster failure seems to be because the updated gleam depends on a newer gl_generator than glutin and mozangle. (which then depends on a newer xml-rs and khronos_api). I don't know if this is actually be a problem? I tried to update to the newest glutin to see if that would work, and it seems there are api changes so that won't be straightforward. Is it okay to just add gl_generator, khronos_api, and xml-rs, to the ignore packages in servo-tidy.toml? |
|
@jamienicol looks like @djg has a patch to bump glutin etc. in #3343, maybe you can steal that? |
|
I have a patch to bump gluten but it doesn’t work with Angle on windows.
The api changed and I’m not sure how to implement swap_buffers now.
On Sat, 24 Nov 2018 at 3:18 am, Kartikaya Gupta (kats) < ***@***.***> wrote:
@jamienicol <https://github.com/jamienicol> looks like @djg
<https://github.com/djg> has a patch to bump glutin etc. in #3343
<#3343>, maybe you can steal that?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#3338 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAJhrX2S2QoLOMZs4YK-HOSbmb9tISN-ks5uyC3YgaJpZM4YvrjC>
.
--
Dan Glastonbury, Dan dot Glastonbury at gmail dot com
`Pour encourjay lays ortras'
|
I think given they're build-time only dependencies it should be fine. |
| self.bind_draw_target_impl(*draw_fbo); | ||
| self.blit_render_target(rect, rect); | ||
| if self.supports_copy_image_sub_data { | ||
| assert!(src.id != dst.id, |
This comment has been minimized.
This comment has been minimized.
|
I think @kvark was involved with the glutin API change. Perhaps he knows what to do with that. |
|
Latest push adds duplicated package versions to the ignore list, and uses assert_ne!. |
|
Do our test bots have this extension? If so, we should see what the try results are before proceeding. |
|
|
…rrays Falling back to the existing glBlitFramebuffer loop. This avoids a driver bug with texture arrays and glBlitFramebuffer on Adreno 4xx, 5xx, and 6xx devices, where the blit was failing and the texture cache became corrupted. Adreno 3xx seems to be affected by a similar bug, but does not support glCopyImageSubData, so this can not be used there. Once the exact nature of that bug has been established and a workaround identified, we should re-evaluate whether this change is still desirable or if the code paths can be consolidated.
|
Latest push fixes conflict from #3356 in Cargo.lock I have no idea what hardware the test machines have but I reckon the linux ones could well have that extension. I'm not sure how to do a try run including the gleam update. @staktrace? |
|
I kicked off a try push at https://treeherder.mozilla.org/#/jobs?repo=try&revision=6465f51752f90f22d0cdbd2b21a246ae24702686 - for future reference the doc here describes how to do an update including dependencies. |
|
Thanks Kats! Looks like we have a couple tests which need fuzzed, and an unexpected pass. |
|
@bors-servo r=kvark |
|
|
Use glCopyImageSubData where available to copy data between texture arrays Falling back to the existing glBlitFramebuffer loop. This avoids a driver bug with texture arrays and glBlitFramebuffer on Adreno 4xx, 5xx, and 6xx devices, where the blit was failing and the texture cache became corrupted. Adreno 3xx seems to be affected by a similar bug, but does not support glCopyImageSubData, so this can not be used there. Once the exact nature of that bug has been established and a workaround identified, we should re-evaluate whether this change is still desirable or if the code paths can be consolidated. <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/webrender/3338) <!-- Reviewable:end -->
Actually these changes were from bug 1509973 which landed on autoland this morning and just got backed out. So your PR shouldn't need any fuzzing. |
|
|
…fb47f1d270a1 (WR PR #3338). r=kats servo/webrender#3338 Differential Revision: https://phabricator.services.mozilla.com/D13115 --HG-- extra : moz-landing-system : lando
…fb47f1d270a1 (WR PR #3338). r=kats servo/webrender#3338 Differential Revision: https://phabricator.services.mozilla.com/D13115
…fb47f1d270a1 (WR PR #3338). r=kats servo/webrender#3338 Differential Revision: https://phabricator.services.mozilla.com/D13115 UltraBlame original commit: 52b6028ac2b3492fd02f2e4e9ee74caea52ee2ff
…fb47f1d270a1 (WR PR #3338). r=kats servo/webrender#3338 Differential Revision: https://phabricator.services.mozilla.com/D13115 UltraBlame original commit: 52b6028ac2b3492fd02f2e4e9ee74caea52ee2ff
…fb47f1d270a1 (WR PR #3338). r=kats servo/webrender#3338 Differential Revision: https://phabricator.services.mozilla.com/D13115 UltraBlame original commit: 52b6028ac2b3492fd02f2e4e9ee74caea52ee2ff
jamienicol commentedNov 22, 2018
•
edited by larsbergstrom
Falling back to the existing glBlitFramebuffer loop. This avoids a
driver bug with texture arrays and glBlitFramebuffer on Adreno 4xx,
5xx, and 6xx devices, where the blit was failing and the texture cache
became corrupted.
Adreno 3xx seems to be affected by a similar bug, but does not support
glCopyImageSubData, so this can not be used there. Once the exact
nature of that bug has been established and a workaround identified,
we should re-evaluate whether this change is still desirable or if the
code paths can be consolidated.
This change is