From 377e3cfca5a5dc30dad49ccf66d17bada2f3670d Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 8 Oct 2025 14:56:43 +1100 Subject: [PATCH] Cleanup: use a define for BMUVOffsets that doesn't reference any layers Reduce the number of places that need to be updated when struct members change and reduces the binary size a little. --- source/blender/blenkernel/BKE_customdata.hh | 3 +++ source/blender/bmesh/intern/bmesh_query_uv.cc | 4 ++-- .../mesh_extractors/extract_mesh_vbo_edit_data.cc | 12 ++++++++---- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/source/blender/blenkernel/BKE_customdata.hh b/source/blender/blenkernel/BKE_customdata.hh index a8878985ad6..88204fd5c60 100644 --- a/source/blender/blenkernel/BKE_customdata.hh +++ b/source/blender/blenkernel/BKE_customdata.hh @@ -58,6 +58,9 @@ struct BMUVOffsets { int pin; }; +/** All values reference none layers. */ +#define BMUVOFFSETS_NONE {-1, -1, -1, -1} + /* A data type large enough to hold 1 element from any custom-data layer type. */ struct CDBlockBytes { unsigned char data[64]; diff --git a/source/blender/bmesh/intern/bmesh_query_uv.cc b/source/blender/bmesh/intern/bmesh_query_uv.cc index 26471fdfd8d..d14d095725d 100644 --- a/source/blender/bmesh/intern/bmesh_query_uv.cc +++ b/source/blender/bmesh/intern/bmesh_query_uv.cc @@ -23,7 +23,7 @@ BMUVOffsets BM_uv_map_offsets_from_layer(const BMesh *bm, const int layer) using namespace blender::bke; const int layer_index = CustomData_get_layer_index_n(&bm->ldata, CD_PROP_FLOAT2, layer); if (layer_index == -1) { - return {-1, -1, -1, -1}; + return BMUVOFFSETS_NONE; } const StringRef name = bm->ldata.layers[layer_index].name; @@ -45,7 +45,7 @@ BMUVOffsets BM_uv_map_offsets_get(const BMesh *bm) { const int layer = CustomData_get_active_layer(&bm->ldata, CD_PROP_FLOAT2); if (layer == -1) { - return {-1, -1, -1, -1}; + return BMUVOFFSETS_NONE; } return BM_uv_map_offsets_from_layer(bm, layer); } diff --git a/source/blender/draw/intern/mesh_extractors/extract_mesh_vbo_edit_data.cc b/source/blender/draw/intern/mesh_extractors/extract_mesh_vbo_edit_data.cc index a2b89d5a2c7..ba6f5a41185 100644 --- a/source/blender/draw/intern/mesh_extractors/extract_mesh_vbo_edit_data.cc +++ b/source/blender/draw/intern/mesh_extractors/extract_mesh_vbo_edit_data.cc @@ -116,6 +116,7 @@ static void extract_edit_data_mesh(const MeshRenderData &mr, MutableSpan corner_verts = mr.corner_verts; const Span corner_edges = mr.corner_edges; @@ -125,7 +126,7 @@ static void extract_edit_data_mesh(const MeshRenderData &mr, MutableSpane, corners_data[index]); mesh_render_data_vert_flag(mr, loop->v, corners_data[index]); loop = loop->next; @@ -239,6 +241,7 @@ static void extract_edit_subdiv_data_mesh(const MeshRenderData &mr, const DRWSubdivCache &subdiv_cache, MutableSpan vbo_data) { + const BMUVOffsets uv_offsets_none = BMUVOFFSETS_NONE; const int corners_num = subdiv_cache.num_subdiv_loops; const int loose_edges_num = mr.loose_edges.size(); const int verts_per_edge = subdiv_verts_per_coarse_edge(subdiv_cache); @@ -259,7 +262,7 @@ static void extract_edit_subdiv_data_mesh(const MeshRenderData &mr, value = {}; if (const BMFace *bm_face = bm_original_face_get(mr, coarse_face)) { - mesh_render_data_face_flag(mr, bm_face, {-1, -1, -1, -1}, value); + mesh_render_data_face_flag(mr, bm_face, uv_offsets_none, value); } const int vert_origindex = subdiv_loop_vert_index[subdiv_corner]; @@ -317,6 +320,7 @@ static void extract_edit_subdiv_data_bm(const MeshRenderData &mr, const DRWSubdivCache &subdiv_cache, MutableSpan vbo_data) { + const BMUVOffsets uv_offsets_none = BMUVOFFSETS_NONE; const int corners_num = subdiv_cache.num_subdiv_loops; const int loose_edges_num = mr.loose_edges.size(); const int verts_per_edge = subdiv_verts_per_coarse_edge(subdiv_cache); @@ -337,7 +341,7 @@ static void extract_edit_subdiv_data_bm(const MeshRenderData &mr, EditLoopData &value = corners_data[subdiv_corner]; value = {}; - mesh_render_data_face_flag(mr, bm_face, {-1, -1, -1, -1}, value); + mesh_render_data_face_flag(mr, bm_face, uv_offsets_none, value); const int vert_origindex = subdiv_loop_vert_index[subdiv_corner]; if (vert_origindex != -1) {