src


Log

Author Commit Date CI Message
Igor Nazarov 10b7414f 2025-06-12T17:03:51 Vulkan: Do not skip VUID-vkQueueSubmit-pSignalSemaphores-00067 ... when "VK_EXT_swapchain_maintenance1" is disabled. Problem only happened in shared present mode and is now fixed by VVL: 69b41e6fbe16619526daa861444cbb3eb8fcedce layers: Do not report in-use error for shared present mode Bug: angleproject:408190758 Change-Id: I4453de01ee239a0cb4cfd0269adfcb283a00866b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6641915 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Tim Van Patten fdff1170 2025-06-06T10:46:03 tests: SystemEGL: Skip tests needing unsupported ANGLE EXTs The system EGL may not expose ANGLE extensions, even if it *is* ANGLE, due to platform EGL restrictions (e.g., Android platform EGL). Skip any tests requiring ANGLE-specific extensions during test setup, rather than failing them. This also requires refactoring ANGLETestBase to derive ::testing::Test so it has access to Test::IsSkipped(). Bug: b/279980674 Change-Id: I8e424509c41fa5a69dee9fc8e0c92da58e4758fe Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6622112 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Matthew Denton 005336e4 2025-06-11T17:17:16 WGPU: Basic texture cubes Allows uploading to texture cube faces and sampling from them in shaders using samplerCube. Bug: angleproject:420782526 Change-Id: I45d4370fcc418f39afb225114d13632a78c7c200 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6593999 Reviewed-by: Liza Burakova <liza@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Matthew Denton <mpdenton@chromium.org>
Yuxin Hu 5d63c8d5 2025-06-11T13:01:25 Reformat VVL error message Update the VVL error message to use the new format. Remove the unused VVL error. Bug: angleproject:42264926 Bug: angleproject:42263911 Bug: angleproject:42265079 Bug: angleproject:42264496 Change-Id: I151960942c1bbf346693f250ec57f01fa3432784 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6634225 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Jisun Lee d8c15499 2025-05-27T03:46:24 Vulkan: Clear depth and stencil unresolve separately To take into account two situations. 1. LoadOp for depth and stencil attachments are set differently. 2. depth and stencil unresolves could be different between the previous render pass and the current render pass. Bug: angleproject:42266019 Change-Id: I9e069b3972f86abb84eee6280919e6bba2901225 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6590197 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Tim Van Patten d9818437 2025-05-22T12:52:29 tests: Cleanup build_angle_end2end_tests_library block 1. If Vulkan is enabled, always include the Vulkan tests in the end2end tests, rather than excluding them when build_angle_end2end_tests_library is 'true'. 2. Remove NDK include. It's unnecessary, because the 'angle' target already manages its own include_dirs. Bug: b/279980674 Change-Id: Ibf3c29a5f90f161a7c9a69f5c4736ea4c3ef49ae Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6580875 Reviewed-by: Solti Ho <solti@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Tim Van Patten 3c2bff4b 2025-05-22T12:33:12 Rename angle_end2end_tests_aosp to angle_end2end_tests_library Rename the GN arg angle_end2end_tests_aosp to angle_end2end_tests_library, because while building the end2end tests is relevant for Android, it's not restricted or specific to Android. Bug: b/279980674 Change-Id: I8f03e0fe264ac918cb34c379be85b65d7bfc0ab1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6580873 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Tim Van Patten f9053516 2025-06-10T14:24:13 MultiviewTestBase: Remove setWebGLCompatibilityEnabled(true) Remove setWebGLCompatibilityEnabled(true) from MultiviewTestBase since it's not required and prevents running the tests when the extension EGL_ANGLE_create_context_webgl_compatibility is not available. Bug: b/279980674 Test: angle_end2end_tests --gtest_filter=*Multiview* Change-Id: I32a95b110e17afcb0d45c0c8447d43f456310fee Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6635032 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Tim Van Patten 0d441eda 2025-05-29T12:04:46 util: Give all ConfigParameters default values ConfigParameters has a mix of 'bool' and 'Optional<bool>', with some tests setting the Optional<> values to the default value, inadvertently creating a dependency on the associated extension. To reduce the dependency on various extensions and allow more tests to run, update ConfigParameters to only contain raw bools and initialize them to the default values defined by the associated spec. This allows EGLWindow to only require the necessary extension when a non-default value is set by a test. This also requires updates to a handful of tests which were relying on the state of extensions due to non-default values. Bug: b/279980674 Change-Id: I77a7e102559e4393aadcdbf37886ae80cbbb9e29 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6618033 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Shashank Sharma c6b3440b 2025-06-06T23:34:33 Vulkan: Add G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 support. Add support for YCBCR_P010 format. Bug: b/408996471 Change-Id: I899533b604e5b2fd0ad1fb1e940dd1f119179794 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6628658 Reviewed-by: Solti Ho <solti@google.com> Auto-Submit: Shashank Sharma <shawshanks@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Amirali Abdolrashidi c39f4a5c 2025-06-05T15:35:06 Vulkan: Update border color assignment for stencil In texture border clamp, if the border color is assigned together stencil mode (both using glTexParameter()), its red component is used to set up a border color to be used in each backend: * (Set up in AdjustBorderColor()) In the Vulkan backend, this is used when updating SamplerDesc, which is then used later to set up the custom border color: * (VkSamplerCustomBorderColorCreateInfoEXT) According to the spec, in case of undefined format, integer border color, and stencil image, the implementation is required to use either the first or the second component of the custom color, although it is recommended to use the first. However, at the moment, only the first component is being populated, while using the second component is also valid. * Added feature: usesSecondComponentForStencilBorderColor * Added bit to SamplerDesc: mUsesSecondComponentForStencil * It is set based on the feature flag above and the texture format. * When setting the custom border color info, the second component will be used based on the above flag. * Added test suites to test this on ES31 and ES32: TextureBorderClampTestES3*.CustomBorderColorWithStencil* * Updated capture params for glTexParameterIuivEXT(). * Suppressed the ES32 version for the following: * P4 * Linux/NVIDIA (due to out-of-date driver) Bug: b/390710636 Change-Id: Ie50c19e8ea66da40dc8b8db49d7e622a582637a5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6626416 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Aurora Zhang 65159c4e 2025-06-05T15:05:46 Update pipeline desc when sample count changes * If the sample count changes when calling glFramebufferTexture2DMultisampleEXT, we need to update pipeline desc to ensure it is the same as the API requires. * Add a new end2end test to verify. Bug: angleproject:422611722 Change-Id: I7de7d3d17513cf03f5e24baa2db83633a229b4b8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6623419 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Auto-Submit: Aurora Zhang <Aurora.Zhang@arm.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Yuxin Hu 1e613fec 2025-05-27T16:59:26 Compiler: sort uniforms by precision This change reoreders the AST sequences so that uniform declarations with lower precisions are places in front of uniform declarations with higher precisions. This is to prepare for the upcoming change that converts uniforms declared with mediump or lowp to 16-bit and pack them to 32-bit integeter using packHalf2x16(). Bug: b/405795981 Change-Id: I5e1e293399dc8b51b9a6e83115f95beb0c4a7b1b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6594255 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Mohan Maiya c45e7c83 2025-05-22T04:14:52 Vulkan: Optimize uniform and storage buffer updates Maintain a map between buffer block index and its DescriptorDesc index in WriteDescriptorDescs and look up the map instead of repeatedly calculating it when updating DescriptorDesc Bug: angleproject:386749841 Change-Id: I74d14f6205f07992fae1e338697998d04de1c563 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6603986 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Tim Van Patten b888dc2b 2025-06-09T16:58:38 OcclusionQueriesTest: Convert to ANGLETest<> Convert OcclusionQueriesTest to an ANGLETest<> and remove calling ANGLETestSetUp() directly. This can be error-prone if ANGLETestSetUp() doesn't complete, but the test still executes GL commands either in SetUp() or testSetUp(), before the test itself can be skipped. In that case, there may not be a current Context, leading to calls like glGetString() returning nullptr. This also includes some additional cleanup to remove the GetParam() calls. Bug: b/279980674 Change-Id: I5604836c78845424b82b693bc1b74e84b6b557d4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6631025 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Tim Van Patten 0ac62dd7 2025-06-09T16:47:22 MultiviewRenderTest: Return if test should be skipped MultiviewFramebufferTestBase::FramebufferTestSetUp() may not complete if ANGLETestBase::ANGLETestSetUp() determines the test needs to be skipped due to (for example) missing extension support. In that case, there may not be a current Context, leading to calls like glGetString() returning nullptr. Check if the test is marked "Skipped" before continuing in MultiviewRenderTest::SetUp(). Bug: b/279980674 Change-Id: Iba869029bc26fc5528853be0323fd3c50037a493 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6631023 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Shahbaz Youssefi ef85f283 2025-06-10T10:45:06 Test for deferred clear vs robust init vs invalidate Bug: b/381284577 Change-Id: I15effe1f216523a51af83a154ad27d2921e52258 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6633791 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Tim Van Patten de00cc6b 2025-05-28T17:06:59 tests: Move wglWindow to a guard statement WGL tests are currently disabled. Refactor the check to be a guard statement earlier in ANGLETestBase::ANGLETestSetUp(), so it bails out sooner. This also allows for pulling everything in the else-block out, reducing indentation and improving readability. Bug: b/279980674 Change-Id: Id91b68e2a2e5ffd301a7c49733940b7f08892dce Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6604937 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Jeff Vigil a7877665 2025-06-02T08:13:30 Fix drm format and modifier handling Move functions to private Change case on methods to lowercase per style guide Change related methods to use set instead of vector, this saves a copy from set to vector. Initialize formats before supportsDmaBufFormat because queryDmaBufModifiers can be called before queryDmaBufFormats and need to initialize at supportsDmaBufFormats. Bug: angleproject:412730346 Change-Id: I8575bee6e7a6a09d9065ed81acff899e73004764 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6610088 Reviewed-by: mohan maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Amirali Abdolrashidi d84248ce 2025-06-09T10:40:37 Revert "Disable unused private field for dEQP compilation" This reverts commit b670d47b7aaff94d3a9e2e1b975e73d0ea336d85. Reason for revert: Warnings resolved on the tests Bug: angleproject:420728429 Original change's description: > Disable unused private field for dEQP compilation > > Incoming VK-GL-CTS rolls are failing due to the following error > for some dEQP targets: > "private field 'm_size' is not used [-Werror,-Wunused-private-field]" > This warning can be suppressed for this target temporarily, allowing > the autoroller to merge new changes. Once the issue has been addressed > on the CTS code, this change should be reverted. > > * Added -Wno-unused-private-field to gles2 and gles31 targets. > * This is a temporary change. It should be removed once the issue > has been addressed. > > Bug: angleproject:420728429 > Change-Id: I0177ded84ad58a148884e8abfac3aea9a1ff7d43 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6604679 > Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> > Reviewed-by: Yuxin Hu <yuxinhu@google.com> Bug: angleproject:420728429 Change-Id: I6b655a37568f42fabf710380c82ab775b126bdc7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6630278 Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Panfeng Hou 9a436772 2025-06-04T16:47:51 Vulkan: Add entry points for GL_EXT_fragment_shading_rate Bug: angleproject:420310117 Change-Id: I8a8efad6cad810b2cb0b600106f6496070495605 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6620340 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
Mavis Deng 65091427 2025-06-05T14:08:01 Query draw buffer should return NONE for no surface default FB When querying the draw buffer state via glGetIntegerv(GL_DRAW_BUFFER) on the default framebuffer with no surface bound, GL_NONE should be returned. Bug: angleproject:422631118 Change-Id: Iad2f1662692b0a92563e4cfd7fe09437cb40f0c7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6619453 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Mavis Deng <mavis.deng@arm.com> Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya 3a15fab0 2025-06-05T13:47:18 Add tests for per-sample shading state tracking Add tests to cover usecases exposed by these optimizations - - https://chromium-review.googlesource.com/c/angle/angle/+/6622156 - https://chromium-review.googlesource.com/c/angle/angle/+/6619019 Bug: angleproject:386749841 Change-Id: I848ed68afe00757a10c8c970ee1f9a9b4646e9ab Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6622107 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Mohan Maiya db962407 2025-06-03T08:00:43 Vulkan: Optimize FramebufferVk::getSamples() Cache value of samples during syncState(...) and return this value on subsequent queries Bug: angleproject:386749841 Change-Id: I21fb2221187c7b2159fed1b271da642ba2552348 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6619019 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Alexey Knyazev f6b40bc8 2025-05-15T00:00:00 Add a missing compile macro Bug: angleproject:406922380 Change-Id: If2d4cc1472b490b3507591f0a6ac940369df5ccb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6624377 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 8c48b502 2025-06-05T02:09:54 Vulkan: Fix deferred clear vs robust init vs invalidate The DIRTY_OBJECT_DRAW_ATTACHMENTS bit, when handled, goes over framebuffer attachments and requests that they be cleared. This is done only with robust init. The DIRTY_OBJECT_DRAW_FRAMEBUFFER bit, when handled, results in staged updates to be applied to the attachments. When syncDirtyObjects is called, the above bits are handled. If we end up in a situation where DIRTY_OBJECT_DRAW_ATTACHMENTS is set, but not DIRTY_OBJECT_DRAW_FRAMEBUFFER, the following happens with Vulkan: - Handle DIRTY_OBJECT_DRAW_ATTACHMENTS - TextureVk::initializeContents - ImageHelper::stageResourceClearWithFormat - Observer message to TextureVk->Texture->Framebuffer->Context - Context sets DIRTY_OBJECT_DRAW_FRAMEBUFFER - However syncDirtyObjects does not notice this bit, as it has cached the dirty objects and is in the middle of looping over them In the above scenario, the call that results in syncDirtyObjects does not process the draw framebuffer (if not already dirty for some other reason), meaning the clear is not applied _before_ the current operation but after it (whenever framebuffer is synced next). In this change, I attempted to ensure that if DIRTY_OBJECT_DRAW_ATTACHMENTS is ever dirty, DIRTY_OBJECT_DRAW_FRAMEBUFFER is also dirty. There were a few operations that could theoretically lead to this which are fixed by this change. The particular one that revealed the bug was State::syncDirtyObject syncing only the FRAMEBUFFER bit and leaving the ATTACHMENTS bit for the unsuspecting following operation. The aforementioned assertion is not included in this change however, as it revealed one unresolved issue with the d3d backend where DIRTY_OBJECT_DRAW_ATTACHMENTS is not set, but processing DIRTY_OBJECT_DRAW_ATTACHMENTS sets it while dirty bits are being processed. Bug: b/381284577 Change-Id: If3c35fbade069ae75f66dd6d4df5d73882a08a93 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6621059 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 92dec961 2025-05-15T00:00:00 Enforce validation consistency for lockless entry points Bug: angleproject:406922380 Change-Id: If4e6051d0ac465f4ae8abca0a62cad14d1d739b7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6624114 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Amirali Abdolrashidi b6579180 2025-05-15T15:29:28 Add test case for CS writes without barriers * Added the following test to ComputeShaderTest: WriteToSeparateSSBOComponentsWithoutExplicitBarrier * Based on KHR-GLES31 test: .core.shader_storage_buffer_object.advanced-switchBuffers-cs * It involves writing to different components of an SSBO without explicit barriers in between. Bug: b/417769912 Change-Id: I9f6170937c9ccf3487d8f9e7758196c950252ea3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6552162 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Mohan Maiya ef31b3ed 2025-06-04T12:00:04 Vulkan: Selectively dirty DIRTY_BIT_SAMPLE_SHADING When program executable changes dirty DIRTY_BIT_SAMPLE_SHADING bit if either the current or previous program enabled per sample shading Bug: angleproject:386749841 Change-Id: I82aa7df29473e455aa68dfba9fefdb1bc712a78d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6622156 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 23097376 2025-06-03T22:26:05 Update src/common/base's README Bug: chromium:378273323 Change-Id: Iaa40abac52fdb2d5f8e3a65333d589097cb98834 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6617103 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Jiaqi Li 88ea74bf 2025-05-30T14:17:09 Add another condition to call copyBufferDataToImage directly To directly copy from a buffer, it's necessary that the buffer does not need conversion. Add this condition to the check function. Add related end2end test. Bug: angleproject:421288695 Change-Id: Id57df32f91a8f385bc07b2788149cc4478ccbab4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6605140 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Jiaqi Li <Jiaqi.Li@arm.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
angle-autoroll 87217c88 2025-06-03T08:01:03 Manual Roll VK-GL-CTS from 2231585b0204 to 832d82a93cb1 (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/2231585b0204..832d82a93cb1 2025-05-30 kamil.goras@mobica.com Add missing coverage for ClearTex[Sub]Image for OpenGL 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://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: b/421940612 Tbr: yuxinhu@google.com Change-Id: I5b57cfc7b1d23b30fd8764db735eb5cf516ddc20 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6616574 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Xiang Wang e877e655 2025-06-02T17:02:36 Reland "Suppress VUID-VkRenderPassBeginInfo-renderPass-00904" This reverts commit 8c75960e034a09bad67ece528c99e202bed69b64. Reason for revert: retry dry-run without revert Bug: b/303441816 Original change's description: > Revert "Suppress VUID-VkRenderPassBeginInfo-renderPass-00904" > > This reverts commit f8f9847771fa86589da29527c806d89e6f92c7a9. > As the issue is no longer reproducible on a P25 device with > latest ANGLE. > > Bug: b/303441816 > Change-Id: Iae86b3f4e30609cd5b1aedb4293192b06be71919 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6614157 > Commit-Queue: Xiang Wang <xwxw@google.com> > Reviewed-by: Yuxin Hu <yuxinhu@google.com> > Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Bug: b/303441816 Change-Id: Ib447a5af33bd17f891a8db99766fc8f275162a6c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6614164 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Xiang Wang <xwxw@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Roberto Rodriguez af6313f5 2025-06-02T10:31:27 Check redundant statements for comma op in MSL translator. Bug: angleproject:421891565 Change-Id: I0475476f360f103a3da4df263dae9c604a8bfef5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6610091 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Yuly Novikov ac596fd8 2025-06-03T03:50:01 Revert "Tests: Add Aquarium trace" This reverts commit 537d40dcac601e051e9954ed8b08cafd2cc55ff0. Reason for revert: increases linux-asan-test compile time by 2 hours Bug: b/420699380 Original change's description: > Tests: Add Aquarium trace > > Test: angle_trace_tests --gtest_filter="*aquarium*" > Bug: b/420699380 > Change-Id: I30e0b0cbf2520b98dc265a6686e81cc3280f5555 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6594253 > Reviewed-by: Mark Łobodziński <mark@lunarg.com> > Commit-Queue: Cody Northrop <cnorthrop@google.com> Bug: b/420699380, angleproject:421425259 Change-Id: I2931dec718e603c4e7903cfaa268ef1fb7aa3370 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6617080 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Xiang Wang 8c75960e 2025-05-30T16:06:54 Revert "Suppress VUID-VkRenderPassBeginInfo-renderPass-00904" This reverts commit f8f9847771fa86589da29527c806d89e6f92c7a9. As the issue is no longer reproducible on a P25 device with latest ANGLE. Bug: b/303441816 Change-Id: Iae86b3f4e30609cd5b1aedb4293192b06be71919 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6614157 Commit-Queue: Xiang Wang <xwxw@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Tim Van Patten 7644c9db 2025-06-02T11:44:38 test: Remove EGLSingleBufferTest.VerifyMutableRenderBufferKHR The test is enforcing that specifying/querying EGL_SINGLE_BUFFER requires the extension EGL_KHR_mutable_render_buffer. However, EGL_RENDER_BUFFER/EGL_SINGLE_BUFFER were introduced in EGL 1.4, removing any extension requirements for devices that support EGL 1.4+. 3.5 Rendering Surfaces 3.5.1 Creating On-Screen Rendering Surfaces ... EGL_RENDER_BUFFER specifies which buffer should be used by default for client API rendering to the window, as described in section 2.2.2. If its value is EGL_SINGLE_BUFFER, then client APIs should render directly into the visible window. If its value is EGL_BACK_BUFFER, then all client APIs should render into the back buffer. The default value of EGL_RENDER_BUFFER is EGL_BACK_- BUFFER The extension itself requires a minimum of EGL 1.2, meaning only versions 1.2 and 1.3 require EGL_KHR_mutable_render_buffer to use EGL_SINGLE_BUFFER. Remove the test since it doesn't gives us any information anymore since we always expose EGL 1.5 anyway. Bug: b/417459061 Change-Id: I060e196600e6ece6179a164d9125a8b98c0d8498 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6613123 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Serdar Kocdemir b1359277 2025-05-14T22:53:36 Declare lavapipe device type Fixes 'Unknown GPU architecture' warning when using lavapipe driver with guest side ANGLE enabled on the emulators. Also treats lavapipe similar to swiftshader for test coverage purposes. Bug: b/417791087 Test: run goldfish emulator with '-gpu lavapipe' Change-Id: I40002ce191aa49f08d887c066321c4d0c27f2738 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6547537 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Yuxin Hu f000acf8 2025-05-28T12:37:20 Vulkan: Remove suppressed VVL errors that no longer applies on bots All the devices on bots support VK_ATTACHMENT_STORE_OP_NONE. To pass the bot, we no longer need to suppress the VVL errors that only occur on devices where VK_ATTACHMENT_STORE_OP_NONE is not supported. Remove the error messages from the suppression list. Bug: angleproject:42264496 Bug: angleproject:42265159 Change-Id: I47bfcb6cff77ae68b1755e8e0105411f31f713e0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6598217 Commit-Queue: Yuxin Hu <yuxinhu@google.com> Auto-Submit: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Tingwei Guo ef29d42e 2025-05-22T15:52:49 Support ASTC decode mode extensions in ANGLE Added support for GL_EXT_texture_compression_astc_decode_mode and GL_EXT_texture_compression_astc_decode_mode_rgb9e5 in ANGLE. Also added corresponding end-to-end tests for ASTC decode mode queries, including ASTC decode mode queries and rendering with ASTC texture formats with different decode modes on GL_TEXTURE_2D works. Bug: angleproject:419403188 Change-Id: I0f2dced8468c4e25597740d1de346b2f699bb81e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6575285 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
angle-autoroll 20b08f95 2025-05-29T10:14:33 Roll VK-GL-CTS from c9d2e24d1a6d to 7be6d4540af2 (27 revisions) * Added gl4cTextureBufferTests files to deqp.gni. https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/c9d2e24d1a6d..7be6d4540af2 2025-05-26 rgarcia@igalia.com Test vkGetPhysicalDeviceFormatProperties2 pNext chain 2025-05-26 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.2 into vk-gl-cts/main 2025-05-26 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-es-cts-3.2.12 into vk-gl-cts/main 2025-05-23 kamil.goras@mobica.com Add test texture buffer size clamping 2025-05-23 piotr.byszewski@mobica.com Tests null FS with cull distance and sample mask 2025-05-23 piotr.byszewski@mobica.com Use bad VkPipelineRenderingCreateInfo when it is not needed in GPL 2025-05-23 boris.zanin@amd.com Verify stride is non-constant value in OpCooperativeMatrixStore/Load 2025-05-23 petermcneeley@google.com Amber tests for NClamp spir-v extended instruction 2025-05-23 david.rosca@amd.com Fix film grain flag for dEQP-VK.video.decode.av1.argon_filmgrain_10_test1019_*_dpb 2025-05-23 ziga@lunarg.com Fix enabling extensions in swapchain maintenance1 tests 2025-05-23 lionel.g.landwerlin@intel.com Fix default SampleMask value in VK_EXT_shader_object tests 2025-05-23 mateusz.bahyrycz@mobica.com Fix for missing synchronization in BufferViewTestInstance 2025-05-23 piotr.byszewski@mobica.com Port selected tests to new capabilities system 2025-05-23 michal.jakubek@mobica.com Reduce createCustomInstance() calls. 2025-05-23 michal.jakubek@mobica.com Capabilities system for custom device creation 2025-05-23 rgarcia@igalia.com Test multistream rasterization with XFB 2025-05-23 rgarcia@igalia.com Test image-to-image copies for 96-bit formats with linear tiling 2025-05-23 rgarcia@igalia.com More DGC conditional rendering tests related to preprocessing 2025-05-23 rgarcia@igalia.com Test sampling VK_FORMAT_A1R5G5B5_UNORM_PACK16 2025-05-23 rgarcia@igalia.com Add tests with additional commands on secondary command buffers 2025-05-23 rgarcia@igalia.com Fix verification thresholds in sampling tests for small formats 2025-05-23 rgarcia@igalia.com Test copying immutable samplers 2025-05-23 rgarcia@igalia.com Add ldexp tests with non-32-bit exponents 2025-05-23 rgarcia@igalia.com Add XFB tests with primitive restart 2025-05-23 rgarcia@igalia.com Test arbitrary matching queue family values in barriers 2025-05-23 rgarcia@igalia.com Test geometry shader side effects always happen 2025-05-23 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.2 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 abdolrashidi@google.com,angle-team@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: angleproject:420728429 Tbr: abdolrashidi@google.com Change-Id: Iee73fa63e10dd084a4c67bcae7ab1779f8efdbcf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6601054 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Amirali Abdolrashidi b670d47b 2025-05-29T13:37:27 Disable unused private field for dEQP compilation Incoming VK-GL-CTS rolls are failing due to the following error for some dEQP targets: "private field 'm_size' is not used [-Werror,-Wunused-private-field]" This warning can be suppressed for this target temporarily, allowing the autoroller to merge new changes. Once the issue has been addressed on the CTS code, this change should be reverted. * Added -Wno-unused-private-field to gles2 and gles31 targets. * This is a temporary change. It should be removed once the issue has been addressed. Bug: angleproject:420728429 Change-Id: I0177ded84ad58a148884e8abfac3aea9a1ff7d43 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6604679 Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Mohan Maiya 58f21f8f 2025-05-29T07:53:02 Vulkan: Optimize ProgramExecutableVk::bindDescriptor(...) Cache valid descriptor set indices in a bitset, this helps eliminate branches within loops and makes for more readable code Bug: angleproject:386749841 Change-Id: I06fbf529ceb6c8ece9313b3b5e9edd6c6b63542b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6601733 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: mohan maiya <m.maiya@samsung.com> Reviewed-by: Charlie Lao <cclao@google.com>
Geoff Lang 433906d7 2025-05-29T16:22:18 WebGPU: Protect against null compilation info. compilationInfo is an optional parameter of this callback. Bug: chromium:413078308 Change-Id: I12770c566b3daad5eaf8d6c8b66e464a85da06f7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6596988 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Kai Ninomiya 7ddc219f 2025-05-28T22:25:37 WebGPU: Handle Dawn breaking change in QueueWorkDoneCallback Needed in order to update Dawn to match the standard webgpu.h, here: https://dawn-review.googlesource.com/c/dawn/+/243697 Bug: chromium:414868699 Change-Id: Ib52c0e32b685ef3f9f05fe1fe549ab16e8eec610 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6600550 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Auto-Submit: Kai Ninomiya <kainino@chromium.org>
Alexey Knyazev 8dbb0997 2025-05-15T00:00:00 Autogen support checks for ANGLE_base_vertex_base_instance Bug: angleproject:409484297 Change-Id: Id730b55709e27910f2908294637e17cde9a791b8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6597178 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Alexey Knyazev 7855312a 2025-05-15T00:00:00 Adjust multi draw validation * Fixed validation of negative drawcount for all MultiDraw*ANGLE entry points. * Added missing extension checks to MultiDraw*BaseInstanceANGLE entry points. Fixed: angleproject:420956723 Change-Id: I3a058471446cd96a883970d4e38ba5af2fa07a8c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6597176 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 79cef542 2025-05-15T00:00:00 Autogen EGL image extension entry points Bug: angleproject:409484297 Change-Id: I0e4a83c5e902f010a66fefa4fa6cc4169ab5529f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6596617 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop e7118451 2025-04-15T09:55:48 restricted_trace_perf: Script fixes Minor fixes. Tests: restricted_trace_perf Bug: b/404239853 Change-Id: I429f2c69c47bd9a8dc725ac3f499143827755de6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6455541 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Auto-Submit: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Alexey Knyazev 4c964bc7 2025-05-15T00:00:00 Roll third_party/OpenGL-Registry/src/ 5bae8738b..200cea403 (74 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/OpenGL-Registry/+log/5bae8738b23d..200cea4030cb Additional changes: * Removed obsolete workarounds for mismatching signatures between CreateShaderProgramvEXT and CreateShaderProgramv. * Aligned GL backend bindings for GL_OVR_multiview entry points with the specs. * Updated include/GLES2/gl2ext.h. Bug: angleproject:409484297 Change-Id: Ifbb63dcc4bad312b22a368455a121e088b346fab Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6596941 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop 537d40dc 2025-05-27T12:43:55 Tests: Add Aquarium trace Test: angle_trace_tests --gtest_filter="*aquarium*" Bug: b/420699380 Change-Id: I30e0b0cbf2520b98dc265a6686e81cc3280f5555 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6594253 Reviewed-by: Mark Łobodziński <mark@lunarg.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Alexey Knyazev 6462880b 2025-05-15T00:00:00 Autogen support checks for query extensions Bug: angleproject:409484297 Change-Id: I91e6b7318c62868e65d48ceb380b7c2d53c447ac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6596569 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Alexey Knyazev 392dc591 2025-05-15T00:00:00 Remove GL_CHROMIUM_sync_query Fixed: angleproject:420627279 Change-Id: I26dac7c55a7cf6b04121658144e1387be65d2569 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6593552 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Robic Sun 88f1a668 2025-05-20T10:35:36 Query sample count by getting image format props ANGLE should query the image format properties to set TextureCaps.sampleCounts based on internalformats. Bug: angleproject:418815176 Change-Id: I7718121008acd9bb9bbb9964af5842646d7a689a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6564528 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com> Auto-Submit: Robic Sun <Robic.Sun@arm.com> Reviewed-by: Charlie Lao <cclao@google.com>
Shahbaz Youssefi bc2c85a6 2025-05-27T11:40:33 Translator: Set correct qualifiers on user-declared gl_PerVertex Bug: angleproject:409439499 Change-Id: Ia4bc1335d977f2b138af877e5d698914b182ff52 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6592612 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Mohan Maiya 90668ecf 2025-05-25T10:51:52 Vulkan: Reset uniform buffer dirty bit on program change When a program changes all of its non-texture shader resources are invalidated, there is no need to re-invalidate uniform buffers. Bug: angleproject:386749841 Change-Id: I7e941784c40046cef3a2ce297e6941a963b3a8dc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6583476 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Yuxin Hu eafcbbf9 2025-05-27T11:24:17 Vulkan: Reformat VVL error message Remove the VVL skip messages that no longer apply. Set the messageContents1 and messageContents2 to nullptr for ease of clean up later. Bug: angleproject:399191283 Change-Id: I6d4477a6c401e6b7d2915b1fc574413be31fdc9b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6594251 Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Auto-Submit: Yuxin Hu <yuxinhu@google.com>
Yuxin Hu 6542fea9 2025-05-07T17:28:45 Vulkan: Fix SpirV Error in Tessellation Control Shader When feature varyingsRequireMatchingPrecisionInSpirv is enabled, in the generated SpirV, if the shader output varying precision needs to be adjusted, we create a new shader varying to replace the original shader output varying, and save the original shader output varying to the replacement shader output varying at the end of the function. However, this does not work for tessellation control shader, because the SpirV generated will perform following equivalent peudo code: layout (vertices=3) out; in mediump float tc_in[]; out mediump float tc_out[]; highp float original_out[]; void main() { original_out[gl_InvocationID] = tc_in[gl_InvocationID]; // some other code in between tc_out = original_out; } The last line will attempt to write to all indice of tc_out. However, according to the spec, "each tessellation control shader invocation may write only to those outputs corresponding to its output patch vertex. Tessellation control shader must use the special variable gl_InvocationID as the vertex number index when writing to per-vertex output variables." This change fixes the problem by keeping the precision of tessellation control shader output as it is, and adjust the precision of tessellation evaluation shader input instead. Bug: b/42266751 Change-Id: I398545e2cbbf703c716d6738f1ba278baac4171f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6521225 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Kimmo Kinnunen 27a1b2c9 2025-03-13T09:10:54 Metal: Fix crash with 3d tex, alpha, depth Fix a crash when generating mipmaps for a 3d texture that has mipmaps with w,h == 1, i.e. depth > max(2*w, 2*h). Bug: angleproject:419755713 Change-Id: I7bf7f1f71c03b2bf6f8a30df30dc77ad06d433fe Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6580167 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Geoff Lang dac0ef51 2025-05-27T18:36:56 WebGPU: Add a feature to avoid wgpuInstanceWaitAny Synchronous waiting is not available in Chrome's renderer process yet. Add a temporary feature to avoid some WaitAny calls and just log errors instead. Bug: angleproject:413078308 Change-Id: I67e54dfcfc093fd250da8cc616c05d44b78c8d64 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6593531 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Kimmo Kinnunen 2f6f0514 2025-05-22T15:59:19 Metal: Wraparound int arithmetic for add, sub Implement wraparound int arithmetic for int, ivec +, -, +=, -=, ++, --. All of the added tests pass also without the changes. Bug: angleproject:382215759 Change-Id: I7605582ab2931e63010c34fba474797f7edd19f9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6578729 Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Mavis Deng 2a18fdbf 2025-05-21T16:14:51 Fix sync issue between XFB output and UBO input For the following scenario, where the first draw writes to the transform feedback buffer and the second draw reads from the same buffer as UBO, it is necessary to end the render pass between the two draws and add a barrier. // xfb write glBindBufferBase(GL_TRANSFORM_FEEDBACK_BUFFER, 0, xfb); glBeginTransformFeedback(); glDrawArrays(); glEndTransformFeedback(); // Draw with same buffer as UBO glBindBuffer(GL_UNIFORM_BUFFER, xfb); glDraw(); Bug: angleproject:418568423 Change-Id: Ia294d174111c6104b55762590ec26056ee759b53 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6572198 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 7470cae4 2025-05-15T00:00:00 GL: Do not emulate EXT_base_instance If a driver does not support the corresponding commands, do not expose the extension at all, regardless of the enabled features. Bug: angleproject:355645824 Change-Id: Ideaae32e401c169690ca3aca6e437443a4b038f2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6580170 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang f0c46b2a 2025-05-25T10:44:23 WebGPU: Do not set autoresizingMask on the iOS Metal Layer autoresizingMask is not a member on iOS builds. This mirrors the window surface in the Metal backend. Bug: angleproject:342213844 Change-Id: I8b5cfbb2b7f7af4f3284ddd7055e68e762c77883 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6584993 Reviewed-by: Colin Blundell <blundell@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Brian Johnson ec4d8f8e 2025-05-23T11:00:03 Changes to support sdk35 Set the sdkVersion to 35, which forces edge to edge mode. Edge-to-edge mode without changes causes the ANGLE Preferences settings page to render the title bar on top of the content. The fix is to add an inset listener in the fragment, to adjust the window's marginTop by the inset amount. The preferences page that was being used had been deprecated as it used the old ListView, so I updated it to the new way, using PreferenceFragmentCompat which uses a RecyclerView. This fragment change cascaded a few changes with the Activity itself, and the theme, all of which are updated for this change to use PreferenceFragmentCompat. Tested: Built in the Android tree, flashed on a Pixel device. Tested in portrait and landscape, light and dark modes. Bug: b/403455598 Change-Id: I012b2ea2f9f0973f3e0a926a93d2c3b31daeccca Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6581364 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Solti Ho <solti@google.com> Auto-Submit: Brian Johnson <hibrian@google.com>
Geoff Lang 4b375fe5 2025-05-23T18:44:54 WebGPU: Fix NoOpErrorScope constructor. We would always build with asserts enabled on our bots and missed that this constructor did not match the ErrorScope constructor. Bug: angleproject:342213844 Change-Id: Ieb73e6e1b0a0359b0ad336f14b7b9580c2ecc00b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6580169 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Geoff Lang 61e383dc 2025-05-23T18:41:57 WebGPU: Fix build on iOS and ChromeOS. Make sure we return a NativeWindowSystem in all branches. Build the Metal window surface on iOS. Bug: chromium:419793882 Change-Id: Ic829c83b71c18df9907ef729320377d82958f6ad Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6580168 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 275745ff 2025-05-23T12:59:03 Vulkan: Fix warning about shared present mode support An incorrect warning was issued about shared present mode being requested without support for it, even if shared present mode was _not_ being requested. Bug: b/412446258 Change-Id: I33f4ea9bcbd09695375010da93a68b375cfc8c8e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6578819 Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Yuxin Hu 525757d6 2025-05-22T16:32:32 Vulkan: Reformat VVL Error Message Change the error message to use the extraProperties field. Set the messageContents1 and messageContents2 to nullptr for ease of clean up later. Bug: angleproject:394598470 Change-Id: I0b7aec0b7e9a6e5206c89caae712e76db3338c4e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6581371 Auto-Submit: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Devon Loehr 3e9a1375 2025-04-30T16:03:03 Fix unique object duplication warning Clang has a `unique-object-duplication` warning that warns about objects which are supposed to be unique (like static- or thread-local variables), but may be accidentally duplicated across shared libraries when they have hidden visibility. This CL addresses instances of that warning by: 1. Ensuring that on non-windows systems, objects that need to be exported are unconditionally given "default" visibility 2. Satisfy the compiler by marking everything as default visibility when building a static library, since visibility only matters for shared libraries 3. Mark functions with static or thread local variables as exported. Bug: chromium:368047728 Change-Id: Ic60265353bf2b0af2cd1fef884bfa85038e0db02 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6502093 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Kimmo Kinnunen 150f1242 2025-03-11T18:34:37 Metal: Provoking vertex conv. reads out of buffer The provoking vertex helper would encode the addresses of index count and primitive count variables, not their values. This would cause the provoking vertex conversion shader to read overly many indices. Not testable easily from the API, as the excessive read is hard to test. Would cause context loss on the existing tests when run with validation. Bug: angleproject:419755715 Change-Id: Id81ecc66513c0eac1e95d11937f12d9bebb5e11e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6578202 Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Roberto Rodriguez 157a99aa 2025-05-20T23:59:29 Update logic for redeclaring gl_FragDepth. Update ParseContext logic to handle redeclaration of gl_FragDepth. Bug: angleproject:419066563 Change-Id: I774d036922ec75ca151f1c871afc243ca09a3061 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6573532 Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Roberto Rodriguez 571450df 2025-05-15T16:24:12 Depth value not clamped for clearBufferfi and clearBufferfv Clamp depth values to [0,1] for calls to glClearBufferfi and glClearBufferfv. Bug: angleproject:418030862 Change-Id: I6f5393da863a17c5fd1d78f1b800df0e61d3dc60 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6552161 Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Geoff Lang c1e806de 2025-05-22T15:59:01 WebGPU: Allow providing an external WGPUDevice. Update EGL_ANGLE_platform_angle_webgpu with a new parameter which allows initializing DisplayWgpu with a pre-existing WGPUDevice. The adapter and instance are queried from this device. Bug: angleproject:42266898, angleproject:414827222 Change-Id: I3159ebe19750e75c5cf9aa395332f48385fdb4d9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6578196 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Geoff Lang 3cf7a604 2025-05-17T19:39:08 WebGPU: Add extensions for importing external textures Add EGL_ANGLE_device_webgpu which exposes the adapter and device used by ANGLE internally. Add EGL_ANGLE_webgpu_texture_client_buffer which allows importing external WGPUTexture handles if they share the same device as ANGLE (queried from EGL_ANGLE_device_webgpu). Bug: angleproject:418022112 Change-Id: I0683d36b84a0f8e0e9b68a5ec0d3aa8b7a95152c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6553063 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Charlie Lao 8d6d127a 2025-05-20T12:26:56 Vulkan: Avoid some loops in VertexArray::onBufferChanged Before this CL, VertexArray::onBufferChanged() loops over bufferBindingMask bits and calls onSubjectStateChange. In this CL, VertexArray::onSubjectStateChange is embedded into VertexArray::onBufferChanged(). DIRTY_BIT_ELEMENT_ARRAY_BUFFER and DIRTY_BIT_ELEMENT_ARRAY_BUFFER_DATA is re-arranged so that we can map bufferBindingMask directly to VertexArray::mDirtyBits. This especially useful when one buffer is bound to multiple indices in the VertexArray. This CL also removes angle::ObserverInterface from VertexArray, since it no longer observes anything. ASSERT is added in gl::Buffer::mContentsObservers to ensure it only contains BufferTexture, since vertexArray is no longer using the subject/observer. Bug: angleproject:400711938 Change-Id: Ie6e7159d7a89f0da5e1b7ca0a9dbe60a1e6c682f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6569638 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuxin Hu 26e790f7 2025-05-21T14:07:40 Update the gn arg to avoid warning message in gn desc json file After this change https://chromium-review.googlesource.com/c/chromium/src/+/6547915, using android32_ndk_api_level and android64_ndk_api_level gn args will results in a warning message generated at the top of the gn desc json file: WARNING Build argument has no effect. android32_ndk_api_level = 26 ^- Did you mean "android_ndk_api_level"? This causes the json.load() function in generate_android_bp.py failing when parsing the json file json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0) Update roll_aosp.sh to use the android_ndk_apk_level to remove the warning message. Also update the gn arg from android32_ndk_apk_level and android64_ndk_api_level to android_ndk_apk_level in other files. Bug: b/418837345 Change-Id: I12fa48dcb5638b37a9965d0adb339a2dee018297 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6576736 Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Auto-Submit: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Charlie Lao 3f012a43 2025-05-14T17:11:06 Vulkan: Move VertexArray::ElementBuffer away from observer Right now, VertexArray's element buffer is always observing buffer's change. In previous CLs, we have moved vertex array away from subject/observer usage. This CL moves element buffer away from subject/observer as well. Since the gl::Buffer tracks buffer's binding to each context's current vertex array's binding point, kElementArrayBufferIndex is added to VertexArrayBufferBindingMask bits so that the element buffer is tracked exactly the same as other vertex array buffer bindings. The VerextArray code has been modified to handle this special bit, since element buffer has its own binding point VertexArrayState::mElementArrayBuffer as opposed to VertexArrayState::mVertexBindings. After this CL, VertexArray object should be completely off subject/observer usages. Bug: angleproject:400711938 Change-Id: I662ddfabc95034bdc7734939c944ab033f41801c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6552160 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Alexey Knyazev bdaf87cf 2025-05-15T00:00:00 Enforce validation consistency Asserted that: * Exactly one error is generated if validation fails. * No error is generated if validation passes. Supported only for entry points with autogenerated context support checks. Lockless entry points are excluded for now. Bug: angleproject:406922380 Change-Id: I7549c8011768b1aa311d843b1658005ca3aba3b6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6568559 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 1e45cbe3 2025-04-24T00:00:00 Update entry points autogen template Used the same template for the always supported entry points as for entry points with conditional support. No functional changes. Bug: angleproject:409484297 Change-Id: I2077dec903a3bb52a69085acf5781c0df9ea935c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6574234 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Geoff Lang 3c0b2787 2025-05-17T19:36:42 WebGPU: Implement EGLImages Implement EGLImages for WebGPU. Cube maps, and non-zero mip sources are not supported yet. Bug: angleproject:418022112 Change-Id: I59955aee907167a1829f870b7d0730a6269d814c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6557130 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Charlie Lao 937cf23c 2025-05-13T16:11:47 Vulkan: Remove VertexArrayBufferContentsObservers When vertex array needs to convert buffer's data, right now it uses Subject/Observer to subscribe notifications from buffers about the data change. Since we always dirty all binding point when we bind VertexArray, or app has to rebind buffer to vertex array if its on the other context, this notification really is only needed for the current context's vertex array. In prior CLs we already moved notification from buffer to the current context's vertex array away from Subject/Observer usage pattern. This CL did similar things to VertexArrayBufferContentsObservers::mContentsObservers. VertexArrayBufferContentsObservers has been deleted in this CL. Each VertexArrayImpl now tracks the need of content observer with a bit mask of each bindingIndex (which is tracked by mContentsObserverBindingsMask). When a buffer's content changes, gl::Buffer will retrieve this bit mask from backend and pass it to the current gl::Context, which sends to current VertexArray object, which then set proper DATA dirty bits on VertexArray based on the binding bit mask. If back end think it does not need any data conversion, then the bit mask is zero and nothing will be done. This further removes dependence on subject observer, which enables us to avoid taking shared context lock for glEnableVertexAttribArray and glDisableVertexAttribArray. Bug: angleproject:400711938 Change-Id: Ieb0c09c042a560dd121242b63ec24478482399b3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6549157 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang dc43c3ba 2025-05-17T19:28:20 WebGPU: Implement Renderbuffers Implement the RenderbufferWgpu class. Add the concept of a non-owned webgpu::ImageHelper for supporting EGLImage in the future. Fix some missing texture formats that now get tested with dEQP. Bug: angleproject:418022112 Change-Id: Ie1239ec581e62044e7c8723fc33cb7565d50575c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6557129 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Geoff Lang f537c6d9 2025-04-28T17:30:13 Allow passing a DawnProcTable to DisplayWgpu. Bug: angleproject:42266898, angleproject:414827222 Change-Id: Ibf381461881244c9a874f2d24d3248995ea0760c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6496389 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Matthew Denton <mpdenton@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Liza Burakova <liza@chromium.org>
Geoff Lang 70b90f22 2025-05-09T16:51:31 WebGPU: Use the C API only from the proc table Define WGPU_SKIP_DECLARATIONS so that errors are generated when using the global c or cpp functions. The default proc table getter requires the cpp API is visible. Hide this in a new wgpu_proc_utils so the rest of the WebGPU backend cannot see those APIs. Bug: angleproject:342213844 Change-Id: Ia1e9bfd25b0bb538cebeaa0efe7b9d2eeabc990d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6534317 Reviewed-by: Liza Burakova <liza@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Alexey Knyazev 720f6bbe 2025-05-15T00:00:00 Fix attribute and uniform name validation * Fixed null name error messages to refer to correct parameters. * BindUniformLocation * Added name checks for null and all reserved prefixes. * Fixed error code for reserved prefixes. * GetAttribLocation & GetUniformLocation * Moved reserved prefixes check to the Context. * Fixed and expanded tests. Fixed: angleproject:418986804 Change-Id: I62760b3010fd38ee2e31e4ff88d9910647b329dd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6568552 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Geoff Lang 3158d638 2025-05-06T17:08:56 WebGPU: Store the WebGPU proc table in wrappers Instead of relying on the global WebGPU functions, pass the proc table to the object wrappers. Bug: angleproject:342213844 Change-Id: I79a5e819ffac5b366fed0a159a6cef116b5e82b3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6514676 Reviewed-by: Liza Burakova <liza@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Geoff Lang 71b58cdc 2025-05-17T18:12:33 Fix feedback loop in ImageTest.SourceRenderbufferTargetTexture* This test would make a renderbuffer as an EGLImage source and a texture as the target. It would then try to verify the data in the texture by sampling but the renderbuffer was currently bound to the framebuffer creating a feedback loop. Bug: angleproject:418022112 Change-Id: I456eb541c84d98d99e6b8d8be817ce67d7b1d519 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6556610 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Tim Van Patten dcbcee8a 2025-05-15T10:39:55 Tests: Use eglGetPlatformDisplay() From the EGL 1.5 spec: Appendix F Version 1.5 EGL version 1.5 was voted out of the Khronos Technical Working Group on January 31, 2014, and formally approved by the Khronos Board of Promoters on March 14, 2014. EGL 1.5 is the sixth release of EGL. It introduces the following new features (the EGL extension(s) each feature is based on are also shown parenthetically): * Platform support: – Providing a mechanism for support of multiple platforms (such as window systems or offscreen rendering frameworks) in a single EGL implementation at runtime (EGL_EXT_platform_base). Many tests use eglGetPlatformDisplayEXT() which is provided by the EGL extension EGL_EXT_platform_base. With the promotion of the EGL_EXT_platform_base functions to core EGL in version 1.5 and ANGLE supporting EGL 1.5 (as of at least 2019), update the calls to use eglGetPlatformDisplay(). This is in preparation for running the ANGLE end2end tests in Android, which only exposes the EGL 1.5 functions, and not the EGL_EXT_platform_base functions. Bug: b/391967165 Test: angle_end2end_tests Change-Id: I58109c3afe270f46db952e124ee3f5c11200ca35 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6552257 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Yuxin Hu b4d39a07 2025-05-19T11:07:08 Reformat VVL Error Message Tests failed in this manual roll https://chromium-review.googlesource.com/c/angle/angle/+/5689521 no longer runs into the SYNC-HAZARD-WRITE-AFTER-WRITE VVL error. Remove the VVL error from the skipped VVL error list. Bug: angleproject:352094384 Change-Id: I8b0a4baebd7276fc6d42e0357a3b6f49adb0b4f4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6564666 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Auto-Submit: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Tim Van Patten e7277deb 2025-05-19T11:16:56 Add test to validate eglGetPlatformDisplayEXT() Add a test to validate eglGetPlatformDisplayEXT() returns a valid display on devices that support the EGL extension EGL_EXT_platform_base. Bug: b/279980674 Test: EGLDisplayTest.GetPlatformDisplayEXT/* Change-Id: I8cbb9c3905deb960e567a07d64e6c9d590a4ae70 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6565328 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Alexey Knyazev 5fd79e6a 2025-05-15T00:00:00 Remove unused parameter from ValidateGetVertexAttribBase Bug: angleproject:409484297 Change-Id: I98fdfe8dbaeb6bc08a0c0a7a4a032850fcbdd37f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6558251 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Xinyu Fang c601f0e7 2025-04-08T17:56:22 Add extra validation of null pointers for certain APIs Bug: angleproject:409110245 Change-Id: I25dfdbdc52cdb0d7d2a91d773a0f3600e370f139 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6440146 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Mavis Deng 30479104 2025-04-28T16:01:46 Add support for GL_EXT_texture_norm16 in glCopyImageSubDataEXT Add the following compatible norm16 formats in EXT_copy_image: RGBA16_EXT RGBA16_SNORM_EXT Bug: angleproject:412517249 Change-Id: I4939705915940dacaf3168acf1a7cc7abb0870ba Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6490613 Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Mavis Deng <mavis.deng@arm.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Matthew Denton 56becf05 2025-05-16T16:58:34 WGPU: texSubImage2D() should mark textures as dirty TextureWgpu now observes its ImageHelper's edits to staged subresources and notifies its observers (Texture) that it has changed, ensuring TextureWgpu::syncState() is called before draw if glTextSubImage2D() was called earlier. Also ends the current render pass when flushing subresource updates, otherwise if the texture is being used by the current webgpu::CommandBuffer (staged render pass commands), the texture may be updated before the staged commands are actually submitted to the GPU. Bug: angleproject:389145696 Change-Id: I07db566fca970e877a0d3faa3ceb02f8425c799a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6502676 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Matthew Denton <mpdenton@chromium.org>
Yuxin Hu e6231b0f 2025-05-16T10:29:46 Reformat VVL Error Message catalyst_black trace no longer runs into the SYNC-HAZARD-WRITE-AFTER-READ VVL error mentioned in http://anglebug.com/42266390. Remove the VVL error from the skipped error list. Bug: angleproject:42266390 Change-Id: I7e3055e61632e1de42dc24233724f73beefef653 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6557942 Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Auto-Submit: Yuxin Hu <yuxinhu@google.com>
Matthew Denton 4a5e20f2 2025-05-15T11:20:31 WGPU: Round uniform buffers to the alignment of a uniform struct The default uniforms are packed into a struct, and structs in WGPU's uniform address space are always aligned to 16. I.e. RequiredAlignOf (struct S, uniform) = roundUp(16, AlignOf(S)) and AlignOf(S) is at most 16. The uniform buffer should be sized to include all bytes of the struct including the padding bytes at the end. Fixes bugs like "The shader uses more bytes of the buffer (224) than the layout's minBindingSize (212)" Bug: angleproject:376553328 Change-Id: I7e52e81a6a6f45470d14e891888627ac6d0d9c02 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6549155 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Liza Burakova <liza@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Xiang Wang 3f7bded1 2025-05-15T13:35:18 Add ANGLE_FORMAT_PRINTF to StringPrintf Bug: b/414880678 Test: verified that the compiler attribute will generate error when building without crrev.com/c/6543549 Change-Id: If1b57f78370d57969e999b93e17444236f194be1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6551849 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Matthew Denton 96c9f065 2025-05-15T19:22:29 WGPU: Flip y for the default framebuffer Bug: angleproject:389145696 Change-Id: I0d527ad3dc24dbca7e9d914b03edacdc257a568f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6477137 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Matthew Denton <mpdenton@chromium.org>
Robert Liao db71e8fa 2025-05-13T14:16:39 Use os.path.abspath for the cwd in commid_id.py os.path.realpath will resolve subst drives to the underlying path, which is inappropriate when the CWD is actually in the subst path. This causes os.path.relpath to fail due to a mismatched drive letter. Example mapping: D: -> S:\src\D E: -> S:\src\E Fixed: chromium:417529141 Change-Id: I70de53d511672dedf9cf2f77006526977b736526 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6546083 Auto-Submit: Robert Liao <robliao@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuxin Hu <yuxinhu@google.com>