42 class GLShaderInterface;
44 #define GPU_VAO_STATIC_LEN 3
58 GLuint vao_base_instance_ = 0;
59 int base_instance_ = 0;
61 bool is_dynamic_vao_count =
false;
83 GLuint
lookup(
const GLShaderInterface *interface);
84 void insert(
const GLShaderInterface *interface, GLuint vao_id);
85 void remove(
const GLShaderInterface *interface);
90 void context_check(
void);
99 void draw(
int v_first,
int v_count,
int i_first,
int i_count)
override;
100 void bind(
int i_first);
Read Guarded memory(de)allocation.
GLVertBuf * verts_(const int index) const
MEM_CXX_CLASS_ALLOC_FUNCS("GLBatch")
void draw(int v_first, int v_count, int i_first, int i_count) override
GLVertBuf * inst_(const int index) const
GLIndexBuf * elem_(void) const
GLuint base_instance_vao_get(GPUBatch *batch, int i_first)
struct blender::gpu::GLVaoCache::@645::@647 static_vaos
struct blender::gpu::GLVaoCache::@645::@648 dynamic_vaos
GLuint lookup(const GLShaderInterface *interface)
const GLShaderInterface ** interfaces
const GLShaderInterface * interfaces[GPU_VAO_STATIC_LEN]
void insert(const GLShaderInterface *interface, GLuint vao_id)
GLuint vao_get(GPUBatch *batch)
GLuint vao_ids[GPU_VAO_STATIC_LEN]
void remove(const GLShaderInterface *interface)
#define GPU_VAO_STATIC_LEN
static Context * unwrap(GPUContext *ctx)