Go to the documentation of this file.
48 #ifdef DILIGENT_DEVELOPMENT
49 # define VERIFY_CONTEXT_BINDINGS
64 ID3D11DeviceContext* pd3d11DeviceContext,
106 Uint32 RTHeight) override final;
112 Uint32 RTHeight) override final;
199 const
Box* pMapRegion,
292 void CommitD3D11IndexBuffer(
VALUE_TYPE IndexType);
298 template <typename TD3D11ResourceViewType,
299 typename TSetD3D11View,
301 void UnbindResourceView(TD3D11ResourceViewType CommittedD3D11ViewsArr[][NumSlots],
302 ID3D11Resource* CommittedD3D11ResourcesArr[][NumSlots],
303 Uint8 NumCommittedResourcesArr[],
304 ID3D11Resource* pd3d11ResToUndind,
305 TSetD3D11View SetD3D11ViewMethods[]);
310 void UnbindTextureFromInput(
TextureBaseD3D11* pTexture, ID3D11Resource* pd3d11Resource);
316 void UnbindBufferFromInput(
BufferD3D11Impl* pBuffer, ID3D11Resource* pd3d11Buffer);
321 void UnbindResourceFromUAV(
IDeviceObject* pResource, ID3D11Resource* pd3d11Resource);
340 void ClearStateCache();
342 void BindShaderResources();
345 struct TCommittedResources
352 ID3D11Buffer* d3d11CBs [NumShaderTypes][D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT] = {};
357 ID3D11ShaderResourceView* d3d11SRVs [NumShaderTypes][D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT] = {};
362 ID3D11SamplerState* d3d11Samplers[NumShaderTypes][D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT] = {};
367 ID3D11UnorderedAccessView* d3d11UAVs [NumShaderTypes][D3D11_PS_CS_UAV_REGISTER_COUNT] = {};
372 ID3D11Resource* d3d11SRVResources [NumShaderTypes][D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT] = {};
377 ID3D11Resource* d3d11UAVResources [NumShaderTypes][D3D11_PS_CS_UAV_REGISTER_COUNT] = {};
379 Uint8 NumCBs [NumShaderTypes] = {};
380 Uint8 NumSRVs [NumShaderTypes] = {};
381 Uint8 NumSamplers[NumShaderTypes] = {};
382 Uint8 NumUAVs [NumShaderTypes] = {};
392 enum PixelShaderUAVBindMode
399 void BindCacheResources(
const ShaderResourceCacheD3D11& ResourceCache,
401 PixelShaderUAVBindMode& PsUavBindMode);
403 #ifdef DILIGENT_DEVELOPMENT
404 void DvpValidateCommittedShaderResources();
407 std::shared_ptr<DisjointQueryPool::DisjointQueryWrapper> BeginDisjointQuery();
409 CComPtr<ID3D11DeviceContext> m_pd3d11DeviceContext;
411 struct BindInfo : CommittedShaderResources
416 #ifdef DILIGENT_DEVELOPMENT
418 std::array<D3D11ShaderResourceCounters, MAX_RESOURCE_SIGNATURES> BaseBindings = {};
426 TCommittedResources m_CommittedRes;
432 ID3D11Buffer* m_CommittedD3D11VertexBuffers[MAX_BUFFER_SLOTS] = {};
434 UINT m_CommittedD3D11VBStrides[MAX_BUFFER_SLOTS] = {};
436 UINT m_CommittedD3D11VBOffsets[MAX_BUFFER_SLOTS] = {};
438 UINT m_NumCommittedD3D11VBs = 0;
440 bool m_bCommittedD3D11VBsUpToDate =
false;
445 ID3D11InputLayout* m_CommittedD3D11InputLayout =
nullptr;
449 CComPtr<ID3D11Buffer> m_CommittedD3D11IndexBuffer;
453 Uint32 m_CommittedD3D11IndexDataStartOffset = 0;
455 bool m_bCommittedD3D11IBUpToDate =
false;
457 D3D11_PRIMITIVE_TOPOLOGY m_CommittedD3D11PrimTopology = D3D11_PRIMITIVE_TOPOLOGY_UNDEFINED;
461 CComPtr<ID3D11DeviceChild> m_CommittedD3DShaders[NumShaderTypes];
463 const Uint32 m_DebugFlags;
465 FixedBlockMemoryAllocator m_CmdListAllocator;
467 DisjointQueryPool m_DisjointQueryPool;
468 std::shared_ptr<DisjointQueryPool::DisjointQueryWrapper> m_ActiveDisjointQuery;
470 std::vector<OptimizedClearValue> m_AttachmentClearValues;
472 #ifdef VERIFY_CONTEXT_BINDINGS
475 template <UINT MaxResources,
typename TD3D11ResourceType,
typename TGetD3D11ResourcesType>
476 void DvpVerifyCommittedResources(TD3D11ResourceType CommittedD3D11ResourcesArr[][MaxResources],
477 Uint8 NumCommittedResourcesArr[],
478 TGetD3D11ResourcesType GetD3D11ResMethods[],
479 const Char* ResourceName,
483 template <UINT MaxResources,
typename TD3D11ViewType>
484 void DvpVerifyViewConsistency(TD3D11ViewType CommittedD3D11ViewArr[][MaxResources],
485 ID3D11Resource* CommittedD3D11ResourcesArr[][MaxResources],
486 Uint8 NumCommittedResourcesArr[],
487 const Char* ResourceName,
492 void DvpVerifyCommittedSRVs(
SHADER_TYPE ShaderStages);
496 void DvpVerifyCommittedUAVs(
SHADER_TYPE ShaderStages);
500 void DvpVerifyCommittedSamplers(
SHADER_TYPE ShaderStages);
504 void DvpVerifyCommittedCBs(
SHADER_TYPE ShaderStages);
509 void DvpVerifyCommittedIndexBuffer();
514 void DvpVerifyCommittedVertexBuffers();
519 void DvpVerifyCommittedShaders();
521 #endif // VERIFY_CONTEXT_BINDINGS
MAP_FLAGS
Special map flags.
Definition: GraphicsTypes.h:227
Base interface for a reference counter object that stores the number of strong and weak references an...
Definition: ReferenceCounters.h:44
void * PVoid
Definition: BasicTypes.h:56
virtual void UpdateSBT(IShaderBindingTable *pSBT, const UpdateIndirectRTBufferAttribs *pUpdateIndirectBufferAttribs) override final
Implementation of IDeviceContext::UpdateSBT().
Definition: DeviceContextD3D11Impl.cpp:2087
virtual void BuildTLAS(const BuildTLASAttribs &Attribs) override final
Implementation of IDeviceContext::BuildTLAS().
Definition: DeviceContextD3D11Impl.cpp:2052
char Char
Definition: BasicTypes.h:64
virtual void ResetRenderTargets() override final
Unbinds all render targets. Used when resizing the swap chain.
Definition: DeviceContextD3D11Impl.cpp:1331
This structure is used by IDeviceContext::UpdateSBT().
Definition: DeviceContext.h:1303
This structure is used by IDeviceContext::TraceRaysIndirect().
Definition: DeviceContext.h:1284
Shader resource binding interface.
Definition: ShaderResourceBinding.h:58
virtual void CopyTexture(const CopyTextureAttribs &CopyAttribs) override final
Implementation of IDeviceContext::CopyTexture() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:859
This structure is used by IDeviceContext::TraceRays().
Definition: DeviceContext.h:1267
virtual void BeginRenderPass(const BeginRenderPassAttribs &Attribs) override final
Implementation of IDeviceContext::BeginRenderPass() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:1513
BeginRenderPass command attributes.
Definition: DeviceContext.h:731
SHADER_TYPE
Describes the shader type.
Definition: GraphicsTypes.h:65
Shader binding table interface.
Definition: ShaderBindingTable.h:93
virtual ID3D11DeviceContext * GetD3D11DeviceContext() override final
Implementation of IDeviceContextD3D11::GetD3D11DeviceContext().
Definition: DeviceContextD3D11Impl.hpp:272
virtual void FinishFrame() override final
Implementation of IDeviceContext::FinishFrame() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:934
virtual void SetBlendFactors(const float *pBlendFactors=nullptr) override final
Implementation of IDeviceContext::SetBlendFactors() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:411
Defines the mesh indirect draw count command attributes.
Definition: DeviceContext.h:440
Pipeline state interface.
Definition: PipelineState.h:505
RESOURCE_STATE_TRANSITION_MODE
Defines resource state transition mode performed by various commands.
Definition: DeviceContext.h:136
virtual void BeginQuery(IQuery *pQuery) override final
Implementation of IDeviceContext::BeginQuery() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:1771
Uint32 Flags
Definition: DXBCUtils.cpp:71
CLEAR_DEPTH_STENCIL_FLAGS
Defines which parts of the depth-stencil buffer to clear.
Definition: DeviceContext.h:483
Base interface for all dynamic objects in the engine.
Definition: Object.h:41
uint64_t Uint64
64-bit unsigned integer
Definition: BasicTypes.h:50
virtual void NextSubpass() override final
Implementation of IDeviceContext::NextSubpass() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:1528
virtual void WriteBLASCompactedSize(const WriteBLASCompactedSizeAttribs &Attribs) override final
Implementation of IDeviceContext::WriteBLASCompactedSize().
Definition: DeviceContextD3D11Impl.cpp:2067
This structure is used by IDeviceContext::WriteBLASCompactedSize().
Definition: DeviceContext.h:1217
Device context implementation in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.hpp:56
PRIMITIVE_TOPOLOGY
Input primitive topology.
Definition: GraphicsTypes.h:989
This structure is used by IDeviceContext::WriteTLASCompactedSize().
Definition: DeviceContext.h:1242
virtual void DispatchCompute(const DispatchComputeAttribs &Attribs) override final
Implementation of IDeviceContext::DispatchCompute() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:642
Texture view interface.
Definition: TextureView.h:202
virtual void WriteTLASCompactedSize(const WriteTLASCompactedSizeAttribs &Attribs) override final
Implementation of IDeviceContext::WriteTLASCompactedSize().
Definition: DeviceContextD3D11Impl.cpp:2072
Pipeline state object implementation in Direct3D11 backend.
Definition: PipelineStateD3D11Impl.hpp:43
virtual void SetIndexBuffer(IBuffer *pIndexBuffer, Uint32 ByteOffset, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode) override final
Implementation of IDeviceContext::SetIndexBuffer() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:983
ResourceBinding::BindInfo BindInfo
Definition: DXBCUtils.hpp:40
Defines the mesh draw command attributes.
Definition: DeviceContext.h:376
@ VT_UNDEFINED
Undefined type.
Definition: GraphicsTypes.h:51
Box.
Definition: GraphicsTypes.h:2407
Definition: Texture.h:245
virtual void SetPipelineState(IPipelineState *pPipelineState) override final
Implementation of IDeviceContext::SetPipelineState() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:70
Attributes specific to D3D11 engine.
Definition: GraphicsTypes.h:2082
Base interface for all objects created by the render device Diligent::IRenderDevice.
Definition: DeviceObject.h:52
Base implementation of a texture object in Direct3D11 backend.
Definition: TextureBaseD3D11.hpp:44
virtual void SetScissorRects(Uint32 NumRects, const Rect *pRects, Uint32 RTWidth, Uint32 RTHeight) override final
Implementation of IDeviceContext::SetScissorRects() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:1033
Unique interface identifier.
Definition: InterfaceID.h:37
Buffer interface.
Definition: Buffer.h:187
void TransitionResource(TextureBaseD3D11 &Texture, RESOURCE_STATE NewState, RESOURCE_STATE OldState=RESOURCE_STATE_UNKNOWN, bool UpdateResourceState=true)
Definition: DeviceContextD3D11Impl.cpp:1922
virtual void ClearRenderTarget(ITextureView *pView, const float *RGBA, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode) override final
Implementation of IDeviceContext::ClearRenderTarget() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:715
virtual void Flush() override final
Implementation of IDeviceContext::Flush() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:733
virtual void DispatchComputeIndirect(const DispatchComputeIndirectAttribs &Attribs, IBuffer *pAttribsBuffer) override final
Implementation of IDeviceContext::DispatchComputeIndirect() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:667
virtual void CommitShaderResources(IShaderResourceBinding *pShaderResourceBinding, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode) override final
Implementation of IDeviceContext::CommitShaderResources() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:198
virtual void DrawIndexedIndirect(const DrawIndexedIndirectAttribs &Attribs, IBuffer *pAttribsBuffer) override final
Implementation of IDeviceContext::DrawIndexedIndirect() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:616
void FinishCommandList(class ICommandList **ppCommandList) override final
Implementation of IDeviceContext::FinishCommandList() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:1632
virtual void CopyTLAS(const CopyTLASAttribs &Attribs) override final
Implementation of IDeviceContext::CopyTLAS().
Definition: DeviceContextD3D11Impl.cpp:2062
virtual void ClearDepthStencil(ITextureView *pView, CLEAR_DEPTH_STENCIL_FLAGS ClearFlags, float fDepth, Uint8 Stencil, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode) override final
Implementation of IDeviceContext::ClearDepthStencil() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:694
Resource state transition barrier description.
Definition: DeviceContext.h:1333
virtual void InvalidateState() override final
Implementation of IDeviceContext::InvalidateState() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:1835
Command list interface.
Definition: CommandList.h:48
virtual void Draw(const DrawAttribs &Attribs) override final
Implementation of IDeviceContext::Draw() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:580
DeviceContextD3D11Impl(IReferenceCounters *pRefCounters, IMemoryAllocator &Allocator, RenderDeviceD3D11Impl *pDevice, ID3D11DeviceContext *pd3d11DeviceContext, const struct EngineD3D11CreateInfo &EngineAttribs, bool bIsDeferred)
Definition: DeviceContextD3D11Impl.cpp:48
SET_VERTEX_BUFFERS_FLAGS
Defines allowed flags for IDeviceContext::SetVertexBuffers() function.
Definition: DeviceContext.h:578
virtual void MapBuffer(IBuffer *pBuffer, MAP_TYPE MapType, MAP_FLAGS MapFlags, PVoid &pMappedData) override final
Implementation of IDeviceContext::MapBuffer() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:788
std::array< D3D11ResourceRangeCounters, D3D11_RESOURCE_RANGE_COUNT > D3D11ShaderResourceCounters
Resource counters for all shader stages and all resource types.
Definition: PipelineResourceAttribsD3D11.hpp:271
virtual void ExecuteCommandLists(Uint32 NumCommandLists, ICommandList *const *ppCommandLists) override final
Implementation of IDeviceContext::ExecuteCommandLists() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:1669
Describes multi-sampled texture resolve command arguments.
Definition: DeviceContext.h:549
Describes dispatch command arguments.
Definition: DeviceContext.h:523
virtual void EndRenderPass() override final
Implementation of IDeviceContext::EndRenderPass() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:1537
VALUE_TYPE
Value type.
Definition: GraphicsTypes.h:49
virtual void TraceRays(const TraceRaysAttribs &Attribs) override final
Implementation of IDeviceContext::TraceRays().
Definition: DeviceContextD3D11Impl.cpp:2077
Defines the indexed indirect draw command attributes.
Definition: DeviceContext.h:330
virtual void SignalFence(IFence *pFence, Uint64 Value) override final
Implementation of IDeviceContext::SignalFence() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:1728
#define DILIGENT_CALL_TYPE
Definition: CommonDefinitions.h:45
virtual void TransitionShaderResources(IPipelineState *pPipelineState, IShaderResourceBinding *pShaderResourceBinding) override final
Implementation of IDeviceContext::TransitionShaderResources() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:182
virtual void DrawIndexed(const DrawIndexedAttribs &Attribs) override final
Implementation of IDeviceContext::DrawIndexed() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:592
This structure is used by IDeviceContext::BuildTLAS().
Definition: DeviceContext.h:1082
uint32_t Uint32
32-bit unsigned integer
Definition: BasicTypes.h:51
virtual void WaitForFence(IFence *pFence, Uint64 Value, bool FlushContext) override final
Implementation of IDeviceContext::WaitForFence() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:1738
Defines the mesh indirect draw command attributes.
Definition: DeviceContext.h:402
void ReleaseCommittedShaderResources()
Clears committed shader resource cache. This function is called once per frame (before present) to re...
Definition: DeviceContextD3D11Impl.cpp:1591
@ PRIMITIVE_TOPOLOGY_UNDEFINED
Undefined topology.
Definition: GraphicsTypes.h:992
Base implementation of the device context.
Definition: DeviceContextBase.hpp:107
Describes the viewport.
Definition: DeviceContext.h:593
Describes dispatch command arguments.
Definition: DeviceContext.h:500
virtual void ResolveTextureSubresource(ITexture *pSrcTexture, ITexture *pDstTexture, const ResolveTextureSubresourceAttribs &ResolveAttribs) override final
Implementation of IDeviceContext::ResolveTextureSubresource() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:2014
@ SHADER_TYPE_UNKNOWN
Unknown shader type.
Definition: GraphicsTypes.h:67
virtual void DrawMeshIndirect(const DrawMeshIndirectAttribs &Attribs, IBuffer *pAttribsBuffer) override final
Implementation of IDeviceContext::DrawMeshIndirect() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:632
@ RESOURCE_STATE_UNKNOWN
The resource state is not known to the engine and is managed by the application.
Definition: GraphicsTypes.h:2817
Resource binding points in all shader stages.
Definition: PipelineResourceAttribsD3D11.hpp:56
virtual void SetVertexBuffers(Uint32 StartSlot, Uint32 NumBuffersSet, IBuffer **ppBuffers, Uint32 *pOffsets, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode, SET_VERTEX_BUFFERS_FLAGS Flags) override final
Implementation of IDeviceContext::SetVertexBuffers() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:946
virtual void TransitionResourceStates(Uint32 BarrierCount, StateTransitionDesc *pResourceBarriers) override final
Implementation of IDeviceContext::TransitionResourceStates() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:1887
virtual void CopyBuffer(IBuffer *pSrcBuffer, Uint32 SrcOffset, RESOURCE_STATE_TRANSITION_MODE SrcBufferTransitionMode, IBuffer *pDstBuffer, Uint32 DstOffset, Uint32 Size, RESOURCE_STATE_TRANSITION_MODE DstBufferTransitionMode) override final
Implementation of IDeviceContext::CopyBuffer() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:764
Buffer object implementation in Direct3D11 backend.
Definition: BufferD3D11Impl.hpp:42
This structure is used by IDeviceContext::BuildBLAS().
Definition: DeviceContext.h:925
This structure is used by IDeviceContext::CopyBLAS().
Definition: DeviceContext.h:1159
virtual void UpdateBuffer(IBuffer *pBuffer, Uint32 Offset, Uint32 Size, const void *pData, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode) override final
Implementation of IDeviceContext::UpdateBuffer() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:743
virtual void SetViewports(Uint32 NumViewports, const Viewport *pViewports, Uint32 RTWidth, Uint32 RTHeight) override final
Implementation of IDeviceContext::SetViewports() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:1012
virtual void DrawMeshIndirectCount(const DrawMeshIndirectCountAttribs &Attribs, IBuffer *pAttribsBuffer, IBuffer *pCountBuffer) override final
Implementation of IDeviceContext::DrawMeshIndirectCount() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:637
virtual void SetStencilRef(Uint32 StencilRef) override final
Implementation of IDeviceContext::SetStencilRef() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:400
Defines the indirect draw command attributes.
Definition: DeviceContext.h:291
Base interface for a raw memory allocator.
Definition: MemoryAllocator.h:41
virtual void EndQuery(IQuery *pQuery) override final
Implementation of IDeviceContext::EndQuery() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:1787
virtual void CopyBLAS(const CopyBLASAttribs &Attribs) override final
Implementation of IDeviceContext::CopyBLAS().
Definition: DeviceContextD3D11Impl.cpp:2057
DRAW_FLAGS
Draw command flags.
Definition: DeviceContext.h:68
virtual void GenerateMips(ITextureView *pTextureView) override final
Implementation of IDeviceContext::GenerateMips() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:926
virtual void WaitForIdle() override final
Implementation of IDeviceContext::WaitForIdle() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:1747
This structure is used by IDeviceContext::CopyTLAS().
Definition: DeviceContext.h:1188
Fence interface.
Definition: Fence.h:62
Defines the indexed draw command attributes.
Definition: DeviceContext.h:224
virtual void QueryInterface(const INTERFACE_ID &IID, IObject **ppInterface) override final
void CommitRenderTargets()
Definition: DeviceContextD3D11Impl.cpp:1053
virtual void UpdateTexture(ITexture *pTexture, Uint32 MipLevel, Uint32 Slice, const Box &DstBox, const TextureSubResData &SubresData, RESOURCE_STATE_TRANSITION_MODE SrcBufferTransitionMode, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode) override final
Implementation of IDeviceContext::UpdateTexture() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:814
Query interface.
Definition: Query.h:177
uint8_t Uint8
8-bit unsigned integer
Definition: BasicTypes.h:53
virtual void TraceRaysIndirect(const TraceRaysIndirectAttribs &Attribs, IBuffer *pAttribsBuffer) override final
Implementation of IDeviceContext::TraceRaysIndirect().
Definition: DeviceContextD3D11Impl.cpp:2082
virtual void SetRenderTargets(Uint32 NumRenderTargets, ITextureView *ppRenderTargets[], ITextureView *pDepthStencil, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode) override final
Implementation of IDeviceContext::SetRenderTargets() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:1337
Render device implementation in Direct3D11 backend.
Definition: RenderDeviceD3D11Impl.hpp:40
Describes the rectangle.
Definition: DeviceContext.h:642
virtual void MapTextureSubresource(ITexture *pTexture, Uint32 MipLevel, Uint32 ArraySlice, MAP_TYPE MapType, MAP_FLAGS MapFlags, const Box *pMapRegion, MappedTextureSubresource &MappedData) override final
Implementation of IDeviceContext::MapTextureSubresource() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:884
virtual void DrawMesh(const DrawMeshAttribs &Attribs) override final
Implementation of IDeviceContext::DrawMesh() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:627
Defines the draw command attributes.
Definition: DeviceContext.h:169
virtual void UnmapTextureSubresource(ITexture *pTexture, Uint32 MipLevel, Uint32 ArraySlice) override final
Implementation of IDeviceContext::UnmapTextureSubresource() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:916
RESOURCE_STATE
Resource usage state.
Definition: GraphicsTypes.h:2814
virtual void DrawIndirect(const DrawIndirectAttribs &Attribs, IBuffer *pAttribsBuffer) override final
Implementation of IDeviceContext::DrawIndirect() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:604
virtual void BuildBLAS(const BuildBLASAttribs &Attribs) override final
Implementation of IDeviceContext::BuildBLAS().
Definition: DeviceContextD3D11Impl.cpp:2047
MAP_TYPE
Resource mapping type.
Definition: GraphicsTypes.h:206
Defines copy texture command attributes.
Definition: DeviceContext.h:672
#define static
Definition: GLSLDefinitions.h:73
Texture inteface.
Definition: Texture.h:273
virtual void UnmapBuffer(IBuffer *pBuffer, MAP_TYPE MapType) override final
Implementation of IDeviceContext::UnmapBuffer() in Direct3D11 backend.
Definition: DeviceContextD3D11Impl.cpp:807
The library uses Direct3D-style math:
Definition: AdvancedMath.hpp:37
Describes data for one subresource.
Definition: Texture.h:165