src


Log

Author Commit Date CI Message
Alexey Knyazev cb7d3cc2 2024-02-09T00:00:00 Treat clip/cull distance built-ins as having side effects The sizes of these built-in arrays may be affected by indexing them with constant integral expressions so such operations should not be optimized out. Fixed related failures during MSL and HLSL translation. Fixed: angleproject:8525 Change-Id: I8460aa03b997ebc4142ee2d9f81eeefe13661336 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5285436 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov 239e8caa 2024-02-12T11:29:20 Capture/Replay: Disallow concurrent ninja processes. To confirm whether reclient flaky failures are due to concurrency. Bug: b/323830218 Change-Id: I79ed257675624393135f9072fd207a46b4d2a30e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5285434 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Roman Lavrov <romanl@google.com>
Chris Forbes eaddd3ba 2024-02-09T15:39:43 Vulkan: use linear chroma filter for ycbcr by default This aligns our choice of initial chroma filter with the initial sampler state in a texture object with target GL_TEXTURE_EXTERNAL_OES. It is still possible to confuse the backend in some edge cases (which will be addressed with later patches), but at least we have the default right. Bug: b/315387961 Test: atest CtsNativeHardwareTestCases Test: atest CtsMediaDecoderTestCases Change-Id: I2430a084a95010c7c5084cd858d4255e531e6f13 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5278362 Commit-Queue: Chris Forbes <chrisforbes@google.com> Reviewed-by: Charlie Lao <cclao@google.com>
Saifuddin Hitawala 275e6f4f 2024-02-02T16:46:14 D3D: Add multiplanar support to d3d11 glTexSubImage2D Add multiplanar format support to Angle's D3D11 glTexSubImage2D. This is needed with multiplanar shared images, where we write all planes of a d3d shared image through WritePixelsYUV in raster decoder and need to do this via an intermediate texture for d3d11. This change checks for multiplanar format supported by Image11 and then goes through TextureD3D::commitRegion and performs copyTexture and then copySubResource. Added necessary test that tests for full texture copy and a subregion copy and reads back and verifies. Bug: chromium:40262482 Change-Id: I74c9978e62339375f6623f7f0a609bcb16c4b970 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5263039 Reviewed-by: Vasiliy Telezhnikov <vasilyt@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Saifuddin Hitawala <hitawala@chromium.org>
Geoff Lang e489dac0 2024-02-02T13:52:47 Allow BGRA -> RGBA for glCopyTex[Sub]Image The opposite RGBA->BGRA was already allowed for handling platform- specific default framebuffers. This allows the copying a IOSurface- backed framebuffers to RGBA textures. Bug: chromium:1523778 Change-Id: I124a4acc8c8fcdd1d3aae861d756d17022c4b4cc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5254778 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 5d9abeca 2024-02-06T16:24:34 Revert "Suppress VUID-VkGraphicsPipelineCreateInfo-dynamicRendering-06576" This reverts commit 39b9d94750328ec33aad244ddf28d16d9e748b2d. Reason for revert: Fixed upstream: https://github.com/KhronosGroup/Vulkan-ValidationLayers/pull/7439 Original change's description: > Suppress VUID-VkGraphicsPipelineCreateInfo-dynamicRendering-06576 > > VVL is still working on a fix for > https://bugs.chromium.org/p/angleproject/issues/detail?id=8516#c2. > > Suppress the VVL error to unblock the vulkan-deps > auto roller > > Bug: angleproject:8516 > Change-Id: I58a2593fe0bdde5d53e07ee68e6b83847cd41d37 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5263501 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Bug: angleproject:8516 Change-Id: Iec2a523e56040b2173489f26a38fe6df6fe1b609 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5273485 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Chris Forbes 3ad163d0 2024-02-09T12:29:40 Vulkan: Don't attach format features 2 version of AHB structure There's no need to attach both VkAndroidHardwareBufferFormatPropertiesANDROID *and* VkAndroidHardwareBufferFormatProperties2ANDROID here. We don't use anything from the `2` variant so just drop it. Bug: b/315387961 Change-Id: I23166743010550ad3f6bb0144c9665b392deac66 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5275259 Commit-Queue: Chris Forbes <chrisforbes@google.com> Reviewed-by: Charlie Lao <cclao@google.com>
Solti 475784f5 2024-02-07T21:24:36 suppress VUID-VkPipelineVertexInputStateCreateInfo-pNext-pNext Bug: angleproject:8522 Bug: b/324243941 Change-Id: I825986e7c98f50522d7ba25c0c78839802c42c3d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5277631 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Solti Ho <solti@google.com>
Roman Lavrov c603a4f1 2024-02-08T10:53:27 Don't perf warn about ETC1->ETC2 emulation as it is efficient Format is forwards compatible: https://crsrc.org/c/third_party/angle/src/libANGLE/renderer/gl/formatutilsgl.cpp;drc=21f16cb16333802dfa942d67cac59885f904301d;l=701 Added hasInefficientlyEmulatedImageFormat() helper Bug: b/302115557 Change-Id: Ibc82c27ecf4e3afbfaac52cb45bdda776c50b4b3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5278562 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Yiwei Zhang ef78e570 2024-02-07T20:52:19 Revert "Vulkan: disable warmUpPipelineCacheAtLink for Venus" This reverts commit 0be59b3d83dd7b72daf2aab9d03702cfa46d4751. Needed by GPL. Meanwhile, the prior jank issue with Dota Underlords has been worked around separately. Bug: b/323708819, b/267577845 Test: parallel shader warmup works with ANGLE-on-Venus Change-Id: I61c63581b8c4e4c776842e7906e52d268e024ed2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5277630 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Yiwei Zhang <zzyiwei@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Solti Ho f431641a 2024-02-07T17:27:51 Revert "Vulkan: Get rid of X11 include in DisplayVkXcb.cpp" This reverts commit 8abbe2836bb49faba8a97e2df59058290e1c385a. Reason for revert: https://chromium-review.googlesource.com/c/chromium/src/+/5274193 Original change's description: > Vulkan: Get rid of X11 include in DisplayVkXcb.cpp > > Bug: angleproject:8520 > Change-Id: Iaa251b0ba2858873b8d22e8f9e5dae7a2567c95e > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5273489 > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Geoff Lang <geofflang@chromium.org> Bug: angleproject:8520 Change-Id: I91bdd48d8893cbe3a6eed8058c0034a4ef1aed0a No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5276987 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Solti Ho <solti@google.com>
Kimmo Kinnunen ab71d751 2024-02-07T14:25:32 Fix an assert on multidim array constructors Fail early instead of asserting when trying to parse a multidimensional array constructor call with unsized argument array argument. int A[]; int B[int[][](A)]; Bug: angleproject:8519 Change-Id: Iee2c70318eebd2def57ffab8db709d1076692922 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5272434 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 8abbe283 2024-02-06T14:44:39 Vulkan: Get rid of X11 include in DisplayVkXcb.cpp Bug: angleproject:8520 Change-Id: Iaa251b0ba2858873b8d22e8f9e5dae7a2567c95e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5273489 Reviewed-by: Geoff Lang <geofflang@chromium.org> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Bani Singh cf77126a 2024-02-06T15:50:15 Turn off ADC explicitly Prevent ADC to be used for windows bots, use gce instead. Bug: b/323830218 Change-Id: I15e0faeb2a22b6bcb933f8cecbe986489e4f2991 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5273482 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Geoff Lang e62bd70a 2024-01-29T14:18:07 Metal: Disable Metal on older Mac models with GPU family 1. Skip the creation of the default Metal device entirely on macs that would not pass the GPU family checks. Bug: chromium:1322521 Change-Id: I7bdc3631125a0535370328b0e1bcba347cbbd5d0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5245647 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org>
Mohan Maiya d05c9a5e 2024-01-25T13:01:49 Frontend support for QCOM foveated extensions Add frontend state management to support foveated rendering extensions. Bug: angleproject:8484 Test: Texture2D*Foveation* Change-Id: I0e1be9f11b2d442207674562da760f5bfd7debc8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5208091 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: mohan maiya <m.maiya@samsung.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Roman Lavrov 11eb5eb7 2024-01-30T10:59:45 Traces: support checkout of individual traces Example .gclient to checkout a couple traces only: 'checkout_angle_restricted_trace_antutu_refinery': True, 'checkout_angle_restricted_trace_bubble_shooter': True, To be used in conjuction with gn args, e.g.: angle_restricted_traces=["antutu_refinery", "bubble_shooter"] Note: when need perfetto, we'd also need to add: 'checkout_angle_perfetto': True, because it defaults to checkout_angle_restricted_traces which is not being set to True in this case. Bug: b/322507257 Bug: b/322779830 Change-Id: I404e26919899c8874b570d6ffa80c86fabfd3348 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5249196 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Amirali Abdolrashidi 5a061558 2024-01-31T13:05:59 Vulkan: Update dynamic buffer size policy When allocating a dynamic buffer, it is checked if the new data can fit in an existing allocation. However, if the size of the new data exceeds that of the current buffer, a new one is allocated. To avoid using too much memory, if the data size is less than a threshold (a fraction of the current buffer size, a smaller size will be used for the new buffer. However, with a specific pattern for the new sizes, combined with the threshold value, there could be many allocations and deallocations, which can affect the performance. In this CL, the policy to update the dynamic buffer size is updated to avoid this issue. * Instead of using a smaller buffer when the required size is less than 1/4 of the current buffer size, it is done when the average required size is less than 1/8 of the current size. * Added a decaying average required size for the DynamicBuffer object. * mSizeInRecentHistory * For each new buffer allocation, the new required size is used with the average size to calculate the new average. * For each calculation, kDecayCoeffPercent is used as the weight for the existing average, and the rest is the new required size, plus rounding. * kDecayCoeffPercent is currently set to 20%. * sizeIgnoringHistory renamed to minRequiredBlockSize for more clarity. Bug: b/322216767 Change-Id: Idcabbbe50f656910fe2103925e4d6d8602ca3425 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5254218 Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Yuxin Hu 39b9d947 2024-02-02T13:32:30 Suppress VUID-VkGraphicsPipelineCreateInfo-dynamicRendering-06576 VVL is still working on a fix for https://bugs.chromium.org/p/angleproject/issues/detail?id=8516#c2. Suppress the VVL error to unblock the vulkan-deps auto roller Bug: angleproject:8516 Change-Id: I58a2593fe0bdde5d53e07ee68e6b83847cd41d37 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5263501 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Chris Forbes f5f3304a 2024-02-02T16:27:38 Vulkan: Simplify handling of YUV filtering support When the requested filtering mode changes, we need to consider whether it is actually supported by the Vulkan driver. Now that we support renderable YUV textures, there are now three interesting cases: 1) The texture has a VkFormat, and so filtering support can be queried from GPDFP, as was already done. 2) The texture is imported from an opaque AHB using an external format, that format is renderable, and so we have assigned one of the EXTERNALn angle formats. This was *not* covered properly, and would lead to VVL errors or UB. 3) The texture is imported from an opaque AHB using an external format, and we have not assigned an EXTERNALn angle format to it, because the format is not renderable, or the Vulkan driver is missing the external format resolve functionality; In this case the angle format is NONE. This was similarly *not* covered properly, although the code did attempt to protect itself from querying the capabilities of format NONE. VVL errors and UB were still possible. To most simply cover all of these cases, capture whether the image has the VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER feature upfront, and forget about format lookups in the internals of the YcbcrConversionDesc. Bug: b/315387961 Change-Id: Ie140293d52c2b88bf06ef19bc54bb1c95927b8ce Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5259719 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi c70c329e 2024-01-31T15:59:19 Vulkan: Fix texture copy vs pre-rotation A minor error where the destination offsets were swapped based on source rotation. Bug: b/319336510 Change-Id: I5541f8d0bf0b7306b951d2601c8c27ffedb8470e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5254238 Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Austin Annestrand 82ba79ff 2024-01-08T15:22:59 OpenCL: Update CLtypes.h to cl_types.h This change/enhancement is to keep codebase more consistent since vulkan backend versions of this header use lowercase-snake_case for file name. Bug: angleproject:8501 Change-Id: I223712c72db06425d192ddfe7300e5475c341e38 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5233364 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Austin Annestrand f8c06f10 2023-11-30T17:45:35 OpenCL: Add types to cl_mem origin and region Now using cl::MemOffset and cl::Coordinate. Bug: angleproject:8439 Change-Id: Id775fe78467d3b56d2a7cc87f793221ab5e04bc5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5078244 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi ecc35205 2024-01-25T23:58:25 Move uniform block dirty bits to State When glUniformBlockBinding changes the mapping from a program uniform block to a buffer binding, all contexts in the share group need to reprocess the affected block index. Prior to this change, the dirty bits that indicated which blocks have their mapping redefined were placed in the program executable, and were reset by the first context that processed them. As a result, the other contexts in the share group where not aware of such modifications. Similarly, when a buffer changed in one context, the mapped program blocks were marked dirty, with similar cross-context issues. In this change, the dirty bits are moved to State, so every context would react to these changes. Bug: angleproject:8493 Change-Id: I5712002224cbc4a576bf2ac46e8e75f26ebc5b2a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5238991 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Yuxin Hu 1abfdc37 2024-01-31T10:24:51 Remove suppression of VVL error Remove the suppression of VVL error VUID-VkFramebufferAttachmentImageInfo-viewFormatCount-09536. This change in ANGLE https://chromium-review.googlesource.com/c/angle/angle/+/5246088 properly fixed the VVL error. Bug: angleproject:7553 Bug: angleproject:8513 Change-Id: Ic866bae689a649fdabfde8e80a882595e2e7947c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5249864 Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Liza Burakova 157088ad 2024-01-30T20:24:50 Add EGL extension for WebGPU Bug: angleproject:8476 Change-Id: Ic5aad4eb56239d9346c6ba1f812d070ce85131a1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5245895 Reviewed-by: Matthew Denton <mpdenton@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Liza Burakova <liza@chromium.org>
Matthew Leibowitz a70b6f56 2024-01-26T20:37:07 Add support for WinUI3/Windows App SDK Adds the necessary build args and code changes to support building ANGLE for WinUI 3 (aka Windows App SDK). To reduce the set of changes, and because it is functionally the same, a Windows App SDK build is basically a UWP build, but with an extra define so that the code can make a few changes to the namespaces and includes used. The main changes to the code are: - ICoreWindow is no longer used - Dispatcher has a few changes in naming and args - ISwapChainPanel is now in a different namespace Bug: angleproject:8490 Change-Id: Ibb298e3e86e8298dac12c2019eac7996a8185c51 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5230637 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Bani Singh 0640f651 2024-01-30T17:42:31 USE GCE Credentials for Chrome Bot In case of bot, use GCE instead of automatic_auth which will no longer fall back to ADC (and hence GCE). Bug: b/319246651 Change-Id: I86942c30bea911b1cc89870a748bf564584af660 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5249329 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Cody Northrop 0ada0b7f 2024-01-29T16:36:18 Test: Add Plague Inc. trace Test: angle_trace_tests --gtest_filter="*plague_inc*" Bug: b/321562592 Change-Id: I1a68b80659517aec61315e51cacc486f44410cdf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5250428 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Mark Łobodziński <mark@lunarg.com>
Cody Northrop 9ca81c7e 2024-01-21T13:35:06 FrameCapture: Handle zero vertex count draws Seeing the following from GLES1 (note count = 0): glDrawArrays(context = 1, mode = GL_POINTS, first = 0, count = 0) This crahes in FrameCaptureShared::captureClientArraySnapshot: 'length_error was thrown in -fno-exceptions mode with message "vector"' The function assumes vertexCount will always be greater than zero. This CL updates it to detect the empty case and simply return. Negative counts are already handled as a GL error. Test: Plague Inc MEC Bug: b/321562592 Change-Id: I3613eaac297a3471dc998b023bf2658413cb5d1b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5250427 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Mike Schuchardt <mikes@lunarg.com>
Geoff Lang 98846aa8 2024-01-30T10:23:48 Metal: Temporarily disable asm injection. Some Mac11 bots started to fail after the asm injection started. Disable this path to determine if it was the root cause. Bug: chromium:1522730,chromium:1513738 Change-Id: I2580f124735f576257bb46fbf47394ff845384f8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5249328 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya ab4aed3f 2024-01-29T10:59:58 Bugfix in PixelLocalStorageTest Add GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST to following tests - - PixelLocalStorageValidationTest - PixelLocalStorageCompilerTest - PixelLocalStorageTestPreES3 Bug: angleproject:7279 Change-Id: Ibd2e682be195fddff1cf638e37d12bcc740cf3a4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5243831 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Mohan Maiya 5c2fc02b 2024-01-29T16:49:28 Vulkan: Bugfix in ImageFormat FixedVector::operator[] does not update FixedVector::mSize. Need to call FixedVector::push_back(...) instead. Bug: angleproject:7553 Change-Id: I544a68276d1635957a27d21c222f50f71d35a609 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5246088 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Yuxin Hu 349e75cc 2024-01-29T16:41:42 Suppress VUID-VkFramebufferAttachmentImageInfo-viewFormatCount-09536 After this VVL change: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+/40d989c436d43538be341cd614a595505ce907cc, the newly added VVL error starts to be thrown on multiple ANGLE bots. Suppress this VVL error to unblock the vulkan-deps roller first. Will investigate later how to fix the VVL error in ANGLE. Bug: angleproject:8513 Change-Id: I7d74ff762c3b78d70c3ba5139c1b6955d4cd49e1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5247713 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Shahbaz Youssefi 0c4d6446 2024-01-24T10:38:45 Rework uniform block <-> uniform buffer mapping In GLES, the shader declares which buffer binding a block (uniform, storage or atomic counter) is bound to. For example: layout(binding = 1) uniform ubo0 { ... }; layout(binding = 2) uniform ubo1 { ... }; layout(binding = 1) uniform ubo2 { ... }; In the above, ubo0 and ubo2 use data from the buffer bound to index 2 (through glBindBufferRange), while ubo1 uses data from the buffer bound to index 1. For uniform blocks in particular, omitting the binding is allowed, in which case it is implicitly bound to buffer 0. GLES allows uniform blocks (and only uniform blocks) to remap their bindings through calls to glUniformBlockBinding. This means that the mapping of uniform blocks in the program (ubo0, ubo1, ubo2) to the buffer bindings is not constant. For storage blocks and atomic counter buffers, this binding _is_ constant and is determined at link time. At link time, the mapping of blocks to buffers is determined based on values specified in the shaders. This info is stored was stored in gl::InterfaceBlock::binding (for UBOs and SSBOs), and gl::AtomicCounterBuffer::binding. For clarity, this change renames these members to ...::inShaderBinding. When glUniformBlockBinding is called, the mapping is updated. Prior to this change, gl::InterfaceBlock::binding was directly updated, trumping the mapping determined at link time. A bug here was that after a call to glProgramBinary, GL expects the mappings to reset to their original link-time values, but instead ANGLE restored the mappings to what was configured at the time the binary was retrieved. This change tracks the uniform block -> buffer binding mapping separately from the link results so that the original values can be restored during glProgramBinary. In the process, the support data structures for tracking this mapping are moved to ProgramExecutable and the algorithms are simplified. Program Pipeline Objects maintain this mapping identically to Programs and no longer require a special and more costly path when a buffer state changes. This change prepares for but does not yet fix the more fundamental bug that the dirty bits are tracked in the program executable instead of the context state, which makes changes not propagate to all contexts correctly. Bug: angleproject:8493 Change-Id: Ib0999f49be24db06ebe9a4917d06b90af899611e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5235883 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 3fdf576a 2024-01-26T14:37:42 Vulkan: Workaround Nvidia driver bug with OpSelect Bug: angleproject:8503 Change-Id: I4bd2580056df3d970a1316d0dbeaaad7590aa947 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5237873 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Shahbaz Youssefi 0ea24ef2 2024-01-26T16:50:39 Unsuppress passing tests Bug: angleproject:3871 Bug: angleproject:3872 Bug: angleproject:3879 Bug: angleproject:4686 Bug: angleproject:4704 Bug: angleproject:4718 Bug: angleproject:4721 Bug: angleproject:4792 Bug: angleproject:5086 Bug: angleproject:5313 Bug: angleproject:6109 Change-Id: I0d0f88a388cd2f19da99a7defd0ab8d98db0e6e0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5241306 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 863d4862 2024-01-27T17:42:19 Work around MSAN complaint with pool allocator - Part 2 Cache a member variable accessed after destructor so MSAN doesn't consider it having an uninitialized value. Bug: b/314793573 Change-Id: I7cb515205ed5bf3ba52d68220866009dd04f2d08 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5243114 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Geoff Lang 9318a143 2024-01-11T15:58:44 Add __asm__("") statements to loop bodies in MSL. This prevents erasure of infinite loops during optimization passes. Bug: chromium:1513738 Change-Id: I84a305b5e7fd824531d9e3ebae5496ddec030bac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5191166 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
Shahbaz Youssefi 0beed753 2024-01-26T12:42:28 Work around MSAN complaint with pool allocator Cache a member variable accessed after destructor so MSAN doesn't consider it having an uninitialized value. Bug: b/314793573 Change-Id: I45044e0801ae12a80301240b4de05e9cae03dcc1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5238220 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Chris Forbes 6367f541 2024-01-25T10:16:04 Vulkan: supply YcbcrConversionDesc earlier Previously, the AHB import path would allow ImageHelper to build a bogus YcbcrConversionDesc (in initExternal) and then later overwrite it with what it wanted. The intermediate state was not necessarily valid, and could cause assertion failures and VVL errors. Instead, have ImageHelper clients provide the conversion they want upfront. In the non-external case, build an appropriate conversion for formats which need them, before delegating to initExternal. Bug: b/315387961 Change-Id: Icc8f561bb2de0289ceec56d41978b8c4651a47a2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5232769 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Chris Forbes <chrisforbes@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Bani Singh 66517b0b 2024-01-26T18:18:05 Revert "Use ADC for GCE VM" This reverts commit 2dfbedee7d4f9c84f278818217a1fa0908d6cbee. Reason for revert: May be causing credentials errors Original change's description: > Use ADC for GCE VM > > In case of bot, use ADC instead of automatic_auth which will in the > future be done through credshelper and will not support ADC. > > Test: Locally ran script with no errors, and tested that running > autoninja respects environment variables > > Bug: b/319246651 > Change-Id: I58a282047d387ef54659dbb195cc117b3459d2e8 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5212967 > Reviewed-by: Roman Lavrov <romanl@google.com> > Reviewed-by: Cody Northrop <cnorthrop@google.com> > Commit-Queue: Cody Northrop <cnorthrop@google.com> Bug: b/319246651 Change-Id: I315651d99e937c331183b28ea7d7d665b43fc6d9 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5236466 Auto-Submit: Bani Singh <banisingh@google.com> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Geoff Lang f405b999 2024-01-19T11:18:49 Make RefCountObject use atomics for the reference count When the context share lock is disabled it is possible for races with EGL Image reference counting causing the EGL Image to be deleted. egl::Image already protects its members with a mutex but the siblings also hold a reference to the egl::Image, if siblings are added and removed at the same time, writing to the ref count races and the egl::Image can be deleted while still being referenced. Bug: angleproject:6957 Change-Id: I3da8691136b6dbcffb2094187c81cafda077e50d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5214270 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Roman Lavrov 6c23a423 2024-01-26T08:37:12 Tests: skip one of dEQP texture_border_clamp tests on SwS dEQP-GLES31.functional.texture.border_clamp.range_clamp.linear_float_color Bug: angleproject:8507 Change-Id: Ie332c086ca9b145187f4461f646a5e534d323054 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5238216 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Alexey Knyazev 02aa605a 2024-01-25T00:00:00 Metal: Include only the <metal_stdlib> header Removed the logic for generating individual include macros as <metal_stdlib> provides all functions. Fixed: angleproject:8504 Change-Id: I8c83ca8cc2443a4b64e4e022a3a694c7643be569 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5237274 Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Matthew Leibowitz 36013d99 2024-01-24T01:21:10 Improve build for UWP/Windows 10 These changes update the code for more modern compilers. The changes include: A) Not using deprecated APIs When Windows 8.1 was removed in commit 39b110184e2675afbfda1fd70b10ca112127ae74 the code was not updated to use the new APIs and still use the things that should not be used: > DisplayProperties may be altered or unavailable > for releases after Windows 8.1. Instead, use > DisplayInformation. B) Use correct casting There was also some changes in commit 5eadaf85b42ab1cbb1efcda558db58a3fe5a446a to properly cast from EGLNativeWindowType to IInspectable*, but this was not all of the cases. C) Prepare for WinUI3 There is another change that moves types into a using to reduce verbosity as well as make it easier/cleaner to build for WinUI/Windows App SDK. Bug: angleproject:8496 Change-Id: Ia11b7f92cb4abc524ab8316125e80a22898a8f6b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5232157 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov cbdbe3bd 2024-01-26T10:05:41 deqp: Unused test expectations do not cause failure, only log deqp is the only suite that appears to be handling unused expectations this way. This causes an inconvenience where a test cannot be pre-emptively added to the expectations file. For example, a VK-GL-CTS roll might be adding a new test that is failing in some configurations. The expectation cannot be added to the expectations file pre-emptively because of the failure due to the unused expectation, but that is the more convenient way to solve this problem than patching the roll manually. Bug: angleproject:8507 Change-Id: If2ee65d9119043c42e8ca0705a1cc8c40827fae3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5238992 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com> Auto-Submit: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Brandon Schade e9bd169c 2024-01-24T12:26:46 Vulkan: Fix nullptr in Diagnostics - VK Spec for VkDebugUtilsMessengerCallbackDataEXT says pMessageIdName may be nullptr and pMessage must not be a nullptr - This was enforced by the following change Vulkan: Don't crash on diagnostics with null pMessageIdName - But this was susequently broken by the following change Vulkan: Enable sync validation - This change adds a check to skip accessing callbackData->pMessageIdName if it is null Bug: angleproject:5290 Change-Id: I82dd225d875e233530158013efc280e979f82a5b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5238650 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Brandon Schade <b.schade@samsung.com>
Mohan Maiya d0f5a662 2024-01-25T13:01:24 Bugfix in entry points for QCOM foveated extensions Change framebuffer and texture parameter type from GLuint to FramebufferID and TextureID types respectively. Bug: angleproject:8484 Change-Id: I822897b268f2dab56cee3f5776c07ad46a6dd052 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5238212 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Bani Singh 2dfbedee 2024-01-18T16:52:10 Use ADC for GCE VM In case of bot, use ADC instead of automatic_auth which will in the future be done through credshelper and will not support ADC. Test: Locally ran script with no errors, and tested that running autoninja respects environment variables Bug: b/319246651 Change-Id: I58a282047d387ef54659dbb195cc117b3459d2e8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5212967 Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Alexey Knyazev 7d30cf9f 2024-01-22T00:00:00 Metal: Simplify sign function translation Check whether a float or an integer variant is needed and emit only what is necessary. Fixed: angleproject:8502 Change-Id: I7061a5faa7cf09519b30e64ff90c42bbe392908a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5234350 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Mohan Maiya ac71a592 2024-01-23T11:56:42 Vulkan: updates to pipeline cache graph dumping logic 1. To dump pipeline cache graph you need to - 1. add "angle_dump_pipeline_cache_graph" compile time flag to args.gn 2. set Android property "angle.dump_pipeline_cache_graph" or envvar ANGLE_DUMP_PIPELINE_CACHE_GRAPH on non-Android platforms before app start 2. Default path for dump on Android is "/data/local/tmp/angle_dumps/" 3. "angle.pipeline_cache_graph_dump_path" Android property or envvar ANGLE_PIPELINE_CACHE_GRAPH_DUMP_PATH on non-Android platforms can be used to configure the dump path Bug: angleproject:6565 Change-Id: I38848aff58f413dd7bdffc9083116bd4b95e4960 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5226054 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Hailin Zhang 2978450a 2024-01-12T14:32:19 Vulkan: add etc to bc transcoding perf test. test case for testing etc to bc texture transcoding. Bug: b/319117463 Change-Id: If663fad689a4e6886bc76145c296e8fbfe21b354 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5194408 Commit-Queue: Hailin Zhang <hailinzhang@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Shahbaz Youssefi b007c74d 2024-01-23T14:17:54 GL: Separate dirty bits leading to glUniformBlockBinding The GL backend is special in that it needs to make actual calls (native glUniformBlockBinding) in response to (application) glUniformBlockBinding calls. The other backends just remap the bindings based on that information when creating descriptor sets. Previously, an optimization to track which bindings have changed used the same dirty bits that were used to signify when the GL backend needs to make these native calls. That ended up as a source of bugs. In a previous change [1], the context DIRTY_BIT_UNIFORM_BUFFER_BINDINGS is set when these mappings change, which fixes some of these issues. That change obviates the need for an actual backend sync of programs, except for GL programs that need to make these native calls. This change splits the dirty bits maintained for the purposes of the GL backend, moves them to that backend and removes the program backend sync. [1]: https://chromium-review.googlesource.com/c/angle/angle/+/5228599 Bug: angleproject:8493 Bug: b/318806125 Change-Id: I73c6514e88a116f1cd701cb06da0d8c38f07f7f6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5230137 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 66de8492 2024-01-23T12:56:30 GL: Fix UBO binding mapping change In the absence of any other state change, the GL backend did not bind buffers (previously unused) that are used after a UBO binding mapping change. This also triggered assertion errors in the Vulkan backend. Additionally, this change improves cross-context programs, though the Vulkan backend is still affected by some bugs. A follow up change will rework the dirty bits for this change to fix that. Bug: angleproject:8493 Bug: b/318806125 Change-Id: I8f0ed4b5f666818f4fda9ec272c6b66419d64638 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5228599 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Alexey Knyazev 5857e0d6 2024-01-22T00:00:00 Metal: Adjust raster order groups AMD workaround condition Ensured that the raster order groups AMD workaround is used not only when there is no attachment on slot 0 but also when an existing attachment on slot 0 is disabled. Bug: angleproject:8263 Change-Id: I62352eb5d6fb1cce4b6a4723d41862c6c213b9d8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5230638 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Roman Lavrov a76e2798 2024-01-24T09:50:32 Suppress VUID-vkCmdEndDebugUtilsLabelEXT-commandBuffer-01912 Blocking VVL roll, new check recently added in: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+/6180ce40299b1346ee2caf4aa8b1540590e197e8 Bug: angleproject:8497 Change-Id: I40d600409ad0e9900c17fac9700ab4397be6c876 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5231423 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
Alexey Knyazev 600a1a80 2024-01-22T00:00:00 Metal: Clamp vector element index references Ensured that vector elements passed by reference are within the number of vector components. Fixed: angleproject:8492 Change-Id: I2defbd8dfd418256ddb87f8ce1a74ac09a8a1b7b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5229957 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Shahbaz Youssefi 1100cc5c 2024-01-23T16:18:52 Rename ShaderVariableBuffer It was only ever aliased to AtomicCounterBuffer after refactorings that made other buffers not use this class anymore. Bug: b/275102061 Change-Id: I09079d52bd107ed656c4c59a11e8a8027554a5ef Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5230141 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Roman Lavrov 81a43bd7 2024-01-23T17:15:54 Tests: skip TexelFetchLodOutOfBounds on SwS Shabi says it might after SwS rolls into Chromium But SwS is currently blocked by another issue Bug: angleproject:8495 Change-Id: I2aba1d652e868de28b258e79c74d2bd252e41f86 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5230142 Commit-Queue: Roman Lavrov <romanl@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Roman Lavrov 4cda949b 2024-01-22T10:21:25 Trace tests: extend warmup to at least 1.5s Some traces are very short (e.g. 10 frames) finishing the first loop very quickly. There appears to be some delayed activity within ~1s after this first loop, so make this part of warmup as well. Example log after this change: Warmup: 10 steps Stopping test after 10 trial steps. Warmup: Looping for remaining warmup time (1.38 seconds). Stopping test after 1.38 seconds. Warmup took 1.50 seconds. Bug: b/308975999 Change-Id: If861f275f280fcb61d839e34d672e6c948317f4c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5224902 Commit-Queue: Roman Lavrov <romanl@google.com> Auto-Submit: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Roman Lavrov 755372c8 2024-01-23T13:41:01 Tests: skip UniformUsageCombinations test on SwS Failing on swangle builders: https://crrev.com/c/5228780 Bug: angleproject:5792 Change-Id: Id3cb22641b3b5a5ce1fee96f59111c6e48bc1742 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5228602 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
Shahbaz Youssefi f794c9c2 2024-01-22T09:56:08 Tests for out-of-bounds LOD in texelFetch Bug: chromium:1504556 Change-Id: I3a92da00d9a8781122c7218f22a681839783dc7e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5225080 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Shahbaz Youssefi 341906d5 2024-01-22T10:19:25 Vulkan: Never delay device and queue selection Previously, when multiple queue families where eligible, ANGLE delayed the decision on which queue family to use and delayed device creation until a window surface was created. This assumption was never correct. The application may start rendering to pbuffers or using EGL_KHR_surfaceless_context long before it creates a window surface. So a queue may need to be chosen regardless of its surface present capabilities. Once done, ANGLE has no mechanism to change that queue should a window surface require a different queue. This change drops the pretense to support multiple queue families properly and makes ANGLE always choose the first graphics queue family it encounters. So far, only MoltenVk seems to expose multiple graphics queue families, and choosing the first one ultimately correct for the purposes of presenting to a MacOS surface. Bug: angleproject:8478 Change-Id: I8efbfe0c8036be5f9cee01eb657f83f85a4864fd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5225081 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 2431d4df 2024-01-18T00:00:00 Metal: Skip array index clamp for constant values Do not wrap constant array indices with ANGLE_int_clamp when their values could be statically validated. Fixed: angleproject:8488 Change-Id: I3ad183475e1847cb7db1a07df3598c7d39767d7e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5220233 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 2ba5bb12 2024-01-22T15:16:55 android_helper: fix corner-case byte/string mismatch When --isolated-script-test-output is provided and --list-tests is added, the string gets written to a file in binary mode raising an exception. Bug: None Change-Id: Id73ae49f849e0c1bd609d4b37ad39f5515e1f02b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5225485 Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Auto-Submit: Roman Lavrov <romanl@google.com>
Shahbaz Youssefi c6fbf93d 2024-01-19T09:57:12 Vulkan: Fix input attachments leaking into uniform list To communicate the existence of input attachments added to the shader, the translator was adding `ShaderVariable`s for each to the list of uniforms exported from the shader. This was incorrect, as this list is visible to the application through `glGetActiveUniform`. Additionally, this was unnecessarily causing these uniforms to go through program link. Reserving SPIR-V ids for these uniforms, all that is needed from the translator is the mere existence of these input attachments. This change removes the addition of uniforms, and instead exports a bitset. Elsewhere, that bitset is consulted and reserved SPIR-V ids are used. Bug: b/320563594 Bug: angleproject:5792 Change-Id: Id93846cbc3996248f391fd2d5a65af1e48d6d46e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5215089 Reviewed-by: mohan maiya <m.maiya@samsung.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Brandon Schade 317108d6 2024-01-18T17:59:51 Vulkan: Enable recordable bit for RGBA8 and RGB10_A2 Enable the recordable flag to be enabled for the RGBA8 and RGB10_A2 configs. Test: CtsMediaV2TestCases android.mediav2.cts.EncoderColorAspectsTest Bug: angleproject:6612 Change-Id: I2afaedde4751c5ca651d0d80ae1a8d14662c2f0c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5214887 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Brandon Schade f43db42c 2024-01-17T15:18:41 Enable LogGles32Capabilities test for vulkan backend Allow for LogGles32Capabilities test to no longer be skipped for the vulkan backend. Test: angle_end2end_tests.exe --gtest_filter=*PrintGLESCapabilities* Bug: angleproject:4093 Change-Id: I1711f016f63fa58ce3521cc8d2a2e75f189fb877 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5214007 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 16a5e8f1 2024-01-22T14:22:53 Revert "Prefer linear filtering for YUV for Pixel6+" This reverts commit 0da6522524247d6a1cb88ab1b48a1801ee609991. Reason for revert: Breaks an Android test b/321251332 Original change's description: > Prefer linear filtering for YUV for Pixel6+ > > This is required to pass CtsMediaDecodeTestCases. > Narrowed to just Pixel6+ due to another issue (b/321903468) which > prevents preferring linear filtering on Pixel4. > > Bug: b/315387961 > Change-Id: I6fbbea10a3b4fd835afbcdbecf120264d0ca8605 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5207870 > Reviewed-by: Charlie Lao <cclao@google.com> > Commit-Queue: Chris Forbes <chrisforbes@google.com> > Reviewed-by: Cody Northrop <cnorthrop@google.com> Bug: b/315387961 Change-Id: I4b055a9ffef9ed49992ea5568f723aaff53c7f1c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5224900 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Amirali Abdolrashidi 151c1571 2024-01-12T16:40:38 Vulkan: Clean up RGB8-to-RGBA8 ubyte function Some platforms encounter issues in this function, possibly when the dest pointer is accessed directly when it is cast to uint32_t. * Coalesced the 32-bit accesses into memcpy(). * Simplified the implementation to contain less variables and indices. * The function updates the source and dest pointers directly instead of using separate indices. After this, the next pixel components would be accessible using constant offsets (0-3). * It does not seem to have an impact performance-wise. * Tested on Windows, which showed the most improvement in the first CL. Bug: b/308177124 Bug: b/319128304 Change-Id: I9807fd5331db487f9f0a03faa457ee0a8343d59c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5195125 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev fc742305 2024-01-18T00:00:00 Metal: Simplify geometry functions translation Check whether a vector or a scalar variant is needed and emit only what is necessary. Reduced the generated MSL for: - atan/atan2 - length - distance - dot - normalize - faceforward - reflect - refract Fixed: angleproject:8487 Fixed: angleproject:8489 Change-Id: I3be39e55997062136aae2782269a65c0c738d6cf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5217532 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Shahbaz Youssefi 175514c6 2024-01-12T14:43:33 Translator: Bundle metadata flags coming out of the translator In preparation for a follow up change that adds more such metadata. Bundling them together makes it convenient to retrieve, save and load all those flags. Bug: b/320563594 Change-Id: I4f95b32acfb0842cc5d9e72c1788a827bee2c760 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5209450 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Chris Forbes 0da65225 2024-01-18T10:29:23 Prefer linear filtering for YUV for Pixel6+ This is required to pass CtsMediaDecodeTestCases. Narrowed to just Pixel6+ due to another issue (b/321903468) which prevents preferring linear filtering on Pixel4. Bug: b/315387961 Change-Id: I6fbbea10a3b4fd835afbcdbecf120264d0ca8605 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5207870 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Chris Forbes <chrisforbes@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Liza Burakova f2c00e8c 2024-01-18T18:36:33 Adding Dawn stub backend to ANGLE Bug: angleproject:8473 Change-Id: I81ea83986e4e566169aa82250b5cfb727985ed01 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5201413 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Liza Burakova <liza@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi fad2adb2 2024-01-12T14:43:33 Vulkan: Fix importing external object and using as storage image The create flags used to create the imported object was 0. Later, when the texture was used as a storage image, TextureVk::syncState would recreate the image (losing connection to external object). This change makes sure the create flags include all the necessary create flags such that the texture can be correctly used as storage image. Bug: angleproject:8464 Change-Id: I6587b53b1c2819a11dec8f2d5a3a30c889a4c63f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5194064 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Charlie Lao <cclao@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Geoff Lang f1150231 2024-01-16T16:28:36 Track WebGL buffer type in gl::Buffer state. WebGL has special validation that disallows buffers from changing "WebGL buffer type". Once a buffer is marked as having index data it cannot be bound as any other type of buffer except the copy binding points to copy to other index buffers. This disallows any GPU writes to buffers used for index data. Use this rule to shadow index buffer data when the driver is unable to give us robust access. Index range computation can be done much faster when the buffer does not need to be read back. Bug: angleproject:8434 Change-Id: I059eff732bb2f43234f61d9ef5528289f7698b38 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5200242 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Mohan Maiya d093c3d3 2024-01-17T11:33:46 Add entry points for QCOM foveated extensions Add entry points for GL_QCOM_framebuffer_foveated and GL_QCOM_texture_foveated extensions Bug: angleproject:8484 Change-Id: I59053f9be76fbb8eaed344aa460ecb1e178ce7db Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5206990 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 42d75c7e 2024-01-17T00:00:00 Metal: Fix raster order group AMD workaround The AMD-specific raster order group workaround relied on disabled framebuffer attachments being implemented via all-disabled color masks. Metal backend no longer includes disabled framebuffer attachments in render pass descriptors. Updated the workaround to keep the placeholder attachment enabled and to set its color mask explicitly. Fixed: angleproject:8263 Change-Id: I815ceede84e6ea89eefc10c445768d9d569d0d82 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5208110 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Shahbaz Youssefi ed2a8ef8 2023-12-20T00:06:10 Vulkan: Defer QFOT when acquiring texture with GL_NONE layout Instead of issuing a queue family ownership transfer with the UNDEFINED layout (and then hack its dst layout to be GENERAL), this change simply lets the queue family be changed when the image is next accessed (at which point a layout transition is necessary anyway). Bug: angleproject:8464 Change-Id: Iab36af0c641bd04029bdc0d9097e766e8a0f4145 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5138657 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Mark Lobodzinski 05cd0b4c 2024-01-12T15:45:27 Tests: Add Asphalt 9 2024 trace Test: angle_trace_tests --gtest_filter=TraceTest.asphalt_9_2024 Bug: b/320248297 Change-Id: I5c27ea47118bf5cbe09b41ef02b6efe1a23d581f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5201444 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi 3a33cbb0 2024-01-15T15:40:54 Test for making context current before surface creation Support for this use-case is currently broken. Bug: angleproject:8478 Change-Id: I62fa6b6ac4481e36ce488a4667aa7edb7ff35e33 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5200241 Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Shahbaz Youssefi 91c981c5 2024-01-11T22:37:48 Robust shader compile after shader binary is rejected If ANGLE finds a shader binary in the cache, it populates the compiled shader state. If the deserialization rejects the blob, the compiled shader state was not reset. After the rejection, ANGLE proceeds to redo the shader compilation, in which case it risks bugs as it tries to accumulate info on top of the previous half-complete shader state. Note that currently there are no errors if the shader state is not reset before compilation, so this change is merely a precaution. Bug: angleproject:8471 Change-Id: I2e08ecc2e5d940c88a32b5a05dca8afe8d8d897c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5189154 Reviewed-by: mohan maiya <m.maiya@samsung.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Alexey Knyazev eedf3e9e 2024-01-12T00:00:00 Metal: Limit raster order groups workaround to affected GPUs Do not enable renderPassNeedsAMDRasterOrderGroupsWorkaround on GPUs that do not support raster order groups. Bug: angleproject:8263 Change-Id: I94a22fce9dd7084f397d8d54d4f8e4d33baa3608 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5198688 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Roman Lavrov efeb6570 2024-01-16T10:00:32 Suppress ParallelLinkProgramBenchmark.Run/gl_* on Linux Already suppressed on Windows, linux-nvidia-gtx1660-perf has a high rate of flakes. Bug: angleproject:8410 Change-Id: I5031ec0ab913938d10141121b555878883e9bb9b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5201387 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 572323cc 2024-01-11T16:20:02 Fix program link after backend rejects program binary If ANGLE believes the program binary is fine, it populates the program executable. If the backend then rejects the program binary, the executable was not reset. After the rejection, ANGLE proceeds to redo the program link, in which case it fails in various ways (ASSERT failures, incorrect data etc) as it tries to accumulate info on top of the previous executable. Bug: angleproject:8471 Change-Id: Ia4d626f5f9643c39a81062da3d5d58aa4c6be762 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5189152 Reviewed-by: Quyen Le <lehoangquyen@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Mark Lobodzinski e9aa41f5 2023-11-06T15:00:33 Trace/Replay: Add multi-context call grouping Instead of inserting eglMakeCurrent calls into the command stream where context changes occur in the traced application, track the context for all calls. During trace generation output calls grouped by context while preserving synchronization, reducing the number of context switches and improving performance. Test: Capture Diablo Immortal or Asphalt 9 trace and replay Bug: b/300965096 Change-Id: Ia02e0ddf0440ac8a9a0ef3b6af67788f2f147809 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4909217 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Cole Faust 3461be1a 2024-01-11T11:35:14 Version check usages of getPackageInfo() and of() These were introduced in api level 33, and would crash on older devices. Bug: b/268261262 Test: Presubmits Change-Id: I4f0b4dbeab50508477adc1948fa1938ae576f369 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5190807 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Peiyong Lin <lpy@google.com>
Yuxin Hu 7d9c1d5f 2024-01-11T23:09:22 Add a test to check eglInitialize works in multithread Bug: angleproject:8265 Change-Id: Ib87c5e66be1387c21642353cb3f3dc8841150ba9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5190063 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 250b2f68 2024-01-12T11:04:48 Add imports for use_resource_processor: true Bug: b/319160342 Change-Id: If3429b2407d78747e6d6d96d11d8b895e962e13d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5192476 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop a06f5f89 2024-01-10T21:50:42 Android: Apply rules to global settings on boot When we receive BOOT_COMPLETE or MY_PACKAGE_REPLACED broadcasts, parse the rules and apply them to global settings. Bug: b/293503000 Test: Manually built and installed on Android Change-Id: If081f707f5acf0f22d10837177823bac59c3d4df Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5191963 Reviewed-by: Peiyong Lin <lpy@google.com> Auto-Submit: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 99ca7f24 2024-01-11T20:49:00 Android: Add ANGLE to rules so it is non-empty This allows tests to know when the rules parsing is complete and global settings have been initalized. Bug: b/293503000 Test: Manually built and installed on Android Change-Id: Ifdb7537cf210ff36900c432394b21e183b4dac3e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5191962 Reviewed-by: Peiyong Lin <lpy@google.com> Commit-Queue: Peiyong Lin <lpy@google.com> Auto-Submit: Cody Northrop <cnorthrop@google.com>
Alexey Knyazev 28290eae 2024-01-11T00:00:00 Metal: Do not try to create buffers exceeding device limits Checked Metal device's maxBufferLength before creating a new buffer. Fixed: angleproject:8326 Change-Id: Ie56db8f951a733b7b6a6a07284b6d912ee59f7ba Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5190340 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com>
Mohan Maiya 073b6510 2024-01-11T07:40:32 Add missing GLES1 glGetBooleanv() enums In OpenGL ES 1, capabilities that can be queried using glIsEnabled() can also be queried using glGetBooleanv(). As such, some valid glGetBooleanv() calls were returning "Invalid pname" error. Added support for the missing enums in glGetBooleanv(). Bug: angleproject:8481 Tests: GLES1 - QueryTest* Change-Id: Ic3a50eda4eae5855cd9491dbf217b5f69c1669b4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5188456 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi e3708149 2024-01-11T15:23:30 Add a test to ensure multiple eglInitialize calls work Bug: angleproject:8265 Change-Id: I186942a7830a35c563df503aa2b06e407288eef3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5191165 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Vasiliy Telezhnikov 80e4bcd6 2024-01-05T13:58:13 Fix crash in eglQueryDeviceStringEXT for EGL backend Underlying eglQueryDeviceStringEXT can return NULL if there is no DRM node associated with EGL device. https://registry.khronos.org/EGL/extensions/EXT/EGL_EXT_device_drm_render_node.txt Bug: angleproject:7686 Change-Id: Iec6acc43ac8c9d277df064161e718155d5c03c95 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5170889 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Vasiliy Telezhnikov <vasilyt@chromium.org>
Shahbaz Youssefi c0dae760 2024-01-10T18:37:03 Wildcards instead of redundant API specification in expectations The expectations already specify the API they relate to. As such, specifying the API tag in the gtest name is redundant. For example, it is preferred to specify: 1234 MAC OPENGL : Foo.Bar/* = SKIP instead of: 1234 MAC OPENGL : Foo.Bar/ES2_OpenGL = SKIP 1234 MAC OPENGL : Foo.Bar/ES3_OpenGL = SKIP This change also adds a presubmit to make sure the latter is not reintroduced. The only possibly legitimate use case for being specific about the test name is if only a variant of the test fails (such as ES3_OpenGL_SomeWorkaround). Note that if the opposite is the case (i.e. ES3_OpenGL fails, but ES3_OpenGL_SomeWorkaround passes), it's an indication that the feature that made the test pass should have been enabled by default. Bug: angleproject:8465 Change-Id: I11476e36c83cbbeb8148b6e934c42ccd9b988de1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5185675 Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 2e2d7247 2024-01-11T11:50:44 Roll vulkan-deps from eb5fcf15ff7f to 124ff11a5e15 (21 revisions) Skip VUID-VkImportMemoryWin32HandleInfoKHR-handleType-00658 added in: https://github.com/KhronosGroup/Vulkan-ValidationLayers/commit/939e7c3fcbb75f71f0dfa999064c74f27a014189 https://chromium.googlesource.com/vulkan-deps.git/+log/eb5fcf15ff7f..124ff11a5e15 Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/db4d6f85af..1952e63d43 * spirv-cross: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross.git/+log/cffc08a542..37a58e4c95 * spirv-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/1bfd27101e..bdd1b2ab1f * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/e2b7bb1207..4c20ea3156 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/02f1cb7d55..6f441477e7 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,cnorthrop@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:8482 Tbr: cnorthrop@google.com Change-Id: Iaa696787ae66ba44db591c18833d2b7261474c08 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5185141 Reviewed-by: Solti Ho <solti@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Alexey Knyazev 950d054a 2024-01-11T00:00:00 Metal: Do not defer global const initializers Since MSL supports constant global variables, they should not be included in the DeferGlobalInitializers operation. This reduces temporary register usage and thus makes shaders that use large const arrays more compatible with Apple GPUs. Fixed: angleproject:8479 Change-Id: If1cd17a0a194173e60e6b5152297054fc384c0b2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5189165 Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Mohan Maiya f1fee64d 2024-01-10T13:35:53 Bugfix in MultithreadedAHBImport tests Depending on thread scheduling it is possible that thread0 moves beyond Step::Start before thread1 waits for it. This causes a FATAL error with log - FATAL: MultiThreadSteps.h:73 (waitForStep): \ waitForStep requires increasing order. mCurrentStep=1, waitStep=0 Fix this by making thread1 wait on Step::Thread0Created* Bug: b/261552549 Change-Id: I8e7c9ed554285fea5674263c5807db67b908a725 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5186836 Commit-Queue: mohan maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>