|
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>
|
|
a7cbb3f0
|
2020-08-10T09:53:54
|
|
Capture/Replay: Allow starting capture at an unknown frame
This CL adds a new way to set the start frame of a capture.
It adds a new environment variable called ANGLE_CAPTURE_TRIGGER
that, when set, will be used instead of frame start and end.
By setting ANGLE_CAPTURE_TRIGGER to a non-zero value, ANGLE will
capture that many frames when the value changes. For example,
on Android, we can set it with:
adb shell setprop debug.angle.capture.trigger 20
When we reach the target content, set the value back to zero:
adb shell setprop debug.angle.capture.trigger 0
and ANGLE will start capturing 20 frames.
Currently only hooked up for Android, but should be possible to
support on other platforms.
Test: Capture application frames using trigger
Bug: angleproject:4949
Change-Id: I469ef5c48feb78c85b8cda2fefd5df59e495bbe2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2347858
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Manh Nguyen <nguyenmh@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>
|
|
5e5b7537
|
2020-08-10T21:02:50
|
|
Vulkan: Optimize resource tracking in CommandBufferHelper.
Introduces a FastUnorderedMap class that uses FastVector. This type
uses static storage for up to a small fixed number of elements and
uses dynamic storage for anything larger.
Local testing shows this almost fully solves the regression from
using unordered_map. It's still slightly slower than using no
tracking (<5%).
Very degenerate cases which track dozens or more buffers will still
have significant overhead. For almost all applications that use only
a few buffers per RenderPass this will be very fast.
Test: angle_perftests, *vulkan_null_index_buffer_changed_ushort
Bug: angleproject:4950
Bug: angleproject:4429
Change-Id: I39edeaaa159124167f1ea23ad2e6eac5e9220d0b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2348108
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9385eb35
|
2020-08-02T23:21:54
|
|
Metal: Generate default shaders to separate files.
Generate default shaders' OS specific versions to separate files to
avoid mtl_default_shaders_autogen.inc becoming too big.
Bug: angleproject:2634
Change-Id: Ie2a39971ec46c36ce13bf5cb72f998f2cbc0ab64
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2332145
Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@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>
|
|
275a495d
|
2020-08-10T16:11:59
|
|
Vulkan: Remove TODO.
Bug: angleproject:3200
Change-Id: Iaa5fb596a29b5488e45dec5636266e24ab4d97b2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2347118
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
5921a040
|
2020-08-06T17:39:56
|
|
Vulkan: Refactor image dependency commands.
Uses commands similar to the Buffer APIs. Also updates docs.
Bug: angleproject:4911
Change-Id: I1f2ec9bdd1d725d4ec3d6601e63bcb0c045e2121
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2342287
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
bbfbea9d
|
2020-08-10T10:55:58
|
|
Invalid calls' pointer params are no longer captured
Changes call capture methods generation so that invalid calls no
longer capture pointer params.
Bug: angleproject:4817
Change-Id: I2d83d4d3334da8ba34925f80aed2de859a10fae5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2346749
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
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>
|
|
2e2fcfb5
|
2020-08-05T14:43:24
|
|
Implement param capture for glGetUniform calls and extensions
Implement glGetUniform calls to fix crashes in UniformTest test group.
Tests: UniformTest test group
Bug: angleproject:4817
Change-Id: I132c61e053665b0642667aad51f1f3220d101d14
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2339542
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Cody Northrop <cnorthrop@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>
|
|
3d17084d
|
2020-08-06T17:53:36
|
|
Vulkan: Simpify check for started RenderPass + FB.
We can check the RenderPass CB helper directly instead of caching a
separate variable.
Bug: angleproject:4911
Change-Id: Ic953c101c64fd5142e2dedfd06e3fea287331fd4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2341761
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
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>
|
|
48ba75ac
|
2020-08-06T15:26:53
|
|
Remove TextureCommand
TextureCommand::GenerateMipmap can be moved into gl::Command allowing us
to remove TextureCommand.
Bug: angleproject:4753
Test: CQ
Change-Id: Idc546df519e199ffd3a8b8e03b9868cd9152e9ef
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2338823
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
81370214
|
2020-07-29T12:54:02
|
|
Pass the Command when sync'ing dirty objects
A new enum is being created that contains command types, which are then
passed to each dirty object when they are synced. This allows the
syncState() methods to perform special handling for each command type.
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
Change-Id: I77701f79418d35cff689e864c8a8b47b6fca0255
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2327335
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9892e6a2
|
2020-08-05T11:38:27
|
|
Capture/Replay: Reduce SetupContext size further
Still seeing long link times for NBA2K20 trace. Breaking
up SetupContext into even smaller chunks helps.
Test: Compile and link NBA2K20 trace for Android
Bug: b/160014453
Bug: angleproject:4048
Change-Id: Ic8f6d7e8d1c35cbee986da670c0beeb4b77c4e7c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2339853
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a798819c
|
2020-08-05T11:38:10
|
|
Capture/Replay: Dedup shaders to reduce capture size
This CL will track whether a string has already been declared and
written in the output file. This cuts the shader string count in NBA2K20
trace by 85%, eliminating about 300K lines of code from setup.
Test: Compile and link NBA2K20 trace for Android
Bug: b/160014453
Bug: angleproject:4048
Change-Id: Id854b3314644c1e4aae41cd6bb4157f92e9b1945
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2339852
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@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>
|
|
1dcb3eb2
|
2020-08-06T15:02:34
|
|
Vulkan: Don't expose MSRTT on Mac/SwiftShader
Frequently causes failures as such:
[...:ERROR:drawing_buffer.cc(854)] Initialization failed to allocate backbuffer.
[...:INFO:CONSOLE(197)] "Unable to initialize webgl context.", source: (197)
Bug: chromium:1112986
Bug: angleproject:4937
Change-Id: I5058f78434c0ac49345fe1167043f2dca759b1b9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2341350
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
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>
|
|
4973a38f
|
2020-08-05T14:27:46
|
|
Supress VVL error about multi-instance heaps.
VVL added a new error that ANGLE hits on AMD Windows due to the way
VMA allocates memory.
Supressing to allow VVL to roll forward while we investigate.
Bug: angleproject:4928
Change-Id: I4afeb3fcc2e9fed96ff8276898a8c96c77206d3b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2339539
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
23daea2f
|
2020-08-06T10:40:00
|
|
Vulkan: Rename CommandBuffer get method.
This method will no longer end the RenderPass in a following CL.
Renaming it in a split CL makes the review diff simple.
Bug: angleproject:4911
Change-Id: Id48257884dccb7c86f7de2cc9ca95e651fb68df7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2340788
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
135a5843
|
2020-08-02T23:03:44
|
|
Vulkan: Remove redundant vk prefixes in vk_helpers.
Cleanup/refactoring only.
Bug: angleproject:4911
Change-Id: I4fe06a86a6ecaafa16fd900b6f6229f09ab56a9f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2334092
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
e3988722
|
2020-08-06T18:23:28
|
|
Fix an OOB access bug with RewriteRowMajorMatrices
Bug: angleproject:2273
Change-Id: I27109b873a290133cf3d016f612e1fd1de9d354c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2341763
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e26c5e07
|
2020-08-02T16:04:17
|
|
Vulkan: Add Image serial.
This is owned by the ImageHelper. We'll use it in tracking used images
in RenderPasses.
Bug: angleproject:4911
Change-Id: Ic71cef2b16eefb86c73c9c5e1e38ee7cd6a60adb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2332895
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: 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>
|
|
50442fac
|
2020-08-05T14:15:12
|
|
Vulkan: Fix ImageHelper's move constructor
Bug: angleproject:4913
Change-Id: Ic78a26be4c2f3fa96ef77deffc239dbb7310065e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2339543
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
bedac4f0
|
2020-08-05T21:57:50
|
|
Move EXT_external_objects validation to validationESEXT.cpp
Bug: angleproject:4912
Bug: fuchsia:52759
Change-Id: I8883d65ecac763cf46d792cc69bce98dc53121d4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2340174
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
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>
|
|
b9b5fa55
|
2020-08-02T00:17:20
|
|
Vulkan: Redo Sampler Serials.
Instead of refreshing sampler serials every time the SamplerVk or
TextureVk has a state change we can give a VkSampler a unique serial.
The serial is unique to this VkSampler and repeated state changes
will fetch the same Serial from the SamplerCache. This allows for
more cache hits.
We store the the new Serial together with the VkSampler in a
SamplerHelper class and store references to a SamplerHelper in
SamplerVk and TextureVk instead of the VkSampler directly.
In a follow-up change we will improve image view caching by also
improving how we store serials for ImageViews.
Bug: angleproject:4911
Change-Id: I9168c2700e383bca796cca925b38cfd30132d982
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2333988
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
adc250c3
|
2020-07-31T21:11:05
|
|
Vulkan: Refactor ImageViewHelper serials.
Instead of storing a dictionary of serials to specific image views
we now store a single 32-bit serial combined with subresource info.
The serials combined with a subresource info (level/layer) gives a
unique identifier for each ImageView in the ImageViewHelper for the
descriptor set cache and the Framebuffer cache.
Also moves ImageView serial allocation to initialization and release.
This means we no longer need to use "getAssign" methods and instead
we use a few init methods to ensure the serials stay allocated.
Bug: angleproject:4911
Change-Id: Ia6af76ae16b3ff5d4a83974bde05cc704064b079
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2333395
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
66665af2
|
2020-07-28T15:26:42
|
|
macOS/ARM: Allow populating GPU based on AGXAccelerator
The existing scheme for populating GPU vendor and device IDs fails
on macOS/ARM. If we find no PCI registry entries, look for a
AGXAccelerator entry, and (partially) populate that.
This is sufficient for Chrome to initialize hardware acceleration.
It is unknown how this will interact with multiple GPUs, and this
will likely need to be revisited.
Bug: chromium:1110421
Change-Id: I08069d7aecf45c83a1d2827cfccc4733c1835994
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2324939
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Lingfeng Yang <lfy@google.com>
Commit-Queue: ccameron <ccameron@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>
|
|
709472c9
|
2020-08-03T15:43:12
|
|
Vulkan: Fix variable scope bug during vkCreateInstance
While enabling best practices layer the struct that
gets added to the pNext chain is a stack variable and
goes out of scope beyond the if-check. Move the
struct variables out of local scope to prevent access
violation errors during vkCreateInstance.
Bug: b/156661359
Change-Id: Ifa470ff1e51d454782695adcf40b4db2aa1608a0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2335747
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
11207393
|
2020-08-01T19:47:21
|
|
Vulkan: Add an overlay counter for descriptor writes.
Note: currently the trace test shows about 1000 descriptor
set writes per frame in NBA2k20.
Bug: angleproject:4911
Change-Id: Id50d05fe405249c80a38dbbe3c96e7bd8c66cbc4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2333398
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
22e6fc03
|
2020-07-31T15:58:28
|
|
Vulkan: Move Resource Serial gen into Renderer.
Putting Serial allocation in the Renderer allows the Helper
classes to manage allocating its own Serial. The init functions for
ImageViewHelper only have access to a vk::Context/RendererVk, not a
ContextVk. This will be updated in a future CL.
Re-uses the Serial Type X-Macro to do more code generation.
Serial allocation now uses an atomic because of its now Renderer
shared location.
Bug: angleproject:4911
Change-Id: I2d5d3d0bbf613d5468de795a700f66164291bc79
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2332884
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@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>
|
|
846cd169
|
2020-07-30T22:11:12
|
|
Add vertex array serialization capability
Serializes vertex arrays' states stored on CPU.
Adds vertex array serialization to serializeContext method so that
capture replay regresssion testing now compares the states of vertex
array objects too.
Bug: angleproject:4817
Change-Id: Ia2897c056adff9bd433765186240ab07f78db232
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2331737
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4c7e3ee3
|
2020-08-03T12:26:05
|
|
Capture/Replay: Account for EGL_KHR_no_config_context
EGL_KHR_no_config_context allows creating a context with
EGL_NO_CONFIG. Add a null check when collecting config
attributes. This fixes trace capture of Angry Birds 2 by
allowing CaptureReplayTest to pass EGL_DONT_CARE
for the config parameters.
Bug: angleproject:4817
Change-Id: I982136ae2a7db4bd8d3f16f4accfe093e5610091
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2333356
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
be6a1d87
|
2020-07-29T10:15:28
|
|
Add texture serialization capability
Serializes textures' states stored on CPU.
Gets textures' contents at every mipmap level from GPU then
serialize them.
Adds texture serialization to serializeContext method so that capture
replay regresssion testing now compares the states of texture too.
Bug: angleproject:4817
Change-Id: I87670fdc744f96d4ff244462dee1a065de44f9b7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2325029
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
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>
|
|
91f54d83
|
2020-08-02T11:28:49
|
|
Capture/Replay: Use vector for resource maps.
unordered_map was showing up as a hotspot in replay profiling.
Bug: angleproject:4916
Change-Id: I840371313ab51faa088664b9840c7ef3f998fcad
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2334094
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Manh Nguyen <nguyenmh@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
663075ac
|
2020-07-31T01:54:45
|
|
Metal: Fix Intel's LOD clamp and blit shader's filtering.
1. Setting max LOD clamp = FLT_MAX via setSamplerState caused mipmap
tests failure on Intel. It always picked wrong mipmap level during
texture sampling. Fix: Use value from SamplerState::getMaxLod()
instead.
2. Also set default linear filtering for blit shader's sampler.
Previously there was no sampler set for this shader. It caused black
fragments on Intel.
This CL is a prerequisite for enabling end2end tests on Intel & Metal.
Bug: angleproject:4133
Bug: angleproject:4915
Bug: angleproject:2634
Change-Id: I9e6b669712a294e09ab692a3c65f3956a799ef8b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2329089
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
6c5ad2e9
|
2020-08-01T15:43:43
|
|
Vulkan: Remove ImageHelper::mSerial.
This serial is no longer used by any code.
Bug: angleproject:4911
Change-Id: Id82ef697b81b5738333f3280c58fd613615b6e09
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2333397
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@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>
|
|
89ade79a
|
2020-07-31T16:04:09
|
|
Vulkan: Clean up ScopedDescriptorSetUpdates.
Matches style guide requirement for types before members. Also
moves the implementation of the class entirely into the cpp file.
Moves the method implementation in ContextVk so we can more easily
alter member variables.
Unrelated cleanup done while working on consolidating RenderPasses.
Bug: angleproject:4911
Change-Id: Ibe4273fc609b494840f1e86584bcee5bc31397d5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2331950
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
fba96e90
|
2020-07-30T10:04:59
|
|
Add shaders and programs serialization capability
Serializes shaders and programs' states stored on CPU.
Adds shaders and programs serialization to serializeContext method so
that capture replay regresssion testing now compares the states of
shaders and programs too.
Bug: angleproject:4817
Change-Id: I026762ffcd85c9cf209f17d02025730aa286bd2f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2329830
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: 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>
|
|
41442cce
|
2020-07-31T11:44:38
|
|
Autogenerated changes for GL_EXT_multisampled_render_to_texture2
Bug: angleproject:4836
Change-Id: I86143c6b21ecdbc666ce316b6e4a4b402257f01c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2332957
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
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>
|
|
dae77893
|
2020-07-30T11:57:40
|
|
Vulkan: Avoid clearWithClearAttachment if RP command buffer is empty
If renderpass has started but no command has been issued, we should
chose to use loadOp to do clear instead of clearWithClearAttachment.
Bug: b/162521656
Change-Id: Ia681fc96442c7916b4b92c48e970d9ed239a28c8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2330225
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
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>
|
|
38e7f7a6
|
2020-07-30T14:35:50
|
|
Vulkan: Make CommandBufferHelper::empty() logic less obtuse
CommandBufferHelper::empty() logic is simplified and commented to make
it easier to read. Basically empty() means there is no work in the
CommandBufferHelper object. For RenderpassCommands, that is equivalent
to !started().
Bug: b/162521656
Change-Id: Ic9683b392835a677501cb81e5e8a025e031ebf93
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2330379
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
aca14d47
|
2020-07-29T13:52:28
|
|
Add renderbuffer serialization capability
Serializes renderbuffers' states stored on CPU.
Gets renderbuffers content from GPU then serialize them.
Adds renderbuffers serialization to serializeContext method so that
capture replay regresssion testing now compares the states of
renderbuffers too.
Bug: angleproject:4817
Change-Id: I537b11ee85decb14eea461ebbd62ce6ab0402f85
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2327173
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@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>
|
|
19a1943b
|
2020-07-28T14:02:47
|
|
Allow GetSystemInfo to return false in CGL and EAGL backends.
This API is documented as returning false if information is
incomplete, but this should not cause a failure to initialize ANGLE's
Display. This change is a refinement of one made in WebKit's
downstream copy of ANGLE, likely in support of forthcoming Macs with
Apple Silicon, in https://bugs.webkit.org/show_bug.cgi?id=213479 .
Bug: angleproject:4902
Change-Id: I40a664a5db67b2aa37f15617b1cbcc3119793ee0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2324462
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
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>
|
|
d7d79de3
|
2020-07-30T11:08:02
|
|
Update inaccurate error string.
Noticed when working on the traces.
Bug: angleproject:4845
Change-Id: I954851bc739e41ce84047eaf5e0dc4c8bcf57199
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2329832
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
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>
|
|
248d754a
|
2020-07-29T16:50:03
|
|
Capture/Replay: Limit string lengths in capture
MSVC can't handle string lengths longer than 16380 according to:
https://docs.microsoft.com/en-us/cpp/error-messages/compiler-errors-1/compiler-error-c2026
Example build failure without this CL:
https://logs.chromium.org/logs/angle/buildbucket/cr-buildbucket.appspot.com/8873410048312858000/+/steps/compile_with_ninja/0/stdout
Test: Compile NBA2K20 MEC with MSVC
Bug: b/160014453
Bug: angleproject:4048
Change-Id: Ie14d40e8c3eea35d08d4be32455b327a311f1bcc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2327702
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a9504808
|
2020-07-29T16:33:45
|
|
Vulkan: ATrace marker fix-ups
Fix a couple of mislabled atrace markers and add explicit markers
for inside/outside renderpass flushes.
Bug: b/156403378
Change-Id: I4045846e54ff54bc8fc3dd6ef47339f6f5eb8e87
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2327828
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
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>
|
|
d56ed7cf
|
2020-07-30T08:13:07
|
|
Support EGL_ANGLE_display_semaphore_share_group for DisplayNULL
Bug: angleproject:4877
Change-Id: I811ff57625a6bac749a50a1a53da48e62f5b8222
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2329285
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
|
|
19aac801
|
2020-07-28T11:18:53
|
|
Vulkan: Remove unnecessary endRenderPass calls.
In both onImageRead and onImageWrite, there's a call to
endRenderPassAndGetCommandBuffer when necessary to record a command.
There was an extraneous call to endRenderPass in both functions for no
good reason.
Bug: angleproject:4882
Change-Id: I8f3b18dbb3cb9a8b92dedcc603eaf44b1e485986
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2323642
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
1c1c6b4e
|
2020-07-29T13:17:16
|
|
Vulkan: Cache/re-use vkImageView's per max level
For applications that frequently switch a texture's max level, cache
and re-use "read view" vkImageViews per max-level.
Test: NBA 2K20
Test: angle_deqp_gles3_tests --gtest_filter=dEQP.GLES3/functional_texture_mipmap_*_max_level_* --use-angle=vulkan
Bug: b/161993151
Change-Id: I9a6a81d5234196040bc6c264ec627a073ba73293
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2321370
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
4cf2501c
|
2020-07-27T13:19:27
|
|
Add extension EGL_ANGLE_display_semaphore_share_group
For sharing semaphores globally.
Bug: angleproject:4877
Change-Id: I472e0902fd04ca8350d74e6c0ae6925ee930ccf9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2319370
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
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>
|
|
d019af80
|
2020-07-29T11:30:34
|
|
Capture/Replay: Fix missing header.
This was missing from a prior commit.
Bug: angleproject:4845
Change-Id: Iff2b0f300270df4c2e26265c5af81af8ae7e5e54
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2325032
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e4ceee97
|
2020-07-17T15:57:37
|
|
Capture/Replay: Break up SetupContext
While getting NBA2K20 MEC to work, discovered that
SetupContext was so large, it was causing a stack
overflow. To fix, simply break up the function into
a series of helpers if the number of calls exceeds
a set limit.
Test: NBA2K20 MEC
Bug: b/160014453
Bug: angleproject:4048
Change-Id: I332d5dea5fc4e14700b68150cbe31a4c88cdae89
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2321739
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Manh Nguyen <nguyenmh@google.com>
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>
|
|
07cdf421
|
2020-07-28T09:08:46
|
|
Vulkan: Add new validation skips
Skip new error UNASSIGNED-CoreValidation-Shader-InputNotProduced
and best practices warning
UNASSIGNED-BestPractices-vkCmdClearAttachments-clear-after-load
Bug: b/156661359
Bug: angleproject:4883
Change-Id: I05bf5cac46c54bfb32fa47ea6d3398bd534450f5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2323641
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
2918eade
|
2020-07-28T13:08:05
|
|
Remove context id serialization
Serializing context id causes many tests to fail capture replay test.
Remove it from the the GL context state's serialization.
Bug: angleproject:4817
Change-Id: Ide04f24c54d1f1fced532e49e85c0c2970816f5e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2323645
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
|
|
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>
|