24 if (
format.attr_len == 0) {
55 }
while ((l_iter = l_iter->
next) != l_first);
68 }
while ((l_iter = l_iter->
next) != l_first);
81 }
while ((l_iter = l_iter->
next) != l_first);
86 const int ledge_index,
95 const int ledge_index,
104 const int lvert_index,
118 for (
int ml_index = mp->
loopstart; ml_index < ml_index_end; ml_index += 1) {
125 const int UNUSED(mp_index),
130 for (
int ml_index = mp->
loopstart; ml_index < ml_index_end; ml_index += 1) {
131 const MLoop *ml = &mloop[ml_index];
138 const int UNUSED(mp_index),
143 for (
int ml_index = mp->
loopstart; ml_index < ml_index_end; ml_index += 1) {
144 const MLoop *ml = &mloop[ml_index];
151 const int ledge_index,
154 const int e_index = mr->
ledges[ledge_index];
162 const int ledge_index,
173 const int lvert_index,
178 const int v_index = mr->
lverts[lvert_index];
206 if (vbo_data[i] == -1) {
233 if (
v1.coarse_vertex_index != -1u) {
235 v1.coarse_vertex_index;
238 if (
v2.coarse_vertex_index != -1u) {
240 v2.coarse_vertex_index;
251 loose_vert.coarse_vertex_index;
288 loose_edge.coarse_edge_index;
289 vert_idx_data[
offset] = coarse_edge_index;
290 vert_idx_data[
offset + 1] = coarse_edge_index;
_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 const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_BOOL GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLushort pattern _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint GLdouble v1
struct GPUVertBuf GPUVertBuf
void GPU_vertbuf_data_alloc(GPUVertBuf *, uint v_len)
#define GPU_vertbuf_init_with_format(verts, format)
void * GPU_vertbuf_get_data(const GPUVertBuf *verts)
#define BM_FACE_FIRST_LOOP(p)
#define BM_elem_index_get(ele)
ATTR_WARN_UNUSED_RESULT const BMVert * v2
blender::Span< DRWSubdivLooseVertex > draw_subdiv_cache_get_loose_verts(const DRWSubdivCache *cache)
void draw_subdiv_init_origindex_buffer(GPUVertBuf *buffer, int32_t *vert_origindex, uint num_loops, uint loose_len)
blender::Span< DRWSubdivLooseEdge > draw_subdiv_cache_get_loose_edges(const DRWSubdivCache *cache)
ccl_global float * buffer
ccl_gpu_kernel_postfix ccl_global float int int int int float bool int offset
static void extract_edge_idx_iter_poly_bm(const MeshRenderData *UNUSED(mr), const BMFace *f, const int UNUSED(f_index), void *data)
static void extract_vert_idx_iter_poly_bm(const MeshRenderData *UNUSED(mr), const BMFace *f, const int UNUSED(f_index), void *data)
static void extract_edge_idx_loose_geom_subdiv(const DRWSubdivCache *subdiv_cache, const MeshRenderData *mr, void *buffer, void *UNUSED(data))
static void extract_fdot_idx_iter_poly_bm(const MeshRenderData *UNUSED(mr), const BMFace *UNUSED(f), const int f_index, void *data)
static void extract_edge_idx_iter_ledge_mesh(const MeshRenderData *mr, const MEdge *UNUSED(med), const int ledge_index, void *data)
static void extract_fdot_idx_iter_poly_mesh(const MeshRenderData *mr, const MPoly *UNUSED(mp), const int mp_index, void *data)
static void extract_vert_idx_iter_lvert_bm(const MeshRenderData *mr, const BMVert *eve, const int lvert_index, void *data)
static void extract_poly_idx_init_subdiv(const DRWSubdivCache *subdiv_cache, const MeshRenderData *mr, MeshBatchCache *UNUSED(cache), void *buf, void *UNUSED(data))
static void extract_fdot_idx_init(const MeshRenderData *mr, MeshBatchCache *UNUSED(cache), void *buf, void *tls_data)
static void extract_vert_idx_iter_ledge_mesh(const MeshRenderData *mr, const MEdge *med, const int ledge_index, void *data)
static void extract_vert_idx_iter_poly_mesh(const MeshRenderData *mr, const MPoly *mp, const int UNUSED(mp_index), void *data)
constexpr MeshExtract create_extractor_edge_idx()
static void extract_vert_idx_iter_lvert_mesh(const MeshRenderData *mr, const MVert *UNUSED(mv), const int lvert_index, void *data)
static void extract_vert_idx_loose_geom_subdiv(const DRWSubdivCache *subdiv_cache, const MeshRenderData *mr, void *buffer, void *UNUSED(data))
constexpr MeshExtract create_extractor_fdot_idx()
static void extract_select_idx_init_impl(const MeshRenderData *UNUSED(mr), const int len, void *buf, void *tls_data)
static void extract_edge_idx_init_subdiv(const DRWSubdivCache *subdiv_cache, const MeshRenderData *UNUSED(mr), MeshBatchCache *UNUSED(cache), void *buf, void *UNUSED(data))
static void extract_vert_idx_init_subdiv(const DRWSubdivCache *subdiv_cache, const MeshRenderData *mr, MeshBatchCache *UNUSED(cache), void *buf, void *UNUSED(data))
constexpr MeshExtract create_extractor_vert_idx()
static void extract_edge_idx_iter_poly_mesh(const MeshRenderData *mr, const MPoly *mp, const int UNUSED(mp_index), void *data)
static void extract_poly_idx_iter_poly_mesh(const MeshRenderData *mr, const MPoly *mp, const int mp_index, void *data)
static void extract_vert_idx_iter_ledge_bm(const MeshRenderData *mr, const BMEdge *eed, const int ledge_index, void *data)
static void extract_poly_idx_iter_poly_bm(const MeshRenderData *UNUSED(mr), const BMFace *f, const int f_index, void *data)
constexpr MeshExtract create_extractor_poly_idx()
static void extract_edge_idx_iter_ledge_bm(const MeshRenderData *mr, const BMEdge *eed, const int ledge_index, void *data)
static void extract_select_idx_init(const MeshRenderData *mr, MeshBatchCache *UNUSED(cache), void *buf, void *tls_data)
struct GPUVertBuf * edges_orig_index
struct GPUVertBuf * verts_orig_index
int * subdiv_loop_poly_index
DRWSubdivLooseGeom loose_geom
DRWSubdivLooseVertex * verts