Combination roll of VMA and ANGLE.

ANGLE now requires VMA 3.0 when Dawn's DEPS version was VMA 2.0.

Roll third_party/vulkan_memory_allocator/ e87036508..52dc220fb (212 commits)

https://chromium.googlesource.com/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/+log/e87036508bb1..52dc220fb326

$ git log e87036508..52dc220fb --date=short --no-merges --format='%ad %ae %s'
2023-08-28 abdolrashidi Set Vulkan version to 1.2
2023-08-15 abdolrashidi Disable aligned_alloc on new macOS
2023-08-15 abdolrashidi Minor change to vma_aligned_alloc
2023-08-10 abdolrashidi Apply local modifications to VMA 3.0
2023-07-19 contact cmake: install docs
2023-07-14 adam.sawicki Refactoring in FindMemoryPreferences
2023-07-14 adam.sawicki Added callback VmaDefragmentationInfo::pfnBreakCallback that allows to break long execution of vmaBeginDefragmentation
2023-07-13 juan git: ignore .vscode directory
2023-07-11 juan Fixup include of "vk_mem_alloc.h"
2023-07-11 juan cmake: Use share instead of DATADIR for CMake config files
2023-07-11 adam.sawicki Fixes in Cmake scripts after merging #350 (2)
2023-07-11 adam.sawicki Fixes in Cmake scripts after merging #350
2023-07-10 Tare.noN fixed copy paste error in vulkan sample
2023-07-05 juan Make VulkanMemoryAllocator a header only library
2023-05-31 contact cmake: use find_dependency
2023-06-28 contact cmake: always add vulkan headers dir
2023-06-30 rob2309 Added small documentation
2023-06-30 rob2309 Added VMA_EXTENDS_VK_STRUCT
2023-06-13 adam.sawicki Switched src/CMakeLists.txt to use C++17 by default to resolve issues with aligned_alloc
2023-06-12 adam.sawicki A fix in VmaBlockMetadata_TLSF::CreateAllocationRequest
2023-05-02 adam.sawicki Updated Doxyfile for Doxygen 1.9.6
2023-04-07 adam.sawicki Fixed bug in VmaDefragmentationContext_T::ComputeDefragmentation_Extensive
2023-04-06 adam.sawicki Fix in VmaDefragmentationContext_T::CounterStatus
2023-04-03 adam.sawicki Revert "Merge pull request #325 from lawadr/use-alignof"
2023-03-29 stha09 IWYU: add cstdio for snprintf in vk_mem_alloc.h
2023-03-22 3211473+lawadr Change __alignof to alignof
2023-03-06 adam.sawicki Improved documentation chapter "Resource aliasing (overlap)"
2023-02-24 adam.sawicki Fixed usage of VMA_FALLTHROUGH
2023-02-24 adam.sawicki Defined VMA_FALLTHROUGH to fix more compiler warnings
2023-02-24 adam.sawicki Fixes for some compiler warnings
2023-02-24 adam.sawicki GpuMemDumpVis.py: Updated version number
2023-02-24 adam.sawicki GpuMemDumpVis.py: Fixed division by zero error when only custom pools are used
2023-02-21 adam.sawicki Further fixes to importing function vkGetPhysicalDeviceMemoryProperties2 / vkGetPhysicalDeviceMemoryProperties2KHR
2023-02-19 vladislavbelovdev Fixes uninitialized vkGetPhysicalDeviceMemoryProperties2KHR during ImportVulkanFunctions_Custom.
2023-02-02 jeroen Fix compilation warning.
2023-01-30 adam.sawicki Added missing vmaFlushAllocation in documentation
2023-01-19 adam.sawicki Added missing #include <cstdio>
2023-01-04 denorl2009 Fix builds on Linux CI
2023-01-04 denorl2009 Fix atomic type used in AtomicTransactionalIncrement
2022-11-29 juan MSVC cleanup
2022-11-29 juan Specify CXX as the language being used for the project
2022-11-29 juan Fix endif()
2022-11-30 adam.sawicki Fixes in CMakeLists.txt regarding Doxygen usage
2022-11-29 adam.sawicki Further fixes in CMakeLists.txt
2022-11-29 adam.sawicki Fixed potential integer overflow in VmaAllocator_T::AllocateMemoryOfType when maxMemoryAllocationCount Vulkan limit has high value
2022-11-29 adam.sawicki Refactored some switch statements
2022-11-29 adam.sawicki Removed unused local variables unusedRangeSize
2022-11-29 adam.sawicki Split macros into separate VMA_DEBUG_LOG and VMA_DEBUG_LOG_FORMAT
2022-11-29 adam.sawicki Fixing CMakeLists.txt for older Cmake
2022-11-29 adam.sawicki Added usage of PROJECT_IS_TOP_LEVEL around find_package in CMakeLists.txt
(...)
2022-01-26 adam.sawicki Misc minor fixes
2022-01-26 adam.sawicki Fix for 32-bit compilation
2022-01-24 adam.sawicki Fixed syntax errors
2022-01-24 adam.sawicki Optimized bit functions, added intrinsics for GCC and Clang
2022-01-24 the Fix build - 64 bit functions do not exist
2022-01-24 adam.sawicki Added debug printing of unfreed allocation
2022-01-21 the Fix build - removed usage of DWORD type
2022-01-21 adam.sawicki Minor internal fix - removed usage of DWORD type
2022-01-21 adam.sawicki Fixed vmaBuildVirtualBlockStatsString, vmaFreeVirtualBlockStatsString to also be inside #if VMA_STATS_STRING_ENABLED
2022-01-20 adam.sawicki Refactored virtual allocator. (COMPATIBILITY BREAKING!) Added TLSF algoritym.
2022-01-14 tiagoloureirochaves Fix MSVC warning C4505 for VmaCreateStringCopy
2022-01-14 git Add missing length annotation to pBudgets parameter in vmaGetHeapBudgets
2022-01-12 adam.sawicki Forgot to delete VmaReplay.exe
2022-01-10 adam.sawicki Fixed bugs after merge
2022-01-10 adam.sawicki Deleted the whole Record&Replay feature. COMPATIBILITY BREAKING!
2022-01-10 adam.sawicki Deleted the whole feature of lost allocations. COMPATIBILITY BREAKING!
2022-01-07 adam.sawicki Fixed compilation of tests.
2022-01-07 adam.sawicki Removed VmaPoolStats::unusedRangeSizeMax. COMPATIBILITY BREAKING!
2022-01-05 adam.sawicki Minor fixes
2022-01-05 adam.sawicki Fixed CMakeLists.txt regarding VMA_DYNAMIC_VULKAN_FUNCTIONS, VMA_STATIC_VULKAN_FUNCTIONS
2022-01-05 adam.sawicki Fixed typo in code
2021-12-22 adam.sawicki Removed VMA_USE_STL_CONTAINERS
2021-12-22 adam.sawicki Fixed vmaGetPoolStats for dedicated allocations
2021-12-21 adam.sawicki Improved documentation of vmaMapMemory function
2021-12-21 adam.sawicki Fixed creation and displaying of JSON memory dump for dedicated allocations in custom pools.
2021-12-21 adam.sawicki Added comments documenting class VmaJsonWriter
2021-12-20 adam.sawicki Fixed documentation about OpenGL interop
2021-12-17 adam.sawicki Updated documentation regarding dedicated allocations in custom pools
2021-12-17 adam.sawicki Fixed usage of VMA_STATIC_VULKAN_FUNCTIONS, VMA_DYNAMIC_VULKAN_FUNCTIONS in CmakeLists.txt
2021-12-17 adam.sawicki Added support for dedicated allocations in custom pools
2021-12-14 adam.sawicki Major refactoring - reordered sections in vk_mem_alloc.h
2021-12-10 adam.sawicki Refactoring - created class VmaDedicatedAllocationList
2021-12-07 adam.sawicki Fixes in CMakeLists.txt files
2021-12-07 adam.sawicki Improved NATVIS file - added support for VmaIntrusiveLinkedList usage
2021-12-07 yaoyao_cn fix crash in VmaAllocator_T::AllocateDedicatedMemory
2021-12-06 adam.sawicki Renamed function vmaGetBudget to vmaGetHeapBudgets. COMPATIBILITY BREAKING!
2021-12-06 adam.sawicki Internal optimization in traversal of VmaBlockMetadata_Generic::m_Suballocations
2021-12-06 adam.sawicki Added flag VMA_ALLOCATION_CREATE_CAN_ALIAS_BIT
2021-12-03 adam.sawicki Improvements in documentation
2021-12-03 adam.sawicki Added parameters -t --Test and -s -TestSparseBinding to the test app, to execute tests and exit.
2021-12-03 adam.sawicki Improvements in CMakeLists.txt
2021-12-02 adam.sawicki Internal optimization with m_pBlockVectors
2021-12-02 adam.sawicki Improvement in CMakeLists.txt
2021-12-02 adam.sawicki Fix in TestHeapSizeLimit
2021-11-29 adam.sawicki Added VmaVulkanFunctions::vkGetInstanceProcAddr, vkGetDeviceProcAddr
2021-11-25 adam.sawicki Added a comment after #207
2021-11-25 hrydgard Add PPSSPP to the "Software using this library" section of README.md
2021-11-23 adam.sawicki Added convenience function vmaGetAllocationMemoryProperties
2021-11-22 justsid Added X-Plane to the list of software using VMA
2021-11-16 scribam Compatibility fix with old sdks where VK_ERROR_UNKNOWN is not defined

Roll third_party/angle/ 8fd035f17..c815735ad (5 commits)

https://chromium.googlesource.com/angle/angle/+log/8fd035f17e9b..c815735ad983

$ git log 8fd035f17..c815735ad --date=short --no-merges --format='%ad %ae %s'
2024-01-10 angle-autoroll Roll Chromium from 75a96f770572 to efb407701371 (638 revisions)
2024-01-09 m.maiya eglGetError is now a lockless entrypoint
2024-01-08 angle-autoroll Manual roll VK-GL-CTS from c92e4b2608d4 to 75a6a8315e20 (14 revisions)
2024-01-09 angle-autoroll Roll Chromium from 91e307af275c to 75a96f770572 (565 revisions)
2023-08-17 abdolrashidi Vulkan: Drop support for VMA 2.0

Bug: None
Change-Id: I9b3888ba795e125cd924e07d459849cbc3b16cf3
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/168863
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Loko Kung <lokokung@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
3 files changed
tree: be70bf4e9ab0a2e5eea2200c7560f2fef1e957d3
  1. .github/
  2. .vscode/
  3. build_overrides/
  4. docs/
  5. generator/
  6. include/
  7. infra/
  8. scripts/
  9. src/
  10. test/
  11. third_party/
  12. tools/
  13. webgpu-cts/
  14. .bazelrc
  15. .clang-format
  16. .clang-tidy
  17. .gitattributes
  18. .gitignore
  19. .gitmodules
  20. .gn
  21. AUTHORS
  22. BUILD.bazel
  23. BUILD.gn
  24. CMakeLists.txt
  25. CMakeSettings.json
  26. CODE_OF_CONDUCT.md
  27. codereview.settings
  28. CONTRIBUTING.md
  29. CPPLINT.cfg
  30. DEPS
  31. DIR_METADATA
  32. Doxyfile
  33. go.mod
  34. go.sum
  35. go_presubmit_support.py
  36. LICENSE
  37. OWNERS
  38. PRESUBMIT.py
  39. README.chromium
  40. README.md
  41. WORKSPACE.bazel
README.md

Build Status Matrix Space

Dawn, a WebGPU implementation

Dawn is an open-source and cross-platform implementation of the WebGPU standard. More precisely it implements webgpu.h that is a one-to-one mapping with the WebGPU IDL. Dawn is meant to be integrated as part of a larger system and is the underlying implementation of WebGPU in Chromium.

Dawn provides several WebGPU building blocks:

  • WebGPU C/C++ headers that applications and other building blocks use.
    • The webgpu.h version that Dawn implements.
    • A C++ wrapper for the webgpu.h.
  • A “native” implementation of WebGPU using platforms' GPU APIs: D3D12, Metal, Vulkan and OpenGL. See per API support for more details.
  • A client-server implementation of WebGPU for applications that are in a sandbox without access to native drivers
  • Tint is a compiler for the WebGPU Shader Language (WGSL) that can be used in standalone to convert shaders from and to WGSL.

Helpful links:

Documentation table of content

Developer documentation:

User documentation: (TODO, figure out what overlaps with the webgpu.h docs)

License

BSD 3-Clause License, please see LICENSE.

Disclaimer

This is not an officially supported Google product.