Roll third_party/vulkan_memory_allocator/ 1ecb35c39..e0216a548 (103 commits)

$ git log 1ecb35c39..e0216a548 --date=short --no-merges --format='%ad %ae %s'
2021-08-30 geofflang Supress a build warning.
2021-06-10 pkasting Update Chromium-side files for upstream roll
2021-06-09 adam.sawicki Fixing Linux build on TravisCI (1)
2021-06-09 adam.sawicki Fix .gitignore to include binaries at new locations
2021-06-09 adam.sawicki Delete shader files
2021-06-09 adam.sawicki Delete binaries from old path
2021-06-09 adam.sawicki Deleted Premake
2021-06-09 adam.sawicki Regenerated documentation
2021-06-09 adam.sawicki Fixed link to include/vk_mem_alloc.h in and Doxyfile
2021-06-09 adam.sawicki Moving Doxyfile to main directory
2021-06-09 adam.sawicki Added VmaVector::shrink_to_fit instead of freeMemory parameter in resize, clear, to fix compilation with VMA_USE_STL_CONTAINERS
2021-06-08 pkasting Fix clang -Wdeprecated-copy.
2021-06-02 johannesschneider Update README
2021-06-02 johannesschneider Add VMA_STATIC_VULKAN_FUNCTIONS and set VMA_DYNAMIC_VULKAN_FUNCTIONS to ON by default
2021-06-02 johannesschneider Remove macros which can be configured through CMake from VmaUsage.h
2021-06-02 johannesschneider Enable compiling with multiple processes for VmaReplay
2021-06-02 johannesschneider Add documentation of CMake options to README
2021-06-02 johannesschneider Correct README
2021-06-02 johannesschneider Link VulkanMemoryAllocator to Vulkan only if static linking is enabled
2021-06-02 johannesschneider Expose important VMA settings macros as CMake options
2021-05-31 johannesschneider Improve consistency in naming of targets and options
2021-05-31 johannesschneider Replace add_definitions with add_compile_definitions
2021-05-31 johannesschneider Move add_subdirectory for shaders and VmaReplay to the end of the file
2021-05-31 johannesschneider Only set VMA_EXAMPLE_SOURCE_FILES when building sample app
2021-05-31 johannesschneider Make target_include_directories a one line instruction
2021-05-31 johannesschneider Remove CMAKE_DISABLE_IN_SOURCE_BUILD
2021-05-31 johannesschneider Rename VmaShaders to VmaBuildExampleShaders
2021-05-31 johannesschneider Remove source_group instructions
2021-05-31 johannesschneider Show default values for CMake options in README's table
2021-05-31 johannesschneider Replace Ninja with Make as default build instruction on Linux
2021-05-28 johannesschneider Rename replay app target and shaders target
2021-05-28 johannesschneider Fix VmaReplay build
2021-05-28 adam.sawicki Fixed link in documentation
2021-05-28 johannesschneider Minor typo fixes in code comments
2021-05-28 johannesschneider Add CMake build instructions
2021-05-28 johannesschneider Fix VMA_BUILD_EXAMPLE_APP_SHADERS being ignored on Linux
2021-05-28 johannesschneider Fix missing Vulkan dependency of VmaExample
2021-05-28 johannesschneider Do not set CMAKE_RUNTIME_OUTPUT_DIRECTORY
2021-05-28 johannesschneider Make building shaders, VMA example application and VMA replay app optional
2021-05-28 johannesschneider Remove reference to MoltenVK issue 175 which is fixed now
2021-05-25 johannesschneider Add CMake support
2021-05-17 devnexen clang build warning fixes proposal
2021-05-06 petr_kraus Docs typo
2021-04-19 adam.sawicki Moved main file vk_mem_alloc.h to subdirectory include/
2021-03-11 adam.sawicki Rebuilt binaries, regenerated documentation
2021-03-11 adam.sawicki Added parsing of command line parameters and GPU selection
2021-03-11 adam.sawicki Improved macros TEST, ERR_GUARD_VULKAN
2021-03-03 adam.sawicki Optimization: custom pools are on an intrusive double linked list not sorted vector
2021-03-03 adam.sawicki Fix for compilation on Linux
2021-03-03 adam.sawicki Optimization: dedicated allocations are on an intrusive double linked list not sorted vector
2021-02-26 adam.sawicki Removed deprecated function vmaResizeAllocation
2021-02-26 adam.sawicki Sample app: Added printing information about available memory heaps nad types
2021-02-23 adam.sawicki Fixed budget management in VmaBlockVector::Allocate for cases when some of multi-page allocations fail
2021-02-23 adam.sawicki Fix in tests for AMD APU with DEVICE_LOCAL heap of only 256 MB
2021-02-22 adam.sawicki Fix for build on Linux #6
2021-02-22 adam.sawicki Fix for build on Linux #5
2021-02-22 adam.sawicki Fix for build on Linux #4
2021-02-22 adam.sawicki Fix for build on Linux #3
2021-02-22 adam.sawicki Fix for build on Linux #2
2021-02-22 adam.sawicki Fix for build on Linux
2021-02-19 adam.sawicki Internal improvement: Added counting total number of VkDeviceMemory blocks.
2021-02-19 adam.sawicki Trying to fix Travis-CI build
2021-02-18 adam.sawicki A fix in TestPool_Benchmark for GPUs with only 256 MB of DEVICE_LOCAL memory
2021-02-16 adam.sawicki Migrated Linux CI build from to - updated status icon in
2021-02-16 adam.sawicki Updated copyright header to year 2021.
2021-02-16 adam.sawicki Minor update in
2021-02-16 adam.sawicki Rebuilt binaries using Visual Studio 2019
2021-02-16 adam.sawicki Updated - added RPCS3 to the list of known usages.
2021-02-15 karokidii mem_alloc: Optimize allocation conflict checking
2021-01-11 adam.sawicki Added support for VK_EXT_memory_priority
2020-12-02 ashkanaliabadi Refer to std string and stream with their fully qualified names.
2020-11-03 adam.sawicki Further improvements in documentation.
2020-11-03 adam.sawicki Improvements in documentation.
2020-11-03 adam.sawicki Fixes and clarifications in documentation
2020-10-28 rbarnes Drop trailing whitespace.
2020-10-28 rbarnes Make binary search overflow safe.
2020-10-15 adam.sawicki Minor formatting fix in documentation
2020-09-30 adam.sawicki Added Detroit: Become Human to the list of known software using this library
2020-09-30 adam.sawicki Fix std::min in VmaBlockVector::ProcessDefragmentations
2020-08-24 frank.richter Let VMA_SYSTEM_ALIGNED_FREE fall back to VMA_SYSTEM_FREE, if defined
2020-08-24 frank.richter Add vma_aligned_free() for symmetry
2020-08-24 frank.richter Make vma_aligned_alloc() functions static
2020-08-23 frank.richter Move preprocessor directives that may influence user code into implementation block
2020-08-21 ashkanaliabadi Fix misspellings.
2020-08-18 adam.sawicki Add test and documentation for resource aliasing (overlap).
2020-08-18 adam.sawicki Fix in documentation chapter "Finding out if memory is mappable"
2020-08-18 adam.sawicki Add "Atypical Games - proprietary game engine" to the list of software using this library
2020-08-10 stricmp Fix VMA_DYNAMIC_VULKAN_FUNCTIONS compilation errors when VK_NO_PROTOTYPES is defined
2020-07-27 d.korkmazturk Fix a typo in the explanation of VMA_ALLOCATION_CREATE_MAPPED_BIT
2020-07-16 adam.sawicki Fix compilation errors
2020-07-15 adam.sawicki Replace usage of old VK_LAYER_LUNARG_standard_validation and extension VK_EXT_debug_report with new VK_LAYER_KHRONOS_validation and extension VK_EXT_debug_utils also in VmaReplay
2020-07-15 adam.sawicki Replace usage of old layer VK_LAYER_LUNARG_standard_validation and extension VK_EXT_debug_report with new layer VK_LAYER_KHRONOS_validation and extension VK_EXT_debug_utils
2020-06-25 thakis mac: Only call system aligned_alloc() with the 11.0+ SDK.
2020-06-25 thakis Only use system aligned_alloc on mac/ios if the SDK has them.
2020-06-25 thakis Fix argument order for aligned_alloc on mac.
2020-06-25 thakis Make vulkan_memory_allocator build with the MacOSX11.0 SDK.
2020-07-06 adam.sawicki Improvement in VmaAlignUp, VmaAlignDown
2020-07-03 greenfoxlight.42 Correct if in mapping example
2020-06-24 adam.sawicki Clarify documentation of VmaAllocationInfo::size
2020-06-24 adam.sawicki Add assert to check success of a CPU memory allocation

Created with:
  roll-dep third_party/vulkan_memory_allocator

Change-Id: I6c4ebc4db8dd5e6bbada2e2a134e439a1d5c8ab5
Auto-Submit: Austin Eng <>
Reviewed-by: Shrek Shao <>
Commit-Queue: Shrek Shao <>
1 file changed
tree: ea1e7349275b03cde2b933852825d10a47517492
  1. .vscode/
  2. build_overrides/
  3. docs/
  4. examples/
  5. generator/
  6. infra/
  7. scripts/
  8. src/
  9. third_party/
  10. tools/
  11. .clang-format
  12. .gitattributes
  13. .gitignore
  14. .gn
  17. CMakeLists.txt
  18. codereview.settings
  19. dawn.json
  20. dawn_wire.json
  21. DEPS
  24. OWNERS
  26. README.chromium

Dawn's logo: a sun rising behind a stylized mountain inspired by the WebGPU logo. The text Dawn is written below it.

Dawn, a WebGPU implementation

Dawn is an open-source and cross-platform implementation of the work-in-progress 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 on Windows 10
    • Metal on macOS and iOS
    • Vulkan on Windows, Linux, ChromeOS, Android and Fuchsia
    • OpenGL as best effort where available
  • A client-server implementation of WebGPU for applications that are in a sandbox without access to native drivers

Helpful links:

Documentation table of content

Developer documentation:

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




Apache 2.0 Public License, please see LICENSE.


This is not an officially supported Google product.