Log

Author Commit Date CI Message
Kramer Ge fbb16d64 2023-03-24T02:23:19 Mali: Disable disjointTimerQueries on ChromeOS with MaliT8xxOrOlder ChromeOS boards using MT8183 are encountering GL_OUT_OF_MEMORY errors when using disjointTimerQueries, which leads to meets visual effects freezing after a couple of seconds. Extend the workaround treatment to ChromeOS. Bug: chromium:1356053,b/269068358 Change-Id: I212f2b4a2fed1ddd8e8344bde4f4ca9069ea3393 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4369684 Commit-Queue: Kramer Ge <fangzhoug@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Auto-Submit: Kramer Ge <fangzhoug@chromium.org>
Colin Blundell abbbe970 2023-03-24T08:10:40 [GL backend] Get texture bindings size from frontend caps EGLContext currently sets the texture bindings size to be GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS. StateManagerGL later copies these bindings into its own textures array [1]. However, the latter texture array is clamped to a size of max 96 [2], and thus this copy can overflow (see crash in crbug.com/1418842). This CL changes the texture bindings size to be set from the frontend caps rather than the native caps. The former have the same clamping as for StateManagerGL's textures. [1] https://source.chromium.org/chromium/chromium/src/+/main:third_party/angle/src/libANGLE/renderer/gl/StateManagerGL.cpp;drc=c85c710dec58dfdcf2f35af647a0a5155639edd5;l=3274 [2] https://source.chromium.org/chromium/chromium/src/+/main:third_party/angle/src/libANGLE/angletypes.h;drc=4a77b0f5237515960673b9bd1bc5a229f0eeaa95;l=952 [3] https://source.chromium.org/chromium/chromium/src/+/main:third_party/angle/src/libANGLE/Context.cpp;l=4050-4059;drc=b4bc946c63b2b95e1f05dec4e84adcadd10499c6 Bug: chromium:1418842 Change-Id: I66c10b640f70d9dc6c7d41925f12ffb7a3ba78e0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4369699 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Alexey Knyazev d8c9ba9a 2023-03-27T00:00:00 Avoid defaulted comparison operator Not available until C++20. Bug: angleproject:8046 Change-Id: I6f4093b0bdccca55818109836e2e0d68f66897b9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4373861 Reviewed-by: Brian Osman <brianosman@google.com> Auto-Submit: Alexey Knyazev <lexa.knyazev@gmail.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev afc1e5dc 2023-03-27T00:00:00 GL: Support OES_sample_variables Bug: angleproject:8097 Change-Id: I983d6e83fe9ca942c91cbdf7274b46306e38f11f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4368476 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
angle-autoroll 98cfb969 2023-03-27T10:01:52 Roll vulkan-deps from 672a6d1840c9 to d56f491466de (13 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/672a6d1840c9..d56f491466de Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/c43008e829..45405e1d94 * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/9fbe1738ba..f9f31fa5a9 * vulkan-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/ee15ae402b..9b9fd871b0 * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/23c3a6047f..d72476300b * vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/fb440ea67d..211fec7e9a * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/b3baf74e40..9124f788b7 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,solti@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: solti@google.com Change-Id: Ib4fab95a31afc686c8555db2fdcdd3b510530146 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4372490 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Hailin Zhang 1301402c 2023-03-23T21:56:45 Vulkan: improve etc to bc grident texture precison. ETC has gradient modes. Two endpoints in BC are RGB565; the color depth is lower than ETC. Two endpoints in RGB888 space may be quite different, but after conversion to RGB565 they may be projected to the same point. This conversion loses quite a lot of details. This change tries to change one endpoint to an adjacent one (not optimal) in RGB565, so that all the colors are interpolated from these two endpoints. With this change, the arknight image in b/259327729 improved PSNR from 39 to 49. This change includes some of work by @gregschlom 1) Use look up table instead of bit operation. 2) Use more vector operations. This may not improve the performance but makes the code short and neat. bug: b/259327729 Change-Id: Ic0720aff17af5d466e5598dc38ba953dc084a3cc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4368021 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Hailin Zhang <hailinzhang@google.com>
Cody Northrop 249b03ac 2023-03-24T15:11:10 restricted_trace_perf: Delete settings when using default Follow up to the addition of `--renderer default`, actively delete the settings if default is chosen. Otherwise the script will just use whatever settings you already have. Test: restricted_trace_perf.py Bug: b/269645211 Change-Id: I83be7e3f7fa2f2a2bc9f9d243820b49a3cdbed82 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4368874 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Igor Nazarov 435e557c 2023-03-22T21:35:09 Vulkan: Do not enforce custom ANGLEs secondary command buffers. This change become possible after the commit: Vulkan: Fix Secondary Command Buffers with asyncCommandQueue. After the above change, `attach/detachAllocatorImpl<>()` will be skipped when using Vulkan secondary command buffers. Other places that use `mCommandAllocator` already no-op regardless of the allocator type. Therefore enforcing: ANGLE_USE_CUSTOM_VULKAN_OUTSIDE_RENDER_PASS_CMD_BUFFERS ANGLE_USE_CUSTOM_VULKAN_RENDER_PASS_CMD_BUFFERS when enabling `angle_enable_vulkan_shared_ring_buffer_cmd_alloc` is no longer required. This will remove possible confusion when configuring ANGLE build and allow mixing Vulkan secondary command buffers and ANGLEs custom secondary buffers that use `shared_ring_buffer_cmd_alloc`. Bug: angleproject:6401 Bug: b/256666069 Change-Id: I52a64065e6ce9e4aabbf76031c3f5443e0e26a3a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4360071 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Charlie Lao <cclao@google.com>
Igor Nazarov aa8f2e4b 2023-03-22T19:53:04 Vulkan: Minor SecondaryCommandPool::destroy() optimization. Follow up for the commit: 9b6368ccfceddf1784ef41e95e57696453cca71d Vulkan: Fix freeing Secondary Command Buffers from wrong thread. Bug: angleproject:6100 Change-Id: I8ef34898941c0c5684d3ea4378332cdf6b87c0c8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4359703 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Charlie Lao <cclao@google.com>
Igor Nazarov 85735eb4 2023-03-17T19:56:23 Vulkan: Enable async features for Secondary Command Buffers. Since, all known problems with Secondary Command Buffers and async features are fixed, it should be safe to allow enabling these features for testing. Locally, this CL passes custom build dEQP tests (EGL/GLES2/3/3.1) with asyncCommandQueue and Vulkan Secondary Command buffers enabled. Tests were executed on S906B that uses ANGLE as the system GLES driver. Bug: angleproject:6811 Bug: angleproject:6100 Change-Id: Id3ef6df56f0a3bd1986f2e6047f01e6eac165fc6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4350270 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Cody Northrop 2bd8acfe 2023-03-23T18:24:43 Tests: Add Geometry Dash trace Test: angle_trace_tests --gtest_filter="*geometry_dash*" Bug: b/271876646 Change-Id: I18ab2f22230f0c63d3aaf7c825c9cc55d896d4d0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4368019 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Roman Lavrov <romanl@google.com>
Igor Nazarov e27e7c6a 2023-03-17T19:43:54 Vulkan: Retire Command Buffers before destroying the Pools. "VulkanSecondaryCommandBuffer"s may be still in "CommandQueue" when "ContextVk" destroys the Command Pools (asyncCommandBufferReset = true). Fixed by calling "retireFinishedCommandsLocked()" when appropriate. Normally, it is only required to retire Vulkan Secondary Buffers. However, some drivers may have bug and also require to reset Primary Buffers, that have Secondaries recorded, before destroying the Secondaries Pools. Bug: angleproject:6811 Bug: angleproject:6100 Change-Id: I891547c95cfbdfab44398980f939596af56ab57b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4350269 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Charlie Lao <cclao@google.com>
Igor Nazarov 9524c639 2023-01-17T18:47:47 Vulkan: Fix Secondary Command Buffers with asyncCommandQueue. This change fixes following errors (asyncCommandQueue = true): 1. "vkEndCommandBuffer()" called from "asyncCommandQueue" thread. Call stack: vkEndCommandBuffer() VulkanSecondaryCommandBuffer::end() OutsideRenderPassCommandBufferHelper::flushToPrimary() CommandQueue::flushOutsideRPCommands() CommandProcessor::processTask() Fixed by calling "vkEndCommandBuffer()" from the Context thread in the new "OutsideRenderPassCommandBufferHelper::detachCommandPool()" method. 2. "vkAllocateCommandBuffers()/vkBeginCommandBuffer()" called from "asyncCommandQueue" thread. Call stack: vkAllocateCommandBuffers()/vkBeginCommandBuffer() VulkanSecondaryCommandBuffer::initialize() <*>CommandBufferHelper::initializeCommandBuffer() <*>CommandBufferHelper::reset() <*>CommandBufferHelper::flushToPrimary() CommandQueue::flush<*>Commands() CommandProcessor::processTask() Fixed by calling "vkAllocateCommandBuffers()/vkBeginCommandBuffer()" from the Context thread in the new "<*>CommandBufferHelper::attachCommandPool()" method. 3. "SecondaryCommandPool::collect()" called from "asyncCommandQueue" thread without synchronization. Call stack: SecondaryCommandPool::collect() rx::vk::RecycleCommandBufferHelper() CommandBufferRecycler<>::recycleCommandBufferHelper) RendererVk::recycle<*>CommandBufferHelper() CommandProcessor::processTask() No need for this call, because "SecondaryCommandPool" is already detached. Notes: This CL not only fixes errors, but also optimizes CommandBufferHelper recycling. Before, there was no recycling plus unnecessary "VulkanSecondaryCommandBuffer" allocation/freeing. Further optimization may add multiple "VkCommandPool"s to the "SecondaryCommandPool" to allow resetting buffers in the async thread. Bug: angleproject:6811 Bug: angleproject:6100 Change-Id: I7004c27a112e916c5c973b43b137193017d6aa3d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4342189 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
angle-autoroll 87632d64 2023-03-24T10:01:45 Roll SwiftShader from f988757e44a3 to c85d70d97009 (3 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/f988757e44a3..c85d70d97009 2023-03-23 jif@google.com Add Android.bp for LLVM16 2023-03-23 jif@google.com Add configs/android for LLVM 16 2023-03-23 jif@google.com Add riscv to the list of configs generated on android. If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC angle-team@google.com,solti@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: solti@google.com Use-Permissive-Angle-Pixel-Comparison: True Change-Id: I77f90ab562b4439d8dabd446c3b3828860573bba Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4368572 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll f7602170 2023-03-24T10:01:05 Roll vulkan-deps from 886b2b7b32a4 to 672a6d1840c9 (11 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/886b2b7b32a4..672a6d1840c9 Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/14e5a04e70..c43008e829 * spirv-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/a41cf67dfa..90547c54e2 * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/5f4e694e10..9fbe1738ba * vulkan-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/fa204df59c..ee15ae402b * vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/728c1535de..fb440ea67d * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/357f1476ee..b3baf74e40 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,solti@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: solti@google.com Change-Id: I2c9df6381945e1dc04b682718134ac3761a085a7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4368032 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Amirali Abdolrashidi dae99340 2023-03-23T14:36:28 Remove uninited pixel check from TexStorageWithPBO Towards the end of the test "TexStorageWithPBO" from Texture2DTest, the color of the pixel outside the red square is checked to confirm that it is black. However, due to that part being uninitialized in the test, its color could be left over from a prior test, causing a failure. * Removed the pixel check for outside the square. * Updated the color check for the square to cover its whole area. Bug: angleproject:4126 Bug: angleproject:5081 Bug: angleproject:5097 Bug: angleproject:5651 Bug: angleproject:8093 Change-Id: I3ceb8cf30456f51a60630f9e258210a8ccae0d95 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4367898 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev c1e45f0c 2023-03-23T00:00:00 Adjust copied dylibs in update_chrome_angle.py Bug: angleproject:1944 Change-Id: Ia84ccd2f38e1d3257a9ec5261acc43d9ba2ed1a2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4367200 Auto-Submit: Alexey Knyazev <lexa.knyazev@gmail.com> Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Amirali Abdolrashidi f2c5ce4e 2023-03-16T17:44:56 Re-enable mutable texture upload for one context It was observed that in some apps, mutable textures are uploaded in a context, but that context's outside RP command buffer is not flushed at all, resulting in invalid (noise) or incorrect textures. * Added isEligibleForMutableTextureFlush() to be used to determine whether onMutableTextureUpload() should be called. * Restricted the use of mutable texture upload to single-context share groups. * When the number of contexts becomes greater than one, the original context's outside render pass command buffer is flushed. * Added related tests. * Added a test to make sure that textures can be uploaded in one thread, and used for draw calls in another, with the help of a sync object. * Added a test to make sure that textures can be uploaded in the main thread, and used in a new thread. * Added a test in which a new context is created after mutable mipmap textures are defined. Bug: b/264143971 Change-Id: I66c0d8b04d39bb7244e5752aac0e46a0192f012e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4349156 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 997c4c7b 2023-03-21T00:00:00 D3D11: Implement EXT_conservative_depth Drive-by: * Hid the extension from ES 2.0 client contexts. Bug: angleproject:8046 Change-Id: I8bca4161dde4bda7ee75541b9164777884900d89 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4366784 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Alexey Knyazev 648f3657 2023-03-21T00:00:00 Metal: Implement EXT_conservative_depth Bug: angleproject:8046 Change-Id: I3b9f497da19bf005c7948e552f2e1c7415d4ac6d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4363020 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Kyle Piddington <kpiddington@apple.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Yuly Novikov 34a06e25 2023-03-15T18:46:55 Start MacBook Pro AMD 2019 experiment on ANGLE bots Suppress failing tests Bug: chromium:1382149, angleproject:8091 Change-Id: I817d3db8badc35a12ecc9650750ca9190c617f6c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4341695 Commit-Queue: Geoff Lang <geofflang@chromium.org> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
angle-autoroll 860a401f 2023-03-23T10:01:44 Roll vulkan-deps from 379ee8599f0f to 886b2b7b32a4 (12 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/379ee8599f0f..886b2b7b32a4 Changed dependencies: * spirv-cross: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross.git/+log/763dbe14ab..09e60d74f6 * spirv-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/1feaf4414e..a41cf67dfa * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/90f6a2875f..5f4e694e10 * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/889e6b7223..23c3a6047f * vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/f196c8d3ca..728c1535de * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/8b4a4eb257..357f1476ee If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,solti@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: solti@google.com Change-Id: I47af7a1c45d9dae50143a881a2b6dd10eebdf6ba Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4365259 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Igor Nazarov 0e502f8c 2023-03-20T20:34:28 Vulkan: Update SharedCommandBlockPool::valid() method. Current logic returns `valid()` result whether `mAllocator` is attached or not. However this is not correct, because it is allowed to use some method even after allocator is detached. Since this class does not require initialization - it is always valid. Bug: angleproject:6401 Bug: b/256666069 Change-Id: I57f899ae7718762b7e2b68e9c3d1e04dccb2c351 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4355391 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
angle-autoroll fc308f4a 2023-03-23T10:01:20 Roll SwiftShader from 0cc04d07ab24 to f988757e44a3 (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/0cc04d07ab24..f988757e44a3 2023-03-22 jif@google.com Add CMakeLists.txt for LLVM16 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC angle-team@google.com,solti@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: solti@google.com Use-Permissive-Angle-Pixel-Comparison: True Change-Id: I006e6a454f7a32f130e1b4e0ed0e4080fded07aa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4363729 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll e7b7f977 2023-03-23T07:00:20 Roll Chromium from 27821cf1b122 to c83e966b4c7e (630 revisions) https://chromium.googlesource.com/chromium/src.git/+log/27821cf1b122..c83e966b4c7e If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,solti@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/0732a05e76..32e94e55de * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/fb59b3f632..0a6c69640f * buildtools/third_party/libc++/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/af83f5d2fa..e44019bfac * testing: https://chromium.googlesource.com/chromium/src/testing/+log/982c27097c..f132d63e88 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..018d397758 * third_party/fuchsia-sdk/sdk: version:12.20230321.3.1..version:12.20230322.3.1 No update to Clang. Bug: None Tbr: solti@google.com Change-Id: I0f7ad779027607430c445470f74e1bfc05951814 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4364802 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Yuly Novikov 74edb4b4 2023-03-22T18:38:38 Skip PixelLocalStorageTest.Interrupt on iOS Metal Bug: angleproject:7994, chromium:1421437 Change-Id: Ib6a8b316212510f73f56ef9e56c8d2da2fe07cfc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4359704 Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Kramer Ge 888ca8d9 2023-03-21T18:56:56 Bind FBO before timer query on Mali GL driver. glBeginQuery(GL_TIME_ELAPSED/GL_TIMESTAMP) on Mali implementation assumes a complete FrameBuffer. Without it glGetQueryObject will return a meaningless value, causing some applications to misbehave. This workaround caches and binds a default FBO in this case. Bug: chromium:1356053,b/269068358 Change-Id: I756ded948c2c5aada744f9dd428ad77c37a009c6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4359032 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Kramer Ge <fangzhoug@chromium.org>
Alexey Knyazev ad52f12e 2023-03-21T00:00:00 Implement EXT_conservative_depth Added translator frontend and GLSL backend support for gl_FragDepth redeclaration and layout qualifiers. Added mappings to DepthGreater, DepthLess, and DepthUnchanged SPIR-V execution modes. Bug: angleproject:8046 Change-Id: I23f19ff54380741107970a44055ea269eef179f6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4355028 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 11d92052 2023-03-22T10:01:55 Roll vulkan-deps from 469b8c0e07d5 to 379ee8599f0f (10 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/469b8c0e07d5..379ee8599f0f Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/b34f619e1c..14e5a04e70 * spirv-cross: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross.git/+log/d26c233e1c..763dbe14ab * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/4dc3edeb94..90f6a2875f * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/2465552d8b..8b4a4eb257 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,solti@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: solti@google.com Change-Id: Ifd3c665caa7e5781ed1d4cee2cf9ad5814ee1487 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4359025 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 5b87328f 2023-03-22T10:01:30 Roll SwiftShader from 9c9608fa94a9 to 0cc04d07ab24 (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/9c9608fa94a9..0cc04d07ab24 2023-03-21 jif@google.com Add configs/common and configs/linux for LLVM 16 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC angle-team@google.com,solti@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: solti@google.com Use-Permissive-Angle-Pixel-Comparison: True Change-Id: Ic2504aded8e1af00115abec892aa7741cf77fbf0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4359492 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 903d24c1 2023-03-22T07:01:34 Roll Chromium from 23433174ff7f to 27821cf1b122 (589 revisions) https://chromium.googlesource.com/chromium/src.git/+log/23433174ff7f..27821cf1b122 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,solti@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/af6080beca..0732a05e76 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/075950bcd5..fb59b3f632 * buildtools/third_party/libc++/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/9b076b8003..af83f5d2fa * testing: https://chromium.googlesource.com/chromium/src/testing/+log/ff512c1c36..982c27097c * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/5a920a24ca..b5b8912f72 * third_party/android_build_tools/lint: UwgKmRuzPgo_NJFKTlrK_7OSgm2s-sVVb7Uz4jER_soC..E86vFKi4re9HwIfUW9yq_Ig_hc7Vr0lcl-bO3BtPQLYC * third_party/android_build_tools/manifest_merger: lC0-JZAP05FMcCXlQn9Oej4oD6ytlLkFQEnExeLuAWkC.._aoHU11YhUwqKZXVXsn5otnhI-ZVGFT7h1Z9eCcAZM0C * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/34499ffdd4..4189179faf * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..c82a855930 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/7a8daa2f9f..479e1e9055 * third_party/fuchsia-sdk/sdk: version:12.20230320.2.1..version:12.20230321.3.1 * third_party/r8: n_0sb2RjfuLOaX_c1F8vkC5sV5vv8HmWspFtkMqZ3BoC..EGf7RQo3stt-vPTw69TaMGuNtnOx0Dbk1O-MBquwswYC * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/bdb6d43dc1..7a7207a7f2 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/e300797cbd..db6ffdf0ba No update to Clang. Bug: None Tbr: solti@google.com Change-Id: I70df9f940bd6acd5e76bbb8b8bee189f4ea5d8df Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4359021 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Greg Schlomoff a621ea88 2023-03-17T10:21:56 Adding a trace point for texture metrics. Bug: b/236121838 Change-Id: I28e7977f7b5dc6e24cb5a2be10689c223851ba0b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4348737 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Doug Horn <doughorn@google.com> Reviewed-by: Charlie Lao <cclao@google.com>
Cody Northrop ec9595f1 2023-03-21T10:02:00 restricted_trace_perf: Run against default driver On newer Android versions where ANGLE can be the default driver, selecting "native" as the driver will always seek out the system driver instead of the default driver. To allow the platform to select the GLES driver, add a "default" mode that does not use any Android settings for driver selection. To use, pass `--renderer default` Test: restricted_trace_perf.py Bug: b/269645211 Change-Id: Ie9bf64eaa823d9d54301472c1d4e48bf2f5482cd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4358331 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Auto-Submit: Cody Northrop <cnorthrop@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Chris Dalton a491bbe3 2023-03-18T19:05:08 Add PLS utilities for interrupting a rendering pass Adds two more simple commands to ANGLE_shader_pixel_local_storage that allow WebGL and the command buffer to interrupt rendering passes without having to either (1) make expensive queries, or (2) track lots of complex state for validation that they are not currently equipped to track. Bug: chromium:1421437 Change-Id: I80eaef3ae6b0b4bbbecb9cd2268ac90b43675d1c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4355032 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org>
Mark Lobodzinski 23ad4fa2 2023-03-10T11:56:00 Don't hold global surface lock during AcquireNextImage On Android, the global surface lock must be released before calls to vkAcquireNextImageKHR, though GetSurfaceIfValid must remain inside the surface lock. Bug: b/268091451 Test: Mini-game puzzles in 'Fishdom' app, available in play store Change-Id: Ia9c96de52a367b4537a42cee83e2372322fbdfbc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4316610 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Mark Łobodziński <mark@lunarg.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: mohan maiya <m.maiya@samsung.com>
Alexey Knyazev ba845fcf 2023-03-20T00:00:00 Metal: Implement EXT_clip_control * Skipped vertex shader depth correction when clip depth mode is set to GL_ZERO_TO_ONE. * Adjusted front face mode and pre-fragment vertical flip driver uniform based on the clip origin state. * Added more clip control end2end tests. * D3D11: Fixed scissored draws with upper-left clip origin. Fixed: angleproject:8065 Change-Id: Ife82fa2ad39fad463c23ec10b49bff409272ebf2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4356661 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Kyle Piddington <kpiddington@apple.com>
Alexey Knyazev 1e6dd013 2023-03-21T00:00:00 Metal: Support centroid qualifier Fixed: angleproject:8090 Change-Id: I3137599e976bc469709347f423b7e8b71e6ed9f7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4356667 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Kyle Piddington <kpiddington@apple.com>
Scott Violet 53d1a179 2023-03-20T17:17:59 Makes ToposortStructs() return consistent results This patch introduces a step in ToposortStructs() that sorts the nodes by name. Doing this ensures consistent results between calls. Without this, the order depends upon the pointer value, which varies depending upon when called. Ensuring consistent results for the same input is important for other parts of this code that use the string as key. Bug: chromium:1423136 Change-Id: I19f053df5cf86c81b800056e86b742d8c34af7d4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4357255 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Scott Violet <sky@chromium.org>
Alexey Knyazev f5695244 2023-03-21T00:00:00 Fix sample qualifier validation * `smooth sample` is the same as `sample` * `flat sample` is the same as `flat` Bug: angleproject:3589 Change-Id: I8615fa73f4b0cea729b8e09d86f1b8183669de2b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4356666 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll c8c742f6 2023-03-21T10:01:52 Roll vulkan-deps from 35cbe26c4b3a to 469b8c0e07d5 (8 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/35cbe26c4b3a..469b8c0e07d5 Changed dependencies: * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/ae435df4a6..4dc3edeb94 * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/011d7a4ac0..889e6b7223 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/9139876c5b..2465552d8b If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,solti@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: solti@google.com Change-Id: Idcf64b4f9dc1becd7bf10f7a3a33d777b1e64509 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4357858 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 0709b6fd 2023-03-21T10:01:22 Roll SwiftShader from 85772f1891db to 9c9608fa94a9 (7 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/85772f1891db..9c9608fa94a9 2023-03-20 jif@google.com Add LLVM 16 at commit fce3e75e01ba 2023-03-20 jdapena@igalia.com More C++20 fixes 2023-03-20 hwennborg@google.com Add missing #include <exception> for std::terminate 2023-03-20 jdapena@igalia.com GCC: fix build error due to missing template keyword in GCC 12. 2023-03-20 jdapena@igalia.com Another C++20 fix for GCC 2023-03-20 jdapena@igalia.com GCC: fix build error due to deprecated declarations warning 2023-03-20 jif@google.com Add risc-v to marl's Android build files. If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC angle-team@google.com,solti@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: solti@google.com Use-Permissive-Angle-Pixel-Comparison: True Change-Id: I83d6065c851427c3e3d8680a9d7429f45f172124 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4357652 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Gert Wollny 0cb6697a 2023-03-09T10:35:04 Capture/restricted_traces: update documentation With the new context handling the trace files are named differently, and the description how to remove secondary contexts also is out of date. Bug: None Change-Id: Ia8258502ef53f9d90b742eff01f8125d816ca74e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4323658 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
angle-autoroll 1beb6ef8 2023-03-21T07:02:31 Roll Chromium from 528cae6045de to 23433174ff7f (599 revisions) https://chromium.googlesource.com/chromium/src.git/+log/528cae6045de..23433174ff7f If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,solti@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/3d39a1ae5d..af6080beca * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/55bafd8820..9643f2cf13 * buildtools/third_party/libunwind/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/f1f84847ad..29a6dda8c6 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/8d50e19935..ff512c1c36 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..1eea754058 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/249e9a26c1..7a8daa2f9f * third_party/fuchsia-sdk/sdk: version:12.20230319.3.1..version:12.20230320.2.1 * third_party/r8: 3ISiDI_LAgX6Aa_Gn1DSvQJFrAyArwo-GiVbw1FopUQC..n_0sb2RjfuLOaX_c1F8vkC5sV5vv8HmWspFtkMqZ3BoC * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/7e4bf472a6..e300797cbd No update to Clang. Bug: None Tbr: solti@google.com Change-Id: Ie0f94e261020d6fad4764c91eb904fe112ca6ebd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4357856 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Mike Schuchardt d7201a0f 2023-03-20T11:22:22 Tests: Add New Legend of the Condor Heroes trace Test: angle_trace_tests --gtest_filter=TraceTest.new_legend_of_the_condor_heroes Bug: b/274401318 Change-Id: If910e5d3215bfebf8a2779313f709a18a1f58caa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4355351 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Mike Schuchardt <mikes@lunarg.com>
Yuly Novikov bacc066b 2023-03-20T17:01:03 Unskip dEQP-EGL tests dEQP-EGL.functional.image.api.create_image_gles2_android_native_* on Mac Bug: chromium:1347817 Change-Id: Iea7a2a05ec32eec8f86f9d0c02fe9e8a43d1922b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4352891 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Alexey Knyazev e809e7bd 2023-03-13T00:00:00 Reland "Implement EXT_depth_clamp" This is a reland of commit f8c1418319ac2aef4b3101e322005b1d0f73120f Host GPU bugs are observable in iOS Simulator Original change's description: > Implement EXT_depth_clamp > > * Added depthClamp to the RasterizerState > * Added DepthWriteTest end2end tests covering > both clipped and clamped depth writes > > Capture > * Updated serialized rasterizer state > * Updated CaptureMidExecutionSetup > > OpenGL > * Requires GL 3.2 or ARB_depth_clamp > on desktop contexts > * Maps to EXT_depth_clamp on ES > > D3D11 > * Maps to the opposite of > D3D11_RASTERIZER_DESC.DepthClipEnable > * The new tests uncover several edge cases where > a workaround is needed to implement unextended > OpenGL semantics on top of D3D > > Metal > * Maps to the setDepthClipMode command > > Bug: angleproject:8047 > Bug: angleproject:8077 > Change-Id: I1b3448e5b84443e4be18af9bc22d2f8495ac8267 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4347753 > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Bug: angleproject:8047 Bug: angleproject:8077 Change-Id: I8c5f8304276c97c51b2c3382cd2764592ee0c3fe Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4349938 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Jose Dapena Paz 5384667f 2023-03-20T10:23:13 IWYU: missing include for std::atomic in FixedQueue.h Fix build error using libstdc++ due to missing include for usage of std::atomic in FixedQueue.h: ../../third_party/angle/src/common/FixedQueue.h:61:10: error: ‘atomic’ in namespace ‘std’ does not name a template type 61 | std::atomic<size_type> mSize; | ^~~~~~ Bug: chromium:957519 Change-Id: I099a4a8c463149d74cf82ec6eda5e4a872d6e812 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4352888 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jose Dapena Paz ee9a7df0 2023-01-30T18:25:27 IWYU: usage of size_t requires include in texture_utils Bug: chromium:957519 Change-Id: I69a1455c0c1570cffa5964b8a5e856643961e603 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4352889 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 518afe76 2023-03-20T10:01:36 Roll SwiftShader from 7d001b3fac09 to 85772f1891db (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/7d001b3fac09..85772f1891db 2023-03-17 bclayton@google.com Kokoro: Drop bug in commit message requirement If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC angle-team@google.com,yuxinhu@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: yuxinhu@google.com Use-Permissive-Angle-Pixel-Comparison: True Change-Id: Ia9bc3c8e890830ec36b6afe6702032b77b2cadaa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4352908 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 151339b3 2023-03-20T10:01:56 Roll vulkan-deps from 250e3914595d to 35cbe26c4b3a (10 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/250e3914595d..35cbe26c4b3a Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/ef77cf3a92..b34f619e1c * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/9743701ed5..ae435df4a6 * vulkan-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/65ad768d86..fa204df59c * vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/a7bc1fe90f..f196c8d3ca * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/1fe72708f7..9139876c5b If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,yuxinhu@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: yuxinhu@google.com Change-Id: I5200323a3a0b3e17bd350c677b71dbd59a2e11ea Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4352588 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 9c29f84c 2023-03-20T08:15:52 Roll VK-GL-CTS from 20d674342f00 to 9e822059a32e (10 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/20d674342f00..9e822059a32e 2023-03-17 piotr.byszewski@mobica.com Merge vk-gl-cts/opengl-es-cts-3.2.9 into vk-gl-cts/main 2023-03-17 piotr.byszewski@mobica.com Regenerate inl files 2023-03-17 rgarcia@igalia.com Test dynamic smooth lines 2023-03-17 piotr.byszewski@mobica.com Update scripts for vk.xml changes 2023-03-17 rgarcia@igalia.com Unify device creation extension list for custom devices 2023-03-17 cturner@igalia.com Take ownership of H.26{4,5} slice offsets in decode API. 2023-03-17 gaopan24@hisilicon.com Fix framebuffer incomplete in multisample 2023-03-17 jasuarez@igalia.com Check texture cube maps arrays are supported 2023-03-17 oddhack@sonic.net Put local 'scripts' directory at the start of os.path 2023-03-17 piotr.byszewski@mobica.com Merge vk-gl-cts/vulkan-cts-1.3.5 into vk-gl-cts/main If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll Please CC angle-team@google.com,yuxinhu@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: yuxinhu@google.com Change-Id: I164519abe55f1a89af6bb0cdf913792b91b5cdde Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4352587 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 462dcdca 2023-03-20T07:01:34 Roll Chromium from 7a04676dce36 to 528cae6045de (657 revisions) https://chromium.googlesource.com/chromium/src.git/+log/7a04676dce36..528cae6045de If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,yuxinhu@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/2bf4270421..3d39a1ae5d * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/ac6f095ab3..075950bcd5 * buildtools/linux64: git_revision:77014c1590164715fff8f3f3d3c77e9ff01b4d70..git_revision:41fef642de70ecdcaaa26be96d56a0398f95abd4 * buildtools/mac: git_revision:77014c1590164715fff8f3f3d3c77e9ff01b4d70..git_revision:41fef642de70ecdcaaa26be96d56a0398f95abd4 * buildtools/third_party/libc++/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/afb9e77fdf..9b076b8003 * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/de45956e5c..55bafd8820 * buildtools/third_party/libunwind/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/2b438f460b..f1f84847ad * buildtools/win: git_revision:77014c1590164715fff8f3f3d3c77e9ff01b4d70..git_revision:41fef642de70ecdcaaa26be96d56a0398f95abd4 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/545a98d98d..8d50e19935 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..c9f4f650cd * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/3f3e2f789e..249e9a26c1 * third_party/fuchsia-sdk/sdk: version:12.20230316.3.1..version:12.20230319.3.1 * third_party/r8: wqg46lewrSzPeyEPseXIDUvMdMjmf74eLWhGvChH6VEC..3ISiDI_LAgX6Aa_Gn1DSvQJFrAyArwo-GiVbw1FopUQC * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/9bb4e2345e..7e4bf472a6 No update to Clang. Bug: angleproject:4242 Tbr: yuxinhu@google.com Change-Id: I028eaea00bdb949dc05ddee0f3b1a90fd8a6eb7a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4348310 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Mohan Maiya 07074968 2023-03-17T19:13:39 Validate gl[Push,Pop]DebugGroup Bug: angleproject:8089 Test: DebugTestES32.DebugGroup* Change-Id: I3a20822a072cea8f4a8a58445917a4ebb86db9da Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4350852 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuxin Hu 4a77b0f5 2023-03-18T00:16:24 Revert "Implement EXT_depth_clamp" This reverts commit f8c1418319ac2aef4b3101e322005b1d0f73120f. Reason for revert: This change breaks angle_end2end_tests on Metal backend: https://ci.chromium.org/ui/p/chromium/builders/ci/ios-angle-intel/26035/overview Original change's description: > Implement EXT_depth_clamp > > * Added depthClamp to the RasterizerState > * Added DepthWriteTest end2end tests covering > both clipped and clamped depth writes > > Capture > * Updated serialized rasterizer state > * Updated CaptureMidExecutionSetup > > OpenGL > * Requires GL 3.2 or ARB_depth_clamp > on desktop contexts > * Maps to EXT_depth_clamp on ES > > D3D11 > * Maps to the opposite of > D3D11_RASTERIZER_DESC.DepthClipEnable > * The new tests uncover several edge cases where > a workaround is needed to implement unextended > OpenGL semantics on top of D3D > > Metal > * Maps to the setDepthClipMode command > > Bug: angleproject:8047 > Bug: angleproject:8077 > Change-Id: I1b3448e5b84443e4be18af9bc22d2f8495ac8267 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4347753 > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Bug: angleproject:8047 Bug: angleproject:8077 Change-Id: I829add68c006c72b7b4acf03aee3efa8a9a16fac No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4350876 Reviewed-by: Alexis Hétu <sugoi@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Mark Lobodzinski d521ccb3 2023-03-16T15:09:10 Tests: Add Rise Of Empires trace Test: angle_trace_tests --gtest_filter=TraceTest.rise_of_empires bug: b/274049298 Change-Id: I1fc2c177a3901bb9997f532e6d3fa686736eaa94 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4350370 Commit-Queue: Mark Łobodziński <mark@lunarg.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Igor Nazarov 7d1a401b 2023-01-17T18:45:55 Vulkan: Fix freeing not completed Secondary Command Buffers. Problem: - Protected Context flushes its commands to the Protected Primary Command Buffer; - Unprotected Context flushes its commands to the Unprotected Primary Command Buffer; - Context with different "egl::ContextPriority" may flush commands into different Primary Command Buffers. - Secondary Command Buffers from all Contexts end-up in the single "CommandBufferRecycler::mSecondaryCommandBuffersToReset" list; - One of the Contexts submits its Primary Command Buffer, and attaches current "mSecondaryCommandBuffersToReset" list to the "CommandBatch"; - Secondary Command Buffers of other Contexts may be collected and later freed by "SecondaryCommandPool" without submitting/completion corresponding Primary Command Buffers. Fix: - Moving "mSecondaryCommandBuffersToReset" to the new "SecondaryCommandBufferCollector" class. - Separate "SecondaryCommandBufferCollector" instance is stored in the "CommandQueue" for each current Primary Command Buffer. Additionally fixes "asyncCommandQueue" related problem: "releaseCommandBuffersToReset()" may get outdated results if flush is not yet executed in the "asyncCommandQueue" thread. Bug: angleproject:6100 Change-Id: I7df161ac1f999fb34d4eccaebb603c58ecb1ac11 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4334579 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Igor Nazarov 9b6368cc 2023-03-14T14:48:30 Vulkan: Fix freeing Secondary Command Buffers from wrong thread. Problem: - Secondary Command Buffers are freed in the "CommandQueue" class. - This may happen from any Context thread that calls "checkCompletedCommands()" or "finish<*>()" methods. - As the result, one Command Buffer may be freed from one thread, while other Command Buffer from the same "VkCommandPool" is allocated/reset/recorded in the other thread. Vulkan spec demands external "VkCommandPool" synchronization for any modifications (begin/end/reset/free/cmd) on its "VkCommandBuffer"s. Fix: - Added new "rx::vk::SecondaryCommandPool" class that replaces the "rx::vk::CommandPool" wrapper. - This class has "collect()" method for storing "VkCommandBuffer"s. Collected buffers are freed from the correct thread on the next "allocate()" call. This CL only fixes the problem, keeping Secondary Command Buffer memory management as is (allocate/free single buffer without reuse). In the future CLs this behavior may be changed (reuse buffers, reset/free entire pools). Bug: angleproject:6100 Change-Id: If938416c4df4fe55f0cfb418b6759721ac53098b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4334577 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Igor Nazarov 29f80eda 2023-03-15T14:59:26 Vulkan: Hot fix crash when using Invalid VkSemaphore Object. Problem started after the commit: b194c21ad30145ca15153a93425a37a8211df373 Vulkan: Enforce ContextPriority in ShareGroup and with EGLImage Happens only with enabled "asyncCommandQueue" feature: - "RendererVk::submitPriorityDependency()" creates "Vk::Semaphore" object on the stack. - Then submits this Semaphore with "queueSubmitWaitSemaphore()" method. - "vk::Semaphore" passed to the "CommandProcessor"s "enqueueSubmitOneOffCommands()" method where stored in the "CommandProcessorTask". - Stack "vk::Semaphore" object garbage collected by the "RendererVk" and then destroyed. - "CommandProcessorTask" now points to the invalid memory. This CL changes usage of "vk::Semaphore" and "vk::Fence" pointers in the "CommandProcessor.h" classes to Vulkan Handles. This will make API consistent, fix this problem, and avoid similar problems in the future. Issue discovered while testing ANGLE as a system driver on S906B with "asyncCommandQueue" enabled. Several system processes crashed with VVL: VUID-VkSubmitInfo-pWaitSemaphores-parameter(ERROR / SPEC):msgNum: -1328048864 - Validation Error: [ VUID-VkSubmitInfo-pWaitSemaphores-parameter ] Object 0: handle = 0xb4000078c1aab430, type = VK_OBJECT_TYPE_INSTANCE; | MessageID = 0xb0d79520 | Invalid VkSemaphore Object 0xb400007831740b98. The Vulkan spec states: If waitSemaphoreCount is not 0, pWaitSemaphores must be a valid pointer to an array of waitSemaphoreCount valid VkSemaphore handles (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-VkSubmitInfo-pWaitSemaphores-parameter) Bug: angleproject:8039 Change-Id: I8818288b9783b5c5a7970bf82ec721452ae57471 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4339758 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Igor Nazarov 12b3d52d 2023-03-10T17:02:55 Prevent bugs in "FastVector" class. FastVector does not call destructors when resizing down and constructors when resizing up. This may cause reuse of previous values after resizing up and prevent releasing resource in destructors. Above problems only relevant for non trivially constructible/destructible types. For performance reasons (chromium:1417087) this CL disables using trivially destructible types at all and adds special resizing methods for non trivially constructible types. Almost all uses of FastVector was already using trivially destructible types. Except "angle::FixedVector" used in "rx::vk::SubpassVector<>". However, "angle::FixedVector" is unnecessarily calls "clear()" in the destructor. This CL removed "clear()" and made the destructor trivial. All non trivial constructor cases are limited to "angle::spirv::BoxedUint32<>" used in "angle::spirv::FastVectorHelper<>". No problems found because of the possibility to reuse previous values. All "resize(count)" methods replaced with special versions. Therefore, this CL does not fix actual bugs, but rather prevents incorrect use in the future. Bug: angleproject:8021 Bug: chromium:1417087 Change-Id: Id65d75575f2f582450b1cc45dc6b1f2bf3bc5289 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4328286 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Yuxin Hu 6ea6b360 2023-03-15T13:49:02 Fix allowed_keywords dEQP test failures Bug: b/272756897 Bug: angleproject:7592 Change-Id: I12f498f4ef0a1fa6da7d45345a4cb9e208bd9f03 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4343518 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Roman Lavrov 50dec716 2023-03-17T11:39:15 Linux skips RegisterContextCompatibilityTests altogether. It is already effectively disabled by skipping all configs but that still makes egl* calls leading to sporadic process corruption due to loading desktop drivers under xvfb. Note that it currently fails to register tests on all platforms as RegisterContextCompatibilityTests is called after TestSuite instantiation which leads to tests not being registered at all. +some cleanups Bug: angleproject:8083 Change-Id: I075dc67b73d627548efb3f80186ec408481e2707 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4348334 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Alexey Knyazev f8c14183 2023-03-13T00:00:00 Implement EXT_depth_clamp * Added depthClamp to the RasterizerState * Added DepthWriteTest end2end tests covering both clipped and clamped depth writes Capture * Updated serialized rasterizer state * Updated CaptureMidExecutionSetup OpenGL * Requires GL 3.2 or ARB_depth_clamp on desktop contexts * Maps to EXT_depth_clamp on ES D3D11 * Maps to the opposite of D3D11_RASTERIZER_DESC.DepthClipEnable * The new tests uncover several edge cases where a workaround is needed to implement unextended OpenGL semantics on top of D3D Metal * Maps to the setDepthClipMode command Bug: angleproject:8047 Bug: angleproject:8077 Change-Id: I1b3448e5b84443e4be18af9bc22d2f8495ac8267 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4347753 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Igor Nazarov 21a3367a 2023-03-17T00:56:18 Tests: Reduce load of computation heavy tests for Swiftshader. Affected tests are very core heavy and may load all CPU cores. LUCI BOT is running multiple tests in parallel. Having such heavy tests increases containment for CPU cores. As result, some tests may take a lot more time to complete and even hit timeout (currently 60 sec). Typical time to complete all tests on the LUCI BOT: With this tests disabled: 295 sec enabled: 475 sec (+180 sec or +61%) Time to complete all tests on the local machine: Normal tests: Tests completed in 173.040861 seconds Tests completed in 184.974704 seconds Tests completed in 171.654014 seconds Reduced load: Tests completed in 127.693891 seconds Tests completed in 125.536354 seconds Tests completed in 128.236671 seconds Disabled tests: Tests completed in 124.614823 seconds Tests completed in 119.456267 seconds Tests completed in 118.890189 seconds This CL instead of disabling, reduces the load for Swiftshader. Bug: chromium:1424783 Bug: angleproject:8039 Change-Id: I44ed6a6c8322033b1d2c3e9e52a06fe1bb74864c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4345872 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Charlie Lao <cclao@google.com>
angle-autoroll 97324457 2023-03-17T10:01:41 Roll SwiftShader from fa0e42592666 to 7d001b3fac09 (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/fa0e42592666..7d001b3fac09 2023-03-17 bclayton@google.com Fix SPIRV_SHADER_ENABLE_DBG If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC angle-team@google.com,yuxinhu@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: yuxinhu@google.com Use-Permissive-Angle-Pixel-Comparison: True Change-Id: I2eaeec57fd45978098fc4e2534021282af97ad08 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4347668 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 72c18fe6 2023-03-17T10:01:46 Roll vulkan-deps from 88a74be445b7 to 250e3914595d (6 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/88a74be445b7..250e3914595d Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/cd2082e058..ef77cf3a92 * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/22407d7804..011d7a4ac0 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/9c87e01a4f..1fe72708f7 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,yuxinhu@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: yuxinhu@google.com Change-Id: Ia0124ebfacf4e6c058f605c8e11a4bd1381872b0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4348871 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll aecfcefc 2023-03-17T07:01:30 Roll Chromium from 0abde2e3b92a to 7a04676dce36 (552 revisions) https://chromium.googlesource.com/chromium/src.git/+log/0abde2e3b92a..7a04676dce36 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,yuxinhu@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/a3aa92a8ab..2bf4270421 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/6f568a60b0..ac6f095ab3 * buildtools/linux64: git_revision:fe330c0ae1ec29db30b6f830e50771a335e071fb..git_revision:77014c1590164715fff8f3f3d3c77e9ff01b4d70 * buildtools/mac: git_revision:fe330c0ae1ec29db30b6f830e50771a335e071fb..git_revision:77014c1590164715fff8f3f3d3c77e9ff01b4d70 * buildtools/third_party/libc++/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/124c7ee3fc..afb9e77fdf * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/10804337f2..de45956e5c * buildtools/third_party/libunwind/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/6289a2147a..2b438f460b * buildtools/win: git_revision:fe330c0ae1ec29db30b6f830e50771a335e071fb..git_revision:77014c1590164715fff8f3f3d3c77e9ff01b4d70 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/fb89ba8b56..545a98d98d * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..4ca6b4649b * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/3408652be0..3f3e2f789e * third_party/fuchsia-sdk/sdk: version:12.20230316.0.1..version:12.20230316.3.1 * third_party/r8: BSk2ZOJgKl80RawP4WlbE938iWkJnsZmJ-6RzW6u2IsC..wqg46lewrSzPeyEPseXIDUvMdMjmf74eLWhGvChH6VEC * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/998617f817..bdb6d43dc1 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/605d18db44..9bb4e2345e * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/7424e47c9d..b87bb2fac8 Clang version changed llvmorg-17-init-3874-g93a2fecc:llvmorg-17-init-4759-g547e3456 Details: https://chromium.googlesource.com/chromium/src/tools/clang/+/998617f817d50216e4e31c6d90692555573f717d..bdb6d43dc1e6a1d0500ee96bdb46a4e2d06c1352/scripts/update.py Bug: None Tbr: yuxinhu@google.com Change-Id: I3f3c58fba86d97ae3c6215c036dd65c32a794f4e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4348868 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Yiwei Zhang 12aefbc0 2023-03-16T04:43:38 Vulkan: add MESA Virtio-GPU Venus driver feature conditions Bug: b/267576238 Change-Id: I5f0c479b23cd3465ca7560966bb4d98edf4c40df Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4342819 Auto-Submit: Yiwei Zhang <zzyiwei@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 108c0cef 2023-03-16T10:01:18 Roll SwiftShader from 6c1ab2e36382 to fa0e42592666 (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/6c1ab2e36382..fa0e42592666 2023-03-15 bclayton@google.com Update Marl to 9c689c9a8 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC angle-team@google.com,yuxinhu@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: yuxinhu@google.com Use-Permissive-Angle-Pixel-Comparison: True Change-Id: Ida20b3c2c8cd3170817fa7d3d07fdc57d7ac21a5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4345110 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll d11aa33b 2023-03-16T10:01:27 Roll vulkan-deps from 46e5f8237dea to 88a74be445b7 (8 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/46e5f8237dea..88a74be445b7 Changed dependencies: * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/25f6c0cea5..9743701ed5 * vulkan-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/d732b2de30..65ad768d86 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/19a30b57ef..9c87e01a4f If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,yuxinhu@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: yuxinhu@google.com Change-Id: I9565c1fef747b736e85781206e1a763bac5b1985 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4344970 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 80bdfe83 2023-03-16T09:00:41 Roll Chromium from d828200ebd12 to 0abde2e3b92a (587 revisions) https://chromium.googlesource.com/chromium/src.git/+log/d828200ebd12..0abde2e3b92a If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,yuxinhu@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/846fbc899d..a3aa92a8ab * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/df1b9ef691..6f568a60b0 * buildtools/third_party/libc++/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/24a1797460..124c7ee3fc * buildtools/third_party/libunwind/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/d101cb5933..6289a2147a * testing: https://chromium.googlesource.com/chromium/src/testing/+log/76015e6d5f..fb89ba8b56 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/c25f4dc9c2..5a920a24ca * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/6791475d69..34499ffdd4 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..5bda427934 * third_party/fuchsia-sdk/sdk: version:12.20230314.3.1..version:12.20230316.0.1 * third_party/r8: snzp0LrrAYYZZjXt-s8-UCas9JJRk9qFtiDHIVIr64EC..BSk2ZOJgKl80RawP4WlbE938iWkJnsZmJ-6RzW6u2IsC * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/874d7aec21..998617f817 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/af2f30372c..605d18db44 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/10fbacb0bd..7424e47c9d No update to Clang. Bug: None Tbr: yuxinhu@google.com Change-Id: I7b84e246badbc0460af20f9fc520eaf8d2e7318b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4344969 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Charlie Lao f4e71351 2023-03-14T14:55:04 Vulkan: Switch acquireAndUpdate to use Buddy pool Based on survey of all app traces we have, it is common that we end up with BufferVk::acquireAndUpdate even though the buffer was created with STATIC usage. This is mostly due to glBufferSubData call on the STATIC usage buffers and on ARM we most likely end up with acquireAndUpdate. Similarly, we also getting into ghostMappedBuffer and mapRangeImpl with STATIC usage buffers, even though with less app traces. Since the usage pattern usually repeats, using generic allocation algorithm has performance penalty. This CL moves these usage to buddy algorithm to ensure alloc/free are fast. This CL and previous CL crrev.com/c/4327290, reduces efootball_pes-2021 frame time from 4.2 ms to 2.87 ms, achieves parity with native GLES on pixel 7 pro. Bug: b/271915956 Change-Id: I56e0195181c77a3130513c74ec8a5075b2b29ea4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4321870 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Charlie Lao 4c157b4b 2023-03-14T18:45:38 Vulkan: Switch staging buffer to Buddy algorithm Staging buffer should be considered as dynamic and uses buddy allocator. Bug: b/271915956 Change-Id: I7cbe3765fdae120582034b24376560043e007e67 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4327290 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Austin Eng a8401f03 2023-03-15T09:29:14 Mark the context as needing flush in TextureGL set*Image operations Bug: chromium:1181068, chromium:1418291 Change-Id: I70b158dcec54edf20b44fcc6169d1fc1d86a0de7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4341190 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Austin Eng <enga@chromium.org>
angle-autoroll 6fb7883d 2023-03-15T10:01:16 Roll SwiftShader from 64e470f7b9b0 to 6c1ab2e36382 (3 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/64e470f7b9b0..6c1ab2e36382 2023-03-14 jif@google.com Update LLVM 16 scripts 2023-03-14 jif@google.com Copy verbatim the scripts for updating LLVM 10. 2023-03-14 jif@google.com Update URL for gerrit authentication in README.md If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC angle-team@google.com,yuxinhu@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: yuxinhu@google.com Use-Permissive-Angle-Pixel-Comparison: True Change-Id: Ice2935a7b7a0b975a34b018066b2cc8d6bc7dd5e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4339617 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 6c38e596 2023-03-15T10:01:04 Roll vulkan-deps from 6269f2d7cf86 to 46e5f8237dea (7 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/6269f2d7cf86..46e5f8237dea Changed dependencies: * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/dc32470ff1..22407d7804 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/20e85d7f2b..19a30b57ef If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,yuxinhu@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: yuxinhu@google.com Change-Id: I96fa0eff624ad0dfb8df779052bf648434ca8388 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4339148 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 756d592d 2023-03-15T08:35:48 Roll Chromium from ce6a8c2bfc28 to d828200ebd12 (596 revisions) https://chromium.googlesource.com/chromium/src.git/+log/ce6a8c2bfc28..d828200ebd12 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,yuxinhu@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/e516c1e812..846fbc899d * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/728a49e56b..df1b9ef691 * buildtools/third_party/libc++/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/2c26bce6b0..24a1797460 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/a1bbf92c59..76015e6d5f * third_party/android_build_tools/lint: _XhNBPsSXTzuwyrRGz4aM29jhQdbk2f-KPyVyhmYHwAC..UwgKmRuzPgo_NJFKTlrK_7OSgm2s-sVVb7Uz4jER_soC * third_party/android_build_tools/manifest_merger: -MEtSi1dPRGwJdR_aJbVAJ75_Kb8QMDJXBXrRIQlO70C..lC0-JZAP05FMcCXlQn9Oej4oD6ytlLkFQEnExeLuAWkC * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..f471ada82a * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/d9e2d47985..3408652be0 * third_party/fuchsia-sdk/sdk: version:12.20230312.3.1..version:12.20230314.3.1 * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/6d3f6aa0f8..5edb52d430 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/72336fa596..874d7aec21 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/3ff9be3816..af2f30372c No update to Clang. Bug: None Tbr: yuxinhu@google.com Change-Id: Icf6e39da4318fa2e5de434696517fcecb06d7d8d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4339145 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Charlie Lao 4982b903 2023-03-14T19:56:51 Revert "Vulkan: Remove inUseAndRespecifiedWithoutData from BufferVk" This reverts commit 755bfe471d23bc2aac5e78493537801dc5f90792. Reason for revert: Causing flaky on pixel 6 angleproject:8082 Original change's description: > Vulkan: Remove inUseAndRespecifiedWithoutData from BufferVk > > BufferVk::setDataWithMemoryType() has one optimization that it tries to > detect glBufferData(target, size, nullptr, usage) and if existing > storage is busy, it immediately reallocate storage. With the > optimization in previous CL (crrev.com/c/4317488), the storage reuse > logic should detect if we can reuse the storage or not. If the size > matches the existing storage's size, then there is no reason we can not > reuse existing storage. Later on when glBufferSubData or > glMapBufferRange is called, there are optimization in those calls that > will detect if we should reallocate storage or not as the further > optimization. This CL removes this check and replies on the other > optimization to handle the storage reallocate (shadowing) if necessary. > This simplifies code and also potentially avoids storage reallocation in > certain usage cases. > > This CL also fixes a test bug in > BufferDataTestES3.BufferDataWithNullFollowedByMap that was calling > glMapBufferRange with MAP_UNSYNCHRONIZED_BIT but incorrectly expecting > GL to do synchronization. > > Bug: b/271915956 > Change-Id: I7901687b3e3e262e77699f14eb8602d8a57eda3e > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4322048 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Charlie Lao <cclao@google.com> > Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Bug: b/271915956 Change-Id: Ie5716b609ab96b96afbe5927f20dfcf2bf5d4db6 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4338263 Auto-Submit: Charlie Lao <cclao@google.com> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Geoff Lang a8720455 2023-03-10T13:48:03 D3D11: Add logic to disassociate EGL image storages. The TextureStorage classes for External and EGLImages were missing the logic to disassociate from images. This lead to the images continuing to hold references to deleted storages. Bug: chromium:1415330 Change-Id: I8303f6751d87a9b0a52993c7d4e9509b086b93f3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4328347 Reviewed-by: Peng Huang <penghuang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Austin Eng 9c167fd2 2023-03-14T10:37:39 Mark the context as needing flush in TextureGL copy/blit operations Bug: chromium:1181068, chromium:1418291 Change-Id: Ibce7d27ba33e7ed3a05ea0226ef60aa31682286a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4337957 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Chris Dalton 513ca723 2023-03-13T14:30:20 Delete GL_LOAD_OP_DISABLE_ANGLE from PLS This load op makes the PLS spec and WebGL implementations unnecessarily complex. Bug: chromium:1421437 Change-Id: Iab02a8b02083899c6cc345ecb25b88c5871611c9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4335148 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Chris Dalton <chris@rive.app> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 5103c3e6 2023-03-14T10:01:04 Roll vulkan-deps from d17e7dad8e87 to 6269f2d7cf86 (22 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/d17e7dad8e87..6269f2d7cf86 Changed dependencies: * spirv-cross: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross.git/+log/7512345f61..d26c233e1c * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/b029037aaa..25f6c0cea5 * vulkan-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/a3dd2655a3..d732b2de30 * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/eb13094254..dc32470ff1 * vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/5bcfa1605e..a7bc1fe90f * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/38341564f5..20e85d7f2b If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,yuxinhu@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: yuxinhu@google.com Change-Id: Icc8a7895a958050543c4b913f4dca8d797824f2c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4334900 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll e1935fdd 2023-03-14T10:01:16 Roll SwiftShader from 3764eb85917a to 64e470f7b9b0 (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/3764eb85917a..64e470f7b9b0 2023-03-13 dvet@google.com Fix out-of-bounds operand access in image write. If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC angle-team@google.com,yuxinhu@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: yuxinhu@google.com Use-Permissive-Angle-Pixel-Comparison: True Change-Id: Ie20e3177b03c4517e542d0a3143ea0102c7b4a7a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4337718 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 4abfa52e 2023-03-14T07:03:49 Roll Chromium from 2bcf4b3eb3f2 to ce6a8c2bfc28 (1220 revisions) https://chromium.googlesource.com/chromium/src.git/+log/2bcf4b3eb3f2..ce6a8c2bfc28 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,yuxinhu@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/01965a3637..e516c1e812 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/1e2d30f5e4..728a49e56b * buildtools/third_party/libc++/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/ae04d7cb7d..2c26bce6b0 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/fc45f92fc4..a1bbf92c59 * third_party/android_build_tools: https://chromium.googlesource.com/chromium/src/third_party/android_build_tools/+log/a102d977b6..fa16e60e96 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..cd2103b7d4 * third_party/colorama/src: https://chromium.googlesource.com/external/colorama.git/+log/799604a104..3de9f013df * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/a9a7eecf37..d9e2d47985 * third_party/fuchsia-sdk/sdk: version:12.20230308.3.1..version:12.20230312.3.1 * third_party/r8: QcJGU2P6jjudE2LELurmeujLPwQhvk7OD5AWGlLIzrYC..snzp0LrrAYYZZjXt-s8-UCas9JJRk9qFtiDHIVIr64EC * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/2b181989bf..72336fa596 * tools/luci-go: git_revision:e260f2e6d3531f534378dd1017e140374ba8df48..git_revision:320bf3ed60cd4d24549d0ea9ee3a94394f2665ce * tools/luci-go: git_revision:e260f2e6d3531f534378dd1017e140374ba8df48..git_revision:320bf3ed60cd4d24549d0ea9ee3a94394f2665ce * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/70c814239b..3ff9be3816 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/6bc78c3c28..10fbacb0bd No update to Clang. Bug: angleproject:6430,angleproject:7079 Tbr: yuxinhu@google.com Change-Id: Iee4e61b1b12cb074cf13ef091046cbca2325fada Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4336744 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Alexey Knyazev b26b01a2 2023-03-09T00:00:00 Implement EXT_render_snorm Bug: angleproject:8048 Change-Id: Id01beaea9565f8ab374c732fef70ec0ac0d8743e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4334303 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Alexey Knyazev bf5e9dbc 2023-03-09T00:00:00 GL: Reset clip origin before scissored clears Clip origin must not affect scissor box but some drivers flip it for clear operations. Added capture/replay support for ClipControl. Bug: angleproject:8066 Change-Id: I9292cb4945b49c56c80da4c5813e89df3453b6b6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4328267 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Charlie Lao 755bfe47 2023-03-08T14:31:33 Vulkan: Remove inUseAndRespecifiedWithoutData from BufferVk BufferVk::setDataWithMemoryType() has one optimization that it tries to detect glBufferData(target, size, nullptr, usage) and if existing storage is busy, it immediately reallocate storage. With the optimization in previous CL (crrev.com/c/4317488), the storage reuse logic should detect if we can reuse the storage or not. If the size matches the existing storage's size, then there is no reason we can not reuse existing storage. Later on when glBufferSubData or glMapBufferRange is called, there are optimization in those calls that will detect if we should reallocate storage or not as the further optimization. This CL removes this check and replies on the other optimization to handle the storage reallocate (shadowing) if necessary. This simplifies code and also potentially avoids storage reallocation in certain usage cases. This CL also fixes a test bug in BufferDataTestES3.BufferDataWithNullFollowedByMap that was calling glMapBufferRange with MAP_UNSYNCHRONIZED_BIT but incorrectly expecting GL to do synchronization. Bug: b/271915956 Change-Id: I7901687b3e3e262e77699f14eb8602d8a57eda3e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4322048 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Alexey Knyazev c3ffae10 2023-03-10T00:00:00 Suppress failing capture/replay test DiscardFramebufferEXTTest.ClearDepthThenDrawWithoutDepthTestThenDiscard fails after DifferentStencilMasksTest.DrawWithSameEffectiveMask Bug: angleproject:8079 Change-Id: I3b1304f465b140a34110b4f3fe95d6e59f0db8e6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4331496 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Charlie Lao d6a25bfa 2023-03-07T15:06:10 Vulkan: Optimize glBufferData call to improve storage reuse If app calls glBufferData with certain size, then calls it again with size 0, and then call it again with same old size again, we should try to reuse the existing storage. When size is zero, with the existing logic, we never free the storage. When glBufferData is called third time with the same size as the first glBufferData call, we expect to reuse the existing storage. But because of the storage reuse logic is comparing buffer's new size to the old size (which is 0), we missed the opportunity to reuse the existing storage. This CL update the reuse logic so that it checks the new size against storage's size (instead of OpenGLES buffer's size) and if we will end up with same sized allocation and same pool and memory type, then we reuse instead of reallocate. This reduces efootball_pes_2021 frame time from 4.670 ms to 4.277 ms on pixel 7 pro. Bug: b/271915956 Change-Id: I6f91e3e85b104eca215b28e7d0bea413ecc4401c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4317488 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Igor Nazarov 98735ee0 2023-03-10T16:37:12 Revert "Fixed bugs in "FastVector" class." This reverts commit 94ff37bb2110f838b92c5bae22a657982ccb48ff. Alternative fix will be in the follow up CL. Bug: angleproject:8021 Bug: chromium:1417087 Change-Id: Ib34cd14b6cf36f474cc0ae09605ef1490aed82f8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4328285 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 006d826d 2023-03-11T16:27:35 Roll VK-GL-CTS from 4ac540bc62cf to 20d674342f00 (12 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/4ac540bc62cf..20d674342f00 2023-03-11 Andy.Candet@imgtec.com Check for GL_OES_texture_float_linear in texture border clamp tests 2023-03-11 rgarcia@igalia.com Test actual non-uniform indices in descriptor indexing tests 2023-03-11 gleese@broadcom.com Simplify shader declaration in descriptor_indexing.* 2023-03-10 piotr.byszewski@mobica.com Merge vk-gl-cts/vulkansc-cts-1.0.1 into vk-gl-cts/main 2023-03-10 piotr.byszewski@mobica.com Merge vk-gl-cts/opengl-cts-4.6.3 into vk-gl-cts/main 2023-03-10 aleksander.dudek@intel.com Add tests for reading barycentrics CHit after AHit 2023-03-10 piotr.byszewski@mobica.com Prepare tests for SPIRV update 2023-03-10 michal.jakubek@mobica.com Fix of build error on Fedora 37 and g++-12.2.1 2023-03-10 alexander.galazin@imgtec.com Update README 2023-03-10 alexander.galazin@imgtec.com Rename 'sanity check' for more inclusive language 2023-03-10 piotr.byszewski@mobica.com Merge vk-gl-cts/vulkan-cts-1.3.5 into vk-gl-cts/main 2023-03-09 rgarcia@igalia.com Test creating accel structures using buffers with no bound memory If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll Please CC angle-team@google.com,romanl@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: romanl@google.com Change-Id: I41459031deef2dcb80eee3003018ee7c0a8648f5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4331187 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Charlie Lao 67ad3ddc 2023-03-06T16:44:36 Vulkan: Relax size limit for dynamicBuffer to pick buddy algorithm If glBufferData's usage is one of the dynamic usage, app may keep calling glBufferData frequently, which means get into suballocation code frequently. There are two suballocation algorithms today: buddy algorithm (faster) and generic (slower). Right now the decision of which algorithm (i.e, which pool) to use is purely based on size or memory type. This CL also utilize usage information so that dynamic usage will pick buddy algorithm with bigger size threshold. mSmallBufferPool is removed and replaced with the BufferPoolPointerArray that gets picked based on allocation algorithm. This CL reduces average frame time of efootball_pes_2021 from 7.518 ms to 4.670 ms on pixel 7 Pro. Bug: b/271915956 Change-Id: I1c2f270ac49f56e6f405501d20691cfbab49e7eb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4313685 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Igor Nazarov 4edccb15 2023-01-17T16:17:35 Vulkan: Fixed Context Priority mixing problems. Problem details: - Each "egl::ContextPriority" may have separate "VkQueue". - "CommandQueue" only has two "PrimaryCommandBuffer"s for normal and protected content. - Commands from multiple "ContextVk" may be written to a single "PrimaryCommandBuffer". - That "PrimaryCommandBuffer" may be randomly submitted to different "VkQueue"s. - As the result - Commands from a single "ContextVk" may be submitted to multiple "VkQueue"s. Fix details: - Created separate "PrimaryCommandBuffer" (lazily allocated) for each "egl::ContextPriority". - Commands with different priorities can't be mixed in a single "PrimaryCommandBuffer". - Therefore - Commands from a single "ContextVk" will be submitted to a single "VkQueue". - No difference for applications that use single "egl::ContextPriority" for all Contexts. Notes: Another problem when resource is used in multiple Contexts with different "VkQueue" (Priority). One solution is to use Semaphores. Another is to enfore same Priority for all Contexts in a Share Group and Default Priority when using EGLImage. This solution was submitted in the previous CL: Vulkan: Enforce ContextPriority in ShareGroup and with EGLImage Below test fails on G996B without this CL. Bug: angleproject:8039 Test: angle_end2end_tests --gtest_filter=MultithreadingTestES3.ContextPriorityMixing* Change-Id: Iaa57826ca55956944f922813fcfac42f1a764dbb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4194183 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Igor Nazarov cd901cdd 2023-03-03T17:04:27 Vulkan: Add and use rx::vk::ReleasableResource class. This is a follow up for CL: Vulkan: Enforce ContextPriority in ShareGroup and with EGLImage Bug: angleproject:8039 Change-Id: I9e654557d4a1ce9aee4b04f1211eeb6ae3f0e482 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4306721 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Igor Nazarov 233c128b 2023-01-17T19:21:58 Vulkan: Fix UBs when deleted attachment is used in a RenderPass. Problem: - "RenderbufferVk"/"TextureVk" with "mOwnsImage == false" used as RenderPass attachment. - "RenderbufferVk"/"TextureVk" deleted. - Owning resource is destroyed ("EGLImage" and all siblings / "EGLSurface"). - Crash (UB) may happen when ending RenderPass, flushing or executing commands. Fix adds tracking of "vk::ImageSourceID" value in "vk::RenderPassAttachment" - IDs of objects, that originally provide "vk::ImageHelper" images. This is necessary, because when using EGLImage, there may be multiple "TextureVk" objects with same "vk::ImageHelper", and need to call "finalizeImageLayout()" for the correct attachment. Bug: angleproject:8032 Test: angle_end2end_tests --gtest_filter=ImageTest*DeletedWhileInUse* Test: angle_end2end_tests --gtest_filter=PbufferTest.UseAsFramebufferColorThenDestroy* Change-Id: I50fdd9d6b6a9677adad2262373303b46de1dee4c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4296014 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Igor Nazarov eb1cb31d 2023-02-21T14:09:49 Vulkan: Remove code left after introduce of "vk::SharedGarbage" This logic calls "flushImpl()" each time some "ImageVk" is orphaned, regardless if it used in the RenderPass or not. Such undesired flushes negatively affect CPU and GPU performance. This flush was added in the very old commit: e755a5374f7eb24da579fdc9862b01e3c3c04721 Vulkan: Add a new garbage type gated by fences. Flush was necessary to grab a proper Fence. However, after commit: f10bf6bf55a78669bff7bb5cdd3ae0954a87661e Vulkan: Implement multi-threaded GL. Fence was replaced by "vk::SharedGarbage" and "vk::SharedResourceUse". But "flushImpl()" was not removed along with misleading comment, that it is necessary "to make sure the fence has been submitted". This CL removes this leftover code. Any regressions should be fixed in a better way. Bug: angleproject:2464 Change-Id: I640bb2b9519c15a47adf30e0de845a3125ceab42 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4272834 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Igor Nazarov a1bf828d 2023-02-13T21:30:38 Vulkan: Rename "RendererVk::waitFor*ToBeSubmitted()" methods. Following "RendererVk" methods are a little bit confusing: - submitCommands() - hasResourceUseSubmitted() - hasQueueSerialSubmitted() - waitForResourceUseToBeSubmitted() - waitForQueueSerialToBeSubmitted() Because after "RendererVk::submitCommands(..., submitQueueSerial)" call "hasQueueSerialSubmitted(submitQueueSerial)" will always return "true". And it is not clear why need to call "waitForResourceUseToBeSubmitted()" method, if it already "Submitted". It is even more: it is technically illegal to call "waitFor*ToBeSubmitted()" if "has*Submitted" is "false". This refactoring suggests adding "ToDevice" to the methods names: - waitForResourceUseToBeSubmittedToDevice() - waitForQueueSerialToBeSubmittedToDevice() So that: - "Submitted" - will mean to the RendererVk (and maybe Device) - "SubmittedToDevice" - definitely submitted to the Device. Bug: b/267348918 Change-Id: I12323be3ddc0cbcff4667e52a37089b187b63fe8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4245423 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Igor Nazarov b194c21a 2023-02-24T15:41:00 Vulkan: Enforce ContextPriority in ShareGroup and with EGLImage This CL enforces single Context Priority for all Contexts in a Share Group. This is necessary until Vulkan Semaphores will be used to automatically synchronize Resource access between Contexts. Contexts Priority updated when new Contexts is added to the Share Group. New Priority will be the highest among all ever existed Contexts (except if Priority is locked). When Contexts Priority changes, all flushed commands are submitted to the old VkQueue and semaphore is inserted into the new VkQueue. Currently opened RenderPasses and commands will not be flushed. When EGLImage is used in a Context, all Contexts in that Share Group locked (forever) to the Default Priority (Medium). This is done to simplify the implementation and because of the current limitations (lack of mutex protection across Context Share Groups). Notes: - the EGL_CONTEXT_PRIORITY_LEVEL_IMG will report initial priority. - below tests fail on G996B without this CL. Bug: angleproject:8039 Test: angle_end2end_tests --gtest_filter=MultithreadingTestES3.RenderThenSampleDifferentContextPriority* Test: angle_end2end_tests --gtest_filter=MultithreadingTestES3.RenderThenSampleInNewContextWithDifferentPriority* Test: angle_end2end_tests --gtest_filter=MultithreadingTestES3.RenderThenSampleDifferentContextPriorityUsingEGLImage* Change-Id: Ia6a2f0084d39168a58fd7ec33edc90ece9cead05 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4289750 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Shahbaz Youssefi cd0c1d22 2023-02-21T14:59:43 Roll VMA forward Bug: angleproject:7930 Change-Id: I17cdacf87e2b9677adea7bb1103affde9b1a61ef Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4323896 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Mike Schuchardt 4cbe8548 2023-02-28T21:12:17 Expose shader extensions based on ESSL version Previously, all suported extensions were always exposed in the preprocessor. This broke some games which relied on ESSL1-only extension macros not being defined in ESSL3 shaders. This change adds min/max version information to list of extensions so the preprocessor can conditionally expose extensions based on the shader language version, both via the extension name macros and the #extension directive. Test: angle_unittests --gtest_filter="VersionTest.*" Test: angle_end2end_tests --gtest_filter="*ESSL*ExtensionMacros*" Test: Run com.gameloft.android.ANMP.GloftGGHM on Pixel 6 Bug: b/268091452 Change-Id: I2332a6cb964f54c47d23e2ef6b24e99a0b5c8202 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4304907 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Mike Schuchardt <mikes@lunarg.com>
Chris Dalton b468e4dd 2023-03-08T14:21:47 Add back "non-robust" PLS queries Chrome doesn't have a codegen template for queries that model the "robust" signature, so support both types. Specify that the robust variants are only supported if ANGLE_robust_client_memory is supported, so Chrome and other implementations don't have to support them. Bug: chromium:1421437 Change-Id: Icc69b69ce9ce0a2cfad0dbeed1f3b29bcfa92d20 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4321867 Commit-Queue: Chris Dalton <chris@rive.app> Reviewed-by: Geoff Lang <geofflang@chromium.org>