|
virtual BRK_API | ~RHIDevice ()=default |
|
virtual BRK_API Ref< RHIVertexDeclaration > | CreateVertexDeclaration (const RHIVertexDeclarationDesc &desc)=0 |
|
virtual BRK_API Ref< RHIVertexBuffer > | CreateVertexBuffer (const RHIBufferDesc &desc)=0 |
|
virtual BRK_API Ref< RHIIndexBuffer > | CreateIndexBuffer (const RHIBufferDesc &desc)=0 |
|
virtual BRK_API Ref< RHIUniformBuffer > | CreateUniformBuffer (const RHIBufferDesc &desc)=0 |
|
virtual BRK_API Ref< RHISampler > | CreateSampler (const RHISamplerDesc &desc)=0 |
|
virtual BRK_API Ref< RHITexture > | CreateTexture (const RHITextureDesc &desc)=0 |
|
virtual BRK_API Ref< RHIResourceSet > | CreateResourceSet (const RHIResourceSetDesc &desc)=0 |
|
virtual BRK_API Ref< RHIFramebuffer > | CreateFramebuffer (const RHIFramebufferDesc &desc)=0 |
|
virtual BRK_API Ref< RHIShader > | CreateShader (const RHIShaderDesc &desc)=0 |
|
virtual BRK_API Ref< RHIRenderPass > | CreateRenderPass (const RHIRenderPassDesc &desc)=0 |
|
virtual BRK_API Ref< RHIGraphicsPipeline > | CreateGraphicsPipeline (const RHIGraphicsPipelineDesc &desc)=0 |
|
virtual BRK_API void | UpdateVertexBuffer (const Ref< RHIVertexBuffer > &buffer, uint32 byteOffset, uint32 byteSize, const Ref< Data > &data) |
|
virtual BRK_API void | UpdateIndexBuffer (const Ref< RHIIndexBuffer > &buffer, uint32 byteOffset, uint32 byteSize, const Ref< Data > &data) |
|
virtual BRK_API void | UpdateUniformBuffer (const Ref< RHIUniformBuffer > &buffer, uint32 byteOffset, uint32 byteSize, const Ref< Data > &data) |
|
virtual BRK_API void | UpdateTexture2D (const Ref< RHITexture > &texture, uint32 mipLevel, const Rect2u ®ion, const Ref< Data > &data) |
|
virtual BRK_API void | UpdateTexture2DArray (const Ref< RHITexture > &texture, uint32 arrayIndex, uint32 mipLevel, const Rect2u ®ion, const Ref< Data > &data) |
|
virtual BRK_API void | UpdateTextureCube (const Ref< RHITexture > &texture, RHITextureCubemapFace face, uint32 mipLevel, const Rect2u ®ion, const Ref< Data > &data) |
|
virtual BRK_API void | UpdateResourceSet (const Ref< RHIResourceSet > &set, const RHIResourceSetDesc &desc) |
|
virtual BRK_API void | UpdateResourceSet_RT (const Ref< RHIResourceSet > &set, const RHIResourceSetDesc &desc)=0 |
|
virtual BRK_API void | GenerateMipMaps (const Ref< RHITexture > &texture) |
|
virtual BRK_API Ref< RHICommandList > | GetCoreCommandList ()=0 |
|
virtual BRK_API const std::vector< RHITextureFormat > & | GetSupportedFormats () const |
|
virtual BRK_API const std::vector< RHIShaderLanguage > & | GetSupportedShaderLanguages () const |
|
virtual BRK_API RHIType | GetDriverType () const |
|
virtual BRK_API const RHIDeviceCaps & | GetCaps () const |
|
virtual BRK_API const Mat4x4f & | GetClipMatrix () const |
|
BRK_API bool | IsSupported (RHIShaderLanguage language) const |
|
RHI device.
Device object exposes common object creation api.
Device provided objects can be safely created from any thread. CreateFromImage functions immediately return the created object reference, but actual object creation on the GPU side is deferred, until the RHI execution thread reaches object creation and does it its side.
From user side, created objects can be safely and immediately used in the drawing and update api via command buffers.