Log

Author Commit Date CI Message
Kimmo Kinnunen 4e5f2ca3 2025-01-31T14:30:05 Metal: Rewrite AutoObjCPtr as ObjCPtr Rewrite without WrappedObject base class, the base class only convolutes things and does not help. This way the class can be moved upwards in the software layers in subsequent commits. Fix the class so that it can be used with ObjCPtr<T> and ObjCPtr<id<P>> signatures, to resemble other smart pointers. Remove the Auto prefix, ObjCPtr should be relatable to other smart pointers such as unique_ptr. Bug: angleproject:393263506 Change-Id: Ia5a5728514b7f9182c2ec8380c04716e8b9d2351 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6219317 Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
angle-autoroll e9cda7f6 2025-02-06T08:01:49 Roll VK-GL-CTS from 48e7f3020f52 to 1177f7b7d556 (5 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/48e7f3020f52..1177f7b7d556 Includes manual merge to remove GN reference to deDefs_kc_cts.h 2025-02-04 lorenzo@khronosgroup.org Remove all references to KC-CTS and GTF 2025-02-04 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.1 into vk-gl-cts/main 2025-02-04 elima@igalia.com Add VK_KHR_video_maintenance2 tests 2025-02-04 lorenzo@khronosgroup.org Update external sources and use Vulkan 1.4.307 2025-02-04 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.1 into vk-gl-cts/main If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll Please CC angle-team@google.com,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: None Tbr: cnorthrop@google.com Change-Id: I881df1f09ca98c892a485c5a8368c3f6eda390f5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6237566 Reviewed-by: Solti Ho <solti@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Roman Lavrov c24468c9 2025-02-06T19:04:19 Fix "fallthrough annotation in unreachable code" in release d3d builds The same issue I ran into in https://crrev.com/c/6231111 but on d3d Bug: angleproject:394129077 Change-Id: I90faa01fa66c514162a1d5e4cbe56a2bfd85085e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6237859 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> Auto-Submit: Roman Lavrov <romanl@google.com>
Amirali Abdolrashidi 7263989e 2025-02-06T13:20:14 Vulkan: Fix VUID-vkBindBufferMemory-buffer-01444 Some platforms issue a VVL error regarding memory allocation for an external buffer. It seems to be due to the fact that the memory is not allocated as a dedicated memory for the buffer, whereas the buffer requirements (as reported in vkGetBufferMemoryRequirements2()) show that it requires a dedicated memory. This causes an issue when binding the buffer to the memory. This change explicitly sets the dedicated memory information for the external buffer, so the memory is regarded as dedicated and be able to be bound to the buffer without errors. * Added VkMemoryDedicatedAllocateInfo when calling to allocate memory for the external buffer (InitAndroidExternalMemory()). * Appended this structure to the extra allocation info via pNext. * Unsuppressed VUID-vkBindBufferMemory-buffer-01444. Bug: angleproject:394598758 Change-Id: I0d952cea204e528c23859c74909dbbb0751d0b65 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6239029 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Roman Lavrov 0ef55535 2025-02-06T15:40:28 FastVector::resize_down never increases capacity Note: this function is currently only called by SPIR-V code generation In particular, SpirvTransformer::transform() was bloated 8896 -> 9756 bytes due to ensure_capacity() getting fully inlined. After https://crrev.com/c/6236800 this makes a much smaller difference but this still probably makes sense as before this CL the only difference between resize() and resize_down() was an assertion. Bug: angleproject:394848869 Change-Id: If55a41d67e26a9bc1a30cb0012d1958faa734cc8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6238266 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov fb563c3e 2025-02-06T15:29:14 FastVector capacity increase is a function call FastVector::ensure_capacity() gets inlined in many places, but capacity increase is a rarely needed case. Move code to increase_capacity and make it a function call. This reduces the size of a release Android .so by ~14KB. Bug: angleproject:394848869 Change-Id: Iefb5fe894d8c8eaba2d251502925de453290bc31 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6236800 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
Kimmo Kinnunen 1675d47f 2025-01-31T10:05:03 Metal: Remove incorrect AutoObjCPtr construct on T && The T && constructor and operator= were incorrectly marked up as "ownership transfer", clearing the source. However, there is no ownership transfer in the assignment, and the call sites only work due to the T source holding is never unretained directly. Consider correct sequence (T is NSMutableArray *): NSMutableArray *obj = [[NSMutableArray alloc] init]; AutoObjCPtr<NSMutableArray *> myHolder = std::move(obj); [obj release]; Since the construct was retaining, the correct operation would need a release on the original raw obj-c pointer. However, the T && constructor would clear out the raw obj-c pointer, and thus calling release on the original pointer would not be possible. Remove the T && constructor, and use just normal T constructor. There's no ownership transfer when constructing AutoObjCPtr -- it is a retaining operation. The constructor does need T &&, raw obj-c objects are just passed normally as pointers, T. Call sites keep their std::move()s, which are no-ops. When functions accepting obj-c pointers get changed to accepting AutoObjCPtrs, the move will start actually transferring the ownership. Bug: angleproject:393263506 Change-Id: I5847f2ec98ab372343d0d2559c92dee9a327e126 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6219316 Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Roman Lavrov 60a9320c 2025-02-06T14:31:43 Move unlikely path of MakeLengthOp to a function call This function gets inlined many times, adding 96 bytes of assembly to each caller such as angle::spirv::WriteStore etc. In total, this CL reduces Android release .so size by ~14KB Bug: angleproject:394848869 Change-Id: Ief364116fd9b881f9c0dfefb1ca5005282bf57ba Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6236799 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 7370bb57 2025-02-04T13:19:37 UNREACHABLE -> __builtin_unreachable() in release clang builds This enables compiler optimizations such as reducing the amount of branching, see anglebug.com/394129077#comment1 Reduces .so size in an Android perf build by 0.4%. I spot checked a few differences and saw less branches (this will be causing a different behavior in UNREACHABLE branches) as well as more functions getting inlined (likely due to compiler heuristics due to less branches) Bug: angleproject:394129077 Change-Id: I23411ca7a49d3daf2a0621bfcc0b2523d4db4f5a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6231111 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
angle-autoroll 38aa0780 2025-02-05T10:01:12 Roll vulkan-deps from 430dae9cea66 to 4d67b5012a2f (34 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/430dae9cea66..4d67b5012a2f Manual suppression for new VVL errors: VUID-vkBindBufferMemory-size-01037 SYNC-HAZARD-WRITE-AFTER-READ for vkCmdCopyBuffer Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/0549c7127c2fbab2904892c9d6ff491fa1e93751..39766a06679bf5e4bc1e0339136f1b6a519fcec5 https://chromium.googlesource.com/external/github.com/LunarG/VulkanTools/+log/c1c4712c75bc123dac21daea5dfffd416e103e59..5728a66537b23986135f50c465fcb282b0434da4 https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/04b4a204aa501992ae85a207be1e200e195c98e1..9d07794bc955101c79cbd260233fcc65b9951cfc https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers/+log/39f924b810e561fd86b2558b6711ca68d4363f68..234c4b7370a8ea3239a214c9e871e4b17c89f4ab https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader/+log/0508dee4ff864f5034ae6b7f68d34cb2822b827d..fde0f9718bd60b49cf8efc80d3fb7a093c309ac0 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/c3dc948b0b960b3a01506b57a15ecee2a9e31bf2..e9d5ff418fd29381205b7617170a6d556bc6a10e 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: b/394598758 Bug: b/394598470 Tbr: cnorthrop@google.com Change-Id: Id968b54695b441eb4d21a63c23885eda0f567b9a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6233954 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Jordan 4ce8b71e 2025-02-05T08:06:09 LSC updating angle License ids This is based on the existing id and the license file provided. Bug: b/358504615 Change-Id: I0f0956806f27f8bfed6589157b583d159a25a3d0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6232605 Owners-Override: Jordan Brown <rop@google.com> Auto-Submit: Jordan Brown <rop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Austin Annestrand 483be92c 2025-02-05T14:03:00 CL/VK: Cleanup old non-uniform restriction in CLDeviceVk Bug: angleproject:42267085 Change-Id: I5499324c89d0358c12b6ce2f6f0015547730fc8d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6235928 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Shahbaz Youssefi 93e99da3 2025-02-05T11:23:50 Vulkan: Fix bugs with varying precision fixer This transformation creates new variables and turns the original ones Private. There were a few bugs where some transformations referred to the replaced id (larger than the original index bound) and had wrong look up (where e.g. they would cache something based on the original id, then try to look it up with the replaced id). This change makes it such that where needed, both the old and new ids are given to the various transformations, so they can look up with the old id, but output instructions with the replaced id. Bug: angleproject:386749841 Bug: b/394299327 Change-Id: Ie6b3c3445c440417cbbffdd849a036abfc504fe2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6235664 Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: mohan maiya <m.maiya@samsung.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Austin Annestrand bab3f9ab 2025-01-30T14:30:16 CL/VK: Cosmetic kernel arg updates - Move POD argument buffer init to kernel-init - Remove unused CLKernelVK members/types - Switch inside of setArg loop - Rename kernel members that best aligns to their resources Bug: angleproject:42267001 Change-Id: I837ceeceaf1ff903b67b7f100298d4a3159b97d7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6220895 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Charlie Lao 9c82e55a 2025-01-16T17:47:41 Vulkan: Make VkEvent for Buffer work with more general usage Before this CL, BufferHelper::mCurrentWriteAccess and mCurrentReadAccess, mCurrentWriteStages, mCurrentReadStages still track all accesses, regardless if it is tracked by RfCountedEvent or via PipelineBarrier. This is okay for very limited usage case, but becomes fragile when expand the event for general usage case. The problem is that you can not correctly tell which bits in mCurrentReadAccess is for pipelineBarrier and which is for Event, since event and pipeline barrier could have the same VkAccessFlags. Similarly problem exist for mCurrentWriteAccess. The reliable way is actually track pipeline barrier access and VkEvent access completely separately. This CL changes mCurrentWriteAccess, mCurrentWriteStages, mCurrentReadAccess and mCurrentReadStage to only contain bits that not tracked by VkEvent. For this reason, RefCountedEventWithAccessFlags wrapper class is added to wrap mCurrentWriteEvent and its associated VkAccessFlags. Bug: angleproject:360274928 Change-Id: I057484f0c3baa2739d56c3a75889eb88a647a65a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6210683 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Kimmo Kinnunen 82e25a32 2025-02-03T15:07:33 Make all " < 0" error messages consistent Use the form: Error is due to reason: <error message> Bug: angleproject:392938089 Change-Id: I9e72858cf76a46ab874ffc211afdae1eb93ca05d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6225600 Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Austin Annestrand da837830 2025-01-30T15:37:56 CL: Fix device queue query validation for 3.0 Was missing 3.0 check for device queue size. Since device queue support is optional for 3.0, device queue query (CL_QUEUE_SIZE) needed device queue support. Adding validation check for that here. Bug: angleproject:42267011 Change-Id: Ibc1d7e00f78df01f131f69047b1390b02b5fa780 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6220894 Reviewed-by: Gowtham Tammana <g.tammana@samsung.com> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Igor Nazarov fb118e41 2025-01-22T13:26:31 Vulkan: Always defer acquireNextSwapchainImage() call This change is a preparation before the follow up EGL_WIDTH/EGL_HEIGH eglQuerySurface rework. There is no need to acquire initial swapchain image after surface initialization. Skipping ANI may speed-up apps startup in some cases. The operation is also removed from swap (in case of out-of-date swapchain) for consistency and as a preparation for the follow up change. Change also enables "perFrameWindowSizeQuery" for NVIDIA on Windows because of the "SurfaceDimensionsChangeAndFragCoord" test failure. Test fails because `vkQueuePresentKHR()` does not return `VK_ERROR_OUT_OF_DATE_KHR` when presenting old image size after the window resize, even despite that surface caps currentExtent has already new size. Issue is not permanent, and may "fix" itself if add few empty swap buffers before starting the test or do ANI in the initialize (which one will work depends on GPU). Above issue is observed on the driver 546.01 (currently used by bots). Old 531.68 and new 566.36 does not have this issue (tested on RTX 3060 Laptop). The 546.01 driver, however, fails on that same system even on the base CL (without this change). Bug: angleproject:153329980 Bug: angleproject:42264593 Change-Id: I261e1f573a6b892f1ba4282dd17f17289c2f4184 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6182599 Commit-Queue: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Kimmo Kinnunen bee34ea7 2025-01-30T18:39:00 Metal: Remove redundant AutoObjCObj template alias Some members were held with AutoObjCObj<T> and some with AutoObjCPtr<T *>. Use the latter. Bug: angleproject:393263506 Change-Id: I9d8d56e9ffe3281d5e9087de7959249cbb4b9bd4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6216872 Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Kimmo Kinnunen 81412e88 2025-01-30T16:46:26 Metal: Avoid using retainAssign() Use more native C++ name for assign: operator=. Bug: angleproject:393263506 Change-Id: Ia31a79fbb15474ba754034338340ef5c3ed6e8ec Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6216871 Reviewed-by: Geoff Lang <geofflang@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Kimmo Kinnunen 49e2b5e2 2025-01-31T15:52:39 Support compiling without GetProcAddress Move GetProcAddress implementation next to the proc array. This way it is possible to not compile the implementation. Bug: angleproject:393513311 Change-Id: Ic9c9022ee74a7619bec25f1481fd9da68b14b119 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6219320 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
angle-autoroll a6e010d6 2025-02-05T02:01:07 Roll SwiftShader from 86cf34f50cbe to 28a2e8a45f16 (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/86cf34f50cbe..28a2e8a45f16 2025-02-04 swiftshader.regress@gmail.com Regres: Update test lists @ 86cf34f5 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC angle-team@google.com,cnorthrop@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: cnorthrop@google.com Use-Permissive-Angle-Pixel-Comparison: True Change-Id: Ieefe88d9a03cc759777fc386e6f24b683af24302 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6231408 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi 9c6af5ce 2025-02-04T22:50:01 Vulkan: Fix crash in SPIR-V transform with varying precision fix Bug: angleproject:386749841 Change-Id: I5743eb049dde6c8a093b175e857251bad9b2bc9a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6232948 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Cody Northrop aa94da02 2025-02-04T12:41:36 Revert "Vulkan: Bugfix in SPIRV entrypoint transformation" This reverts commit 9975e80b9d98a2158ae859b3f4eff7340baa540d. Reason for revert: Crashes on platforms with varyingsRequireMatchingPrecisionInSpirv Original change's description: > Vulkan: Bugfix in SPIRV entrypoint transformation > > Perform varying precision fixer transformation before > other shader-stage-specific transforms that could > potentially modify the interfaceList. > > Also enhance EXTBlendFuncExtendedDrawTest by enabling > additional config with VaryingsRequireMatchingPrecisionInSpirv > feature enabled > > Bug: angleproject:386749841 > Change-Id: Ife4a2f932415296f1565527e50a2b8646cd7697d > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6207741 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: mohan maiya <m.maiya@samsung.com> Change-Id: I07064136f962a7d73ce5c80289da300d474faa22 Test: professional_baseball_spirits trace Bug: b/394299327 Bug: angleproject:386749841 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6227993 Reviewed-by: Cody Northrop <cnorthrop@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Roman Lavrov c2cb1603 2025-02-03T18:21:10 Perf tests: change fps limiter method to timestamp based Instead of using previous frames, target start_time + N * delta. This will result in a smoother playback when there is no hiccups. In case of a big hiccup, replay will be catching up by submitting frames without sleeps until it hits the timestamp, then submit at the target rate again. Bug: b/376300037 Change-Id: I481f1325867d53e911acd2d381bfda4c94adefc6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6226746 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Hans Wennborg 6808ef83 2025-02-04T10:57:18 Tests: suppress -Wunused-private-field warning The latest version of Clang warns about an unused member variable in es31fSRGBDecodeTests.cpp. Suppress it for now. Bug: chromium:393942204 Change-Id: Ic03c2f8f2710ff3ccf44c102d1fd991bc4d1d380 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6226805 Auto-Submit: Hans Wennborg <hans@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Kimmo Kinnunen c6a8faf6 2025-02-03T15:00:07 Mark error strings as *, not [] Partially revert "Mark error strings as inline constexpr". Try to fix the reported 100kb+ size regression on Linux builds. Bug: angleproject:392938089 Change-Id: Id40f8820ff096497fc75165b23e520f96725e18a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6225599 Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Mohan Maiya b32a808d 2025-02-03T17:35:59 Re-enable EXT_multi_draw_indirect on the Vulkan backend. Update limitations before evaluating extension support Bug: angleproject:355645824 Change-Id: If34c0d5791443841798fd85a2d396b8b6cbbe837 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6226331 Commit-Queue: mohan maiya <m.maiya@samsung.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Charlie Lao 29e20d52 2025-01-29T15:58:04 Vulkan: Use single VkEvent to track depth/stencil and color attachment Right now ANGLE uses two VkCmdSetEvent calls to synchronize color and depth attachments in a render pass, one for color attachment and another for depth/stencil attachment. This is inefficient. ARM engineers confirmed combining both into one event with a combined stage mask (VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT | kAllDepthStencilPipelineStageFlags) should not negatively impact performance. This CL merges depth/stencil related events into color attachment. The benefit of this is that for most render passes, you will see one less VkEvent which translates to reduced overhead. Bug: b/393150736 Change-Id: I0808b4dfd0b91efaaa2af649fef8bb02abbb3039 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6187980 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
angle-autoroll 3e156322 2025-02-04T07:54:03 Roll Chromium from 8cb2fac8059f to 7a15ef98fa46 (607 revisions) https://chromium.googlesource.com/chromium/src.git/+log/8cb2fac8059f..7a15ef98fa46 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,cnorthrop@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://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 Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/a9640b2af4..dc7b3561cd * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/6b4eaa1ed0..6377d6649b * testing: https://chromium.googlesource.com/chromium/src/testing/+log/e87a266983..8a57c900f4 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/aaed376e01..9d07d51c6e * third_party/android_build_tools/lint/cipd: ADzNzHHqZEK8ELtfKxVHQE9nlzafzaM7bW-0FJdyqeUC..jsEEMs5gHWH0oWH-A-WwE4Q4a5JnfgwwHYdaNd9UP9oC * third_party/android_build_tools/manifest_merger/cipd: dpBIpmqeRKRSK-XETu-3uRvAutKAS22ulPVpm1l0MpoC..no0RMx3qPOc-XlBlr8d_hUdnAYnHUeN6-qd2kXZO9e0C * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/98b7273c8d..0cc30c3baf * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/6b4e376d45..6d0c8ee02e * third_party/protobuf: https://chromium.googlesource.com/chromium/src/third_party/protobuf/+log/6f49850910..d8e413be0c * third_party/r8/cipd: ukddmPlorF_6XXPBcxDxCmK2PSAJlhu_MDUhZQCz1l8C..8dKduCb-T1CXo1k__TsFWTWKwtx92qcCCIJ8zGP7QaAC * third_party/r8/d8/cipd: DJU_YH-xmuJ4kRnli6eXC-q9Q21-GPFj4YVZyAqKSWoC..ukddmPlorF_6XXPBcxDxCmK2PSAJlhu_MDUhZQCz1l8C * third_party/rust: https://chromium.googlesource.com/chromium/src/third_party/rust/+log/b74f5d5c0d..588e69eab2 * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/3d14d0d9ec..d5b1dd58bd * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/a037c8c5ad..1340d3ed8b * tools/luci-go: git_revision:c36fd1e86ba464371c3e6d817c14f2b40d43cb29..git_revision:b408832fea9036895f2767817491be5463ee6b22 * tools/luci-go: git_revision:c36fd1e86ba464371c3e6d817c14f2b40d43cb29..git_revision:b408832fea9036895f2767817491be5463ee6b22 * tools/luci-go: git_revision:c36fd1e86ba464371c3e6d817c14f2b40d43cb29..git_revision:b408832fea9036895f2767817491be5463ee6b22 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/748b34e9eb..2ed187cab2 * tools/skia_goldctl/linux: M1GANqZ-d2Qp4DHOEtmfafgGkTeeDLKJUreuBV_psroC..Djmxg641BIFDuvtwbk4GxAWptW7AWRnqZ5hCffbpETcC * tools/skia_goldctl/mac_arm64: Nej3vvoT_ssGeDCs5clWDgEDHARO4KP8W3EKOLNxXTkC..4aUb9UJChUHJebFHC5FjJ5d6Lf7cYuLSEJbco0uC3WEC * tools/skia_goldctl/win: Mg04jm-4f1YP4Vv2GYoJdIv8gxvPFQSgwovCzVlN-w0C..Rj9DcPKzbqhsLO2by6iMiqZvlUFzBcSsp42l8nyHD8MC No update to Clang. Bug: None Tbr: cnorthrop@google.com Change-Id: I3671674023500fdb34d2f37d759605e010bfa90e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6229211 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Austin Annestrand 957bafb5 2025-01-30T11:49:41 Infra: Print stdout for TIMEOUT cases Bug: angleproject:392929827 Change-Id: I47625474e4ce9253a4cf275ea027290a6a2fbc33 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6207671 Commit-Queue: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Alex Dean 56d796a9 2025-01-31T09:13:30 CL/VK: Fix max read/write image arg limits Modifies how CL_DEVICE_MAX_READ_IMAGE_ARGS, CL_DEVICE_MAX_WRITE_IMAGE_ARGS, and CL_DEVICE_MAX_READ_WRITE_IMAGE_ARGS are set. Temporarily accounts for the backend Vulkan driver reporting a meaningless value (ex: UINT_MAX). Bug: angleproject:391414842 Change-Id: I7d0ca865d3a516b22dc34849e4dc0a3a83e778c9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6187613 Commit-Queue: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Kimmo Kinnunen a04cb42a 2025-01-30T16:26:44 Metal: Remove autorelease use from libANGLE parts Use adoptObjCPtr() instead of AUTORELEASE to make all code uniform and more easy to reason about. Bug: angleproject:393263506 Change-Id: I15ea7e29784bcbe6bee6341fe288b340db813538 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6216870 Reviewed-by: Geoff Lang <geofflang@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
Austin Annestrand e87d87f8 2025-01-29T22:23:27 CL: Add NDRange region chunk max GWS clamp Some implementations provide a value for maxComputeWorkGroupCount that goes beyond uint32_t when multiplied by local work size (to get the max global work size). This change clamps product to UINT32_MAX if that case occurs. Bug: angleproject:42267085 Change-Id: Ide87ef7be473c52db23c16ebf1e44a7fdcaf3081 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6217421 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 8157f927 2025-02-03T09:22:32 Roll Chromium from b795d308ae56 to 8cb2fac8059f (840 revisions) https://chromium.googlesource.com/chromium/src.git/+log/b795d308ae56..8cb2fac8059f If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,cnorthrop@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://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 Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/3ec76f733b..a9640b2af4 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/de2110201a..e87a266983 * third_party/android_build_tools/error_prone/cipd: nMRsstwSV_yyzV8beLhNfywd81JUi3QmAXpbHD0stscC..PW_AkPGAdnmLPk-dG161a_wYd9FRhQ9INn9f8HKj3fcC * third_party/android_build_tools/lint/cipd: pVQ05VquWske4TcBSXyzfgZCS5VBomVXJ0NTXXbbnS4C..ADzNzHHqZEK8ELtfKxVHQE9nlzafzaM7bW-0FJdyqeUC * third_party/android_build_tools/manifest_merger/cipd: k__Rs3pAmfiyzS9AAiiKHzBQdzs7iAx4u9fgScVOwTsC..dpBIpmqeRKRSK-XETu-3uRvAutKAS22ulPVpm1l0MpoC * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/19f086d093..d516686190 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/c88ad7af1a..98b7273c8d * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/4997b50ea0..6b4e376d45 * third_party/r8/cipd: -ksREVIoU_CBsrSenB5wAU_Tq0gG1fDRaQC7_MFT6BMC..ukddmPlorF_6XXPBcxDxCmK2PSAJlhu_MDUhZQCz1l8C * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/6afc0a4470..a037c8c5ad * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/34721d4450..748b34e9eb No update to Clang. Bug: None Tbr: cnorthrop@google.com Change-Id: I9eb335fbc9c0535b0f460bc57ac26522b042b81f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6223543 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 91a559c9 2025-02-03T08:01:38 Roll VK-GL-CTS from cf81553b703a to 48e7f3020f52 (9 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/cf81553b703a..48e7f3020f52 2025-01-31 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkansc-cts-1.0.2 into vk-gl-cts/main 2025-01-31 mateusz.bahyrycz@mobica.com Utils functions fix for compute only 2025-01-31 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-cts-4.6.5 into vk-gl-cts/main 2025-01-31 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-es-cts-3.2.11 into vk-gl-cts/main 2025-01-31 ziga@lunarg.com Fix structs going out of scope in shader object tests 2025-01-31 ziga@lunarg.com Test pipelines with dynamic states and without related shader stages 2025-01-31 rgarcia@igalia.com Test DGC IES with dynamic alpha to coverage enable 2025-01-31 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.1 into vk-gl-cts/main 2025-01-28 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.1 into vk-gl-cts/main If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll Please CC angle-team@google.com,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: None Tbr: cnorthrop@google.com Change-Id: I40fabdd9f856cf2551cfd8f07fc1b72e678b86d7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6223542 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Gowtham Tammana 44b5f0a5 2025-01-06T16:01:28 OpenCL: Pass in options to the CTS tests In the case where options are specified, pass them down to the CTS tests. New tests with options for copy_images, fill_images and bruteforce are added. The changes in `angle.json` file are autogenerated by running `python3 scripts.run_code_generation.py` Bug: angleproject:388319897 Change-Id: I1c7e133d8df00e008857b652132b45975f61a08e Signed-off-by: Gowtham Tammana <g.tammana@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6153935 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Austin Annestrand <a.annestrand@samsung.com>
Geoff Lang c0b224c3 2025-01-31T12:20:00 Re-enable EXT_base_instance on the Vulkan backend. Vulkan has native support for the base instance draw calls and does not go through the emulation paths. Bug: angleproject:355645824 Change-Id: I370ece42cffff6df5b1c070d637c20e071598de7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6216375 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Amirali Abdolrashidi 65c07386 2024-12-04T16:17:49 Vulkan: Limit dyn vertex input state WA on QCOM * Limited the workaround for dynamic vertex input state so it is enabled on the later version in which it has been fixed. Bug: angleproject:381384988 Change-Id: I71db843e4ce247691dae2c7d0db32678d12492be Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6072407 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Gowtham Tammana 433d14e0 2025-01-28T17:05:32 CL/Vulkan: Submit an empty command on command buffer reset On resetting the command buffer, the queue serial associated with it wont get signalled leading to causality issues. Instead submit an empty command to maintain queue serial timelines. Bug: angleproject:392934330 Change-Id: I53996b295d2744b58487e483dd45918e48f58c83 Signed-off-by: Gowtham Tammana <g.tammana@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6207673 Reviewed-by: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Igor Nazarov e6115fdd 2025-01-27T19:37:25 Vulkan: Fix and simplify Wayland window resize The `doDeferredAcquireNextImage()` may only be called with `forceSwapchainRecreate == true` argument when in `ImageAcquireState::NeedToAcquire` state. In any case, method must not be called when state is `ImageAcquireState::Ready`. Instead of adding state check to the `WindowSurfaceVkWayland::getAttachmentRenderTarget()` method, this change removes this method entirely, since calling `doDeferredAcquireNextImage()` is not required (as well as the `mResided` member). The `WindowSurfaceVkWayland::mExtents` will be compared with the current extent in the `checkForOutOfDateSwapchain()` since "perFrameWindowSizeQuery" feature is enabled for Wayland. Bug: angleproject:40096815 Change-Id: I31608d52ba72305cbb31220f21829ad18f9d2ce7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6203062 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Kimmo Kinnunen c411081f 2025-01-30T15:18:20 Metal: Remove RenderUtils mtl::Context base RenderUtils is not using mtl::Context error handling for anything. Bug: angleproject:392938089 Change-Id: I1ef86db8f03ff34bb54726a0aad31d07fb1b44ac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6218788 Reviewed-by: Geoff Lang <geofflang@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Austin Annestrand 2567dc4f 2025-01-30T11:20:57 CL/VK: Add spv validation for program build Bug: angleproject:42266976 Change-Id: I529395cba2d935cd6117c9c18fefd9a27903e2a6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6216570 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Austin Annestrand fb2ae3fb 2024-11-26T16:23:52 CL/VK: Missing ext check in reflection parser When parsing "spv::OpExtInst", we also need to check for "ext_inst_type" to be clspv reflection type. Otherwise we might end up parsing bogus/non clspv ext type instructions. Bug: angleproject:42266976 Change-Id: Iab115f44890ce83fea09fb39be24b45ee2fa827b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6216569 Commit-Queue: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Kimmo Kinnunen 7d37d970 2025-01-30T13:47:59 Make error messages end in a dot Some messages had dot and some not. Fix by adding dot to all error message string literals. Best effort, for free form string literals, check ANGLE_CHECK invocation sites only. Bug: angleproject:392938089 Change-Id: Idedc3fe1d1e186fb91b5e54407df87f6830995a0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6218460 Reviewed-by: Geoff Lang <geofflang@chromium.org>
Amirali Abdolrashidi 1df10f8a 2025-01-29T14:50:21 Unsuppress VUID-VkImageViewCreateInfo-pNext-01585 * Updated ImageHelper::DeriveCreateInfoPNext() to check the usage flags as well. * If the image uses the storage bit, the format list should not be added to it as pNext. Otherwise, if the count is not zero, it expects the format used in its image view to be one of the stated formats and will result in a VVL if this is not the case. Bug: angleproject:42264452 Change-Id: I789ec5a9751366029929c4c25a942056df13b9ff Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6216381 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Kimmo Kinnunen eb0e72e0 2025-01-30T09:50:27 Mark error strings as inline constexpr Some WebKit build configurations are seeing duplicated strings. A global constexpr implies static, which allows that each compile unit gets its own instance. A global inline constexpr guarantees that the instance address evaluates same for all address takers. This should guarantee that the strings are not duplicated. Use char[] instead of char * to guarantee that referencers would get the length. Bug: angleproject:392938089 Change-Id: I5652ed8807d5052abe41671f4a0005905fe8d30b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6218459 Commit-Queue: Geoff Lang <geofflang@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Austin Annestrand 0549137f 2025-01-30T13:15:09 CL/VK: Fix cmd queue deadlock on clFlush Issue was that app-thread held mCommandQueueMutex for clFlush duration. App-thread notifies the queue-thread via "mHasWorkSubmitted" condition-variable. Queue-thread later calls finishQueueSerial(), and that routine tries to recursively grab mCommandQueueMutex. This change avoids this by unlocking app-thread before it notifies the queue-thread (also takes capture of QueueSerial before unlocking). Bug: angleproject:375231041 Change-Id: I71e0c9f9455a86b97acbc88107b0edbc05ce33a8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6194198 Commit-Queue: Gowtham Tammana <g.tammana@samsung.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
angle-autoroll 0c2d793c 2025-01-31T11:52:51 Manual roll vulkan-deps from 3a89e5275402 to 430dae9cea66 (15 revisions) Manual roll requested by ynovikov@google.com https://chromium.googlesource.com/vulkan-deps.git/+log/3a89e5275402..430dae9cea66 Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/LunarG/VulkanTools/+log/5165b6d2bdff5244e8aef6408441a962424cf2d1..c1c4712c75bc123dac21daea5dfffd416e103e59 https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/3364b982713a0440d1d342dd5eec65b122a61b71..04b4a204aa501992ae85a207be1e200e195c98e1 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers/+log/e43027aa41c4f51b12d79aeae53ff608951c36ec..39f924b810e561fd86b2558b6711ca68d4363f68 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader/+log/369afe24d1351d6e03cbfc3daf1fc5f6cd103649..0508dee4ff864f5034ae6b7f68d34cb2822b827d https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools/+log/7658238ddc50d7ef1fe923d95b7112597a5adc68..c52931f012cb7b48e42bbf2050a7fb2183b76406 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries/+log/1ddbe6c40aeaf98d4138f07c325ebb01beeece68..fe7a09b13899c5c77d956fa310286f7a7eb2c4ed https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/cc4c765c9ccacabd6338f348082841846053abb9..c3dc948b0b960b3a01506b57a15ecee2a9e31bf2 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,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: If34c6c40f06e14b42316a05ad5dc59a9c9314c9b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6220892 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 34aeaa17 2025-01-31T09:10:25 Roll Chromium from a51c83d792dd to b795d308ae56 (631 revisions) https://chromium.googlesource.com/chromium/src.git/+log/a51c83d792dd..b795d308ae56 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://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 Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/381f9f22a0..3ec76f733b * testing: https://chromium.googlesource.com/chromium/src/testing/+log/98d613eb20..de2110201a * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/ce598256f2..c88ad7af1a * third_party/fuchsia-sdk/sdk: version:27.20250129.4.1..version:27.20250130.7.1 * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/0d8d089914..4997b50ea0 * third_party/r8/cipd: twmEo-SOTxF2yvzPBCZ6XnSnzi3RekGMhUHTIhc5ox8C..-ksREVIoU_CBsrSenB5wAU_Tq0gG1fDRaQC7_MFT6BMC * third_party/rust: https://chromium.googlesource.com/chromium/src/third_party/rust/+log/961fba8da2..b74f5d5c0d * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/35179fc54f..3d14d0d9ec * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/544050827c..6afc0a4470 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/47b4070816..34721d4450 * tools/skia_goldctl/mac_amd64: rB-KKpciKP6EJPB7uDYVpqHCFEaz7IF5JTCYggCznmcC..w4KjkADnVRHE8TgQXpDuP6qD3uivftyQ3ue-Ee-gqWQC No update to Clang. Bug: None Tbr: ynovikov@google.com Change-Id: I8e9a20ce9dbca5f358fc03c60a594733443aa701 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6219670 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Rafay Khurram 439dfe5e 2024-12-12T00:37:13 CL/Vulkan: Add options passed to clspv compiler * Passes rte mode and image feature macros options to clspv compiler * Adds image feature macros device reported cl features Tests-Passing: OCLCTS.test_compiler features_macro, OCLCTS.test_samplerless_reads, OCLCTS.test_image_streams, OCLCTS.test_basic image_param Bug: angleproject:42266936 Change-Id: Ifd2b2c49a525ba3ee4be572de004fd317b0ff1ca Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6089949 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Rafay Khurram <r.khurram@samsung.com>
Charlie Lao 9d934912 2025-01-09T11:31:42 Vulkan: Use VkEvent to track transform feedback buffer write This CL adds event tracking into BufferHelper class: mCurrentWriteEvent is used to track the write event and mCurrentReadEvents is used to track all different reads from the buffer. Since you can have multiple different reads accumulate over time, read events are an array of EventStage and the actual VkAccessFlags per event is tracked in mCurrentReadEventsAccessFlags. Note that this is specifically designed to allow pipelineBarrier and eventBarrier to co-exist. If mCurrentReadStages contains more bits than mCurrentReadEvents, the remaining bits will be using pipelineBarrier. Similarly if mCurrentWriteStages contains more bits than mCurrentWriteEvent, the remaining bits will be using pipelineBarrier. A heuristic tracking is also added to track the buffer writes over a period of time. Right now we will opt buffer into VkEvent if the buffer ever written by transform feedback in the heuristic tracking window. This could be expanded in future if we found more usage pattern that would be benefit from using VkEvent. Also note that DrawIndirect and VertexInput will be using the same VkEvent to track. It still will be using different VkAccessFlags since the access flags comes from buffer instead of event. Bug: angleproject:360274928 Change-Id: I027ffed8a0fbff7f280f42cf70564b8a3f243d69 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6085490 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Shahbaz Youssefi 03019646 2025-01-29T10:36:38 Vulkan: Fix invalidate of emulated format followed by more draws If invalidating a color image with emulated channels, a clear is automatically staged so the emulated channels don't contain invalid data later. This is problematic with deferred clears; the clear marks the framebuffer attachment as dirty, and the next command causes `FramebufferVk::syncState` to pick the clear up as a deferred clear. This is normally correct, except if the following command is another draw call; in that case, the render pass does not close, yet the clear is cached in `mDeferredClears`. When the render pass later closes, it undoes the invalidate and attempts to remove the clear from the image... but it does not exist there anymore (it's in `mDeferredClears`). Next usage of the image then clears it, undoing the draws after invalidate. In this case, the simplest approach is to close the render pass right away here. Note that it is not possible to make `FramebufferVk::syncState` avoid picking up the clear in `mDeferredClears`, not apply the clear, _and_ keep the render pass open; because future uses of the image (like with |glReadPixels|) will not trigger `FramebufferVk::syncState` and the clear won't be done. Bug: angleproject:353167428 Change-Id: Ie677bd12d9f11953cdcd5e4c374b59c4f63e7456 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6214331 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov 02bd7ad6 2025-01-29T12:18:08 Revert "Force logging ANativeWindow events for debugging." This reverts commit 08365628f4fdb72308757574f7ae414875150f9b. Reason for revert: no longer needed Original change's description: > Force logging ANativeWindow events for debugging. > > Temporarily switch from LOGV to LOGI, > so that logs from these events show in release builds of ANGLE: > onNativeWindowCreated > onNativeWindowDestroyed > onNativeWindowRedrawNeeded > onNativeWindowResized > > These are only printed in ANGLE tests. > > Bug: chromium:339457761 > Change-Id: I0d81b05348ee3184fdc90da1a16e69704bcc084a > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5526470 > Reviewed-by: Roman Lavrov <romanl@google.com> > Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Bug: chromium:339457761 Change-Id: I63bd69945ef997374f2184d7c72cf2cc3e301a04 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6215272 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
angle-autoroll a870888a 2025-01-30T10:01:18 Roll vulkan-deps from 0a35e614cfbd to 3a89e5275402 (14 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/0a35e614cfbd..3a89e5275402 Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/633e9b6e15b7b142eb311ecc316858eab5425033..0549c7127c2fbab2904892c9d6ff491fa1e93751 https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers/+log/2b2e05e088841c63c0b6fd4c9fb380d8688738d3..e7294a8ebed84f8c5bd3686c68dbe12a4e65b644 https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/bdf077623c55dabae66ce64639086b4391e14016..3364b982713a0440d1d342dd5eec65b122a61b71 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/0d99e5aad4299d8e4b3bcf4bf1e1bea4a32a9044..cc4c765c9ccacabd6338f348082841846053abb9 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,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: Iaf74dbf889388ac22d282ba89ffd5fdc8bd73d21 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6217422 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll df67137f 2025-01-30T07:02:16 Roll Chromium from d33160322271 to a51c83d792dd (575 revisions) https://chromium.googlesource.com/chromium/src.git/+log/d33160322271..a51c83d792dd If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://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 Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/f50a45f36e..381f9f22a0 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/4521cec19f..6b4eaa1ed0 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/602354bd16..98d613eb20 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/065e549702..aaed376e01 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/6fba8f15dc..19f086d093 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/9f48a4ca85..ce598256f2 * third_party/fuchsia-sdk/sdk: version:26.20250117.5.1..version:27.20250129.4.1 * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/12150825ca..2e25154d49 * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/c015540044..0d8d089914 * third_party/r8/cipd: kXrlzFdbtrTA5fGDhJngfPu9c-g4zvKJfzY9ar7HDqwC..twmEo-SOTxF2yvzPBCZ6XnSnzi3RekGMhUHTIhc5ox8C * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/19ead498eb..35179fc54f * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/dab4e480ea..544050827c * tools/luci-go: git_revision:83f8c966f0ca5b6d249d042c7ca6f6deba3c7464..git_revision:c36fd1e86ba464371c3e6d817c14f2b40d43cb29 * tools/luci-go: git_revision:83f8c966f0ca5b6d249d042c7ca6f6deba3c7464..git_revision:c36fd1e86ba464371c3e6d817c14f2b40d43cb29 * tools/luci-go: git_revision:83f8c966f0ca5b6d249d042c7ca6f6deba3c7464..git_revision:c36fd1e86ba464371c3e6d817c14f2b40d43cb29 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/7c0f6f0781..47b4070816 * tools/skia_goldctl/linux: S8KkLIhCwVe-hsj8R5K7Mc2puD0PkQY0t_YQZ0-rrDwC..M1GANqZ-d2Qp4DHOEtmfafgGkTeeDLKJUreuBV_psroC * tools/skia_goldctl/mac_amd64: eCSZRvEvRPq8bq7BcZ086o2PMGFHGmrnIlrtgq_3WNcC..rB-KKpciKP6EJPB7uDYVpqHCFEaz7IF5JTCYggCznmcC * tools/skia_goldctl/mac_arm64: 9SDFiZaagGd9jEbCtYfv3VgwH2Bn4McoYBAVJoeCGc8C..Nej3vvoT_ssGeDCs5clWDgEDHARO4KP8W3EKOLNxXTkC * tools/skia_goldctl/win: Hx02LAyUjppCjvPbUB4_ekvQILOOxwptggbjbqFAKxEC..Mg04jm-4f1YP4Vv2GYoJdIv8gxvPFQSgwovCzVlN-w0C No update to Clang. Bug: None Tbr: ynovikov@google.com Change-Id: I79f68cc5a81a9f6fe67e801e9f5e0a7ab4863d4c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6216216 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Kimmo Kinnunen 5325904b 2025-01-29T14:43:35 Metal: Simplify error checking Use normal ANGLE_CHECK, ANGLE_CHECK_GL_ALLOC, ANGLE_CHECK_GL_MATH when appropriate. Use ANGLE_MTL_CHECK for checking Metal NSError return value. Remove mtl::ErrorHandler::handleError variant that responds to NSError. Uses "Internal error." that occur due to implementation bugs. Binary size is already expended with __FILE__ et al to disambiguate the location. The descriptions were not actionable for the API client and sometimes wrong cut-and-paste. Bug: angleproject:392938089 Change-Id: If9525d3d1610d5bc757855053600d78d2a1526c3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6211841 Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Cody Northrop 5798be5e 2025-01-13T07:45:11 FrameCapture: Fix framebuffer bindings in MEC While capturing an app, I was crashing on the line reading replayState.getReadFramebuffer()->id() That's because replayState did not have a read framebuffer bound, and we dereferenced nullptr. replayState is a default state that we've created and we're modifying to make it *look* like apiState. We should be updating replayState to match the framebuffers bound in apistate. In this case state*Framebuffer is read from apiState and is the value we want to propagate. AFAICT these have been incorrect since they landed in the initial implementation, but the code is complex: https://chromium-review.googlesource.com/c/angle/angle/+/1689329 Test: Tower of Fantasy capture Bug: b/389808881 Change-Id: Ibf7bc56cd385c34139676c5813926f756bb38f42 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6174746 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Mark Łobodziński <mark@lunarg.com>
Gowtham Tammana e330d959 2024-04-09T15:13:48 CL/Vulkan: Add native builtins to clspv compiler Add a set of native builtins that are known to perform better for Samsung devices. A feature condition `uses_native_builtin_cl_kernel` is setup in `vk_featurs.json` for control of the selection. The following files are autogenerated - FeaturesVk_autogen.h - angle_features_autogen.cpp - angle_features_autogen.h Bug: angleproject:361717757 Change-Id: I10ffad0cbf1d4c2e9bfeea768311d90b0f65af2d Signed-off-by: Gowtham Tammana <g.tammana@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6092036 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Austin Annestrand b4cac1ad 2025-01-29T10:59:22 CL/VK: Hotfix: Implementation of Compute Pipeline Cache Unnecessary "new" that was leaking when moving raw ptr to cache map. Easy fix is to stack allocate and std::move the object to container when finished initializing. Bug: angleproject:391672281 Change-Id: I7b0f922de2a1332e8e452e87bc498d3c9907d7d8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6214690 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov 6f5b32d0 2025-01-29T18:55:21 Suppress flaky end2end test on Linux NVIDIA Vulkan ClearTextureEXTTestES31Renderable.Clear3D Bug: angleproject:362486580 Change-Id: Iff0195d85c828d172ea4b9e150b62da7df0769d3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6215271 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Kimmo Kinnunen 43e7384d 2025-01-28T18:28:44 Metal: Fix a race in failing compilation subtasks Program link invokes two link subtasks, one MSL compilation per shader in program. If these tasks would fail, they would race to write the error message to the error string held in link object. Fix by recording the error message to the compile tasks and forwarding it to the context when sub task result is fetched. Bug: angleproject:392652319 Change-Id: Icb369f7bd62da5155d7915f2743ac53d91d61ea8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6207769 Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Liza Burakova 40523499 2025-01-29T12:13:45 WebGPU: Emulate line loops for drawElements Bug: angleproject:383356846 Change-Id: I82a6dfad4a1c5d434f029701611e4b61344655f8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6086120 Commit-Queue: Liza Burakova <liza@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Mohan Maiya 9975e80b 2025-01-28T17:25:38 Vulkan: Bugfix in SPIRV entrypoint transformation Perform varying precision fixer transformation before other shader-stage-specific transforms that could potentially modify the interfaceList. Also enhance EXTBlendFuncExtendedDrawTest by enabling additional config with VaryingsRequireMatchingPrecisionInSpirv feature enabled Bug: angleproject:386749841 Change-Id: Ife4a2f932415296f1565527e50a2b8646cd7697d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6207741 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Yuly Novikov af4817db 2025-01-29T14:12:02 Suppress angle_oclcts_non_uniform_work_group failures on Linux NVIDIA Bug: angleproject:42267085 Change-Id: I13f85d8b7ed140f3a10262fe335de664cfd68624 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6213432 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Yuly Novikov 00f0b887 2025-01-29T14:04:38 Skip pokemon_go flaky crash on Linux Intel Bug: angleproject:392938092 Change-Id: Ie46582b91fc498640b2651f3e04aaf7d1769da6e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6213430 Reviewed-by: Cody Northrop <cnorthrop@google.com> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
angle-autoroll 95af326c 2025-01-29T10:01:44 Roll vulkan-deps from ef9be82521e9 to 0a35e614cfbd (14 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/ef9be82521e9..0a35e614cfbd Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/LunarG/VulkanTools/+log/6eeaaadd15eb8603af175504427a7ebcc0364815..5165b6d2bdff5244e8aef6408441a962424cf2d1 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader/+log/a4680e67d0bad1dcc8a0fca2fc4b6f33519ae093..369afe24d1351d6e03cbfc3daf1fc5f6cd103649 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/abf70b95ed671aac7f2ed90fa5a16888fb33f1d8..0d99e5aad4299d8e4b3bcf4bf1e1bea4a32a9044 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,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: Ib398405a95e9360952af5b5b7aeeacd35fd28d39 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6210122 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Igor Nazarov b5809efa 2025-01-16T17:56:47 Delay eglSwapInterval() effect until swap ... and fix resetting effect of `eglSwapInterval()` call by changing the `EGL_RENDER_BUFFER` attribute, and resetting desired shared present mode when calling `eglSwapInterval()`. Bug: angleproject:390333526 Change-Id: I473c7d4c5929e2179bbcd378b3695d10213644de Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6169922 Commit-Queue: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
angle-autoroll 83a6d223 2025-01-29T08:31:06 Roll Chromium from 1ecb21e0f634 to d33160322271 (638 revisions) https://chromium.googlesource.com/chromium/src.git/+log/1ecb21e0f634..d33160322271 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://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 Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/f56ffde666..f50a45f36e * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/a660247d3c..4521cec19f * testing: https://chromium.googlesource.com/chromium/src/testing/+log/0d6228c8b2..602354bd16 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/5f29517d08..065e549702 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/af7eadb024..9f48a4ca85 * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/2e25154d49..12150825ca * third_party/libc++abi/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/7e0f3a8471..634228a732 * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/75ca665df9..c015540044 * third_party/r8/cipd: VSVmC5R_5xS8P4rv9--88KTcqKPfJ6oDKRQ-hX9IRsUC..kXrlzFdbtrTA5fGDhJngfPu9c-g4zvKJfzY9ar7HDqwC * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/d04dc8f182..dab4e480ea * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/47158e077c..7c0f6f0781 * tools/skia_goldctl/mac_amd64: rB-KKpciKP6EJPB7uDYVpqHCFEaz7IF5JTCYggCznmcC..eCSZRvEvRPq8bq7BcZ086o2PMGFHGmrnIlrtgq_3WNcC No update to Clang. Bug: None Tbr: ynovikov@google.com Change-Id: I501e5ad1e3341a34a6a00948926c193875403e0c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6210207 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Charlie Lao f231d94b 2025-01-13T14:58:16 Vulkan: Add kBufferMemoryBarrierData to mirror image Right now we only maintain a mapping from EventStage (which is a value of VkPipelineStageFlags) to VkPipelineStageFlags for images. For next CL we need to indicate if use VkEvent is preferred or not for a given PipelineStage access. This CL expands kPipelineStageFlagBitMap (and renamed to kBufferMemoryBarrierData) to contain both the VkPipelineStages and EventStage to indicate if VkEvent should be used or not, similar to kImageMemoryBarrierData but a lot simpler. Right now it all set to EventStage::InvalidEnum which means will use pipelineBarrier. This will change in next CL. This CL also does some clean up: A few BufferHelper related functions changed argument from ErrorContext* to Context*, mainly because of BufferHelper::release() now takes Context* as argument so that we can recycle events within context's share group without lock. ImageLayoutToMemoryBarrierDataMap is added to replace angle::PackedEnumMap<ImageLayout, ImageMemoryBarrierData> kEventStageAndPipelineStageFlagsMap is removed. InitializeEventAndPipelineStagesMap is now using kImageMemoryBarrierData directly to construct mEventStageToPipelineStageFlagsMap. As result of this, EventAndPipelineBarrierHaveMatchingStageFlags is also removed since InitializeEventStageToVkPipelineStageFlagsMap already ensures this. Bug: angleproject:360274928 Change-Id: Idb74f3e4120ca9a04b8eccb7ed034aa769024bf9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6172763 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Austin Annestrand e0cbdbb5 2025-01-15T14:08:45 CL/VK: Enable dispatch region chunking This change does two things: - Allow non-uniform workgroup size - Dispatches that go beyond VK workgroup count limit Bug: angleproject:42267085 Change-Id: I1f2da93252e466b811273ee34d9d38e454f11686 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6180550 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Austin Annestrand 95635ef0 2025-01-23T16:30:41 CL/VK: Implementation of Compute Pipeline Cache. Implemented ComputePipelineCache, hash map from OpenCL and OpenGL compute state vectors to compiled pipelines. Implemented ComputePipelineDesc, a tightly packed description of the current compute state. Compute Pipeline State includes the specialization constants, Pipeline Options (Protected, Robust). Updated-by: Austin Annestrand <a.annestrand@samsung.com> Bug: angleproject:391672281 Change-Id: I88944dc169d194d1b2c75747769d7346b041fa75 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6191437 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Geoff Lang 1161ac8e 2025-01-23T13:25:01 WebGPU: Implement no-op gl_PointSize Support writing to the gl_PointSize builtin but do not pass it to the next shader stages. Bug: angleproject:392604862 Change-Id: I845a3edeb0ce8e7ea41a5e96e5f3b443100f2cbf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6194555 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Roman Lavrov d9128ff4 2025-01-28T09:43:58 Clean up Galaxy expectations for A/S23 and S24 Exynos/QC Split A23 and S23 into separate lists GALAXYS24EXYNOS for S24 Exynos ("International") GALAXYS24QUALCOMM for S24 Qualcomm Bug: angleproject:359904354 Bug: b/338429767 Change-Id: If9c1f184df6c6f15e3b5d5af3a7e1310cb445984 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6207255 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
Cody Northrop fa0de0dd 2025-01-27T17:32:49 restricted_trace_perf: Support --fps-limit Simply passes the flag and value through. Test: restricted_trace_perf.py --fps-limit 30 ... Bug: b/376300037 Change-Id: I344492944babed33edcbdae6b2906795d31715e4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6204802 Auto-Submit: Cody Northrop <cnorthrop@google.com> Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
angle-autoroll 91985374 2025-01-28T10:01:29 Roll vulkan-deps from 7425f0646395 to ef9be82521e9 (20 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/7425f0646395..ef9be82521e9 Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/bd1f1c263fc10969eb4a4b393e774a75ffcb2673..633e9b6e15b7b142eb311ecc316858eab5425033 https://chromium.googlesource.com/external/github.com/LunarG/VulkanTools/+log/4897b17f67bd6ddfeabb9c4e0bf5e8298eab3064..6eeaaadd15eb8603af175504427a7ebcc0364815 https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/173fe3c60a8d9c7d35d7842ae267bb9df267a127..bdf077623c55dabae66ce64639086b4391e14016 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader/+log/ce3fbf53c8f77d04bc23d573a45b57fb6ed52e86..a4680e67d0bad1dcc8a0fca2fc4b6f33519ae093 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries/+log/8ec84823afa46cd054c8b094269eab958e078010..1ddbe6c40aeaf98d4138f07c325ebb01beeece68 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/258528b408898da932e3c681ff731b0be73fd9fc..abf70b95ed671aac7f2ed90fa5a16888fb33f1d8 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,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: I90dcca8ad121234488b662e8896b6f8129f2d668 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6204256 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 7085b6b1 2025-01-28T02:01:28 Roll SwiftShader from a87fa39f6446 to 86cf34f50cbe (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/a87fa39f6446..86cf34f50cbe 2025-01-27 swiftshader.regress@gmail.com Regres: Update test lists @ a87fa39f If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC angle-team@google.com,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: ynovikov@google.com Use-Permissive-Angle-Pixel-Comparison: True Change-Id: If0d2773d29a69a51e29476da175a35ee80513167 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6205823 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 806277c6 2025-01-28T07:01:03 Roll Chromium from 44e2240f3d75 to 1ecb21e0f634 (630 revisions) https://chromium.googlesource.com/chromium/src.git/+log/44e2240f3d75..1ecb21e0f634 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://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 Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/2e946a1769..f56ffde666 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/eb00e5b142..0d6228c8b2 * third_party/android_build_tools/error_prone/cipd: 8BhbnOXLLwq5cMmiboLj9_ep5FeMNwJuVPvz9BrY1PoC..nMRsstwSV_yyzV8beLhNfywd81JUi3QmAXpbHD0stscC * third_party/android_build_tools/lint/cipd: 1veHvODGn5XZ5IcxP36LQZ16pvydqdtMVqfm4Bj3EFcC..pVQ05VquWske4TcBSXyzfgZCS5VBomVXJ0NTXXbbnS4C * third_party/android_build_tools/manifest_merger/cipd: 2izJpKHtwg2L4dRBZvMneb2h_7370lDH6yuhAgnAYc0C..k__Rs3pAmfiyzS9AAiiKHzBQdzs7iAx4u9fgScVOwTsC * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/77a800d729..af7eadb024 * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/68c77f0566..75ca665df9 * third_party/r8/cipd: J6-Klb-dVUAdm4YtIE1uNG5nm8u4MbS2NVRoOkGx6pMC..VSVmC5R_5xS8P4rv9--88KTcqKPfJ6oDKRQ-hX9IRsUC * third_party/rust: https://chromium.googlesource.com/chromium/src/third_party/rust/+log/ce8b65518e..961fba8da2 * third_party/siso/cipd: git_revision:250e61b595d4f46eeff5901d3218bb2eaecf575b..git_revision:0b6159c39573013a79a47f8544200df07a6a74fc * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/0b5dab2791..19ead498eb * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/e262f0f889..d04dc8f182 * tools/luci-go: git_revision:e3703a4d1c29e8355653c19b59b0aa793a850956..git_revision:83f8c966f0ca5b6d249d042c7ca6f6deba3c7464 * tools/luci-go: git_revision:e3703a4d1c29e8355653c19b59b0aa793a850956..git_revision:83f8c966f0ca5b6d249d042c7ca6f6deba3c7464 * tools/luci-go: git_revision:e3703a4d1c29e8355653c19b59b0aa793a850956..git_revision:83f8c966f0ca5b6d249d042c7ca6f6deba3c7464 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/dbbf0e0bee..47158e077c * tools/skia_goldctl/linux: B1lNvmnjnO7yf_AfZgDPUmoCdMreSDhPPROwkiWk8jQC..S8KkLIhCwVe-hsj8R5K7Mc2puD0PkQY0t_YQZ0-rrDwC * tools/skia_goldctl/mac_amd64: Cb2Fx5W46eaNENhgoYiw8Tabe1JjHh7MEjab7fYNmjEC..rB-KKpciKP6EJPB7uDYVpqHCFEaz7IF5JTCYggCznmcC * tools/skia_goldctl/mac_arm64: yEMI787ucvQWVBOeW4q8TMjvZz_yNOwB1aKRtLYfR1kC..9SDFiZaagGd9jEbCtYfv3VgwH2Bn4McoYBAVJoeCGc8C * tools/skia_goldctl/win: uk3Q5uckAHDJH6eZZtZzxgWfE_SSuRlZ38RpWSjFIu8C..Hx02LAyUjppCjvPbUB4_ekvQILOOxwptggbjbqFAKxEC No update to Clang. Bug: None Tbr: ynovikov@google.com Change-Id: I9451442dd1628944cf43336f2c39b9d8b2e16a1b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6204804 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Gowtham Tammana 0878d854 2024-10-29T12:24:22 CL/Vulkan: Query spv version from renderer Query the SPV version to be used by the clspv from the Vulkan renderer and set it up accordingly. Bug: angleproject:361717757 Change-Id: I6b1497120c21402386cb52a751970830e5cd7f3e Signed-off-by: Gowtham Tammana <g.tammana@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5973716 Reviewed-by: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya 7fe2a36c 2025-01-24T19:47:01 Vulkan: Parse Samsung Vulkan driver version Use driver version instead of API version to disable imageless framebuffer feature Bug: angleproject:386749841 Change-Id: Ia7bf06210224d399d60d6c1000c4fb8179f1239c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6199891 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Alex Dean 2e36e947 2025-01-16T15:12:22 CL/VK: kernel's arg.handle update properly when setArg Fix arg.handle to be an underlying CL object type. Bug: angleproject:390488741 Change-Id: I8a9d3981a46f17e9af906f0e345c17585a332b30 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6180553 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Austin Annestrand <a.annestrand@samsung.com> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 885a8060 2025-01-24T12:27:10 WebGPU: Implement depth/stencil test. Force the compare function to Always when depth or stencil tests are disabled. Bug: angleproject:392604945 Change-Id: I67265b2e5eabe8e9fc3d1222140ee1b6a7c5cefa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6198040 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Liza Burakova <liza@chromium.org>
Geoff Lang bec97bbb 2025-01-23T13:29:04 WebGPU: Flip Y for ReadPixels ReadPixels results are upside down. Flip the results in the PackPixels functions. TODO: Re-evaluate if this needs to be default-FBO only once more tests are running. Bug: angleproject:42267090 Change-Id: Ia5e5ee218de2e754f5de02a826f664d2f71efb76 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6194557 Reviewed-by: Liza Burakova <liza@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 0f75fc3d 2025-01-20T14:10:41 Vulkan: Transition foreign images to the FOREIGN queue on submit Vulkan's interaction with AHB and dmabuf images is through the FOREIGN queue family. When ANGLE uses these images, it must take ownership of the images by doing a queue family ownership transfer (QFOT) away from the FOREIGN queue family and into the graphics queue family used by the Vulkan backend. Prior to this change, ANGLE would do the QFOT away from FOREIGN once such a foreign image is imported into an EGL image. Afterwards, usage in ANGLE works correctly. What ANGLE did not handle is when a foreign entity wants to use these images _after_ ANGLE has used them. For the above to work correctly, ANGLE must do a QFOT back into FOREIGN before the image can be used by the foreign entity. Unfortunately, EGL does not provide a clear point for this hand-off to happen. ANGLE has no choice then to proactively transition the images back into FOREIGN at some point "just in case". For some native drivers, this hand-off to FOREIGN can be quite frequent. For example, on Android for most vendors there is no actual layout transition between graphics and FOREIGN queue families (the actual data layout is the same), so a cache flush/invalidate at strategic points (such as the end of the command buffer) is sufficient as equivalent to transition to FOREIGN (and another at the beginning of the command buffer as equivalent to transition from FOREIGN). As a layer over Vulkan's formalism, ANGLE is less lucky; it has to enumerate exactly which image is being transitioned to and away from FOREIGN. Transitions away from FOREIGN are in principle easy. As long as the image is marked as being in the FOREIGN queue family, it will automatically transition to the graphics queue family on first use. In this change, when a foreign image is transitioned out of the FOREIGN queue, it's added to a list of images to be transitioned back to FOREIGN at submit time. Once submission is done, the image may or may not actually be used by a foreign entity, but ANGLE cannot know that. The next time the image is used in ANGLE, it is transitioned out of FOREIGN. Verifying correctness with multi-threading is tricky, and relies on GL's requirement that access in one context is followed by a synchronization and rebind in another context before it can be used there. This means that the image's transition to FOREIGN (at the end of one submission) naturally happens before the transition back from FOREIGN (at the beginning of the next submission). Because the set of images to transition is tracked in the context, submissions in other contexts don't interfere with the above logic. The situation can be more complicated with one-off submissions, but fortunately, no such usage of foreign images is present. Another wrinkle is simultaneous usage of the image as read-only in two contexts. According to GL, this is not a hazard and requires no synchronization. However this is broken in ANGLE even for non-foreign images (see http://anglebug.com/42266349), because as what _seems_ like read-only usage of the image from GL's point of view (like sampling from the image), there are associated write operations from Vulkan's point of view (image layout transitions and QFOT). This change does not attempt to address this corner case. Bug: angleproject:42263241 Bug: angleproject:42262454 Bug: angleproject:390443243 Bug: chromium:382527242 Change-Id: Idd4ef1fecfa3fccf1a4063f1bddb08d28b85386b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6184604 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 47c64ce2 2025-01-24T16:15:26 Vulkan: Fix driver version parsing Bug: chromium:371512561 Change-Id: I469c4ae71613fdfdfd7e58602b5a7262342acba7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6199184 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com>
angle-autoroll 8d76df50 2025-01-27T10:01:52 Roll vulkan-deps from 1b571b5a7b3c to 7425f0646395 (14 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/1b571b5a7b3c..7425f0646395 Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/LunarG/VulkanTools/+log/3f129d076b44221b8b56a63215446d33b570ced8..4897b17f67bd6ddfeabb9c4e0bf5e8298eab3064 https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/e02275ec02b68e3d175528f768871c97ae9eee90..173fe3c60a8d9c7d35d7842ae267bb9df267a127 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers/+log/a03d2f6d5753b365d704d58161825890baad0755..e43027aa41c4f51b12d79aeae53ff608951c36ec https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader/+log/1586f33d6d79eb9ffa5963ce4f70423986b95d8a..ce3fbf53c8f77d04bc23d573a45b57fb6ed52e86 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools/+log/8ce2501d2511b6f4e6389a03ff08c4e84d54fa25..7658238ddc50d7ef1fe923d95b7112597a5adc68 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries/+log/f07e27717a642fa193c967440f21ed634ea17987..8ec84823afa46cd054c8b094269eab958e078010 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/afad70fbb26c643b19cf53a5990852a4d83664b6..258528b408898da932e3c681ff731b0be73fd9fc 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,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: Ia0016ff0c2769e7c8be65b2a69ce705ee62b593c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6200657 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 06c5bb50 2025-01-27T08:01:47 Roll VK-GL-CTS from a9988483c086 to cf81553b703a (18 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/a9988483c086..cf81553b703a 2025-01-24 lorenzo@khronosgroup.org Update external sources for SPIRV-Tools and glslang 2025-01-24 gleese@broadcom.com Simplify feature struct consistency checking 2025-01-24 macjurga@amd.com Improve indirect build AS BuildRangeInfo coverage 2025-01-24 rgarcia@igalia.com Test feedback loop on separate mip levels 2025-01-24 rgarcia@igalia.com Test not binding unused vertex bindings 2025-01-24 piotr.byszewski@mobica.com Fix validation error in separate_channels DR tests 2025-01-24 marcin.zajac@cognizant.com Fix validation errors in shader_object tests 2025-01-24 mateusz.bahyrycz@mobica.com Depth stencil buffer copy fix for compute only 2025-01-24 mateusz.bahyrycz@mobica.com Barrier pipeline/shader stages fix for compute only 2025-01-24 rgarcia@igalia.com Do not check fragment shader outputs that are not written to 2025-01-24 rgarcia@igalia.com Test undefined values do not crash compiler 2025-01-24 rgarcia@igalia.com Test DGC with dynamic patch control points 2025-01-24 rgarcia@igalia.com Test varying sample shading state in indirect execution sets 2025-01-24 rgarcia@igalia.com Test alpha to coverage with alpha to one 2025-01-24 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.1 into vk-gl-cts/main 2025-01-23 gleese@broadcom.com Add VK_KHR_depth_clamp_zero_one 2025-01-23 lorenzo@khronosgroup.org Update Vulkan headers to 1.4.305, spirv tools, headers, glslang, amber 2025-01-17 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkansc-cts-1.0.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 angle-team@google.com,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: I1a46a354166d3a3019477a1dc0e4adfd0b0ec158 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6199492 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 037e7bfa 2025-01-27T07:00:11 Roll Chromium from 67eb0a3b5a40 to 44e2240f3d75 (752 revisions) https://chromium.googlesource.com/chromium/src.git/+log/67eb0a3b5a40..44e2240f3d75 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://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 Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/e13953ced0..2e946a1769 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/e0898cdec9..eb00e5b142 * third_party/android_build_tools/error_prone/cipd: DFqEkqm_CBBWylsmJnAMv2md7Kx6X9l3I3y8De6nmuAC..8BhbnOXLLwq5cMmiboLj9_ep5FeMNwJuVPvz9BrY1PoC * third_party/android_build_tools/manifest_merger/cipd: ESxV7cNgPg8y2RupSn5lYWBzQQMMK5Ai729X_Zhv_zwC..2izJpKHtwg2L4dRBZvMneb2h_7370lDH6yuhAgnAYc0C * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/567ad21ab4..e531e94991 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/8c858fc98c..77a800d729 * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/b24bb82dd0..68c77f0566 * third_party/r8/cipd: 3iC3eGx7wAPZJhIJjRdLvqyiJHhKFVT1Eq6-uccHw9oC..J6-Klb-dVUAdm4YtIE1uNG5nm8u4MbS2NVRoOkGx6pMC * third_party/rust: https://chromium.googlesource.com/chromium/src/third_party/rust/+log/9d0d7c0c17..ce8b65518e * third_party/siso/cipd: git_revision:6e20453c920920cade25e28fc443472eb22ddb41..git_revision:250e61b595d4f46eeff5901d3218bb2eaecf575b * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/0d66cc525a..0b5dab2791 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/b3fef6ee99..dbbf0e0bee * tools/skia_goldctl/linux: 1TplvrLyzA9FlWhQRWdX9SaTfuZaPdvQ9BMG0wNhy98C..B1lNvmnjnO7yf_AfZgDPUmoCdMreSDhPPROwkiWk8jQC * tools/skia_goldctl/mac_amd64: aGSV8FRvSVFoQndmtzdgxKhvRR5fHzqV4Out1xJ8IdQC..Cb2Fx5W46eaNENhgoYiw8Tabe1JjHh7MEjab7fYNmjEC * tools/skia_goldctl/mac_arm64: J_hsft9STSA1c91EbHgGONUGi_KYtolnyIbXIM_1ps8C..yEMI787ucvQWVBOeW4q8TMjvZz_yNOwB1aKRtLYfR1kC * tools/skia_goldctl/win: iu7P4Y4eMVlvfq6mCvSlP12RQuqVdmIjndnnxIbxy4IC..uk3Q5uckAHDJH6eZZtZzxgWfE_SSuRlZ38RpWSjFIu8C No update to Clang. Bug: None Tbr: ynovikov@google.com Change-Id: I37fccee175780e57dafe072bb8a3fd9ee514a2d8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6199491 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Charlie Lao 8c317940 2025-01-16T17:51:12 Vulkan: Add feature flag to use VkEvent for buffer barriers Bug: angleproject:360274928 Change-Id: Ie6e48a0a57c016571a1e94c0105a231c749c76f9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6180394 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Shahbaz Youssefi 8c298ec9 2025-01-12T22:53:32 Vulkan: Use surfaceless queries with headless EGL configs Bug: angleproject:389342064 Change-Id: If5ec101f5ef5135febe3fe12d5c309fe2a35f07c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6169254 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Artem Kharytoniuk d7ea4b2c 2025-01-06T20:40:48 Vulkan: Use syncval extra properties for error suppression Bug: angleproject:391284743 Change-Id: I594a70e7d06f1d73647407dbac1afece666a7c5c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6180310 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Alex Dean d926d80d 2025-01-16T09:53:35 CL/VK: Fix enqueueFillImage & enqueueMapImage lock and waitlist Fix in enqueueFillImage and enqueueMapImage. Semantically should be using scoped lock and processWaitlist() instead of enqueueWaitForEvents(). Bug: angleproject:390387802 Change-Id: I86173a079aa7fdd54a8b7158ec8214147cfb7cd2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6179619 Reviewed-by: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Austin Annestrand b5c12605 2025-01-22T13:44:13 CL: Limit max work size/offset to UINT32_MAX Set a hard limit of UINT32_MAX on work item/offset for OpenCL's clEnqueueNDRangeKernel cmd for all backends (simplifies handling). Bug: angleproject:42267067 Change-Id: Ied1685609b3818e4c3a366a03770dc361198639c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6191436 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Roman Lavrov adb52e06 2025-01-23T17:36:44 Avoid unnecessary copy ctor calls of gl::DepthStencilState That object has a user defined copy ctor to copy padding (https://crrev.com/c/783990). This together with copying instead of using a reference results in a function call (which just wraps memcpy) Bug: b/383305597 Change-Id: Ia92e726a887bd12ab14c1ca53f79c0b13b57a199 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6194695 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
angle-autoroll 41225dc8 2025-01-24T02:01:17 Roll SwiftShader from 73053a0586b0 to a87fa39f6446 (4 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/73053a0586b0..a87fa39f6446 2025-01-24 dneto@google.com tests/kokoro: use clang-format 13 2025-01-24 dneto@google.com tests/kokoro: use gcc 13 instead of gcc 9 2025-01-23 syoussefi@google.com Support VK_GOOGLE_surfaceless_query 2025-01-23 victorvianna@google.com [cpp23] Remove usage of std::aligned_storage/union<> in swiftshader If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC angle-team@google.com,romanl@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: romanl@google.com Use-Permissive-Angle-Pixel-Comparison: True Change-Id: I5a5bb5bca6819bf57c562def1c3f275e15742aeb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6198020 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll c51485be 2025-01-24T10:01:25 Roll vulkan-deps from dcf521eec97a to 1b571b5a7b3c (5 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/dcf521eec97a..1b571b5a7b3c Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/22a33d6742e2edfcdab947179c073428b427be9c..bd1f1c263fc10969eb4a4b393e774a75ffcb2673 https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/4aa537a5c6bef1fea7edea718a564bc0a1869450..e02275ec02b68e3d175528f768871c97ae9eee90 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/30169d29b89039700b9fd7d3d01f62f3e2641847..afad70fbb26c643b19cf53a5990852a4d83664b6 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,romanl@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: romanl@google.com Change-Id: I81b373f5ab340f134a08d140a61c0d3a8d82e985 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6196640 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 57eee4fa 2025-01-24T07:02:28 Roll Chromium from 098b675df0b0 to 67eb0a3b5a40 (601 revisions) https://chromium.googlesource.com/chromium/src.git/+log/098b675df0b0..67eb0a3b5a40 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,romanl@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://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 Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/962bdd52d3..e13953ced0 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/cd8c3f3a23..e0898cdec9 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/3c28682788..5f29517d08 * third_party/android_build_tools/error_prone/cipd: Q3oiuVxuq1jkWhjfnfCSviXK8BbbB9n6_4jz3x_Mo3kC..DFqEkqm_CBBWylsmJnAMv2md7Kx6X9l3I3y8De6nmuAC * third_party/android_build_tools/manifest_merger/cipd: XR6gkuLVsVOJ1Ysmv0JCjHrWaTNjvh2a6EwSENxyrqsC..ESxV7cNgPg8y2RupSn5lYWBzQQMMK5Ai729X_Zhv_zwC * third_party/android_sdk: https://chromium.googlesource.com/chromium/src/third_party/android_sdk/+log/d430128984..16e8416791 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/49e10123de..8c858fc98c * third_party/libc++abi/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/8205ccf0f2..7e0f3a8471 * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/7fb16ccf18..b24bb82dd0 * third_party/r8/cipd: ZTHhAJg0CQvNxfBmE7mECwY-jJDQ7kknVwVvZpQzLLIC..3iC3eGx7wAPZJhIJjRdLvqyiJHhKFVT1Eq6-uccHw9oC * third_party/rust: https://chromium.googlesource.com/chromium/src/third_party/rust/+log/179c871982..9d0d7c0c17 * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/cd073aaae9..0d66cc525a * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/facb7d1306..e262f0f889 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/d7b110a48a..b3fef6ee99 No update to Clang. Bug: None Tbr: romanl@google.com Change-Id: I856d7f1e5cbd18294801a544245d12d52377c536 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6196639 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Amirali Abdolrashidi 54b69688 2025-01-21T11:28:59 Vulkan: Add max memory allocation size limit check During memory allocation, we should make sure that the attempted allocation size does not exceed the maximum allowed size. Failure to do so may result in validation errors. * Added the following object to the renderer: mMaintenance3Properties * It holds the following device property: maxMemoryAllocationSize * Inline renderer function: getMaxMemoryAllocationSize() * Buffer and image allocation sizes will now be checked with the function above. * In case of exceeding the maximum allocation size, a device OOM error is returned after issuing a warning: * MemoryAllocationTracker::onExceedingMaxMemoryAllocationSize() * Removed the suppression for the test failing due to this issue. * Removed the maxMemoryAllocationSize VVL skip targeted for MockICD. * Suppressed tests on S22 that now fail due to exceeding this limit: * KHR-GLES[31/32].core.texture_buffer.texture_buffer_max_size Bug: angleproject:391002353 Change-Id: Id271066bd872c80344ef8531653afda3e6b40a93 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6187981 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Charlie Lao c3f9109e 2025-01-09T17:22:41 Vulkan: Change EventMaps from struct to class For better encapsulation, this CL turns struct EventMaps to class RefCountedEventArray. Bug: angleproject:360274928 Change-Id: Ie28996fdb95d5a830399e6fa6cd5602f403e8725 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6164698 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao c7ad15e3 2025-01-23T13:37:28 Vulkan: de-duplicate ImageHelper::barrierImpl and barrierImplOneOff barrierImpl is renamed to recordBarrierImpl barrierImplOneOff renamed to recordBarrierOneOffImpl barrierImpl contains all the common logic between recordBarrierImpl and recordBarrierOneOffImpl. Bug: angleproject:390443243 Change-Id: I01ce9ea3f1f0acb30fe0efcdd20bd1caaa248a7c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6195570 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Charlie Lao <cclao@google.com>