src/third_party/volk


Log

Author Commit Date CI Message
Steven Noonan 7f5958c7 2025-10-15T15:09:45 Vulkan: roll Volk This pulls in support for VK_AMD_anti_lag entry points. Bug: angleproject:452392028 Change-Id: I03109ac30a88bdb551f9bc1ccaae91f79464bfa9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7046016 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Rachael Newitt c4e942d6 2025-09-25T02:47:45 Tidy up some README.chromium files in Angle. Backfills the Update Mechanism field for dependencies and cleans up some of the other fields which are out of date. Bug: chromium:379934539 Change-Id: I9a952e905ce00c379c4d593dd67b7e0fc6f1794e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6981101 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 83f3bdfd 2025-03-07T14:42:29 Manual roll vulkan-deps from 4f7de8f463f8 to d34de7171c18 (1 revision) Manual roll requested by ynovikov@google.com Due to https://github.com/KhronosGroup/Vulkan-Headers/pull/534 including <vulkan/vulkan.h> now causes <X11/Xlib.h> to be included, which breaks the build because of the macros it defines. To workaround, undefine these macros after vulkan.h include. https://chromium.googlesource.com/vulkan-deps.git/+log/4f7de8f463f8..d34de7171c18 Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers/+log/952f776f6573aafbb62ea717d871cd1d6816c387..0f0cfd88d7e6ece3ca6456df692f0055bde94be7 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,solti@google.com,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: chromium:345261080 Change-Id: Ib229dc03e7b33daf817e3248025fdcab64157e1e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6334528 Reviewed-by: Solti Ho <solti@google.com> Commit-Queue: Solti Ho <solti@google.com>
Geoff Lang e3427ac7 2024-12-03T16:40:32 Add missing README.chromium fiends to ANGLE and DEPS Bug: chromium:378273739 Bug: chromium:365319754 Bug: chromium:378273453 Bug: chromium:365320292 Change-Id: I2faa54c6d796ebe86537e633fdfd8aeb3c0898a7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6062491 Auto-Submit: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi ba341ef8 2024-06-18T13:21:42 Add Revision: fields to third parties Bug: chromium:347134201 Bug: chromium:347135533 Bug: chromium:347136084 Bug: chromium:347136140 Bug: chromium:347861251 Bug: chromium:347862586 Change-Id: I82794c4868b92bb747f376d7da93701589f6d144 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5639873 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi d83f7bea 2024-06-17T15:36:48 Vulkan: Roll volk Pulls in support for VK_KHR_dynamic_rendering_local_read entry points. Bug: angleproject:42267038 Change-Id: Ia15527ef2af3246d4ded67d6b10ad432956cfbbe Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5637153 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi b2e6a196 2023-09-11T15:27:20 Vulkan: Use VK_EXT_host_image_copy for texture uploads Of all the scenarios where host image copy may be useful, this is likely the most common case. There are numerous conditions for when the copy may be done on the host: - The image format must support it, - It must be unused by the GPU, - It must not have any pending updates (this can potentially be mitigated if needed), and - It must be in a host-copyable layout. However, many texture uploads are done: - To compressed formats, where support is highly likely, - On init, where: - the image is never previously used, - the image has no previous uploads - the image is in the UNDEFINED layout which satisfies the conditions above. As a result of this change, when the upload is done on the host, creation of a temp buffer is avoided which greatly reduces memory pressure (specially during app loading which is when most texture data is uploaded) and may even improve performance (due to avoiding a double copy). Testing the first 3 frames of the following traces with a SwiftShader implementation shows the amount of buffer allocated for staged uploads changed as such: - Black Desert: 185MB -> 65MB - Genshin Impact: 125MB -> 12MB - Asphalt 9: 138MB -> 0MB Bug: angleproject:8341 Change-Id: Id71dcc4a7a0f8b67960d2d283fe9d19ce7429a03 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4856676 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Anne Redulla 66c2e4fc 2023-07-04T17:02:07 [ssci] Added Shipped field to READMEs This CL adds the Shipped field (and may update the License File field) in Chromium READMEs. Changes were automatically created, so if you disagree with any of them (e.g. a package is used only for testing purposes and is not shipped), comment the suggested change and why. See the LSC doc at go/lsc-chrome-metadata. Bug: b/285450740 Change-Id: I770554248e33c1e50938cc32daee36a83b643ec9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4672125 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Brian Osman a62204c3 2022-06-15T14:01:17 Guard all imports of wayland.gni with angle_use_wayland Fixes build errors in Skia Bug: angleproject:7434 Change-Id: I99e8ab741c0128f7327fec08e04979edde4f19e9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3707852 Reviewed-by: Antonio Caggiano <antonio.caggiano@collabora.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Auto-Submit: Brian Osman <brianosman@google.com>
Antonio Caggiano 543dcdde 2022-06-09T10:50:41 GN: Wayland build overrides Introduce //build_overrides/wayland.gni to simplify the management of the wayland dependencies. Bug: chromium:1327041, angleproject:7409 Change-Id: I24cd7c0aa1025acbfe681afb07ccb384ff52bb62 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3697998 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yuxin Hu ca3b7d35 2022-04-05T18:56:46 Vulkan: Roll volk Roll volk from 5e23ac9b980aa906f2de187419d35e48278a9dd8 to 92ba7c9f112a82cecf452ebf4b7c46f149a5799e (55 revisions) Bug: angleproject:7182 Change-Id: Ib626b4ac04fc6a7e0342949f6e8e8657199ea8a7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3573102 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: mohan maiya <m.maiya@samsung.com> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Antonio Caggiano e2d5eb72 2022-02-24T10:21:06 Vulkan: Wayland dependency Add wayland as a third-party dependency and add it to the include directories of vulkan-dependent targets. Bug: angleproject:6902 Change-Id: I1c6305ac3e214ecda532988e28acaa6b8e997fd2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3487449 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 5f869b74 2021-06-28T18:02:42 Revert "Vulkan: Load custom Vk Loader." This reverts commit e6e99c5472d2fe9beaa12840fa4a71191667b9a4. Reason for revert: Seems to be flaking on linux-clang-rel: https://ci.chromium.org/ui/p/angle/builders/try/linux-clang-rel/22602/overview Original change's description: > Vulkan: Load custom Vk Loader. > > Uses a GN copy rule to duplicate the loader. Also updates volk to > load using the new custom loader. Once both are in place we can > go back and remove the copy. > > Bug: chromium:1219969 > Change-Id: I8c48d168a842539f7cdba1ebfdaf3b08c3e1990d > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2982499 > Commit-Queue: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Bug: chromium:1219969 Change-Id: Ib29014e728c1ce63c5e5bf7136ce19de7692964d No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2987874 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill e6e99c54 2021-06-23T08:25:58 Vulkan: Load custom Vk Loader. Uses a GN copy rule to duplicate the loader. Also updates volk to load using the new custom loader. Once both are in place we can go back and remove the copy. Bug: chromium:1219969 Change-Id: I8c48d168a842539f7cdba1ebfdaf3b08c3e1990d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2982499 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
James Darpinian b6ea6edc 2020-12-29T16:30:29 Remove tabs from volk.c/h WebKit's SVN continues to abhor tabs. Bug: angleproject:3439 Change-Id: Ib97fc97c0eb7401f73ea493a7b679f78afc1a8c4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2606658 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Jamie Madill 4798c8cf 2020-12-14T16:35:27 Introduce GN variables for Vulkan repos. This will allow them to be seamlessly overrideen in other repos. Bug: angleproject:5390 Change-Id: I973cae48b5683e39ea3b07898b95956511260319 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2591107 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll 8d3f6c90 2020-11-13T22:18:10 Roll Vulkan-Loader from e2b55419a370 to be6ccb9ecaf7 (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/e2b55419a370..be6ccb9ecaf7 2020-11-13 shabbyx@gmail.com Reland "Generate libvulkan.so.1 on Linux instead of libvulkan.so" Bug: angleproject:5216 Tbr: timvp@google.com,syoussefi@google.com Change-Id: I235a2ba30600a23b7d9a617c40f88e1d2015d473 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2538430 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 76ca9f36 2020-10-31T02:14:10 Roll Vulkan-Loader from 428654245ad3 to 07bbf14a831b (2 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/428654245ad3..07bbf14a831b 2020-10-30 shabbyx@gmail.com Revert "Generate libvulkan.so.1 on Linux instead of libvulkan.so" 2020-10-30 xantares09@hotmail.com Add an option to disable MASM Bug: angleproject:5216 Bug: chromium:1143750 Bug: chromium:843346 Change-Id: I39a62314bef79c7f81f15e99b1c1b8709a107e40 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2512405 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 3591997b 2020-10-28T14:52:44 Roll Vulkan-Loader from 8e2b7d03ccfd to 8308d6744d50 (2 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/8e2b7d03ccfd..8308d6744d50 2020-10-28 shabbyx@gmail.com Generate libvulkan.so.1 on Linux instead of libvulkan.so 2020-10-27 shannon@lunarg.com build: Update known-good files for 1.2.158 header Bug: angleproject:5216 Change-Id: I74e10c44950f3be05cc12f22b44f1627af08ca81 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2506196 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexis Hetu a20f5b17 2020-08-18T11:26:50 Silence Control Flow Integrity (cfi) errors The cfi bot is throwing 3 different errors with ANGLE when using the Vulkan backend: - ChoosePhysicalDevice causes a "function with wrong dynamic type" error when using vkGetPhysicalDeviceProperties - In volk.c, using vkGetInstanceProcAddr and vkGetDeviceProcAddr also causes a "function with wrong dynamic type" error - In vk_mem_alloc.h, included from vk_mem_alloc_wrapper.cpp, GetAllocationCallbacks() causes a "unrelated cast" error This cl silences all 3 cfi errors. Bug: chromium:1116053 Change-Id: I864ec8d9e2acaec493f472e01b3987dcc641c58f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2363209 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Alexis Hétu <sugoi@chromium.org>
Reid Kleckner 78da538a 2020-02-26T21:23:16 Revert "Vulkan: Disable global merge for volk" This reverts commit bab2b3de2273796ca15edfc46747f3bbab3f27c3. Reason for revert: A fixed clang version has been rolled in, so this flag should no longer be necessary. Original change's description: > Vulkan: Disable global merge for volk > > This optimization pass breaks the build by exporting volk's internal > binding symbols from libGLESv2.so. Since the test binary also links volk, > this causes a SEGV as the wrong (uninitialized) function pointer is > called. > > This is an LLVM bug and will be fixed upstream: > https://reviews.llvm.org/D73235 > > Bug: angleproject:4351 > Change-Id: Iebe0eabd975f8109231df30eef8c9074af8190e9 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2023910 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Michael Spang <spang@chromium.org> TBR=spang@chromium.org,syoussefi@chromium.org,jmadill@chromium.org Bug: angleproject:4351 Change-Id: Ie832d7d42fab7c8360f2d4d548f1708164c60d3f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2076138 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Michael Spang <spang@chromium.org>
Michael Spang 468dfed3 2020-02-21T12:12:51 Reformat GN files Otherwise this blocks the CQ at presubmit. Bug: angleproject:3492 Change-Id: I3cf77c72daa358f5e1eabecf1dcb8808a1dc9e07 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2068538 Commit-Queue: Michael Spang <spang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Michael Spang bab2b3de 2020-01-22T14:52:31 Vulkan: Disable global merge for volk This optimization pass breaks the build by exporting volk's internal binding symbols from libGLESv2.so. Since the test binary also links volk, this causes a SEGV as the wrong (uninitialized) function pointer is called. This is an LLVM bug and will be fixed upstream: https://reviews.llvm.org/D73235 Bug: angleproject:4351 Change-Id: Iebe0eabd975f8109231df30eef8c9074af8190e9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2023910 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Michael Spang <spang@chromium.org>
Tobin Ehlis 697b2241 2020-01-09T12:19:07 Vulkan:Clarify volk license file name Need to explicitly specifly volk LICENSE.md filename in README.chromium file. Bug: angleproject:4225 Change-Id: I5d71ef0c28063f6e036f94ddb7d2c9e289fe79d2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1993397 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tobin Ehlis <tobine@google.com>
Tobin Ehlis 99c274ba 2020-01-08T09:39:03 Vulkan:Roll volk All ANGLE volk changes have been upstreamed to volk repo so rolling volk to sync with latest. Going forward we can just roll when/if we need newer versions of Vulkan Header supported by volk. Bug: angleproject:4225 Change-Id: I6132a94010bbc5f3356ebb0b7e2b2b661ecc68b2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1991722 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tobin Ehlis <tobine@google.com>
Tobin Ehlis db49bc7d 2020-01-07T09:18:43 Vulkan:Roll volk Roll volk to the latest version which supports Vulkan 1.1.130. I'm attempting to upstream our customizations to that version so this roll is in preparation of those changes hopefully landing. Bug: angleproject:4225 Change-Id: I02f3bd3808f812c0ec8196b6c815a781e7ab5eeb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1989479 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tobin Ehlis <tobine@google.com>
Tobin Ehlis 5fd73782 2019-08-09T11:46:46 Vulkan: Use volk to load vk* func ptrs Thanks to Jamie Madill for some fixes to get all CI test passing w/ volk. This change updates all ANGLE targets that use Vulkan to dyanmically link all of the VK entrypoints using the volk OSS library from https://github.com/zeux/volk. It's only two source files so baking them directly into ANGLE repo. Also it's used in both the tests and libANGLE trees so added to src/common/third_party/volk dir. Updated volk and the renderer to track latest instance and device that were loaded and renderer will refresh vk* function pointers if the current and previous device and/or instance don't match. This prevents errors in the test framework as we transition between backends, especially between VK HW & SwiftShader ICDs. This change rolls the Vulkan Loader forward to use the latest loader version which no longer allows static linking but requires dynamic linking. Bug: angleproject:3740 Bug: angleproject:4092 Bug: angleproject:4162 Bug: angleproject:4210 Bug: angleproject:4225 Change-Id: I8a0b7d24c9545bbfdfaa4b9357a9bfe6793e0140 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1965640 Commit-Queue: Tobin Ehlis <tobine@google.com> Reviewed-by: Tobin Ehlis <tobine@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>