|
f44a6fd2
|
2021-11-18T20:15:31
|
|
GLES1: Hard code integer values in the ubershader
This CL continues the process of removing uniform values from
the GLES1 ubershader to increase speed on mobile platforms.
The first phase removed bools 2091451e.
We've identified integers (enums) as providing the biggest bang for
buck to optimize speed while having acceptable program generation.
Allowing floats as well proved too much specialization. Many GLES1
conformance tests would grind to a halt while providing little to no
benefit to app traces.
This CL does the following:
* Create a GLES1ShaderState class that contains hashable data
* Populate it with all states influencing ubershader generation
* Hash the class to perform the lookup of existing programs
Frame times on Android ARM with locked GPU clocks:
Trace Before After
dr_driving: 4.2986 -> 0.8155
sonic_the_hedgehog: 2.8223 -> 0.6254
summoners_war: 15.9810 -> 2.3937
wordscapes: 7.6167 -> 1.1496
zillow: 2.9368 -> 1.9318
Test: end2end, perftests, gles1_conformance
Bug: angleproject:6644
Change-Id: I060280e282d7b514d3e410c4f8c5e09659e85d3b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3280355
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Lingfeng Yang <lfy@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
1cc5d096
|
2021-10-21T19:58:58
|
|
mathutil: Add roundDownPow2.
Bug: angleproject:5857
Change-Id: I6c7ae92a41957e9e6b40b6449f763a49493488d1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3236996
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a00ce2ca
|
2021-11-19T10:23:53
|
|
Vulkan: Fix CFI ignore config.
This was being applied to "vulkan" when it should be higher in
the chain of depedencies. This CL moves it to "vulkan_icd".
Bug: angleproject:6496
Bug: chromium:1271193
Change-Id: I064caac6afe237d7008389f444d6ef9f37cff286
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3289937
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
1f5eb6b8
|
2021-11-17T16:42:20
|
|
Avoid Android vkEnumerateDeviceExtensionProperties() bug
This works around a race-condition during Android start-up, when ANGLE
is used as the default GLES driver and when render engine (RE) is
using SkiaGL (which uses ANGLE, which uses Vulkan). The race
condition occassionally results in different numbers of extensions
between ANGLE's first and second calls to
vkEnumerateDeviceExtensionProperties(). In that case, the second call
would return VK_INCOMPLETE instead of VK_SUCCESS. That caused ANGLE
to fail to initialize, causing RE to fail to initialize.
This change works around this problem by increasing the number of
extensions asked for in the second call to
vkEnumerateDeviceExtensionProperties().
Background: Surface Flinger uses Hardware Composer (HWC) for
hardware-based composition (e.g. using overlays), and RE for GPU
composition (e.g. rendering to combine multiple app and system windows
together). SF, RE, and HWC all start about the same time. HWC sets a
property if it can support display timing. This gets passed through
SF to RE's Vulkan loader. The Vulkan loader uses that property to
determine whether to enable the VK_GOOGLE_display_timing extension.
The Vulkan loader used to make a synchronous call to SF in
vkEnumerateDeviceExtensionProperties() in order to get this property.
That took some number of milliseconds to complete and affected the
start-up time of every Vulkan/ANGLE app. To eliminate that
performance problem, the property now propogates in an asynchronous
manner. At that time, it was thought that RE would always get the
property in time. However, a partner's experience is that
VK_INCOMPLETE is happening 0.5% of the time.
ANGLE doesn't need to use the VK_GOOGLE_display_timing extension.
This is because the Android EGL loader provides the related
EGL_ANDROID_get_frame_timestamps extension. The issue that ANGLE is
working around is that it shouldn't fail to initialize in this
situation.
Bug: angleproject:6715
Bug: b/206733351
Change-Id: I4eb2197cdcc9692518b1bf5984d06fc8a1a7d145
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3290506
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
1bcbbd3b
|
2021-11-18T10:53:04
|
|
Roll chromium_revision 426f5c5607..c801e56b48 (941724:943107)
Change log: https://chromium.googlesource.com/chromium/src/+log/426f5c5607..c801e56b48
Full diff: https://chromium.googlesource.com/chromium/src/+/426f5c5607..c801e56b48
Changed dependencies
* build: https://chromium.googlesource.com/chromium/src/build.git/+log/cfe2150f91..b0986a849c
* buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/b138e6ce86..075dd7e228
* buildtools/linux64: git_revision:90294ccdcf9334ed25a76ac9b67689468e506342..git_revision:4aa9bdfa05b688c58d3d7d3e496f3f18cbb3d89e
* buildtools/mac: git_revision:90294ccdcf9334ed25a76ac9b67689468e506342..git_revision:4aa9bdfa05b688c58d3d7d3e496f3f18cbb3d89e
* buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/707d75f53e..81212d29a2
* buildtools/third_party/libunwind/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/51ffc5ed5c..7f068e554e
* buildtools/win: git_revision:90294ccdcf9334ed25a76ac9b67689468e506342..git_revision:4aa9bdfa05b688c58d3d7d3e496f3f18cbb3d89e
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/65e053eeaf..4cd7b34100
* third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/312bb312c9..13257ba994
* third_party/android_sdk/public: AuYa11pULKT8AI14_owabJrkZoRGuovL-nvwmiONlYEC..Ez2NWws2SJYCF6qw2O-mSCqK6424l3ZdSTpppLyVR_cC
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..e6e1eb6895
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/7b33514431..1c7dec337d
* third_party/r8: CgqKHWrPllIffdVKV209JAStQqR93hUpTzSwKQ5Mth8C..nqWomZTwNDoogX26WeCSoFGg6aQN1FrwzoU4hCS0duEC
* tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/32d7c383a4..8caa4c5164
* tools/luci-go: git_revision:0e76392e6557cc3ff8d95c3bc012540e0dbc128a..git_revision:2dfe2f218f0395673f336d17b841edf629907ae3
* tools/luci-go: git_revision:0e76392e6557cc3ff8d95c3bc012540e0dbc128a..git_revision:2dfe2f218f0395673f336d17b841edf629907ae3
* tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/e1dd5dfb7b..9e42d0c22f
* tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/ffa11379f7..19145774c9
DEPS diff: https://chromium.googlesource.com/chromium/src/+/426f5c5607..c801e56b48/DEPS
No update to Clang.
TBR=geofflang@google.com,
BUG=None
Change-Id: I628302cee721b340b722ffff2be0bf45645ac13e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3289108
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
5f755c29
|
2021-11-17T16:29:37
|
|
Vulkan: Lock around handle counter.
TSAN showed we could have a data race when multiple threads
were releasing objects because of the singleton handle
counter.
Bug: angleproject:6714
Change-Id: I23b5d343bec421a663198e7efc30c78dab2bde8f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3288328
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8700d9cc
|
2021-11-17T16:17:59
|
|
Vulkan: Lock around debug annotator.
TSAN showed thread contention could happen during make current
calls and when inserting debug markers.
Bug: angleproject:6714
Change-Id: I343b0bd6efbd46621f9e69bd8a329c135aed0d90
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3288327
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8c634492
|
2021-11-17T11:06:23
|
|
Updates to perf test running script.
- Fixes logging (needed reload)
- Improves logging messages (less spam)
- Reduces time in test calibration & sampling
- Record failures on test errors more robustly
- Redesign the result recording class
Bug: angleproject:6090
Change-Id: I53fd86e9e009bd52ec98507334c69b05e711d83e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3288206
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
06d34598
|
2021-11-17T16:16:27
|
|
Vulkan: Add mutex around cache stats.
TSAN showed thread contention could happen in multithreading
tests because of the singleton cache stats object.
Bug: angleproject:6714
Change-Id: I701aa0079b5eb9d60ef557b13ce57efba17df2fa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3288326
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
71bffb8a
|
2021-11-09T11:16:07
|
|
Capture/Replay: Handle newly generated FBOs in tracker
Bug: angleproject:6425
Change-Id: I39d22a6770290a0c407ac358b1c059c6a2ddeefa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3269886
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
9a36c3b6
|
2021-11-15T13:46:06
|
|
infra: Update NVIDIA to 1660 testing.
Bug: angleproject:6694
Change-Id: I2580b53e45e633af98be757d9bb081461c06de95
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3283163
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brian Sheedy <bsheedy@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
83fa1890
|
2021-11-17T12:17:31
|
|
Disable variable shadow warnings on more ES1 conformance tests
The list of gles1 sources is used in several targets without a
common config.
Bug: angleproject:6703
Change-Id: Ib78719c9dc322075dfba05380e99ec1ada8a3265
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3289616
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
e9f9fa17
|
2021-11-09T18:13:15
|
|
Add cpu time measurement to perf tests
Bug: angleproject:6667
Change-Id: I16570a7b51d363dd1c0f35789b985520cb76d488
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3270601
Commit-Queue: Lingfeng Yang <lfy@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
30c03b56
|
2021-10-28T12:54:39
|
|
Capture/Replay: Capture GetTexLevelParameter return param
Bug: angleproject:6180
Change-Id: Ia063d297bab85d6cb559642b9be213cc6f10a9bb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3250884
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
613f0361
|
2021-11-13T14:19:16
|
|
Fix typo in SystemInfo_libpci.cpp
Bug: angleproject:6691
Change-Id: I26d4cdc3839b71002c40ff114e5cb43d60ef2e81
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3279232
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
82cccf04
|
2021-10-28T12:49:55
|
|
Capture/Replay: Additional tests that now compile
Bug: angleproject:6108
Change-Id: I010ae0cd276fcd5093860400c2f7436c9b0bfedf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3250883
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
fc5fe46d
|
2021-10-28T12:47:15
|
|
Capture/Replay: Capture GetProgramResourceLocation name param
Bug: angleproject:6180
Change-Id: I5f27c695c31a32989c579b54e31cccc5b337bd58
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3250882
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
95e1d244
|
2021-10-28T12:24:59
|
|
Capture/Replay: Capture GetProgramResource params correctly
If a non-nullpointer is passed for length then the the number
of param entries that is written is returned in *length.
Otherwise, just capture the full buffer size as specified by
bufSize.
Bug: angleproject:6180
Change-Id: If7c3084e56c990477ddb6e93b8682e27004ba1e3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3250881
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
3ce1abd8
|
2021-11-16T14:38:15
|
|
Test Runner: Print output snippet in test timeout.
This will be helpful in diagnosing test failures.
Bug: angleproject:6694
Change-Id: I0ea491fe8ab48dfd017ce40150f606c571f3fa6c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3285805
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c664c9fc
|
2021-11-16T12:22:47
|
|
Vulkan: Generalize barrier VVL suppression.
Seems to pop up in other tests as well. Seems to only affect
SwiftShader configs.
Run capture_replay_tests.py with the below test.
Test: BuiltinVariableVertexIdTest.LineLoop/ES3_Vulkan_SwiftShader
Bug: angleproject:6701
Change-Id: I857d4785d6e04edf96fb137a492548ed4d9fbcc4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3285445
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b9c0194c
|
2021-11-16T11:36:52
|
|
Add EVENT0 markers for why we call vkAcquireNextImage
This will help when looking at AGI system traces.
Bug: angleproject:6696
Change-Id: Ic4b06f1a1ec155076cfcb47299afe451cd325327
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3283428
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
27bc56c6
|
2021-11-15T18:18:53
|
|
Vulkan: MAP_UNSYNCHRONIZED_BIT: Skip ghosting/idling
Respect the following spec language:
No GL error is generated if pending operations which source or modify
the buffer overlap the mapped region, but the result of such previous
and any subsequent operations is undefined
Test: cpu time improves in unsync case in perf-tests/MapBufferRange.cpp
Bug: angleproject:6680
Change-Id: I6133952546735aced6e6ee8468ef2ac695316fb6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3272018
Commit-Queue: Lingfeng Yang <lfy@google.com>
Reviewed-by: 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>
|
|
647a703e
|
2021-11-12T13:48:06
|
|
Vulkan: Reorder logic in BufferVk::mapRange
This CL flattens the logic, ordering read case first, then write, and
simpler cases before more complex ones.
This is to prepare for an optimization where we ignore certain paths if
MAP_UNSYNCHRONIZED_BIT is set. No change in functionality or performance
is expected.
Bug: angleproject:6680
Change-Id: I0a2e9ee969216c90353eac7af6dabf648dea2173
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3279615
Commit-Queue: Lingfeng Yang <lfy@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b9a8f092
|
2021-11-16T10:44:26
|
|
Disable variable shadow warnings on ES1 conformance tests
Bug: angleproject:6703
Change-Id: Ie66b5afc12c4f29f69b8d7e205de02cadd5268a3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3285383
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
316dcb56
|
2021-10-06T09:31:49
|
|
Add SwANGLE Skia Gold testing.
Required updating our system info helper to be able to retrieve
SwiftShader device information.
Bug: angleproject:6496
Change-Id: Ib38ea4da65d199433e17b87df2630c3fd77cb619
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3208646
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
5c6998e4
|
2021-03-30T09:33:55
|
|
Mark objects as initialized when robust init is disabled.
If a context with robust resource init disabled allocates a texture,
make sure it's marked as initialized or else the texture may be
reinitialized later by a context with robust resource init enabled.
Bug: chromium:1192632
Change-Id: I643f616c89420312f341b53cedbd1a4e4dc58675
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2794621
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Justin Novosad <junov@chromium.org>
|
|
d27552f2
|
2021-11-11T11:43:30
|
|
Re-land: "Vulkan: Allow SystemInfo to pick ICD."
Re-land fixes build on iOS and Android with ANGLE/Vulkan.
This will be used in conjunction with SwiftShader.
Bug: angleproject:6496
Change-Id: Id38403da1e377bba293dc8368d1c1aac29bf56a9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3282426
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
7d33e71a
|
2021-11-15T11:20:25
|
|
Vulkan: SPIR-V Gen: Don't generate names for constants
Multiple constant variables can have the same value, and they are
coalesced to the same SPIR-V id. It's not useful to attempt to generate
multiple constants with different names, especially as those names don't
make it into the SPIR-V-Cross-generated GLSL. Additionally, most
constants in the translator don't retain their name, only the ones that
are not folded do (and which are folded is a rather arbitrary decision).
By generating names for these constants, the SPIR-V gen code was
introducing a bug where multiple OpNames could be generated for the
same OpConstant* id. This change removes OpNames generated for
constants in the first place.
Bug: angleproject:6644
Change-Id: Ife2f4bee8e2eb095dc0b22994420ee1dfc6023c6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3282425
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
ae3f67ab
|
2021-11-11T20:32:32
|
|
Implement GL_EXT_multi_draw_indirect
* Auto-generated the code to lay the foundation for
the following functions:
* multiDrawArraysIndirect()
* multiDrawElementsIndirect()
Bug: angleproject:6439
Change-Id: I7ab5111692376229515e0d6d9e6148909ce9a8a1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3276042
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
fdad9531
|
2021-11-10T22:09:00
|
|
Forward extra --deqp-* flags to deqp
This allows angle_deqp_* executables to be passed extra --deqp-* flags
that are unknown to ANGLE.
Bug: angleproject:6682
Change-Id: I9930cb8dd76b1c7bc7da9b731659277392fcd3ce
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3274175
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3a84ef5e
|
2021-11-12T17:40:40
|
|
Add EGL_VULKAN_GET_INSTANCE_PROC_ADDR
Add EGL_VULKAN_GET_INSTANCE_PROC_ADDR for query Vulkan
vkGetInstanceProcAddr function pointer associate with the
Vulkan EGLDevice.
Bug: chromium:1264439
Change-Id: I4ff14e2aef7b8ca651e13b4d2867a540aed1b321
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3279100
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
|
|
3128c055
|
2021-11-12T14:59:46
|
|
Vulkan: Add wait semaphores to queueSubmitOneOff
For use in follow up change.
Bug: angleproject:3966
Change-Id: I5bfac51ef9d47a6df5d52268d3ce4863b848b1d1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3279226
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Lingfeng Yang <lfy@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d87d10cd
|
2021-11-12T11:02:01
|
|
Fix ASAN issue with GLVertexIDIntegerTextureDrawElements
Was
GLint clearData[] = {42};
glClearBufferiv(GL_COLOR, 0, clearData);
Now
GLint clearData[4] = {42};
glClearBufferiv(GL_COLOR, 0, clearData);
Bug: angleproject:6688
Change-Id: Ia8fa0c7d406626046a32e613fda3a165a06941b6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3278489
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b2cf52e6
|
2021-11-10T14:49:09
|
|
Bug fix in unpack buffer validation
For an implementation that supports GL_EXT_buffer_storage extension
it is valid to read or write from a buffer that is partially or fully
mapped if it was allocated by a call to glBufferStorageEXT with the
GL_MAP_PERSISTENT_BIT_EXT included in <flags>
Bug: angleproject:5056
Bug: angleproject:6689
Test: BufferStorageTestES3.TexImage2DPixelUnpackBufferMappedPersistently
Change-Id: Ia4b6967aab02bbfb101d5253b9c83d314bc92f5f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3278482
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
573f9415
|
2021-11-12T12:22:39
|
|
Vulkan: Prefer aggregate barriers on SwiftShader
SwiftShader is not currently sensitivel to stage masks, so aggregating
barriers leads to more efficient rendering.
Bug: angleproject:4633
Change-Id: I262d1e98d4b08a1ca134a1c5c64ae964ceb6cd16
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3279020
Reviewed-by: Alexis Hétu <sugoi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6fe13477
|
2021-11-11T00:47:14
|
|
Vulkan: Add external's pNext to ANGLE_external_objects_flags
ANGLE was chaining VkImageFormatListCreateInfoKHR to
VkImageCreateInfo::pNext to support sRGB extensions. For external
images, it was unknown whether that was valid because there was no way
to know if external used an identical chain of pNexts. This was causing
a discrepancy between images created by Chrome and those created by
ANGLE as part of an import.
This change updates ANGLE_external_objects_flags to take in the pNext
chain external has used to create the image so ANGLE could create the
image identically.
Bug: chromium:1266094
Change-Id: I479b9e7ff39d437425dc91c79834880749766f99
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3274177
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Peng Huang <penghuang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
eb3ef08e
|
2021-11-11T17:41:48
|
|
Vulkan: Differentiate perf warnings and RP closure events
... and application events, by using different debug source enums,
translating to different colors in API debuggers.
Bug: angleproject:2472
Change-Id: Ice422c7ae59fb508a10500b9fbed79d4c9664c11
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3275840
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
dbc0c646
|
2021-11-06T01:09:26
|
|
Vulkan: Output the reason for RP closure in command buffer
To make it easier when viewing the command buffer in a graphics
debugger, this change inserts a marker just before closing the render
pass that specifies why the render pass was closed.
Bug: angleproject:2472
Change-Id: I862e500cd58332d6e199c853315c560fe6a73dc2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3265609
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a9f2e87e
|
2021-11-12T15:02:50
|
|
Revert "Vulkan: Allow SystemInfo to pick ICD."
This reverts commit b5adbe272e4829d77105e49607bf8ddafd385f17.
Reason for revert: Fails GN check on Android/iOS in Chrome:
https://chromium-review.googlesource.com/c/chromium/src/+/3276779/
Original change's description:
> Vulkan: Allow SystemInfo to pick ICD.
>
> This will be used in conjunction with SwiftShader.
>
> Bug: angleproject:6496
> Change-Id: I894aa4cf3b9473738b549de9941eb82e09234121
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3276515
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
TBR=syoussefi@chromium.org,jmadill@chromium.org,angle-scoped@luci-project-accounts.iam.gserviceaccount.com
Change-Id: I198802d6bc93993d3544ed4627e131cb7b93f381
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:6496
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3276045
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c6d86da2
|
2021-11-11T15:30:41
|
|
Add test for gl_VertexID and DrawElements
This fails on the WebGL CTS conformance2/rendering/vertex-id.html.
Repoing here to make it easier to debug/find/fix.
Bug: angleproject:6688
Change-Id: I0a4bafc5700c77e0b6c44b067167fc4a60e63c22
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3276708
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Gregg Tavares <gman@chromium.org>
|
|
ee941238
|
2021-11-11T22:00:04
|
|
Capture/Replay: Mark another ImageTest test as FLAKY
Bug: angleproject:6286
Change-Id: Idbbdab532a449d754d05208aeadd94462c8c572a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3276041
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9c486b67
|
2021-11-11T09:55:47
|
|
Unoverride upstreamed dEQP fix
Bug: angleproject:5500
Change-Id: I486ebf72840e8b6ff9ca36ac7ad491fea9dd4cf8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3275834
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d2d3a546
|
2021-11-11T12:22:04
|
|
Vulkan: Write perf warnings in command buffer
It's much easier to understand what command the perf warning refers to
when it's visible in the command buffer using a graphics API debugger.
This change creates ANGLE_VK_PERF_WARNING which gives the warning both
to the application (through ANGLE_PERF_WARNING) and inserts it in the
command buffer.
Bug: angleproject:2472
Change-Id: Ie84feed53eca5cda93e1f2bc653fcbf9bcd57b56
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3275839
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2aa62964
|
2021-11-11T13:24:27
|
|
Vulkan: Reset mFramebuffer when mFramebufferCache is cleared
The mFramebuffer pointer becomes stale when mFramebufferCache
is cleared. Set mFramebuffer to nullptr when this happens.
Test: --deqp-surface-type=fbo --deqp-case=KHR-GLES31.*
Bug: angleproject:6682
Change-Id: I5fd21a64f0f935de04e2934e794c915ccf880c16
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3276701
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Commit-Queue: Brandon Schade <b.schade@samsung.com>
|
|
558981c1
|
2021-11-10T23:13:03
|
|
Vulkan: Make write-after-invalidate checks more precise
Previously, the size of the command buffer was used as indication for
whether the render pass attachments might have been modified after
glInvalidateFramebuffer. In that case, the invalidate was undone. This
is made more precise by making sure only vkCmdClearAttachments and
vkCmdDraw* calls are counted for this purpose.
For example, inserting event markers after glInvalidateFramebuffer now
retains the invalidation.
Note that this can be even further optimized by tracking real writes to
attachments. For example, currently a draw call with depth test
disabled still undoes the invalidation of the depth buffer, but it
shouldn't.
Bug: angleproject:5079
Change-Id: I6257b4116a73213884b919bc7f3c86ff39b6aeed
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3274176
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b5adbe27
|
2021-11-11T11:43:30
|
|
Vulkan: Allow SystemInfo to pick ICD.
This will be used in conjunction with SwiftShader.
Bug: angleproject:6496
Change-Id: I894aa4cf3b9473738b549de9941eb82e09234121
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3276515
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
96b587b0
|
2021-11-10T15:10:09
|
|
Vulkan: Fix rendering to RGB external images
Based on the provided usage flags, the texture's image access mode is
updated to be renderable.
Bug: chromium:1266094
Change-Id: I5d092a2786fc12537ef0ad1f224137cc1fd8f864
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3270980
Reviewed-by: Craig Stout <cstout@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2a9e6e48
|
2021-11-01T15:56:54
|
|
infra: Add tests to ASAN configs.
These add basic ANGLE tests with SwiftShader + ASAN.
Bug: angleproject:5795
Change-Id: I92a51a44214ff0f442d4a1b2a0bc6ac2b8d3f4eb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3254431
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
2a71c9cd
|
2021-11-11T09:28:15
|
|
Remove stray deqp override file
Override was effectively reverted in:
https://chromium-review.googlesource.com/c/angle/angle/+/2375965
Bug: angleproject:4143
Change-Id: Idd38bdfa542eec44bc873791910c070b1e0d98c6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3275833
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a4a52f78
|
2021-11-10T12:43:37
|
|
EGL: Validate CreatePbufferSurface attributes.
This fixes an ASAN issue with a dEQP negative test:
dEQP.EGL/functional_negative_api_create_pbuffer_surface
Bug: angleproject:6660
Change-Id: I2d052f9f948b7a2a6fe3fbb1f1621dd280bb0d36
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3270978
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
4e26eac5
|
2021-11-10T21:19:35
|
|
Vulkan: Fix VVL warnings on extensions that are not enabled
Bug: chromium:1266094
Change-Id: Idbae6cbe2c5593665438d118f17d184f8a81f0d9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3274932
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
393785b7
|
2021-11-10T12:14:03
|
|
Add attribute validation for context creation.
This fixes another ASAN bug that popped up with the dEQP EGL tests:
dEQP.EGL/functional_negative_api_create_context
Bug: angleproject:6660
Change-Id: I8f5ca1cc9ca77f2be28ecf120a90c9efcf9d4b24
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3270977
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ec5d3795
|
2021-11-09T13:23:43
|
|
Metal: Fix InvalidateCopyThenBlend
Render pass descriptor was not being changed
due to blend state not being checked when
looking for equality.
Bug: angleproject:6669
Change-Id: Ic85dbec29ddb53a8c7e2e708f1ac0c99512e7248
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3270596
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Gregg Tavares <gman@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
133cf4be
|
2021-11-10T15:16:07
|
|
Fix out-of-bounds read in MemoryBarrierTestBase.
This second read was in transformFeedbackBitBufferWriteThenCapture.
Bug: angleproject:6646
Change-Id: I67134e5a7a9a610c11266c51bdc1ced6ef018b8a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3270981
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2d4bee83
|
2021-11-04T10:16:16
|
|
EGL: Add early exit when hitting invalid attribute.
According to the EGL spec, we stop checking attributes when we
encounter an invalid enum. That means it's valid for an application to
pass in a list of attributes without EGL_NONE as long as one of them
is invalid. To handle this, we add lazy attribute validation to the
AttributeMap class, that gets triggered in the validation calls.
We only implement the early exit validation for the config attributes
to fix an EGL test that would access out of bounds memory.
Bug: angleproject:6660
Change-Id: I264d0f98b4ddd9e74187846e9e668270a6fbaee1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3262478
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
5a5996aa
|
2021-11-09T21:42:43
|
|
Vulkan: Handle missing decorations in SPIR-V precision fixer
Bug: angleproject:6674
Change-Id: Ibfc72f14b9eeb17d7c70cf6d2384d970b2e66650
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3271551
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f045fe07
|
2021-11-04T10:44:20
|
|
Fix MSRTT unsized texture formats querying supported samples.
The texture format information in gl::Context is sized formats only.
When MSRTT textures are used, they would query the potentially unsized
format for maximum supported samples. This would return 0 and cause an
incomplete framebuffer when the sample count missmatched with other
attachments.
Bug: chromium:1238327
Change-Id: I06514b1b9badefa81bba3b7ad9ba5db932b4c12b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3260555
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
0fcad626
|
2021-11-09T14:02:08
|
|
Vulkan: Fix edge case with changing base level.
Bug: chromium:1267624
Change-Id: I36b983fdbbb258454215abe827837517df5a5aff
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3270971
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f422f21a
|
2021-11-09T18:42:15
|
|
Reland "Metal: Reintroduce GPU power preference selection code."
This reverts commit 67a8cf07a740c5ce3aafd2ad7fddd370451b3525.
Reason for revert: Landed Chromium-side dependency:
https://chromium-review.googlesource.com/c/chromium/src/+/3271170
Original change's description:
> Revert "Metal: Reintroduce GPU power preference selection code."
>
> This reverts commit 017161701b7dbf70a13f3c180a39e1fa45c27d9f.
>
> Reason for revert: Blocking roller, please re-land with the fix.
>
> Original change's description:
> > Metal: Reintroduce GPU power preference selection code.
> >
> > This CL re-introduces the GPU power preference code to
> > the metal backend. It also reworks EGLDisplay caching
> > in the frontend to cache based on the native display
> > as well as the power preference attribute.
> > A new extension, EGL_ANGLE_display_power_preference is
> > added based on EGL_ANGLE_power_preference. This extension
> > is a client extension that allows selection of GPU on
> > display creation, similar to how GPUs are selected on
> > context creation in EGL_ANGLE_power_preference.
> > This CL adds EGLDisplayPowerPreferenceTest and enables it on
> > the metal backend.
> >
> > Bug: angleproject:6143
> > Change-Id: I0a081dcd2e3f18ab365fdd3498ddcb6e2ba35212
> > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3231986
> > Reviewed-by: Kenneth Russell <kbr@chromium.org>
> > Reviewed-by: Jamie Madill <jmadill@chromium.org>
> > Reviewed-by: Gregg Tavares <gman@chromium.org>
> > Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
>
> TBR=kbr@chromium.org,gman@chromium.org,jonahr@google.com,jmadill@chromium.org,angle-scoped@luci-project-accounts.iam.gserviceaccount.com
>
> Change-Id: I4f775bf7139253a87b033a30e0da2100b3c1bb02
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: angleproject:6143
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3270749
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
# Not skipping CQ checks because this is a reland.
Bug: angleproject:6143
Change-Id: Id9b0a5cbb76e4dea9e2f2da2b1c47a0587dfdaf5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3270970
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
53def659
|
2021-11-09T14:58:18
|
|
Unskip RenderSolidColor test
Unskips EGLDirectCompositionTest.RenderSolidColor, as the driver bug
that caused it to be disabled should hopefully be fixed.
Bug: chromium:1063962
Change-Id: I8a01ca65fc7e2b4b820d61fced24cf53af9e9f3c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3270597
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
cd822868
|
2021-10-28T13:00:09
|
|
Vulkan: MAP_INVALIDATE_RANGE_BIT: shadow or exclude
One method of dealing with glMapBufferRange + range invalidation; treat
it like bufferSubData and stage the update.
Another method is to ghost the buffer but copy only memory outside the
invalidated range.
This CL pursues a policy where if less than half of the buffer is
invalidated, we stage. Otherwise, we ghost and copy only memory outside
the invalidated range.
DynamicBuffer is chosen over DynamicShadowBuffer because it turns out to
end up implicitly tracking all active invalidate ranges (through its
freelist), and performs buffer copy on GPU. if we use a
DynamicShadowBuffer and then BufferVk::stagedUpdate, it's the same thing
but more work (an extra memcpy into the staging buffer). To make this
clear, we split the logic of stagedUpdate into two parts, the
allocation/map, and the flush, and reuse one half in glMapBufferRange,
and the other half in glUnmapBuffer.
Test: Faster performance in MapBufferRange perf test, no non-noisy
regress in trace tests
Bug: angleproject:6634
Change-Id: Ie2e6a9586824b8cb59a97419bb8052acd1de2033
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3251686
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Lingfeng Yang <lfy@google.com>
|
|
0b46ef40
|
2021-11-04T09:30:23
|
|
Vulkan: Start on a MapBufferRange benchmark
We have a lot of apps that use MapBufferRange to upload data. That can
be low performance. Let's have a benchmark for this.
Bug: angleproject:6634
Change-Id: I7e20ad65b89700733c02995a7c56d641e39a43b1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3261378
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Lingfeng Yang <lfy@google.com>
|
|
5eb86d4a
|
2021-09-21T15:17:04
|
|
EGL: EGL_KHR_lock_surface3 frontend
Add queries to get locked buffer attributes
Add validation for LockSurface, QuerySurface
Bug: angleproject:6062
Change-Id: I4919bef2a17d3505cccad08f7c4f8a3ca5d7e4e6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3174322
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d3e67716
|
2021-09-21T15:03:15
|
|
EGL: EGL_KHR_lock_surface3
Add new extension KHR__lock_surface3
Add new interfaces for locking and unlocking a surface.
Test: angle_end2end_test --gtest_filter=EGLLockSurface3Test
Bug: angleproject:6062
Change-Id: Ic40708db4db552107025635540a0c62f956d741e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3161447
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
91d36473
|
2021-11-08T16:27:20
|
|
Fix invalidation of GL_FRAMEBUFFER invalidating READ FBO
Per spec, GL_FRAMEBUFFER means GL_DRAW_FRAMEBUFFER for
glInvalidateFramebuffer.
Bug: chromium:1267424
Change-Id: I8c9ab61ecdbd4ccee4262dc8559b2feb02b4837c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3266176
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
517ff220
|
2021-11-08T23:57:16
|
|
Add test for texture state change bug
Bug: chromium:1267624
Change-Id: I270e54921d40a2d139afdc78c90ab05164cbfabf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3268492
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ef93b32c
|
2021-11-09T00:26:13
|
|
Vulkan: Fix deferred clears vs invalidate
In this scenario:
- Clear color
- Invalidate depth
- Clear color
The invalidate step flushed the deferred color clear, but the following
clear did not expect an open render pass without any draw calls in it.
This change fixes this issue, while simultaneously optimizing invalidate
by making sure the clears accumulated during syncState() are redeferred
instead of flushed.
This issue was discovered in
https://chromium-review.googlesource.com/c/angle/angle/+/3266176 where,
as part of an unrelated fix, an accidental render pass closure is
removed.
Bug: chromium:1267424
Change-Id: Icfc0a53dbf84e6339ee23960ed847444830054e6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3266178
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
67a8cf07
|
2021-11-09T15:10:50
|
|
Revert "Metal: Reintroduce GPU power preference selection code."
This reverts commit 017161701b7dbf70a13f3c180a39e1fa45c27d9f.
Reason for revert: Blocking roller, please re-land with the fix.
Original change's description:
> Metal: Reintroduce GPU power preference selection code.
>
> This CL re-introduces the GPU power preference code to
> the metal backend. It also reworks EGLDisplay caching
> in the frontend to cache based on the native display
> as well as the power preference attribute.
> A new extension, EGL_ANGLE_display_power_preference is
> added based on EGL_ANGLE_power_preference. This extension
> is a client extension that allows selection of GPU on
> display creation, similar to how GPUs are selected on
> context creation in EGL_ANGLE_power_preference.
> This CL adds EGLDisplayPowerPreferenceTest and enables it on
> the metal backend.
>
> Bug: angleproject:6143
> Change-Id: I0a081dcd2e3f18ab365fdd3498ddcb6e2ba35212
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3231986
> Reviewed-by: Kenneth Russell <kbr@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Gregg Tavares <gman@chromium.org>
> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
TBR=kbr@chromium.org,gman@chromium.org,jonahr@google.com,jmadill@chromium.org,angle-scoped@luci-project-accounts.iam.gserviceaccount.com
Change-Id: I4f775bf7139253a87b033a30e0da2100b3c1bb02
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:6143
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3270749
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
5f7c3ba6
|
2021-11-01T13:27:15
|
|
Capture/Replay: Don't force initialization of FS inout vars
Since these variables are to be considered inputs as well as outputs
initializing them would overwrite the valid input values, hence skip
initialization.
Bug: angleproject:6608
Change-Id: Id8baf856a23ac84d18c61dd54cd6095128190075
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3253377
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
2dd6ea51
|
2021-11-08T16:22:18
|
|
Capture/Replay: Limit the sleep time based on unfinished jobs
When running only a few tests the script has the tendency to sleep
a long time after the tests were finished. So limit the sleep time
by the number of remaining jobs.
Bug: None
Change-Id: I52ad39bf047abf93cd900f687bd3aae3962e9e20
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3263999
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
5c16f77b
|
2021-10-01T20:07:09
|
|
Vulkan: Add flushCommandsAndEndRenderPassWithoutQueueSubmit()
Add flushCommandsAndEndRenderPassWithoutQueueSubmit() to allow
ContextVk::flushAndGetSerial() to only issue a single vkQueueSubmit().
Bug: angleproject:6546
Change-Id: Ia3fc2bb93e88583ebd80ee153749dc8ca42245dc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3200673
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
53371cc0
|
2021-11-01T20:25:17
|
|
Vulkan: Use optimalBufferCopyOffsetAlignment
optimalBufferCopyOffsetAlignment is the optimal buffer offset alignment
in bytes for vkCmdCopyBufferToImage2KHR, vkCmdCopyBufferToImage,
vkCmdCopyImageToBuffer2KHR, and vkCmdCopyImageToBuffer. The per texel
alignment requirements are enforced, but applications should use the
optimal alignment for optimal performance and power use.
To improve efficiency, this CL updates ContextVk::mStagingBuffer's
alignment to the max of:
- minMemoryMapAlignment
- nonCoherentAtomSize
- optimalBufferCopyOffsetAlignment
On ARM, this is not expected to have any affect, since all three values
are 0x40, but other platforms may see a benefit.
Bug: angleproject:4297
Change-Id: I9185da111e09c5d782eb1dedb10369727cb9bf51
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3256007
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
0e20c680
|
2021-11-08T15:24:09
|
|
Sync framebuffer bindings in glInvalidateFramebuffer
If a framebuffer binding change is followed by glInvalidateFramebuffer,
ANGLE was not syncing the framebuffer binding.
- This means that invalidation was being done on the previous
framebuffer.
- Paired with deferred clears, this was causing ContextVk to start a
render pass on the previous, potentially deleted, framebuffer.
Bug: chromium:1267027
Change-Id: I092a0c8dd764db9e49258b694c970babb19cf24b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3266175
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
651ae514
|
2021-11-08T14:07:30
|
|
Capture/Replay: Skip test of new failing tests
Bug: angleproject:6663
Change-Id: Ic253a4695eb4c27df2e77641df9f03b2ad8a33e4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3266172
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
01716170
|
2021-10-14T13:24:41
|
|
Metal: Reintroduce GPU power preference selection code.
This CL re-introduces the GPU power preference code to
the metal backend. It also reworks EGLDisplay caching
in the frontend to cache based on the native display
as well as the power preference attribute.
A new extension, EGL_ANGLE_display_power_preference is
added based on EGL_ANGLE_power_preference. This extension
is a client extension that allows selection of GPU on
display creation, similar to how GPUs are selected on
context creation in EGL_ANGLE_power_preference.
This CL adds EGLDisplayPowerPreferenceTest and enables it on
the metal backend.
Bug: angleproject:6143
Change-Id: I0a081dcd2e3f18ab365fdd3498ddcb6e2ba35212
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3231986
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Gregg Tavares <gman@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
79a5dc0a
|
2021-11-05T23:26:43
|
|
Vulkan: Fix spammy best practices message
A GPU WRITE->HOST barrier frequently issued when the GPU outputs to a
host-visible buffer used the ALL_COMMANDS stage mask causing a best
practices message. This message is suppressed in ANGLE, but shows up in
RenderDoc and clutters the output.
Bug: angleproject:5070
Change-Id: I59aa7f8c7b3bf2788a3f7ae0ab6abdb4d3cd175e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3265606
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
1f42f6bd
|
2021-11-03T13:28:01
|
|
Add GL_RGB10_EXT format into list of supported formats.
When running with Wayland, EGL returns rgb10 buffer format in
egl config, which makes assertion to explode in formatutils as
this format is not in list of supported formats.
GL_RGB10_EXT is under the ES1 extension GL_OES_required_internalformat.
Thus, add it to the format table.
Bug: chromium:1231934
Change-Id: Ib47af538b16d6c7a652a44e0674757d292ac1394
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3253376
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Maksim Sisov <msisov@igalia.com>
|
|
5d8a89e4
|
2021-11-02T19:57:04
|
|
Vulkan: Always override surface format GL_RGB8 to GL_RGBA8
If an app requests to create a surface with GL_RGB8, override it to be
GL_RGBA8 for Android.
This is to workaround an issue with the Android Vulkan loader which
limits which formats can be used with swapchains.
This CL also adds GL_RGB8 back to DisplayVkAndroid::generateConfigs(),
effectively reverting the following CL:
https://chromium-review.googlesource.com/c/angle/angle/+/3235466
This is being done with this CL (rather than reverting) since these
changes are required to handle surfaces created with GL_RGB8.
Bug: angleproject:6277
Bug: angleproject:6651
Change-Id: Iad78ea0d7bdf12e1e309ed6a7181f08fac38b9de
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3258143
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
3861c903
|
2021-11-05T17:19:34
|
|
Capture/Replay: Unsupress failures due to I/O block zero-init
Bug: angleproject:6609
Bug: angleproject:6610
Change-Id: I771db9d26122ce1e5955ee092c6ca05af65fde95
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3265605
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
adf878f3
|
2021-11-05T17:16:57
|
|
Vulkan: Synchronization tests for read-to-read transitions
Bug: angleproject:6663
Change-Id: I89aafa6c197233b75562c0faa1d5331969eeedf9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3265604
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
52d6e363
|
2021-11-03T12:46:10
|
|
Translator: Fix zero-init of nameless I/O blocks
Bug: angleproject:6609
Change-Id: I680fec85d53709f9abd3680a9dc5794ecfae6588
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3260326
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
4fd4eb50
|
2021-11-05T11:14:47
|
|
Vulkan: Minor cleanups.
Makes some VkFlags into VkAccessFlags to aid with code search. Also
corrects a few typos.
Bug: angleproject:6566
Change-Id: Ia4d14d38bb6d4e8c4c71fed6038c12edae112be9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3264224
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e10768f0
|
2021-11-03T12:23:11
|
|
Translator: Fix zero-init of I/O block arrays
Bug: angleproject:6609
Change-Id: I8245e868fe6bc4798e74088916e1d8cdd0727b6b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3260325
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d7090f5d
|
2021-10-29T10:45:19
|
|
Add more attributes for EGL_ANGLE_device_vulkan
Bug: chromium:1264439
Change-Id: Ibc9676cef16411b17c833abe9559721811016eef
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3264164
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
|
|
f7bcd910
|
2021-11-05T11:24:34
|
|
Vulkan: Skip VVL barrier warning on SwiftShader.
This gets tripped up from our barrier handling code.
Bug: angleproject:6656
Change-Id: Iefb1c898ca6506e81a19a0928beaf221dcdf8f4e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3264225
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
019ddad5
|
2021-11-04T13:22:47
|
|
Reset cache in ProgramExecutable::updateActiveSamplers.
This missing reset was causing incorrect state validation to
persist in a few instances.
Bug: chromium:1266437
Change-Id: I7ab47c81bf9f855e3ad75048f9d1aaefbc2291df
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3262477
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
8c9b8f03
|
2021-11-03T14:50:54
|
|
Capture/Replay: Don't finish() destroyed Contexts
If an app destroys a context, but keeps it current on a thread, ANGLE
will reset the context, but can't delete it. This can lead to a segfault
if ANGLE attempts to call Context::finish() on a destroyed context.
To solve this, check if the context has been destroyed in
ShareGroup::finishAllContexts().
Bug: angleproject:6653
Change-Id: Ib30e352ad6395e01f8fab0095cd6231dfb10d8ae
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3260726
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
45ffabd0
|
2021-11-04T09:45:03
|
|
Skip world_cricket_championship_2 Intel Linux
Timing out.
Bug: angleproject:6657
Change-Id: Ia4b6456adbffd41764ae2bccac6d1cf79f3b4fb6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3262032
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
73da1648
|
2021-11-04T09:26:00
|
|
Tests: Skip zillow trace on desktop Vulkan
Bug: angleproject:6658
Change-Id: I0d0152c83930b6a789bd9660ad2f16e9a8e9f80a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3262031
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
30b01d8f
|
2021-11-03T15:56:47
|
|
Fix multiview framebuffer completeness check
In the process of dropping ANGLE_multiview in favor of OVR_multiview,
the framebuffer completeness checks have become stale. In particular:
- There is no requirement that the base layer of the attachments match
- There _is_ a requirement that base+count layers are within the texture
boundaries.
Bug: chromium:1264988
Change-Id: I86837b587ad5befaa6a545c5a24507e8dff0b568
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3259272
Reviewed-by: Alexis Hetu <sugoi@google.com>
Reviewed-by: Alexis Hétu <sugoi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2091451e
|
2021-10-27T22:57:34
|
|
GLES1: Create multiple shaders based on state
This CL introduces the concept of having optimized shaders for given
state combinations. In this first pass, all uniform bools have been
moved to hard coded values in the GLES1 ubershader.
Frame times on Android ARM with locked GPU clocks:
Trace Before After
dr_driving: 27.8145 -> 4.2986
sonic_the_hedgehog: 17.9779 -> 2.8223
summoners_war: 93.2040 -> 15.9810
wordscapes: 53.9227 -> 7.6167
zillow: 15.0323 -> 2.9368
Bug: angleproject:6644
Bug: angleproject:6652
Change-Id: I548bc5c6aa24bad5fbd740b9552c4a703ae41354
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3251688
Reviewed-by: Lingfeng Yang <lfy@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
7e70818a
|
2021-11-03T16:52:28
|
|
Capture/Replay: Skip failing UniformTest tests
The following tests are failing on win-trace:
UniformTest.UnusedStructInlineUniform
UniformTest.UnusedStructInlineUniformWithSampler
They were added by this CL:
https://chromium-review.googlesource.com/c/angle/angle/+/3256235
Bug: angleproject:6654
Bug: angleproject:6641
Change-Id: Ibce2a9ef1795ffeb50bce5546d558ce12166cd17
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3260733
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
77eb8a49
|
2021-10-29T10:36:06
|
|
Metal: Reduce memory usage of attribute re-writing
Rework vertex buffer caching to allow us to reuse parts
of converted buffers.
Reusing conversions dramatically drops the memory usage
when drawing index ranges by offset with
unaligned attributes.
Bug: angleproject:6638
Change-Id: I79797da202629b1632e1397ce1227ee3d7a1c9d7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3251467
Commit-Queue: Kyle Piddington <kpiddington@apple.com>
Reviewed-by: Le Hoang Quyen <le.hoang.q@gmail.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
0777af70
|
2021-11-02T11:14:06
|
|
Env var for EXT_framebuffer_fetch_non_coherent
* Added an environment variable/Android property to remove the
restriction on exposing GL_EXT_shader_framebuffer_fetch_non_coherent
on ARM and Qualcomm.
* Environment variable: ANGLE_ENABLE_EXT_SHADER_FRAMEBUFFER
_FETCH_NON_COHERENT_OVERRIDE
* Android property: debug.angle.enable.ext_shader_framebuffer
_fetch_non_coherent_override
Bug: angleproject:6519
Change-Id: I62e80f348c2ffda7d1d63496e3a2aedad9d69229
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3258363
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
8aec7f35
|
2021-11-02T22:01:25
|
|
Add World Cricket Championship 2 Trace
Test: angle_perftests --gtest_filter="*world_cricket_championship_2*"
Bug: b/194508692
Change-Id: I0f36eba247b4726bc13b327634c429339ad1297c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3258343
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
afaa1287
|
2021-10-26T19:29:44
|
|
Vulkan: Don't submit XFB queries when XFB is inactive
Consider the following GL commands:
glBeginQuery(GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN)
glBeginTransformFeedback()
glDrawArrays()
glPauseTransformFeedback()
glDrawArrays()
glResumeTransformFeedback()
glDrawArrays()
glEndTransformFeedback()
glEndQuery(GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN)
The renderpass is broken for each of the draw calls, leading to
pauseRenderPassQueriesIfActive() and resumeRenderPassQueriesIfActive()
being called when the RP is stopped/started. This leads ANGLE to
generate 3 TransformFeedbackPrimitivesWritten queries when looping
through the "active" queries, since no consideration is made for XFB
actually being active/unpaused.
ARM doesn't support the TransformFeedbackPrimitivesWritten query when
XFB is disabled. Instead, the query is never completed and the results
are never available. It could probably be argued that this is an ARM
bug, and they should just output '0' if XFB isn't active during the
query.
Regardless, ANGLE shouldn't be issuing the queries when XFB is no
active, since it's wasteful.
Bug: angleproject:6622
Test: dEQP.GLES3/functional_transform_feedback*
Test: TransformFeedbackTest.TransformFeedbackQueryPausedDrawThenResume
Change-Id: I380fb60405d7f538b802bb0df72bf609f0bc58e9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3246532
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
0e9e321b
|
2021-11-01T17:04:05
|
|
Metal: Anonymous unused uniform structs not named.
Due to some upstream changes, unused uniform structs are not being
given a name. These structs cause compilation failures, which has
completely caused shadertoy.com to fail to render.
Skip the check when naming embedded structs to allow uniform struct
types to still be named, even when no uniform exists.
Unskip targeted tests on the Metal backend which were added previously
in Issue 6641. These still need to be fixed more generically for the
Vulkan backend.
Also suppress flaky WebGLCompatibilityTest.RG32FTextures test on Mac
Intel OpenGL, which affected this CL.
Bug: angleproject:6642
Bug: angleproject:6641
Bug: angleproject:6570
Change-Id: I598fc212f4db3d3b7c5617bd8a87f8b7db60706c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3258341
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Gregg Tavares <gman@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
604610b4
|
2021-11-01T12:03:31
|
|
Metal: Use Depth32F for DEPTH_COMPONENT16
depth16unorm is broken on Metal. This is a workaround.
Bug: angleproject:6597
Change-Id: I1748f9fab587b22980d13e8a141fa880eb6f9db0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3255666
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Gregg Tavares <gman@chromium.org>
|
|
88ca3b18
|
2021-11-01T16:54:40
|
|
Expose translator issues with struct samplers.
Struct samplers assert in the Vulkan and Metal backends during
rewriting. Add a test - skipped for now on these backends - to
highlight this issue.
Bug: angleproject:6641
Change-Id: I95cbc9e5f4122f1ac7db926ac44c4cccc1b6f87a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3256235
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
a517d4d9
|
2021-11-01T16:21:06
|
|
Vulkan: Regression test for xfb query before resume
Bug: angleproject:6622
Change-Id: If15195437e656dc20aed10d02cf8429ad15ae3d2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3254432
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|