Log

Author Commit Date CI Message
Igor Nazarov 74609065 2024-11-27T16:09:44 Vulkan: Fix finishOneCommandBatchAndCleanupImplLocked Fix the `finishOneCommandBatchAndCleanupImplLocked()` to always do cleanup regardless if there is something to finish. This method is designed not only to free space in `mInFlightCommands` but also to cleanup already retired commends (in `mFinishedCommandBatches`) and renderer's garbage. In case if `mInFlightCommands` is empty cleanup was skipped - which is incorrect. Change removed `Impl` from the name since it is already have `Locked`. The `finishOneCommandBatchAndCleanup()` is updated to simply call the locked version with the mutex lock held. Change also improved `FixedQueue` assertions (always check that `mSize <= mMaxSize`). Bug: b/280304441 Change-Id: I67bd7c35b164b84e9c07306a5bf48b0adefdfa5e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6055419 Commit-Queue: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shufen Ma 100c0b8c 2024-11-04T13:58:00 Preserve mMinSampleShading value when SAMPLE_SHADING enable is toggled Preserve mMinSampleShading value when SAMPLE_SHADING enable is toggled. Initial value of MIN_SAMPLE_SHADING_VALUE is zero and that value should not be changed during glEnable(SAMPLE_SHADING_OES). Bug: angleproject:376174077 Change-Id: Iea06d7480167eff5722c2d5eef23287e8bb956f8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5981462 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Shahbaz Youssefi 224f836c 2024-12-04T09:35:09 Vulkan: Update setupDispatch comment The comment was wrong and a source of confusion. Bug: angleproject:382090958 Change-Id: I7b1a3d5f3b1c86539164d346e320d30b61254f2c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6069354 Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Chris Dalton cc841237 2024-11-29T13:45:50 Accept framebuffer modifications while PLS is active The only way for a WebGL implementation to know if PLS is actually active is to call glGetIntegerv(PIXEL_LOCAL_STORAGE_ACTIVE_PLANES_ANGLE) (because glBeginPixelLocalStorageANGLE() can fail). So the original behavior of not allowing glBindFramebuffer() et. al. while PLS was active created a state scenario that was expensive for the browser to track. Instead, just allow glBindFramebuffer() et. al., and implicitly disable PLS if they are called while it's active. Bug: angleproject:40096838 Change-Id: Ibd303f9f9950fb5b7f1add2d41882e4379c51e62 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6060301 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Chris Dalton <chris@rive.app> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov 57ccab32 2024-12-04T16:26:15 Skip dota_underlords on Windows NVIDIA Produces flaky images on on GTX 1660 driver 31.0.15.4601 Bug: angleproject:369533074 Change-Id: I7cfde430deeec2e67549803af425087716ee675e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6070070 Commit-Queue: Cody Northrop <cnorthrop@google.com> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
angle-autoroll 32924e1f 2024-12-04T11:33:00 Manual roll vulkan-deps from cf7563f67639 to 86f73c27b3fc (1 revision) Manual roll requested by ynovikov@google.com https://chromium.googlesource.com/vulkan-deps.git/+log/cf7563f67639..86f73c27b3fc Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader/+log/ce2d68b24b66a91ed798d870ca205f899ee6e79d..c33168850e057596dd6647e154487102091bb65a 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: Ic6ed68da2f7129511bf3326ca7ae15a336b28ac2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6070347 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 96a49b8a 2024-12-04T08:01:01 Roll VK-GL-CTS from b27686793f88 to a9f7069b9a5b (18 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/b27686793f88..a9f7069b9a5b 2024-12-03 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.1 into vk-gl-cts/main 2024-11-28 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.1 into vk-gl-cts/main 2024-11-27 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.1 into vk-gl-cts/main 2024-11-23 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.1 into vk-gl-cts/main 2024-11-23 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-cts-4.6.5 into vk-gl-cts/main 2024-11-22 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkansc-cts-1.0.2 into vk-gl-cts/main 2024-11-22 ziga@lunarg.com Add shader object tests with color write disabled 2024-11-22 piotr.byszewski@mobica.com Test VIEW_INDEX_FROM_DEVICE_INDEX with link time optimizations 2024-11-22 mateusz.bahyrycz@mobica.com Add missing coverage for sparse resident multisampled images 2024-11-22 geofflang@chromium.org Add 'static' to more functions marked as 'inline'. 2024-11-22 michal.jakubek@mobica.com Unexpected crash on 32bit drivers. 2024-11-22 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.0 into vk-gl-cts/vulkan-cts-1.4.1 2024-11-22 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.0 into vk-gl-cts/vulkan-cts-1.4.1 2024-11-20 lorenzo@khronosgroup.org Merge remote-tracking branch 'vk-gl-cts/vulkan-cts-1.4.0' 2024-11-15 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.10 into vk-gl-cts/main 2024-11-14 petermcneeley@google.com Adding amber test for barriered atomics in vulkan 2024-11-14 ziga@lunarg.com Test vkCmdClearColorImage with 2D-compatible 3D images 2024-11-14 syoussefi@google.com Replace DE_INLINE with inline 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: I48849d3c578a8c446859cb0810dcfda4c3f4b9f4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6069072 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 2d335b19 2024-12-04T07:54:18 Roll Chromium from 16c655f60abe to 920d427801ff (660 revisions) https://chromium.googlesource.com/chromium/src.git/+log/16c655f60abe..920d427801ff 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/4db0dde948..55ae5158be * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/3d0ed6dead..7fb380bfdc * testing: https://chromium.googlesource.com/chromium/src/testing/+log/64a59162d0..d595028a11 * third_party/android_build_tools: https://chromium.googlesource.com/chromium/src/third_party/android_build_tools/+log/b568935535..5216bfd3fa * third_party/android_build_tools/manifest_merger/cipd: e4Te8DIvESVXVVdNWzsKIbGfHtiBIEAvsa3f0_Zvj8wC..uyWrJFL-dHSmSRmiLP-_B_idSkDv-RcfcGivv_P5fOMC * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/b83e99cebb..8543387365 * third_party/android_platform: https://chromium.googlesource.com/chromium/src/third_party/android_platform/+log/d716ecac80..e96dafd97e * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/f8eeaa54fb..3bb5b83f1f * third_party/clang-format/script: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/clang/tools/clang-format.git/+log/3c0acd2d4e..37f6e68a10 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/d215a68912..fb6f75dd38 * third_party/fuchsia-sdk/sdk: version:26.20241116.6.1..version:26.20241203.6.1 * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/eb760140f3..6a91009985 * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/3f8c669720..4c70d6b5a6 * third_party/r8/cipd: D_RkfQIYDjttpMJiDiLYMrDwxTC_YuTU-8a1GK8RlqYC..o7pbwAFk68RQBPYLlCUm0mQ6B3Bj9pykXOPvv8akR5kC * third_party/r8/d8/cipd: zh70w_Qc37LtNjNFZAOnZVT6jxYseh_1UEkt_lwbRuQC..o7pbwAFk68RQBPYLlCUm0mQ6B3Bj9pykXOPvv8akR5kC * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/1ff4269915..54c6bbbee8 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/634f2acc7b..ec29fe1f18 * tools/luci-go: git_revision:89f6b5944c6a68ec52a989c71b7463a34e07f147..git_revision:dbbe363b4b1aa09520e53ccdd2d52cb661875e53 * tools/luci-go: git_revision:89f6b5944c6a68ec52a989c71b7463a34e07f147..git_revision:dbbe363b4b1aa09520e53ccdd2d52cb661875e53 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/d70f1ecd76..7c49c17ffd * tools/rust: https://chromium.googlesource.com/chromium/src/tools/rust.git/+log/f7e4078bb0..917b7d7bef * tools/skia_goldctl/linux: B8TCM6rSMceKi2-eW3vwd26uGobQZ_zyt0gxf49WEYkC..ne5KDoUlZSDEQYyEFMWKjkzAorwtvwqqYli3fRkyWlcC * tools/skia_goldctl/mac_amd64: MkXSdoY3UUeTvV9xKU3P2z0jg1qdJmPb4-7g3blayHQC..TBnDLw4-kj-YLd73BZoG1pTuYSZcj3dXP7nvQjS7hDoC * tools/skia_goldctl/mac_arm64: rdUb1TuPIYvtz36M0WF0DRXiFMCS6B1meYDHYqeoK6YC..6E6VZOvgaQDyyzhWmtIoK7Jb7D52TkKQOsRRy0xf0-cC * tools/skia_goldctl/win: 39MndatX6ZCNv8UvOCly_SjyGzXeXbc7XpZMVMq9MYYC..ViNScAgrfJQOM1gZaPnzw2Y_8VFHR0Sh19QI1PeVEiIC Clang version changed llvmorg-20-init-13688-gdb273c6c:llvmorg-20-init-13894-g8cb44859 Details: https://chromium.googlesource.com/chromium/src/tools/clang/+/634f2acc7bb334d2e6da78e206220f9c00e2e66a..ec29fe1f187bfc6e995a7a602f77d31226817d17/scripts/update.py Bug: None Tbr: ynovikov@google.com Change-Id: I2a5310b4357b89be34ddcfd2ee5cc45a7ca9e592 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6068672 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Panfeng Hou a504b6a2 2024-11-25T15:59:05 Support GL_OES_required_internalformat Enable GL_OES_required_internalformat GLES extension. Bug: angleproject:364069034 Change-Id: Ia57548469abff189472aa20b13ca99179c45f2c0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6038448 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Panfeng Hou <panfeng.hou@arm.com>
Jordan Brown 5951cac9 2024-12-04T04:37:50 Update xxHash metadata Populating version as 0.8.2 based on: https://github.com/Cyan4973/xxHash/commit/0f2dd4a1cb103e3fc8c55c855b821eb24c6d82c3 Bug: chromium:365320508 Change-Id: Ieec25b6fafc32c98bc29efb1e6c32a5933f30af9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6069746 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jiewei Qian <qjw@chromium.org> Auto-Submit: Jordan Brown <rop@google.com> Reviewed-by: Jordan Brown <rop@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 0bb109aa 2024-11-28T00:00:00 Fix validation for 2D multisample array textures * Fixes: * TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY query must be rejected if the functionality is not enabled. * GetInternalFormativ must accept TEXTURE_2D_MULTISAMPLE_ARRAY on unextended OpenGL ES 3.2 contexts. * Added validation to the OpenGL ES 3.2 TexStorage3DMultisample entry point. * Cleanups: * Removed OES suffix from the enum conversion. * Incorrect extension name in the error message. * Do not create a 2D multisample array zero texture object if the backend does not support the functionality. * Replaced redundant FramebufferTexture validation with an assertion. * Do not allocate texture binding vectors for 2D multisample array textures if the backend does not support the functionality. * Aligned the 2D multisample array texture target assert in RecordBindTextureTypeError with the actual error condition. Fixed: angleproject:381270278 Change-Id: Idbbc86e2efe1bbc25d9570d515b67c1a32255d99 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6063068 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 808cb91c 2024-12-03T15:30:22 Log when glGetPerfMonitor* calls fails or is missing data Flakes in tests hitting assertion reading the data later, one possibility is getting an error in these calls. Also log additional info when GetPerfCounterValue is missing data. Bug: angleproject:382094011 Change-Id: Ia7e9353ab32399534c1cb9d0a16a31eace0db7d5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6064152 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
Cody Northrop 75a64561 2024-12-02T20:06:29 restricted_trace_perf: Windows fixes * Drops some unavailable (and unused) imports * Allows specifying --angle-version to avoid git failures Flag created by solti@google.com in http://crrev/c/6037489 Bug: b/376300037 Change-Id: I0c63e966c60998848cdbc8f7a9c414adc0e00d14 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6067184 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Igor Nazarov 4262c8e4 2024-11-22T15:03:29 Tests: Add CompressBlob()/DecompressBlob() tests Test: angle_unittests --gtest_filter=DecompressTest* Bug: angleproject:42263322 Change-Id: I46880601e1fabde5bc56412b3f6619bd9fe4e907 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6039242 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 11495e55 2024-11-15T18:46:17 Perf tests: restricted_trace_perf.py uses android_helper helpers Bug: b/376300037 Change-Id: Ie4fba3d9300fa3b96f269303f06dee3630f068c9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6022181 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Igor Nazarov 104d4e4a 2024-11-15T20:44:39 Vulkan: Improve usage of ErasePipelineCacheVkChunks method `ErasePipelineCacheVkChunks()` is now also used to erase any possibly trailing chunks from the current slot. This is done to free blob cache memory and to avoid parsing these chunks in the future and generating false-positive "chunk header corrupted" errors. Normally, new pipeline data is always larger than already saved, but in case of Vulkan driver update existing data may be ignored, so the cache data will be generated from scratch. This change will help erase old data from the blob cache. Bug: angleproject:42263322 Change-Id: I021abce40c4255b443babed87ed82b273d526ec0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5854708 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuxin Hu 2f595f56 2024-12-03T10:27:04 Update third_party metadata This is to address the incomplete chromium dependency metadata issue. Bug: b/365321061 Bug: b/365320354 Change-Id: I8c62aef170170cd7f0e07f18e01a0787479f1a30 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6064948 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Neil Zhang c31a926b 2024-12-02T15:12:20 Refine test - TextureFixedRateCompressionTest.Invalidate The test failed on AP1A.240405.002 Vulkan Pixel6, query compression rate instead use passed in value. Bug: angleproject:352364583 Change-Id: I6f112ceb85d8e3699f050a1dba8be9a595c83e99 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6059344 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Gowtham Tammana fa70c4cb 2024-02-02T13:59:06 CL/Vulkan: Implement the buffer rect enqueues This change implements the buffer rect copy using a series of memcopies. The CL buffer rect doesn't map cleanly to the Vulkan copy buffer command due to the presence of pitches, and implementing as such will introduce more barriers in the command stream. For now we do process this command at call entry point. Bug: angleproject:379764609 Change-Id: I89a9032a4bbfa48899c448eb131a5ce048e8fd60 Signed-off-by: Gowtham Tammana <g.tammana@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6034035 Commit-Queue: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Geoff Lang e3427ac7 2024-12-03T16:40:32 Add missing README.chromium fiends to ANGLE and DEPS Bug: chromium:378273739 Bug: chromium:365319754 Bug: chromium:378273453 Bug: chromium:365320292 Change-Id: I2faa54c6d796ebe86537e633fdfd8aeb3c0898a7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6062491 Auto-Submit: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Xin Yuan cc5218af 2024-12-02T16:06:10 ANGLE will crash when the buffer is NULL in eglCreateImageKHR When creating egl image with android native buffer, and the buffer pointer is NULL, ANGLE will crash. Because the type of pointer in EGL and vulkan is different. In EGL, the type of this pointer is ANativeWindowBuffer, But In vulkan it is AHardwareBuffer, which has an offset compared with AHardwareBuffer, so it will access invalid address. Bug: angleproject:379764621 Change-Id: Ifb5d4a81dea85eb23d4e3f82c37f13c7e4809ee5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6061898 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi da292057 2024-12-03T10:20:17 Update third party metadata Bug: chromium:378273470 Bug: chromium:365321119 Bug: chromium:365320508 Bug: chromium:378273216 Change-Id: Ie24f00112a8f04ff9acdf6e4618b79e082529636 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6062488 Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
angle-autoroll cd255ae7 2024-12-03T10:38:01 Roll vulkan-deps from ff00298c3058 to cf7563f67639 (10 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/ff00298c3058..cf7563f67639 Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/0099ed6ad09a78b083c93be9369791dd72cf8a33..a0995c49ebcaca2c6d3b03efbabf74f3843decdb https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/7d5bc35197be75e10000f14ea9eb3954ca2b0aab..3fb52548bc8a68d349d31e21bd4e80e3d953e87c https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader/+log/2534c1e2327990e55f51b8a1f8328085e8e3ff31..ce2d68b24b66a91ed798d870ca205f899ee6e79d https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/f29e7f255fd201d04d6720439554f25ffee39e8c..902f3cf8d51e76be0c0deb4be39c6223abebbae2 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: Ie0ea1f28a91ac50cb1b3544f7386815c28284947 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6064313 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 83bf7a68 2024-12-03T07:00:50 Roll Chromium from 0f40455a74d6 to 16c655f60abe (624 revisions) https://chromium.googlesource.com/chromium/src.git/+log/0f40455a74d6..16c655f60abe 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/afc0e71b32..4db0dde948 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/8d67df7232..3d0ed6dead * testing: https://chromium.googlesource.com/chromium/src/testing/+log/8ef7fe76be..64a59162d0 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/f546118b2c..0b76dfe4ff * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/6a0960fe97..f8eeaa54fb * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/885ed47343..d215a68912 * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/cc33f56af9..eb760140f3 * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/c2fe6a74e6..3f8c669720 * third_party/r8/cipd: VEJ5fc6xOYjnceMB0FYal9AYHMMagDWwiGtXm3obRqQC..D_RkfQIYDjttpMJiDiLYMrDwxTC_YuTU-8a1GK8RlqYC * third_party/rust: https://chromium.googlesource.com/chromium/src/third_party/rust/+log/cecd4aabb2..046047a34e * tools/luci-go: git_revision:dc0b8fd6a9218ce32fbe767150707c0eb082a1f4..git_revision:89f6b5944c6a68ec52a989c71b7463a34e07f147 * tools/luci-go: git_revision:dc0b8fd6a9218ce32fbe767150707c0eb082a1f4..git_revision:89f6b5944c6a68ec52a989c71b7463a34e07f147 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/123ed60e9d..d70f1ecd76 * tools/skia_goldctl/linux: 4OSrO_Ulvrtu3tCi_1F8wFqL9reXIfv-WWxMMdiBgGMC..B8TCM6rSMceKi2-eW3vwd26uGobQZ_zyt0gxf49WEYkC * tools/skia_goldctl/mac_amd64: 2g_I6fhw1MZvNDgMgU9F1PeWmOSAjuJzBLZ5ECatbp8C..MkXSdoY3UUeTvV9xKU3P2z0jg1qdJmPb4-7g3blayHQC * tools/skia_goldctl/mac_arm64: jrnu1wO-gatTXyos689amEuAaHey7bOOzvb0TPp9YRoC..rdUb1TuPIYvtz36M0WF0DRXiFMCS6B1meYDHYqeoK6YC * tools/skia_goldctl/win: ELyOxeZv-I6rhBrYv48EfmhjNKbSD6RzE0lZPBtL4kEC..39MndatX6ZCNv8UvOCly_SjyGzXeXbc7XpZMVMq9MYYC No update to Clang. Bug: None Tbr: ynovikov@google.com Change-Id: I5157a9c55511525554a1f09d2b0b7334efc383f8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6066219 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Charlie Lao 7adbb3e8 2024-11-26T17:06:07 Vulkan: Remove explicit destroy calls Since now SharedPtr will automatically call destroy(device) when last reference goes away, there is no need for explicitly calling destroy(device) any more. Bug: angleproject:372268711 Change-Id: I208b17cf7e090babd51d6f337c20fdfd74c75b6b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6052886 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Amirali Abdolrashidi b7e0a250 2024-11-25T13:36:02 Add tests for RGB8 and RGBA8 renderbuffer usage * Added simple tests for RGB8 and RGBA8 renderbuffer usage for GLES1 and GLES2+. Bug: angleproject:352352894 Change-Id: Ie410c57ab204c2afad3f53c37578865bd9e9307f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6050343 Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Igor Nazarov 65d674b0 2024-12-02T18:36:11 Vulkan: Must run UnlockedTailCall from flush and finish `glFlush` and `glFinish` may call `WindowSurfaceVk::swapImpl()` implicitly when the current Window Surface is in the single buffer mode. The `WindowSurfaceVk::swapImpl()` in turn may add unlocked tail call in order to perform CPU throttling. It seems, that CPU throttling is only possible if also enable the `EGL_FRONT_BUFFER_AUTO_REFRESH_ANDROID` attribute (using `VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR`). Without this attribute (`VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR`) `vkQueuePresentKHR()` performs implicit waiting for GPU, making ANGLE's throttling uncessary (the serial is already finished). This fix allows running the tail call from `glFlush` and `glFinish` (because these APIs are not performance critical). Alternative solution may instead perform the CPU throttling immediately if the `WindowSurfaceVk::swapImpl()` is called from the `WindowSurfaceVk::onSharedPresentContextFlush()`. Additionally, added "ASSERT(!any())" at the beginning of each entry point. This is to catch scenarios, if some API adds the unlocked tail call and for some reason exit without checking the assert of running the call. Test: angle_end2end_tests --gtest_filter=EGLAndroidAutoRefreshTest.SwapCPUThrottling/ES3_Vulkan_NoFixture Bug: angleproject:42266581 Change-Id: I418c552f6e95b4cfc01db738c9989533377f1050 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6063719 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Charlie Lao d81834b6 2024-11-26T15:25:35 Vulkan: Store VkDevice in vk::SharedPtr So that we don't need to have two versions of destroy() APIs. In previous CLs I had to add another version of destroy() that does not take device argument due to SharedPtr may calls destroy when last reference count goes away. Because we do not have device information at that time, destroy() API was added but mostly just doing assertion that Vulkan object has been explicitly destroyed. With this CL, we now stores device in the SharedPtr so that we no longer need two destroy() APIs. The explicit destroy(device) call will be removed in the next CL. Bug: angleproject:372268711 Change-Id: Idcacbc3a922e17ac3d0f6056466b8f3aa084b02e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6052096 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Chris Dalton 7070a9e9 2024-11-20T00:21:16 Remove draw buffer validation clauses from PLS It was cumbersome to implement all this validation browser side for WebGL. Rather than making it an error to update blend and color mask on reserved PLS draw buffers, glBeginPixelLocalStorageANGLE() can just implicitly disable blend, and enable the color mask on overridden draw buffers. Later calls to enable blend or change the color mask on overridden planes are silently ignored until glEndPixelLocalStorageANGLE(). Bug: angleproject:40096838 Change-Id: Ic7e1c5113e7d3fad3b80d0178075df646540d743 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6045421 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Chris Dalton <chris@rive.app>
angle-autoroll b47144c6 2024-12-02T10:01:01 Roll vulkan-deps from ef4dc615f82d to ff00298c3058 (3 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/ef4dc615f82d..ff00298c3058 Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers/+log/9dff1f571ce25b92639854b89b28539602b6b97b..49af1bfe467dd5a9efc22f7867d95fdde50e2b00 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/a62cf6e7f366c1d5285a4b54edc6bfdb9eb60551..f29e7f255fd201d04d6720439554f25ffee39e8c 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: I1229374513b965bd7466afd73275b8d01190c669 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6061626 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 7eeec0f1 2024-12-02T08:15:59 Roll Chromium from 9c3b7c9af896 to 0f40455a74d6 (554 revisions) https://chromium.googlesource.com/chromium/src.git/+log/9c3b7c9af896..0f40455a74d6 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/5345c635c4..afc0e71b32 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/49035b2751..8d67df7232 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/36199d7ff6..8ef7fe76be * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/176787dffc..f546118b2c * third_party/android_build_tools/error_prone/cipd: n2Qwqs0Jr17AMpoYGTDACFHIM0aPsdm8g3X0jBjfDQoC..ZLELnkg1eOL1-WpDOcCtOm-zWDT7BCX85ZxO7e-UpkYC * third_party/android_build_tools/lint/cipd: Hd1-tpL2M67CYclO3F_3WjBf70hE_XYr7tEXt0wQyvgC..R_CwFSJOSfZr1IpkqPgoE43tEHG4C9LmeKFvODQ27j4C * third_party/android_build_tools/manifest_merger/cipd: zC9JbLx2HVKIMFxavlF00isXwHx72vIkFlRCLvH0rIkC..e4Te8DIvESVXVVdNWzsKIbGfHtiBIEAvsa3f0_Zvj8wC * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/db017d1ffe..885ed47343 * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/76cb1e3b4a..cc33f56af9 * third_party/r8/cipd: Bc8nyzi4zTMMUm5_CYRndFmd7FaLLWh1zuYdKf0sfkgC..VEJ5fc6xOYjnceMB0FYal9AYHMMagDWwiGtXm3obRqQC * third_party/siso/cipd: git_revision:87d2be70fa9a85310a729e3b04669324a129fd88..git_revision:e9812e4893d596fa06b74355e2b6ff47e0307e32 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/5997685561..634f2acc7b * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/5d97eb5c7f..123ed60e9d * tools/rust: https://chromium.googlesource.com/chromium/src/tools/rust.git/+log/e4fd8fdeea..f7e4078bb0 Clang version changed llvmorg-20-init-9764-gb81d8e90:llvmorg-20-init-13688-gdb273c6c Details: https://chromium.googlesource.com/chromium/src/tools/clang/+/5997685561c4faecd3ff4302cb4d10ab28e58afd..634f2acc7bb334d2e6da78e206220f9c00e2e66a/scripts/update.py Bug: None Tbr: ynovikov@google.com Change-Id: If78af3c9a5cc42e4d293707d387505fdbd92c7a9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6061624 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Yuly Novikov f7cac0bb 2024-03-07T18:05:27 Start Win NVIDIA experiment On Windows 10 22H2 with 31.0.15.4601 driver. Suppress test failures on the new platform. Use-Permissive-Angle-Pixel-Comparison: True Bug: chromium:40805707, angleproject:42267037, angleproject:381211730 Bug: angleproject:377923479 Change-Id: I1b457e11de10daa081bb0dac9f564b6cce97164a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5352750 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Robic Sun f51170b3 2024-11-21T16:30:40 Enable GL_KHR_texture_compression_astc_hdr Vulkan supports GL_KHR_texture_compression_astc_hdr, so this extension can be enabled in Angle. Bug: angleproject:379186304 Change-Id: I438a120c3f884a7eefcd883ad71abf68f81cb473 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6038457 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Panfeng Hou d57b1d30 2024-11-28T11:09:53 Vulkan: Support GL_OES_required_internalformat Only export 'GL_OES_required_internalformat' in GLES extension. Bug: angleproject:364069034 Change-Id: I6198b7b79fc2853c7585ebff183016ee110a25e5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6055198 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov e7eb8e27 2024-11-29T13:10:18 Skip TextureFixedRateCompressionTest.Invalidate on Pixel 6 Fails on AP1A.240405.002 Vulkan Bug: angleproject:352364583 Change-Id: Ie9d1e5998cb8692c68fe015dc76ee629b2e2f70f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6055168 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
angle-autoroll d096f922 2024-11-29T10:01:23 Roll vulkan-deps from 0e28d467e76d to ef4dc615f82d (2 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/0e28d467e76d..ef4dc615f82d Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/b61aa3f59711c9a45e6bac13f70c61dc9e4650c8..a62cf6e7f366c1d5285a4b54edc6bfdb9eb60551 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,syoussefi@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: syoussefi@google.com Change-Id: I44e06a6685ae62fada892461014d73718ecc621e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6059010 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 96952a9b 2024-11-29T07:01:22 Roll Chromium from b640856c0ed4 to 9c3b7c9af896 (355 revisions) https://chromium.googlesource.com/chromium/src.git/+log/b640856c0ed4..9c3b7c9af896 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,syoussefi@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/7ed11c6746..5345c635c4 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/9a87238031..49035b2751 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/b05f90caa7..36199d7ff6 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/a79aaef505..176787dffc * third_party/android_build_tools: https://chromium.googlesource.com/chromium/src/third_party/android_build_tools/+log/52438668cc..b568935535 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/bd7f36598e..db017d1ffe * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/e6303c7ffe..c2fe6a74e6 * third_party/r8/cipd: GaYs9HP0ijqgwtd-Zv0Ee7R8HCzWR4LUzNNxBoTxdQUC..Bc8nyzi4zTMMUm5_CYRndFmd7FaLLWh1zuYdKf0sfkgC * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/768236a7b2..5997685561 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/d6a5c65a46..5d97eb5c7f No update to Clang. Bug: None Tbr: syoussefi@google.com Change-Id: I5c412e8c915ef1197c61d369a5b41a26438dbe2e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6055272 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Alexey Knyazev a2d76f03 2024-11-28T00:00:00 Add GetTexLevelParameterTest.Levels end2end test Bug: angleproject:376497150 Change-Id: Id14663f6fb1fd64edc439e695953d4a4a3b9f853 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6056029 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi b31f367a 2024-11-28T16:11:33 Vulkan: Keep old VVL suppression until roll into Chromium Bug: angleproject:336652255 Change-Id: Id12e86862cde613cbf3c87557532b2bf23da1838 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6056751 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Shufen Ma 3f312d98 2024-11-04T14:04:50 ES31: GetTexLevelParameter{if} validation for TEXTURE_2D_MULTISAMPLE GL_INVALID_VALUE is generated if target is GL_TEXTURE_2D_MULTISAMPLE, GL_TEXTURE_2D_MULTISAMPLE_ARRAY, or GL_TEXTURE_BUFFER, and level is not zero. Bug: angleproject:376497150 Change-Id: Ib05ef30a04699e590804d1059387a6920c38971c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5982239 Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Xinyu Fang 5d3d299d 2024-11-25T16:35:51 Expose the required GLES1.0/1.1 extensions in ANGLE Exposed below extensions: GL_OES_texture_mirrored_repeat GL_OES_blend_subtract Bug: angleproject:380704155 Change-Id: Ib095f9bfaabda92bb2c588d633f1512e118f066e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6038450 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll e10220f8 2024-11-28T18:24:35 Manual roll vulkan-deps from 3c7156644de7 to 0e28d467e76d (59 revisions) Manual roll requested by syoussefi@google.com https://chromium.googlesource.com/vulkan-deps.git/+log/3c7156644de7..0e28d467e76d Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/1f1ef7560399322558793d91a53b34cdd34f4fe1..0099ed6ad09a78b083c93be9369791dd72cf8a33 https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers/+log/45b314049d6262c850cc873c8f9a30f41a1e0c13..36d5e2ddaa54c70d2f29081510c66f4fc98e5e53 https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/ea1d8cd9814852428d25d3ea113683a6c9686afb..7d5bc35197be75e10000f14ea9eb3954ca2b0aab https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers/+log/f864bc6dfe6229a399566e979c16795386d0f308..9dff1f571ce25b92639854b89b28539602b6b97b https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader/+log/4cd2a86fa6a88abfcf44a7630212fc375fbe0fe5..2534c1e2327990e55f51b8a1f8328085e8e3ff31 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools/+log/df2ac1bb61f09a80db979d7108adf07b6fe55913..a2224abf350f61211462a33e5b540201fa17de0d https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries/+log/c31e717dcd817279e9e90516612f9dbfc84b0e51..b538fb5b08513aa78346cd414ad5e576a2a3e920 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/fdbdd359fb2bbb50352e84b259171813957d1ee3..b61aa3f59711c9a45e6bac13f70c61dc9e4650c8 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,syoussefi@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: syoussefi@google.com Change-Id: Ieecaf46ecf017defffaca78bb003b0b7dcf094f6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6058269 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Neil Zhang 01dee1cb 2024-10-14T15:04:28 Add implementation for GL_EXT_texture_storage_compression Bug: angleproject:352364583 Change-Id: I3dab4c68d5d0206d681e165e991217bd3de8eeb6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6011055 Auto-Submit: Neil Zhang <Neil.Zhang@arm.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 8b7bb82c 2024-11-28T13:20:52 Vulkan: Disable dynamic vertex input state on Qualcomm Observed bugs on S23. Bug: angleproject:381384988 Change-Id: I9a8cd754de23f31c4bd1078f0c52f66111a8fc45 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6055889 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
angle-autoroll 0f9c146b 2024-11-28T09:47:35 Roll Chromium from c957bc3555b2 to b640856c0ed4 (1228 revisions) Update VK-GL-CTS's _XOPEN_SOURCE version on Apple from 600 to 700 due to https://github.com/llvm/llvm-project/issues/117630 https://chromium.googlesource.com/chromium/src.git/+log/c957bc3555b2..b640856c0ed4 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,syoussefi@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/77bbb5dc9c..7ed11c6746 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/38a60f7635..9a87238031 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/f1ccfe587d..b05f90caa7 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/be9e355580..a79aaef505 * third_party/android_build_tools: https://chromium.googlesource.com/chromium/src/third_party/android_build_tools/+log/e4eee387b5..52438668cc * third_party/android_build_tools/error_prone/cipd: nAUL9xKY6JWQyjoK2O_mKTqLakmTU69EX-FROc-rzNEC..n2Qwqs0Jr17AMpoYGTDACFHIM0aPsdm8g3X0jBjfDQoC * third_party/android_build_tools/lint/cipd: qft_MiuWKisqUw9hZCFTuJKi5jBZaexi7LbGkgRmrpkC..Hd1-tpL2M67CYclO3F_3WjBf70hE_XYr7tEXt0wQyvgC * third_party/android_build_tools/manifest_merger/cipd: CIvskXU9WjZMXUINb-D8kgUKUDSf6G1G1QmCja7qOa4C..zC9JbLx2HVKIMFxavlF00isXwHx72vIkFlRCLvH0rIkC * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/497f6b7429..6a0960fe97 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/584e8366be..bd7f36598e * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/291ce60cce..76cb1e3b4a * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/9aff6762a3..e6303c7ffe * third_party/r8/cipd: lrcfrwv2WpEoHAk051sZiwXxKxnNIUTYYEwM3oBDlhMC..GaYs9HP0ijqgwtd-Zv0Ee7R8HCzWR4LUzNNxBoTxdQUC * third_party/rust: https://chromium.googlesource.com/chromium/src/third_party/rust/+log/92e2247154..cecd4aabb2 * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/5510558641..1ff4269915 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/6834b3fdbb..768236a7b2 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/c84318b6c0..d6a5c65a46 No update to Clang. Bug: angleproject:364069034 Change-Id: I1cff11e0ebb80eae2a1f62be842796cb29e45a8a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6056956 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Charlie Lao 6c1021ec 2024-11-22T16:48:45 Vulkan: Switch DescriptorSetLayout to use AtomicSharedPtr SharedPtr has better semantics and safer to use. This CL removes direct exposure of RefCounted object and also allows me to delete BindingPointer class in later CL. Bug: angleproject:372268711 Change-Id: I08a0dff3efcf794be843a4a548b9f2609bb9a5e1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6044328 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Kimmo Kinnunen 4aaeffd8 2024-11-25T11:33:30 Metal: Limit simulator texture size to 8k Regressed in commit d44204893a1725a74cd20b332fbb6f595b0975c3. Bug: angleproject:380712807 Change-Id: Ic5e298412b35451e87b76f70d5b1b253ed1406cb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6039222 Reviewed-by: Quyen Le <lehoangquyen@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Charlie Lao 2dc072ec 2024-11-22T16:14:52 Vulkan: Switch PipelineLayout from AtomicBind* to AtomicSharedPtr AtomicSharedPtr/SharedPtr has better semantics and safer to use. This will allow deleting BindingPointer in later CL. Bug: angleproject:372268711 Change-Id: Ife20f68b2277a1913b06be0de153770214ac964a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6044326 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Charlie Lao 87d61997 2024-11-21T14:20:55 Vulkan: Switch ShaderModule to use SharedPtr This CL gets rid of many vk::RefCounted<vk::ShaderModule> usage which is risky due to it allows you to direct manipulate reference count. Switch to vk::SharedPtr manages the reference counting automatically. Bug: angleproject:372268711 Change-Id: I14f5c509bcbd9ea7d17101637e033652a68710a0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6039117 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Geoff Lang 6451a893 2024-11-27T16:06:09 Fix minimum caps for texture gather offsets. Bug: angleproject:40096373 Change-Id: Ia5480a37eba4efa40cb602d279feaaddfa9c59c8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6053597 Reviewed-by: Stephen White <senorblanco@chromium.org> Reviewed-by: Stephen White <senorblanco@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Geoff Lang 6f28cb15 2024-11-26T15:59:21 Fix minimum caps for draw buffers and compute invocations. Framebuffer and blend state code asserts that draw buffers > 0 so unconditionally set it to 1. It's increased to 4 in the ES3 block. Fix the value of MAX_COMPUTE_WORK_GROUP_INVOCATIONS, it was incorrectly copied from the spec. Bug: angleproject:40096373 Change-Id: I471fa7e8dddd9bca755daf8ce5834ed60ec4e629 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6052094 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Stephen White <senorblanco@chromium.org>
Alexey Knyazev 5288ed36 2024-11-26T00:00:00 GL: Enable ANGLE_texture_multisample on OpenGL ES Trivially enabled on supported device contexts. Improved readablility of conditions for implicit GLSL version upgrades. Fixed: angleproject:381113379 Change-Id: I843f7119da2a3cffb255af97f654d714add9f482 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6055117 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Xin Yuan b6b826b3 2024-11-27T09:57:18 Add stubs for GL_EXT_EGL_image_storage_compression Bug: angleproject:352345943 Change-Id: I993a7908e868019852c0d682bf2131e46a2cf304 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6051521 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov 8597a5fd 2024-11-27T13:54:25 Skip TextureMultisampleTest.MaskedDrawWithSampleID on S22 Bug: angleproject:380475003 Change-Id: Id55f6a38d3cb8ec44ecbcd2f8eeabe80a7aeb220 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6055418 Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Yuly Novikov 9c7ad319 2024-11-27T13:43:10 Revert "Delay EGLQueryContext render buffer change" This reverts commit 233d9ee5c3525cc8290b3af52385ed59973438b4. Reason for revert: ASSERT triggered on Linux NVIDIA 535.183.01 https://ci.chromium.org/ui/p/angle/builders/ci/linux-exp-test/1469/overview Original change's description: > Delay EGLQueryContext render buffer change > > According to the EGL spec, EGL_RENDER_BUFFER of a context > should change after eglSwapBuffers is called if > eglSurfaceAttrib changes. Refine ANGLE implemnetation > to delay the render buffer change. > > Bug: angleproject:375528202 > Change-Id: Ida7736a09e3a83223a529dbfad48e0f952f91a38 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5982241 > Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Bug: angleproject:375528202 Change-Id: I08fc76b1b764e57639e2c0708cb155d392f82f22 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6055417 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Yuxin Hu 2e25ea1e 2024-11-13T13:59:51 Add a new mutex in CommandQueue to protect Vulkan Command Pool Before this change, the CommandQueue::mMutex protects both: 1. Members of CommandQueue class, e.g. mInFlightCommands. 2. Operations on the same command pool and command buffers allocated from the same command pool. If one thread accesses resources 1, the other thread is doing operations in 2, they could be blocked by each other. For example, if thread 1 calls eglClientWaitSync() to check if certain commands finish execution (accessed resources in 1.), while thread 2 calls eglMakeCurrent() to flush commands (issue operations in 2.), thread 1 could be blocked by thread 2. This is against the egl spec where eglClientWaitSync() should return immediately when timeout passed to the call is 0. To fix the problem, this change creates a new class CommandPoolAccess that wraps operations in 2, and protects command pool and command buffer operations with a new mutex mCmdPoolMutex. With this new mutex, thread 1 and thread 2 would take different locks and not blocked by each other. Bug: b/362604439 Change-Id: Iccf0ae65809ccb0f593c5e318fde03e89e0c0fa3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6020895 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Matthew Denton c796c571 2024-11-26T15:05:10 Disable BasicUniformUsageTest.* on Linux Intel WGPU for now Bug: angleproject:376553328, angleproject:360083331 Change-Id: I03d2722d4e7754e38ec6d616b983bb6e5a71f845 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6043406 Reviewed-by: Roman Lavrov <romanl@google.com> Auto-Submit: Matthew Denton <mpdenton@chromium.org> Commit-Queue: Matthew Denton <mpdenton@chromium.org>
Alexey Knyazev ea6e6b9f 2024-11-25T00:00:00 Capture/Replay: Fix GetTexLevelParameterivANGLE buffer size That function returns only one value. Bug: angleproject:42264181 Change-Id: I9cc53ba48de0b98aa5ecce8593466c0f523ba322 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6049082 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Alexey Knyazev 239ef680 2024-11-21T00:00:00 Metal: Support ANGLE_texture_multisample * Added explicit multisample texture creation support * Added support for SAMPLE_MASK frontend state * Adjusted Metal backend caps Fixed: angleproject:380475003 Change-Id: I90250e14da52869cb954b5a61d9c670e958a526c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6048958 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Yuxiang Qian c56867ec 2024-10-28T17:18:19 Refine sRGB support GetNonLinearFormat should return the format itself if format is non-linear. Also, for linear colorspace, sRGB render target should be supported. Bug: angleproject:377144464 Change-Id: I1179a3dbf67b619bae276e607bc61a85c1639c17 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5982242 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: mohan maiya <m.maiya@samsung.com>
Yuxiang Qian 233d9ee5 2024-10-24T18:24:14 Delay EGLQueryContext render buffer change According to the EGL spec, EGL_RENDER_BUFFER of a context should change after eglSwapBuffers is called if eglSurfaceAttrib changes. Refine ANGLE implemnetation to delay the render buffer change. Bug: angleproject:375528202 Change-Id: Ida7736a09e3a83223a529dbfad48e0f952f91a38 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5982241 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 7a1da65f 2024-11-25T00:00:00 Fix GetTexLevelParameter validation * Adjusted ValidTextureTarget and ValidTexLevelDestinationTarget helpers to allow multisample 2D array target on unextended OpenGL ES 3.2 contexts. * Adjusted ValidTexLevelDestinationTarget helper to disallow 2D array, 2D multisample, and 3D texture targets when the corresponding functionality is not available. * Removed redundant texture object validation from ValidateGetTexLevelParameterBase. * Adjusted ValidateGetTexLevelParameterBase to disallow parameters not available in the current context. Fixed: angleproject:380291920 Change-Id: Id2fcd1e2c81be25f1d545d213bd2508185592f20 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6049081 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
angle-autoroll 777fd912 2024-11-26T07:01:13 Roll Chromium from e5849daecf2c to c957bc3555b2 (609 revisions) https://chromium.googlesource.com/chromium/src.git/+log/e5849daecf2c..c957bc3555b2 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,syoussefi@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/1c24f0c950..77bbb5dc9c * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/2fcafe8b20..38a60f7635 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/245ccb5068..f1ccfe587d * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/4709b8d072..be9e355580 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/a37c9ad26c..497f6b7429 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/2515d3513f..584e8366be * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/e2cafc7ab5..9aff6762a3 * third_party/r8/cipd: xo5FWQ3gzH91ffY6sfNAsc7WgSFUoRt991H_nKeLy1gC..lrcfrwv2WpEoHAk051sZiwXxKxnNIUTYYEwM3oBDlhMC * third_party/turbine/cipd: zGSFTkxzSBLCHzAAhjZd84vwlVKpwsUiiQNbrZy3yZUC..c4onccFJcd8rKHM_6js-X_ucjXdFqhDWK8aUX4ARSkkC No update to Clang. Bug: None Tbr: syoussefi@google.com Change-Id: I0e6a4feb58843147a1473f31f16b4564c3d6abf7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6051679 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Igor Nazarov cecefe53 2024-11-21T22:11:17 Vulkan: Improve recreateSwapchain() error handling The `WindowSurfaceVk::recreateSwapchain()` method may fail in many points. After failing, state of `WindowSurfaceVk` may become invalid, causing undefined behavior. Invalid state examples: - Skip adding `cleanupData` into the `mOldSwapchains` while `mPresentHistory already cleared (resource leak). - `mSwapchain` may remain `VK_NULL_HANDLE` after the failure. - `lastSwapchain` may be not retired, causing subsequent swapchain creation to fail. Change adds `mLastSwapchain` member to continue tracking last created swapchain during the `mSwapchain` recreation process until it is retired. This process now may span multiple API calls. The `mSwapchain` pointer is invalidated as soon as recreate starts - to indicate that we do not have usable swapchain and still need to create one. Notable difference with the old code is that old swapchain and present history are now collected into the `mOldSwapchains` after new swapchain is created (or old swapchain is retired in case of a failure). Because of this, code can now be simplified and easily refactored into a separate method. The `kMaxOldSwapchains` is now also checked after old swapchain is collected - this is to prevent resource leak if `finish()` fails. Added `cleanUpOldSwapchains()` call to reduce a chance of hitting the `kMaxOldSwapchains` limit. Change also renamed `presentOutOfDate` parameter where it does not always make sense. As a side effect, fixed a bug when calling `prepareForAcquireNextSwapchainImage()` with true, is then replaced with false in the `computePresentOutOfDate()` call. Bug: angleproject:380234227 Change-Id: Ie6d85c1b9760cda68c8fc9368235756659a9bdac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6040159 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Igor Nazarov f458f865 2024-11-12T16:52:42 Vulkan: Update AcquireNextImageUnlocked() implementation Main goal of this change is to simplify acquire next image operation state change tracking. Key members before this change: 1. `mAcquireOperation.needToAcquireNextSwapchainImage` 2. `unlockedAcquireResult.acquireSemaphore` Possible states: 1: 2: false NULL -> image is acquired or no need true ANY -> need to prepare for and do unlocked ANI false HANDLE -> need to process ANI result Only `mAcquireOperation.state` is used after this change. Possible states: Ready -> image is acquired or no need NeedToAcquire -> need to prepare for and do unlocked ANI NeedToProcessResult -> need to process ANI result Value of `unlockedAcquireResult.acquireSemaphore` is now only used as semaphore in the post process and not as boolean, indicating that result needs processing. Change adds a lot of ASSERTs to protect from invalid scenarios. In order for these ASSERTs to work as expected, `deferAcquireNextImage()` is now called regardless if swapchain is out-of-date or not. Another functional change is that `postProcessUnlockedAcquire()` does not mark image as processed at the start and then defers ANI in case of a failure (so the next ANI fail again), but instead keeps the current state (NeedToProcessResult) allowing failure to be processed again without repeating ANI call in case if there will be no swapchain recreation. State is set to `Ready` only after processing is successful. Bug: angleproject:42265346 Bug: angleproject:42266579 Change-Id: I4a6a66fa3b6f25a788a8959eff5848b7ec5bdd27 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6018094 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Igor Nazarov ea86503c 2024-11-20T19:47:49 Vulkan: Remove vkAcquireNextImageKHR multi-threading support Currently, it is not possible to call `TryAcquireNextImageUnlocked()` from multiple threads. However, original implementation added multi-threading support for future use. Possible future use: - First thread (where Surface is current) calls `eglPrepareSwapBuffersANGLE()` which will call `TryAcquireNextImageUnlocked()` in the unlocked tail call (without the share group lock). - Other thread (where shared Context is current) calls some EGL/GLES API under the share group lock, that may cause calling `doDeferredAcquireNextImage()` on the Surface from the first thread. Calling this method may call `TryAcquireNextImageUnlocked()` under the share group lock, while it is also called from the first thread in the unlocked tail call. Calling `doDeferredAcquireNextImage()` may also cause swapchain recreation. Taking into account above scenario, current implementation has following bugs: 1. Possibility to recreate the swapchain from other thread, while first thread is going to or calling the `TryAcquireNextImageUnlocked()` function: a) Other thread may call `prepareForAcquireNextSwapchainImage()` because `NeedToProcessAcquireNextImageResult()` is still false until first thread finishes `TryAcquireNextImageUnlocked()` call. Also, checking `NeedToProcessAcquireNextImageResult()` from other thread is not thread safe. b) Other thread finished `TryAcquireNextImageUnlocked()` first, but with `VK_ERROR_OUT_OF_DATE_KHR` error. First thread still did not get the chance to call this function because of OS's thread scheduling delays. Other thread will set `needToAcquireNextSwapchainImage = true` and will start to recreate a swapchain. At this time, first thread will start executing `TryAcquireNextImageUnlocked()`, and because bool is true - it will actually perform ANI during recreate from other thread. 2. Possibility to call `TryAcquireNextImageUnlocked()` with old swapchain. This is similar to (1), but this time call is delayed after swapchain is recreated. Since above scenario currently is not possible and the described future scenario is unlikely to ever happen, instead of fixing above problems this CL removes the multi-threading support to simplify the code and make these bugs N/A. Change removes word "try" from structures, members, and functions because without multithreading there is no need for that and just adds unnecessary complication. It also removes most of the "share group lock" mentions because now this information is irrelevant and may cause confusion. What is relevant is that `AcquireNextImageUnlocked()` MUST only be called from a thread where Surface is current and only CAN access members that is only ever accessed from this thread (regardless if the lock is taken or not). For example, if in the future `unlockedAcquireResult` will be accessed from other thread but with the share group lock held, while `AcquireNextImageUnlocked()` will still only be called from the current thread - then this will be a race condition. Bug: angleproject:42265346 Bug: angleproject:42266579 Change-Id: Ie9be408c0a3b3c1f37ec80727ce5ad2cb8932dad Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6018093 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev b94d7853 2024-11-14T00:00:00 Fix TextureMultisampleTest.CheckSamplePositions end2end test The test should query positions only for the supported sample counts. Added capture support for GetMultisamplefv and GetMultisamplefvANGLE functions. Fixed: angleproject:380216733 Change-Id: I97456055ac60ada94dd75e10d7427e4448aee5e8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6042141 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Kimmo Kinnunen bfa03a84 2024-11-19T13:32:31 Metal: Fix vec swizzles to bvecs on AMD Constructing bvecs explicitly from swizzles would produce double swizzles, and this would fail validation at validateNoSwizzleOfSwizzle. Fix by folding the expression passed to coersion bvec constructor. Cannot test more in isolation for now, since AddExplicitTypeCasts uses Metal specific SymbolEnv. Bug: angleproject:379758210 Change-Id: I175941747ef1c7acb8c88683c1188843a154aa8a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6034935 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Geoff Lang e3199b5f 2024-11-21T14:17:47 Add bison/flex binaries on Mac. Use the same bucket as Windows and Linux (mac folder). Update documentation for how to get and update these binaries. Bug: angleproject:377941128 Change-Id: Ia2de3bb4e98109821d1adeb22d0cbc49edc07b1d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6042552 Commit-Queue: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Amirali Abdolrashidi c02e0184 2024-11-22T17:21:38 Add GL_ARM_rgba8 * It is a subset of GL_OES_rgb8_rgba8. Bug: angleproject:352352894 Change-Id: I07f031157344385c847cd229a85ebf59cc6dfcfc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6044333 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 89f7fd8b 2024-11-24T21:46:12 CL/Vulkan: Skip crashing tests Bug: angleproject:380712807 Change-Id: I34d550a1a6e216f34840910e952f64a487f81e73 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6042525 Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 18127908 2024-11-25T07:51:15 Roll Chromium from 1cae31feac1f to e5849daecf2c (818 revisions) https://chromium.googlesource.com/chromium/src.git/+log/1cae31feac1f..e5849daecf2c 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,syoussefi@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/a4849cc3c2..1c24f0c950 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/50c92fd24e..2fcafe8b20 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/4c7e838e3f..245ccb5068 * third_party/android_build_tools/error_prone/cipd: EcMe6NX2eOlAa4eVwfFcd-TFzWt04np1xzGqlhh__xUC..nAUL9xKY6JWQyjoK2O_mKTqLakmTU69EX-FROc-rzNEC * third_party/android_build_tools/lint/cipd: MN0_5JkD4qN4pjiJ8NX7yuYHqul8naoyrGuNraKSXGwC..qft_MiuWKisqUw9hZCFTuJKi5jBZaexi7LbGkgRmrpkC * third_party/android_build_tools/manifest_merger/cipd: CjffpWaQIednn-RajH5mg2H1j44x-63USR1VII1i9pcC..CIvskXU9WjZMXUINb-D8kgUKUDSf6G1G1QmCja7qOa4C * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/e9288ebce4..291ce60cce * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/5548497168..e2cafc7ab5 * third_party/r8/cipd: unrgmtpiu-eb2wfZOecxxe-6qdjfP6v4VVwG8BxwqvUC..xo5FWQ3gzH91ffY6sfNAsc7WgSFUoRt991H_nKeLy1gC * third_party/siso/cipd: git_revision:507984579a3b2e8fa59c1dde996a0901b62b8d7c..git_revision:87d2be70fa9a85310a729e3b04669324a129fd88 * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/7e2fc00f79..5510558641 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/b2346cd8a4..6834b3fdbb * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/95d036ab60..c84318b6c0 * tools/skia_goldctl/mac_amd64: KzE7n6EPBoWF0Pj4KskOdTndL0gvq_NZyWOgjAAILT0C..2g_I6fhw1MZvNDgMgU9F1PeWmOSAjuJzBLZ5ECatbp8C No update to Clang. Bug: None Tbr: syoussefi@google.com Change-Id: Id14b96ea23fd6673a694b4cb0b9eedf92f1a6f54 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6047661 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Robic Sun 9eab301c 2024-11-12T17:24:57 Enable GL_KHR_texture_compression_astc_sliced_3d ARM supports GL_KHR_texture_compression_astc_sliced_3d, so this extension can be enabled in Angle. Bug: angleproject:378507964 Change-Id: I545ac57b4d6065a9ef99a7884555da47a1d50261 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6014004 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao cb31b886 2024-11-22T13:15:57 Vulkan: pruneDefaultBufferPools when there is excessive garbage What commonly happens with game (and traces) is that we upload a lot of textures before first frame is drawn. These texture uploads uses a lot of buffer memory and creates peak memory usage moment if not clean up quickly. This CL adds back the check if there is excessive suballocation memory gets destroyed, don't wait until frame boundary to prune empty buffer blocks. Do the prune immediately so that these memory could be reused for other purpose for the first frame rendering. Bug: angleproject:372268711 Change-Id: Ie548245b5ce108be0e2c19b296a28025bface395 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6043405 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Roman Lavrov a5dec6fe 2024-11-22T15:58:02 Tests: ANGLETestBase subclasses non-zero initialize primitives For example, a class member GLuint mPipeline; would get initialized to 0x7f7f7f7f, ~2e9, to avoid potential reliance on the value being 0 which happens often, but not always, resulting in hard-to-debug scenarios. Large number to trigger checks such as https://crrev.com/c/6042185 ANGLE tests are generally subclasses of ANGLETest <- ANGLETestBase and often use GL primitive class members, so this should apply broadly and catch newly introduced cases. This only sets the initial bytes of the allocated memory. Non-primitives or explicitly initialized members overwrite these bytes during their construction. Bug: angleproject:380296979 Change-Id: I4df47a85580548f409a7c890853050cc127cbab1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6044560 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 52fa6779 2024-11-14T00:00:00 Refactor indexed parameter query validation * Moved indexed parameter validation to queryutils. * Fixed indexed blend state enums being disallowed on unextended OpenGL ES 3.2 contexts. * Replaced redundant validations with assertions. Fixed: angleproject:380291906 Change-Id: I4d5a9c01be5a00cd834504b38a3ddaeb5fa4edb9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6043710 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Jiawei Gu 6b9b8239 2024-11-21T15:56:40 Vulkan: fix un-initialized mCompatiblePresentModes When VK_EXT_swapchain_maintenance1 is supported but VK_EXT_surface_maintenance1 is not, mCompatiblePresentModes has no chance to be initialized. So need to set it up in such case. Bug: None Change-Id: I38ac6d9da3d6cebf2effcdcd74084a53d68a32c2 Signed-off-by: Jiawei Gu <gujiawei.will@bytedance.com> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6040834 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Gowtham Tammana 03380548 2024-11-22T11:43:30 CL/Vulkan: Fix nullptr case for async build task Bug: angleproject:380411632 Signed-off-by: Gowtham Tammana <g.tammana@samsung.com> Change-Id: Ib56c6828f59cca0d38b36ae54015c5d464753e21 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6043797 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Austin Annestrand <a.annestrand@samsung.com>
Alexey Knyazev 9c202275 2024-11-14T00:00:00 Fix SAMPLE_MASK_VALUE indexed query validation The SAMPLE_MASK_VALUE enum must be accepted when ANGLE_texture_multisample is enabled. Fixed: angleproject:380291919 Change-Id: Ieb834ca4c78982fbf1a121c0a70db7413574679a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6038524 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Roman Lavrov b856059e 2024-11-22T09:58:13 Tests: linux-trace logs return code with OOM note In case on the bug the replay was terminated with an empty stdout and signal handler wouldn't trigger, making it difficult to diagnose. This happened due to OOM killer (system low on memory) sending SIGKILL to the process, which can't be handled and results in termination with exit code -9. Add a note to the logs when this happens. Bug: angleproject:380296979 Change-Id: Id4db4b12c680701511430d90eee847baded03bcb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6042183 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao 21d747de 2024-11-20T11:54:15 Vulkan: Use vk::SharedPtr for SharedDescriptorSetCacheKey This CL switches SharedDescriptorSetCacheKey from using c++ std::shared_ptr to our internal version of vk::SharedPtr. Also get rid of an extra pointer indirection that SharedDescriptorSetCacheKey is a reference counted of actual cache key instead of std::unique_ptr of cache key. Bug: angleproject:372268711 Change-Id: Id9af5070d24f67711d6decc3a30a260b8d4062d9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6036302 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Roman Lavrov 0757254b 2024-11-22T10:21:29 Tests: Add crash callback to test Replay (e.g. linux-trace) Prints a backtrace on trapped signals. Didn't help with the issue on the bug as it was an OOM -> SIGKILL which can't be trapped but generally nice to have. Also adds stdout flushes to the signal handler as stdout redirection is by default _not_ line-buffered, so without a flush the printfs just go into the buffer and don't actually show up in the redirected output (including on bots). This might be the reason we were missing backtraces in some other cases. Bug: angleproject:380296979 Change-Id: I9fbba35e3bf4e6d863139ceb533f51973fe2f98d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6044040 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev a3452c24 2024-11-14T00:00:00 Fix SAMPLE_MASK toggle validation The SAMPLE_MASK enum must be accepted when ANGLE_texture_multisample is enabled. Bug: angleproject:380291919 Change-Id: I6aeb11dfbb65e6c05e493d1053679c7547c009c9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6039158 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 6544daec 2024-11-14T00:00:00 Fix indentation in GetQueryParameterInfo No functional changes. Bug: None Change-Id: I4807dbdb14997cddfc12147f13d9614c429a663f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6041983 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Igor Nazarov 2f7feccd 2024-11-21T17:21:45 Tests: Fix EGLSurfaceTest.SwapWithoutAnyDraw test Bug: b/275624771 Change-Id: I17516dcc44b58b8dfa659ab099327b25ac88a167 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6038163 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi bc09b178 2024-11-15T13:11:04 CL: Run a subset of CTS tests on linux Bug: angleproject:372722560 Change-Id: I33980df1850384762f0a5715cc3a04314f77d60a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6026508 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 0c7c14eb 2024-11-22T10:31:45 Capture: add a sanity check to InitializeReplay4 args In the case on the bug we were getting maxProgramPipeline = 1684105299 due to an unitialized memory read, which then led to Replay OOM crash as it allocates an array of this size. This is difficult to diagnose in Replay as OOM leads to SIGKILL which cannot be trapped so we can't have a backtrace. Adding a sanity check during capture. Fix the other tests where we hit this (https://anglebug.com/380296979#comment6) One of them visible on red tests on a previous patchset in this CL: https://ci.chromium.org/ui/p/angle/builders/try/linux-trace/9871/overview https://ci.chromium.org/ui/p/angle/builders/try/win-trace/10795/overview Bug: angleproject:380296979 Change-Id: I2879c1947742a9751a122545c8ba8da23ab243cb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6042185 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Gowtham Tammana 8ba71e66 2024-06-26T13:37:42 CL/Vulkan: Update few device caps based on VK caps -1- Device fence caps flags The spec requires below fence capabilities to be preset - CL_DEVICE_ATOMIC_ORDER_RELAXED - CL_DEVICE_ATOMIC_ORDER_ACQ_REL - CL_DEVICE_ATOMIC_SCOPE_WORK_GROUP -2- Add missing param names in program query The params CL_PROGRAM_SCOPE_GLOBAL_{CTORS,DTORS}_PRESENT are missing from program query. Adding them. -3- Set max sampler and image buffer to spec min Set the max samplers and image buffer size to minimum for now. These will be changed once the image support is complete. Bug: angleproject:366412386 Change-Id: Iee2c11319c6c5b2f3a1565e06f1f09c5f770a07c Signed-off-by: Gowtham Tammana <g.tammana@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6004685 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Yuly Novikov b18b0b02 2024-11-22T13:40:47 Skip couple non-deterministic angle_restricted_trace_gold_tests on Win Intel Vulkan. aztec_ruins aztec_ruins_high produce slightly different images once in a while. Bug: angleproject:353690308 Change-Id: Ib8043d8662b07a48ae86d731d7538153da517122 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6038527 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Kimmo Kinnunen 8e9dc1a6 2024-11-19T11:08:31 Validate anonymous struct names with namespace Consider GLSL: struct { vec4 e; } g; struct sbbf { vec4 f; }; The struct name validation would fail if user chosen struct name would clash with a symbol name that ANGLE internally gave to an anonymous struct. Fix by importing Name abstraction from MSL backend. A symbol name is a pair (namespace, string). Move operator<<(std::ostream &os, const ImmutableString &str) to sh namespace because that is more natural for operator overloading name resolution. MSVC works with this. Bug: angleproject:379758201 Change-Id: Icc9b02aa8cb532e1d925e2fba4c45468f01b9144 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6035029 Reviewed-by: Geoff Lang <geofflang@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Kimmo Kinnunen 8409b41e 2024-11-20T14:38:30 Report error on unsized interface block array GLSL of forms: uniform S{...} a[]; in R{...} b[]; out Q{...} c[]; Should produce error unless the shader is tesselation or geometry shader. Fix the errors for VS and FS. GS and TS likely need more work. Bug: angleproject:379996129 Change-Id: Ib31c9a81717a8cd1c984eb4ce2e993d563bb3c4f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6038333 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 b76f0ae0 2024-11-22T07:04:40 Roll Chromium from 29f00e74db5f to 1cae31feac1f (560 revisions) https://chromium.googlesource.com/chromium/src.git/+log/29f00e74db5f..1cae31feac1f 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,geofflang@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/c0f3d15c4b..a4849cc3c2 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/1760ff6d72..50c92fd24e * buildtools/linux64: git_revision:24e92acb847233a9c0753c12cb82c98fc084e3db..git_revision:468c6128db7fabe32a29d4753460ef53594406fc * buildtools/mac: git_revision:24e92acb847233a9c0753c12cb82c98fc084e3db..git_revision:468c6128db7fabe32a29d4753460ef53594406fc * buildtools/win: git_revision:24e92acb847233a9c0753c12cb82c98fc084e3db..git_revision:468c6128db7fabe32a29d4753460ef53594406fc * testing: https://chromium.googlesource.com/chromium/src/testing/+log/443f23b178..4c7e838e3f * third_party/android_build_tools/lint/cipd: XU62_R9yK-y7lyUbMQtZnJk1I3PVCT4te30rymGl2lsC..MN0_5JkD4qN4pjiJ8NX7yuYHqul8naoyrGuNraKSXGwC * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/8391901d0c..a37c9ad26c * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/090b7be491..2515d3513f * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/1ffc8da403..5548497168 * third_party/r8/cipd: 4Jv8fT6sqUNUQgLFhPxsZ0mC771V39N3HxU2oJ7YvHgC..unrgmtpiu-eb2wfZOecxxe-6qdjfP6v4VVwG8BxwqvUC * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/6c93bdb020..7e2fc00f79 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/a35e9029be..5e2c90a4cf * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/297e2baee4..95d036ab60 * tools/skia_goldctl/linux: yldTcxw4lFHNSfq23II9irAKXDRxYA721InSvNH3ZPsC..4OSrO_Ulvrtu3tCi_1F8wFqL9reXIfv-WWxMMdiBgGMC * tools/skia_goldctl/mac_amd64: Q7_0GW-DBft1EFZ13k4oWn22MPpfBEpaM0nlGDvrkbkC..KzE7n6EPBoWF0Pj4KskOdTndL0gvq_NZyWOgjAAILT0C * tools/skia_goldctl/mac_arm64: G0EEg54u-HJ5VxBhJ-X3uIl08kCGfhKSH3DMhhUzC_IC..jrnu1wO-gatTXyos689amEuAaHey7bOOzvb0TPp9YRoC * tools/skia_goldctl/win: -VQ76HAZtw-o_o59jvEuTvl2-oXa9muyYJf5h9W06zEC..ELyOxeZv-I6rhBrYv48EfmhjNKbSD6RzE0lZPBtL4kEC No update to Clang. Bug: None Tbr: geofflang@google.com Change-Id: If2b9e99e89bb54e0580a1f88d44d22261cd3a2d8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6039311 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Alex Dean 10c2dc7a 2024-11-14T10:55:55 CL: Remove logic restricting CL version of passthrough backend When the passthrough backend is enabled, the OpenCL version would be manually set to <= 1.2, causing issues for workloads that specify the version number. This change enables OpenCL versions > 1.2 during passthrough. Bug: angleproject:378754053 Change-Id: I7e84ae7b492d68ba441d0c71b75847799f4b99a0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6022547 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Gowtham Tammana a58b35bc 2024-08-07T15:01:56 CL/Vulkan: Implement image creation from buffer object Add support for creation of image from buffer object for types image1d_buffer. At the kernel side setup texel buffer descriptor sets for these kernel arguments. Bug: angleproject:378103913 Change-Id: I600692cd003b75396afd45dcc93c568bcf390b96 Signed-off-by: Gowtham Tammana <g.tammana@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6005389 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Roman Lavrov 94eebab5 2024-11-21T17:04:54 Tests: fix ProgramPipelineTest31 unitialized memory read Specifically mPipeline was being set to 1684105299 on linux-trace CI, which then got captured as maxProgramPipeline=1684105299 leading to OOM crash of the replay attempting to initialize an array of this size*4 (~6Gb). Some tests, like BindProgramPipelineTest do not use mPipeline so it remains unitialized, and since GLuint is a C++ primitive there is no default zero-initialization. Bug: angleproject:380296979 Change-Id: I2398666f15a36d3e5ccd8aa163cc83682039b7d0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6042556 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Charlie Lao 70d1ef67 2024-11-20T11:34:39 Vulkan: Ensure onFramebufferBoundary is called for offscreen There is peak memory regression observed from crrev.com/c/6022549. What I suspect happening is that for offscreen or single buffered case, glFlush/glFinish is called but bail out because it already submitted or deferred. So we end up not calling onFramebufferBoundary(). This CL ensures we always call onFramebufferBoundary from these two functions for single buffer or offscreen. Also fixed a bug when onSharedPresentContextFlush is called we may end up calling onFramebufferBoundary. To make API names consistent, existing flushImpl() is renamed to flushAndSubmitCommands() and a new flushIMpl is added to wrap around most logic inside flush(). Bug: angleproject:372268711 Change-Id: I54eed8a81f4153d52ab962f213cacc87a73b89ac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6037491 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Austin Annestrand 0dfe0a75 2024-08-30T18:59:54 CL/VK: Add writeBuffer to staging/transfer routine Adding enqueueWriteBuffer staging/transfer code/routine for the non-blocking conditions. Bug: angleproject:377545840 Change-Id: Ia2f97588a887e9ec30f8f1715b0e33b56ff97867 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6023865 Commit-Queue: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Charlie Lao 8e0178fb 2024-11-19T13:31:45 Vulkan: Switch SamplerBinding to Use SharedPtr Another step to remove vk::BindingPointer. SharedPtr is used and SamplerBinding is renamed to SharedSamplerPtr. This also removed RefCountedSampler to avoid direct expose of RefCounted<SamplerHelper> which is risky due to ability of change reference count directly. Bug: angleproject:372268711 Change-Id: Ia6f352186a4f75ab9ce3396f298e33f70cd61a1b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6036294 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Geoff Lang a41b798e 2024-11-21T11:07:34 WebGPU: Ensure mDefaultBindGroup is created mDefaultBindGroup would not be created if the program has no uniforms because they are not dirty. Mark all stages as dirty after linking. Bug: angleproject:376553328 Change-Id: I1663791fa1642be052948c5acb8e403fa8b844f9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6039006 Reviewed-by: Matthew Denton <mpdenton@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Alexey Knyazev 8f07cdde 2024-11-14T00:00:00 Fix NegativeTextureMultisampleTest The test checks that unextended ES 3.0 contexts reject commands related to multisample textures but it did not create an unextended context and therefore was skipped on most backends because they expose the extension. Fixed: angleproject:380088822 Change-Id: I2aab2876539fb48954e5c0055f510ca4db429245 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6038826 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>