|
185d9d08
|
2020-08-14T22:48:15
|
|
Re-land "Feedback Loop Redesign 2/3: Track bound FBOs in Texture."
Re-land fixes the crash when drawing with no bound Program executable.
Currently we track feedback loops by counting the times a Texture is
bound as a sampler or image in a particular context. This is a bit
tricky because Texture bindings change frequently. Relative to the
number of times we need to check for a feedback loop this causes excess
overhead.
Usually Framebuffers have a low number of Textures bound (in many cases
just 1). And Textures aren't usually bound to many different FBOs. So
instead of counting the number of times a Texture is bound as a sampler
or image we will track the Framebuffers that the Texture is bound to.
This CL adds a small vector class to gl::Texture which tracks all the
Framebufer Serials of its bound Framebuffers. We can use this set to
quickly check if there's any potential feedback loop between the a FBO
and this Texture.
We also update the feedback loop check to use this new method. We will
be able to remove the old counting method when we switch the Vulkan
feedback loop handling to use the new tracking in this CL.
Bug: angleproject:4500
Bug: angleproject:4959
Change-Id: If2bd25b08298a99f5e64b4055137f9154b0f0860
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2365595
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
7d38b0ba
|
2020-08-19T17:33:31
|
|
Fix manual, disable automatic rolling of googletest and jsoncpp
roll_chromium_deps.py didn't handle properly rolling recursedeps for
these 2 repos, only rolling the top level repo but not internal.
Temporarily disable rolling these 2 repos in roll_chromium_deps.py and
roll them properly to the latest revision used by Chrome.
Change log:
https://chromium.googlesource.com/chromium/src/third_party/googletest/+log/e3c3f879eee34ec81b1e562d8fecd207716d8945..c20c5a3085ab4d90fdb403e3ac98e7991317dd27
https://chromium.googlesource.com/external/github.com/google/googletest.git/+log/f2fb48c3b3d79a75a88a99fba6576b25d42ec528..4fe018038f87675c083d0cfb6a6b57c274fb1753
https://chromium.googlesource.com/chromium/src/third_party/jsoncpp/+log/ec647b85b61f525a1a74e4da7477b0c5371c50f4..30a6ac108e24dabac7c2e0df4d33d55032af4ee7
No change to
https://chromium.googlesource.com/external/github.com/open-source-parsers/jsoncpp.git/+/645250b6690785be60ab6780ce4b58698d884d11
Bug: angleproject:4973
Change-Id: Ie164c5b1adb8684b875f1be4924b295033e2fb4a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2365023
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
831056bf
|
2020-08-19T12:04:59
|
|
Fix typo in test harness README
Larget->larger
Bug: angleproject:3162
Change-Id: I7ee84b714af179f97db1aa61b58ed946b28373bc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2364191
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
add9b677
|
2020-08-17T15:50:20
|
|
Delete extra initialization in spirv shader.
Only webgl requires initialization of local variables,others don't.
Extra initialization in spirv shader may affect performance.
Bug: angleproject:4952
Change-Id: I004761779067748d43c1ea2630794491f1389492
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2359608
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a13f1061
|
2020-08-14T23:37:21
|
|
Metal: Fix missing image view for texture from IOSurface.
Image view is used by glTexSubImage*, glCopySubImage* and
glCopySubTexture*.
This fixed some failed WebGL tests that make use of IOSurface.
Bug: angleproject:4846
Bug: angleproject:2634
Change-Id: Iebcf840fdc1be2794feab766957b5848a361a63c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2356107
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
c4a82aaa
|
2020-08-17T11:16:22
|
|
Tests: Add COD:Mobile trace
Test: angle_perftests --gtest_filter=TracePerfTest.Run/*cod_mobile*
Bug: b/164426913
Bug: angleproject:4048
Change-Id: I306714632b635c728fa212ed793f076c6b889227
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2360047
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
863115fb
|
2020-08-17T19:41:54
|
|
Re-enable a dEQP-EGL test on SwANGLE
Hopefully no longer flaky.
dEQP.EGL/functional_sharing_gles2_multithread_random_egl_server_sync_shaders_compile_9
Bug: angleproject:4495
Change-Id: I121ad4ece0be3e0ab7b0390a1a2c54cfd2bed537
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2360904
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
d63bca58
|
2020-08-06T17:37:18
|
|
Vulkan: Add test for RGB texture not break renderpass
This adds a test that will use an empty RGB texture. It should not break
renderpass.
Bug: b/162603208
Change-Id: I90f5aa2fafdbd70c654c9ad0675d6def32b58313
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2338828
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
9ae6d7f2
|
2020-08-14T11:00:29
|
|
D3D: disable to translate uniform block to StructuredBuffer
Temporarily disables the feature that translate uniform block to
StructuredBuffer on D3D backend for a bug.
Adapted from a patch by xinghua.cao@intel.com
Bug: chromium:1112112
Change-Id: I3419a0eb8ae619e1fa532ffb29f56a9099f04618
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2357752
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e89eb912
|
2020-08-12T11:21:07
|
|
Reduce spam in native perf tests.
The QC driver was repeating HIGH priority messages about map flags.
Bug: angleproject:4943
Change-Id: I927c38249f840544a7c1f5e595fa34e706e401bd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2352472
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
0a3233fa
|
2020-07-29T10:35:04
|
|
X11 and Ozone: fix compilation of tests.
For use_x11 && use_ozone build, use X11 backend by default.
For ozone only, continue using Ozone impl, which is basically
gbm.
Bug: chromium:1085700
Change-Id: Iac104e983135e566b0d42a58e00d3c83b430d6dc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2346276
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
6b2d6f82
|
2020-08-13T23:43:35
|
|
Reenable AttributeLayout end2end tests on Linux SwANGLE
Hopefully no longer flaky.
Bug: angleproject:4502
Change-Id: I958a7febce4057706c0d822b9fffc4d9a2b18f83
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2354295
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
d201ed8b
|
2020-08-02T16:29:35
|
|
Vulkan: Track used Images in RenderPass.
Adding a simple ImageSerial tracking map in our RenderPass allows us
to know when we do or do not need to close the RenderPass on a new
Image access. This simple tracking scheme improves Manhattan
performance by up to 25% on Android. The improved perf comes from
reducing our RenderPass count (23->18 RenderPasses in our capture
scene).
Adds a FastUnorderedSet class to manage the used RP Image serials.
Updates the Query helpers to explicitly flush the RP before inserting
queries.
Bug: angleproject:4911
Change-Id: I0c34fc8e307514ebdf3e81e08d8e5aedb70ebe8f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2334346
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
5559351c
|
2020-08-11T14:23:32
|
|
Vulkan: Correctly determine mip level in resolveColorWithCommand()
FramebufferVk::resolveColorWithCommand() is currently using the wrong
mip level value by using the GL index value, rather than calculating the
VK value from (index value - the base level).
Bug: angleproject:4753
Test: FramebufferTest_ES31::MultisampleResolveIntoMipMapWithBlit()
Change-Id: I8ddaeb21c4957b46880f5ef5f6a78242c04b4dcd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2349951
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
c65517d6
|
2020-08-12T17:43:53
|
|
Add tests' expectations to capture replay tests
Skips failing tests so that they do not affect the results of passing
tests.
Bug: angleproject:4817
Change-Id: I80678cb62b0b81d6a1aa811908019022efbe1268
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2351394
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
|
|
cc958e0e
|
2020-08-12T14:27:42
|
|
Remove D3D9 configs from perf tests.
We are not maintaining D3D9 for performance and reducing the number
of perf tests will speed up the bots.
Bug: angleproject:4943
Change-Id: Ib4ddad2cbfefcf6fccf3307df3bac7565ef246f4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2352478
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d667ad2f
|
2020-08-11T16:09:36
|
|
Tests: Add Mobile Legends trace
Test: angle_perftests --gtest_filter=TracePerfTest.Run/*mobile*
Bug: b/163619545
Bug: angleproject:4048
Change-Id: I8ed176afe10b758a22b539d526bf02a9fe35ab92
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2350582
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
48d951e2
|
2020-07-30T15:32:03
|
|
Perf Tests: Handle logError callback.
This will force errors when ANGLE runs into Vulkan Validation Layer
failures and other internal bugs. Currently we could sometimes fail
silently. Especially on Android where the error would only show up in
logcat.
Bug: angleproject:4909
Change-Id: Ie2888805c577d9fbad417d45a33e3269966b7b25
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2330091
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
6eb7756d
|
2020-08-07T17:41:39
|
|
Vulkan: tell ContextVk when swapchain is re-created
For an app that only draws to the swapchain, if the swapchain is
recreated with a different rotation (as done by the ANGLE perf tests
when switching from Angry Birds 2 to Candy Crush), ContextVk is not
informed, and so the new rotation is ignored. Use the
subject-observer pattern to set the appropriate dirty bits.
Test: run_angle_perftests --gtest_filter=TracePerfTest.Run/vulkan_angry*:*vulkan_candy* --verbose --local-output
Bug: angleproject:4910
Bug: b/163126746
Change-Id: Ib5303e9c4095db1b3e736911f483589e40a73d0c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2341768
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
f37f1dcb
|
2020-08-02T19:38:54
|
|
Metal: Init format table using Metal-Feature-Set-Tables.pdf
- Format table is now initialized using informations from
https://developer.apple.com/metal/Metal-Feature-Set-Tables.pdf.
Previously, it was setup using gl::GenerateMinimumTextureCaps().
- This CL also adds InitializeTextureDataFunction and LoadFunctionMap to
mtl::Format. They are needed to properly initialize/convert textures
with non-normalized formats.
- This CL is prerequisite for integer & floating point format supports.
- New test: DXT1CompressedTextureTest.DXT1Alpha (this test was added
in the past but was reverted for some reasons).
Bug: angleproject:2634
Change-Id: I5eaad812909a49c4c138d0f65fd21a6a199fcb22
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2332144
Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
05b6740c
|
2020-08-09T12:23:42
|
|
TestRunner: Fix test result handling.
The bots expect us to explicitly label "is_unexpected" for all
unexpected results (e.g. failures).
Also they construct a test filter from our test names so our result
names have to match the tests exactly. That means removing prefixes
like we have for the test suite name.
Bug: angleproject:3162
Change-Id: I1a02ff8e26545b10a8829a3ee47be91f7459aa65
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2345028
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
ba7398c8
|
2020-08-10T21:04:38
|
|
Skip WebGL2CompatibilityTest.CopyMip1ToMip0 on Mac Intel GL
Flaky. Aleady skipped on Win Intel GL.
Bug: angleproject:4805
Change-Id: I206d66079ca4beabfee12f6c9989d960ca461877
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2347463
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
48bfb8ef
|
2020-08-10T19:34:23
|
|
Suppress dEQP-GLES3 failures on D3D11 NVIDIA
dEQP-GLES3.functional.shaders.texture_functions.texturesize.*
started failing when driver was upgraded to 451.48
Bug: angleproject:4948
Change-Id: Idc547702cabc3a106829be85baf8400e4769e271
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2347454
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
f9de2e20
|
2020-08-04T11:53:05
|
|
Enable required extensions for Chromium to use the Metal backend.
This includes:
EGL_ANGLE_display_texture_share_group
EGL_ANGLE_display_semaphore_share_group
EGL_ANGLE_robust_resource_initialization
GL_EXT_debug_marker
Bug: angleproject:4847
Bug: angleproject:4930
Bug: angleproject:4929
Bug: chromium:1112800
Bug: angleproject:4946
Change-Id: Ibacb6badf9f784dae3ca42514142ef13ee7297b8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2332863
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a0880831
|
2020-08-06T19:11:40
|
|
Metal: Implement CHROMIUM_copy_texture
Bug: angleproject:4930
Bug: angleproject:2634
Change-Id: I9fd958aa1dd872855be06a14bdbba4c6624dc934
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2340396
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
ce5943c5
|
2020-08-05T23:24:17
|
|
Change test result types + add additional logging
New result types: Passed, Failed, TimedOut, Crashed, CompileFailed,
Skipped. They divide the results of tests more clearly.
Results are now immediately logged to the stdout once a test batch
completes.
Flags, with the exception of --gtest_filter now use "-" instead of "_".
Bug: angleproject:4817
Change-Id: I9616b23ef70026818e22126a251e1e2341de641d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2340787
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
3ebac486
|
2020-08-07T15:35:15
|
|
Disabling failing dEQP-GLES2.functional.fbo.render.recreate_* tests
The following tests started failing on Android (Pixel 2 and 4) running
ToT master:
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4_stencil_index8
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4_stencil_index8
dEQP-GLES2.functional.fbo.render.recreate_depthbuffer.rebind_rbo_rgba4_depth_component16
dEQP-GLES2.functional.fbo.render.recreate_depthbuffer.no_rebind_rbo_rgba4_depth_component16
dEQP-GLES2.functional.fbo.render.recreate_stencilbuffer.rebind_rbo_rgba4_stencil_index8
dEQP-GLES2.functional.fbo.render.recreate_stencilbuffer.no_rebind_rbo_rgba4_stencil_index8
We aren't sure how these failures got through CQ, so I'm suppressing
them for now to unblock other CLs.
Bug: angleproject:4944
Test: dEQP-GLES2.functional.fbo.render.recreate_*
Change-Id: I2b35e07babf3257a3de8d27f6c161c0cb796d8ff
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2342267
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
8956bfb9
|
2020-08-05T13:34:01
|
|
Use striping when making test batches
When grouping tests to test batches, instead of grouping neighboring
tests together, use striping so that slow tests are fanned out
into multiple batches. This way, no test batch is too slow.
Bug: angleproject:4817
Change-Id: I7825539e401ea53b5a31167f206d1f5bfb07bdbf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2339540
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
|
|
063d754b
|
2020-08-07T12:02:13
|
|
Tests: Update NBA2K20 trace
Significantly reduce setup for this trace. First frame drops
from ~430K lines to ~150K lines of code. Compile/link times
should be bearable.
TBR: ianelliott@google.com,jmadill@chromium.org
Test: angle_perftests --gtest_filter="TracePerfTest.Run/*nba*"
Bug: b/160014453
Change-Id: Ia33941012e02ec5488d039501f592dc48e9acfe4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2343454
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
fc8866cf
|
2020-08-07T10:31:35
|
|
Tests: Update Angry Birds 2 trace
Primarily fix the width/height of the drawing surface,
but also pull in changes from July 2020 update.
TBR: courtneygo@google.com,jmadill@chromium.org
Test: angle_perftests --gtest_filter="*Trace*"
Bug: b/157672184
Change-Id: Ia6e16f6d695954f50b3d2a4e8aaaa88514b461d1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2343453
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
91a03bd4
|
2020-08-03T23:24:31
|
|
Vulkan: Fix render-to-texture simultaneously bound to two FBOs
If a texture is simultaneously attached to two FBOs, one where it's a
normal texture and another where it's multisampled-render-to-texture,
different render targets must be created for it.
If a texture is simultaneously attached to two FBOs, both as
multisampled-render-to-texture but with different sample counts, two
implicit multisampled images need to be created as well as different
render targets.
Bug: angleproject:4913
Change-Id: I584ba327e4cb2099ef62f86f5d88719dc156ce13
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2335810
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
3a3d419d
|
2020-08-04T09:06:01
|
|
Reference count context to fix ASAN issues
Running with ASAN there are several use after free issues because a
eglDestroyContext destroys the context right away even though it's in
use in other thread(s). Adding reference count to context so that it's
not destroyed until all users are done using it.
Bug: b/162609728
Change-Id: I00b24b53d760e38ff61dd9ce652a49b1f32f0cd2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2336447
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
3831ac20
|
2020-08-06T18:28:15
|
|
Remove suppressions for passing tests
Bug: angleproject:1323
Change-Id: I704bd2aff98ff334a4ada54a0c465a16109b9cbb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2341764
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f9dd2c15
|
2020-08-02T18:03:16
|
|
Vulkan: Accumulate Buffer barriers.
Uses an unordered_map in the CommandBufferHelper to track buffer
reads and writes. Buffer barriers are tracked specially in the
CommandBufferHelper class as a barrier we execute immediately when
we execute the commands into the primary. So when we run into an
incompatible buffer access we must start a new command buffer.
The rules for an incompatible access are:
- when we are reading a buffer, any prior write in the same command
buffer is incompatible.
- when we are writing a buffer, any prior read or write in the same
command buffer is incopatible.
Also adds a regression test using a new performance counter.
Bug: angleproject:4429
Change-Id: I393a4ed87314f955eb998940b877ba76ea15a7b8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2334091
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
18dd0c28
|
2020-08-02T17:50:48
|
|
Vulkan: Add command buffer performance counter.
Adds a counter for the secondary command buffers (non-RenderPass).
We'll use this in an upcoming test that validates that ANGLE only
issues a single barrier (CB) in some buffer read/write scenarios.
Also adds a PerfCounters struct.
Bug: angleproject:4429
Change-Id: Iaf75ca89da3d02753897cb4066e2c56db497417e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2334090
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b3545b42
|
2020-07-29T16:50:53
|
|
Get storage buffers/images from ProgramExecutable
Update StateCache::updateActiveShaderStorageBufferIndices() and
StateCache::updateActiveImageUnitIndices to get the storage buffers and
image bindings from the ProgramExecutable, respectively. This requires
updating the ProgramPipeline's ProgramExecutable to build up its vector
of buffers/images from each Program's ProgramExecutable.
Bug: angleproject:4869
Test: VertexAttributeTestES31.UsePpoComputeShaderToUpdateVertexBuffer
Test: SimpleStateChangeTestES31.InvalidateThenStorageWriteThenBlendPpo
Change-Id: I68b7d23eedda910c3dcbf5f9c50b74b5e80134d8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2327701
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
e8789a53
|
2020-07-29T12:01:49
|
|
Vulkan: Don't always end the render pass when updating the scissor
We don't always need to end the render pass when updating the scissor,
since it will be ended later when necessary.
This change is in preparation for optimizing resolving multisample
images with glBlit, since the render pass needs to be updated before
it's ended.
Bug: angleproject:4753
Test: CQ
Change-Id: Ie657587ca9f4461dcc03f0f9c251ac2c17398f5b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2327334
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
fc4bd898
|
2020-08-03T16:29:06
|
|
Vulkan: Support ANGLE_external_objects_flags
With this extension, it is possible to import Vulkan images into ANGLE
(similar to EXT_external_objects) while specifying the Vulkan create and
usage flags used to create that image. This can be used by the
application to drop usage flags it does not need to improve performance,
or add create flags as it requires.
Bug: angleproject:4912
Bug: fuchsia:52759
Change-Id: Ia568973b19670999dd0e69f6ac5548e8ef0c3eec
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2335020
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Michael Spang <spang@chromium.org>
|
|
e4e2a847
|
2020-08-03T14:09:49
|
|
Entry points for ANGLE_external_objects_flags
Bug: angleproject:4912
Bug: fuchsia:52759
Change-Id: If339f096a74cc87d16a6494562711d718a7738ea
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2335019
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
25b0de6b
|
2020-08-01T13:45:11
|
|
Vulkan: Squash Texture+ImageView Serial and improve caching.
Previously we regenerated TextureSerial on Texture state changes such
as base/max level changes. This caused ANGLE to update descriptor sets
even though it was using the same image view handles. This change
instead uses an ImageViewSubresourceSerial which includes both a
serial for the ImageView and a 32-bit packed subresource range. The CL
speeds up NBA2k because ANGLE no longer writes new descriptors
for Texture max level changes. Local testing showed up to a 40% speedup.
Also adds a regression test with a counter for the number of descriptor
set writes in a frame.
This change will also be useful in upcoming changes that track Image
serials in the RenderPass.
Bug: angleproject:4911
Change-Id: I66249634aa56288079acf2c0eb8aa3391103533c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2333396
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
6aed2832
|
2020-07-31T10:52:21
|
|
Batch capture run + change how results are logged
Before, the run stages of tests in a batch were run separately by
multiple subprocesses. Now the run stages of tests in a batch are
batched together and run by a single subprocess.
Changes how results are logged. Tests in a batch are logged together.
Within a batch, tests that fail at the same stage are also logged
together.
Bug: angleproject:4817
Change-Id: Ie3f992c081de914f1f1f521bec2d72f06ccca238
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2331738
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
6c873cfd
|
2020-07-31T10:08:26
|
|
Disable RobustBufferAccessWebGL2ValidationStateChangeTest on Mali
Mali does not support the robustness on Vulkan, so skip this test.
Bug: angleproject:4823
Change-Id: Id4d29fe27f10ec87d901f92ba097db9207809d42
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2331311
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f776eb9c
|
2020-08-01T23:45:24
|
|
Vulkan: EXT_multisampled_render_to_texture2 support
The previous change that implemented EXT_multisampled_render_to_texture
already provisioned this extension in the Vulkan backend. This change
implements the front-end for this extension and enables it in the Vulkan
backend.
Bug: angleproject:4836
Change-Id: I7080260972e61727c5716051c236f635668cb67b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2330510
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
47207e42
|
2020-08-01T23:43:43
|
|
Vulkan: Fix blit/resolve of mixed-samples framebuffers
A framebuffer could contain a mixture of multisampled and
multisampled-render-to-texture attachments. When used as the source of
a glBlitFramebuffer operation, the former requires a resolve while the
latter is a blit. This change fixes this use-case.
Bug: angleproject:4836
Change-Id: I1d39bf25f54df9f8b68304058596a2d1c975f9ba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2333987
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d41280a7
|
2020-08-04T09:08:05
|
|
Suppress SurfacelessContext test on Android/NVIDIA
EGLSurfacelessContextTest.Switcheroo/ES2_OpenGLES_NoFixture is
failing on NVIDIA Shield TV.
Bug: angleproject:4924
Change-Id: I4bd0744fd19cb3473cc654ede5870374506ddc46
TBR=jmadill@chromium.org
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2336189
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
7d741c85
|
2020-07-31T15:40:17
|
|
Tests: Remove more optimizations from traces
With the addition of NBA2K20, which has stressed multiple parts
of our solution, we need to scale back the optimization done on
the trace itself. Otherwise the link never completes.
Test: angle_perftests --gtest_filter="TracePerfTest.Run/*nba*"
Bug: b/160014453
Bug: angleproject:4048
Change-Id: I064813326d401cdcc5649c45255eb214cbf0a2db
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2335607
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
1780609d
|
2020-08-03T17:01:21
|
|
Trace Tests: Disable timestamp queries.
This framebuffer changing timing code adds overhead so it should stay
disabled unless turned on explicitly.
This was causing a performance regression in the native benchmark for
some trace tests like egypt.
Bug: angleproject:4845
Change-Id: I51c77d544cae063ba185aa4f20d028d9ffa7a2ab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2335021
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
515b0775
|
2020-07-31T12:14:59
|
|
Metal: Enable EGL_KHR_surfaceless_context.
Surfaceless contexts are emulated in the frontend so this extension
can be enabled for the metal backend. It's needed to run Chrome
with ANGLE's metal backend.
Bug: angleproject:4847
Change-Id: I3a2f74fd5f2ac75a056c528c8b30ffbd41d73e46
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2332880
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
69ca1025
|
2020-07-31T02:08:09
|
|
Metal: Implement EGL_ANGLE_iosurface_client_buffer.
GL_R16UI format is not supported yet. It will be implemented once
integer textures are implemented in metal back-end.
Bug: angleproject:4847
Bug: angleproject:2634
Change-Id: I60a52c0ce327a524c74e80b18bb15978ac52065b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2329091
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a5a08b5e
|
2020-07-31T01:57:33
|
|
Metal: Enable end2end tests on Intel.
Bug: angleproject:4133
Bug: angleproject:2634
Change-Id: I3eff5ff81e908eec2990eb036728aa9878c8f802
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2329090
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4f7f4387
|
2020-07-24T11:44:02
|
|
Add entry points for OES/EXT_texture_buffer
This extension is core in 3.2
Bug: angleproject:3573
Change-Id: If08736759da2fdc680cfa396d354dbfa97d1a60f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2317040
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4e1abc75
|
2020-07-24T10:38:40
|
|
Vulkan: Set depthStencil loadOp to DontCare when not used and stored
If depth stencil buffer is disabled during entire renderpass, and at the
end of renderpass we are not storing the data back to memory, then force
the loadOP to DontCare to avoid unnecessary depth stencil load or
clear.
Bug: b/162080462
Change-Id: I30905a6d45bec038de68e7f363ec699eb2be09ab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2317726
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
2d0265fa
|
2020-08-02T12:01:46
|
|
Trace Tests: Scale results based on frames in capture.
This now reports averaged time per frame instead of per "step".
Scores in general will be divided by 11. Results still reported
in nanoseconds.
Bug: angleproject:4920
Change-Id: I6f9dca75885cce358c3c7d1e871441969d8aa3d3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2334095
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
322cc825
|
2020-08-02T17:27:23
|
|
Rename RenderPass test to performance counter test.
This is a better naming for new tests that will check other counters
such as the number of command buffers, barriers, and descriptor set
writes.
Bug: angleproject:4911
Change-Id: I8b2c12f6e043c2833e64fa9627f781e61f8f0f3d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2334089
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d04a5593
|
2020-07-31T10:55:38
|
|
Vulkan: Add RenderPass count test.
Bug: angleproject:4911
Change-Id: I4c4e187b6b048118ce1231ae8924340ad382c43f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2331741
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9b1cab0d
|
2020-07-31T11:40:05
|
|
Fix validation of glFramebufferTexture2DMultisampleEXT
In preparation for GL_EXT_multisampled_render_to_texture2. This makes
the validation reuse what's there for glFramebufferTexture2D in addition
to what GL_EXT_multisampled_render_to_texture requires.
Additionally, it uses packed enums for texture target and id.
Bug: angleproject:4836
Change-Id: Ie778c84e1ff5a0cb6615257f2aff9e04395dd5aa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2332956
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
bd7cef28
|
2020-07-31T11:18:27
|
|
Trace Tests: Fix Win/x86 crash.
A missing KHRONOS_APIENTRY annotation was causing a crash due to
stack corruption in Win/x86 only.
Bug: angleproject:4845
Bug: chromium:1111764
Change-Id: I60b30ce8bc409c71d223eaedd74dc0c1ae034f7a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2331739
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
cbd5bee8
|
2020-07-13T20:31:29
|
|
Disable shader's pre-rotation code on Metal & non-Android.
Pre-rotation code were added to transform gl_Position, gl_FragCoords,
gl_PointCoords, dFdX, dFdY in shader. However, it is only useful for
android's surface pre-rotation and completely un-needed in Metal
back-end.
This CL disables these pre-rotation code if the platform is not
android.
Bug: angleproject:4678
Change-Id: I89c42fcf24b49896f4ed9c2f9465da521beaf25f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2295000
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
f3a38d97
|
2020-07-23T19:00:34
|
|
Add a custom trace tests loader.
This custom loader will disambiguate the trace tests gl layer
from the util GL/EGL loader.
Bug: angleproject:4845
Change-Id: I5e8340eb50f736d931302f71f15f556fd9e52081
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2315627
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Manh Nguyen <nguyenmh@google.com>
|
|
2c41931c
|
2020-07-21T14:21:27
|
|
Batch-compile and batch-run-replay multiple tests
Multiple tests are batch-compiled into 1 replay application instead of
multiple replay applications. Replay application now runs generated
code of multiple tests instead of 1 test. This reduces overhead cost
and brings down runtime.
Main process now receives messages sent by workers via a message queue
and prints them to the main stdout so that user can know if workers are
hanging.
Add handle for user interrupt (Ctrl-C) so that processes are properly
destroyed and cleaned up.
Trace files now have the option not to be deleted.
Bug: angleproject:4817
Change-Id: Ic90ae0f430e1d3c261ffea5f963be5a4e94b0ad2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2310909
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
|
|
aed3d65b
|
2020-07-29T22:23:00
|
|
Tests: Add NBA2K20 trace
Test: angle_perftests --gtest_filter="TracePerfTest.Run/*nba*"
Bug: b/160014453
Bug: angleproject:4048
Change-Id: I4899af05d48ad2900e6d5e44adc5f5e0bdba157e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2326911
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
dcc56215
|
2020-07-19T01:12:09
|
|
Vulkan: Implement GL_EXT_multisampled_render_to_texture
This change allows the use of resolve attachments in the Vulkan backend.
GL_EXT_multisampled_render_to_texture is implemented using this feature.
The infrastructure for specifying resolve attachments is designed with
eventual support for GL_EXT_multisampled_render_to_texture2 in mind as
well as optimizations to glBlitFramebuffer() and multisampled
backbuffers.
Proper support for glRenderbufferStorageMultisampledEXT is still missing
from this change. All tests use this for the depth/stencil attachment
and don't read back the data. Currently, the depth/stencil attachment
is created as a normal multisampled image.
Bug: angleproject:4836
Change-Id: I110a7f63312ae61a657b6094adf7d97c92bd5843
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2304170
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
5f6f47f6
|
2020-07-29T14:26:37
|
|
Tests: Update gfxbench traces
Use new capture calls to support offscreen mode.
Test: run_angle_perftests --gtest_filter="*Trace*"
Bug: angleproject:4845
Change-Id: I6d9ea79bd8339b7d5398e34b0407425e80ce1d32
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2327699
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
cc846039
|
2020-07-27T21:05:11
|
|
Capture/Replay: Fix GetTexImage on Luminance
GetTexImageANGLE and GetRenderbufferImageANGLE use ReadPixels to
pull texture data. Luminance is not a renderable format, so it is
not supported by ReadPixels. To support this, override Luminance
formats to their underlying internal format.
Test: angle_end2end_test --gtest_filter="*GetTexImage*"
Bug: b/160014453
Bug: angleproject:4058
Change-Id: Id19344c2e2c06386a871338833e35b7747cb966b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2321740
Reviewed-by: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
bba8daea
|
2020-07-27T20:07:53
|
|
Perf Tests: Use timestamp queries for GPU time.
Testing shows that using timestamp queries and deferring the
query get calls until after the frame produces little overhead.
Also this fixes a missing GPU time reset between iterations.
Bug: angleproject:4879
Change-Id: I2a566548add1536aab689cd969594a15f0628da3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2321573
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
44bb4d7a
|
2020-07-22T13:58:50
|
|
D3D11: Fix bug with static vertex attributes.
In some specific cases after binding a zero size buffer we could end
up trying to use a buffer storage that was no longer valid. Fix this
by ensuring we don't flush dirty bits when we have an early exit due
to a zero size buffer.
Also adds a regression test.
Bug: chromium:1107433
Change-Id: I9db560e8dd3699abed2bb7fe6d91060148ba1817
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2314216
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
68791f89
|
2020-07-20T17:42:23
|
|
Vulkan: Fix sub invalidate marking render targets undefined
When glInvalidateSubFramebuffer is called, the framebuffer is only
partially invalidated. FramebufferVk::invalidateImpl was nevertheless
marking the render targets as undefined, which would lead the subsequent
render pass have loadOp=DONT_CARE. This is not correct, as the rest of
the framebuffer is expected to still be valid.
Bug: angleproject:4859
Change-Id: I2e64baa32b1fc84beb8008411b564cd7619af962
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2309111
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
52d25633
|
2020-07-27T17:37:46
|
|
Disable GPU time tracking in trace tests.
Adds considerable overhead to wall time on Adreno. Not tested on
other platforms.
Bug: angleproject:4879
Change-Id: Ib219f14162fb5768e484f717ed2a870478bd1c86
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2321404
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
248119b3
|
2020-07-20T16:05:45
|
|
Vulkan: Fix render target's tracking of content defined
Imagine the following scenario:
1. Clear draw framebuffer
2. Invalidate draw framebuffer
3. Update texture attached to draw framebuffer
4. Draw again into draw framebuffer
Step 3 could be a number of things, such as glCopyTex[Sub]Image,
glBlitFramebuffer, glTex[Sub]Image2D, glGenerateMipmap etc.
In the above scenario, at step 2, the framebuffer's render target
remembers it being invalidated (mContentDefined = false). This is used
to set the loadOp of the next render pass to DONT_CARE.
However, mContentDefined was implemented for a very specific
optimization regarding the swapchain's depth buffer. The reuse of this
variable for glInvalidateFramebuffer was erroneous as this variable
didn't track whether the contents are defined for the general case.
With this change, mContentDefined is set to true during
FramebufferVk::syncState for each render target whose contents are
marked dirty.
This change additionally makes glBlitFramebuffer signal the contents of
the blit targets as dirty, as well as textures that are used as storage
images.
Bug: angleproject:4859
Change-Id: I68c829f75ff4a3d03bb293ec72c609384983026d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2309110
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
8765b46a
|
2020-07-15T17:10:35
|
|
Vulkan: Make mDefaultUniformStorage per ContextVk
Right now the dynamic buffer for default uniform is per program. Most of
time the buffer is unused. That is a huge waste of memory (and these
memory are wired memory). This CL moves the mDefaultUniformStorage from
per ProgramVk to ContextVk so that we all share with each other.
Bug: b/161391337
Change-Id: I1fe8523b2b2dbc39bec3509a3432e38e34bd5713
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2274870
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
3b0c9918
|
2020-07-21T11:52:13
|
|
Update CaptureAndReplay.md and Python script with links
Links to the Python script in CaptureAndReplay.md
Links to CaptureAndReplay.md's testing section in the Python script
Bug: angleproject:4817
Change-Id: I584f8508661950e4907dae1adb8f0fe300387198
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2309226
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
8adc5469
|
2020-07-02T10:15:17
|
|
Vulkan: Generate mipmap in compute
An initial implementation based on AMD's FFX SPD (Single Pass
Downsampler).
Apart from requiring STORAGE_IMAGE support for the image format, the
following limitations are in place due to FFX SPD:
- Image must be 2D or 2D array (including cube maps)
- Image must be single-sampled
The following _can_ be supported, but not yet implemented:
- sRGB formats
- Integer formats
- depth/stencil formats
Bug: angleproject:4551
Change-Id: Ibc4d5cea701cca31e55e3d651540872bbd3b473f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2278713
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
bef908ee
|
2020-07-24T12:53:13
|
|
Enable KHR GLES31 tests blocked on Issue 4146
The KHR GLES31 tests disabled and marked with Issue 4146 are passing,
likely due to the work for Issue 3570: Vulkan: Implement separate
shader objects or program pipeline objects. This CL re-enables the
tests.
Bug: angleproject:4146
Bug: angleproject:3570
Test: KHR-GLES31.core.shader_storage_buffer_object.basic-syntaxSSO
Test: KHR-GLES31.core.vertex_attrib_binding.advanced-bindingUpdate
Test: KHR-GLES31.core.vertex_attrib_binding.advanced-largeStrideAndOffsetsNewAndLegacyAPI
Change-Id: I4e42129c873604c937cf03412a105170755413e3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2318265
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
f359cb66
|
2020-07-02T15:15:54
|
|
Reland: Refactor DisplayGbm::generateConfigs
We should explicitly set EGL_SURFACE_TYPE to EGL_DONT_CARE.
Otherwise, it's default value is EGL_WINDOW_BIT. However,
on some platforms, only EGL_PBUFFER_BIT is supported.
In this case, no matching config is found. So mWindowSurface
and mPbufferSurface will be nullptr. That's why we see
the bot failed.
Bug: chromium:1105208
Change-Id: I8ee2487fd24bab86a5ec22fbe7b8ff68081bc15c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2304429
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
ca8f856a
|
2020-07-22T13:56:40
|
|
Tests: Update gfxbench traces
Migrate from traces recorded on desktop to traces recorded
on a Pixel 4 XL. This impacts the resolution and framebuffer
config used for the tests. They now more accurately reflect
the numbers seen from running the benchmark directly.
Test: angle_perftests --gtest_filter=TracePerfTest.Run/*
Bug: angleproject:4048
Change-Id: Ib013dfb35c32c6f97bcae76a74cc16d9a5d1a369
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2314896
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
a4535c18
|
2020-07-22T14:52:26
|
|
Fix trace tests auto-generation.
This moves the trace header inclusion to the cpp file so that the
test itself doesn't need to look at the individual trace headers.
This fixes an include directory dependency. Also removes the FBO
change callback from the generated traces.
Bug: angleproject:4845
Change-Id: I019f0d347a62a81b92bf32110572911111212689
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2314217
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9faf0cdc
|
2020-07-20T10:30:55
|
|
Capture/Replay: Use custom GL header.
This will let us override the util loader for all new traces. It will
also be easier to maintain going forward if we have to change the
header again.
The end goal is to run the trace tests with a custom GL layer that can
intercept certain API calls.
Bug: angleproject:4845
Change-Id: I028a1afdadf638998805d7b9a2cc6717cf5f0148
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2308029
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
ab95a449
|
2020-07-20T12:12:18
|
|
Textures that have bound surfaces are always renderable.
Chrome still tends to use ES2 contexts for most rasterization. This is a
problem when trying to use FP16 IOSurfaces for rendering HDR because
GL_RGBA16F is not renderable in ES2. Since a surface is always
renderable, allow rendering to any textures with a bound surface.
Update the tests to verify that ES3 formats can be used with ES2
contexts.
Add tests for RGBA16F IOSurfaces.
BUG: chromium:1103112
Change-Id: I9e8c082fc97a0e072289b097e71fc944988d4872
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2307454
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
ee9c4fe4
|
2020-07-14T15:29:40
|
|
D3D: Make possible to build angle without D3D11
A few files inside the D3D11 tree are used by D3D9 and WGL backends. We
add these files to the build system even when D3D11 is disabled.
Also, we fix the use the of ANGLE_DEFAULT_D3D11 symbol.
Bug: angleproject:4839
Change-Id: I981f4bfc60d973c02549caa737c5aed5ccf31282
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2298143
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
c757e607
|
2020-07-21T10:18:41
|
|
Vulkan: Fix deferred clears and noop clear and blit
Imagine the following situation:
1. Clear draw framebuffer
2. Noop operation on the framebuffer (Clear, ClearBuffer,
BlitFramebuffer with flags specifying non-existing attachments)
3. Change framebuffer's attachment
4. Draw into framebuffer
At step 2, FramebufferVk::syncState was called before noop-ing the
operation. During syncState, deferred clears were stored in the
framebuffer and weren't flushed because the actual operation was not
performed.
At step 4, the deferred clear meant for the prior attachment gets
applied to the new attachment.
Bug: angleproject:4865
Change-Id: I5b096bacf00356b4dccd4cbc9561b87b1bb557d8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2309224
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
93eb633c
|
2020-07-07T15:41:38
|
|
Inline depth/stencil clear if in middle of renderpass
Some apps have a pattern where they clear the depth & stencil buffers
in the middle of the frame which causes the Vulkan backend to stop the
existing render pass and start a new one. This causes more loads &
stores of buffer contents than if we inline that clear with a draw.
Bug: b/159808300
Bug: angleproject:4695
Change-Id: I7a15af22f47a81051fa33fa19eaa123d8b66597c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2289945
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
6ca2c116
|
2020-07-17T13:07:24
|
|
Make trace tests a shared library.
This will facilitate intercepting the GL calls and implementing
emulation paths for offscreen redering. Or other EGL/GL features.
It does not yet override the GLES loader and uses the shared
'angle_util' loader as it did before.
Bug: angleproject:4845
Change-Id: I68806c307f59e1852999299e88dc358781817f12
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2305042
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
4fa75b5c
|
2020-07-17T12:58:50
|
|
Move restricted trace functions to cpp file.
This is a refactoring change only. It will facilitate moving these
functions to a shared library. A shared library will allow us to more
easily override GL functions with an interception layer. The intercept
layer will allow us to do emulation for features like offscreen tests.
Bug: angleproject:4845
Change-Id: I0e00c0c22a26f1bb8faec30a825c71953033f8a9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2305039
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
1cfc6f0a
|
2020-07-20T16:03:38
|
|
Add test for deferred clear + attachment gaps
This test makes sure the list of clear values given to the render pass
(for deferred clears) are correctly passed.
Bug: angleproject:4862
Change-Id: I4830a72a6f2b01570f6d4427ffb025429b5aa03c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2309109
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
10e9e9a1
|
2020-07-13T17:02:38
|
|
Apply multiprocessing to capture_replay_tests.py
Multiple tests are run in paralell to squeeze the most out of CPUs.
Tests are stored in a work queue. Whenever a CPU becomes available,
the next unrun test is grabbed and run on a spawn process on that CPU.
Each cpu gets their own environment and build folders and trace folders
so that tests don't overwrite each other.
Bug: angleproject:4817
Change-Id: Ifd35c9c75522e480b0257d090d5af70f2a3428ba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2296040
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
49108a12
|
2020-06-30T11:53:23
|
|
Support BGRA_1010102 IOSurfaces in CGL and Vulkan.
Bug: chromium:1100599
Change-Id: I7bc2c2e35490e28e9f6fe8f2e0c26cdea50650b9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2275731
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
55e85549
|
2020-07-17T14:02:36
|
|
Lift warning from trace tests.
Noticed when working on a related feature.
Bug: angleproject:3630
Change-Id: I82638d37ee6d27dc824d5782c96387f0d000d585
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2305040
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9a9ef0ae
|
2020-07-15T16:50:32
|
|
Vulkan: Fix RTs attached to textures with non-0 mip
Cleared confusion between GL level indices and VK level indices by
adding the corresponding suffix to variables and function arguments. A
handful of places that sent one index and expected the other are fixed.
A couple more places needed this adjustment that were missed in the
first CL. Also included a test to provoke those situations.
The conversion between the two is given by:
levelIndexGL = levelIndexVk + baseLevel;
Bug: angleproject:4695
Change-Id: I3b8e5699abee1b011e52b666e6e245f44cb8ad6f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2302549
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
5f531342
|
2020-07-08T12:50:00
|
|
Metal: Enable dEQP GLES2 tests on AMD.
The tests are disabled on Intel & NVIDIA for now.
Bug: angleproject:4235
Change-Id: I06f7f8ba332edf308b7209f0ca6e6a6503aa1981
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2176814
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
4e577a2a
|
2020-07-15T15:50:06
|
|
Perf Tests: Make "offscreen" a common test param.
This will let us use it in the trace perf tests.
Bug: angleproject:4845
Change-Id: I6188a0765c6f482bb38842faa4c58209c70b0153
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2300206
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9b9472c3
|
2020-07-17T10:21:11
|
|
Fix ContextLostTest if robustness ext is disabled
Reset notification behavior is defined in the
GL_EXT_robustness extension, and the resulting
context must support the extension and the
specified reset strategy. So if the ext is not
supported, it should disable delivery of reset
notifications.
Bug: angleproject:4823
Change-Id: I49b9364a83eab9ebc0fdca3b1dc075c1a43070cf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2302874
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
94303d17
|
2020-07-17T10:20:57
|
|
Enable fixed swiftshader tests
Bug: b/159712754
Change-Id: I5dc26726072ddadc3104561606cd425755679a83
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2304173
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
22e1f3e2
|
2020-06-26T14:26:50
|
|
Vulkan: Let all shader stages share one buffer for default uniform
Right now each shader stage has its own vk::DynamicBuffer for default
uniform storage. This is less efficient than just share one buffer. This
CL moves the storage from per shader stage into its ProgramVk object.
Bug: b/159457348
Change-Id: If47248ea23c4e48407d3b211583ae2b048d4d10f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2265281
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
4e7a6a69
|
2020-07-15T19:35:43
|
|
Perf Tests: Fix trace test calibration.
The trace tests were including the startup time in their calibration
calculations. Then was forcing them to always render one step. This
fixes the calibration to attempt to get a more consistent measurement.
The trace tests now render many more steps than they did before. It
should increase the stability and decrease variance in our measurements
as they will be runnnig many more frames than before.
Also adds a verbose logging flag to help debugging.
Noticed this bug when working on the trace test offscreen mode.
Bug: angleproject:4845
Change-Id: Iff0c987008a935e7051fca34ef12f4433eb46092
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2300205
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
45f54928
|
2020-06-17T16:25:35
|
|
Vulkan: Fix capturing arrays using VK_EXT_transform_feedback
Vulkan is able to capture the whole array when using
transform feedback extension. Add a new end2end test
for it.
Due to the outdated nv bots, khr_gles31 tests are
faild. Add these suppressions in the khr_gles31
expectations file in order to unblock the commit.
Bug: angleproject:4723
Change-Id: I929f99544a01cf5fc781dc31c2c041c851976676
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2247952
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
349b661d
|
2020-07-08T12:50:00
|
|
Metal: fix max point size and RGB565 renderbuffer bug.
- Max point size is set to 64, since this is the max size observed. It
is not 511 as
https://developer.apple.com/metal/Metal-Feature-Set-Tables.pdf claims.
- RGB565 is emulated on macOS by RGBA, needs to disable alpha write for
this format. This was already done for TextureMtl, but wasn't for
RenderBufferMtl.
- Also enable true non-power-of-two textures support (OES_texture_npot).
This was technically already supported, just that the extension wasn't
advertised yet.
- New Test: FramebufferFormatsTest.RGB565Renderbuffer
Bug: angleproject:4816
Bug: angleproject:2634
Change-Id: Ie7e3efb4cb29bb9a3fd706c26e2b50b42ff3f6be
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2281797
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
08b9ad57
|
2020-07-08T12:50:00
|
|
Metal: Prevent vertex shader's inactive varying from being removed
If vertex shader declares a varying but doesn't use it, and this varying
is being used in fragment shader, linking will fail because the varying
would be removed by spirv-cross.
Fix: initilize the unused varying with zero(s).
New test: GLSLTest.InactiveVaryingInVertexActiveInFragment.
Bug: angleproject:2634
Change-Id: Ia37acd8eea85d5da4ddbca6457d6cddb1b41662c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2281796
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
6fe87f4a
|
2020-07-10T09:13:39
|
|
Tests: Change screen orientation for traces on Android
This CL adds a reverse JNI call to our Android Native Activity that
sets the orientation of the screen based on width and height.
To achieve this we:
* Attach to the java thread once at the beginning to grab JNI env.
* Detach from the thread once when platform sends APP_CMD_DESTROY
* Set the orientation during test init
Bug: angleproject:4327
Change-Id: Ifbe31a6a84dd60a0dfe7d7032962c99b290d8b81
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2289054
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
debe4683
|
2020-07-15T14:36:33
|
|
Test Runner: Accept Chromium args.
This change lets the test runner accept the same isolated script
parameter syntax as Chromium. It keeps the old parameter names so
the tests accept both. This will let us more easily integrate with
the Chromium Android test_runner.py script.
Also update the README which was missing a few flags.
Bug: angleproject:3162
Change-Id: Ic22b289a095418ffdaa19a04caa1b45c6c657872
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2300530
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9277ee74
|
2020-07-06T12:40:58
|
|
Metal: Implement MSAA default framebuffer.
GL_SAMPLE_COVERAGE_VALUE is implemented by inserting gl_SampleMask
writing logic to fragment shader.
New test added: MultisampleTest.ContentPresevedAfterInterruption.
- Skip on D3D11 (Bug: angleproject:4609)
Bug: angleproject:2634
Change-Id: Ib44daf0baccc36ea320596d81713156047da059c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2281783
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|