Blender V4.3
vk_batch.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2022 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
9#pragma once
10
11#include "vk_common.hh"
12
13#include "GPU_batch.hh"
14
15namespace blender::gpu {
16class VKVertexBuffer;
17class VKIndexBuffer;
18
19class VKBatch : public Batch {
20 public:
21 void draw(int vertex_first, int vertex_count, int instance_first, int instance_count) override;
22 void draw_indirect(GPUStorageBuf *indirect_buf, intptr_t offset) override;
23 void multi_draw_indirect(GPUStorageBuf *indirect_buf,
24 int count,
25 intptr_t offset,
26 intptr_t stride) override;
27 void multi_draw_indirect(VkBuffer indirect_buf, int count, intptr_t offset, intptr_t stride);
28
32};
33
34inline VKBatch *unwrap(Batch *batch)
35{
36 return static_cast<VKBatch *>(batch);
37}
38
39} // namespace blender::gpu
void draw_indirect(GPUStorageBuf *indirect_buf, intptr_t offset) override
Definition vk_batch.cc:65
void multi_draw_indirect(GPUStorageBuf *indirect_buf, int count, intptr_t offset, intptr_t stride) override
Definition vk_batch.cc:70
VKVertexBuffer * vertex_buffer_get(int index)
Definition vk_batch.cc:126
VKIndexBuffer * index_buffer_get()
Definition vk_batch.cc:136
VKVertexBuffer * instance_buffer_get(int index)
Definition vk_batch.cc:131
void draw(int vertex_first, int vertex_count, int instance_first, int instance_count) override
Definition vk_batch.cc:21
struct @620::@622 batch
int count
static Context * unwrap(GPUContext *ctx)
_W64 int intptr_t
Definition stdint.h:118