dawn-cmake/src/dawn_native/d3d12
Corentin Wallez ac67fec1c9 dawn_native: Add Instance and Adapters
New objects are introduced to control what happens before device
creation in dawn_native:
 - Instance: a connection from the application to dawn_native that is
used for dependency injection and to discover adapters.
 - Adapters: represents the possibility of device creation for a specific
(GPU, backend) pair.
 - BackendConnection: an internal object that standardizes the interface
between the frontend and backends.

The BackendConnection interface is implemented for the Null backend and
stubbed out in other backends. This allows this change to port the
ValidationTests to use the new Instance and Adapters concept and deal
with other backends later.

BUG=dawn:29

Change-Id: I19719a9342b4af091accc0c02fb6b9697eadde7b
Reviewed-on: https://dawn-review.googlesource.com/c/3500
Reviewed-by: Stephen White <senorblanco@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2019-01-04 10:30:40 +00:00
..
BindGroupD3D12.cpp Remove BufferView and inline offset/size in BindGroup 2018-12-07 12:31:53 +00:00
BindGroupD3D12.h Descriptorize BindGroups. 2018-12-05 07:18:30 +00:00
BindGroupLayoutD3D12.cpp D3D12 fix for register binding offsets. 2018-11-01 13:59:19 +00:00
BindGroupLayoutD3D12.h Make dawn_native use its own header for Dawn datatypes 2018-07-27 12:56:26 +02:00
BufferD3D12.cpp Remove BufferView and inline offset/size in BindGroup 2018-12-07 12:31:53 +00:00
BufferD3D12.h Remove BufferView and inline offset/size in BindGroup 2018-12-07 12:31:53 +00:00
CommandAllocatorManager.cpp Let DeviceBase know about Completed and LastSubmitted command Serials 2018-12-01 03:20:19 +00:00
CommandAllocatorManager.h dawn_native: Fixup namespace from backend:: to dawn_native:: 2018-07-25 11:27:55 +02:00
CommandBufferD3D12.cpp Implement 'baseVertex' in drawIndexed() on D3D12, Metal and Vulkan 2018-12-13 01:05:26 +00:00
CommandBufferD3D12.h Validate that mapped buffers aren't used in submits. 2018-11-07 10:02:43 +00:00
ComputePipelineD3D12.cpp D3D12 fix for register binding offsets. 2018-11-01 13:59:19 +00:00
ComputePipelineD3D12.h Descriptorize ComputePipeline 2018-09-05 08:32:53 -04:00
DescriptorHeapAllocator.cpp Let DeviceBase know about Completed and LastSubmitted command Serials 2018-12-01 03:20:19 +00:00
DescriptorHeapAllocator.h dawn_native: Fixup namespace from backend:: to dawn_native:: 2018-07-25 11:27:55 +02:00
DeviceD3D12.cpp dawn_native: Add Instance and Adapters 2019-01-04 10:30:40 +00:00
DeviceD3D12.h Replace DepthStencilState builder via DepthStencilState descriptor. 2019-01-04 04:28:37 +00:00
Forward.h Replace DepthStencilState builder via DepthStencilState descriptor. 2019-01-04 04:28:37 +00:00
InputStateD3D12.cpp Fix Windows compilation using GN and clang-cl. 2018-08-14 21:42:32 +02:00
InputStateD3D12.h Fix Windows compilation using GN and clang-cl. 2018-08-14 21:42:32 +02:00
NativeSwapChainImplD3D12.cpp Let DeviceBase know about Completed and LastSubmitted command Serials 2018-12-01 03:20:19 +00:00
NativeSwapChainImplD3D12.h Make dawn_native use its own header for Dawn datatypes 2018-07-27 12:56:26 +02:00
PipelineLayoutD3D12.cpp Add D3D12 Functionality For Multiple Bind Groups 2018-12-18 19:59:59 +00:00
PipelineLayoutD3D12.h Make dawn_native use its own header for Dawn datatypes 2018-07-27 12:56:26 +02:00
PlatformFunctions.cpp Make Dawn error macro more explicit and have an "error type" 2018-09-11 07:55:27 -04:00
PlatformFunctions.h D3D12: Dynamically load D3D12, DXGI and D3DCompiler 2018-08-31 09:13:35 -04:00
QueueD3D12.cpp Fix for D3D12 re-used bindgroup bug. 2018-10-04 16:59:05 +00:00
QueueD3D12.h Generate a single ProcTable instead of one per backend. 2018-08-02 13:39:07 +02:00
RenderPassDescriptorD3D12.cpp Fix Windows compilation using GN and clang-cl. 2018-08-14 21:42:32 +02:00
RenderPassDescriptorD3D12.h Fix Windows compilation using GN and clang-cl. 2018-08-14 21:42:32 +02:00
RenderPipelineD3D12.cpp Unify the compare function for sampler and depth stencil 2019-01-04 09:53:50 +00:00
RenderPipelineD3D12.h Render Pipeline Descriptorization -- Part I 2018-12-10 19:47:22 +00:00
ResourceAllocator.cpp Let DeviceBase know about Completed and LastSubmitted command Serials 2018-12-01 03:20:19 +00:00
ResourceAllocator.h dawn_native: Fixup namespace from backend:: to dawn_native:: 2018-07-25 11:27:55 +02:00
ResourceUploader.cpp dawn_native: Fixup namespace from backend:: to dawn_native:: 2018-07-25 11:27:55 +02:00
ResourceUploader.h dawn_native: Fixup namespace from backend:: to dawn_native:: 2018-07-25 11:27:55 +02:00
SamplerD3D12.cpp Complete the sampler object to match WebGPU 2019-01-04 04:56:08 +00:00
SamplerD3D12.h Make dawn_native use its own header for Dawn datatypes 2018-07-27 12:56:26 +02:00
ShaderModuleD3D12.cpp Add D3D12 Functionality For Multiple Bind Groups 2018-12-18 19:59:59 +00:00
ShaderModuleD3D12.h D3D12 fix for register binding offsets. 2018-11-01 13:59:19 +00:00
SwapChainD3D12.cpp Descriptorize Texture 2018-08-28 03:00:48 -04:00
SwapChainD3D12.h Descriptorize Texture 2018-08-28 03:00:48 -04:00
TextureCopySplitter.cpp Implement BufferCopyView.imageHeight Parameter 2018-12-11 09:48:36 +00:00
TextureCopySplitter.h Implement BufferCopyView.imageHeight Parameter 2018-12-11 09:48:36 +00:00
TextureD3D12.cpp Implement using a layer of a texture as color attachment - Part I 2018-12-05 03:22:04 +00:00
TextureD3D12.h Implement using a layer of a texture as color attachment - Part I 2018-12-05 03:22:04 +00:00
UtilsD3D12.cpp Complete the sampler object to match WebGPU 2019-01-04 04:56:08 +00:00
UtilsD3D12.h Complete the sampler object to match WebGPU 2019-01-04 04:56:08 +00:00
d3d12_platform.h dawn_native: Fixup header guards from BACKEND_ to DAWNNATIVE_ 2018-07-25 11:27:55 +02:00