22void VKBatch::draw(
int vertex_first,
int vertex_count,
int instance_first,
int instance_count)
30 const bool draw_indexed = index_buffer !=
nullptr;
36 context.active_framebuffer_get()->rendering_ensure(context);
46 context.active_framebuffer_get()->vk_viewports_append(
48 context.active_framebuffer_get()->vk_render_areas_append(
56 context.render_graph().add_node(draw_indexed);
65 context.active_framebuffer_get()->vk_render_areas_append(
71 context.render_graph().add_node(draw);
100 const bool draw_indexed = index_buffer !=
nullptr;
106 context.active_framebuffer_get()->rendering_ensure(context);
110 resource_access_info);
116 context.active_framebuffer_get()->vk_viewports_append(
118 context.active_framebuffer_get()->vk_render_areas_append(
126 context.render_graph().add_node(draw_indexed_indirect);
135 context.active_framebuffer_get()->vk_render_areas_append(
141 context.render_graph().add_node(draw);
uint32_t index_start_get() const
uint32_t index_base_get() const
void draw_indirect(GPUStorageBuf *indirect_buf, intptr_t offset) override
void multi_draw_indirect(GPUStorageBuf *indirect_buf, int count, intptr_t offset, intptr_t stride) override
VKIndexBuffer * index_buffer_get()
void draw(int vertex_first, int vertex_count, int instance_first, int instance_count) override
VkIndexType vk_index_type() const
VkBuffer vk_handle() const
void upload_data() override
VkBuffer vk_handle() const
void update_bindings(const VKContext &context, VKBatch &batch)
void bind(render_graph::VKVertexBufferBindings &r_vertex_buffer_bindings) const
static Context * unwrap(GPUContext *ctx)
VKPipelineData pipeline_data
VKVertexBufferBindings vertex_buffers
VKViewportData viewport_data
VKDrawIndexedData node_data
VKPipelineData pipeline_data
VKIndexBufferBinding index_buffer
VKViewportData viewport_data
VKVertexBufferBindings vertex_buffers
VKDrawIndexedIndirectData node_data
VKIndexBufferBinding index_buffer
VKPipelineData pipeline_data
VKVertexBufferBindings vertex_buffers
VKViewportData viewport_data
VKDrawIndirectData node_data
VKVertexBufferBindings vertex_buffers
VKPipelineData pipeline_data
VKViewportData viewport_data
Vector< VkRect2D > scissors
Vector< VkViewport > viewports