25class GLShaderInterface;
27#define GPU_VAO_STATIC_LEN 3
43 GLuint vao_base_instance_ = 0;
44 int base_instance_ = 0;
46 bool is_dynamic_vao_count =
false;
70 GLuint
lookup(
const GLShaderInterface *interface);
74 void insert(
const GLShaderInterface *interface, GLuint vao_id);
75 void remove(
const GLShaderInterface *interface);
93 void draw(
int v_first,
int v_count,
int i_first,
int i_count)
override;
113 return static_cast<GLVertBuf *
>(inst[index]);
Read Guarded memory(de)allocation.
void multi_draw_indirect(GPUStorageBuf *indirect_buf, int count, intptr_t offset, intptr_t stride) override
MEM_CXX_CLASS_ALLOC_FUNCS("GLBatch")
GLIndexBuf * elem_() const
void draw(int v_first, int v_count, int i_first, int i_count) override
GLVertBuf * inst_(const int index) const
GLVertBuf * verts_(const int index) const
void draw_indirect(GPUStorageBuf *indirect_buf, intptr_t offset) override
struct blender::gpu::GLVaoCache::@655::@657 static_vaos
GLuint lookup(const GLShaderInterface *interface)
struct blender::gpu::GLVaoCache::@655::@658 dynamic_vaos
const GLShaderInterface ** interfaces
const GLShaderInterface * interfaces[GPU_VAO_STATIC_LEN]
GLuint vao_get(Batch *batch)
void insert(const GLShaderInterface *interface, GLuint vao_id)
GLuint vao_ids[GPU_VAO_STATIC_LEN]
void remove(const GLShaderInterface *interface)
#define GPU_VAO_STATIC_LEN