Diligent Engine  v.2.4.g
EngineD3D12ImplTraits.hpp
Go to the documentation of this file.
1 /*
2  * Copyright 2019-2021 Diligent Graphics LLC
3  * Copyright 2015-2019 Egor Yusov
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  * In no event and under no legal theory, whether in tort (including negligence),
18  * contract, or otherwise, unless required by applicable law (such as deliberate
19  * and grossly negligent acts) or agreed to in writing, shall any Contributor be
20  * liable for any damages, including any direct, indirect, special, incidental,
21  * or consequential damages of any character arising as a result of this License or
22  * out of the use or inability to use the software (including but not limited to damages
23  * for loss of goodwill, work stoppage, computer failure or malfunction, or any and
24  * all other commercial damages or losses), even if such Contributor has been advised
25  * of the possibility of such damages.
26  */
27 
28 #pragma once
29 
32 
33 #include "RenderDeviceD3D12.h"
34 #include "PipelineStateD3D12.h"
36 #include "BufferD3D12.h"
37 #include "BufferViewD3D12.h"
38 #include "TextureD3D12.h"
39 #include "TextureViewD3D12.h"
40 #include "ShaderD3D12.h"
41 #include "SamplerD3D12.h"
42 #include "FenceD3D12.h"
43 #include "QueryD3D12.h"
44 #include "RenderPass.h"
45 #include "Framebuffer.h"
46 #include "CommandList.h"
47 #include "BottomLevelASD3D12.h"
48 #include "TopLevelASD3D12.h"
51 #include "CommandQueueD3D12.h"
52 #include "DeviceContextD3D12.h"
53 
54 namespace Diligent
55 {
56 
57 class RenderDeviceD3D12Impl;
58 class DeviceContextD3D12Impl;
59 class PipelineStateD3D12Impl;
60 class ShaderResourceBindingD3D12Impl;
61 class BufferD3D12Impl;
62 class BufferViewD3D12Impl;
63 class TextureD3D12Impl;
64 class TextureViewD3D12Impl;
65 class ShaderD3D12Impl;
66 class SamplerD3D12Impl;
67 class FenceD3D12Impl;
68 class QueryD3D12Impl;
69 class RenderPassD3D12Impl;
70 class FramebufferD3D12Impl;
71 class CommandListD3D12Impl;
72 class BottomLevelASD3D12Impl;
73 class TopLevelASD3D12Impl;
74 class ShaderBindingTableD3D12Impl;
75 class PipelineResourceSignatureD3D12Impl;
76 
77 class FixedBlockMemoryAllocator;
78 
79 class ShaderResourceCacheD3D12;
80 class ShaderVariableManagerD3D12;
81 
83 {
104 
124 
127 
130 };
131 
132 } // namespace Diligent
Diligent::IRenderDeviceD3D12
Exposes Direct3D12-specific functionality of a render device.
Definition: RenderDeviceD3D12.h:51
Diligent::IQueryD3D12
Exposes Direct3D12-specific functionality of a Query object.
Definition: QueryD3D12.h:51
ShaderBindingTableD3D12.h
Diligent::IShaderD3D12
Exposes Direct3D12-specific functionality of a shader object.
Definition: ShaderD3D12.h:53
FenceD3D12.h
ShaderResourceBindingD3D12.h
Diligent::IPipelineResourceSignature
Pipeline resource signature interface.
Definition: PipelineResourceSignature.h:226
PipelineResourceSignature.h
Diligent::TextureViewD3D12Impl
Texture view object implementation in Direct3D12 backend.
Definition: TextureViewD3D12Impl.hpp:41
Diligent::ITopLevelASD3D12
Exposes Direct3D12-specific functionality of a top-level acceleration structure object.
Definition: TopLevelASD3D12.h:52
Diligent::SamplerD3D12Impl
Sampler object implementation in Direct3D12 backend.
Definition: SamplerD3D12Impl.hpp:41
Diligent::PipelineResourceSignatureD3D12Impl
Implementation of the Diligent::PipelineResourceSignatureD3D12Impl class.
Definition: PipelineResourceSignatureD3D12Impl.hpp:55
ShaderD3D12.h
Diligent::IDeviceContextD3D12
Exposes Direct3D12-specific functionality of a device context.
Definition: DeviceContextD3D12.h:52
BufferD3D12.h
Diligent::IFramebuffer
Framebuffer interface.
Definition: Framebuffer.h:73
Diligent::RenderPassD3D12Impl
Render pass implementation in Direct3D12 backend.
Definition: RenderPassD3D12Impl.hpp:40
PipelineStateD3D12.h
RenderDeviceD3D12.h
Diligent::TextureD3D12Impl
Implementation of a texture object in Direct3D12 backend.
Definition: TextureD3D12Impl.hpp:42
DeviceContextD3D12.h
Diligent::FramebufferD3D12Impl
Render pass implementation in Direct3D12 backend.
Definition: FramebufferD3D12Impl.hpp:40
CommandQueueD3D12.h
SamplerD3D12.h
Diligent::BottomLevelASD3D12Impl
Bottom-level acceleration structure object implementation in Direct3D12 backend.
Definition: BottomLevelASD3D12Impl.hpp:41
CommandList.h
TextureViewD3D12.h
Diligent::BufferD3D12Impl
Buffer object implementation in Direct3D12 backend.
Definition: BufferD3D12Impl.hpp:44
Diligent::IBottomLevelASD3D12
Exposes Direct3D12-specific functionality of a bottom-level acceleration structure object.
Definition: BottomLevelASD3D12.h:52
Diligent::ICommandQueueD3D12
Command queue interface.
Definition: CommandQueueD3D12.h:51
Diligent::RenderDeviceD3D12Impl
Render device implementation in Direct3D12 backend.
Definition: RenderDeviceD3D12Impl.hpp:70
Diligent::ICommandList
Command list interface.
Definition: CommandList.h:48
Diligent::FenceD3D12Impl
Fence implementation in Direct3D12 backend.
Definition: FenceD3D12Impl.hpp:40
Diligent::ShaderResourceCacheD3D12
Definition: ShaderResourceCacheD3D12.hpp:119
Diligent::ShaderD3D12Impl
Implementation of a shader object in Direct3D12 backend.
Definition: ShaderD3D12Impl.hpp:42
QueryD3D12.h
Diligent::IShaderBindingTableD3D12
Exposes Direct3D12-specific functionality of a shader binding table object.
Definition: ShaderBindingTableD3D12.h:52
Diligent::ITextureViewD3D12
Exposes Direct3D12-specific functionality of a texture view object.
Definition: TextureViewD3D12.h:49
RenderPass.h
Diligent::CommandListD3D12Impl
Command list implementation in Direct3D12 backend.
Definition: CommandListD3D12Impl.hpp:40
Diligent::QueryD3D12Impl
Query implementation in Direct3D12 backend.
Definition: QueryD3D12Impl.hpp:45
Diligent::IPipelineStateD3D12
Exposes Direct3D12-specific functionality of a pipeline state object.
Definition: PipelineStateD3D12.h:49
Diligent::ShaderResourceBindingD3D12Impl
Implementation of the Diligent::IShaderResourceBindingD3D12 interface.
Definition: ShaderResourceBindingD3D12Impl.hpp:45
Diligent::ShaderBindingTableD3D12Impl
Shader binding table object implementation in Direct3D12 backend.
Definition: ShaderBindingTableD3D12Impl.hpp:42
Diligent::IFenceD3D12
Exposes Direct3D12-specific functionality of a fence object.
Definition: FenceD3D12.h:51
Diligent::EngineD3D12ImplTraits
Definition: EngineD3D12ImplTraits.hpp:82
Diligent::ShaderVariableManagerD3D12
Definition: ShaderVariableManagerD3D12.hpp:73
Diligent::IBufferD3D12
Exposes Direct3D12-specific functionality of a buffer object.
Definition: BufferD3D12.h:52
BufferViewD3D12.h
Diligent::DeviceContextD3D12Impl
Device context implementation in Direct3D12 backend.
Definition: DeviceContextD3D12Impl.hpp:59
TopLevelASD3D12.h
Diligent::IBufferViewD3D12
Exposes Direct3D12-specific functionality of a buffer view object.
Definition: BufferViewD3D12.h:49
TextureD3D12.h
Diligent::FixedBlockMemoryAllocator
Memory allocator that allocates memory in a fixed-size chunks.
Definition: FixedBlockMemoryAllocator.hpp:56
BottomLevelASD3D12.h
Framebuffer.h
Diligent::PipelineStateD3D12Impl
Pipeline state object implementation in Direct3D12 backend.
Definition: PipelineStateD3D12Impl.hpp:46
Diligent::BufferViewD3D12Impl
Buffer view implementation in Direct3D12 backend.
Definition: BufferViewD3D12Impl.hpp:41
Diligent::ITextureD3D12
Exposes Direct3D12-specific functionality of a texture object.
Definition: TextureD3D12.h:51
Diligent::IShaderResourceBindingD3D12
Exposes Direct3D12-specific functionality of a shader resource binding.
Definition: ShaderResourceBindingD3D12.h:53
Diligent::TopLevelASD3D12Impl
Top-level acceleration structure object implementation in Direct3D12 backend.
Definition: TopLevelASD3D12Impl.hpp:43
Diligent::IRenderPass
Render pass interface.
Definition: RenderPass.h:369
Diligent
The library uses Direct3D-style math:
Definition: AdvancedMath.hpp:37
Diligent::ISamplerD3D12
Exposes Direct3D12-specific functionality of a sampler object.
Definition: SamplerD3D12.h:49