9 static void SetupDebugLabelUtils(VkInstance instance);
12 virtual ~CommandBuffer()
override;
14 virtual VkCommandBuffer GetCommandBuffer();
16 virtual void BeginCommandBuffer()
override;
17 virtual void BindRenderPass(
22 uint32_t colorClearCount,
25 virtual void UnbindRenderPass()
override;
27 virtual void BeginRendering(
31 uint32_t colorAttachmentCount,
36 virtual void EndRendering()
override;
38 virtual void BeginDebugLabelSection(
const char* name,
float color[4] =
nullptr)
override;
39 virtual void EndDebugLabelSection()
override;
40 virtual void BindGraphicsDescriptorSet(
43 uint32_t descriptorSetOffset,
44 uint32_t descriptorSetCount
46 virtual void BindComputeDescriptorSet(
49 uint32_t descriptorSetOffset,
50 uint32_t descriptorSetCount
52 virtual void ClearAttachments(
ClearAttachment* attachments, uint32_t attachmentCount,
ClearRect* rects, uint32_t rectCount)
override;
56 virtual void SetViewport(
float offsetX,
float offsetY,
float width,
float height,
float depthMin = 0.0f,
float depthMax = 1.0f)
override;
57 virtual void SetScissor(int32_t offsetX, int32_t offsetY, uint32_t width, uint32_t height)
override;
58 virtual void SetDepthBias(
float biasConstantFactor,
float biasSlopeFactor)
override;
62 virtual void BindVertexBuffers(
const GraphicsAPI::Buffer*
const * vb, uint32_t count)
override;
64 virtual void DrawVertices(uint32_t vertexCount, uint32_t firstInstance, uint32_t instanceCount, int32_t vertexOffset)
override;
65 virtual void DrawIndices(uint32_t firstIndex, uint32_t indexCount, uint32_t firstInstance, uint32_t instanceCount, int32_t vertexOffset)
override;
66 virtual void DispatchCompute(uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)
override;
67 virtual void BlitImage(
70 Grindstone::GraphicsAPI::ImageLayout oldLayout,
71 Grindstone::GraphicsAPI::ImageLayout newLayout,
72 Grindstone::GraphicsAPI::TextureFilter filter,
76 virtual void PipelineBarrier(
81 virtual void EndCommandBuffer()
override;
83 virtual void BindDescriptorSet(
84 VkPipelineLayout pipelineLayout,
85 VkPipelineBindPoint bindPoint,
87 uint32_t descriptorSetOffset,
88 uint32_t descriptorSetCount
91 VkCommandBuffer commandBuffer;
92 VkCommandBufferBeginInfo beginInfo;