src/tests

Branch


Log

Author Commit Date CI Message
Geoff Lang 20a72581 2025-10-09T00:25:48 Skip the shader translator entirely with passthough shaders. Reflect attribute and uniform information from the linked program in the backend before the frontend links so that the link process can mostly continue as usual. BUG: angleproject:398857482 Change-Id: I88bcf28118deea278610d62cbb789d8c4097fb5a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7022354 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Xinyu Fang eaad4345 2025-09-25T11:41:47 Fix issues from mixing regular/MSRTT multisampled renderbuffers Mixing resolved and unresolved attachments results in inconsistent sample states within the FBO, which violates the completeness requirements. In ANGLE, the framebuffer completeness logic checks RenderToTextureSamples only if the first attachment uses MSRTT mode. However, it fails to account for cases where the first attachment uses regular (non-MSRTT) mode. As a result, when the same framebuffer is later used with MultisampledRenderToTexture, the sample count mismatch between attachments may go undetected or misinterpreted, leading to incorrect completeness status. Bug: angleproject:447833937 Change-Id: I2d2743d7567b052b8df418447f287e6ac8af7b9a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6992818 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Sunny Sachanandani 99c47333 2025-10-15T13:21:19 [metal] Fix data race in commands scheduled sync The recently added commands scheduled sync object adds a callback to the command queue to be invoked when the scheduled handler for the committed command buffer runs. This callback could be called after the sync object is destoyed, so make sure it doesn't reference the original sync object, but only a thread-safe ref-counted state object. Bug: chromium:444702048 Change-Id: Ifaef54eae5dfdb0b6eb6b767120947e66a6a6964 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7046662 Reviewed-by: Geoff Lang <geofflang@chromium.org> Auto-Submit: Sunny Sachanandani <sunnyps@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Xin Yuan 665785f6 2025-10-11T14:11:26 Vulkan: Load the image when damage region is set Ensure image loads when buffer age > 0 and damage region is set, regardless of first eglQuerySurface call Bug: angleproject:450967247 Change-Id: I5cae32fc3c3e8c0b26e9d8a6eb6c1365d0d12bf9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7031241 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Xin Yuan <xin.yuan@arm.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Shahbaz Youssefi 8469b249 2025-10-10T14:12:20 Translator: Reject infinite loop during parse Bug: angleproject:349994211 Change-Id: I38964414b2992319e5f80f18a417210f86d806a6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7029684 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi caf63365 2025-10-15T13:10:37 Translator: Avoid unreachable in presence of shader error When the gl_ClipDistance/gl_CullDistance index is tracked for future validation, the parser expected the index type to be valid, but it may not be if there's a compile error. Bug: angleproject:349994211 Change-Id: I94f39bec34a8ae68ef7d6c3cce256026808c0bc9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7042014 Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao fc46d336 2025-10-14T14:52:20 Add RobustBufferAccessBehaviorTest test Bug: angleproject:451733089 Change-Id: If96dc9360ac952ad83f1edd9c5779c35c84eec02 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7043022 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Sunny Sachanandani 774bca93 2025-10-08T18:41:13 [metal] Add commands scheduled sync object We need a thread-safe way to wait for ANGLE Metal command buffers to be scheduled for IOSurface synchronization with DrDC + Graphite on Mac. The existing eglWaitUntilWorkScheduledANGLE API isn't thread-safe as it reaches into ContextMtl innards to flush the command buffer. This CL adds the EGL_ANGLE_metal_commands_scheduled_sync extension which introduces a EGL_SYNC_METAL_COMMANDS_SCHEDULED_ANGLE sync object type. This sync object is signaled when pending Metal commands are scheduled to run on the GPU (MTLCommandBufferStatusScheduled). These sync objects are thread-safe - eglClientWaitSync() can be called on any thread even without a current context which is needed for DrDC + Graphite on Mac. Bug: chromium:444702048 Change-Id: Ia13b352385a6fefaa026526ef74f6e596a6a6964 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7027996 Auto-Submit: Sunny Sachanandani <sunnyps@chromium.org> Reviewed-by: Quyen Le <lehoangquyen@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org>
Cody Northrop 104f0e68 2025-10-13T21:20:39 Tests: Add Umamusume: Pretty Derby trace Test: angle_trace_tests --gtest_filter=*umamusume_pretty_derby Bug: b/451770108 Change-Id: I6704c89a0c65f8eb233e54784ef57259b4e0d5da Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7039199 Auto-Submit: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Tim Van Patten 8ed16003 2025-10-09T09:43:37 tests: Fix ShadingRateEXTTest.FragmentShadingRatePrimitive The test ShadingRateEXTTest.FragmentShadingRatePrimitive has several errors: 1. The uniform 'u_color' is not set to any value. 2. The test incorrectly assumes GL_SHADING_RATE_1X1_PIXELS_EXT results in the GLSL built-in 'gl_ShadingRateEXT' having a non-zero value. 3. The test attempts to validate the GL_SHADING_RATE_2X2_PIXELS_EXT behavior, but never calls glShadingRateEXT() with this value. 4. kSimplePrimitiveShadingRateGS needs to set gl_PrimitiveShadingRateEXT each iteration of the loop, rather than just once, due to the EmitVertex() call which resets all output variables to undefined values. Once these issues are fixed, the test passes. Bug: b/450024489 Bug: angleproject:444980424 Test: ShadingRateEXTTest.FragmentShadingRatePrimitive Change-Id: If3b9379d4aac97bb106cc0b04550068cd0783a94 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7027991 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Roberto Rodriguez 62fe67a7 2025-10-09T11:12:47 Update Texture2DBaseMaxTestES3.Fuzz545ImmutableTexRenderFeedback Make test updates to align more with conformance test immutable-tex-render-feedback.html: - Change several data types from unsigned to signed - Some test iterations are skipped entirely - Signed types align more closely with the gl operations in which they are used as arguments. - Update MIPS constant from 2 to 3 - Avoid modifying loop counter _level_prime_max directly Add Roberto Rodriguez to CONTRIBUTORS list. Bug: angleproject:450534531 Change-Id: I3389b64fe16bd8e59f45c228363d7f7ed089a757 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7027992 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Shahbaz Youssefi eec95a6b 2025-10-02T17:02:14 Translator: Remove NV_shader_framebuffer_fetch This extension is never exposed by ANGLE. AFAICT, it was removed in https://chromium-review.googlesource.com/c/angle/angle/+/688099 and never added again. The current implementation is incorrect even if the extension is exposed; we assume gl_LastFragColorARM is the name, while this extension uses gl_LastFragColor. This change removes mentions of this extension instead of trying to fix it. Bug: angleproject:349994211 Change-Id: I2391a225db95d73579fd71cf261360973e5935f7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7004390 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 074eec2f 2025-10-02T15:31:19 Translator: remove angle_BaseVertex/Instance from built-ins These aren't built-ins, they are just used for emulation. Instead of listing them in the built-in variables, they are now created as uniforms during emulation. This change also gives gl_BaseVertex/Instance their own qualifiers so they aren't considered uniforms. The emulation pass is also optimized to do fewer passes. Bug: angleproject:349994211 Change-Id: I44fd345fd4a2dc4a001eb294952a984ae710d606 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7004388 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Cody Northrop 17977bb0 2025-10-08T20:12:13 Tests: Add Lands of Jail trace Test: angle_trace_tests --gtest_filter=*lands_of_jail Bug: b/450394708 Change-Id: I8a87eca1a48b0a96e491be294d4c45ce125dcdee Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7021859 Auto-Submit: Cody Northrop <cnorthrop@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 37b48896 2025-10-08T08:51:44 Tests: Skip black_beacon on Pixel 6 Non-deterministic rendering results. Bug: b/450251026 Change-Id: I8bf192d19e2be460816dcdc0a54eac56b8f291da Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7022171 Commit-Queue: Cody Northrop <cnorthrop@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
angle-autoroll c2010eb1 2025-10-06T10:13:40 Roll VK-GL-CTS from 7e7a6001a3f4 to db48c34bebaf (14 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/7e7a6001a3f4..db48c34bebaf Update GN with CMakeLists.txt changes in: https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+/d1cc04f42d9d6de78bc68abe0ce3d98754c2ac3a https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+/4c03f49146f25e18d6b1f9d983cc531f7683c87a 2025-10-03 javed@igalia.com Add format reinterpretation tests 2025-10-03 rgarcia@igalia.com Update Vulkan CTS Linux build instructions 2025-10-03 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-es-cts-3.2.12 into vk-gl-cts/main 2025-10-03 scerveau@igalia.com Video: Use TCU_CHECK_AND_THROW instead of DE_ASSERT 2025-10-03 shihwang@amd.com Add mesh shader tests 2025-10-03 apinheiro@igalia.com ARB_texture_filter_minmax depends on OpenGL 3.3 not 4.5 2025-10-03 niklas.ulvinge@arm.com Improve coverage for textureQueryLod 2025-10-03 david.rosca@amd.com Add R16_SINT format for quantization delta map 2025-10-03 ziga@lunarg.com Verify supported host image copy layouts with unified image layouts 2025-10-03 ziga@lunarg.com Test vkCmdBindDescriptors2 with dynamic offsets 2025-10-03 ziga@lunarg.com Tests for dedicated device memory overallocation with buffers 2025-10-03 rgarcia@igalia.com Add GPL tests in which some set layouts are always null 2025-10-03 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.4 into vk-gl-cts/main 2025-09-29 lorenzo@khronosgroup.org Merge remote-tracking branch 'vk-gl-cts/dev/VK_KHR_copy_memory_indirect2' into 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,ynovikov@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://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: I8706e17b59da232b4da1d5da75f78955fb3ce526 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7010736 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Solti Ho <solti@google.com>
Cody Northrop 867b9b74 2025-10-07T16:23:01 Tests: Add Match Masters trace Test: angle_trace_tests --gtest_filter=*match_masters Bug: b/450081414 Change-Id: I90546fc4dea0e7257001fbf9a68087355b8ee39b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7019035 Reviewed-by: Mark Łobodziński <mark@lunarg.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Matthew Denton fecb8ead 2025-09-04T12:27:48 WGSL: implement inc/dec with generated functions Implements inc/dec with generated WGSL functions that take pointers and perform a post/pre inc/decrement. This works with scalars, vectors, and matrices, both float and int. WGSL supports inc/dec only on integer types, and only as statements (not as expressions). https://www.w3.org/TR/WGSL/#increment-decrement. The regular ++ and -- are used in this specific case. The WGSL outputter records usage of increment/decrement and produces a call to the correct function. A new class is introduced to keep the record of which types need generated inc/dec WGSL functions. Bug: angleproject:42267100 Change-Id: I0e70760ba5bd00f978e216f958216ae3137a146e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6935269 Commit-Queue: Matthew Denton <mpdenton@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Mark Lobodzinski f8c0eae1 2025-09-30T14:06:55 Tests: Add Identity V trace Test: angle_trace_tests --gtest_filter=*identity_v Bug: b/448431054 Change-Id: Ia39f775dbc22b8c8d7df1a9c49b31f1dd47d6a02 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7018081 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop b53f61e8 2025-10-06T15:48:42 Skia Gold: Limit frame count on SwiftShader ANGLE traces have the ability to specify key frames for use in golden image comparison. Since software rendering is typically slow, we want to limit the impact of key frames on our CI time. Test: restricted_trace_gold_tests.py --key-frame-limit=10 Bug: b/449677825 Change-Id: Iddc26d76672b4cac36730eb1a4172f2037ccd3ef Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7014647 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Matthew Denton 6c4c0055 2025-10-01T15:13:14 WGSL: fix do-while when body has continue If the body of the do while had a "continue" it would skip over the evaluation of the loop condition and potentially loop forever. Change to use the special WGSL "continuing" statement, which goes at the end of a loop body and always executes, even if there is an earlier "continue". Bug: angleproject:42267100 Change-Id: I4ac73e6abcb12e0ff395b83dc5666ac1870724e9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7003772 Reviewed-by: Liza Burakova <liza@chromium.org> Commit-Queue: Matthew Denton <mpdenton@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi d9fa255a 2025-10-02T11:58:06 Translator: Add numerous missing gl_PerVertex validations Bug: angleproject:349994211 Change-Id: Ie4a602dd026a2dab95c9d77e8841e76967fa7f3d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7002885 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jisun Lee fc98b3f6 2025-09-30T19:40:58 Add test to verify the direct YUV sampling case This is a follow-up test to the commit below. https://chromium-review.googlesource.com/c/angle/angle/+/6797965 The test verifies that the yuv image and image view are properly initialized in a program using __samplerExternal2DY2YEXT sampler. Bug: angleproject:386749841 Test: angle_end2end_tests --gtest_filter=ImageTestES3.* Change-Id: Ia0142dfb9135df6684526bf88f8c8b257416be10 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7001563 Commit-Queue: mohan maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Cody Northrop 5c58505b 2025-10-02T16:22:19 Tests: Update expectations for GalaxyS24Exynos Test: angle_end2end_tests Bug: b/410630704 Change-Id: I18c1a9d9c5dfbb4b9238ecac5a081bde5c070540 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7007381 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi 5e724354 2025-10-03T15:53:45 Fix UniformBufferTest.MultipleSizesSmallBeforeBig on AMD/Linux Bug: angleproject:42266818 Change-Id: I4ccb02ea1d21b5d8d8861837c3e40a3b0fa75610 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7008549 Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi f1110548 2025-10-03T10:00:59 Suppress failing test on iOS Bug: angleproject:448658625 Change-Id: I35b5c41055136d2f8bffdf9e48dd6480fd248c90 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7002518 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Shahbaz Youssefi 538129c6 2025-10-01T15:08:53 Remove b/ from end2end expectations Bug: None Change-Id: Ibfa3ca48dc5084ffd548cc1ff331bf29592a817e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7004585 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi ec4d8946 2025-09-29T15:32:40 A fistful of tricky GLSL tests Bug: angleproject:349994211 Bug: angleproject:448658624 Bug: angleproject:448658625 Bug: angleproject:448658631 Bug: angleproject:448675904 Change-Id: I8ad8727b7c8f7889a1249dfc7382c7e0318c5496 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6996988 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Shahbaz Youssefi 1f3b482f 2025-10-02T12:05:44 Translator: Fix UNREACHABLE() on gl_DepthRange compile error Bug: angleproject:349994211 Change-Id: I1918c8390de3fa4a5c7542b044e91e8d5e944b3a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7002886 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Yuxin Hu 4daab276 2025-10-01T16:20:53 Fix test supplying 2D texture data to 3D texture Bug: chromium:446633198 Change-Id: I4ee9cee6788123e5e2d5527e92433c5df61aa063 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7004941 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Shahbaz Youssefi 7994bf76 2025-09-29T11:55:00 Vulkan: Avoid double-setting the fragment shading rate Because there were two handlers for fragment shading rate, one for the QCOM extension and one for EXT, every time the render pass started, it would set the fragment shading rate to 1x1 twice. Bug: angleproject:420310117 Change-Id: I905c504c7a7b80b5e7173e5d6a7cabe6f271e7a1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6995362 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: mohan maiya <m.maiya@samsung.com> Reviewed-by: Charlie Lao <cclao@google.com>
Matthew Denton 4cff5289 2025-08-12T19:31:36 WGSL: append TSymbolUniqueId to overloaded functions dEQP-GLES2.functional.shaders.functions.overloading.* passes after this. So that overloaded functions have unique names in GLSL, append their TSymbol's unique id to the name of the emitted WGSL function. Bug: angleproject:42267100 Change-Id: I25026e71f9e27cb323014cd4102f914226c27d02 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6843927 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Matthew Denton <mpdenton@chromium.org>
Cody Northrop b2acbf90 2025-09-30T16:49:40 Tests: Add Raising a Goblin trace This trace was contributed by Samsung. Test: angle_trace_tests --gtest_filter=*raising_a_goblin Bug: b/448458599, b/448468885 Change-Id: I36909d44ccf817ae54b80968b75136c2478b38f1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7001560 Reviewed-by: Mark Łobodziński <mark@lunarg.com> Commit-Queue: Mark Łobodziński <mark@lunarg.com> Auto-Submit: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi 789693f0 2025-09-30T14:30:59 Translator: Fail compilation if built-in redeclared after qualified If a built-in is qualified then redeclared like so: invariant gl_FragDepth; out float gl_FragDepth; the translator would have to remove the previous qualification statement and apply its effect to the redeclared variable directly. While this is possible, it has always been broken (i.e. there are no users), and is not really useful to support, since the application could have done the following instead: invariant out float gl_FragDepth; The spec does not explicitly call this out as invalid, but this change generates a compile error for the above scenario anyway, as supporting it can get unnecessarily intrusive. Bug: angleproject:349994211 Change-Id: I9ddb181c8808f50aeed5b327a95b3df829206822 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6999640 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi a38f60ea 2025-09-30T13:40:44 Translator: Fail compilation if main() is only prototype Bug: chromium:448166385 Change-Id: Ia6b69839e35f3e0dcdf3e6e918397d3e2fd83fa2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7000630 Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Rachael Newitt c4e942d6 2025-09-25T02:47:45 Tidy up some README.chromium files in Angle. Backfills the Update Mechanism field for dependencies and cleans up some of the other fields which are out of date. Bug: chromium:379934539 Change-Id: I9a952e905ce00c379c4d593dd67b7e0fc6f1794e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6981101 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Dan Glastonbury e12bb29c 2025-08-01T15:34:26 Recompute vertex capacity when resuming transform feedback. Extract vertex capacity computation into recomputeVertexCapacity() and call it from both begin() and resume() to handle cases where the backing buffer size changes while transform feedback is paused. Add a new WebGL specific test to TransformFeedback to test the expected behavior when making the backing buffer smaller via glBufferData. Bug: angleproject:437706201 Change-Id: I3ac8e1e983ab868e34c1bdac249ce17a40e274f0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6830709 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com>
Mark Lobodzinski 81cda669 2025-09-29T15:16:54 Tests: Add Knives Out trace Test: angle_trace_tests --gtest_filter=*knives_out Bug: b/448170020 Change-Id: I9a24ea1ae36b870a127a670db5000dd8db1668dc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6997769 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi e5b33850 2025-09-26T14:59:20 Translator: Fail earlier if main() is not present. The IR assumes that main() is available on successful parse. Additionally, in preparation for IR removing a check that the AST root is set up, a compile failure to that effect is turned into an assertion. The AST generated before IR is logically only used for validation purposes, so the compiler cannot rely on it to generate an error. Bug: angleproject:349994211 Change-Id: I5d4501b52fed8214213a4ae1dada923decee9a8b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6991529 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Cody Northrop 1f723b35 2025-09-26T09:40:45 Tests: Add Puzzle & Dragons trace Test: angle_trace_tests --gtest_filter=*puzzle_and_dragons Bug: b/447599643, b/448110252 Change-Id: Ib7c167e776f5b3a64a3932b565f2984a0c6ac915 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6989949 Reviewed-by: Mark Łobodziński <mark@lunarg.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi f3405af0 2025-09-25T13:45:08 Translator: Fix gl_in redeclaration This was seemingly untested, and had multiple issues: * GLSL generation would output `gl_in gl_PerVertex { ... } gl_in;` * SPIR-V generation would redeclare `gl_in` despite one already existing. * If sized after declaration, the redeclared `gl_in` was referencing a different variable than the resized one. Bug: angleproject:42264111 Bug: angleproject:349994211 Bug: angleproject:447556589 Change-Id: Id63912b68625bafcc64197807b1c8a86e6f952b5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6985323 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Chris Dalton f95cbef4 2025-09-07T17:50:37 Reland "Add a "noncoherent" layout qualifier to PLS" This is a reland of commit ef9c5ce43110f4f8ba56124bdee927944ce3ddd1 with an invalid assert removed. Original change's description: > Add a "noncoherent" layout qualifier to PLS > > Raster ordering can be expensive. If an app knows the geometry in a draw > does not overlap, it can mark the PLS planes as noncoherent and opt for > using barriers instead. > > Bug: angleproject:40096838 > Change-Id: I2d686c2e64f51940face186637a9fcadcc251bef > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6923300 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Kenneth Russell <kbr@chromium.org> > Commit-Queue: Chris Dalton <chris@rive.app> Bug: angleproject:40096838 Change-Id: I55077a973063427dfb0d510c87e75ec86ce8bb43 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6991929 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Shahbaz Youssefi 35fade1e 2025-09-29T11:45:11 Suppress failing tests Bug: angleproject:444980424 Bug: angleproject:40096874 Change-Id: I7f835f40fb685fb7122e921db8e047f3789c37f6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6995361 Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Shahbaz Youssefi 549e9ee0 2025-09-26T18:15:26 Capture/Replay: Re-enable passing tests: Bug: angleproject:404418769 Change-Id: I4216a6206ec3d96a75ddd5177995ee26d539d73e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6990630 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Tim Van Patten 7a7681cc 2025-09-23T16:36:43 tests: Require GL_EXT_fragment_shading_rate_primitive Shaders can only reference the built-in gl_PrimitiveShadingRateEXT if the extension GL_EXT_fragment_shading_rate_primitive is supported. However, the test ShadingRateEXTTest.FragmentShadingRateBlend uses a shader that references the built-in without checking if it's available first. Skip the test ShadingRateEXTTest.FragmentShadingRateBlend if the extension GL_EXT_fragment_shading_rate_primitive is not available. Bug: b/446958061 Test: angle_end2end_tests --gtest_filter=ShadingRateEXTTest.* Change-Id: I11d7086a30db704c560c7446b4b7d997bb54b578 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6976660 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Tingwei Guo 94777428 2025-08-08T10:36:22 Shading rate should be {1,1} when enabled PER_SAMPLE According to spec, if FETCH_PER_SAMPLE_ARM is enabled, the fragment shading rate is set to {1,1}. Bug: angleproject:437957110 Change-Id: I3ea6958f1aaec5f13923f62001906c7c6c71e09e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6839957 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Tingwei Guo <tingwei.guo@arm.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Mark Lobodzinski 1ca9e7fb 2025-09-25T15:23:48 Tests: Add Harry Potter Magic Awakened trace Test: angle_trace_tests --gtest_filter=*harry_potter_magic_awakened Bug: b/441547450 Change-Id: Ie804ef3dc8c6d6d17f041dadab0f4fb58a27d867 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6986843 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Liza Burakova 69745720 2025-09-23T11:16:21 [WebGPU] Implement texture copy from cpu reads. This CL implements a slow path to copying from a texture that reads data from the CPU. This path is taken when the src and destination formats differ. Bug: angleproject:438268609 Change-Id: I5a81fbed5bbac68c48537d8c7a2fcc487c31e76e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6847147 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Matthew Denton <mpdenton@chromium.org> Auto-Submit: Liza Burakova <liza@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Amirali Abdolrashidi 15a0f3d6 2025-09-24T11:37:36 Unskip KHR-GLESEXT fragment shading rate tests * Unskipped the fragment shading rate tests that no longer fail. Bug: b/436389014 Change-Id: Id0ad01cff8aca6227e7b768d5952818079f58257 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6981087 Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Amirali Abdolrashidi <abdolrashidi@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Tim Van Patten 043b07e7 2025-09-22T11:08:08 tests: Skip LogEnabledFeatures on system EGL Skip the test EGLPrintFeaturesVulkanExtensionsInfoTest.LogEnabledFeatures when testing the system EGL, because not all platforms expose ANGLE-specific extensions. Bug: b/409384875 Test: angle_end2end_tests \ --gtest_filter=EGLPrintFeaturesVulkanExtensionsInfoTest.LogEnabledFeatures* Change-Id: Id1b602b7d177b109da5cfc7c4082ad044c97475e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6973139 Reviewed-by: Solti Ho <solti@google.com> Auto-Submit: Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Geoff Lang 3d8f1d82 2025-09-24T09:48:06 Manual roll Roll VK-GL-CTS from 7f30dc62428c to c67cffddd65a (18 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/7f30dc62428c..c67cffddd65a 2025-09-19 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-cts-4.6.6 into vk-gl-cts/main 2025-09-19 ziga@lunarg.com Add MRTSS tests with AHB 2025-09-19 rgarcia@igalia.com Test DGC IES with null pSetLayoutsInfo 2025-09-19 rgarcia@igalia.com Check timeline semaphore submit info is properly ignored 2025-09-19 marcin.zajac@cognizant.com Fix various validation errors 2025-09-19 ziga@lunarg.com Enable shader objects extension in coop matrix tests if available 2025-09-19 ewerness@nvidia.com Make ray query tests comply with VU 06353 2025-09-19 lionel.g.landwerlin@intel.com Fix mismatching pipeline creation flags in pipeline binary tests 2025-09-19 michal.jakubek@mobica.com Update white list: VUID-vkCmdDispatch-SampledType-04472 2025-09-19 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.3 into vk-gl-cts/vulkan-cts-1.4.4 2025-09-17 lorenzo@khronosgroup.org Allow Vulkan CTS 1.4.4.0 2025-09-12 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-cts-4.6.6 into vk-gl-cts/main 2025-09-12 javed@igalia.com Add tests for helper invocation 2025-09-12 mateusz.bahyrycz@cognizant.com Fix validation errors in ray query and ray tracing tests 2025-09-12 marcin.zajac@cognizant.com Fix validation errors in ycbcr tests 2025-09-12 ziga@lunarg.com Test buffer device address with OpAccessChain offset 2025-09-12 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-es-cts-3.2.12 into vk-gl-cts/main 2025-09-12 lorenzo@khronosgroup.org Remove \r (CR) characters from generated files 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,geofflang@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://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Change-Id: Ib4d4cd99e034e680f4f77ac5a2b72ceb1fc778b1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6979304 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Xin Yuan b4d1333d 2025-07-24T10:28:25 Fix the issues when blitting within same resources Per GLES spec,when the attachments in src and dst framebuffers are identical, angle should generate GL_INVALID_OPERATION. But different mipmap levels of a texture, different layers of a 3D texture or 2D array texture, and different faces of a cube map texture do not constitute identical buffers, these are valid operations. Bug: angleproject:433816259 Change-Id: Ie6d34819dfbc2faa4af22ec370e59c1ed4521bcb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6780168 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Auto-Submit: Xin Yuan <xin.yuan@arm.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Yuxin Hu df433920 2025-09-23T11:16:44 Add instructions when apps do not have access to /sdcard Bug: None Change-Id: I41bcf8de82f03e1a4dbeae8cb1aefcfe6fa88474 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6976652 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Mohan Maiya 8c263b84 2025-09-23T08:09:56 Update end2end expectations file A few pipeline cache related tests were removed recently, remove them from the end2end expectations file as well. Bug: angleproject:386749841 Change-Id: I8cb607e84a3463248a666abc8c4523ff782e50ca Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6976425 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Mark Lobodzinski 02b53738 2025-09-08T08:55:23 Trace/Replay: Fix context grouping issues In tracing Harry Potter Magic Awakened, issues related to context grouping were found affecting shader and program state. While these objects are shared among all contexts, their state is not. This led to race conditions in object lifetimes as well as incorrect states for operations dependent on stader/program state. Test: angle_trace_tests --gtest_filter=*harry_potter_magic_awakened Bug: b/445208963 Change-Id: I8dbb22f72c917103f947cd34d088c4db0cd39731 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6950247 Commit-Queue: Mark Łobodziński <mark@lunarg.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Cody Northrop 369e4e00 2025-09-19T15:34:40 Tests: Add trace batch for 2025-09-19 These traces were contributed by Samsung. Traces in the batch include: - cashman_casino - dc_dark_legion - jackpot_party - lightning_link Test: angle_trace_tests Bug: b/446235047, b/446234214, b/446235287, b/446235073 Bug: b/446064595, b/42264359 Change-Id: I1afd78bcfa9254a90890f9d8630463d93ba3d155 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6969917 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Charlie Lao 45521eea 2025-09-17T15:57:04 Fix DrawWithMismatchedComponentCountLocationSpecified test bug The test has a bug that enabling the wrong vertex attribute. Instead of using hard coded attribute index (1), use colorLocation instead. Bug: angleproject:42264298 Bug: b/439073246 Change-Id: I3ae652e0ea6abe0392e6698c01af2f1c255cba26 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6962956 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Shahbaz Youssefi a44693f6 2025-09-17T14:50:37 Vulkan: Fix SPIR-V gen for invariant structs Bug: angleproject:349994211 Change-Id: I7db05d9a6232a577a65f7a337cfd1636bce0c53b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6961859 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop 3c588044 2025-09-17T22:44:36 Tests: Add trace batch for 2025-09-17 These traces were contributed by Samsung. Traces in this batch include: - match_factory - paper_io2 Test: angle_trace_tests Bug: b/445816053, b/445816060 Change-Id: Id75e9ca06cd3beafc0794b4c2cf134e22ee5318a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6961131 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Brian Sheedy 44db20f2 2025-09-17T15:57:09 Revert "Add a "noncoherent" layout qualifier to PLS" This reverts commit ef9c5ce43110f4f8ba56124bdee927944ce3ddd1. Reason for revert: Causes issues on Apple silicon crbug.com/445727125 Original change's description: > Add a "noncoherent" layout qualifier to PLS > > Raster ordering can be expensive. If an app knows the geometry in a draw > does not overlap, it can mark the PLS planes as noncoherent and opt for > using barriers instead. > > Bug: angleproject:40096838 > Change-Id: I2d686c2e64f51940face186637a9fcadcc251bef > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6923300 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Kenneth Russell <kbr@chromium.org> > Commit-Queue: Chris Dalton <chris@rive.app> Bug: angleproject:40096838 No-Presubmit: true No-Tree-Checks: true No-Try: true Change-Id: Ibc24bed27cec406b6e4ffa9aaa8fe3a2110b58ba Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6962955 Reviewed-by: Kenneth Russell <kbr@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
Geoff Lang 0cc9b7be 2025-09-03T11:33:37 Support more YUV formats in CopyTextureCHROMIUM Add support for formats in GL_ANGLE_yuv_internal_format as source textures to glCopyTextureCHROMIUM. These formats are common AHardwareBuffer formats and Chrome uses them as copy texture sources when decoding video. Bug: chromium:405308165 Change-Id: Ic817cce83b676ee9a517bee4fac6ef94a174961f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6908295 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Aurora Zhang f8c8264a 2025-09-17T10:01:22 Support RGBX format with GL_RGBA when using glTexSubImage2D Add an additional combination support with GL_RGBA in glTexSubImage2D for RGBX format. Add an end2end test. Bug: angleproject:444335354 Change-Id: I96fc9d3543fc58c9f666bf149f78cf9049758a32 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6938945 Reviewed-by: Charlie Lao <cclao@google.com> Auto-Submit: Aurora Zhang <Aurora.Zhang@arm.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Panfeng Hou c8af6941 2025-09-16T14:51:55 Vulkan: Enable FragmentShadingRateEXT CTS fix patch was merged, enable per draw and per primitive VRS. Bug: angleproject:397255625 Change-Id: I681a52d9d28572153ff868cfbfc71657f26e3b21 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6953541 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Panfeng Hou <panfeng.hou@arm.com>
Cody Northrop 13ab9ed5 2025-09-16T08:08:46 Tests: Fix slotomania trace name Previous name had a typo in it: - slotmania -> slotomania Test: angle_trace_tests --gtest_filter=*slotomania Bug: b/445241470 Change-Id: Ie1c7f99ddf683dce7c93b394d53a4c5b90f57158 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6954868 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Mark Łobodziński <mark@lunarg.com> Auto-Submit: Cody Northrop <cnorthrop@google.com>
Chris Dalton ef9c5ce4 2025-09-07T17:50:37 Add a "noncoherent" layout qualifier to PLS Raster ordering can be expensive. If an app knows the geometry in a draw does not overlap, it can mark the PLS planes as noncoherent and opt for using barriers instead. Bug: angleproject:40096838 Change-Id: I2d686c2e64f51940face186637a9fcadcc251bef Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6923300 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Chris Dalton <chris@rive.app>
Roberto Rodriguez 16771259 2025-09-12T11:10:18 Update main() prototype in shader if main() has been replaced. If the main() function definition has been wrapped/replaced in a shader and a main() function prototype is also present, the prototype needs to be replaced. Otherwise it will continue to reference the replaced main() which can cause issues with shader translation steps. Bug: angleproject:444653099 Change-Id: Ie6ce85cac89e026876a1b6e25cd294f1d8a536c4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6944807 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com>
Mark Lobodzinski cf04616b 2025-09-11T12:16:54 Trace/Replay: Make SetupReplayContext(main) last in setup The SetupReplayContext function for the main context was always executed first in the main setup replay function -- move it to last to minimize issues where Frame1 is expecting specific shader state from the main context. Test: angle_trace_tests --gtest_filter=*harry_potter_magic_awakened Bug: b/445208963 Change-Id: Ia48760e704465150617ffd33d419195723a51285 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6950246 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 90a12ea4 2025-09-15T23:29:55 Tests: Add Lineage2M trace This trace was contributed by Samsung. Test: angle_trace_tests --gtest_filter=*lineage_2m Bug: b/445241477, b/445419190 Change-Id: Ie9971a95ccf373e0dfb2701e0f316ff987a1b967 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6953461 Auto-Submit: Cody Northrop <cnorthrop@google.com> Reviewed-by: Mark Łobodziński <mark@lunarg.com> Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Shahbaz Youssefi f0370a41 2025-09-09T19:44:57 Vulkan: Use the GENERAL layout if VK_KHR_unified_image_layouts This lets ANGLE simplify synchronization by generally being able to use memory barriers instead of listing image barriers separately. Although the more specific access masks from VK_KHR_synchronization2 is possibly necessary for some hardware to work optimally (VK_ACCESS_2_SHADER_SAMPLED_READ_BIT in particular). It also lets ANGLE optimize a very specific scenario. Take an image used in the following scenario: 1. Copy to image in a transfer operation 2. Sample from image in the fragment shader of render pass 1 3. Sample from image in the vertex shader of shader pass 2 When GENERAL is not used, there's a layout transition between steps 1 and 2, changing the layout from TRANSFER_DST to SHADER_READ_ONLY_OPTIMAL (with dst stage == fragment shader). Later, at step 3, we need to make sure the vertex shader at least waits for this layout transition to finish... a dependency which is not expressible in Vulkan: * There cannot be a dependency to step 1, because the layout transition is not necessarily done * There is no stage mask that signifies the end of a layout transition. Without GENERAL, ANGLE has no choice but to issue a fragment->vertex dependency before step 3, serializing render pass 2's vertex pass with render pass 1's fragment pass on tilers. When using the GENERAL layout instead, step 3 can issue a transfer->vertex memory barrier, including using a VkEvent, parallelizing the two render passes. The above optimization is possible after this change, but not yet implemented. Bug: angleproject:422982681 Change-Id: Ieaae6f92b8b7d1e9c80c810a759c64b1e81d2dc1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6936485 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Shahbaz Youssefi 98915e44 2025-09-12T14:15:05 Vulkan: Fix blit src missing mip Bug: angleproject:433816259 Bug: angleproject:40644750 Change-Id: I50261279224dea8e37beff388207b927399d099a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6944327 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Charlie Lao <cclao@google.com>
Cody Northrop e7b9bb3d 2025-09-15T19:12:37 Tests: Add trace batch for 2025-09-15 These traces were contributed by Samsung. Traces in this batch include: - slotmania - spider_fighter_3 Test: angle_trace_tests Bug: b/445240493, b/445241470 Change-Id: Iea862c88317f0fc793d6a1aa249399b538c0613e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6953240 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Igor Nazarov 3760c722 2025-09-09T10:50:15 FrameCapture: Add compare_trace_screenshots.py fuzz_ab command Also add `compare_with_fuzz_factors()` and `get_common_files()` helper functions to avoid code duplication. Bug: b/294882956 Change-Id: Ibc12df0ec033db502930e8a7ea3b7be8b17a79b3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6932073 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Mohan Maiya b5e73d90 2025-09-12T12:43:17 Vulkan: Enhance EGLPrintEGLinfoTest Add tests that log features and vulkan extensions Bug: angleproject:386749841 Change-Id: I212aca3015292ed2bd5cd08216878a4bc56db0a8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6944908 Commit-Queue: mohan maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Cody Northrop ab6a82e0 2025-09-12T15:57:43 Tests: Add trace batch for 2025-09-12 These traces were contributed by Samsung. Traces in this batch include: - cash_frenzy_casino_slots - dark_war_survival - qblock_wood_block_puzzle_game - yalla_ludo Test: angle_trace_tests Bug: b/444735013, b/444735404, b/444737091, b/444736902 Change-Id: I81ecadfa77cf80d090c1d04785d01ff2eb43b03b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6944911 Reviewed-by: Mark Łobodziński <mark@lunarg.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Igor Nazarov dce03998 2025-09-09T15:38:25 FrameCapture: Add discard_zero_diff_png argument ... into the "compare_trace_screenshots.py". Bug: b/294882956 Change-Id: I639e842d36c5f0b5233ad8f7855e9381743078be Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6932072 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Igor Nazarov 238eaf1d 2025-09-09T15:14:02 FrameCapture: Fix ignoring compare_trace_screenshots.py --log Bug: b/294882956 Change-Id: I1e281b058c2f09f0dca3ce76648e385a3b443f0a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6932071 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 1025f0a9 2025-09-11T17:11:43 Tests: Add trace batch for 2025-09-11 These traces were contributed by Samsung. Traces in this batch include: - archero_2 - bubble_shooter_relaxing - hole_io - my_talking_angela - race_master_3d Bug: b/444545431, b/444546028, b/444546358, b/444546046, b/444547452 Bug: b/444522928 Change-Id: I67987e4991b16207f4b45306ddee5e60ec2fbbf0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6941586 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Igor Nazarov 4ee596cc 2025-09-09T10:43:41 FrameCapture: Fix compare_trace_screenshots.py versus_native ... when not using `--trace-list-path` argument. Also fix missing `--screenshot-dir ` argument in "README.md". Bug: b/294882956 Change-Id: Ie69707e4ad97f69182f7635fdd52e1576136f483 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6932070 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Cody Northrop 52884e7d 2025-09-09T09:41:49 Tests: Add Odin: Valhalla Rising trace This trace was contributed by Samsung. Test: angle_trace_tests --gtest_filter=*odin_valhalla_rising Bug: b/443970433, b/444333530 Change-Id: Ieed76508d9bfa7738236a21a9b3e4b5c97ebf207 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6930754 Reviewed-by: Mark Łobodziński <mark@lunarg.com> Commit-Queue: Mark Łobodziński <mark@lunarg.com> Auto-Submit: Cody Northrop <cnorthrop@google.com>
Cody Northrop e0f5f3e2 2025-09-10T18:55:09 Tests: Add trace batch for 2025-09-10 These traces were contributed by Samsung. Traces in this batch include: - apex_girl - fashion_show - i9_inferno_nine - mob_control Test: angle_trace_tests Bug: b/444312058, b/444038530, b/444077873, b/444096901 Change-Id: I59f1e6eacb27f5968a138701e7f537c759904838 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6937765 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Geoff Lang a0cc64cd 2025-09-10T15:18:17 HLSL: Mark shadow sampler textureLod calls as using gradients TextureLod calls bottom out in the HLSL SampleCmp function which does not take a LOD parameter so we end up dropping it. This causes them to need gradients. Mark them as using gradient so that any loop they are used in is flagged and not unrolled by FXC. Reverted original fix from https://chromium-review.googlesource.com/c/angle/angle/+/6421496 because the wrong number of parameters are passed to the generated comparison sampling function when it is changed to LOD0. Thanks to Mikkel Simonsen at Unity and Calder Young for the tests. Fixed: angleproject:406190894 Change-Id: Ia9255e4336099045366c02f945a3c4de8075427a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6936488 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Amirali Abdolrashidi f27d1719 2025-07-29T16:41:27 Vulkan: Prefer BGR565 for RGB565 if enabled Some platforms exhibit better performance when using BGR565 instead of RGB565, including when loading buffer data to the image. This change allows such platforms to use a BGR565 image in the backend instead of an RGB565 image when using Vulkan, when the corresponding flag is enabled: preferBGR565ToRGB565 * Updated the formats to include B5G6R5 as a fallback to R5G6B5, which would be triggered when the corresponding feature flag is enabled. * The only exception would be when the surface is being initialized as R5G6B5. * In addition, this format will not be subject to forced format fallback. * Added VVL skip that specifically does not allow undefined format for border color for certain formats, including B5G6R5 if flag enabled. * Some suites with RGB565 tests will be run with preferBGR565ToRGB565 enabled on SwS to provide better test coverage. Bug: b/409867243 Change-Id: Ibb8c71b024ba318862f62ded8abd2d07835e8a40 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6799253 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Charlie Lao <cclao@google.com>
Xiang Wang 28f18f4c 2025-09-05T12:27:46 FrameCapture: Add GL_TEXTURE_CUBE_MAP_ARRAY support Updated the CopyImageSubDataCubeMapArray e2e test with full rendering pipeline to draw on screen using default frame buffer. Tested that the frame capture will crash during game capture or the e2e test without the fix. Bug: b/419863436 Test: (enable capture sysprop) TextureCubeTestES32.CopyImageSubDataCubeMapArray/ES3_2_Vulkan Change-Id: I7c30ed0fc7304b528020e5ab4f9b23be952c5a51 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6916781 Commit-Queue: Xiang Wang <xwxw@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Matthew Denton a471c005 2025-08-19T17:24:38 WGSL: derivative_uniformity diagnostic should be a warning WGSL requires derivatives to be calculated only if it can statically prove control flow is uniform. GLSL allows dynamically uniform control flow in this case. This CL uses WGSL's diagnostic filter to make derivative_uniformity diagnostics into warnings, to match GLSL semantics. Bug: angleproject:392542001 Change-Id: I98dd55205ad6d3c9d13ca3f94c0e7858ba92d536 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6862844 Reviewed-by: Geoff Lang <geofflang@chromium.org> Auto-Submit: Matthew Denton <mpdenton@chromium.org> Commit-Queue: Matthew Denton <mpdenton@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Xiang Wang e77725a4 2025-09-02T12:14:55 Add VkFormat id to descriptor cache key's imageSubresourceRange This is to fix the bug when two shaders are modifying the same texture buffer but with different formats, the old buffer view with "incompatible" format can be reused. Bug: b/443105853 Change-Id: Ic3b2202a7d1d408fbbf826414bfcf2b1df4c3a15 Test: GLSLTest.TextureBufferWritesUsingDifferentFormats Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6916350 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Liza Burakova f32fa362 2025-09-02T16:14:44 [WebGPU] Add helper methods for streaming indices in syncClientArrays Bug: angleproject:401499251 Change-Id: I2cab62524ce92a01117282726a3d4de1c266f818 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6438259 Reviewed-by: Matthew Denton <mpdenton@chromium.org> Commit-Queue: Liza Burakova <liza@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Cody Northrop 52665e89 2025-09-09T14:52:38 Tests: Add Domino Dreams trace This trace was contributed by Samsung. Test: angle_trace_tests --gtest_filter=*domino_dreams Bug: b/444034769 Change-Id: I9930b05b8cc16ca281fcb748b8889ff3a9426b64 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6931774 Reviewed-by: Charlie Lao <cclao@google.com> Auto-Submit: Cody Northrop <cnorthrop@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Cody Northrop 335a1fda 2025-09-09T14:06:27 Tests: Add Brain Test: Tricky Puzzles trace This trace was contributed by Samsung. Test: angle_trace_tests --gtest_filter=*brain_test_tricky_puzzles Bug: b/444026267 Change-Id: If2fdbe6c21ef55ad41cac38e18aaa829c87ae9eb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6931773 Reviewed-by: Mark Łobodziński <mark@lunarg.com> Auto-Submit: Cody Northrop <cnorthrop@google.com> Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Cody Northrop fba2e7e9 2025-09-09T13:45:55 Tests: Add Snake Lite - Snake Game trace This trace was contributed by Samsung. Test: angle_trace_tests --gtest_filter=*snake_lite Bug: b/444021690 Change-Id: I3fda5f4d28466607a274934325f179e693396c44 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6931772 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Cody Northrop <cnorthrop@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop 3570e579 2025-09-09T11:04:20 Tests: Add Two Player Games trace This trace was contributed by Samsung. Test: angle_trace_tests --gtest_filter=*two_player_games Bug: b/443989221 Change-Id: Ie5dd28d6871adbc2bf42de10a934f72844b350c4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6931372 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 7e869843 2025-09-09T11:43:22 Tests: Add Cat Runner: Decorate Home trace This trace was contributed by Samsung. Test: angle_trace_tests --gtest_filter=*cat_runner Bug: b/443995610 Change-Id: I5388f04dfa17324666fb0ac2ca52d78613b3ba48 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6931373 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Xiang Wang <xwxw@google.com>
Cody Northrop 823c60bc 2025-09-08T15:05:21 Tests: Add Hero Wars: Alliance trace This trace was contributed by Samsung. Test: angle_trace_tests --gtest_filter=*hero_wars Bug: b/443793326 Change-Id: I70db881b22f64d9c9bce2a061363d3ba300bb5bb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6926590 Auto-Submit: Cody Northrop <cnorthrop@google.com> Reviewed-by: Mark Łobodziński <mark@lunarg.com> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Charlie Lao <cclao@google.com>
Cody Northrop 1a290707 2025-09-08T14:44:50 Tests: Add Block Craft 3D trace This trace was contributed by Samsung. Test: angle_trace_tests --gtest_filter=*block_craft_3d Bug: b/42264359 Bug: b/443788675 Change-Id: I541ecc84ec5d9e77624c5c7afd225ac89a5f7ce4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6926021 Reviewed-by: Mark Łobodziński <mark@lunarg.com> Auto-Submit: Cody Northrop <cnorthrop@google.com> Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Cody Northrop 020e41d2 2025-09-08T12:21:51 Tests: Add Mini Games: Calm & Relax trace This trace was contributed by Samsung. Test: angle_trace_tests --gtest_filter=*mini_games_calm_and_relax Bug: b/443739993 Change-Id: Ide3ba54ec926f1ea99b50dc134c7b8094bfebb6d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6925086 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Mark Łobodziński <mark@lunarg.com>
Shahbaz Youssefi 0042de5f 2025-09-08T12:04:33 Vulkan: Rename ImageAccess to ImageFormatSupport `ImageAccess` to be used for other purposes. Variable name `access` was also identical to variables of `CommandBufferAccess`. Bug: angleproject:422982681 Change-Id: I69b4d2bd773f1c5ff0fb15c7b611efd1f736061d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6923330 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop 46671aea 2025-09-08T10:18:51 Tests: Add Disney Solitaire trace This trace was contributed by Samsung. Test: angle_trace_tests --gtest_filter=*disney_solitaire Bug: b/443737949 Change-Id: I0fee2e6a24682d2803e470832e910e2aca912616 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6923296 Commit-Queue: Mark Łobodziński <mark@lunarg.com> Auto-Submit: Cody Northrop <cnorthrop@google.com> Reviewed-by: Mark Łobodziński <mark@lunarg.com>
Rafael Cintron 2207a0a2 2025-09-04T17:32:12 Remove multisampledRenderToTextureEXT from D3D Partial implemented was never completed, nor utilized for XR scenarios. CL removes the implementation Bug: chromium:443111620 Bug: angleproject:433462527 Bug: angleproject:42261786 Bug: angleproject:42263509 Bug: angleproject:42263677 Change-Id: If95581d5f9b0e43be96ef6913fe73f547e0b5501 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6915970 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
Cody Northrop 62b5ab9f 2025-09-05T10:46:20 Tests: Add Talking Tom Gold Run trace Test: angle_trace_tests --gtest_filter=*talking_tom_gold_run Bug: b/443278466 Change-Id: I3109c3d03f8315fd30f5dbd259b08b160396c5d5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6918099 Reviewed-by: Mark Łobodziński <mark@lunarg.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop e893313c 2025-09-04T17:52:21 Tests: Add Snake.io trace Test: angle_trace_tests --gtest_filter=*snake_io Bug: b/442438127 Change-Id: I86f40347d0111dfc35d813f41611691a4f71cb56 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6918149 Auto-Submit: Cody Northrop <cnorthrop@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Cody Northrop 49366cae 2025-09-04T16:41:51 Tests: Add My Talking Tom trace This trace was contributed by Samsung. Test: angle_trace_tests --gtest_filter=*my_talking_tom Bug: b/443137624 Change-Id: I29c0b5ab0c895df7412155731d06ede897aafe0b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6915966 Auto-Submit: Cody Northrop <cnorthrop@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>