Log

Author Commit Date CI Message
Brian Sheedy 1a1ee212 2023-05-31T16:28:31 Update vpython3 requests Updates the requests version in .vpython3 to the latest available in order to pick up a security fix. Also changes the requested version to the Python 3-only one since Python 2 support was removed from requests. Bug: chromium:1448265 Change-Id: I132cf2a18f59a70a17f04b7fcbb3e65165fa7eb1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4574296 Auto-Submit: Brian Sheedy <bsheedy@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
angle-autoroll 249ff120 2023-06-02T10:01:11 Roll SwiftShader from f549d5e6c663 to ae667fe96db9 (2 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/f549d5e6c663..ae667fe96db9 2023-06-01 bclayton@google.com Update Marl to f4255c213 2023-06-01 bclayton@google.com Update Marl to a089b4aaf If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC angle-team@google.com,solti@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: solti@google.com Use-Permissive-Angle-Pixel-Comparison: True Change-Id: I628df2c3ba4ec1ec7f33b3a0bfdfbea5d856fcbf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4581700 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 9b2257d5 2023-06-02T08:32:05 Roll Chromium from 069f9924f967 to aac4d6a34cf9 (715 revisions) https://chromium.googlesource.com/chromium/src.git/+log/069f9924f967..aac4d6a34cf9 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,solti@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug 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/d84d377912..defeac7e7d * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/edbefcee3d..61b4b91ea9 * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/b2e8ad2755..899caea381 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/5a1c842201..356363ab1f * third_party/android_platform: https://chromium.googlesource.com/chromium/src/third_party/android_platform/+log/9f29aca7dd..a72ec125fa * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..ecf1f9c5b7 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/79f13899e6..9e0ff22bfb * third_party/fuchsia-sdk/sdk: version:12.20230530.1.1..version:12.20230601.2.1 * third_party/jdk: 2Of9Pe_OdO4xoAATuiLDiMVNebKTNO3WrwJGqil4RosC..-1zDGMOzS_Qsja50TakJCSqN9C9TYppQrsny4HATSQwC * third_party/r8: vrqJqwFzpZRW6vpgpLjtMzBf_RG-HfY60YTTGJpB4mAC..KD3NOxZDyxYRBipxZoMEB7jVz3Hqmg2T0ARs8l9WUL4C * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/6cf0c7b139..cc7b025840 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/3349b8beaf..dd48a54991 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/7e90957c04..6f6376c124 No update to Clang. Bug: None Tbr: solti@google.com Change-Id: Ic50f4e26269fdb5e98cb2e6c333f78afdb44f7f5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4582652 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Yuxin Hu 0ea8e55a 2023-06-01T10:25:44 Enable usePrimitiveRestartEnableDynamicState on ARM driver 43 The dynamic state bug is fixed in ARM 43. Venus has backported the driver fix, therefore we also enable primitiveRestartEnable dynamic state on venus. Bug: b/275210062 Bug: b/282621541 Change-Id: I5debd5146386f7e245610fb71c84e4a48b04e85b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4581051 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Amirali Abdolrashidi c80fc88a 2023-05-18T17:38:25 Vulkan: Add version to pipeline cache header * Added version as a field in the pipeline cache header. It is set by the value of kPipelineCacheVersion. * kPipelineCacheVersion must be incremented in case of any changes to the cache header or data structure. * This makes it easier to detect whether a change in the data is coming from the header/data change or from data corruption. If the version in the cache line matches kPipelineCacheVersion, some values in the header must meet certain conditions. Otherwise, it will result in a crash due to data corruption. Bug: b/246683126 Change-Id: Iaf1a2e1111cf47602dba947516ad8998d96dc943 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4546263 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Charlie Lao <cclao@google.com>
Charlie Lao ba857c47 2023-06-01T11:33:22 Vulkan: Move some bufferRead logic into CommandBufferHelperCommon Some of the logic of bufferRead is common, to avoid code duplication, it has been refactored into bufferReadImpl and moved into CommandBufferHelperCommon. Bug: b/282194402 Change-Id: I98cd0788db7fe9f14bd3155b28dc208f9f4a138a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4581061 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Charlie Lao e21ecd1b 2023-05-26T14:06:46 Vulkan: Add dirty bit processing for uniform buffer change When app calls glBufferData for the uniform buffer, we may end up reallocate the storage. This will set DIRTY_BIT_UNIFORM_BUFFER_BINDINGS on the context, but the exact uniform block index gets lost along the way. This CL sets mDirtyBits on the program for the corresponding block index and then changed vulkan backend to utilize the program's mDirtyBits and only update the buffer if it is dirty, instead of always update all uniform buffers even if only one of the buffer is dirty. In order to make this work, this CL also adds the reverse tracking from buffer binding to uniform blocks. Previously we already have the tracking of which buffer binding index is used for which buffer block index. This CL adds mUniformBlockBindingMasks which is an array of BitSets. Each array element tracks all the uniform block index that is using this buffer binding index (you can have the same buffer bound to multiple uniform block index). Then when a buffer binding index is dirty, that BitSet gets added into program's uniform block dirty bits. This CL and previous CL improves GfxBench gl_driver2_off score 1.8% (from average 6797 to average 6919) on pixel 7 pro. Bug: b/282194402 Change-Id: Ic5002643a5297907276fc9b20ca7d21af9bdc4fe Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4553136 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Jose Dapena Paz ad1255c2 2023-01-30T18:35:38 libstdc++: do not use std::logf or std::powf In libstdc++ there is no implementation of std::logf or std::powf, so they must be replaced with calls to std::log and std::pow, and use static_cast for using the right overload. Bug: chromium:957519 Change-Id: I3c94502c006db200148060c1d30e0dd28b8a30d0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4352890 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao 2501903e 2023-05-31T11:59:36 Vulkan: Merge UpdateShader***Buffers into updateShaderBuffers Both UpdateShaderUniformBuffers() and DescriptorSetDescBuilder::updateShaderBuffers() walks the list of uniform blocks (or storage blocks). Some of the logic are the same and we are paying that overhead twice. In this CL, UpdateShaderStorageBuffers, UpdateShaderUniformBuffers and UpdateShaderAtomicCounterBuffers functions are merged into DescriptorSetDescBuilder::updateShaderBuffers and DescriptorSetDescBuilder::updateAtomicCounters. In order to handle the usage that same buffer used by multiple shader stages, a new variant of bufferRead() function is added that takes "const gl::ShaderBitSet" instead of single PipelineStage. This also paves way for next CL so that we can call updateOneShaderBuffer individually. Bug: b/282194402 Change-Id: I09d045d6295827b60bdb4c05df9333fe593fa40e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4574288 Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Igor Nazarov dbffa5d3 2023-05-30T15:43:45 Vulkan: Update present history logic Keeping old Swapchain's `ImagePresentOperation`s with Fences can lead to multiple "old swapchains" lists. This may cause situations exceeding the `kMaxOldSwapchains` limit. Instead of marking `ImagePresentOperation` as corresponding to an older swapchain, accumulate all present history in the `mOldSwapchains`. Since Fences are only used when VK_EXT_swapchain_maintenance1 is supported, instead of attaching "old swapchains" to the first present operation, they are destroyed when present Fences are signaled in the new `cleanUpOldSwapchains()` method. Also this CL fixes a bug: if (mPresentHistory.empty() || mPresentHistory.back().imageIndex == kInvalidImageIndex) The above condition will always pass when VK_EXT_swapchain_maintenance1 is supported. Bug: angleproject:7847 Change-Id: I1a41944456756b8af740f1903c873823323a2e0b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4505952 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Igor Nazarov 95f57b19 2023-01-17T19:24:04 Vulkan: Fix Shared Present Mode "acquireNextSwapchainImage()" - no need to call "vkAcquireNextImageKHR()" in Shared Present Mode. - proper VkResult processing (VK_SUBOPTIMAL_KHR replaced with VK_SUCCESS). Bug: angleproject:6878 Change-Id: Ib20ae1f5de3a3cc13bfc4ef034076e3402f93d31 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4489464 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Igor Nazarov 552e7468 2023-05-26T18:39:55 Vulkan: Do not use ANI Fence in present semaphore recycling Fences from `vkAcquireNextImageKHR()` has many problems on some Intel drivers, and one of them does not have a workaround. Instead of using ANI Fence, this change will use `swapSerial`, that has execution dependency on ANI semaphore. As result, semaphore recycling will be delayed a little longer, until the Device finises rendering to the image. On practice, this will not significantly affect the total number of allocated semaphores. As a bonus, this change also fixes a bug with Shared Present Mode: Current logic assumes that PE will only signal image's ANI fence after waiting on previous present semaphore with this image. In reality, PE returns same image index and fence that is always signaled. Additionally, ANI call is not required at all. There is no 100% safe solution when not using: VkSwapchainPresentFenceInfoEXT This CL will recycle present semaphores only after next present semaphore is signaled. This not only ensures, that present semaphores are not reused inflight, but also gives time to PE to finish waiting on the semaphore until next present. Bug: angleproject:8155 Bug: angleproject:7847 Change-Id: Ia112190d77ea7e04f8f9755cf56f5387744dc599 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4572426 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Igor Nazarov 53b2db67 2023-05-26T13:34:39 Vulkan: Reset Swapchain Fence before recycling Depending on the Intel GPU hardware and driver version, crash may happen when accessing ANI Fence after Swapchain destruction. This access includes call to: `vkGetFenceStatus()`, `vkWaitForFences()`, `vkResetFences()`, and `vkDestroyFence()`. Resetting Fence before recycling will "detach" it from the Swapchain, allowing safe usage/destruction of the Fence after that Swapchain destruction. For other devices and drivers, this change is harmless. Only difference is that there will be extra reset calls for items that were recycled but never used before (number of such cases extremely low, compared to cases when Fences are reused). Additionally, this change adds `ASSERT(garbageObject.valid())` into the `Recycler<>`. Before this change, it was possible to recycle invalid fence in the `ImagePresentOperation::destroy()` method. Luckily, this happened only in `WindowSurfaceVk::destroy()`, where invalid recycled fence is not used (it is safe to destroy invalid fence). Bug: angleproject:8155 Change-Id: I0adbaf63333536523004a077977eb68cfaccd6f7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4572425 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Charlie Lao <cclao@google.com>
Igor Nazarov bcccb6c4 2023-05-30T18:21:06 Vulkan: Minor fix in doDeferredAcquireNextImage() method If call `doDeferredAcquireNextImage()` after `prepareSwap()`, the `prepareForAcquireNextSwapchainImage()` method will be called again, and may possible recreate the Swapchain while there is ANI result that needs processing. In the current code the above is not possible (except if call `prepareSwap` directly from the application side). This may be possible in the future, when ANI is deferred until RenderPass end, that may happen in the `flushImpl()` of the `swapImpl()`. This change skips `prepareForAcquireNextSwapchainImage()` if there is ANI result that needs processing. Additionally, `doDeferredAcquireNextImageWithUsableSwapchain()` call in `swapImpl()` replaced with `doDeferredAcquireNextImage()` for simplicity. Possible call sequences after this change: prepareSwap: prepareForAcquireNextSwapchainImage() doDeferredAcquireNextImageWithUsableSwapchain() or prepareSwap: prepareForAcquireNextSwapchainImage() TryAcquireNextImageUnlocked() other API: doDeferredAcquireNextImage(): // skipped - prepareForAcquireNextSwapchainImage() doDeferredAcquireNextImageWithUsableSwapchain() or other API: doDeferredAcquireNextImage(): prepareForAcquireNextSwapchainImage() doDeferredAcquireNextImageWithUsableSwapchain() Bug: angleproject:6851 Bug: angleproject:8133 Change-Id: I4f973c05821fc9e43769cc2621f4467790118f23 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4572424 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
angle-autoroll 5726566a 2023-06-01T10:01:45 Roll vulkan-deps from 354eac3ca8c8 to a6525fe76b4c (50 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/354eac3ca8c8..a6525fe76b4c Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/9fbc561947..a6662c53ce * spirv-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/69155b22b3..8e2ad27488 * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/f29e11dcb6..ec244c8598 * vulkan-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/9e61870ecb..3df77fb3e4 * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/b95d065ec5..1f20a308fc * vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/9aafa3cf1a..9a252664d7 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/27c61c8dd6..2e88dc0a67 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,solti@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: solti@google.com Change-Id: I1cc7ff765daf355cab281712b6a3fb9cedd8a4ce Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4577893 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 7692365a 2023-06-01T07:00:14 Roll Chromium from aad7c6da636e to 069f9924f967 (323 revisions) https://chromium.googlesource.com/chromium/src.git/+log/aad7c6da636e..069f9924f967 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,solti@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug 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/299a7340e9..d84d377912 * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/5c8dbff7a4..b2e8ad2755 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/ab736e5617..5a1c842201 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..dfd78540ae * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/05ab73be51..79f13899e6 * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/0cf42a2592..982b036a25 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/b86e044e91..3349b8beaf * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/c2b6d8fd90..7e90957c04 No update to Clang. Bug: None Tbr: solti@google.com Change-Id: I03890098a3473ed6afcf2b3c023a7a9ed2ae88e0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4577889 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi b0e9bbd7 2023-05-31T14:23:40 Vulkan: Split features for dynamic state When a driver bug with dynamic state is encountered, it is hard to debug which dynamic state exactly is causing an issue, due to the current granularity of disabling all entire state from an extension. With this change, every dynamic state gets its own ANGLE feature, and can be toggled as necessary. Disabling the supportsExtendedDynamicState* features implicitly disables all dependent features. Bug: b/285124778 Bug: b/275210062 Bug: fuchsia:107106 Bug: angleproject:5906 Change-Id: Ic291279872df2d0eb58618ff364ab118bdcc4a9f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4577553 Reviewed-by: Cody Northrop <cnorthrop@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Geoff Lang 46c92a0a 2023-05-16T11:14:44 Reland: Don't export ANGLE platform methods. These functions are loaded through eglGetProcAddress. We don't need to export these extra symbols and increase our binary size. Temporarily still export them on Android. The Android platform loads them using dlsym [0] to detect if a driver is ANGLE or not. [0] https://cs.android.com/android/platform/superproject/+/master:frameworks/native/opengl/libs/EGL/egl_angle_platform.cpp;l=143;drc=3d0d3e99c0335b94fa41fafce6d0fb3fedb07f75 Bug: chromium:1445969, b/283233503 Change-Id: I3ddf02f3c881f94b3ee4779776479e41465f036d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4576544 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 37698dcf 2023-05-25T14:57:21 Translator: Remove the "variables" entry from list of options This flag is unused. It is removed in a separate change to facilitate rolling ANGLE into Chromium and vice versa. Bug: chromium:1447314 Change-Id: I651f766e1c127f81c17ec46554bbdebd240f8c1c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4568525 Reviewed-by: Geoff Lang <geofflang@chromium.org>
Igor Nazarov 7b07818e 2023-05-29T19:46:40 Vulkan: Call resetAcquireNextImageSemaphore() only when required Currently resetAcquireNextImageSemaphore() is called for each swapchain image when swapchain is recreated and when EGLSurface is destroyed. Releasing semaphores in case of swapchain recreation is not necessary, since swapchain should not be recreated while there still image that needs presenting. Call removed to reveal possible bugs, when recreate happens without such present. In case of EGLSurface destruction there may be only one image that has semaphore. Call moved from `destroySwapChainImages()` to `destroy()`. Bug: b/275624771 Change-Id: Ia4ce678f2b73785818150dfb276b19a5f5b7d25f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4567550 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Igor Nazarov da41e7d9 2023-05-29T19:17:48 Vulkan: Account for queueSubmitOneOff() in SurfaceVk::mUse There is a possibility to destroy EGLSurface without waiting for `queueSubmitOneOff()` submission. One possible way to reproduce the problem is to query `EGL_BUFFER_AGE_EXT` without any rendering in the EGL_SINGLE_BUFFER mode. This is a regression from: Reland "Vulkan: SurfaceVk should only wait for GPU work that uses it" https://chromium-review.googlesource.com/c/angle/angle/+/4406891 Test: angle_end2end_tests --gtest_filter=EGLSingleBufferTest.WaitOneOffSubmission* Bug: b/267806287 Change-Id: I9478fcc4fd64b38747cbd80dea51137da9ef5f21 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4567549 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 92f48c18 2023-05-31T18:24:18 Manual roll Chromium from a4089b2e7987 to aad7c6da636e (221 revisions) Manual roll requested by ynovikov@google.com https://chromium.googlesource.com/chromium/src.git/+log/a4089b2e7987..aad7c6da636e 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,solti@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug 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/1ee2c02fc6..299a7340e9 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/dddefcbae6..ab736e5617 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/2445bb17e1..d27fcebaf6 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..9f3ef9c2ea * third_party/r8: 4Oq32DG2vuDh7Frxj6tH5xyi77sVgBWpvvl4hwvZRR4C..vrqJqwFzpZRW6vpgpLjtMzBf_RG-HfY60YTTGJpB4mAC * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/6f1c5c73da..c2b6d8fd90 No update to Clang. Bug: None Tbr: solti@google.com,ynovikov@google.com Change-Id: I14cf3c65f45f410365ad44ce99ca2e53de654bc2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4575898 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Mark Lobodzinski 29ad234a 2023-05-30T12:03:30 Tests: Add Off The Road trace Test: angle_trace_tests --gtest_filter=TraceTest.off_the_road Bug: b/285110104 Change-Id: I63e86ea9a18f9f60680ac758e284cc1b5e90c0ff Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4576882 Commit-Queue: Mark Łobodziński <mark@lunarg.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Yuxin Hu dfb2bab0 2023-05-25T15:08:19 Apply Aliased Decorators To Image DataTypes Bug: b/274478912 Bug: b/266235549 Change-Id: I2cd272a1e7481a8803be63efe0be11c61560b23e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4568287 Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 0bc13958 2023-05-31T09:51:13 Roll Chromium from 57b220f0ca60 to a4089b2e7987 (733 revisions) Manually add third_party/cpu_features DEPS per https://chromium-review.googlesource.com/c/chromium/src/+/4545271 https://chromium.googlesource.com/chromium/src.git/+log/57b220f0ca60..a4089b2e7987 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,solti@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug 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/6cb0fb63f3..1ee2c02fc6 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/5102dd5718..dddefcbae6 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/48cb81215e..2445bb17e1 * third_party/android_build_tools/lint: pSX8QZklEn1odNNyvBBDnanIA4IBlNNFgsAYPXnk-SYC..FObSM0x4tmlkstBzjEhG3sHenn993tmoNjl5naaW28AC * third_party/android_build_tools/manifest_merger: guwWgYx931yQa5Mj6M08VMupp2R1bo_2F6zOS-azX9UC..u2r6t6i4MR-JZBn40RJTHzLBwT4y59mjHv6kkrAlLSQC * third_party/android_ndk: https://chromium.googlesource.com/android_ndk.git/+log/8388a2be54..310956bd12 * third_party/android_platform: https://chromium.googlesource.com/chromium/src/third_party/android_platform/+log/f312145c41..9f29aca7dd * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..9f3ef9c2ea * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/530d86d40b..05ab73be51 * third_party/fuchsia-sdk/sdk: version:12.20230529.1.1..version:12.20230530.1.1 * third_party/r8: 9dmrdF_0VI2W4VoKglVJJXLHpn8Aw00PAHSpkQL63hcC..4Oq32DG2vuDh7Frxj6tH5xyi77sVgBWpvvl4hwvZRR4C * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/337322d10f..0cf42a2592 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/fa0546ccb6..b86e044e91 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/2ff63e72c7..6f1c5c73da No update to Clang. Bug: chromium:1446042 No-try: true Change-Id: Id621741615cdfd54657f8f6cb9f88ec303dcb0a2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4575480 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Roman Lavrov eaa53279 2023-05-30T14:37:03 Add mDitheringFeatures to mEnabledFeatures Missed in https://crrev.com/c/4567572 Also adds mSwapchainMaintenance1Features, which was missing in the same place, and I was using that as a reference in the CL above. Bug: b/284462263 Change-Id: I225cbd40d35eb09ea6220a6669574e19ce6cce83 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4574570 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi ec7e0778 2023-05-26T22:11:49 Vulkan: Track the emulated texture buffer in command buffer ... instead of the original texture buffer, because the emulated one is the one that is actually being used. This removes the necessity to issue a hacky barrier after the emulation is done. Bug: angleproject:8128 Change-Id: Ibc812894204cc1b2c6147817674de44e9c7ba2f4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4571701 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Charlie Lao <cclao@google.com>
Roman Lavrov 8447e279 2023-05-30T13:56:19 code_generation_hashes json files end with newline Bug: None Change-Id: Iddd2c1777a1d5486a4d390c6e3d56ffb09f47f02 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4574569 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Roman Lavrov <romanl@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Charlie Lao 01f629e3 2023-05-26T10:23:20 Vulkan: Remove the loop when calling updateShaderBuffers Right now there is a loop of getLinkedShaderStages when calling mShaderBuffersDescriptorDesc.updateShaderBuffers. The shaderType variable is only used to check if block is active or not, and get info.binding. They can be retrieved without loop of shaderType. This CL removes the loop so that we call DescriptorSetDescBuilder::updateShaderBuffers only once. Similar thing is applied to atomic counter buffer and images. Bug: b/282194402 Change-Id: I03f3b4a391e773dfc162877802a2f940311866b8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4554625 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Sam Maier 7c183c4e 2023-02-17T15:45:52 Removing deprecated generate_final_jni which is being deleted Bug: chromium:1406611 Change-Id: I32c06d2660ff74a904d33917db01d7f7b0609942 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4264173 Auto-Submit: Sam Maier <smaier@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Roman Lavrov ad1f58aa 2023-05-30T09:41:41 Tests: skip RGBTextureBufferTestES31 on Linux intel vulkan vk_icdNegotiateLoaderICDInterfaceVersion crashes (possibly Mesa bug?) Bug: angleproject:8179 Change-Id: I05812f436ab4f4ac2755c20bddc1cc33a28b5d8e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4574146 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
angle-autoroll 89228c43 2023-05-30T07:02:32 Roll Chromium from c0f2c5cab1b4 to 57b220f0ca60 (1475 revisions) https://chromium.googlesource.com/chromium/src.git/+log/c0f2c5cab1b4..57b220f0ca60 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,solti@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug 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/40ec269a47..6cb0fb63f3 * buildtools/linux64: git_revision:e9e83d9095d3234adf68f3e2866f25daf766d5c7..git_revision:e3978de3e8dafb50a2b11efa784e08699a43faf8 * buildtools/mac: git_revision:e9e83d9095d3234adf68f3e2866f25daf766d5c7..git_revision:e3978de3e8dafb50a2b11efa784e08699a43faf8 * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/982e218cb8..5c8dbff7a4 * buildtools/third_party/libunwind/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/55ceecab99..cd144ced35 * buildtools/win: git_revision:e9e83d9095d3234adf68f3e2866f25daf766d5c7..git_revision:e3978de3e8dafb50a2b11efa784e08699a43faf8 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/06f1c1ef67..5102dd5718 * third_party/android_build_tools/aapt2: aidBg3POIv_jPt-kZ7O9aQ6-UdFSuLd8uBgGg4REBjsC..STY0BXlZxsEhudnlXQFed-B5UpwehcoM0sYqor6qRqsC * third_party/android_build_tools/lint: AS57ntD4VO2MAIu0pkI0b3c3cFkdGt0cAkmSkiRimZkC..pSX8QZklEn1odNNyvBBDnanIA4IBlNNFgsAYPXnk-SYC * third_party/android_build_tools/manifest_merger: HW7DJwNOXl50MEneaQnyD1Yg1sy_0Eej5E1nKepXq40C..guwWgYx931yQa5Mj6M08VMupp2R1bo_2F6zOS-azX9UC * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..44beba1e6d * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/456d085e75..530d86d40b * third_party/fuchsia-sdk/sdk: version:12.20230520.1.1..version:12.20230529.1.1 * third_party/r8: dJL8gwEiDUoK5pirX6la4l7ofdBufwcc1HUaCv4CZ8cC..9dmrdF_0VI2W4VoKglVJJXLHpn8Aw00PAHSpkQL63hcC * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/14dd4c4455..337322d10f * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/88e8637696..6cf0c7b139 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/b7e3f403e3..2ff63e72c7 No update to Clang. Bug: angleproject:8178 Tbr: solti@google.com Change-Id: Ic974cb92ecf2a6c87f80a740bd7110effccfb392 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4572632 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Roman Lavrov ff110417 2023-04-21T15:16:03 Vulkan: Emulate RGB32 uniform texel buffers when unsupported Applies to: GL_RGB32F, GL_RGB32I, GL_RGB32UI When VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT is specified for these formats by the Vulkan driver, behavior is the same as before. When it is not speficied: previously ANGLE wouldn't enable GL_EXT_texture_buffer unless exposeNonConformantExtensionsAndVersions was enabled; now ANGLE always enables it and does the RGB->RGBA conversion (GPU) under the hood and tracks buffer content updates using the paths added for tracking this for Vertex Arrays. Bug: b/278585075 Bug: angleproject:8128 Change-Id: I4605719bf3f51c5a10c1a35ecae767833dcd45d7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4456498 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
McKnight22 713c80c1 2023-05-21T21:18:56 [riscv64][android] skip 2nd abi support for pure 64-bit android For arch riscv, android supports riscv64 only. So, only 64-bit library/module support is needed. So, skip secondary abi support for pure 64-bit android target. co-authors: McKnight22 <tao.wang.2261@gmail.com> Wang Chen <wangchen20@iscas.ac.cn> Bug: angleproject:8165 Change-Id: Ida4def5a6508268d75f107b3c33874dab504230b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4563354 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Roman Lavrov 16b9a16a 2023-05-26T14:45:15 Add supports_legacy_dithering feature VK_EXT_legacy_dithering => VkPhysicalDeviceLegacyDitheringFeaturesEXT.legacyDithering => supportsLegacyDithering Now getting enabled=true on Android master. Bug: b/284462263 Change-Id: Ibf43184c78d9847044b10413d2050b653e452c9b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4567572 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Peng Huang c6cd91e4 2023-05-26T13:23:33 Disable global share context lock for non-Android build Bug: chromium:1446878 Change-Id: I32d77053f5f41c947ed841d1b738245c626ea1f2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4570963 Commit-Queue: Peng Huang <penghuang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Auto-Submit: Peng Huang <penghuang@chromium.org>
Shahbaz Youssefi 02e7f967 2023-05-25T14:54:49 Translator: Remove the "variables" option Variable collection is invariably enabled by the front-end as well as other major users of ANGLE such as Firefox. All translator backends except GLSL force-enable variable collection either way. This change removes this compile option and enables variable collection unconditionally. The flag itself remains in ShCompileOptions until references to it are removed from Chromium. Bug: chromium:1447314 Change-Id: I4d3b30c1bfbd345c5ad269abc62c0a6a59de2f56 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4568524 Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 3f97a29e 2023-05-26T15:03:02 D3D11: Also unbind DSVs when unbinding conflicting resources Depth stencil views can also cause conflicts when trying to bind them resource as a shader resource and depth stencil at the same time, even for compute shaders. Bug: dawn:1291, angleproject:8171 Change-Id: I759556f7a8a888f1d4d6a042c26d16eedd83d2b0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4567573 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 4dcfd08c 2023-05-26T14:52:21 Roll VK-GL-CTS from f7a3350256a6 to 356e6d2f8796 (9 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/f7a3350256a6..356e6d2f8796 2023-05-26 piotr.byszewski@mobica.com Merge vk-gl-cts/opengl-cts-4.6.3 into vk-gl-cts/main 2023-05-25 gleese@broadcom.com Fix problems when buffer_storage not supported 2023-05-25 gleese@broadcom.com Remove deFloatCmp functions 2023-05-25 rgarcia@igalia.com Test clearing images with 64-bit formats 2023-05-25 matt.coster@imgtec.com Add pre-VK_KHR_maintenance1 implied features to compressed formats 2023-05-25 lionel.g.landwerlin@intel.com Enable descriptor buffer tests on implementation without compute only queues 2023-05-25 piotr.byszewski@mobica.com Merge vk-gl-cts/vulkan-cts-1.3.6 into vk-gl-cts/main 2023-05-22 piotr.byszewski@mobica.com Split pipeline.txt mustpass into multiple files 2023-05-20 alexander.galazin@imgtec.com Add option to skip build post checks 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,romanl@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: romanl@google.com Change-Id: I09d94c9696c30eb81f374608ac778fb80b2fe4e7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4571063 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Joanna Wang c71851ef 2023-05-26T14:20:11 Add third_party/clang-format/script to .gitignore. Bug: chromium:1447924 Change-Id: Ic2450d8883c904fdd667f4a2d603d990e84c6049 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4570960 Auto-Submit: Joanna Wang <jojwang@chromium.org> Commit-Queue: Joanna Wang <jojwang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Joanna Wang 388a184d 2023-05-25T22:19:46 Fix clang_format -> clang-format path in DEPS. Bug: chromium:1447924 Change-Id: I42a99b9d5015fd5d957ad3a7fe74e90f5442bc83 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4566834 Auto-Submit: Joanna Wang <jojwang@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com>
Amirali Abdolrashidi 055c72ac 2023-05-25T09:22:26 Suppress AllocateVMAImageWhenDeviceOOM for AsyncCQ Bug: angleproject:8174 Change-Id: I28e7e8bdc26055f2ad03f2842676330430b579b1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4568283 Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Auto-Submit: Amirali Abdolrashidi <abdolrashidi@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Mark Lobodzinski c5282661 2023-05-24T15:33:19 Tests: Add Infinity Ops Trace Test: angle_trace_tests --gtest_filter=TraceTest.infinity_ops Bug: b/284273677 Change-Id: I19daa0a0e96a619ff3ec18074012cda213854947 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4566950 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi 9b1ff7b1 2023-05-25T14:13:13 Translator: Fix SPIR-V translation without "variables" flag This flag is now assumed to always be true for the SPIR-V (and MSL) translators. They use the collected variables during translation. Bug: chromium:1447314 Change-Id: I69d31ce8144aec0bd2a7263bad6e5a366e922740 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4567830 Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov d9192d9a 2023-05-25T14:43:41 android_helper sets return code to 1 when test json is missing e.g. FATAL failures / other crashes Bug: b/278585075 Change-Id: I01850e547d782c302658653780b93699e9e91ffa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4567831 Auto-Submit: Roman Lavrov <romanl@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Kenneth Russell aea88562 2023-05-19T16:52:43 Reland "Metal: Optimized BufferSubData per device" This reverts commit ee64836f702332adaca58d9f452063a04b2da955 , relanding the patch stack described there. Between patchsets 1 and 5: - The shadow buffer allocation has been replaced with a multimap of precisely-sized buffers, rather than rounding up buffer sizes. - Garbage collection of shadow buffers is triggered in three situations: - A certain number of context switches have occurred; this number was hand-tuned to avoid GC every frame. - A certain number of command buffer submissions has occurred; this number was hand-tuned to GC no more often than every few seconds on representative workloads. - The total size of the allocated shadow buffers is more than 1 MB, and either more than twice the size at the last garbage collection, or 64 MB more than at the last garbage collection. In this case, aggressive GC is performed in order to reclaim shadow buffers more quickly. Performance before and after these changes appears identical on microbenchmarks. On one Figma test case, comparing GPU memory allocated inside the BufferManager, peak consumption is decreased by over 75%, and steady-state consumption decreases by over 88%. Patchset 6 adds a needed workaround for a bug in the AMDMTLBronzeDriver affecting uploads of client-side data, and therefore some dEQP tests. It also streamlines the aggressive GC. Bug: angleproject:7544 Change-Id: I81b061f0b33c27fa403527fa12d626f4e9c88ebe Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4497413 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Yuxin Hu 6f2128a5 2023-05-25T10:45:08 Disable stencil write mask workaround on latest ARM The bug has been fixed in ARM r43. Bug: b/279715714 Bug: angleproject:7556 Change-Id: I01f08459ab90fed4eb1d57194cea3805d7868c18 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4566953 Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Alexey Knyazev 409bf134 2023-05-23T00:00:00 Metal: Adjust iOS and macCatalyst caps * Fix swapped iOS and macCatalyst versions for EXT_blend_func_extended and EXT_depth_clamp * Always use 13.1 as the lowest macCatalyst version Bug: angleproject:8121 Bug: angleproject:8047 Bug: angleproject:8015 Change-Id: I1f117de259d211cb8ce2463df59f8fee0e709ef5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4568323 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Roman Lavrov c80c74a5 2023-05-25T12:58:23 Skip honkai_star_rail on Intel/windows Consistenly making Intel perf bots red by getting stuck Bug: angleproject:8175 Change-Id: I96b31d201b5b161c89ba6654cea48becbbc35169 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4567829 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> Auto-Submit: Roman Lavrov <romanl@google.com>
Shahbaz Youssefi 93eee5d2 2023-05-18T16:33:25 Vulkan: Add the Sample decoration when sample shading The Vulkan spec was clarified that per-sample interpolation is not necessarily done when sample shading is enabled in the API. In this change, a SPIR-V transformation is added to add the Sample decoration to whatever varying is missing it when sample shading is enabled in the API. Bug: b/283017896 Change-Id: I121c740add6fc015c9140e6a04d37ea5300c8e57 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4544591 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Joanna Wang c121b013 2023-05-23T14:58:11 Change clang_format path in angle. Bug: chromium:1447924 Change-Id: I148f8861d1fdc47c25aaad659aa2effe1f1e0af4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4567824 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> Commit-Queue: Joanna Wang <jojwang@chromium.org>
Geoff Lang 9f1708b8 2023-05-24T16:26:44 GL: Check for VAO support before syncing from external ctxs Reading and writing VAO state was done unconditionally when syncing from external contexts. This caused crashes when trying to call null VAO-related function pointers. Bug: chromium:1447456 Change-Id: I866dd75a3f66d39d19c7da748d64a00ce02db5e6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4562937 Reviewed-by: Peng Huang <penghuang@chromium.org> Reviewed-by: Colin Blundell <blundell@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
angle-autoroll c9c858db 2023-05-25T10:01:12 Roll vulkan-deps from 25c584aa4cec to 354eac3ca8c8 (9 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/25c584aa4cec..354eac3ca8c8 Changed dependencies: * spirv-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/bdbfd019be..69155b22b3 * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/e7c6084fd1..f29e11dcb6 * vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/f31c10971f..9aafa3cf1a * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/05fc0fd4fb..27c61c8dd6 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,romanl@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: romanl@google.com Change-Id: I50553a902b51c743974cf02e6840556c95b10189 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4565873 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 0f27823f 2023-05-25T07:01:50 Roll Chromium from 74f8527011e4 to c0f2c5cab1b4 (544 revisions) https://chromium.googlesource.com/chromium/src.git/+log/74f8527011e4..c0f2c5cab1b4 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,romanl@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug 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/5c438afca9..40ec269a47 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/5ba94a7ca3..edbefcee3d * testing: https://chromium.googlesource.com/chromium/src/testing/+log/2fac9eb926..06f1c1ef67 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/72efcb2452..48cb81215e * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/ebdea73b14..271e8b9529 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..2ed88c5bbb * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/2568d4c1eb..456d085e75 * third_party/r8: h3mD8cigmlOPxMqeMRW8Z2Wb364bRLWUMdjhwWy_UPsC..dJL8gwEiDUoK5pirX6la4l7ofdBufwcc1HUaCv4CZ8cC * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/3ad8228c90..88e8637696 * tools/luci-go: git_revision:6ac770095bc0e289138f6f29aa91ff2f4886b81c..git_revision:2eaf659a45c8945c3e15f202c4e8a734243f8270 * tools/luci-go: git_revision:6ac770095bc0e289138f6f29aa91ff2f4886b81c..git_revision:2eaf659a45c8945c3e15f202c4e8a734243f8270 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/236d3f1df8..b7e3f403e3 * tools/skia_goldctl/linux: Axj26GvFKuSjh3j36_dDWFE_8GPzCBI8xMHB55-9KkwC..UMqOqE8nlXwo9xj56g4W9ySvvqo2Tsw3B6tWZLo19L8C * tools/skia_goldctl/mac_amd64: hPekni-3ILDb_vKt8AQPlSQuAt0AP4oGRbEK5ZKGTZ0C..vjY1ew6KN-bIFZEk7IbwPCAb6xZxib9uqLXMwbi8JLQC * tools/skia_goldctl/mac_arm64: Uj9i2aXWBfK915rIKB9UfFkjeqqE8FP9jdTvXxamubUC..twOZsJTmRSqlOwstPpWMhT_fXhiOaijMu24-UJLGK20C * tools/skia_goldctl/win: RrfT7u4je5UzYBYkRTDnhzRj0rYXgnyrmtB7YrD5I2oC..wveYksSfL51dPfdRZ5474IFmCMkL8gg6ygZxxPdBezAC Clang version changed llvmorg-17-init-10134-g3da83fba:llvmorg-17-init-12166-g7586aeab Details: https://chromium.googlesource.com/chromium/src/tools/clang/+/3ad8228c907ab5af58f49f4d093d8aef7768c198..88e8637696d07207b97a7482d87b06b3c8e998ed/scripts/update.py Bug: None Tbr: romanl@google.com Change-Id: Ic27a1cb6622557ce2caf051c58017e61eb53f81f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4564479 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Mike Schuchardt c18972fd 2023-04-05T10:22:38 Tests: Add Gangstar Vegas trace Test: angle_trace_tests --gtest_filter=TraceTest.gangstar_vegas Bug: b/280785771 Change-Id: Ia1d5de22d45979b44b0711fc510d2dfb7600b910 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4507340 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Charlie Lao 297687c6 2023-05-18T17:27:54 Vulkan: Reduce CPU overhead for uniform buffer change One of the common usage pattern is change uniform buffers and draw. Right now every uniform buffer change goes into ShaderResource dirty code path that rebuilds entire ShaderResource cache key and descriptor set etc. This CL keeps SHaderResource dirty code path, and will be used when program changes or framebuffer changes. But uniform buffer change will go down its own code path that only update uniform buffer related state. This CL along with prior two CLs reduced asphalt_9 average frame time (with multi context hacked away) from 5.375 ms to 5.2594 ms (reduced 2.15%). Bug: b/282194402 Change-Id: Ibae2895663918ddc10bf13bc559f1483f94d2e11 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4528314 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Roman Lavrov <romanl@google.com>
Charlie Lao 9445fbbe 2023-05-16T10:43:55 Vulkan: Move mWriteDescriptors out of DescriptorSetDescBuilder DescriptorSetDescBuilder has two data structures: mWriteDescriptors, which keeps track of "layout" of descriptorSet, and mDescriptorInfos, which is the actual cache key for descriptorSet. mDescriptorInfos will be updated every time buffer or image changes. But mWriteDescriptors is immutable with buffer/image, it is static per program executable (with exception of InputAttachment). Right now whenever there is a buffer or image change, we call into DescriptorSetDescBuilder and update both mWriteDescriptors and mDescriptorInfos. This CL moves mWriteDescriptors out of DescriptorSetDescBuilder, and stores it in ProgramExecutableVk. To deal with InputAttachment variation, ContextVk makes a copy of mWriteDescriptors when program is bound, and then update inputAttachment with framebuffer information. This not only removes unnecessary update of mWriteDescriptors, but also removes the requirement that mShaderBuffersDescriptorDesc has to reset and rebuild as a whole (because mWriteDescriptors keeps mCurrentInfoIndex which gets incremented as we build). This allows us to do further optimization in future to do piece meal update of mDescriptorInfos with only the changed data. Bug: b/282194402 Change-Id: I443c7c3b85b7a2e2e93c68d40ea102533c43f76a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4540280 Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Charlie Lao 2c836045 2023-05-18T12:00:41 Vulkan: Remove buffer/image tracking from DescriptorSetDescBuilder Right now DescriptorSetDescBuilder keeps an array of images and buffers as we build DescriptorSet cache key. Later on if we have a cache miss and allocated a new cache entry, we walk the array and tag the images and buffers with newSharedCacheKey. If we have a cache hit, the tracked images/buffers are unused and then cleared. This means the effort of keep track of these buffers are wasted when we have cache hit, which we expect to be most likely. This was initially implemented this way simply because of convenience, but there is really not a need to add another tracker for them, as they are readily available from context state anyway. This CL remove the tracking of images/buffers from DescriptorSetDescBuilder and replaced with context API to tag images and buffers with newSharedCacheKeywhen when we have a cache miss. Bug: b/282194402 Change-Id: I355c2fbabdfc573ce71c0a4281788c942d260271 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4539290 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev bdbcf763 2023-05-24T00:00:00 Compile ClampFragDepth on all backends Bug: angleproject:3970 Change-Id: I498f8c101e5939156eba6a071278f6ea912fee70 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4561897 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Geoff Lang dd25d33d 2023-05-24T11:22:15 Don't use system info collection in the GL backend on Android The only way to gather system info on Android is with Vulkan or an existing OpenGL context (which we have), so skip the call to angle::GetSystemInfo on Android and use the OpenGL strings that are already gathered. It also tends to crash when creating Vulkan instances on some devices. Make sure the ARM vendor ID is detected from the renderer strings. Bug: chromium:1447111 Change-Id: Ic5c4109b422ca240bf5e8fc5cef6a2dae6d7d29d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4562933 Reviewed-by: Peng Huang <penghuang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Vasiliy Telezhnikov <vasilyt@chromium.org>
Mark Lobodzinski ad386845 2023-05-24T11:14:12 Tests: Add Empires and Puzzles trace Test: angle_trace_tests --gtest_filter=TraceTest.empires_and_puzzles Bug: b/283500712 Change-Id: I3b4ed61ebe8948319ca74e79cb74053b554b0009 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4551449 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 24504dd1 2023-05-23T20:27:49 Tests: Add Kentucky Route Zero trace Test: angle_trace_tests --gtest_filter="*kentucky_route_zero*" Bug: b/284061674 Change-Id: Iab42008bfa3604e306628e90abc04b7ceb6fd4bd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4559458 Reviewed-by: Mark Łobodziński <mark@lunarg.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Alexey Knyazev 33e38862 2023-05-24T00:00:00 Vulkan: Limit clampFragDepth workaround to affected drivers Bug: angleproject:3970 Change-Id: I708591d86b8f2cb10d0cbdc7c14518fda45ac626 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4562134 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
angle-autoroll 7e2336b1 2023-05-24T10:02:28 Roll vulkan-deps from 8a3971e5e9c5 to 25c584aa4cec (6 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/8a3971e5e9c5..25c584aa4cec Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/a5bf69936d..9fbc561947 * vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/80b010b1e1..f31c10971f * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/8f4fc4c98a..05fc0fd4fb If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,romanl@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: romanl@google.com Change-Id: Icf83080013dfb5eebbf307f1d1095d7d389a2177 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4560841 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll cd904778 2023-05-24T07:58:22 Roll Chromium from 33c4f6d48650 to 74f8527011e4 (681 revisions) https://chromium.googlesource.com/chromium/src.git/+log/33c4f6d48650..74f8527011e4 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,romanl@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug 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/fa91c17478..5c438afca9 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/5d2ccbf93c..5ba94a7ca3 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/3c34ddbc10..2fac9eb926 * third_party/android_build_tools/bundletool: Xt6znihJ60Ym06wn163_2B0HOt2tNsV5fVy-BpYJZcMC..LbB0aRQ3VKjRJZmc_PD0VTZ1O34_zD92rh71aOEOEcEC * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/7a6ed2c936..ebdea73b14 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..b05d23a928 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/63d20c330b..2568d4c1eb * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/0928a9d14e..3ad8228c90 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/3a3ef7bb14..fa0546ccb6 * tools/memory: https://chromium.googlesource.com/chromium/src/tools/memory/+log/09f58c36cb..1084fb884e * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/b798465b70..236d3f1df8 * tools/skia_goldctl/linux: Y4KbWrn94Q3XMtUG5zAFQkKK2DY32rJV5Grv42AT5qoC..Axj26GvFKuSjh3j36_dDWFE_8GPzCBI8xMHB55-9KkwC * tools/skia_goldctl/mac_amd64: huUbnRIj6CyYWSe88yS4ODBXplfnN9iL6uyI1bzHY7oC..hPekni-3ILDb_vKt8AQPlSQuAt0AP4oGRbEK5ZKGTZ0C * tools/skia_goldctl/mac_arm64: kBju_chgeLThGXBkWpPEZT-bsQwUPPELuxpH0qlQ1yMC..Uj9i2aXWBfK915rIKB9UfFkjeqqE8FP9jdTvXxamubUC * tools/skia_goldctl/win: iaI7s2Phd7gvMbflj7i0DWmQtZoGldRf0TTQKnQn2tYC..RrfT7u4je5UzYBYkRTDnhzRj0rYXgnyrmtB7YrD5I2oC No update to Clang. Bug: None Tbr: romanl@google.com Change-Id: I44c2b0c1a1bb04814847b6414d80e291e1070105 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4560839 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Alexey Knyazev 934a25bc 2023-05-22T00:00:00 Vulkan: Implement EXT_depth_clamp Bug: angleproject:8047 Change-Id: I73244f5dcd6eeeb1889214ee3a611e4ecabbfe7e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4558744 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Cody Northrop fb32aef5 2023-05-21T20:49:06 Tests: Add Galaxy S23 deqp expectations Expectations for the following tests: angle_deqp_gles2_tests angle_deqp_gles3_tests angle_deqp_gles31_tests angle_deqp_khr_gles2_tests angle_deqp_khr_gles3_tests angle_deqp_khr_gles31_tests angle_deqp_khr_gles32_tests Bug: b/281128706 Bug: angleproject:8157 Change-Id: If69361db7b4c6b739a84d158320ea86eda2d14f2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4559448 Auto-Submit: Cody Northrop <cnorthrop@google.com> Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com>
Hailin Zhang c74dae15 2023-05-12T12:45:44 Vulkan: patch vertex attrib and shader input mismatch. opengl es spec didn't specified vertex attirb input data type mismatch with vertex input data type. For this change, it will change the attrib format to match the vertex input format. while keep the same data size. (expect normalized data) Bug: b/280241844 Change-Id: Ib28a18fe495b779d5bb0e8e43887bd36b0037dba Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4528299 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Hailin Zhang <hailinzhang@google.com>
Roman Lavrov 6d936bef 2023-05-18T11:51:05 Restore sync_restricted_traces_to_cipd upload progress bar https://crrev.com/c/4538368 suppressed stdout for all cipd invocations to reduce noise. This restores stdout piping to the calling process for uploads only, as cipd shows a useful progress bar during uploads. Bug: angleproject:8137 Change-Id: Ida7e43bc55af4dda1be768c65784fe3bc0656955 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4545407 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Brandon Schade 80e60bbc 2023-05-09T12:46:18 Validate non-precision qualifiers in GLSL shaders Add validation to reject non-precision qualifiers on struct members in GLSL shaders, as per the GLSL ES 3.2 specification, section 4.1.8: Structures Tests: KHR-GLES3*.shaders.negative.non_precision_qualifiers_in_struct_members Bug: angleproject:8045 Change-Id: I863ae631b09ff773a826d542f387072491489699 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4534656 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Brandon Schade <b.schade@samsung.com>
Mark Lobodzinski 9e47cbd3 2023-05-18T14:40:37 Capture/Replay: Rework trace EGLDisplay handling Refactor the trace-replay EGLDisplay handling to allow initializing the global EGLDisplay handle in the InitializeReplay4() body. This included adding support for eglGetCurrentDisplay() to the EGL-on- WGL shim. Test: angle_trace_tests --gtest_filter=infinity_ops Bug: b/282725258 Change-Id: I2319fd9a35f8fb9c0a7f10547ca39f49ce402b8d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4546267 Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Geoff Lang 6d3e5870 2023-05-17T16:42:47 Metal: Disable Metal support on NVIDIA GPUs NVIDIA GPUs are in a very small number of Macs and we don't have have adequate test coverage to properly support them. Add the disable_metal_on_nvidia feature to control support for NVIDIA at runtime. Also factor the support of GPU family 1 into a feature. Bug: angleproject:8170 Change-Id: I160036d710cc9e278eb77e351a483b9f5b69e8ce Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4544659 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Amirali Abdolrashidi ac4649ef 2023-05-17T12:50:59 Vulkan: Update last CRC check for pipeline cache * In GetAndDecompressPipelineCacheVk(), a mismatch in the final CRC check before decompression is now fatal. If the expected CRC is non-zero, the cache header data will be logged before crashing. The only exception is when the expected CRC is 0, in which case there will only be a warning about the CRC mismatch. Bug: b/246683126 Change-Id: Ic2eb882bcc692b2a8f026cc90a0185a29d48f382 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4545957 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Geoff Lang 42bd78b2 2023-05-23T14:21:14 Remove assertion in SyncEGL::onDestroy that the sync is valid When a egl::Sync objecct is created in egl::Display, it's wrapped in the RAII object angle::UniqueObjectPointer which calls onDestroy and the destructor on the sync when leaving scope due to an error. If the SyncEGL fails to initialize, it will still have onDestroy called. This patch makes sure that we don't assert in that case. Bug: chromium:1434602 Change-Id: I501a0173328e4d9d01474d1084c64ef178896f17 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4556167 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 7abc5248 2023-05-19T00:00:00 Vulkan: Enable VK_EXT_depth_clamp_zero_one Replaced the 'depth_clamping' workaround with the dedicated extension or explicit fragment depth clamping. Fixed: angleproject:3970 Bug: angleproject:8077 Change-Id: Ia7666fcb3e0e949922c13a3fd11b818cbc5a8e26 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4545084 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 2ec39fd2 2023-05-23T10:01:06 Roll vulkan-deps from dc49e5c6de1e to 8a3971e5e9c5 (8 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/dc49e5c6de1e..8a3971e5e9c5 Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/9caca7a17b..a5bf69936d * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/35b005a579..b95d065ec5 * vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/695887a994..80b010b1e1 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/1d74f4c7d1..8f4fc4c98a If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,romanl@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: romanl@google.com Change-Id: I0ce1b4ba93114b12aea1857cc781d3f9f934189a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4555343 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 98d6dd38 2023-05-23T08:09:21 Roll Chromium from 853c619b8b56 to 33c4f6d48650 (640 revisions) https://chromium.googlesource.com/chromium/src.git/+log/853c619b8b56..33c4f6d48650 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,romanl@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug 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/7f93a1e7ae..fa91c17478 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/2ab5e92e5f..3c34ddbc10 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..4f43388d90 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/3a5cc40813..63d20c330b * third_party/kotlin_stdlib: 5vxa94PP6aaNePK9IF8ZwAYbDA-08mk4nkPED5CMbFoC..z4_AYYz2Tw5GKikuiDLTuxxf0NJVGLkC3CVcyiIpc-gC * third_party/turbine: sTawWbD0GN8RYp6JHHFxxGNi2nNPvuNSuBjIpS4GaD0C..Foa7uRpVoKr4YoayCKc9EERkjpmGOE3DAUTWFLL7gKEC * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/4ee099ac1c..0928a9d14e * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/242e5a37e4..3a3ef7bb14 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/4d8da41eb0..b798465b70 No update to Clang. Bug: None Tbr: romanl@google.com Change-Id: I68ec050dbeda09dcef2e86e223b4a24b34d31927 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4555340 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi 3f633521 2023-05-18T21:27:00 Vulkan: Fix handling inactive unnamed I/O blocks in SPIR-V When an unnamed I/O block already exists, later inactive unnamed I/O blocks were not being added to the list of inactive varyings, causing the SPIR-V transformer to trip up Bug: b/283017896 Change-Id: Ida5b38e1a03da2b336d5904caa44f53dbdfb8aa3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4544590 Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
angle-autoroll ae0f0f47 2023-05-22T10:00:59 Roll vulkan-deps from 3600ed906bb4 to dc49e5c6de1e (10 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/3600ed906bb4..dc49e5c6de1e Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/d1517d64cf..9caca7a17b * spirv-cross: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross.git/+log/28b11e010a..12542fc6fc * vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/fec27a3f6e..695887a994 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/84788d43ee..1d74f4c7d1 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,romanl@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: romanl@google.com Change-Id: Ibd10e05ffce5a6d1e7b30adc4b44b2370e60d986 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4551448 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll a4b1d12c 2023-05-22T07:02:43 Roll Chromium from be870e411d55 to 853c619b8b56 (679 revisions) https://chromium.googlesource.com/chromium/src.git/+log/be870e411d55..853c619b8b56 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,yuxinhu@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug 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/8aefde05e4..7f93a1e7ae * buildtools/linux64: git_revision:6975103d9f59ed9f3cfbc6d2201298f2c2fde046..git_revision:e9e83d9095d3234adf68f3e2866f25daf766d5c7 * buildtools/mac: git_revision:6975103d9f59ed9f3cfbc6d2201298f2c2fde046..git_revision:e9e83d9095d3234adf68f3e2866f25daf766d5c7 * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/a4c3a6dc75..982e218cb8 * buildtools/win: git_revision:6975103d9f59ed9f3cfbc6d2201298f2c2fde046..git_revision:e9e83d9095d3234adf68f3e2866f25daf766d5c7 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/60112c1352..2ab5e92e5f * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..c6222c27ba * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/b0e8e7adbc..3a5cc40813 * third_party/fuchsia-sdk/sdk: version:12.20230518.3.1..version:12.20230520.1.1 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/c419c81c92..4ee099ac1c * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/182e9e0811..242e5a37e4 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/adeff0564b..4d8da41eb0 No update to Clang. Bug: None Tbr: yuxinhu@google.com Change-Id: I4924e9d31cc5c85413826ab87722e3bc77bc2b5e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4551447 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Cody Northrop c04ad8e0 2023-05-17T10:59:36 Tests: Add Honkai: Star Rail trace Test: angle_trace_tests --gtest_filter="*honkai_star_rail*" Bug: b/283129009 Change-Id: I4c41345b83b7ea2429bccb8a814994bcb13a7486 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4545308 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Brian Ho ea0b1b7b 2023-05-19T15:26:50 Selectively advertise base vertex and instance fns On newer Mali GPUs (Valhall), the glDraw*BaseVertex* implementations seem to be buggy and cause noticable artifacts. Chrome uses the presence of baseVertexBaseInstanceANGLE and baseInstanceEXT extensions to determine whether it can draw with a base vertex or to fallback to manually offsetting the vbo. This CL disables these extensions on Mali Valhall so that Chrome takes the fallback path instead to fix the visual artifacts. Bug: b/280931795 Change-Id: Ic27e37465283ca3338747b53aa7888c7eba4b7b8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4549682 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
angle-autoroll 383783de 2023-05-19T18:58:30 Roll VK-GL-CTS from a46ca6e9c7bb to f7a3350256a6 (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/a46ca6e9c7bb..f7a3350256a6 2023-05-19 piotr.byszewski@mobica.com Merge vk-gl-cts/opengl-es-cts-3.2.9 into vk-gl-cts/main If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll Please CC angle-team@google.com,yuxinhu@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: yuxinhu@google.com Change-Id: Ib94e9d357cfb896152d8de3fb080ee700ec776de Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4549603 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Roman Lavrov f382b244 2023-05-19T14:28:26 Add ci/linux-trace disabling logic to ANGLE script Currently disabled by this line in chromium/tools/build repo: https://crsrc.org/b/recipes/recipe_modules/angle/api.py;drc=e768c9b9c2a9b34346f9c009341761a034df7a00;l=91 I will remove that logic after this CL lands. This way we can decide whether to run this test inside ANGLE repo. Bug: angleproject:6085 Change-Id: I8efafb11149cda1fd47a5e9a95612e521823493a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4549681 Auto-Submit: Roman Lavrov <romanl@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Yuly Novikov 9208efb6 2023-05-19T16:56:59 Stop ANGLE Mac Intel 13.3 experiment Bug: chromium:1429033 Change-Id: I2a4cf72d68855c54b87fc33bc6b0c150ad5246ac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4549123 Commit-Queue: Roman Lavrov <romanl@google.com> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com>
angle-autoroll 18ff4555 2023-05-19T16:45:54 Roll VK-GL-CTS from 876d164bd88a to a46ca6e9c7bb (7 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/876d164bd88a..a46ca6e9c7bb 2023-05-19 piotr.byszewski@mobica.com Merge vk-gl-cts/opengl-cts-4.6.3 into vk-gl-cts/main 2023-05-19 ziga@lunarg.com Add depth bias constant and slope tests 2023-05-19 zzoon@igalia.com Add more tests for FSR with depth/stencil attachments on various cases. 2023-05-19 rgarcia@igalia.com Test multiple queries in PGQ tests 2023-05-19 rgarcia@igalia.com Avoid waiting for fences in primitives generated query tests 2023-05-19 piotr.byszewski@mobica.com Merge vk-gl-cts/vulkan-cts-1.3.6 into vk-gl-cts/main 2023-05-16 rgarcia@igalia.com For merge of bb2e68d9b5220e6eb4195002e56d61c79d2c8261 to main If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll Please CC angle-team@google.com,yuxinhu@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: yuxinhu@google.com Change-Id: I41a5d029e9db6941cfb3c42c2a11c10c8fab3540 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4549597 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Roman Lavrov 5c28a749 2023-05-18T19:20:56 Print signal to stdout before calling crash handler Doesn't fix anything but if deadlock described on the bug happens locally and stdout is piped to console (or line-buffered file), it's at least visible that a signal handler was invoked. Bug: angleproject:8080 Change-Id: I27e1b22cc269082682fd639ef087f1b8b14b26eb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4544588 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Auto-Submit: Roman Lavrov <romanl@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
angle-autoroll f52d2887 2023-05-19T10:01:17 Roll vulkan-deps from e7ec2c32c984 to 3600ed906bb4 (3 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/e7ec2c32c984..3600ed906bb4 Changed dependencies: * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/823209c89e..35b005a579 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/454f0f4650..84788d43ee 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,yuxinhu@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: yuxinhu@google.com Change-Id: If8f8ac5ac6bcfc6e1532e241a170faa209273f0b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4548154 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll c9029ddf 2023-05-19T07:00:45 Roll Chromium from bc320a94824d to be870e411d55 (839 revisions) https://chromium.googlesource.com/chromium/src.git/+log/bc320a94824d..be870e411d55 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,yuxinhu@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug 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/36246d88fa..8aefde05e4 * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/7454e17b0d..a4c3a6dc75 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/7e91557f2b..60112c1352 * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/1ab95012c7..7a6ed2c936 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..ac9d6ede9a * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/cdefe67b38..b0e8e7adbc * third_party/fuchsia-sdk/sdk: version:12.20230517.1.1..version:12.20230518.3.1 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/096dcd2735..c419c81c92 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/f4fa549a2b..182e9e0811 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/c278749207..adeff0564b No update to Clang. Bug: None Tbr: yuxinhu@google.com Change-Id: I02b5540faaaf176bb5765af2467be5c25a5bc247 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4548152 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Chris Dalton 7d4c6d1d 2023-05-09T12:19:54 Allow glDelete* while PLS is active Banning glDelete* is extremely dangerous. It will almost definitely cause memory leaks in client code, and it makes JS garbage collection needlessly complex. Instead, specify that PLS is implicity deactivated if the client deletes anything that is attached to the current draw framebuffer during a PLS rendering pass. Bug: chromium:1421437 Change-Id: I3a18ee6b5d5567431e6fa3eccea58cb049845502 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4521436 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Chris Dalton <chris@rive.app>
Shahbaz Youssefi b76166d0 2023-05-18T09:57:25 Vulkan: Separate image and sampler 2D view of 3D features The sampler feature is used to determine if EGL_KHR_gl_texture_3D_image can be exposed. The image feature is used to support base GLES 3.1 storage images. Bug: b/274478146 Change-Id: Ifb283633078ace7ee65f8aafe756d0a02b727bd7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4545005 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Mark Lobodzinski c9ce8f33 2023-05-18T16:20:04 Revert "Don't export ANGLE platform methods." This reverts commit 7a11f4415e37ffba18023eaf1722d3f568ee12ba. Reason for revert: Running Android games using ANGLE results in crashes or hangs. Original change's description: > Don't export ANGLE platform methods. > > These functions are loaded through eglGetProcAddress. We don't need > to export these extra symbols and increase our binary size. > > Bug: chromium:1445969 > Change-Id: I494bbcb86973f167e8245b56e6eb73da7eab69f5 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4538367 > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Bug: b/283233503 Change-Id: I42418c0dabc440fb13ce3d48d63b2622b9edd15e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4544216 Commit-Queue: Mark Łobodziński <mark@lunarg.com> Reviewed-by: Mark Łobodziński <mark@lunarg.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Shahbaz Youssefi 80dd54f9 2023-05-17T22:16:59 Vulkan: Enable VK_EXT_image_2d_view_of_3d and set flag Based on a change by Yiwei Zhang <zzyiwei@chromium.org> Enabling the extension was missed from https://chromium-review.googlesource.com/c/angle/angle/+/3648586, and some implementations do rely on the feature enablement (e.g. RADV). This also fixes the VVL violations on satisfied implementations. Additionally, the VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT flag is always set on 3D images when this extension is supported; it is needed for both sampled and storage images, not just storage images. Bug: b/274478146 Change-Id: Ibc210275e2d39ac0c54d1ae4c2451a5402360972 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4544762 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
angle-autoroll d238e8b9 2023-05-17T21:20:43 Manual roll Chromium from 79f85a216141 to bc320a94824d (1646 revisions) Manual roll requested by ynovikov@google.com https://chromium.googlesource.com/chromium/src.git/+log/79f85a216141..bc320a94824d 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,yuxinhu@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug 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/44a4b24b05..36246d88fa * buildtools/linux64: git_revision:26aa46c283e40199b6f847ecca088dcea7099ded..git_revision:6975103d9f59ed9f3cfbc6d2201298f2c2fde046 * buildtools/mac: git_revision:26aa46c283e40199b6f847ecca088dcea7099ded..git_revision:6975103d9f59ed9f3cfbc6d2201298f2c2fde046 * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/f2cb09f94e..7454e17b0d * buildtools/third_party/libunwind/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/129773dde5..55ceecab99 * buildtools/win: git_revision:26aa46c283e40199b6f847ecca088dcea7099ded..git_revision:6975103d9f59ed9f3cfbc6d2201298f2c2fde046 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/9d1f44540f..7e91557f2b * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/534624edd1..72efcb2452 * third_party/android_build_tools/aapt2: fFfHyo80O9opPFsbOisSHF4d3tV4GGxLgxXWzGRuY2IC..aidBg3POIv_jPt-kZ7O9aQ6-UdFSuLd8uBgGg4REBjsC * third_party/android_build_tools/lint: MTFSl9JaPMnHhDPun-Ry9w5lM4HeEVlSFebjgzoraCQC..AS57ntD4VO2MAIu0pkI0b3c3cFkdGt0cAkmSkiRimZkC * third_party/android_build_tools/manifest_merger: VcQAPv15h63jZcRobvLMBWCiuDXUdmwB8OH1x6W1aJMC..HW7DJwNOXl50MEneaQnyD1Yg1sy_0Eej5E1nKepXq40C * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..f1f7a299cb * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/a1e578320b..cdefe67b38 * third_party/fuchsia-sdk/sdk: version:12.20230512.2.1..version:12.20230517.1.1 * third_party/turbine: j0GanRK31QhKNs04PYT0D3ls32n6IrjrAL8bR4dv9jMC..sTawWbD0GN8RYp6JHHFxxGNi2nNPvuNSuBjIpS4GaD0C * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/062d938956..096dcd2735 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/d0e45e54c3..f4fa549a2b * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/25bb7e161f..c278749207 No update to Clang. Bug: angleproject:8081 Tbr: yuxinhu@google.com,ynovikov@google.com Change-Id: I6d78dc2cd54eac092554bb3792a32561a39f00ff Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4545305 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Peng Huang a764d079 2023-05-17T10:38:57 Enable global share context lock for chrome Chrome only uses share contexts in GPU main thread, however chrome use EGLImage to share texture cross share group between threads. ANGLE will hold the global lock for EGL Image related APIs, however some gl calls will need to access EGLImage as well. for example: glDeleteTextures() glDeleteFramebuffers() will release resources which are associated with EGLImage. Bug: chromium:1444690,chromium:1444167,chromium:1394379 Change-Id: Icff5d13fb94f3576b59085ead90f72de4a2482a7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4542990 Commit-Queue: Peng Huang <penghuang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Chris Dalton 45f91a8c 2023-05-08T13:11:44 Deinitialize PLS planes when their texture is deleted The spec originally called for PLS planes to be converted to memoryless when their texture was deleted, but this is not compatible with WebGL, which does not support memoryless planes. Change the behavior to deinitialize them instead. This change requires the addition of a new observer message, angle::SubjectMessage::TextureIDDeleted, which PLS uses to deinitialize a plane when the app deletes its texture. Bug: chromium:1421437 Change-Id: I58fd91003747160f0a1abc1a8a7a87668890ba1f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4518565 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Chris Dalton <chris@rive.app>
angle-autoroll 3aaa894c 2023-05-18T10:01:13 Roll vulkan-deps from 0a5e3dd5703b to e7ec2c32c984 (7 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/0a5e3dd5703b..e7ec2c32c984 Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/f697b55c92..d1517d64cf * spirv-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/268a061764..bdbfd019be * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/80f699a5d7..454f0f4650 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,yuxinhu@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: yuxinhu@google.com Change-Id: I260f074e5be6ba832c5d8074c2b8e114e13c198d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4546572 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll e5ffe21a 2023-05-18T10:01:22 Roll SwiftShader from 28718d8b4108 to f549d5e6c663 (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/28718d8b4108..f549d5e6c663 2023-05-17 natsu@google.com Fix host build with llvm16 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC angle-team@google.com,yuxinhu@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: yuxinhu@google.com Use-Permissive-Angle-Pixel-Comparison: True Change-Id: I764e5976d2ff1e7c5668e6eaf74a136d42a13316 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4546711 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Mark Lobodzinski 8fdb164b 2023-05-11T10:03:57 Capture/Replay: Get and use actual EGLDisplay in trace ANGLE traces were using ANGLE_NO_DISPLAY for EGLDisplay args in traces. After the EGLSyncMap was added this caused error messages in Android and Linux playback of some traces. Added a global EGLDisplay to traces and initialized it with the proper value. Test: angle_trace_tests --gtest_filter=infinity_ops Bug: b/282725258 Change-Id: I1e6522cd4fdfee136c1e296805dac9d9f71256f3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4534096 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Geoff Lang bcbf23c5 2023-05-16T11:08:13 When loading SwiftShader on Mac, look in "Libraries" If ANGLE is statically linked into Chrome, SwiftShader's dylibs will be in the Libraries folder. Search in both the current module directory and the Libraries folder to handle both cases. Bug: chromium:1445969 Change-Id: I1d6ca3bb7b77fe0c23cb932c95f22f1754eaf9e5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4538366 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>