40 const int UNUSED(mp_index),
46 for (
int ml_index = mp->
loopstart; ml_index < ml_index_end; ml_index += 1) {
47 const MLoop *ml = &mloop[ml_index];
49 const int e_index = ml->
e;
56 const int ml_index_other = (ml_index == ml_index_last) ? mp->
loopstart : (ml_index + 1);
108 uint subdiv_quad_index,
109 const MPoly *coarse_quad)
115 uint start_loop_idx = subdiv_quad_index * 4;
116 uint end_loop_idx = (subdiv_quad_index + 1) * 4;
117 for (
uint loop_idx = start_loop_idx; loop_idx < end_loop_idx; loop_idx++) {
118 const uint coarse_edge_index = (
uint)subdiv_loop_edge_index[loop_idx];
119 const uint subdiv_edge_index = (
uint)subdiv_loop_subdiv_edge_index[loop_idx];
121 if (coarse_edge_index == -1u) {
125 const MEdge *me = &mr->
medge[coarse_edge_index];
129 const uint ml_index_other = (loop_idx == (end_loop_idx - 1)) ? start_loop_idx :
#define BLI_BITMAP_NEW(_num, _alloc_string)
#define BLI_BITMAP_TEST(_bitmap, _index)
#define BLI_BITMAP_TEST_AND_SET_ATOMIC(_bitmap, _index)
struct GPUIndexBuf GPUIndexBuf
void GPU_indexbuf_init(GPUIndexBufBuilder *, GPUPrimType, uint prim_len, uint vertex_len)
void GPU_indexbuf_set_line_verts(GPUIndexBufBuilder *builder, uint elem, uint v1, uint v2)
void GPU_indexbuf_set_line_restart(GPUIndexBufBuilder *builder, uint elem)
void GPU_indexbuf_build_in_place(GPUIndexBufBuilder *, GPUIndexBuf *)
void * GPU_vertbuf_get_data(const GPUVertBuf *verts)
Read Guarded memory(de)allocation.
Provides wrapper around system-specific atomic primitives, and some extensions (faked-atomic operatio...
void(* MEM_freeN)(void *vmemh)
static void extract_lines_paint_mask_finish_subdiv(const struct DRWSubdivCache *UNUSED(subdiv_cache), const MeshRenderData *mr, MeshBatchCache *cache, void *buf, void *_data)
static void extract_lines_paint_mask_init_subdiv(const DRWSubdivCache *subdiv_cache, const MeshRenderData *mr, MeshBatchCache *UNUSED(cache), void *UNUSED(buf), void *tls_data)
static void extract_lines_paint_mask_iter_subdiv_mesh(const DRWSubdivCache *subdiv_cache, const MeshRenderData *mr, void *_data, uint subdiv_quad_index, const MPoly *coarse_quad)
constexpr MeshExtract create_extractor_lines_paint_mask()
static void extract_lines_paint_mask_finish(const MeshRenderData *UNUSED(mr), MeshBatchCache *UNUSED(cache), void *buf, void *_data)
static void extract_lines_paint_mask_init(const MeshRenderData *mr, MeshBatchCache *UNUSED(cache), void *UNUSED(ibo), void *tls_data)
static void extract_lines_paint_mask_iter_poly_mesh(const MeshRenderData *mr, const MPoly *mp, const int UNUSED(mp_index), void *_data)
struct GPUVertBuf * edges_orig_index
int * subdiv_loop_subdiv_edge_index
GPUIndexBuf * lines_paint_mask
eMRExtractType extract_type