dawn-cmake/src/dawn_native
Corentin Wallez 15e751e418 Vulkan: Implement initial version of the suballocation
This makes the Vulkan backend use the BuddyMemoryAllocator to
sub-allocate small resources inside a larger VkDeviceMemory object.
Right now the heuristic to decide to do suballocation is naive and
should be improved.

BUG=dawn:27

Change-Id: Idcc7b6686c086633c85328a7afb91ee84abf7b8c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/12662
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2019-10-24 21:32:27 +00:00
..
d3d12 Preliminary changes to Vulkan memory suballocation 2019-10-24 21:28:16 +00:00
metal Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
null Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
opengl Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
vulkan Vulkan: Implement initial version of the suballocation 2019-10-24 21:32:27 +00:00
Adapter.cpp Support BC formats as the first extension in Dawn 2019-08-02 00:06:38 +00:00
Adapter.h Support BC formats as the first extension in Dawn 2019-08-02 00:06:38 +00:00
AttachmentState.cpp Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
AttachmentState.h Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
BackendConnection.cpp OpenGL: Implement the backend connection and adapter. 2019-01-07 09:48:03 +00:00
BackendConnection.h OpenGL: Implement the backend connection and adapter. 2019-01-07 09:48:03 +00:00
BindGroup.cpp Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
BindGroup.h Change buffer-related sizes/offsets to be uint64_t 2019-04-05 20:51:29 +00:00
BindGroupAndStorageBarrierTracker.h Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
BindGroupLayout.cpp Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
BindGroupLayout.h Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
BindGroupTracker.h D3D12/Vulkan: Insert storage buffer barriers between compute pass dipatches 2019-10-22 17:28:20 +00:00
BuddyAllocator.cpp Rename INVALID_OFFSET to kInvalidOffset. 2019-09-27 15:11:52 +00:00
BuddyAllocator.h Rename INVALID_OFFSET to kInvalidOffset. 2019-09-27 15:11:52 +00:00
BuddyMemoryAllocator.cpp Preliminary changes to Vulkan memory suballocation 2019-10-24 21:28:16 +00:00
BuddyMemoryAllocator.h Preliminary changes to Vulkan memory suballocation 2019-10-24 21:28:16 +00:00
Buffer.cpp Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
Buffer.h Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
CommandAllocator.cpp Improve usage of static_casts over reinterpret_casts 2019-05-03 00:58:27 +00:00
CommandAllocator.h CommandAllocator: Default initalize allocated data. 2019-05-14 03:53:26 +00:00
CommandBuffer.cpp Add missing descriptors that are present in WebGPU. 2019-07-10 20:43:13 +00:00
CommandBuffer.h Add missing descriptors that are present in WebGPU. 2019-07-10 20:43:13 +00:00
CommandBufferStateTracker.cpp Change setVertexBuffers to setVertexBuffer 2019-10-10 07:29:58 +00:00
CommandBufferStateTracker.h Change setVertexBuffers to setVertexBuffer 2019-10-10 07:29:58 +00:00
CommandEncoder.cpp Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
CommandEncoder.h Implement debug markers and groups for CommandEncoder 2019-09-10 08:20:40 +00:00
CommandValidation.cpp Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
CommandValidation.h Implement debug markers and groups for CommandEncoder 2019-09-10 08:20:40 +00:00
Commands.cpp Change setVertexBuffers to setVertexBuffer 2019-10-10 07:29:58 +00:00
Commands.h Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
ComputePassEncoder.cpp Factor EncodingContext out of CommandEncoderBase. 2019-07-24 18:15:24 +00:00
ComputePassEncoder.h Factor EncodingContext out of CommandEncoderBase. 2019-07-24 18:15:24 +00:00
ComputePipeline.cpp Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
ComputePipeline.h dawn_native: deduplicate compute pipelines 2019-05-01 13:48:47 +00:00
DawnNative.cpp Fix compilation with shared_library components on Windows 2019-10-16 15:31:31 +00:00
Device.cpp Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
Device.h Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
DynamicUploader.cpp Replace size_t with uint64_t in ringbuffer. 2019-10-18 16:19:00 +00:00
DynamicUploader.h Replace size_t with uint64_t in ringbuffer. 2019-10-18 16:19:00 +00:00
EncodingContext.cpp Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
EncodingContext.h Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
Error.cpp Rename DeviceErrorCallback to ErrorCallback and add ErrorType arg 2019-08-27 21:41:56 +00:00
Error.h Rename DeviceErrorCallback to ErrorCallback and add ErrorType arg 2019-08-27 21:41:56 +00:00
ErrorData.cpp Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
ErrorData.h Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
ErrorScope.cpp Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
ErrorScope.h Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
ErrorScopeTracker.cpp Fixed compilation issues when using libstdc++ 2019-09-25 19:32:01 +00:00
ErrorScopeTracker.h Support ErrorScopes for asynchronous GPU execution 2019-09-17 18:24:07 +00:00
Extensions.cpp Support BC formats as the first extension in Dawn 2019-08-02 00:06:38 +00:00
Extensions.h Support BC formats as the first extension in Dawn 2019-08-02 00:06:38 +00:00
Fence.cpp Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
Fence.h Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
FenceSignalTracker.cpp Implement timeline fences in Dawn 2018-12-03 16:57:34 +00:00
FenceSignalTracker.h Implement timeline fences in Dawn 2018-12-03 16:57:34 +00:00
Format.cpp Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
Format.h Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
Forward.h Resource Management 5: D3D support for resource allocation. 2019-08-27 23:36:26 +00:00
Instance.cpp Add dawn_platform::Platform for handling tracing events in Dawn 2019-08-13 19:00:34 +00:00
Instance.h Add dawn_platform::Platform for handling tracing events in Dawn 2019-08-13 19:00:34 +00:00
ObjectBase.cpp WebGPU error handling 1: Return error objects on errors. 2019-02-13 13:09:18 +00:00
ObjectBase.h WebGPU error handling 1: Return error objects on errors. 2019-02-13 13:09:18 +00:00
PassResourceUsage.h Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
PassResourceUsageTracker.cpp Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
PassResourceUsageTracker.h Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
PerStage.cpp Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
PerStage.h Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
Pipeline.cpp Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
Pipeline.h Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
PipelineLayout.cpp Dynamic Buffer Offset : D3D Backend 2019-07-31 01:29:42 +00:00
PipelineLayout.h dawn_native: deduplicate pipeline layouts 2019-05-01 12:57:27 +00:00
ProgrammablePassEncoder.cpp Check bindgroup validity first in SetBindGroup 2019-07-30 06:49:09 +00:00
ProgrammablePassEncoder.h Factor EncodingContext out of CommandEncoderBase. 2019-07-24 18:15:24 +00:00
Queue.cpp Return Dawn result upon submit. 2019-09-23 21:21:10 +00:00
Queue.h Return Dawn result upon submit. 2019-09-23 21:21:10 +00:00
RefCounted.cpp Use single 64bit atomic refcount for Dawn objects 2019-05-23 23:55:14 +00:00
RefCounted.h Add CommandRecordingContext to D3D12 2019-10-10 18:06:58 +00:00
RenderBundle.cpp Implement RenderBundle in the frontend 2019-08-13 22:12:54 +00:00
RenderBundle.h Implement RenderBundle in the frontend 2019-08-13 22:12:54 +00:00
RenderBundleEncoder.cpp Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
RenderBundleEncoder.h Implement RenderBundle in the frontend 2019-08-13 22:12:54 +00:00
RenderEncoderBase.cpp Change setVertexBuffers to setVertexBuffer 2019-10-10 07:29:58 +00:00
RenderEncoderBase.h Change setVertexBuffers to setVertexBuffer 2019-10-10 07:29:58 +00:00
RenderPassEncoder.cpp Implement RenderBundle in the frontend 2019-08-13 22:12:54 +00:00
RenderPassEncoder.h Implement RenderBundle in the frontend 2019-08-13 22:12:54 +00:00
RenderPipeline.cpp Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
RenderPipeline.h Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
ResourceHeap.h Resource Management 7: Device memory sub-allocation using buddy allocator. 2019-10-03 18:17:31 +00:00
ResourceHeapAllocator.h Preliminary changes to Vulkan memory suballocation 2019-10-24 21:28:16 +00:00
ResourceMemoryAllocation.cpp Resource Management 7: Device memory sub-allocation using buddy allocator. 2019-10-03 18:17:31 +00:00
ResourceMemoryAllocation.h Preliminary changes to Vulkan memory suballocation 2019-10-24 21:28:16 +00:00
RingBufferAllocator.cpp Replace size_t with uint64_t in ringbuffer. 2019-10-18 16:19:00 +00:00
RingBufferAllocator.h Replace size_t with uint64_t in ringbuffer. 2019-10-18 16:19:00 +00:00
Sampler.cpp Rename SamplerDescriptor::compareFunction to compare. 2019-07-08 08:29:57 +00:00
Sampler.h Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
ShaderModule.cpp Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
ShaderModule.h Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
StagingBuffer.cpp Memory manager: buffer uploads (D3D) - Part 1 2019-01-29 00:10:07 +00:00
StagingBuffer.h Memory manager: buffer uploads (D3D) - Part 1 2019-01-29 00:10:07 +00:00
SwapChain.cpp Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
SwapChain.h Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
Texture.cpp Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
Texture.h Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
ToBackend.h Resource Management 5: D3D support for resource allocation. 2019-08-27 23:36:26 +00:00
Toggles.cpp Add a toggle to turn off vsync in Dawn 2019-10-15 07:43:05 +00:00
Toggles.h Add a toggle to turn off vsync in Dawn 2019-10-15 07:43:05 +00:00
dawn_platform.h Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00