Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/draw/intern')
-rw-r--r--source/blender/draw/intern/draw_cache_impl_curve.c16
-rw-r--r--source/blender/draw/intern/draw_cache_impl_displist.c16
-rw-r--r--source/blender/draw/intern/draw_cache_impl_mesh.c2
-rw-r--r--source/blender/draw/intern/draw_cache_impl_volume.c2
-rw-r--r--source/blender/draw/intern/draw_manager.c17
-rw-r--r--source/blender/draw/intern/draw_manager_data.c6
-rw-r--r--source/blender/draw/intern/draw_manager_profiling.c2
-rw-r--r--source/blender/draw/intern/draw_manager_shader.c2
8 files changed, 31 insertions, 32 deletions
diff --git a/source/blender/draw/intern/draw_cache_impl_curve.c b/source/blender/draw/intern/draw_cache_impl_curve.c
index 33571d82079..4f03ab04862 100644
--- a/source/blender/draw/intern/draw_cache_impl_curve.c
+++ b/source/blender/draw/intern/draw_cache_impl_curve.c
@@ -77,7 +77,7 @@ static void curve_render_overlay_verts_edges_len_get(ListBase *lb,
BLI_assert(r_vert_len || r_edge_len);
int vert_len = 0;
int edge_len = 0;
- for (Nurb *nu = lb->first; nu; nu = nu->next) {
+ LISTBASE_FOREACH (Nurb *, nu, lb) {
if (nu->bezt) {
vert_len += nu->pntsu * 3;
/* 2x handles per point*/
@@ -107,7 +107,7 @@ static void curve_render_wire_verts_edges_len_get(const CurveCache *ob_curve_cac
int vert_len = 0;
int edge_len = 0;
int curve_len = 0;
- for (const BevList *bl = ob_curve_cache->bev.first; bl; bl = bl->next) {
+ LISTBASE_FOREACH (const BevList *, bl, &ob_curve_cache->bev) {
if (bl->nr > 0) {
const bool is_cyclic = bl->poly != -1;
edge_len += (is_cyclic) ? bl->nr : bl->nr - 1;
@@ -115,7 +115,7 @@ static void curve_render_wire_verts_edges_len_get(const CurveCache *ob_curve_cac
curve_len += 1;
}
}
- for (const DispList *dl = ob_curve_cache->disp.first; dl; dl = dl->next) {
+ LISTBASE_FOREACH (const DispList *, dl, &ob_curve_cache->disp) {
if (ELEM(dl->type, DL_SEGM, DL_POLY)) {
BLI_assert(dl->parts == 1);
const bool is_cyclic = dl->type == DL_POLY;
@@ -315,7 +315,7 @@ static void curve_cd_calc_used_gpu_layers(int *cd_layers,
}
ListBase gpu_attrs = GPU_material_attributes(gpumat);
- for (GPUMaterialAttribute *gpu_attr = gpu_attrs.first; gpu_attr; gpu_attr = gpu_attr->next) {
+ LISTBASE_FOREACH (GPUMaterialAttribute *, gpu_attr, &gpu_attrs) {
const char *name = gpu_attr->name;
int type = gpu_attr->type;
@@ -566,7 +566,7 @@ static void curve_create_curves_pos(CurveRenderData *rdata, GPUVertBuf *vbo_curv
GPU_vertbuf_data_alloc(vbo_curves_pos, vert_len);
int v_idx = 0;
- for (const BevList *bl = rdata->ob_curve_cache->bev.first; bl; bl = bl->next) {
+ LISTBASE_FOREACH (const BevList *, bl, &rdata->ob_curve_cache->bev) {
if (bl->nr <= 0) {
continue;
}
@@ -575,7 +575,7 @@ static void curve_create_curves_pos(CurveRenderData *rdata, GPUVertBuf *vbo_curv
GPU_vertbuf_attr_set(vbo_curves_pos, attr_id.pos, v_idx, bevp->vec);
}
}
- for (const DispList *dl = rdata->ob_curve_cache->disp.first; dl; dl = dl->next) {
+ LISTBASE_FOREACH (const DispList *, dl, &rdata->ob_curve_cache->disp) {
if (ELEM(dl->type, DL_SEGM, DL_POLY)) {
for (int i = 0; i < dl->nr; v_idx++, i++) {
GPU_vertbuf_attr_set(vbo_curves_pos, attr_id.pos, v_idx, &((float(*)[3])dl->verts)[i]);
@@ -599,7 +599,7 @@ static void curve_create_curves_lines(CurveRenderData *rdata, GPUIndexBuf *ibo_c
GPU_indexbuf_init_ex(&elb, GPU_PRIM_LINE_STRIP, index_len, vert_len);
int v_idx = 0;
- for (const BevList *bl = rdata->ob_curve_cache->bev.first; bl; bl = bl->next) {
+ LISTBASE_FOREACH (const BevList *, bl, &rdata->ob_curve_cache->bev) {
if (bl->nr <= 0) {
continue;
}
@@ -613,7 +613,7 @@ static void curve_create_curves_lines(CurveRenderData *rdata, GPUIndexBuf *ibo_c
GPU_indexbuf_add_primitive_restart(&elb);
v_idx += bl->nr;
}
- for (const DispList *dl = rdata->ob_curve_cache->disp.first; dl; dl = dl->next) {
+ LISTBASE_FOREACH (const DispList *, dl, &rdata->ob_curve_cache->disp) {
if (ELEM(dl->type, DL_SEGM, DL_POLY)) {
const bool is_cyclic = dl->type == DL_POLY;
if (is_cyclic) {
diff --git a/source/blender/draw/intern/draw_cache_impl_displist.c b/source/blender/draw/intern/draw_cache_impl_displist.c
index 24a28022b70..e09f78aa51f 100644
--- a/source/blender/draw/intern/draw_cache_impl_displist.c
+++ b/source/blender/draw/intern/draw_cache_impl_displist.c
@@ -72,7 +72,7 @@ static int dl_tri_len(const DispList *dl)
static int curve_render_surface_vert_len_get(const ListBase *lb)
{
int vert_len = 0;
- for (const DispList *dl = lb->first; dl; dl = dl->next) {
+ LISTBASE_FOREACH (const DispList *, dl, lb) {
vert_len += dl_vert_len(dl);
}
return vert_len;
@@ -81,7 +81,7 @@ static int curve_render_surface_vert_len_get(const ListBase *lb)
static int curve_render_surface_tri_len_get(const ListBase *lb)
{
int tri_len = 0;
- for (const DispList *dl = lb->first; dl; dl = dl->next) {
+ LISTBASE_FOREACH (const DispList *, dl, lb) {
tri_len += dl_tri_len(dl);
}
return tri_len;
@@ -193,7 +193,7 @@ void DRW_displist_vertbuf_create_pos_and_nor(ListBase *lb, GPUVertBuf *vbo)
BKE_displist_normals_add(lb);
int vbo_len_used = 0;
- for (const DispList *dl = lb->first; dl; dl = dl->next) {
+ LISTBASE_FOREACH (const DispList *, dl, lb) {
const bool ndata_is_single = dl->type == DL_INDEX3;
if (ELEM(dl->type, DL_INDEX3, DL_INDEX4, DL_SURF)) {
const float *fp_co = dl->verts;
@@ -263,7 +263,7 @@ void DRW_displist_indexbuf_create_triangles_in_order(ListBase *lb, GPUIndexBuf *
GPU_indexbuf_init(&elb, GPU_PRIM_TRIS, tri_len, vert_len);
int ofs = 0;
- for (const DispList *dl = lb->first; dl; dl = dl->next) {
+ LISTBASE_FOREACH (const DispList *, dl, lb) {
displist_indexbufbuilder_set((SetTriIndicesFn *)GPU_indexbuf_add_tri_verts,
(SetTriIndicesFn *)GPU_indexbuf_add_tri_verts,
&elb,
@@ -290,7 +290,7 @@ void DRW_displist_indexbuf_create_triangles_loop_split_by_material(ListBase *lb,
/* calc each index buffer builder */
uint v_idx = 0;
- for (const DispList *dl = lb->first; dl; dl = dl->next) {
+ LISTBASE_FOREACH (const DispList *, dl, lb) {
v_idx = displist_indexbufbuilder_tess_set((SetTriIndicesFn *)GPU_indexbuf_add_tri_verts,
(SetTriIndicesFn *)GPU_indexbuf_add_tri_verts,
&elb[dl->col],
@@ -328,7 +328,7 @@ void DRW_displist_indexbuf_create_lines_in_order(ListBase *lb, GPUIndexBuf *ibo)
GPU_indexbuf_init(&elb, GPU_PRIM_LINES, tri_len * 3, vert_len);
int ofs = 0;
- for (const DispList *dl = lb->first; dl; dl = dl->next) {
+ LISTBASE_FOREACH (const DispList *, dl, lb) {
displist_indexbufbuilder_set(
set_overlay_wires_tri_indices, set_overlay_wires_quad_tri_indices, &elb, dl, ofs);
ofs += dl_vert_len(dl);
@@ -508,7 +508,7 @@ void DRW_displist_vertbuf_create_loop_pos_and_nor_and_uv_and_tan(ListBase *lb,
BKE_displist_normals_add(lb);
- for (const DispList *dl = lb->first; dl; dl = dl->next) {
+ LISTBASE_FOREACH (const DispList *, dl, lb) {
const bool is_smooth = (dl->rt & CU_SMOOTH) != 0;
if (ELEM(dl->type, DL_INDEX3, DL_INDEX4, DL_SURF)) {
const float(*verts)[3] = (float(*)[3])dl->verts;
@@ -780,7 +780,7 @@ void DRW_displist_indexbuf_create_edges_adjacency_lines(struct ListBase *lb,
/* pack values to pass to `set_edges_adjacency_lines_indices` function. */
void *thunk[3] = {&elb, eh, r_is_manifold};
int v_idx = 0;
- for (const DispList *dl = lb->first; dl; dl = dl->next) {
+ LISTBASE_FOREACH (const DispList *, dl, lb) {
displist_indexbufbuilder_set((SetTriIndicesFn *)set_edges_adjacency_lines_indices,
(SetTriIndicesFn *)set_edges_adjacency_lines_indices,
thunk,
diff --git a/source/blender/draw/intern/draw_cache_impl_mesh.c b/source/blender/draw/intern/draw_cache_impl_mesh.c
index a4b88d99a3c..308d87f1385 100644
--- a/source/blender/draw/intern/draw_cache_impl_mesh.c
+++ b/source/blender/draw/intern/draw_cache_impl_mesh.c
@@ -144,7 +144,7 @@ static DRW_MeshCDMask mesh_cd_calc_used_gpu_layers(const Mesh *me,
GPUMaterial *gpumat = gpumat_array[i];
if (gpumat) {
ListBase gpu_attrs = GPU_material_attributes(gpumat);
- for (GPUMaterialAttribute *gpu_attr = gpu_attrs.first; gpu_attr; gpu_attr = gpu_attr->next) {
+ LISTBASE_FOREACH (GPUMaterialAttribute *, gpu_attr, &gpu_attrs) {
const char *name = gpu_attr->name;
int type = gpu_attr->type;
int layer = -1;
diff --git a/source/blender/draw/intern/draw_cache_impl_volume.c b/source/blender/draw/intern/draw_cache_impl_volume.c
index c64817413b8..a7562b1b8ea 100644
--- a/source/blender/draw/intern/draw_cache_impl_volume.c
+++ b/source/blender/draw/intern/draw_cache_impl_volume.c
@@ -124,7 +124,7 @@ static void volume_batch_cache_clear(Volume *volume)
return;
}
- for (DRWVolumeGrid *grid = cache->grids.first; grid; grid = grid->next) {
+ LISTBASE_FOREACH (DRWVolumeGrid *, grid, &cache->grids) {
MEM_SAFE_FREE(grid->name);
DRW_TEXTURE_FREE_SAFE(grid->texture);
}
diff --git a/source/blender/draw/intern/draw_manager.c b/source/blender/draw/intern/draw_manager.c
index 280e82ef473..1434cac5f97 100644
--- a/source/blender/draw/intern/draw_manager.c
+++ b/source/blender/draw/intern/draw_manager.c
@@ -690,8 +690,7 @@ void **DRW_duplidata_get(void *vedata)
void *DRW_view_layer_engine_data_get(DrawEngineType *engine_type)
{
- for (ViewLayerEngineData *sled = DST.draw_ctx.view_layer->drawdata.first; sled;
- sled = sled->next) {
+ LISTBASE_FOREACH (ViewLayerEngineData *, sled, &DST.draw_ctx.view_layer->drawdata) {
if (sled->engine_type == engine_type) {
return sled->storage;
}
@@ -922,7 +921,7 @@ void DRW_cache_free_old_batches(Main *bmain)
static void drw_engines_init(void)
{
- for (LinkData *link = DST.enabled_engines.first; link; link = link->next) {
+ LISTBASE_FOREACH (LinkData *, link, &DST.enabled_engines) {
DrawEngineType *engine = link->data;
ViewportEngineData *data = drw_viewport_engine_data_ensure(engine);
PROFILE_START(stime);
@@ -966,7 +965,7 @@ static void drw_engines_world_update(Scene *scene)
return;
}
- for (LinkData *link = DST.enabled_engines.first; link; link = link->next) {
+ LISTBASE_FOREACH (LinkData *, link, &DST.enabled_engines) {
DrawEngineType *engine = link->data;
ViewportEngineData *data = drw_viewport_engine_data_ensure(engine);
@@ -1032,7 +1031,7 @@ static void drw_engines_cache_finish(void)
static void drw_engines_draw_scene(void)
{
- for (LinkData *link = DST.enabled_engines.first; link; link = link->next) {
+ LISTBASE_FOREACH (LinkData *, link, &DST.enabled_engines) {
DrawEngineType *engine = link->data;
ViewportEngineData *data = drw_viewport_engine_data_ensure(engine);
PROFILE_START(stime);
@@ -1055,7 +1054,7 @@ static void drw_engines_draw_scene(void)
static void drw_engines_draw_text(void)
{
- for (LinkData *link = DST.enabled_engines.first; link; link = link->next) {
+ LISTBASE_FOREACH (LinkData *, link, &DST.enabled_engines) {
DrawEngineType *engine = link->data;
ViewportEngineData *data = drw_viewport_engine_data_ensure(engine);
PROFILE_START(stime);
@@ -1071,7 +1070,7 @@ static void drw_engines_draw_text(void)
/* Draw render engine info. */
void DRW_draw_region_engine_info(int xoffset, int yoffset)
{
- for (LinkData *link = DST.enabled_engines.first; link; link = link->next) {
+ LISTBASE_FOREACH (LinkData *, link, &DST.enabled_engines) {
DrawEngineType *engine = link->data;
ViewportEngineData *data = drw_viewport_engine_data_ensure(engine);
@@ -1178,7 +1177,7 @@ static void drw_engines_data_validate(void)
void **engine_handle_array = BLI_array_alloca(engine_handle_array, enabled_engines + 1);
int i = 0;
- for (LinkData *link = DST.enabled_engines.first; link; link = link->next) {
+ LISTBASE_FOREACH (LinkData *, link, &DST.enabled_engines) {
DrawEngineType *engine = link->data;
engine_handle_array[i++] = engine;
}
@@ -1245,7 +1244,7 @@ void DRW_notify_view_update(const DRWUpdateContext *update_ctx)
drw_engines_enable(view_layer, engine_type, gpencil_engine_needed);
drw_engines_data_validate();
- for (LinkData *link = DST.enabled_engines.first; link; link = link->next) {
+ LISTBASE_FOREACH (LinkData *, link, &DST.enabled_engines) {
DrawEngineType *draw_engine = link->data;
ViewportEngineData *data = drw_viewport_engine_data_ensure(draw_engine);
diff --git a/source/blender/draw/intern/draw_manager_data.c b/source/blender/draw/intern/draw_manager_data.c
index 50193dde7ee..0544bb3c49b 100644
--- a/source/blender/draw/intern/draw_manager_data.c
+++ b/source/blender/draw/intern/draw_manager_data.c
@@ -1300,7 +1300,7 @@ static DRWShadingGroup *drw_shgroup_material_inputs(DRWShadingGroup *grp,
ListBase textures = GPU_material_textures(material);
/* Bind all textures needed by the material. */
- for (GPUMaterialTexture *tex = textures.first; tex; tex = tex->next) {
+ LISTBASE_FOREACH (GPUMaterialTexture *, tex, &textures) {
if (tex->ima) {
/* Image */
if (tex->tiled_mapping_name[0]) {
@@ -1903,7 +1903,7 @@ DRWPass *DRW_pass_create(const char *name, DRWState state)
bool DRW_pass_is_empty(DRWPass *pass)
{
- for (DRWShadingGroup *shgroup = pass->shgroups.first; shgroup; shgroup = shgroup->next) {
+ LISTBASE_FOREACH (DRWShadingGroup *, shgroup, &pass->shgroups) {
if (!DRW_shgroup_is_empty(shgroup)) {
return false;
}
@@ -1930,7 +1930,7 @@ void DRW_pass_foreach_shgroup(DRWPass *pass,
void (*callback)(void *userData, DRWShadingGroup *shgrp),
void *userData)
{
- for (DRWShadingGroup *shgroup = pass->shgroups.first; shgroup; shgroup = shgroup->next) {
+ LISTBASE_FOREACH (DRWShadingGroup *, shgroup, &pass->shgroups) {
callback(userData, shgroup);
}
}
diff --git a/source/blender/draw/intern/draw_manager_profiling.c b/source/blender/draw/intern/draw_manager_profiling.c
index b4bcfd3f600..57887c11c02 100644
--- a/source/blender/draw/intern/draw_manager_profiling.c
+++ b/source/blender/draw/intern/draw_manager_profiling.c
@@ -251,7 +251,7 @@ void DRW_stats_draw(const rcti *rect)
/* Engines rows */
char time_to_txt[16];
- for (LinkData *link = DST.enabled_engines.first; link; link = link->next) {
+ LISTBASE_FOREACH (LinkData *, link, &DST.enabled_engines) {
u = 0;
DrawEngineType *engine = link->data;
ViewportEngineData *data = drw_viewport_engine_data_ensure(engine);
diff --git a/source/blender/draw/intern/draw_manager_shader.c b/source/blender/draw/intern/draw_manager_shader.c
index 89884d58099..b451cfb1d05 100644
--- a/source/blender/draw/intern/draw_manager_shader.c
+++ b/source/blender/draw/intern/draw_manager_shader.c
@@ -249,7 +249,7 @@ void DRW_deferred_shader_remove(GPUMaterial *mat)
/* No job running, do not create a new one by calling WM_jobs_get. */
continue;
}
- for (wmWindow *win = wm->windows.first; win; win = win->next) {
+ LISTBASE_FOREACH (wmWindow *, win, &wm->windows) {
wmJob *wm_job = WM_jobs_get(
wm, win, scene, "Shaders Compilation", WM_JOB_PROGRESS, WM_JOB_TYPE_SHADER_COMPILATION);