Log

Author Commit Date CI Message
Igor Nazarov 7d1a401b 2023-01-17T18:45:55 Vulkan: Fix freeing not completed Secondary Command Buffers. Problem: - Protected Context flushes its commands to the Protected Primary Command Buffer; - Unprotected Context flushes its commands to the Unprotected Primary Command Buffer; - Context with different "egl::ContextPriority" may flush commands into different Primary Command Buffers. - Secondary Command Buffers from all Contexts end-up in the single "CommandBufferRecycler::mSecondaryCommandBuffersToReset" list; - One of the Contexts submits its Primary Command Buffer, and attaches current "mSecondaryCommandBuffersToReset" list to the "CommandBatch"; - Secondary Command Buffers of other Contexts may be collected and later freed by "SecondaryCommandPool" without submitting/completion corresponding Primary Command Buffers. Fix: - Moving "mSecondaryCommandBuffersToReset" to the new "SecondaryCommandBufferCollector" class. - Separate "SecondaryCommandBufferCollector" instance is stored in the "CommandQueue" for each current Primary Command Buffer. Additionally fixes "asyncCommandQueue" related problem: "releaseCommandBuffersToReset()" may get outdated results if flush is not yet executed in the "asyncCommandQueue" thread. Bug: angleproject:6100 Change-Id: I7df161ac1f999fb34d4eccaebb603c58ecb1ac11 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4334579 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Igor Nazarov 9b6368cc 2023-03-14T14:48:30 Vulkan: Fix freeing Secondary Command Buffers from wrong thread. Problem: - Secondary Command Buffers are freed in the "CommandQueue" class. - This may happen from any Context thread that calls "checkCompletedCommands()" or "finish<*>()" methods. - As the result, one Command Buffer may be freed from one thread, while other Command Buffer from the same "VkCommandPool" is allocated/reset/recorded in the other thread. Vulkan spec demands external "VkCommandPool" synchronization for any modifications (begin/end/reset/free/cmd) on its "VkCommandBuffer"s. Fix: - Added new "rx::vk::SecondaryCommandPool" class that replaces the "rx::vk::CommandPool" wrapper. - This class has "collect()" method for storing "VkCommandBuffer"s. Collected buffers are freed from the correct thread on the next "allocate()" call. This CL only fixes the problem, keeping Secondary Command Buffer memory management as is (allocate/free single buffer without reuse). In the future CLs this behavior may be changed (reuse buffers, reset/free entire pools). Bug: angleproject:6100 Change-Id: If938416c4df4fe55f0cfb418b6759721ac53098b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4334577 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Igor Nazarov 29f80eda 2023-03-15T14:59:26 Vulkan: Hot fix crash when using Invalid VkSemaphore Object. Problem started after the commit: b194c21ad30145ca15153a93425a37a8211df373 Vulkan: Enforce ContextPriority in ShareGroup and with EGLImage Happens only with enabled "asyncCommandQueue" feature: - "RendererVk::submitPriorityDependency()" creates "Vk::Semaphore" object on the stack. - Then submits this Semaphore with "queueSubmitWaitSemaphore()" method. - "vk::Semaphore" passed to the "CommandProcessor"s "enqueueSubmitOneOffCommands()" method where stored in the "CommandProcessorTask". - Stack "vk::Semaphore" object garbage collected by the "RendererVk" and then destroyed. - "CommandProcessorTask" now points to the invalid memory. This CL changes usage of "vk::Semaphore" and "vk::Fence" pointers in the "CommandProcessor.h" classes to Vulkan Handles. This will make API consistent, fix this problem, and avoid similar problems in the future. Issue discovered while testing ANGLE as a system driver on S906B with "asyncCommandQueue" enabled. Several system processes crashed with VVL: VUID-VkSubmitInfo-pWaitSemaphores-parameter(ERROR / SPEC):msgNum: -1328048864 - Validation Error: [ VUID-VkSubmitInfo-pWaitSemaphores-parameter ] Object 0: handle = 0xb4000078c1aab430, type = VK_OBJECT_TYPE_INSTANCE; | MessageID = 0xb0d79520 | Invalid VkSemaphore Object 0xb400007831740b98. The Vulkan spec states: If waitSemaphoreCount is not 0, pWaitSemaphores must be a valid pointer to an array of waitSemaphoreCount valid VkSemaphore handles (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-VkSubmitInfo-pWaitSemaphores-parameter) Bug: angleproject:8039 Change-Id: I8818288b9783b5c5a7970bf82ec721452ae57471 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4339758 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Igor Nazarov 12b3d52d 2023-03-10T17:02:55 Prevent bugs in "FastVector" class. FastVector does not call destructors when resizing down and constructors when resizing up. This may cause reuse of previous values after resizing up and prevent releasing resource in destructors. Above problems only relevant for non trivially constructible/destructible types. For performance reasons (chromium:1417087) this CL disables using trivially destructible types at all and adds special resizing methods for non trivially constructible types. Almost all uses of FastVector was already using trivially destructible types. Except "angle::FixedVector" used in "rx::vk::SubpassVector<>". However, "angle::FixedVector" is unnecessarily calls "clear()" in the destructor. This CL removed "clear()" and made the destructor trivial. All non trivial constructor cases are limited to "angle::spirv::BoxedUint32<>" used in "angle::spirv::FastVectorHelper<>". No problems found because of the possibility to reuse previous values. All "resize(count)" methods replaced with special versions. Therefore, this CL does not fix actual bugs, but rather prevents incorrect use in the future. Bug: angleproject:8021 Bug: chromium:1417087 Change-Id: Id65d75575f2f582450b1cc45dc6b1f2bf3bc5289 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4328286 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Yuxin Hu 6ea6b360 2023-03-15T13:49:02 Fix allowed_keywords dEQP test failures Bug: b/272756897 Bug: angleproject:7592 Change-Id: I12f498f4ef0a1fa6da7d45345a4cb9e208bd9f03 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4343518 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Roman Lavrov 50dec716 2023-03-17T11:39:15 Linux skips RegisterContextCompatibilityTests altogether. It is already effectively disabled by skipping all configs but that still makes egl* calls leading to sporadic process corruption due to loading desktop drivers under xvfb. Note that it currently fails to register tests on all platforms as RegisterContextCompatibilityTests is called after TestSuite instantiation which leads to tests not being registered at all. +some cleanups Bug: angleproject:8083 Change-Id: I075dc67b73d627548efb3f80186ec408481e2707 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4348334 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Alexey Knyazev f8c14183 2023-03-13T00:00:00 Implement EXT_depth_clamp * Added depthClamp to the RasterizerState * Added DepthWriteTest end2end tests covering both clipped and clamped depth writes Capture * Updated serialized rasterizer state * Updated CaptureMidExecutionSetup OpenGL * Requires GL 3.2 or ARB_depth_clamp on desktop contexts * Maps to EXT_depth_clamp on ES D3D11 * Maps to the opposite of D3D11_RASTERIZER_DESC.DepthClipEnable * The new tests uncover several edge cases where a workaround is needed to implement unextended OpenGL semantics on top of D3D Metal * Maps to the setDepthClipMode command Bug: angleproject:8047 Bug: angleproject:8077 Change-Id: I1b3448e5b84443e4be18af9bc22d2f8495ac8267 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4347753 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Igor Nazarov 21a3367a 2023-03-17T00:56:18 Tests: Reduce load of computation heavy tests for Swiftshader. Affected tests are very core heavy and may load all CPU cores. LUCI BOT is running multiple tests in parallel. Having such heavy tests increases containment for CPU cores. As result, some tests may take a lot more time to complete and even hit timeout (currently 60 sec). Typical time to complete all tests on the LUCI BOT: With this tests disabled: 295 sec enabled: 475 sec (+180 sec or +61%) Time to complete all tests on the local machine: Normal tests: Tests completed in 173.040861 seconds Tests completed in 184.974704 seconds Tests completed in 171.654014 seconds Reduced load: Tests completed in 127.693891 seconds Tests completed in 125.536354 seconds Tests completed in 128.236671 seconds Disabled tests: Tests completed in 124.614823 seconds Tests completed in 119.456267 seconds Tests completed in 118.890189 seconds This CL instead of disabling, reduces the load for Swiftshader. Bug: chromium:1424783 Bug: angleproject:8039 Change-Id: I44ed6a6c8322033b1d2c3e9e52a06fe1bb74864c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4345872 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Charlie Lao <cclao@google.com>
angle-autoroll 97324457 2023-03-17T10:01:41 Roll SwiftShader from fa0e42592666 to 7d001b3fac09 (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/fa0e42592666..7d001b3fac09 2023-03-17 bclayton@google.com Fix SPIRV_SHADER_ENABLE_DBG 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: I2eaeec57fd45978098fc4e2534021282af97ad08 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4347668 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 72c18fe6 2023-03-17T10:01:46 Roll vulkan-deps from 88a74be445b7 to 250e3914595d (6 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/88a74be445b7..250e3914595d Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/cd2082e058..ef77cf3a92 * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/22407d7804..011d7a4ac0 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/9c87e01a4f..1fe72708f7 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: Ia0124ebfacf4e6c058f605c8e11a4bd1381872b0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4348871 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll aecfcefc 2023-03-17T07:01:30 Roll Chromium from 0abde2e3b92a to 7a04676dce36 (552 revisions) https://chromium.googlesource.com/chromium/src.git/+log/0abde2e3b92a..7a04676dce36 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/a3aa92a8ab..2bf4270421 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/6f568a60b0..ac6f095ab3 * buildtools/linux64: git_revision:fe330c0ae1ec29db30b6f830e50771a335e071fb..git_revision:77014c1590164715fff8f3f3d3c77e9ff01b4d70 * buildtools/mac: git_revision:fe330c0ae1ec29db30b6f830e50771a335e071fb..git_revision:77014c1590164715fff8f3f3d3c77e9ff01b4d70 * buildtools/third_party/libc++/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/124c7ee3fc..afb9e77fdf * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/10804337f2..de45956e5c * buildtools/third_party/libunwind/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/6289a2147a..2b438f460b * buildtools/win: git_revision:fe330c0ae1ec29db30b6f830e50771a335e071fb..git_revision:77014c1590164715fff8f3f3d3c77e9ff01b4d70 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/fb89ba8b56..545a98d98d * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..4ca6b4649b * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/3408652be0..3f3e2f789e * third_party/fuchsia-sdk/sdk: version:12.20230316.0.1..version:12.20230316.3.1 * third_party/r8: BSk2ZOJgKl80RawP4WlbE938iWkJnsZmJ-6RzW6u2IsC..wqg46lewrSzPeyEPseXIDUvMdMjmf74eLWhGvChH6VEC * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/998617f817..bdb6d43dc1 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/605d18db44..9bb4e2345e * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/7424e47c9d..b87bb2fac8 Clang version changed llvmorg-17-init-3874-g93a2fecc:llvmorg-17-init-4759-g547e3456 Details: https://chromium.googlesource.com/chromium/src/tools/clang/+/998617f817d50216e4e31c6d90692555573f717d..bdb6d43dc1e6a1d0500ee96bdb46a4e2d06c1352/scripts/update.py Bug: None Tbr: yuxinhu@google.com Change-Id: I3f3c58fba86d97ae3c6215c036dd65c32a794f4e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4348868 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Yiwei Zhang 12aefbc0 2023-03-16T04:43:38 Vulkan: add MESA Virtio-GPU Venus driver feature conditions Bug: b/267576238 Change-Id: I5f0c479b23cd3465ca7560966bb4d98edf4c40df Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4342819 Auto-Submit: Yiwei Zhang <zzyiwei@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 108c0cef 2023-03-16T10:01:18 Roll SwiftShader from 6c1ab2e36382 to fa0e42592666 (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/6c1ab2e36382..fa0e42592666 2023-03-15 bclayton@google.com Update Marl to 9c689c9a8 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: Ida20b3c2c8cd3170817fa7d3d07fdc57d7ac21a5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4345110 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll d11aa33b 2023-03-16T10:01:27 Roll vulkan-deps from 46e5f8237dea to 88a74be445b7 (8 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/46e5f8237dea..88a74be445b7 Changed dependencies: * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/25f6c0cea5..9743701ed5 * vulkan-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/d732b2de30..65ad768d86 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/19a30b57ef..9c87e01a4f 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: I9565c1fef747b736e85781206e1a763bac5b1985 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4344970 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 80bdfe83 2023-03-16T09:00:41 Roll Chromium from d828200ebd12 to 0abde2e3b92a (587 revisions) https://chromium.googlesource.com/chromium/src.git/+log/d828200ebd12..0abde2e3b92a 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/846fbc899d..a3aa92a8ab * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/df1b9ef691..6f568a60b0 * buildtools/third_party/libc++/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/24a1797460..124c7ee3fc * buildtools/third_party/libunwind/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/d101cb5933..6289a2147a * testing: https://chromium.googlesource.com/chromium/src/testing/+log/76015e6d5f..fb89ba8b56 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/c25f4dc9c2..5a920a24ca * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/6791475d69..34499ffdd4 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..5bda427934 * third_party/fuchsia-sdk/sdk: version:12.20230314.3.1..version:12.20230316.0.1 * third_party/r8: snzp0LrrAYYZZjXt-s8-UCas9JJRk9qFtiDHIVIr64EC..BSk2ZOJgKl80RawP4WlbE938iWkJnsZmJ-6RzW6u2IsC * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/874d7aec21..998617f817 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/af2f30372c..605d18db44 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/10fbacb0bd..7424e47c9d No update to Clang. Bug: None Tbr: yuxinhu@google.com Change-Id: I7b84e246badbc0460af20f9fc520eaf8d2e7318b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4344969 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Charlie Lao f4e71351 2023-03-14T14:55:04 Vulkan: Switch acquireAndUpdate to use Buddy pool Based on survey of all app traces we have, it is common that we end up with BufferVk::acquireAndUpdate even though the buffer was created with STATIC usage. This is mostly due to glBufferSubData call on the STATIC usage buffers and on ARM we most likely end up with acquireAndUpdate. Similarly, we also getting into ghostMappedBuffer and mapRangeImpl with STATIC usage buffers, even though with less app traces. Since the usage pattern usually repeats, using generic allocation algorithm has performance penalty. This CL moves these usage to buddy algorithm to ensure alloc/free are fast. This CL and previous CL crrev.com/c/4327290, reduces efootball_pes-2021 frame time from 4.2 ms to 2.87 ms, achieves parity with native GLES on pixel 7 pro. Bug: b/271915956 Change-Id: I56e0195181c77a3130513c74ec8a5075b2b29ea4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4321870 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Charlie Lao 4c157b4b 2023-03-14T18:45:38 Vulkan: Switch staging buffer to Buddy algorithm Staging buffer should be considered as dynamic and uses buddy allocator. Bug: b/271915956 Change-Id: I7cbe3765fdae120582034b24376560043e007e67 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4327290 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Austin Eng a8401f03 2023-03-15T09:29:14 Mark the context as needing flush in TextureGL set*Image operations Bug: chromium:1181068, chromium:1418291 Change-Id: I70b158dcec54edf20b44fcc6169d1fc1d86a0de7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4341190 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Austin Eng <enga@chromium.org>
angle-autoroll 6fb7883d 2023-03-15T10:01:16 Roll SwiftShader from 64e470f7b9b0 to 6c1ab2e36382 (3 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/64e470f7b9b0..6c1ab2e36382 2023-03-14 jif@google.com Update LLVM 16 scripts 2023-03-14 jif@google.com Copy verbatim the scripts for updating LLVM 10. 2023-03-14 jif@google.com Update URL for gerrit authentication in README.md 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: Ice2935a7b7a0b975a34b018066b2cc8d6bc7dd5e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4339617 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 6c38e596 2023-03-15T10:01:04 Roll vulkan-deps from 6269f2d7cf86 to 46e5f8237dea (7 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/6269f2d7cf86..46e5f8237dea Changed dependencies: * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/dc32470ff1..22407d7804 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/20e85d7f2b..19a30b57ef 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: I96fa0eff624ad0dfb8df779052bf648434ca8388 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4339148 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 756d592d 2023-03-15T08:35:48 Roll Chromium from ce6a8c2bfc28 to d828200ebd12 (596 revisions) https://chromium.googlesource.com/chromium/src.git/+log/ce6a8c2bfc28..d828200ebd12 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/e516c1e812..846fbc899d * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/728a49e56b..df1b9ef691 * buildtools/third_party/libc++/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/2c26bce6b0..24a1797460 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/a1bbf92c59..76015e6d5f * third_party/android_build_tools/lint: _XhNBPsSXTzuwyrRGz4aM29jhQdbk2f-KPyVyhmYHwAC..UwgKmRuzPgo_NJFKTlrK_7OSgm2s-sVVb7Uz4jER_soC * third_party/android_build_tools/manifest_merger: -MEtSi1dPRGwJdR_aJbVAJ75_Kb8QMDJXBXrRIQlO70C..lC0-JZAP05FMcCXlQn9Oej4oD6ytlLkFQEnExeLuAWkC * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..f471ada82a * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/d9e2d47985..3408652be0 * third_party/fuchsia-sdk/sdk: version:12.20230312.3.1..version:12.20230314.3.1 * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/6d3f6aa0f8..5edb52d430 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/72336fa596..874d7aec21 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/3ff9be3816..af2f30372c No update to Clang. Bug: None Tbr: yuxinhu@google.com Change-Id: Icf6e39da4318fa2e5de434696517fcecb06d7d8d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4339145 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Charlie Lao 4982b903 2023-03-14T19:56:51 Revert "Vulkan: Remove inUseAndRespecifiedWithoutData from BufferVk" This reverts commit 755bfe471d23bc2aac5e78493537801dc5f90792. Reason for revert: Causing flaky on pixel 6 angleproject:8082 Original change's description: > Vulkan: Remove inUseAndRespecifiedWithoutData from BufferVk > > BufferVk::setDataWithMemoryType() has one optimization that it tries to > detect glBufferData(target, size, nullptr, usage) and if existing > storage is busy, it immediately reallocate storage. With the > optimization in previous CL (crrev.com/c/4317488), the storage reuse > logic should detect if we can reuse the storage or not. If the size > matches the existing storage's size, then there is no reason we can not > reuse existing storage. Later on when glBufferSubData or > glMapBufferRange is called, there are optimization in those calls that > will detect if we should reallocate storage or not as the further > optimization. This CL removes this check and replies on the other > optimization to handle the storage reallocate (shadowing) if necessary. > This simplifies code and also potentially avoids storage reallocation in > certain usage cases. > > This CL also fixes a test bug in > BufferDataTestES3.BufferDataWithNullFollowedByMap that was calling > glMapBufferRange with MAP_UNSYNCHRONIZED_BIT but incorrectly expecting > GL to do synchronization. > > Bug: b/271915956 > Change-Id: I7901687b3e3e262e77699f14eb8602d8a57eda3e > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4322048 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Charlie Lao <cclao@google.com> > Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Bug: b/271915956 Change-Id: Ie5716b609ab96b96afbe5927f20dfcf2bf5d4db6 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4338263 Auto-Submit: Charlie Lao <cclao@google.com> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Geoff Lang a8720455 2023-03-10T13:48:03 D3D11: Add logic to disassociate EGL image storages. The TextureStorage classes for External and EGLImages were missing the logic to disassociate from images. This lead to the images continuing to hold references to deleted storages. Bug: chromium:1415330 Change-Id: I8303f6751d87a9b0a52993c7d4e9509b086b93f3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4328347 Reviewed-by: Peng Huang <penghuang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Austin Eng 9c167fd2 2023-03-14T10:37:39 Mark the context as needing flush in TextureGL copy/blit operations Bug: chromium:1181068, chromium:1418291 Change-Id: Ibce7d27ba33e7ed3a05ea0226ef60aa31682286a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4337957 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Chris Dalton 513ca723 2023-03-13T14:30:20 Delete GL_LOAD_OP_DISABLE_ANGLE from PLS This load op makes the PLS spec and WebGL implementations unnecessarily complex. Bug: chromium:1421437 Change-Id: Iab02a8b02083899c6cc345ecb25b88c5871611c9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4335148 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Chris Dalton <chris@rive.app> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 5103c3e6 2023-03-14T10:01:04 Roll vulkan-deps from d17e7dad8e87 to 6269f2d7cf86 (22 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/d17e7dad8e87..6269f2d7cf86 Changed dependencies: * spirv-cross: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross.git/+log/7512345f61..d26c233e1c * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/b029037aaa..25f6c0cea5 * vulkan-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/a3dd2655a3..d732b2de30 * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/eb13094254..dc32470ff1 * vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/5bcfa1605e..a7bc1fe90f * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/38341564f5..20e85d7f2b 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: Icc8a7895a958050543c4b913f4dca8d797824f2c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4334900 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll e1935fdd 2023-03-14T10:01:16 Roll SwiftShader from 3764eb85917a to 64e470f7b9b0 (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/3764eb85917a..64e470f7b9b0 2023-03-13 dvet@google.com Fix out-of-bounds operand access in image write. 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: Ie20e3177b03c4517e542d0a3143ea0102c7b4a7a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4337718 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 4abfa52e 2023-03-14T07:03:49 Roll Chromium from 2bcf4b3eb3f2 to ce6a8c2bfc28 (1220 revisions) https://chromium.googlesource.com/chromium/src.git/+log/2bcf4b3eb3f2..ce6a8c2bfc28 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/01965a3637..e516c1e812 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/1e2d30f5e4..728a49e56b * buildtools/third_party/libc++/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/ae04d7cb7d..2c26bce6b0 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/fc45f92fc4..a1bbf92c59 * third_party/android_build_tools: https://chromium.googlesource.com/chromium/src/third_party/android_build_tools/+log/a102d977b6..fa16e60e96 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..cd2103b7d4 * third_party/colorama/src: https://chromium.googlesource.com/external/colorama.git/+log/799604a104..3de9f013df * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/a9a7eecf37..d9e2d47985 * third_party/fuchsia-sdk/sdk: version:12.20230308.3.1..version:12.20230312.3.1 * third_party/r8: QcJGU2P6jjudE2LELurmeujLPwQhvk7OD5AWGlLIzrYC..snzp0LrrAYYZZjXt-s8-UCas9JJRk9qFtiDHIVIr64EC * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/2b181989bf..72336fa596 * tools/luci-go: git_revision:e260f2e6d3531f534378dd1017e140374ba8df48..git_revision:320bf3ed60cd4d24549d0ea9ee3a94394f2665ce * tools/luci-go: git_revision:e260f2e6d3531f534378dd1017e140374ba8df48..git_revision:320bf3ed60cd4d24549d0ea9ee3a94394f2665ce * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/70c814239b..3ff9be3816 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/6bc78c3c28..10fbacb0bd No update to Clang. Bug: angleproject:6430,angleproject:7079 Tbr: yuxinhu@google.com Change-Id: Iee4e61b1b12cb074cf13ef091046cbca2325fada Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4336744 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Alexey Knyazev b26b01a2 2023-03-09T00:00:00 Implement EXT_render_snorm Bug: angleproject:8048 Change-Id: Id01beaea9565f8ab374c732fef70ec0ac0d8743e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4334303 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Alexey Knyazev bf5e9dbc 2023-03-09T00:00:00 GL: Reset clip origin before scissored clears Clip origin must not affect scissor box but some drivers flip it for clear operations. Added capture/replay support for ClipControl. Bug: angleproject:8066 Change-Id: I9292cb4945b49c56c80da4c5813e89df3453b6b6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4328267 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Charlie Lao 755bfe47 2023-03-08T14:31:33 Vulkan: Remove inUseAndRespecifiedWithoutData from BufferVk BufferVk::setDataWithMemoryType() has one optimization that it tries to detect glBufferData(target, size, nullptr, usage) and if existing storage is busy, it immediately reallocate storage. With the optimization in previous CL (crrev.com/c/4317488), the storage reuse logic should detect if we can reuse the storage or not. If the size matches the existing storage's size, then there is no reason we can not reuse existing storage. Later on when glBufferSubData or glMapBufferRange is called, there are optimization in those calls that will detect if we should reallocate storage or not as the further optimization. This CL removes this check and replies on the other optimization to handle the storage reallocate (shadowing) if necessary. This simplifies code and also potentially avoids storage reallocation in certain usage cases. This CL also fixes a test bug in BufferDataTestES3.BufferDataWithNullFollowedByMap that was calling glMapBufferRange with MAP_UNSYNCHRONIZED_BIT but incorrectly expecting GL to do synchronization. Bug: b/271915956 Change-Id: I7901687b3e3e262e77699f14eb8602d8a57eda3e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4322048 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Alexey Knyazev c3ffae10 2023-03-10T00:00:00 Suppress failing capture/replay test DiscardFramebufferEXTTest.ClearDepthThenDrawWithoutDepthTestThenDiscard fails after DifferentStencilMasksTest.DrawWithSameEffectiveMask Bug: angleproject:8079 Change-Id: I3b1304f465b140a34110b4f3fe95d6e59f0db8e6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4331496 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Charlie Lao d6a25bfa 2023-03-07T15:06:10 Vulkan: Optimize glBufferData call to improve storage reuse If app calls glBufferData with certain size, then calls it again with size 0, and then call it again with same old size again, we should try to reuse the existing storage. When size is zero, with the existing logic, we never free the storage. When glBufferData is called third time with the same size as the first glBufferData call, we expect to reuse the existing storage. But because of the storage reuse logic is comparing buffer's new size to the old size (which is 0), we missed the opportunity to reuse the existing storage. This CL update the reuse logic so that it checks the new size against storage's size (instead of OpenGLES buffer's size) and if we will end up with same sized allocation and same pool and memory type, then we reuse instead of reallocate. This reduces efootball_pes_2021 frame time from 4.670 ms to 4.277 ms on pixel 7 pro. Bug: b/271915956 Change-Id: I6f91e3e85b104eca215b28e7d0bea413ecc4401c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4317488 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Igor Nazarov 98735ee0 2023-03-10T16:37:12 Revert "Fixed bugs in "FastVector" class." This reverts commit 94ff37bb2110f838b92c5bae22a657982ccb48ff. Alternative fix will be in the follow up CL. Bug: angleproject:8021 Bug: chromium:1417087 Change-Id: Ib34cd14b6cf36f474cc0ae09605ef1490aed82f8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4328285 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 006d826d 2023-03-11T16:27:35 Roll VK-GL-CTS from 4ac540bc62cf to 20d674342f00 (12 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/4ac540bc62cf..20d674342f00 2023-03-11 Andy.Candet@imgtec.com Check for GL_OES_texture_float_linear in texture border clamp tests 2023-03-11 rgarcia@igalia.com Test actual non-uniform indices in descriptor indexing tests 2023-03-11 gleese@broadcom.com Simplify shader declaration in descriptor_indexing.* 2023-03-10 piotr.byszewski@mobica.com Merge vk-gl-cts/vulkansc-cts-1.0.1 into vk-gl-cts/main 2023-03-10 piotr.byszewski@mobica.com Merge vk-gl-cts/opengl-cts-4.6.3 into vk-gl-cts/main 2023-03-10 aleksander.dudek@intel.com Add tests for reading barycentrics CHit after AHit 2023-03-10 piotr.byszewski@mobica.com Prepare tests for SPIRV update 2023-03-10 michal.jakubek@mobica.com Fix of build error on Fedora 37 and g++-12.2.1 2023-03-10 alexander.galazin@imgtec.com Update README 2023-03-10 alexander.galazin@imgtec.com Rename 'sanity check' for more inclusive language 2023-03-10 piotr.byszewski@mobica.com Merge vk-gl-cts/vulkan-cts-1.3.5 into vk-gl-cts/main 2023-03-09 rgarcia@igalia.com Test creating accel structures using buffers with no bound memory 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: I41459031deef2dcb80eee3003018ee7c0a8648f5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4331187 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Charlie Lao 67ad3ddc 2023-03-06T16:44:36 Vulkan: Relax size limit for dynamicBuffer to pick buddy algorithm If glBufferData's usage is one of the dynamic usage, app may keep calling glBufferData frequently, which means get into suballocation code frequently. There are two suballocation algorithms today: buddy algorithm (faster) and generic (slower). Right now the decision of which algorithm (i.e, which pool) to use is purely based on size or memory type. This CL also utilize usage information so that dynamic usage will pick buddy algorithm with bigger size threshold. mSmallBufferPool is removed and replaced with the BufferPoolPointerArray that gets picked based on allocation algorithm. This CL reduces average frame time of efootball_pes_2021 from 7.518 ms to 4.670 ms on pixel 7 Pro. Bug: b/271915956 Change-Id: I1c2f270ac49f56e6f405501d20691cfbab49e7eb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4313685 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Igor Nazarov 4edccb15 2023-01-17T16:17:35 Vulkan: Fixed Context Priority mixing problems. Problem details: - Each "egl::ContextPriority" may have separate "VkQueue". - "CommandQueue" only has two "PrimaryCommandBuffer"s for normal and protected content. - Commands from multiple "ContextVk" may be written to a single "PrimaryCommandBuffer". - That "PrimaryCommandBuffer" may be randomly submitted to different "VkQueue"s. - As the result - Commands from a single "ContextVk" may be submitted to multiple "VkQueue"s. Fix details: - Created separate "PrimaryCommandBuffer" (lazily allocated) for each "egl::ContextPriority". - Commands with different priorities can't be mixed in a single "PrimaryCommandBuffer". - Therefore - Commands from a single "ContextVk" will be submitted to a single "VkQueue". - No difference for applications that use single "egl::ContextPriority" for all Contexts. Notes: Another problem when resource is used in multiple Contexts with different "VkQueue" (Priority). One solution is to use Semaphores. Another is to enfore same Priority for all Contexts in a Share Group and Default Priority when using EGLImage. This solution was submitted in the previous CL: Vulkan: Enforce ContextPriority in ShareGroup and with EGLImage Below test fails on G996B without this CL. Bug: angleproject:8039 Test: angle_end2end_tests --gtest_filter=MultithreadingTestES3.ContextPriorityMixing* Change-Id: Iaa57826ca55956944f922813fcfac42f1a764dbb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4194183 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Igor Nazarov cd901cdd 2023-03-03T17:04:27 Vulkan: Add and use rx::vk::ReleasableResource class. This is a follow up for CL: Vulkan: Enforce ContextPriority in ShareGroup and with EGLImage Bug: angleproject:8039 Change-Id: I9e654557d4a1ce9aee4b04f1211eeb6ae3f0e482 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4306721 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Igor Nazarov 233c128b 2023-01-17T19:21:58 Vulkan: Fix UBs when deleted attachment is used in a RenderPass. Problem: - "RenderbufferVk"/"TextureVk" with "mOwnsImage == false" used as RenderPass attachment. - "RenderbufferVk"/"TextureVk" deleted. - Owning resource is destroyed ("EGLImage" and all siblings / "EGLSurface"). - Crash (UB) may happen when ending RenderPass, flushing or executing commands. Fix adds tracking of "vk::ImageSourceID" value in "vk::RenderPassAttachment" - IDs of objects, that originally provide "vk::ImageHelper" images. This is necessary, because when using EGLImage, there may be multiple "TextureVk" objects with same "vk::ImageHelper", and need to call "finalizeImageLayout()" for the correct attachment. Bug: angleproject:8032 Test: angle_end2end_tests --gtest_filter=ImageTest*DeletedWhileInUse* Test: angle_end2end_tests --gtest_filter=PbufferTest.UseAsFramebufferColorThenDestroy* Change-Id: I50fdd9d6b6a9677adad2262373303b46de1dee4c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4296014 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Igor Nazarov eb1cb31d 2023-02-21T14:09:49 Vulkan: Remove code left after introduce of "vk::SharedGarbage" This logic calls "flushImpl()" each time some "ImageVk" is orphaned, regardless if it used in the RenderPass or not. Such undesired flushes negatively affect CPU and GPU performance. This flush was added in the very old commit: e755a5374f7eb24da579fdc9862b01e3c3c04721 Vulkan: Add a new garbage type gated by fences. Flush was necessary to grab a proper Fence. However, after commit: f10bf6bf55a78669bff7bb5cdd3ae0954a87661e Vulkan: Implement multi-threaded GL. Fence was replaced by "vk::SharedGarbage" and "vk::SharedResourceUse". But "flushImpl()" was not removed along with misleading comment, that it is necessary "to make sure the fence has been submitted". This CL removes this leftover code. Any regressions should be fixed in a better way. Bug: angleproject:2464 Change-Id: I640bb2b9519c15a47adf30e0de845a3125ceab42 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4272834 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Igor Nazarov a1bf828d 2023-02-13T21:30:38 Vulkan: Rename "RendererVk::waitFor*ToBeSubmitted()" methods. Following "RendererVk" methods are a little bit confusing: - submitCommands() - hasResourceUseSubmitted() - hasQueueSerialSubmitted() - waitForResourceUseToBeSubmitted() - waitForQueueSerialToBeSubmitted() Because after "RendererVk::submitCommands(..., submitQueueSerial)" call "hasQueueSerialSubmitted(submitQueueSerial)" will always return "true". And it is not clear why need to call "waitForResourceUseToBeSubmitted()" method, if it already "Submitted". It is even more: it is technically illegal to call "waitFor*ToBeSubmitted()" if "has*Submitted" is "false". This refactoring suggests adding "ToDevice" to the methods names: - waitForResourceUseToBeSubmittedToDevice() - waitForQueueSerialToBeSubmittedToDevice() So that: - "Submitted" - will mean to the RendererVk (and maybe Device) - "SubmittedToDevice" - definitely submitted to the Device. Bug: b/267348918 Change-Id: I12323be3ddc0cbcff4667e52a37089b187b63fe8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4245423 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Igor Nazarov b194c21a 2023-02-24T15:41:00 Vulkan: Enforce ContextPriority in ShareGroup and with EGLImage This CL enforces single Context Priority for all Contexts in a Share Group. This is necessary until Vulkan Semaphores will be used to automatically synchronize Resource access between Contexts. Contexts Priority updated when new Contexts is added to the Share Group. New Priority will be the highest among all ever existed Contexts (except if Priority is locked). When Contexts Priority changes, all flushed commands are submitted to the old VkQueue and semaphore is inserted into the new VkQueue. Currently opened RenderPasses and commands will not be flushed. When EGLImage is used in a Context, all Contexts in that Share Group locked (forever) to the Default Priority (Medium). This is done to simplify the implementation and because of the current limitations (lack of mutex protection across Context Share Groups). Notes: - the EGL_CONTEXT_PRIORITY_LEVEL_IMG will report initial priority. - below tests fail on G996B without this CL. Bug: angleproject:8039 Test: angle_end2end_tests --gtest_filter=MultithreadingTestES3.RenderThenSampleDifferentContextPriority* Test: angle_end2end_tests --gtest_filter=MultithreadingTestES3.RenderThenSampleInNewContextWithDifferentPriority* Test: angle_end2end_tests --gtest_filter=MultithreadingTestES3.RenderThenSampleDifferentContextPriorityUsingEGLImage* Change-Id: Ia6a2f0084d39168a58fd7ec33edc90ece9cead05 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4289750 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Shahbaz Youssefi cd0c1d22 2023-02-21T14:59:43 Roll VMA forward Bug: angleproject:7930 Change-Id: I17cdacf87e2b9677adea7bb1103affde9b1a61ef Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4323896 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Mike Schuchardt 4cbe8548 2023-02-28T21:12:17 Expose shader extensions based on ESSL version Previously, all suported extensions were always exposed in the preprocessor. This broke some games which relied on ESSL1-only extension macros not being defined in ESSL3 shaders. This change adds min/max version information to list of extensions so the preprocessor can conditionally expose extensions based on the shader language version, both via the extension name macros and the #extension directive. Test: angle_unittests --gtest_filter="VersionTest.*" Test: angle_end2end_tests --gtest_filter="*ESSL*ExtensionMacros*" Test: Run com.gameloft.android.ANMP.GloftGGHM on Pixel 6 Bug: b/268091452 Change-Id: I2332a6cb964f54c47d23e2ef6b24e99a0b5c8202 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4304907 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Mike Schuchardt <mikes@lunarg.com>
Chris Dalton b468e4dd 2023-03-08T14:21:47 Add back "non-robust" PLS queries Chrome doesn't have a codegen template for queries that model the "robust" signature, so support both types. Specify that the robust variants are only supported if ANGLE_robust_client_memory is supported, so Chrome and other implementations don't have to support them. Bug: chromium:1421437 Change-Id: Icc69b69ce9ce0a2cfad0dbeed1f3b29bcfa92d20 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4321867 Commit-Queue: Chris Dalton <chris@rive.app> Reviewed-by: Geoff Lang <geofflang@chromium.org>
angle-autoroll ffdcfb94 2023-03-10T10:01:14 Roll vulkan-deps from 315bf0e37102 to d17e7dad8e87 (5 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/315bf0e37102..d17e7dad8e87 Changed dependencies: * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/dde24e4612..eb13094254 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/781b896df1..38341564f5 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: If99f214a3f0ff64a2eed2fac48de896dee075b86 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4329054 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Chris Dalton f2e13539 2023-03-03T01:57:43 Implicitly enable PLS dependency extensions The ANGLE_shader_pixel_local_storage implementation makes internal use of various other extensions. These extensions must be implicitly enabled when ANGLE_shader_pixel_local_storage is in use. In this CL: * Convert ANGLE_shader_pixel_local_storage and ANGLE_shader_pixel_local_storage_coherent to requestable extensions. * Implicitly enable the dependency extensions, including each other, at the time either of these extensions is enabled. Bug: angleproject:7279 Bug: chromium:1421437 Change-Id: I26acbda776fe7045ea99d4f1e3df445e7a5cfd7f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4306526 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Chris Dalton <chris@rive.app>
angle-autoroll 84fec4c7 2023-03-10T08:15:14 Roll Chromium from a811a4fbb723 to 2bcf4b3eb3f2 (598 revisions) https://chromium.googlesource.com/chromium/src.git/+log/a811a4fbb723..2bcf4b3eb3f2 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/80a7bc6cb0..01965a3637 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/2cdfeaa2d0..1e2d30f5e4 * buildtools/third_party/libc++/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/3cf0fe4445..ae04d7cb7d * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/55fa81c88a..10804337f2 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/2d94ed0895..fc45f92fc4 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/6b9c63c69a..c25f4dc9c2 * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/f433915516..6791475d69 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..c5ac2a64a6 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/2f5bdd5aea..a9a7eecf37 * third_party/r8: dapol0ILZtTgGEQGfNsvmcFZMjD56XbJH5eo7kG0lAMC..QcJGU2P6jjudE2LELurmeujLPwQhvk7OD5AWGlLIzrYC * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/90e67ba3f8..6d3f6aa0f8 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/ef1eb208a2..2b181989bf * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/0e2c22bd54..70c814239b * tools/skia_goldctl/linux: uu72l9rwYReKqlKTHTUE26N6gMAt6YHvdysfn6rcAvgC..iQ7zKud-gha6r9hEdwqYWRdOpeAs6gFfDxnviDUt4FQC * tools/skia_goldctl/mac_amd64: EPIsKRgwINCn8DCzCmRC1ZH3EivSehuq2ymx_qN6MhMC..9Wfje1bt82IO9pJokAt9lboy59X_Pe-s0b4EpmH7RT4C * tools/skia_goldctl/mac_arm64: NcrJgtTlI-mdqmPTl4LBprsY9nhx_5nzK08RLKJG9CAC..zihT2Lk2afg0XzIZozuGcZXWv7RJujaDEi_6q7QL4DgC * tools/skia_goldctl/win: DxsfuVWQrwfkUxTCKXzhO_Wh4OYOLWM-sSQpfx92DxwC..we56UJIWxJJ2GkQ_ne0o3oGAr7FBJa5T5Jr1xguLn-gC No update to Clang. Bug: angleproject:6430,angleproject:8026 Tbr: romanl@google.com Change-Id: Idb47c30f16b02159cef768f1e866dbbb45beabbd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4329051 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 37721609 2023-03-09T19:07:33 Manual roll vulkan-deps from fb9155b074e3 to 315bf0e37102 (18 revisions) Manual roll requested by romanl@google.com https://chromium.googlesource.com/vulkan-deps.git/+log/fb9155b074e3..315bf0e37102 Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/204812694c..cd2082e058 * spirv-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/295cf5fb3b..1feaf4414e * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/690a9a4060..b029037aaa * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/e4895e86f7..dde24e4612 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/b5e47d22c7..781b896df1 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: angleproject:5390 Tbr: romanl@google.com Change-Id: I1137db5303238871f0745c41dbf2ad039308d9de Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4324560 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Roman Lavrov 63a60225 2023-03-09T12:36:57 Ignore VUID-VkGraphicsPipelineCreateInfo-None-06573. Occurring in certain trace tests after vulkan-deps update. Bug: angleproject:8076 Change-Id: I267ff7ff5a41cdcfec44b11893877120d02a89ce Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4324721 Commit-Queue: Roman Lavrov <romanl@google.com> Auto-Submit: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 9824b4e6 2023-03-09T12:21:34 Skip street_fighter_duel trace on win nvidia. Flaky diffs Bug: angleproject:8074 Change-Id: I2f6f023ade6028e5baf80815e845a7ae5817bfbb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4324720 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Roman Lavrov 7ee61366 2023-03-09T16:18:56 Revert "Vulkan: SurfaceVk should only wait for GPU work that uses it" This reverts commit 5b63e1dc1d5e96018d0ad30582265a612d309f3b. Reason for revert: angle_deqp_internal_main_presubmit device lost in android rolls https://anglebug.com/8073 Original change's description: > Vulkan: SurfaceVk should only wait for GPU work that uses it > > Right now when we destroy swapchain, we call mRenderer->finish() to > finish everything, even though the work is unrelated to this surface. > This CL changes it to only wait for ResourceUse of all images in the > swapChain. > > Bug: b/267806287 > Change-Id: I33d136ad50961fbf5fbb200ff0f89f1dbf23585d > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4220723 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Charlie Lao <cclao@google.com> Bug: b/267806287 Bug: angleproject:8073 Change-Id: Id0bfe7be670b7d44ed91e61f2c98a189bd1f214c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4324718 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
Roman Lavrov 36111b25 2023-03-09T10:48:36 Fix more cases of racy waitForStep usage. Affects: MultithreadingTestES3.Thread* MultithreadingTestES3.UnsynchronizedTextureReads* MultithreadingTestES3.CreateFramebufferFetchBeforeRenderPass MultithreadingTestES3.CreateFramebufferFetchMidRenderPass Bug: angleproject:8071 Change-Id: Id5fe9168fe4d307ec3d3cdd582f3f9ef3f9e9627 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4324717 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
Roman Lavrov ca2378b7 2023-03-08T18:44:58 Assert that waitForStep steps go in increasing order. This should make race conditions like the one in https://crrev.com/c/4321809 much more obvious from the logs and catch some of the issues when writing or updates tests. The test that has to be updated here is an example why we probably don't want to just replace `== step` with `>= step` Bug: angleproject:8071 Change-Id: I2c740931046bb5a9115474b7d67f76e9a21c30a4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4322049 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll c2aa8b58 2023-03-09T10:01:24 Roll SwiftShader from 0ba0b45490cd to 3764eb85917a (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/0ba0b45490cd..3764eb85917a 2023-03-07 ossu@google.com Fix vkWaitSemaphores when VK_SEMAPHORE_WAIT_ANY_BIT If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC angle-team@google.com,romanl@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://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 Use-Permissive-Angle-Pixel-Comparison: True Change-Id: I6dbe95243fb3f84113af6a0554ac9eadd7a34993 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4323777 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 475025e3 2023-03-09T07:00:31 Roll Chromium from 52ec1cb28f1b to a811a4fbb723 (335 revisions) https://chromium.googlesource.com/chromium/src.git/+log/52ec1cb28f1b..a811a4fbb723 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/1185a77c82..80a7bc6cb0 * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/c86761b030..55fa81c88a * testing: https://chromium.googlesource.com/chromium/src/testing/+log/764c1fa4e4..2d94ed0895 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..2da767c6c1 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/d4c6cbeb61..2f5bdd5aea * third_party/fuchsia-sdk/sdk: version:12.20230308.2.1..version:12.20230308.3.1 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/f6ecbe5ac2..0e2c22bd54 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/12d39d4fd8..6bc78c3c28 No update to Clang. Bug: None Tbr: romanl@google.com Change-Id: I20a5e3dff94ba6eaca97329a6602fb6e333d7870 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4322398 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Dan Glastonbury aa5b97de 2023-03-06T17:59:43 ANGLE_metal_shared_event_sync: Control signaling external events It was assumed that the external MTLSharedEvent passed to eglCreateSync should be signaled by the GL. This change adds EGL_SYNC_METAL_SHARED_EVENT_SIGNALED_ANGLE, which when passed as the value for EGL_SYNC_CONDITION during eglCreateSync, changes the behavior to not insert a fence command into the command stream. Test: angle_end2end_tests --gtest_filter=EGLSyncTestMetalSharedEvent.AngleMetalSharedEventSync_WaitSync_ExternallySignaled Bug: angleproject:8064 Change-Id: Ia1b8615b976f293d411b7d2be506b0ac87d64dee Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4307152 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Sunny Sachanandani <sunnyps@chromium.org>
Cody Northrop b78a0c49 2023-03-08T09:49:28 Tests: Add Street Fighter: Duel trace Test: angle_trace_tests --gtest_filter="*street_fighter_duel*" Bug: b/271876811 Change-Id: I9930169c046e9b86bfac0b27c5286e1241e34601 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4320445 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Mike Schuchardt f1717ba9 2023-03-08T08:59:25 Tests: Add Merge Dragons trace Test: angle_trace_tests --gtest_filter=TraceTest.merge_dragons Bug: b/272197630 Change-Id: I786ad03bf38b9d3269644bb0038d9848035b0f5b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4321866 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Mike Schuchardt <mikes@lunarg.com>
Roman Lavrov 2c835845 2023-03-08T16:51:14 Fix race condition in ProgramUseAndDestroyInTwoContexts thread0 and thread1 call threadSynchronization.waitForStep(Step::Start) but then thread0 does threadSynchronization.nextStep(Step::Thread0CreatePrograms); so if thread0 happens to run to this line before thread1 gets to waitForStep(Step::Start), thread1 gets blocked forever Bug: angleproject:8071 Change-Id: Ida4773d5d196f3e64e14689a8f6f16dc9ca3b509 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4321809 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Charlie Lao <cclao@google.com>
angle-autoroll 0cb09074 2023-03-08T19:18:22 Manual roll Chromium from 4d26ea50cec7 to 52ec1cb28f1b (235 revisions) Manual roll requested by ynovikov@google.com https://chromium.googlesource.com/chromium/src.git/+log/4d26ea50cec7..52ec1cb28f1b 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,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/984f82d89c..1185a77c82 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/c20dc6aaed..2cdfeaa2d0 * buildtools/third_party/libc++/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/e136ec5032..3cf0fe4445 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/e943c1ba28..764c1fa4e4 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/28c6deacab..6b9c63c69a * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..2da767c6c1 * third_party/fuchsia-sdk/sdk: version:11.20230307.3.1..version:12.20230308.2.1 * third_party/kotlin_stdlib: Mg7371mEUwDQH4_z29HdWqYWVlXN6t2dXX0kIutg_SwC..zeFlVAEGvnpaj3JJujWHzRlUiBEm4XeeaMQzVsdW6D4C * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/2a70735180..ef1eb208a2 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/7ee68c5321..12d39d4fd8 No update to Clang. Bug: None Tbr: romanl@google.com,ynovikov@google.com Change-Id: I0d0010c35b9692a3726ccf7871376199b188662d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4321865 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Alexey Knyazev 52ba6071 2023-03-06T00:00:00 Add EXT_texture_filter_minmax stubs Bug: angleproject:8072 Change-Id: Idfc2f2ff0eff7b0f6c131c37aeb53fb04019257d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4315865 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Alexey Knyazev 397f89dc 2023-03-01T00:00:00 Support stencil texturing in WebGL Updated WebGL sampler format validation to support sampling from stencil textures and combined depth/stencil textures in stencil mode. Bug: angleproject:3231 Bug: angleproject:8051 Change-Id: Ib35dfd91f7ce77fc50bd749f49602ffe86837c67 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4315864 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Igor Nazarov e6ac77d9 2023-02-27T16:13:29 Tests: Enable RunLockStepThreads OpenGL/GLES backend support. Added "EGL_CONTEXT_VIRTUALIZATION_GROUP_ANGLE" attribute if display has "EGL_ANGLE_context_virtualization" extension enabled. Bug: angleproject:8032 Change-Id: I482475950b9d8d63891c74fc832cc13d93921e21 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4291436 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Igor Nazarov 244e1931 2023-01-17T19:22:10 Vulkan: Fix use of pending Outside RenderPass CommandBuffer. Regression from this commit: 730c127102b540ce2c4ec086b037c8b732706e26 "Vulkan: Submit queue more often for texture data" Bug: angleproject:6354 Test: angle_end2end_tests --gtest_filter=*SubmittingOutsideCommandBufferAssertIsOpen* Change-Id: I5f72f499cd7153c94c8e5f8a3415df2182726c8e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4296802 Commit-Queue: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll bfa2fe36 2023-03-08T10:01:43 Roll vulkan-deps from eca4b370b5aa to fb9155b074e3 (9 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/eca4b370b5aa..fb9155b074e3 Changed dependencies: * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/3033cf428e..690a9a4060 * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/3db19f3e3d..e4895e86f7 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/847b09025f..b5e47d22c7 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: Ic817e94610404d1de63b624872eca6b2204ba8e2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4317957 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 1023c18f 2023-03-08T07:28:19 Roll Chromium from 2821f7bf7cf2 to 4d26ea50cec7 (587 revisions) https://chromium.googlesource.com/chromium/src.git/+log/2821f7bf7cf2..4d26ea50cec7 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/fabcecef46..984f82d89c * testing: https://chromium.googlesource.com/chromium/src/testing/+log/e8606bdcca..e943c1ba28 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..2da767c6c1 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/2cbe95c7c8..d4c6cbeb61 * third_party/fuchsia-sdk/sdk: version:11.20230307.0.1..version:11.20230307.3.1 * third_party/r8: mRUkTlTS7E_w8qjT2TecH9YczFjvU8P_d3NFdrM3kygC..dapol0ILZtTgGEQGfNsvmcFZMjD56XbJH5eo7kG0lAMC * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/72c1f3e0e8..2a70735180 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/e655e0b2d5..f6ecbe5ac2 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/c5750fd314..7ee68c5321 * tools/skia_goldctl/linux: bLGZaTfxaQn13OKJRrAdm408JOt4CwR_Whnp7PotYCUC..uu72l9rwYReKqlKTHTUE26N6gMAt6YHvdysfn6rcAvgC * tools/skia_goldctl/mac_amd64: yj8Sf8C8Ow0HPFCcDzmiBKT8HYzDbzTJWPCqp7V9fdAC..EPIsKRgwINCn8DCzCmRC1ZH3EivSehuq2ymx_qN6MhMC * tools/skia_goldctl/mac_arm64: hRXH9mU2WXp1Fs7FPeLbgvJ_Cbn7oG_dbBgTvxTyEdAC..NcrJgtTlI-mdqmPTl4LBprsY9nhx_5nzK08RLKJG9CAC * tools/skia_goldctl/win: UsXhImRO65quoDjrqQKVTUF3roXPJlI0dNN8xWU7COAC..DxsfuVWQrwfkUxTCKXzhO_Wh4OYOLWM-sSQpfx92DxwC No update to Clang. Bug: None Tbr: romanl@google.com Change-Id: I0048106821d3adae5e50f6bb20bdb4fe87feee27 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4316180 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Chris Dalton a65f6a9d 2023-03-07T16:11:44 Make PLS queries robust There's no reason not to mirror the ANGLE_robust_client_memory API here. Bug: chromium:1421437 Change-Id: Ifb8b1a9675abe2ceb35272dc905f3c38f29dceda Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4317485 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Chris Dalton <chris@rive.app>
Mark Lobodzinski 2143c146 2023-03-06T14:38:58 Tests: Add Jackpot World Trace Test: angle_trace_tests --gtest_filter=TraceTest.jackpot_world bug: b/271891383 Change-Id: Ib0ff8197c98c8dc7e97e760968306a6c1d3c5878 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4313680 Reviewed-by: Mark Łobodziński <mark@lunarg.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Amirali Abdolrashidi 156efe9e 2023-02-23T14:07:23 Fix the alloc error with enabled backtrace feature When angle_enable_unwind_backtrace_support is enabled, an assertion occurs on memory allocation with the following message: "constructed value does not match the lookup key" The assertion comes from PolicyTraits::apply() in the hash map. * In MemoryTracking.h, the type of mMemoryAllocationRecord is now std::unordered_map instead of angle::HashMap. Bug: b/262029018 Change-Id: I11a6d8e99a129759c046e37cef9e74f7db193066 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4289947 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Amirali Abdolrashidi b0d99f72 2023-02-22T13:48:16 Move the memory tracking classes to new files * Moved the classes, functions, and constants related to memory tracking to MemoryTracking.h and MemoryTracking.cpp. Main classes include the following: * MemoryAllocationTracker * MemoryReport * MemoryAllocationType * MemoryAllocationInfo * MemoryLogSeverity * New static function added in RendererVk to get the Vulkan object type name (GetVulkanObjectTypeName()). Bug: b/262029018 Change-Id: I619001e3c24114c4fe7bf024498338bce146fced Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4284639 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Saifuddin Hitawala 877cd04c 2023-03-02T10:24:14 Reland "Add vulkan format image fallback for R16G16B16" Suppressed misbehaving trace test in https://crrev.com/c/4317088 This is a reland of commit 71f6d54c8d3662693283281651e57c994a10cf08 Original change's description: > Add vulkan format image fallback for R16G16B16 > > This change adds a vulkan format image mapping fallback from R16G16B16 > to R16G16B16A16, R32G32B32_FLOAT and R32G32B32A32_FLOAT for both > UNORM and SNORM variants. > > This is done because in Chrome we want to use R16/RG16 formats which > are exposed to Skia over the EXT_texture_norm16. Currently, > EXT_texture_norm16 requires RGB16_EXT which if not present is not > supported even if R16_EXT and RG16_EXT are supported. This fallback > helps us support R16/RG16 as well over RGBA16. > > It also updates validationES checks for GL_RGBA signed and unsigned > normalized checking if type is GL_SHORT or GL_UNSIGNED_SHORT. > > It adds a method LoadToFloat that allows a type (GLushort or GLshort) > to be loaded into float format types. This is then used as part of > fallbacks for load_functions_data.json. > > Bug: None > Change-Id: I5c6879cd2ed5dd6e3440877f4891f269d96d88a1 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4294694 > Reviewed-by: Vasiliy Telezhnikov <vasilyt@chromium.org> > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Commit-Queue: Geoff Lang <geofflang@chromium.org> Bug: None Change-Id: I101dd9e8c62e6794692c9f89c4944297e195f710 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4317089 Reviewed-by: Cody Northrop <cnorthrop@google.com> Auto-Submit: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Gert Wollny bd08c309 2023-02-20T08:17:31 Capture/Replay: Don't serialize shader refcount with context The shader and program reference count is not an OpenGL state, it is only an implementation dependent value and should, therefore, not be part of the context serialization. In fact, it is actually misleading, because for shared contexts its value depends on the state of all contexts and not just the current one. Especially with MEC this may lead to validation errors, because a sequence Context 1 (shared): create program A Context 2: use program A -> start MEC will result in a refcount of "1" when the state of context 1 is serialized during MEC startup, because at this time context 2 already holds a reference. However, when the valiation checkpoint at the end of the setup for context 1 is executed during replay, then the setup for context 2 has not yet been run and the refcount will be "0". Bug: angleproject:8029 Change-Id: Ia7236e5f35634ba1506117abc19efa94b816e572 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4270930 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Roman Lavrov cf1bf3e4 2023-03-07T18:41:13 Skip TextureNorm16R16RenderTest and variants Replay corrupts memory by writing past readBufferSize due to GL_PACK_SKIP_ROWS etc Bug: angleproject:8070 Change-Id: I7db1ef9dadf3735841c96f242e9bd9a993b5d16e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4317088 Reviewed-by: Cody Northrop <cnorthrop@google.com>
Alexey Knyazev 1174582a 2023-03-06T00:00:00 GL: Implement EXT_clip_control The extension is trivially exposed if the current context supports it. * Added packed clip control enums * Removed unused state query code * Aligned symbol names with the specs Bug: angleproject:8066 Change-Id: I9d106f39800658ecc75f4525ee93cb534dc49f9e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4306770 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 56259f30 2023-03-07T17:28:50 Manual roll vulkan-deps from 5d7ca659e804 to eca4b370b5aa (34 revisions) Manual roll requested by romanl@google.com https://chromium.googlesource.com/vulkan-deps.git/+log/5d7ca659e804..eca4b370b5aa Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/9cdfc5a511..204812694c * spirv-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/aa331ab0ff..295cf5fb3b * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/9d71fb6764..3033cf428e * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/b8eae8a7c8..847b09025f 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: I3badcd14bbd5ac01d8894472e6a9a62f4a2fa414 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4316603 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Igor Nazarov ad7949c6 2023-01-17T19:24:59 Vulkan: Remove "rx::vk::ImageHelper" move constructor. Move constructor was only used in the "rx::SwapchainImage" structure. This CL replaces "image" member with "std::unique_ptr<vk::ImageHelper>". This will remove source of bugs. Bug: angleproject:8052 Change-Id: Ic16f674095233baaa56fbe8a8fb7ef3e323a7331 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4294905 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Alexey Knyazev 815a4aae 2023-03-01T00:00:00 Fix stencil format exposure * Removed invalid STENCIL format table entry * Removed incorrect OpenGL ES 2.0 validation * Removed obsolete end2end test suppressions * Hid GL_OES_texture_stencil8 from ES 2.0 contexts * Marked unsized STENCIL_INDEX as never texturable * Marked unsized STENCIL_INDEX as never renderable Bug: angleproject:3231 Fixed: angleproject:5136 Change-Id: I3f2cb8240344db410773b6a5bde460a43eb32a2e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4307120 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Igor Nazarov 267c556e 2023-03-06T18:03:36 Vulkan: Move PersistentCommandPool out of the CommandsState. Refactoring before the actual fix. Bug: angleproject:8039 Change-Id: Ib240cb9a2e9b92eab120c946b15ac285b939c7db Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4307875 Commit-Queue: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll b84737c1 2023-03-07T14:08:00 Roll VK-GL-CTS from 49ce61395065 to 4ac540bc62cf (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/49ce61395065..4ac540bc62cf 2023-03-07 alexander.galazin@imgtec.com Notice of withdrawal of Vulkan SC CTS 1.0.0.x 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: I793997cdee81c84ad49514d933d88d479b31c90b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4315382 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Alexey Knyazev 8abf7153 2023-03-01T00:00:00 GL: Complete EXT_blend_func_extended * Increased test threshold to 2 to avoid failures on some GPUs * Skipped desktop name bindings when running on OpenGL ES * Adjusted extension exposure conditions to avoid failures on older platforms * Adjusted webgl_FragData array size Bug: angleproject:1085 Bug: angleproject:2833 Change-Id: Ic72ba42b024de276d3586446e03013e6063d15ba Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4307122 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Igor Nazarov ac8513fa 2023-03-03T16:10:32 Vulkan: Add and use ScopedQueueSerialIndex helper class. This is a follow up for CL: eb0475c05425d94a4516b708c1c9075e3bc423a7 Vulkan: Cleanup RendererVk::allocateQueueSerialIndex method. Made private "allocateQueueSerialIndex(SerialIndex *)" method and renamed to "allocateQueueSerialIndexImpl" to limit incorrect API usage. Bug: b/267806287 Change-Id: I4d1a9875d454c29f930a5e844161d2a10dc2675b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4306720 Commit-Queue: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 4256c022 2023-03-01T00:00:00 Metal: Implement ANGLE_stencil_texturing Used texture views to sample stencil values from combined depth/stencil textures. Texture2DDepthStencilTestES3.TexSampleModes* tests were split into swizzled and non-swizzled variants to suppress only swizzled cases on some platforms. Added a new avoidStencilTextureSwizzle workaround to skip creating swizzled texture views of stencil-only textures on platforms that fail to sample from them. Fixed: angleproject:8051 Change-Id: I0b1148f8d30fc6459239efcdaeee6c0364633cc8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4304058 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Roman Lavrov b3178411 2023-03-07T15:08:46 Revert "Add vulkan format image fallback for R16G16B16" This reverts commit 71f6d54c8d3662693283281651e57c994a10cf08. Reason for revert: crashing win-trace https://ci.chromium.org/ui/p/angle/builders/ci/win-trace/3527/overview Also reproducible on Linux: % src/tests/capture_replay_tests.py --gtest_filter="Texture2DNorm16TestES3.TextureNorm16R16 Original change's description: > Add vulkan format image fallback for R16G16B16 > > This change adds a vulkan format image mapping fallback from R16G16B16 > to R16G16B16A16, R32G32B32_FLOAT and R32G32B32A32_FLOAT for both > UNORM and SNORM variants. > > This is done because in Chrome we want to use R16/RG16 formats which > are exposed to Skia over the EXT_texture_norm16. Currently, > EXT_texture_norm16 requires RGB16_EXT which if not present is not > supported even if R16_EXT and RG16_EXT are supported. This fallback > helps us support R16/RG16 as well over RGBA16. > > It also updates validationES checks for GL_RGBA signed and unsigned > normalized checking if type is GL_SHORT or GL_UNSIGNED_SHORT. > > It adds a method LoadToFloat that allows a type (GLushort or GLshort) > to be loaded into float format types. This is then used as part of > fallbacks for load_functions_data.json. > > Bug: None > Change-Id: I5c6879cd2ed5dd6e3440877f4891f269d96d88a1 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4294694 > Reviewed-by: Vasiliy Telezhnikov <vasilyt@chromium.org> > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Commit-Queue: Geoff Lang <geofflang@chromium.org> Bug: None Change-Id: I8373aee3a1d2c2279a3882ff7203d88483e29f4e No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4316422 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Roman Lavrov <romanl@google.com>
angle-autoroll 01d78586 2023-03-07T09:41:10 Roll Chromium from 868e24501649 to 2821f7bf7cf2 (569 revisions) https://chromium.googlesource.com/chromium/src.git/+log/868e24501649..2821f7bf7cf2 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/ccb49e8018..fabcecef46 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/b66292cfac..c20dc6aaed * buildtools/third_party/libc++/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/49c1b48fc5..e136ec5032 * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/cff1f2def8..c86761b030 * buildtools/third_party/libunwind/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/7b03cc568d..d101cb5933 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/ed811b1a53..e8606bdcca * third_party/android_build_tools/lint: NrP_GizJsQ_kr9O0WQlncRx1xdicjU4BFHi9pLPeTSIC.._XhNBPsSXTzuwyrRGz4aM29jhQdbk2f-KPyVyhmYHwAC * third_party/android_build_tools/manifest_merger: saMCpz15quEEWToMloh-A_rMqC0WSdJlyYTFvwAd840C..-MEtSi1dPRGwJdR_aJbVAJ75_Kb8QMDJXBXrRIQlO70C * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/58c60a8997..f433915516 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..c4b5fb350b * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/b4b22453f3..2cbe95c7c8 * third_party/fuchsia-sdk/sdk: version:11.20230303.4.1..version:11.20230307.0.1 * third_party/r8: zT9mfajcm9pyKVWq6l9s8cGITXxjeL90Zrw18CwIUusC..mRUkTlTS7E_w8qjT2TecH9YczFjvU8P_d3NFdrM3kygC * third_party/turbine: YQC-btuan_DTe9V9dv_e1LxgYSWeOoDfrd-VSqzIvHkC..epnqx7Yf9QxgyDaU87KJ1fLQvdZ_Mho_JjfpjmIBYWYC * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/64e9f9321c..72c1f3e0e8 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/df4de5b4f6..e655e0b2d5 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/650d0f0bf2..c5750fd314 Clang version changed llvmorg-17-init-3170-g6e30dffe:llvmorg-17-init-3874-g93a2fecc Details: https://chromium.googlesource.com/chromium/src/tools/clang/+/64e9f9321c450d938fec79ef8e4431fd1a08f5ce..72c1f3e0e850a48f634c8e96a0d1f84b331660cc/scripts/update.py Bug: angleproject:8067 Tbr: romanl@google.com Change-Id: I7b4da9b26416897960121a6efe7da8cf09d420fd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4314564 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Gert Wollny a8ba5112 2023-02-10T10:04:41 Capture/Replay: Deal with swap called in different contexts Move recording the context setup of the main context to the same location where all other context setups are recorded and drop the assertion that checks that swap is always called from the same context. Invoke the context setup at the time the secondary contexts are set up, and make sure the main context is correctly mapped. Bug: angleproject:7911 Change-Id: I327bce318b1a0e26ffdbf096343f99cedd78c116 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4236541 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Gert Wollny 4448ce5c 2023-02-09T17:48:40 Capture/Replay: Add fixture SetCurrentContextID This is needed for better context handling Bug: angleproject:7911 Change-Id: Ieccb0f9660a8d607fe2bcee87b7a9b4ff2e25a50 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4236543 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Trevor Black <vantablack@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Ian Elliott <ianelliott@google.com>
Gert Wollny 0e9b8f36 2023-02-08T13:39:09 Capture/Replay: Drop context ID from file and frame func names This is needed when we want to be able to deal with swap called from different contexts. Bug: angleproject:7911 Change-Id: I83023308109852179f434be2290b33b7844ddcda Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4236540 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi cee1237c 2023-03-06T15:39:03 Vulkan: Fix reserved UBOs for default uniforms Only 3 were reserved, which is not correct with tessellation support included. The limit is now adjusted based on whether geometry and/or tessellation is supported. Bug: angleproject:6858 Change-Id: I7530a60b4b6bc9d4f4561303615c52c63bab1045 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4312559 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Shahbaz Youssefi 868b63ab 2023-03-06T15:21:25 Vulkan: Remove reserved UBO for driver uniforms from limits ANGLE no longer uses UBO for driver uniforms, but uses push constants instead. Bug: angleproject:6858 Change-Id: I3e01c75a19bb333428f2dd1cd732022f1e740c4c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4306885 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Charlie Lao 991fca06 2023-03-06T10:31:48 Vulkan: Minor clean up in CommandProcessor.cpp Minor clean up per the feedback from already merged CLs. Bug: b/255411748 Change-Id: I3d0148700cf79fa597e260e7192d419198f9749f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4311756 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 5331491b 2023-03-06T17:26:30 SYNC-HAZARD-READ-AFTER-WRITE: VkNonDispatchableHandle on x86 Also link to the new bug. Bug: angleproject:8054 Change-Id: I2421d625f64a2530768ea35497a45091a0317025 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4312523 Auto-Submit: Roman Lavrov <romanl@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Charlie Lao 5b63e1dc 2023-02-03T15:14:00 Vulkan: SurfaceVk should only wait for GPU work that uses it Right now when we destroy swapchain, we call mRenderer->finish() to finish everything, even though the work is unrelated to this surface. This CL changes it to only wait for ResourceUse of all images in the swapChain. Bug: b/267806287 Change-Id: I33d136ad50961fbf5fbb200ff0f89f1dbf23585d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4220723 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Roman Lavrov 569a881f 2023-03-06T16:43:18 Make SYNC-HAZARD-READ-AFTER-WRITE case less specific. SYNC_VERTEX_SHADER_SHADER_STORAGE_READ added in https://crrev.com/c/4306772 Different prior_usage in TransformFeedbackTest Bug: angleproject:8054 Change-Id: Ia79fc0edd52dff49255906158a5621d4860d7df5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4313319 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
Roman Lavrov 8ba78abd 2023-02-28T11:16:08 Reland "MSRTSS uses AppendToPNextChain due to non-NULL pNext." Also fix msrtss->pNext being set to a pointer to a pointer (void* yay!) This is a reland of commit 33df630f9c8944061902b2e38fe65b280f731802 Original change's description: > MSRTSS uses AppendToPNextChain due to non-NULL pNext. > > As discussed in: > https://chromium-review.googlesource.com/c/angle/angle/+/4116675/comment/3097cb31_16922d39/ > > Not currently causing issues as it requires very recent drivers but I > saw the `ASSERT(ptr->pNext == nullptr);` in AddToPNextChain fail > somewhere. > > Bug: angleproject:7899 > Change-Id: Id46162a5aacd3d8599382ce1dfca25aca5e730e1 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4296801 > Auto-Submit: Roman Lavrov <romanl@google.com> > Commit-Queue: Yuxin Hu <yuxinhu@google.com> > Reviewed-by: Yuxin Hu <yuxinhu@google.com> Bug: angleproject:7899 Change-Id: I597b6633123f161e05e1a5a28b2e8c6c61835e29 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4306827 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Igor Nazarov dbece66f 2023-01-17T19:25:24 Vulkan: Fix move constructor/assignment of Resource classes. Bug in "DynamicallyGrowingPool<Pool>::PoolResource" causes real problems with queries. "QueryPool" may be reused without waiting for the previous use. Bugs "QueryHelper" may affect "mInFlightGpuEventQueries" (not used in "QueryVk"). Updated "FramebufferHelper" move assignment so it uses "Resource" assignment instead of protected member access. Bug: angleproject:8053 Change-Id: I441b62102fcf232456027fb42eefa97ed8958676 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4300050 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Charlie Lao 7eb6869a 2022-08-30T16:28:08 Vulkan: Change ResourceAccess::Write to ResourceAccess::ReadWrite AS a preparation for the next CL which will optimize for WriteOnly access, this CL changes Write to ReadWrite and adds WriteOnly access (but not used yet). Mechanical changes only and no function difference is expected. Bug: b/243711628 Change-Id: I509d6045ae87635e24076b646af42f35d88d52cf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3866672 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Igor Nazarov 4f87f4e9 2023-03-03T13:19:09 Vulkan: Add useResetCommandBufferBitForSecondaryPools feature. Currently ANGLE does not use "vkResetCommandBuffer()" on Vulkan Secondary Command Buffers. Instead it uses "vkFreeCommandBuffers()" and "vkAllocateCommandBuffers". According to spec, "VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT" is required only for command buffer reset operations. However, some ARM drivers may not free memory in "vkFreeCommandBuffers()" without this flag. Bug: angleproject:8059 Change-Id: Ibfe45bca345dc48484b625c450369d30805cec77 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4306722 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Igor Nazarov 0eea2893 2023-03-03T18:55:21 Vulkan: Use *_POOL_CREATE_TRANSIENT_BIT in OneOffCommandPool Bug: angleproject:8061 Change-Id: Ib1f851e83e681ee369cac8da0ff52cd3951c5749 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4306724 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Charlie Lao <cclao@google.com>
Roman Lavrov 390fa116 2023-03-06T10:51:24 Suppress another SYNC-HAZARD-READ-AFTER-WRITE case. Starts at: https://github.com/KhronosGroup/Vulkan-ValidationLayers/commit/dd401219bdb982046bb235160c29643c597d6f16 --gtest_filter='MemoryBarrierBufferTest.TransformFeedbackBitWriteThenCapture/ES3_1_Vulkan_SwiftShader*' Bug: angleproject:8054 Change-Id: Ie57665a757c6664a29d351d43fbad9e4743b57f9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4306772 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>