14 #define GPU_TRACK_INDEX_RANGE 1
94 inline void squeeze_indices_short(
uint min_idx,
uint max_idx);
105 return reinterpret_cast<IndexBuf *
>(indexbuf);
109 return reinterpret_cast<const IndexBuf *
>(indexbuf);
struct GPUIndexBuf GPUIndexBuf
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
void init(uint indices_len, uint32_t *indices, uint min_index, uint max_index)
virtual void upload_data()=0
virtual const uint32_t * read() const =0
uint32_t * unmap(const uint32_t *mapped_memory) const
GPUIndexBufType index_type_
virtual void update_sub(uint start, uint len, const void *data)=0
void init_build_on_device(uint index_len)
void init_subrange(IndexBuf *elem_src, uint start, uint length)
uint32_t index_len_get() const
virtual void bind_as_ssbo(uint binding)=0
ccl_gpu_kernel_postfix int ccl_global int * indices
static GPUContext * wrap(Context *ctx)
static Context * unwrap(GPUContext *ctx)
static int indices_per_primitive(GPUPrimType prim_type)
static size_t to_bytesize(GPUIndexBufType type)
T length(const vec_base< T, Size > &a)