dawn-cmake/src/backend
Corentin Wallez aa13be96e8 Make the Vulkan backend support implicit barriers.
With this commit the Vulkan backend completely ignores the explicit
barrier commands passed from the frontend, and generates its own
pipeline barriers.

Right now it encodes each barrier just before the resources are used,
which is quite bad but will be optimized later.

This commit also makes the frontend command buffer validation perform
the checks necessary for implicit barriers (although they are redundant
with checks for explicit barriers) because the tracking can pre-compute
pass usage information that's useful for the Vulkan backend.

Tests for usage validation inside passes will be added once the concept
of transition is removed from the API.
2018-07-11 17:17:21 +02:00
..
d3d12 Make the Vulkan backend support implicit barriers. 2018-07-11 17:17:21 +02:00
metal Make the Vulkan backend support implicit barriers. 2018-07-11 17:17:21 +02:00
null Make the Vulkan backend support implicit barriers. 2018-07-11 17:17:21 +02:00
opengl Make the Vulkan backend support implicit barriers. 2018-07-11 17:17:21 +02:00
vulkan Make the Vulkan backend support implicit barriers. 2018-07-11 17:17:21 +02:00
BindGroup.cpp Vulkan: Implement BindGroups 2018-02-05 13:27:47 -05:00
BindGroup.h Vulkan: Implement BindGroups 2018-02-05 13:27:47 -05:00
BindGroupLayout.cpp Use a descriptor for BindGroupLayout (#211) 2018-07-10 12:23:50 -07:00
BindGroupLayout.h Use a descriptor for BindGroupLayout (#211) 2018-07-10 12:23:50 -07:00
BlendState.cpp Format: src/backend 2017-11-28 16:18:39 -05:00
BlendState.h Format: src/backend 2017-11-28 16:18:39 -05:00
Buffer.cpp Make EnumClassBitmask operations constexpr 2018-07-11 17:17:21 +02:00
Buffer.h Make EnumClassBitmask operations constexpr 2018-07-11 17:17:21 +02:00
Builder.cpp Format: src/backend 2017-11-28 16:18:39 -05:00
Builder.h Format: src/backend 2017-11-28 16:18:39 -05:00
CMakeLists.txt Make the Vulkan backend support implicit barriers. 2018-07-11 17:17:21 +02:00
CommandAllocator.cpp Format: src/backend 2017-11-28 16:18:39 -05:00
CommandAllocator.h Format: src/backend 2017-11-28 16:18:39 -05:00
CommandBuffer.cpp Make the Vulkan backend support implicit barriers. 2018-07-11 17:17:21 +02:00
CommandBuffer.h Make the Vulkan backend support implicit barriers. 2018-07-11 17:17:21 +02:00
CommandBufferStateTracker.cpp Make the Vulkan backend support implicit barriers. 2018-07-11 17:17:21 +02:00
CommandBufferStateTracker.h Make the Vulkan backend support implicit barriers. 2018-07-11 17:17:21 +02:00
Commands.cpp Move FreeCommands and SkipCommand to their own file 2018-07-10 10:59:44 +02:00
Commands.h Move FreeCommands and SkipCommand to their own file 2018-07-10 10:59:44 +02:00
ComputePipeline.cpp Format: src/backend 2017-11-28 16:18:39 -05:00
ComputePipeline.h Format: src/backend 2017-11-28 16:18:39 -05:00
DepthStencilState.cpp Format: src/backend 2017-11-28 16:18:39 -05:00
DepthStencilState.h Format: src/backend 2017-11-28 16:18:39 -05:00
Device.cpp Use a descriptor for BindGroupLayout (#211) 2018-07-10 12:23:50 -07:00
Device.h Use a descriptor for BindGroupLayout (#211) 2018-07-10 12:23:50 -07:00
Error.cpp Add an Error and ResultOrError<T> type and tests 2018-05-31 15:00:28 -04:00
Error.h Use a descriptor for PipelineLayout (#206) 2018-06-27 16:21:39 -07:00
ErrorData.cpp Add an Error and ResultOrError<T> type and tests 2018-05-31 15:00:28 -04:00
ErrorData.h Add an Error and ResultOrError<T> type and tests 2018-05-31 15:00:28 -04:00
Forward.h Add Device::CreateQueue() instead of the builder 2018-06-18 13:33:40 -04:00
InputState.cpp Implement support for all Int32 vertex formats. (#179) 2018-04-10 14:35:17 -04:00
InputState.h Implement unorm_rgba8 and unorm_rg8 vertex formats. 2018-04-09 11:25:31 -04:00
PassResourceUsage.h Make the Vulkan backend support implicit barriers. 2018-07-11 17:17:21 +02:00
PerStage.cpp Format: src/backend 2017-11-28 16:18:39 -05:00
PerStage.h Format: src/backend 2017-11-28 16:18:39 -05:00
Pipeline.cpp Use a descriptor for PipelineLayout (#206) 2018-06-27 16:21:39 -07:00
Pipeline.h Format: src/backend 2017-11-28 16:18:39 -05:00
PipelineLayout.cpp Move mDevice from PipelineLayoutVk to PipelineLayoutBase 2018-07-03 14:54:40 -07:00
PipelineLayout.h Move mDevice from PipelineLayoutVk to PipelineLayoutBase 2018-07-03 14:54:40 -07:00
Queue.cpp Add Device::CreateQueue() instead of the builder 2018-06-18 13:33:40 -04:00
Queue.h Add Device::CreateQueue() instead of the builder 2018-06-18 13:33:40 -04:00
RefCounted.cpp Fix BindGroupLayout leak in PipelineLayout default. 2018-04-17 18:10:57 -04:00
RefCounted.h Format: src/backend 2017-11-28 16:18:39 -05:00
RenderPassDescriptor.cpp Rename RenderPassInfo to RenderPassDescriptor 2018-05-16 11:18:14 -04:00
RenderPassDescriptor.h Rename RenderPassInfo to RenderPassDescriptor 2018-05-16 11:18:14 -04:00
RenderPipeline.cpp Rename RenderPassInfo to RenderPassDescriptor 2018-05-16 11:18:14 -04:00
RenderPipeline.h Rename RenderPassInfo to RenderPassDescriptor 2018-05-16 11:18:14 -04:00
Sampler.cpp Use a descriptor for PipelineLayout (#206) 2018-06-27 16:21:39 -07:00
Sampler.h Use Error in Sampler and autogenerated validation functions 2018-05-31 15:00:28 -04:00
ShaderModule.cpp Format: src/backend 2017-11-28 16:18:39 -05:00
ShaderModule.h Format: src/backend 2017-11-28 16:18:39 -05:00
SwapChain.cpp Make the Vulkan backend support implicit barriers. 2018-07-11 17:17:21 +02:00
SwapChain.h Make the Vulkan backend support implicit barriers. 2018-07-11 17:17:21 +02:00
Texture.cpp Change render passes from multi to single pass. 2018-05-16 11:18:14 -04:00
Texture.h Make the Vulkan backend support implicit barriers. 2018-07-11 17:17:21 +02:00
ToBackend.h Rename RenderPassInfo to RenderPassDescriptor 2018-05-16 11:18:14 -04:00