CMake-only fork of https://dawn.googlesource.com/dawn with cleaned, vendored dependencies
Go to file
Austin Eng 972c238812 Roll third_party/vulkan_memory_allocator/ e0216a548..5e49f57a6 (87 commits)
This is a roll to the same revision that ANGLE uses to unblock the ANGLE roll.

e0216a5484..5e49f57a6e

$ git log e0216a548..5e49f57a6 --date=short --no-merges --format='%ad %ae %s'
2021-11-12 jmadill Fix compiliation error on Mac/Android.
2021-11-03 jmadill Suppress semicolon warning in GN.
2021-08-30 geofflang Supress a build warning.
2021-06-10 pkasting Update Chromium-side files for upstream roll
2021-04-06 cwallez BUILD.gn: Make the vulkan-headers directory overridable.
2021-02-12 shawn.p.huang change the default gn target to include vma.cpp
2021-02-03 ehmaldonado Move metadata in OWNERS files to DIR_METADATA files
2021-01-27 shawn.p.huang Add vma.cpp contains vma's implementation.
2021-01-27 shawn.p.huang Add a new target with the VmaUsage.cpp and VmaUsage.h
2020-08-26 jmadill Suppress two override suggestion warnings.
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 Make vulkan_memory_allocator build with the MacOSX11.0 SDK.
2020-05-05 jmadill Restore BUILD.gn.
2020-05-04 jmadill Suppress a couple more VMA warnings and update README.
2020-05-01 jmadill Update integration for use with Chromium.
2020-04-17 jonahr Modify to not depend directly on volk.
2020-04-07 jmadill Update location modifications.
2020-04-03 jmadill Fix Clang implicit fallthrough warning.
2020-04-03 jmadill Add local modifications for Vulkan Memory Allocator.
2021-11-05 adam.sawicki Documented some members of VmaVulkanFunctions to clarify which functions to fetch
2021-11-03 adam.sawicki Fixing TravisCI (Linux) CI #2
2021-11-03 adam.sawicki Fixing TravisCI (Linux) CI
2021-11-03 git Correct Haskell bindings author name
2021-11-03 git Add typedefs for virtual allocation structs in ordinary identifier namespace
2021-10-30 adam.sawicki Fixed icon of Travis CI Linux build in README
2021-10-30 adam.sawicki Fix for compilation on Linux
2021-10-30 adam.sawicki Added mention of virtual allocator to README
2021-10-30 adam.sawicki Made virtual allocations not applying VMA_DEBUG_MARGIN
2021-10-30 adam.sawicki Fixes to various bugs found during extensive testing
2021-10-30 adam.sawicki Optimized VmaBlockMetadata_Buddy - using VmaPoolAllocator to allocate nodes
2021-10-30 adam.sawicki Refactoring: Added function VmaAddStatInfoAllocation, VmaAddStatInfoUnusedRange
2021-10-30 adam.sawicki Improved VmaBlockMetadata_Buddy when used as a virtual allocator, to support allocation sizes down to 1
2021-10-30 adam.sawicki Removed VMA_MIN_FREE_SUBALLOCATION_SIZE_TO_REGISTER to simplify the code
2021-10-30 adam.sawicki Added support for VMA_VIRTUAL_BLOCK_CREATE_BUDDY_ALGORITHM_BIT
2021-10-30 adam.sawicki Changed behavior of buddy allocator to align allocation sizes to power of 2 instead of accounting the remaining space (internal fragmentation) as free
2021-10-30 adam.sawicki Added support for VMA_VIRTUAL_BLOCK_CREATE_LINEAR_ALGORITHM_BIT
2021-10-29 adam.sawicki Implemented VmaBlockMetadata_Linear::Clear
2021-10-28 adam.sawicki Preparations for adding support for alternative algorithms in virtual blocks and tests for them
2021-10-28 adam.sawicki Added documentation chapter "Virtual allocator"
2021-10-28 adam.sawicki Written documentation for API of the virtual allocator
2021-10-28 adam.sawicki Implemented vmaBuildVirtualBlockStatsString, vmaFreeVirtualBlockStatsString
2021-10-28 adam.sawicki Improvement in vmaCreateAllocator in case creation fails
2021-10-28 adam.sawicki Implemented vmaClearVirtualBlock
2021-10-28 adam.sawicki Implemented vmaCalculateVirtualBlockStats
2021-10-28 adam.sawicki Enabled more tests
2021-10-28 adam.sawicki More coding and more tests. Basic functionality is working now.
2021-10-28 adam.sawicki Essential refactoring that made the test not crashing.
2021-10-28 adam.sawicki More implementation and first tests.
2021-10-28 adam.sawicki Defined interface for virtual allocator:
2021-10-27 adam.sawicki Fixed TestInvalidAllocations
2021-10-27 adam.sawicki Necessary refactoring to prepare for virtual allocator
2021-10-21 adam.sawicki Fixing logic of VmaDefragmentationAlgorithm_Fast::PostprocessMetadata broken by #201
2021-10-18 GermanAizek Code refactor (lower scope, local var, default constructor and destructor)
2021-10-18 adam.sawicki Fixes in comments
2021-10-06 lukasz.izdebski doxygen directory fix
2021-10-06 lukasz.izdebski doxygen generation fix
2021-10-06 lukasz.izdebski Doxygen added to CMake, shader project dependency added to Sample Project
2021-09-30 danielkrupinski Replace tabs with spaces
2021-09-30 adam.sawicki Standardized line endings to LF
2021-09-29 danielkrupinski Use forwarding references with std::forward()
2021-09-22 rverschelde Remove trailing whitespace
2021-09-20 danielkrupinski Adjust VMA_MIN() and VMA_MAX() macros to work despite NOMINMAX being defined or not.
2021-09-20 adam.sawicki Little improvement in README
2021-09-20 sk Fixed issue #192 with hardcoded VK_USE_PLATFORM_WIN32_KHR
2021-08-09 adam.sawicki Change all usage of VK_ERROR_VALIDATION_FAILED_EXT to VK_ERROR_UNKNOWN or VK_ERROR_INITIALIZATION_FAILED
2021-07-29 adam.sawicki Fixes and improvements in documentation
2021-07-28 adam.sawicki Include block IDs in debug log messages
2021-07-28 adam.sawicki Minor fixes in the docs - language
2021-07-28 adam.sawicki Added documentation chapter about OpenGL interop
2021-07-28 adam.sawicki Moved main documentation text from the beginning to the end of file
2021-07-28 adam.sawicki Removed unused variable
2021-07-25 phil-el Do not fail travis build if the build directory already exists.
2021-07-23 Hindrik1997 Add include_directories to CMake to include the header files.
2021-07-21 Hindrik1997 Disable broken aligned_alloc on new versions of macOS and revert to old behaviour.
2021-07-07 adam.sawicki Fixed documentation of the new function vmaCreateBufferWithAlignment
2021-07-07 adam.sawicki Added VmaAllocatorCreateInfo::pTypeExternalMemoryHandleTypes
2021-06-28 adam.sawicki Added function vmaCreateBufferWithAlignment
2021-06-25 adam.sawicki Used range-based for loops wherever I could
2021-06-21 adam.sawicki Regenerated documentation
2021-06-21 adam.sawicki Fixed docs
2021-06-21 adam.sawicki Fixes. Left only new member VmaPoolCreateInfo::pMemoryAllocateNext.
2021-06-18 adam.sawicki Fix to online documentation
2021-06-18 adam.sawicki Added VmaPoolCreateInfo::minAllocationAlignment
2021-06-14 adam.sawicki Renamed macro VMA_DEBUG_ALIGNMENT to VMA_MIN_ALIGNMENT as there are valid use cases for it other than debugging purposes.
2020-10-23 adam.sawicki Added VmaAllocatorCreateInfo::pTypeExternalMemoryHandleTypes
2020-10-05 adam.sawicki Add VmaPoolCreateInfo::pMemoryAllocateNext

Created with:
  roll-dep third_party/vulkan_memory_allocator

Change-Id: Id06b17662ff37425b5b8b7f7d1901da6d73c5260
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/74201
Commit-Queue: Austin Eng <enga@chromium.org>
Auto-Submit: Austin Eng <enga@chromium.org>
Reviewed-by: Loko Kung <lokokung@google.com>
Commit-Queue: Loko Kung <lokokung@google.com>
2021-12-21 21:21:42 +00:00
.vscode .vscode: Fix quotations in windows 'gn gen' task 2021-07-21 14:07:49 +00:00
build_overrides Roll SwiftShader from 562df4889b81 to f354daff5a2b (164 revisions) 2021-12-21 19:14:52 +00:00
docs Configure the namespace of native implementation in api.json 2021-12-16 04:54:38 +00:00
examples Remove [[block]] attribute from all shaders 2021-12-15 13:13:26 +00:00
generator dawn_wire: use memcpy on structures when possible 2021-12-21 04:04:51 +00:00
infra Update Mac version and remove stale experiment 2021-11-29 17:18:37 +00:00
scripts Remove CubeReflection and the dependency on GLM 2021-12-14 08:42:36 +00:00
src Implement readonly depth/stencil without sample from it 2021-12-21 04:02:22 +00:00
third_party Remove CubeReflection and the dependency on GLM 2021-12-14 08:42:36 +00:00
tools/memory/asan Fix is_asan build (at least on Mac) 2020-04-06 22:27:02 +00:00
.clang-format Add .clang-format 2017-11-28 16:18:39 -05:00
.gitattributes Add .gitattributes to normalize EOL 2019-07-15 12:23:18 +00:00
.gitignore Remove CubeReflection and the dependency on GLM 2021-12-14 08:42:36 +00:00
.gn build: Override angle_has_rapidjson to false 2021-08-19 22:14:27 +00:00
AUTHORS Rename NXT -> Dawn in the comments 2018-07-18 22:54:06 +02:00
BUILD.gn Add a build target for a webgpu_dawn library 2021-12-09 20:03:48 +00:00
CMakeLists.txt Remove CubeReflection and the dependency on GLM 2021-12-14 08:42:36 +00:00
DEPS Roll third_party/vulkan_memory_allocator/ e0216a548..5e49f57a6 (87 commits) 2021-12-21 21:21:42 +00:00
DIR_METADATA Move metadata in OWNERS files to DIR_METADATA files 2021-02-04 01:26:43 +00:00
LICENSE Fix google3 license related issues 2021-12-02 21:25:58 +00:00
OWNERS Add more / finer-grained OWNERS 2021-11-02 09:30:52 +00:00
PRESUBMIT.py Force Python 3 in presubmit 2021-07-20 17:57:20 +00:00
README.chromium Add component to OWNERS and fixup repo URL in README.chromium 2018-09-25 20:53:37 +00:00
README.md Improve validation errors, Part 1 2021-09-23 21:26:33 +00:00
codereview.settings codereview.setings: default to not squashing on git cl upload 2021-03-10 18:35:58 +00:00
dawn.json Remove AlphaOp 2021-12-17 03:49:48 +00:00
dawn_wire.json dawn_wire: Implement requestAdapter and requestDevice 2021-12-15 21:52:17 +00:00

README.md

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)

Status

(TODO)

License

Apache 2.0 Public License, please see LICENSE.

Disclaimer

This is not an officially supported Google product.