[Bf-blender-cvs] [fd0c27944f6] master: Cleanup: Reduce indentation

Hans Goudey noreply at git.blender.org
Fri Aug 5 06:35:44 CEST 2022


Commit: fd0c27944f6788952183230987579359b0d738c0
Author: Hans Goudey
Date:   Thu Aug 4 23:35:37 2022 -0500
Branches: master
https://developer.blender.org/rBfd0c27944f6788952183230987579359b0d738c0

Cleanup: Reduce indentation

===================================================================

M	source/blender/draw/intern/draw_cache_impl_mesh.cc

===================================================================

diff --git a/source/blender/draw/intern/draw_cache_impl_mesh.cc b/source/blender/draw/intern/draw_cache_impl_mesh.cc
index d1eb937d711..5de9f1b44c8 100644
--- a/source/blender/draw/intern/draw_cache_impl_mesh.cc
+++ b/source/blender/draw/intern/draw_cache_impl_mesh.cc
@@ -293,26 +293,28 @@ static DRW_MeshCDMask mesh_cd_calc_used_gpu_layers(const Object *object,
 
   for (int i = 0; i < gpumat_array_len; i++) {
     GPUMaterial *gpumat = gpumat_array[i];
-    if (gpumat) {
-      ListBase gpu_attrs = GPU_material_attributes(gpumat);
-      LISTBASE_FOREACH (GPUMaterialAttribute *, gpu_attr, &gpu_attrs) {
-        const char *name = gpu_attr->name;
-        eCustomDataType type = static_cast<eCustomDataType>(gpu_attr->type);
-        int layer = -1;
-        std::optional<eAttrDomain> domain;
-
-        if (gpu_attr->is_default_color) {
-          name = default_color_name.c_str();
-        }
+    if (gpumat == nullptr) {
+      continue;
+    }
+    ListBase gpu_attrs = GPU_material_attributes(gpumat);
+    LISTBASE_FOREACH (GPUMaterialAttribute *, gpu_attr, &gpu_attrs) {
+      const char *name = gpu_attr->name;
+      eCustomDataType type = static_cast<eCustomDataType>(gpu_attr->type);
+      int layer = -1;
+      std::optional<eAttrDomain> domain;
+
+      if (gpu_attr->is_default_color) {
+        name = default_color_name.c_str();
+      }
 
-        if (type == CD_AUTO_FROM_NAME) {
-          /* We need to deduce what exact layer is used.
-           *
-           * We do it based on the specified name.
-           */
-          if (name[0] != '\0') {
-            layer = CustomData_get_named_layer(cd_ldata, CD_MLOOPUV, name);
-            type = CD_MTFACE;
+      if (type == CD_AUTO_FROM_NAME) {
+        /* We need to deduce what exact layer is used.
+         *
+         * We do it based on the specified name.
+         */
+        if (name[0] != '\0') {
+          layer = CustomData_get_named_layer(cd_ldata, CD_MLOOPUV, name);
+          type = CD_MTFACE;
 
 #if 0 /* Tangents are always from UV's - this will never happen. */
             if (layer == -1) {
@@ -320,88 +322,87 @@ static DRW_MeshCDMask mesh_cd_calc_used_gpu_layers(const Object *object,
               type = CD_TANGENT;
             }
 #endif
-            if (layer == -1) {
-              /* Try to match a generic attribute, we use the first attribute domain with a
-               * matching name. */
-              if (drw_custom_data_match_attribute(cd_vdata, name, &layer, &type)) {
-                domain = ATTR_DOMAIN_POINT;
-              }
-              else if (drw_custom_data_match_attribute(cd_ldata, name, &layer, &type)) {
-                domain = ATTR_DOMAIN_CORNER;
-              }
-              else if (drw_custom_data_match_attribute(cd_pdata, name, &layer, &type)) {
-                domain = ATTR_DOMAIN_FACE;
-              }
-              else if (drw_custom_data_match_attribute(cd_edata, name, &layer, &type)) {
-                domain = ATTR_DOMAIN_EDGE;
-              }
-              else {
-                layer = -1;
-              }
+          if (layer == -1) {
+            /* Try to match a generic attribute, we use the first attribute domain with a
+             * matching name. */
+            if (drw_custom_data_match_attribute(cd_vdata, name, &layer, &type)) {
+              domain = ATTR_DOMAIN_POINT;
             }
-
-            if (layer == -1) {
-              continue;
+            else if (drw_custom_data_match_attribute(cd_ldata, name, &layer, &type)) {
+              domain = ATTR_DOMAIN_CORNER;
+            }
+            else if (drw_custom_data_match_attribute(cd_pdata, name, &layer, &type)) {
+              domain = ATTR_DOMAIN_FACE;
+            }
+            else if (drw_custom_data_match_attribute(cd_edata, name, &layer, &type)) {
+              domain = ATTR_DOMAIN_EDGE;
+            }
+            else {
+              layer = -1;
             }
           }
-          else {
-            /* Fall back to the UV layer, which matches old behavior. */
-            type = CD_MTFACE;
+
+          if (layer == -1) {
+            continue;
           }
         }
+        else {
+          /* Fall back to the UV layer, which matches old behavior. */
+          type = CD_MTFACE;
+        }
+      }
 
-        switch (type) {
-          case CD_MTFACE: {
-            if (layer == -1) {
-              layer = (name[0] != '\0') ? CustomData_get_named_layer(cd_ldata, CD_MLOOPUV, name) :
-                                          CustomData_get_render_layer(cd_ldata, CD_MLOOPUV);
-            }
-            if (layer != -1) {
-              cd_used.uv |= (1 << layer);
-            }
-            break;
+      switch (type) {
+        case CD_MTFACE: {
+          if (layer == -1) {
+            layer = (name[0] != '\0') ? CustomData_get_named_layer(cd_ldata, CD_MLOOPUV, name) :
+                                        CustomData_get_render_layer(cd_ldata, CD_MLOOPUV);
           }
-          case CD_TANGENT: {
-            if (layer == -1) {
-              layer = (name[0] != '\0') ? CustomData_get_named_layer(cd_ldata, CD_MLOOPUV, name) :
-                                          CustomData_get_render_layer(cd_ldata, CD_MLOOPUV);
-
-              /* Only fallback to orco (below) when we have no UV layers, see: T56545 */
-              if (layer == -1 && name[0] != '\0') {
-                layer = CustomData_get_render_layer(cd_ldata, CD_MLOOPUV);
-              }
-            }
-            if (layer != -1) {
-              cd_used.tan |= (1 << layer);
-            }
-            else {
-              /* no UV layers at all => requesting orco */
-              cd_used.tan_orco = 1;
-              cd_used.orco = 1;
+          if (layer != -1) {
+            cd_used.uv |= (1 << layer);
+          }
+          break;
+        }
+        case CD_TANGENT: {
+          if (layer == -1) {
+            layer = (name[0] != '\0') ? CustomData_get_named_layer(cd_ldata, CD_MLOOPUV, name) :
+                                        CustomData_get_render_layer(cd_ldata, CD_MLOOPUV);
+
+            /* Only fallback to orco (below) when we have no UV layers, see: T56545 */
+            if (layer == -1 && name[0] != '\0') {
+              layer = CustomData_get_render_layer(cd_ldata, CD_MLOOPUV);
             }
-            break;
           }
-
-          case CD_ORCO: {
+          if (layer != -1) {
+            cd_used.tan |= (1 << layer);
+          }
+          else {
+            /* no UV layers at all => requesting orco */
+            cd_used.tan_orco = 1;
             cd_used.orco = 1;
-            break;
           }
-          case CD_PROP_BYTE_COLOR:
-          case CD_PROP_COLOR:
-          case CD_PROP_FLOAT3:
-          case CD_PROP_BOOL:
-          case CD_PROP_INT8:
-          case CD_PROP_INT32:
-          case CD_PROP_FLOAT:
-          case CD_PROP_FLOAT2: {
-            if (layer != -1 && domain.has_value()) {
-              drw_attributes_add_request(attributes, name, type, layer, *domain);
-            }
-            break;
+          break;
+        }
+
+        case CD_ORCO: {
+          cd_used.orco = 1;
+          break;
+        }
+        case CD_PROP_BYTE_COLOR:
+        case CD_PROP_COLOR:
+        case CD_PROP_FLOAT3:
+        case CD_PROP_BOOL:
+        case CD_PROP_INT8:
+        case CD_PROP_INT32:
+        case CD_PROP_FLOAT:
+        case CD_PROP_FLOAT2: {
+          if (layer != -1 && domain.has_value()) {
+            drw_attributes_add_request(attributes, name, type, layer, *domain);
           }
-          default:
-            break;
+          break;
         }
+        default:
+          break;
       }
     }
   }



More information about the Bf-blender-cvs mailing list