LiteFX 0.3.1.2022
Computer Graphics Engine
LiteFX::Rendering::Backends::DirectX12ShaderProgram::DirectX12ShaderProgramImpl Class Reference

Inherits LiteFX::Implement< DirectX12ShaderProgram >.

Public Member Functions

 DirectX12ShaderProgramImpl (DirectX12ShaderProgram *parent, const DirectX12Device &device, Array< UniquePtr< DirectX12ShaderModule > > &&modules)
 
 DirectX12ShaderProgramImpl (DirectX12ShaderProgram *parent, const DirectX12Device &device)
 
void reflectRootSignature (ComPtr< ID3D12RootSignatureDeserializer > deserializer, Dictionary< UInt32, DescriptorSetInfo > &descriptorSetLayouts, Array< PushConstantRangeInfo > &pushConstantRanges)
 
SharedPtr< DirectX12PipelineLayoutreflectPipelineLayout ()
 
- Public Member Functions inherited from LiteFX::Implement< DirectX12ShaderProgram >
 Implement (DirectX12ShaderProgram *parent)
 Initializes the implementation instance. More...
 
 Implement (Implement< DirectX12ShaderProgram > &&)=delete
 
 Implement (const Implement< DirectX12ShaderProgram > &)=delete
 
virtual ~Implement ()=default
 

Friends

class DirectX12ShaderProgramBuilder
 
class DirectX12ShaderProgram
 

Additional Inherited Members

- Public Types inherited from LiteFX::Implement< DirectX12ShaderProgram >
using interface_type = DirectX12ShaderProgram
 
using base = Implement< interface_type >
 
- Protected Attributes inherited from LiteFX::Implement< DirectX12ShaderProgram >
DirectX12ShaderProgram * m_parent
 

Constructor & Destructor Documentation

◆ DirectX12ShaderProgramImpl() [1/2]

LiteFX::Rendering::Backends::DirectX12ShaderProgram::DirectX12ShaderProgramImpl::DirectX12ShaderProgramImpl ( DirectX12ShaderProgram parent,
const DirectX12Device device,
Array< UniquePtr< DirectX12ShaderModule > > &&  modules 
)
inline

◆ DirectX12ShaderProgramImpl() [2/2]

LiteFX::Rendering::Backends::DirectX12ShaderProgram::DirectX12ShaderProgramImpl::DirectX12ShaderProgramImpl ( DirectX12ShaderProgram parent,
const DirectX12Device device 
)
inline

Member Function Documentation

◆ reflectPipelineLayout()

SharedPtr< DirectX12PipelineLayout > LiteFX::Rendering::Backends::DirectX12ShaderProgram::DirectX12ShaderProgramImpl::reflectPipelineLayout ( )
inline

◆ reflectRootSignature()

void LiteFX::Rendering::Backends::DirectX12ShaderProgram::DirectX12ShaderProgramImpl::reflectRootSignature ( ComPtr< ID3D12RootSignatureDeserializer >  deserializer,
Dictionary< UInt32, DescriptorSetInfo > &  descriptorSetLayouts,
Array< PushConstantRangeInfo > &  pushConstantRanges 
)
inline

Friends And Related Function Documentation

◆ DirectX12ShaderProgram

friend class DirectX12ShaderProgram
friend

◆ DirectX12ShaderProgramBuilder

friend class DirectX12ShaderProgramBuilder
friend