28 #ifndef BERSERK_RHIDEVICE_HPP
29 #define BERSERK_RHIDEVICE_HPP
#define BRK_NS_END
Definition: Config.hpp:48
#define BRK_API
Definition: Config.hpp:32
std::uint32_t uint32
Definition: Typedefs.hpp:44
RHI device.
Definition: RHIDevice.hpp:67
Mat4x4f mClipMatrix
Definition: RHIDevice.hpp:156
virtual BRK_API void UpdateTextureCube(const Ref< RHITexture > &texture, RHITextureCubemapFace face, uint32 mipLevel, const Rect2u ®ion, const Ref< Data > &data)
Definition: RHIDevice.cpp:139
std::vector< RHITextureFormat > mSupportedTextureFormats
Definition: RHIDevice.hpp:153
virtual BRK_API void UpdateUniformBuffer(const Ref< RHIUniformBuffer > &buffer, uint32 byteOffset, uint32 byteSize, const Ref< Data > &data)
Definition: RHIDevice.cpp:94
virtual BRK_API Ref< RHIIndexBuffer > CreateIndexBuffer(const RHIBufferDesc &desc)=0
virtual BRK_API void UpdateResourceSet(const Ref< RHIResourceSet > &set, const RHIResourceSetDesc &desc)
Definition: RHIDevice.cpp:154
virtual BRK_API Ref< RHIShader > CreateShader(const RHIShaderDesc &desc)=0
virtual BRK_API RHIType GetDriverType() const
Definition: RHIDevice.cpp:43
virtual BRK_API void UpdateResourceSet_RT(const Ref< RHIResourceSet > &set, const RHIResourceSetDesc &desc)=0
virtual BRK_API const std::vector< RHITextureFormat > & GetSupportedFormats() const
Definition: RHIDevice.cpp:35
virtual BRK_API Ref< RHITexture > CreateTexture(const RHITextureDesc &desc)=0
virtual BRK_API Ref< RHIVertexDeclaration > CreateVertexDeclaration(const RHIVertexDeclarationDesc &desc)=0
virtual BRK_API Ref< RHIRenderPass > CreateRenderPass(const RHIRenderPassDesc &desc)=0
RHIType mType
Definition: RHIDevice.hpp:157
virtual BRK_API void UpdateIndexBuffer(const Ref< RHIIndexBuffer > &buffer, uint32 byteOffset, uint32 byteSize, const Ref< Data > &data)
Definition: RHIDevice.cpp:79
virtual BRK_API Ref< RHIResourceSet > CreateResourceSet(const RHIResourceSetDesc &desc)=0
virtual BRK_API const std::vector< RHIShaderLanguage > & GetSupportedShaderLanguages() const
Definition: RHIDevice.cpp:39
RHIDeviceCaps mCaps
Definition: RHIDevice.hpp:155
virtual BRK_API void UpdateTexture2DArray(const Ref< RHITexture > &texture, uint32 arrayIndex, uint32 mipLevel, const Rect2u ®ion, const Ref< Data > &data)
Definition: RHIDevice.cpp:124
BRK_API bool IsSupported(RHIShaderLanguage language) const
Definition: RHIDevice.cpp:55
virtual BRK_API Ref< RHISampler > CreateSampler(const RHISamplerDesc &desc)=0
virtual BRK_API ~RHIDevice()=default
virtual BRK_API void GenerateMipMaps(const Ref< RHITexture > &texture)
Definition: RHIDevice.cpp:167
virtual BRK_API Ref< RHIVertexBuffer > CreateVertexBuffer(const RHIBufferDesc &desc)=0
virtual BRK_API Ref< RHICommandList > GetCoreCommandList()=0
virtual BRK_API void UpdateVertexBuffer(const Ref< RHIVertexBuffer > &buffer, uint32 byteOffset, uint32 byteSize, const Ref< Data > &data)
Definition: RHIDevice.cpp:64
virtual BRK_API const Mat4x4f & GetClipMatrix() const
Definition: RHIDevice.cpp:51
std::vector< RHIShaderLanguage > mSupportedShaderLanguages
Definition: RHIDevice.hpp:154
virtual BRK_API Ref< RHIFramebuffer > CreateFramebuffer(const RHIFramebufferDesc &desc)=0
virtual BRK_API const RHIDeviceCaps & GetCaps() const
Definition: RHIDevice.cpp:47
virtual BRK_API Ref< RHIUniformBuffer > CreateUniformBuffer(const RHIBufferDesc &desc)=0
virtual BRK_API Ref< RHIGraphicsPipeline > CreateGraphicsPipeline(const RHIGraphicsPipelineDesc &desc)=0
virtual BRK_API void UpdateTexture2D(const Ref< RHITexture > &texture, uint32 mipLevel, const Rect2u ®ion, const Ref< Data > &data)
Definition: RHIDevice.cpp:109
Graphics pipeline descriptor.
Definition: RHIGraphicsPipeline.hpp:208
Full render pass descriptor.
Definition: RHIRenderPass.hpp:78
Describes single set of GPU resource for shader.
Definition: RHIResourceSet.hpp:52
Describes input vertex layout.
Generic vector class for an N dimensional space base on type T.
Definition: TVecN.hpp:55
RHITextureCubemapFace
Definition: RHIDefs.hpp:177
RHIType
Definition: RHIDefs.hpp:43
RHIShaderLanguage
Definition: RHIDefs.hpp:127
Definition: GLDevice.cpp:46
RHI device buffer descriptor.
Definition: RHIBuffer.hpp:46
RHI device capabilities.
Definition: RHIDefs.hpp:345
RHI framebuffer descriptor.
Definition: RHIFramebuffer.hpp:61
RHI sample descriptor.
Definition: RHISampler.hpp:46
Shader creation descriptor. Allows create from byteCode.
Definition: RHIShader.hpp:127
RHI Texture primitive descriptor.
Definition: RHITexture.hpp:48