101 virtual void Reset() = 0;
104 virtual void Begin() = 0;
107 virtual void End() = 0;
109 virtual void BeginRendering(RGLRenderPassPtr) = 0;
110 virtual void EndRendering() = 0;
113 virtual void BindRenderPipeline(RGLRenderPipelinePtr) = 0;
114 virtual void BeginCompute(RGLComputePipelinePtr) = 0;
115 virtual void EndCompute() = 0;
116 virtual void DispatchCompute(uint32_t threadsX, uint32_t threadsY, uint32_t threadsZ, uint32_t threadsPerThreadgroupX=1, uint32_t threadsPerThreadgroupY=1, uint32_t threadsPerThreadgroupZ=1) = 0;
118 virtual void BindBuffer(RGLBufferPtr buffer, uint32_t binding, uint32_t offsetIntoBuffer = 0) = 0;
119 virtual void BindComputeBuffer(RGLBufferPtr buffer, uint32_t binding, uint32_t offsetIntoBuffer = 0) = 0;
121 virtual void SetVertexBuffer(RGLBufferPtr buffer,
const VertexBufferBinding& bindingInfo = {}) = 0;
123 virtual void SetIndexBuffer(RGLBufferPtr buffer) = 0;
125 virtual void SetVertexSampler(RGLSamplerPtr sampler, uint32_t index) = 0;
126 virtual void SetFragmentSampler(RGLSamplerPtr sampler, uint32_t index) = 0;
127 virtual void SetComputeSampler(RGLSamplerPtr sampler, uint32_t index) = 0;
129 virtual void SetVertexTexture(
const TextureView& texture, uint32_t index) = 0;
130 virtual void SetFragmentTexture(
const TextureView& texture, uint32_t index) = 0;
131 virtual void SetComputeTexture(
const TextureView& texture, uint32_t index) = 0;
136 virtual void BindBindlessBufferDescriptorSet(uint32_t set_idx) = 0;
138 virtual void SetViewport(
const Viewport&) = 0;
139 virtual void SetScissor(
const Rect&) = 0;
141 virtual void UseResource(
const TextureView& tx) = 0;
142 virtual void UseResource(
const RGLBufferPtr buffer) = 0;
144 virtual void CopyTextureToBuffer(
TextureView& sourceTexture,
const Rect& sourceRect,
size_t offset, RGLBufferPtr desetBuffer) = 0;
149 uint32_t arrayLayer = 0;
151 virtual void CopyBufferToTexture(RGLBufferPtr source, uint32_t size,
const TextureDestConfig& dest) = 0;
169 virtual void SetVertexBytes(
const untyped_span data, uint32_t offset) = 0;
170 virtual void SetFragmentBytes(
const untyped_span data, uint32_t offset) = 0;
171 virtual void SetComputeBytes(
const untyped_span data, uint32_t offset) = 0;
177 virtual void BeginRenderDebugMarker(
const std::string& label) = 0;
178 virtual void BeginComputeDebugMarker(
const std::string& label) = 0;
180 virtual void EndRenderDebugMarker() = 0;
181 virtual void EndComputeDebugMarker() = 0;
183 virtual void BlockUntilCompleted() = 0;
Definition CommandBuffer.hpp:159
Definition CommandBuffer.hpp:146
Definition Texture.hpp:43