21void VKBatch::draw(
int vertex_first,
int vertex_count,
int instance_first,
int instance_count)
29 const bool draw_indexed = index_buffer !=
nullptr;
35 context.active_framebuffer_get()->rendering_ensure(context);
50 context.render_graph.add_node(draw_indexed);
61 context.render_graph.add_node(draw);
90 const bool draw_indexed = index_buffer !=
nullptr;
96 context.active_framebuffer_get()->rendering_ensure(context);
100 resource_access_info);
111 context.render_graph.add_node(draw_indexed_indirect);
122 context.render_graph.add_node(draw);
128 return unwrap(verts_(index));
133 return unwrap(inst_(index));
uint32_t index_start_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
VKVertexBuffer * vertex_buffer_get(int index)
VKIndexBuffer * index_buffer_get()
VKVertexBuffer * instance_buffer_get(int index)
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
VKDrawIndexedData node_data
VKPipelineData pipeline_data
VKIndexBufferBinding index_buffer
VKVertexBufferBindings vertex_buffers
VKDrawIndexedIndirectData node_data
VKIndexBufferBinding index_buffer
VKPipelineData pipeline_data
VKVertexBufferBindings vertex_buffers
VKDrawIndirectData node_data
VKVertexBufferBindings vertex_buffers
VKPipelineData pipeline_data