28 #ifndef BERSERK_GLCOMMANDLIST_HPP
29 #define BERSERK_GLCOMMANDLIST_HPP
78 void PipelineCleanUp();
90 GLuint mCurrentVao = GL_NONE;
91 GLenum mIndexType = GL_NONE;
92 GLenum mPrimitivesType = GL_NONE;
94 bool mInRenderPass =
false;
95 bool mPipelineBound =
false;
96 bool mNeedUpdateVao =
true;
98 size_t mSubmitCount = 0;
#define BRK_NS_END
Definition: Config.hpp:48
#define BRK_API
Definition: Config.hpp:32
std::uint32_t uint32
Definition: Typedefs.hpp:44
GL command list implementation (wrapper for context)
Definition: GLCommandList.hpp:52
BRK_API void BindVertexBuffers(const std::vector< Ref< RHIVertexBuffer >> &buffers) override
Definition: GLCommandList.cpp:115
BRK_API void BindResourceSet(const Ref< RHIResourceSet > &resourceSet, uint32 set) override
Definition: GLCommandList.cpp:134
BRK_API void BindIndexBuffer(const Ref< RHIIndexBuffer > &buffer, RHIIndexType indexType) override
Definition: GLCommandList.cpp:125
BRK_API void SwapBuffers(const Ref< Window > &window) override
Definition: GLCommandList.cpp:182
BRK_API void GenerateMipMaps(const Ref< RHITexture > &texture) override
Definition: GLCommandList.cpp:83
BRK_API void DrawIndexed(uint32 indexCount, uint32 baseVertex, uint32 instanceCount) override
Definition: GLCommandList.cpp:158
BRK_API void UpdateIndexBuffer(const Ref< RHIIndexBuffer > &buffer, uint32 byteOffset, uint32 byteSize, const Ref< Data > &data) override
Definition: GLCommandList.cpp:49
BRK_API GLCommandList()=default
BRK_API void BindGraphicsPipeline(const Ref< RHIGraphicsPipeline > &pipeline) override
Definition: GLCommandList.cpp:100
BRK_API void UpdateVertexBuffer(const Ref< RHIVertexBuffer > &buffer, uint32 byteOffset, uint32 byteSize, const Ref< Data > &data) override
Definition: GLCommandList.cpp:45
BRK_API void Submit() override
Definition: GLCommandList.cpp:189
BRK_API void BeginRenderPass(const Ref< RHIRenderPass > &renderPass, const RHIRenderPassBeginInfo &beginInfo) override
Definition: GLCommandList.cpp:91
BRK_API void UpdateTextureCube(const Ref< RHITexture > &texture, RHITextureCubemapFace face, uint32 mipLevel, const Rect2u ®ion, const Ref< Data > &data) override
Definition: GLCommandList.cpp:78
BRK_API void UpdateUniformBuffer(const Ref< RHIUniformBuffer > &buffer, uint32 byteOffset, uint32 byteSize, const Ref< Data > &data) override
Definition: GLCommandList.cpp:53
BRK_API void EndRenderPass() override
Definition: GLCommandList.cpp:173
BRK_API void UpdateTexture2D(const Ref< RHITexture > &texture, uint32 mipLevel, const Rect2u ®ion, const Ref< Data > &data) override
Definition: GLCommandList.cpp:68
BRK_API ~GLCommandList() override=default
BRK_API void Draw(uint32 verticesCount, uint32 baseVertex, uint32 instancesCount) override
Definition: GLCommandList.cpp:143
BRK_API void UpdateTexture2DArray(const Ref< RHITexture > &texture, uint32 arrayIndex, uint32 mipLevel, const Rect2u ®ion, const Ref< Data > &data) override
Definition: GLCommandList.cpp:73
Auxiliary class used to bind textures and samplers to pipeline.
Definition: GLResourceSet.hpp:48
Cache of opengl vertex array objects.
Definition: GLVaoCache.hpp:119
Command list for commands capturing and submission.
Definition: RHICommandList.hpp:54
RHI pass info to begin (initial targets clear values)
Definition: RHIRenderPass.hpp:100
Generic vector class for an N dimensional space base on type T.
Definition: TVecN.hpp:55
RHITextureCubemapFace
Definition: RHIDefs.hpp:177
RHIIndexType
Definition: RHIDefs.hpp:57
Definition: GLDevice.cpp:46
GL render pass shared state variables for context management.
Definition: GLRenderPass.hpp:45
Descriptor of vertex array object.
Definition: GLVaoCache.hpp:51
static const uint32 MAX_RESOURCE_SETS
Definition: RHIDefs.hpp:341