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:
authorHans Goudey <h.goudey@me.com>2022-06-07 19:55:56 +0300
committerHans Goudey <h.goudey@me.com>2022-06-07 19:55:56 +0300
commit9fda23389758c80d97439a0f5ee718d0f898ff79 (patch)
tree889fd1d36729a7243f4147104cb869b18fcc64b9 /source/blender/draw
parentd39e0f9616680042d67979424e400bdf8a4b89f4 (diff)
Cleanup: Use const pointers in attribute API
Diffstat (limited to 'source/blender/draw')
-rw-r--r--source/blender/draw/intern/draw_cache_impl_mesh.cc8
-rw-r--r--source/blender/draw/intern/mesh_extractors/extract_mesh_vbo_vcol.cc60
2 files changed, 36 insertions, 32 deletions
diff --git a/source/blender/draw/intern/draw_cache_impl_mesh.cc b/source/blender/draw/intern/draw_cache_impl_mesh.cc
index 1f83e0e3fce..ec71250b63b 100644
--- a/source/blender/draw/intern/draw_cache_impl_mesh.cc
+++ b/source/blender/draw/intern/draw_cache_impl_mesh.cc
@@ -353,7 +353,7 @@ static void mesh_cd_calc_active_mloopcol_layer(const Object *object,
BKE_id_attribute_copy_domains_temp(ID_ME, cd_vdata, NULL, cd_ldata, NULL, NULL, &me_query.id);
- CustomDataLayer *layer = BKE_id_attributes_active_color_get(&me_query.id);
+ const CustomDataLayer *layer = BKE_id_attributes_active_color_get(&me_query.id);
int layer_i = BKE_id_attribute_to_index(
&me_query.id, layer, ATTR_DOMAIN_MASK_COLOR, CD_MASK_COLOR_ALL);
@@ -367,7 +367,7 @@ static uint mesh_cd_calc_gpu_layers_vcol_used(const Mesh *me_query,
const CustomData *cd_ldata,
const char name[])
{
- CustomDataLayer *layer = NULL;
+ const CustomDataLayer *layer = NULL;
eAttrDomain domain;
if (name[0]) {
@@ -1089,8 +1089,8 @@ static void sculpt_request_active_vcol(MeshBatchCache *cache, Object *object, Me
Mesh me_query = blender::dna::shallow_zero_initialize();
BKE_id_attribute_copy_domains_temp(ID_ME, cd_vdata, NULL, cd_ldata, NULL, NULL, &me_query.id);
- CustomDataLayer *active = BKE_id_attributes_active_color_get(&me_query.id);
- CustomDataLayer *render = BKE_id_attributes_render_color_get(&me_query.id);
+ const CustomDataLayer *active = BKE_id_attributes_active_color_get(&me_query.id);
+ const CustomDataLayer *render = BKE_id_attributes_render_color_get(&me_query.id);
int active_i = BKE_id_attribute_to_index(
&me_query.id, active, ATTR_DOMAIN_MASK_COLOR, CD_MASK_COLOR_ALL);
diff --git a/source/blender/draw/intern/mesh_extractors/extract_mesh_vbo_vcol.cc b/source/blender/draw/intern/mesh_extractors/extract_mesh_vbo_vcol.cc
index 0e192e34dff..3095d9f7c84 100644
--- a/source/blender/draw/intern/mesh_extractors/extract_mesh_vbo_vcol.cc
+++ b/source/blender/draw/intern/mesh_extractors/extract_mesh_vbo_vcol.cc
@@ -73,10 +73,10 @@ namespace blender::draw {
/* Initialize the common vertex format for vcol for coarse and subdivided meshes. */
static void init_vcol_format(GPUVertFormat *format,
const MeshBatchCache *cache,
- CustomData *cd_vdata,
- CustomData *cd_ldata,
- CustomDataLayer *active,
- CustomDataLayer *render)
+ const CustomData *cd_vdata,
+ const CustomData *cd_ldata,
+ const CustomDataLayer *active,
+ const CustomDataLayer *render)
{
GPU_vertformat_deinterleave(format);
@@ -130,16 +130,18 @@ static void extract_vcol_init(const MeshRenderData *mr,
GPUVertBuf *vbo = static_cast<GPUVertBuf *>(buf);
GPUVertFormat format = {0};
- CustomData *cd_vdata = (mr->extract_type == MR_EXTRACT_BMESH) ? &mr->bm->vdata : &mr->me->vdata;
- CustomData *cd_ldata = (mr->extract_type == MR_EXTRACT_BMESH) ? &mr->bm->ldata : &mr->me->ldata;
+ const CustomData *cd_vdata = (mr->extract_type == MR_EXTRACT_BMESH) ? &mr->bm->vdata :
+ &mr->me->vdata;
+ const CustomData *cd_ldata = (mr->extract_type == MR_EXTRACT_BMESH) ? &mr->bm->ldata :
+ &mr->me->ldata;
Mesh me_query = blender::dna::shallow_zero_initialize();
BKE_id_attribute_copy_domains_temp(
ID_ME, cd_vdata, nullptr, cd_ldata, nullptr, nullptr, &me_query.id);
- CustomDataLayer *active_color = BKE_id_attributes_active_color_get(&me_query.id);
- CustomDataLayer *render_color = BKE_id_attributes_render_color_get(&me_query.id);
+ const CustomDataLayer *active_color = BKE_id_attributes_active_color_get(&me_query.id);
+ const CustomDataLayer *render_color = BKE_id_attributes_render_color_get(&me_query.id);
const uint32_t vcol_layers = cache->cd_used.vcol;
init_vcol_format(&format, cache, cd_vdata, cd_ldata, active_color, render_color);
@@ -152,7 +154,7 @@ static void extract_vcol_init(const MeshRenderData *mr,
blender::Vector<VColRef> refs = get_vcol_refs(cd_vdata, cd_ldata, vcol_layers);
for (const VColRef &ref : refs) {
- CustomData *cdata = ref.domain == ATTR_DOMAIN_POINT ? cd_vdata : cd_ldata;
+ const CustomData *cdata = ref.domain == ATTR_DOMAIN_POINT ? cd_vdata : cd_ldata;
if (mr->extract_type == MR_EXTRACT_BMESH) {
int cd_ofs = ref.layer->offset;
@@ -168,10 +170,10 @@ static void extract_vcol_init(const MeshRenderData *mr,
BMFace *f;
BM_ITER_MESH (f, &iter, mr->bm, BM_FACES_OF_MESH) {
- BMLoop *l_iter = f->l_first;
+ const BMLoop *l_iter = f->l_first;
do {
- BMElem *elem = is_point ? reinterpret_cast<BMElem *>(l_iter->v) :
- reinterpret_cast<BMElem *>(l_iter);
+ const BMElem *elem = is_point ? reinterpret_cast<const BMElem *>(l_iter->v) :
+ reinterpret_cast<const BMElem *>(l_iter);
if (is_byte) {
const MLoopCol *mloopcol = (const MLoopCol *)BM_ELEM_CD_GET_VOID_P(elem, cd_ofs);
vcol_data->r = unit_float_to_ushort_clamp(BLI_color_from_srgb_table[mloopcol->r]);
@@ -193,17 +195,17 @@ static void extract_vcol_init(const MeshRenderData *mr,
}
else {
int totloop = mr->loop_len;
- int idx = CustomData_get_named_layer_index(cdata, ref.layer->type, ref.layer->name);
+ const int idx = CustomData_get_named_layer_index(cdata, ref.layer->type, ref.layer->name);
- MLoopCol *mcol = nullptr;
- MPropCol *pcol = nullptr;
+ const MLoopCol *mcol = nullptr;
+ const MPropCol *pcol = nullptr;
const MLoop *mloop = mr->mloop;
if (ref.layer->type == CD_PROP_COLOR) {
- pcol = static_cast<MPropCol *>(cdata->layers[idx].data);
+ pcol = static_cast<const MPropCol *>(cdata->layers[idx].data);
}
else {
- mcol = static_cast<MLoopCol *>(cdata->layers[idx].data);
+ mcol = static_cast<const MLoopCol *>(cdata->layers[idx].data);
}
const bool is_corner = ref.domain == ATTR_DOMAIN_CORNER;
@@ -251,8 +253,8 @@ static void extract_vcol_init_subdiv(const DRWSubdivCache *subdiv_cache,
BKE_id_attribute_copy_domains_temp(
ID_ME, cd_vdata, nullptr, cd_ldata, nullptr, nullptr, &me_query.id);
- CustomDataLayer *active_color = BKE_id_attributes_active_color_get(&me_query.id);
- CustomDataLayer *render_color = BKE_id_attributes_render_color_get(&me_query.id);
+ const CustomDataLayer *active_color = BKE_id_attributes_active_color_get(&me_query.id);
+ const CustomDataLayer *render_color = BKE_id_attributes_render_color_get(&me_query.id);
GPUVertFormat format = {0};
init_vcol_format(
@@ -299,14 +301,15 @@ static void extract_vcol_init_subdiv(const DRWSubdivCache *subdiv_cache,
const bool is_byte = ref.layer->type == CD_PROP_BYTE_COLOR;
BM_ITER_MESH (f, &iter, bm, BM_FACES_OF_MESH) {
- BMLoop *l_iter = f->l_first;
+ const BMLoop *l_iter = f->l_first;
do {
- BMElem *elem = is_vert ? reinterpret_cast<BMElem *>(l_iter->v) :
- reinterpret_cast<BMElem *>(l_iter);
+ const BMElem *elem = is_vert ? reinterpret_cast<const BMElem *>(l_iter->v) :
+ reinterpret_cast<const BMElem *>(l_iter);
if (is_byte) {
- MLoopCol *mcol2 = static_cast<MLoopCol *>(BM_ELEM_CD_GET_VOID_P(elem, cd_ofs));
+ const MLoopCol *mcol2 = static_cast<const MLoopCol *>(
+ BM_ELEM_CD_GET_VOID_P(elem, cd_ofs));
vcol->r = unit_float_to_ushort_clamp(BLI_color_from_srgb_table[mcol2->r]);
vcol->g = unit_float_to_ushort_clamp(BLI_color_from_srgb_table[mcol2->g]);
@@ -314,7 +317,8 @@ static void extract_vcol_init_subdiv(const DRWSubdivCache *subdiv_cache,
vcol->a = unit_float_to_ushort_clamp(mcol2->a * (1.0f / 255.0f));
}
else {
- MPropCol *pcol2 = static_cast<MPropCol *>(BM_ELEM_CD_GET_VOID_P(elem, cd_ofs));
+ const MPropCol *pcol2 = static_cast<const MPropCol *>(
+ BM_ELEM_CD_GET_VOID_P(elem, cd_ofs));
vcol->r = unit_float_to_ushort_clamp(pcol2->color[0]);
vcol->g = unit_float_to_ushort_clamp(pcol2->color[1]);
@@ -328,14 +332,14 @@ static void extract_vcol_init_subdiv(const DRWSubdivCache *subdiv_cache,
}
else {
const MLoop *ml = coarse_mesh->mloop;
- MLoopCol *mcol = nullptr;
- MPropCol *pcol = nullptr;
+ const MLoopCol *mcol = nullptr;
+ const MPropCol *pcol = nullptr;
if (ref.layer->type == CD_PROP_COLOR) {
- pcol = static_cast<MPropCol *>(cdata->layers[layer_i].data);
+ pcol = static_cast<const MPropCol *>(cdata->layers[layer_i].data);
}
else {
- mcol = static_cast<MLoopCol *>(cdata->layers[layer_i].data);
+ mcol = static_cast<const MLoopCol *>(cdata->layers[layer_i].data);
}
for (int ml_index = 0; ml_index < coarse_mesh->totloop; ml_index++, vcol++, ml++) {