[Bf-blender-cvs] [eb0e4e5cd14] refactor-mesh-uv-map-generic: Change MAX_CUSTOMDATA_LAYER_NAME to 68 characters.

Martijn Versteegh noreply at git.blender.org
Tue Oct 11 14:08:43 CEST 2022


Commit: eb0e4e5cd144c48711a79fc58a28fd38517b9abe
Author: Martijn Versteegh
Date:   Tue Oct 11 13:58:29 2022 +0200
Branches: refactor-mesh-uv-map-generic
https://developer.blender.org/rBeb0e4e5cd144c48711a79fc58a28fd38517b9abe

Change MAX_CUSTOMDATA_LAYER_NAME to 68 characters.

Changing it from 72 to 68 characters and adding padding is more
efficient because some existing padding can be removed, and the added
padding could be merged with new struct members in the future. So this
is more useful than 4 unused bytes in the layer names.

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

M	source/blender/blenkernel/BKE_editmesh_tangent.h
M	source/blender/blenkernel/BKE_mesh_tangent.h
M	source/blender/gpu/GPU_material.h
M	source/blender/gpu/intern/gpu_vertex_format.cc
M	source/blender/makesdna/DNA_customdata_types.h
M	source/blender/makesdna/DNA_dynamicpaint_types.h
M	source/blender/makesdna/DNA_fluid_types.h
M	source/blender/makesdna/DNA_modifier_types.h
M	source/blender/makesdna/DNA_node_types.h
M	source/blender/makesdna/DNA_particle_types.h
M	source/blender/makesdna/DNA_texture_types.h

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

diff --git a/source/blender/blenkernel/BKE_editmesh_tangent.h b/source/blender/blenkernel/BKE_editmesh_tangent.h
index fe4da0e94ab..5a44a9b5152 100644
--- a/source/blender/blenkernel/BKE_editmesh_tangent.h
+++ b/source/blender/blenkernel/BKE_editmesh_tangent.h
@@ -19,7 +19,7 @@ extern "C" {
  */
 void BKE_editmesh_loop_tangent_calc(BMEditMesh *em,
                                     bool calc_active_tangent,
-                                    const char (*tangent_names)[72 /* MAX_CUSTOMDATA_LAYER_NAME*/],
+                                    const char (*tangent_names)[68 /* MAX_CUSTOMDATA_LAYER_NAME*/],
                                     int tangent_names_len,
                                     const float (*poly_normals)[3],
                                     const float (*loop_normals)[3],
diff --git a/source/blender/blenkernel/BKE_mesh_tangent.h b/source/blender/blenkernel/BKE_mesh_tangent.h
index 41f5e81374d..d46f2dce692 100644
--- a/source/blender/blenkernel/BKE_mesh_tangent.h
+++ b/source/blender/blenkernel/BKE_mesh_tangent.h
@@ -50,7 +50,7 @@ void BKE_mesh_calc_loop_tangent_ex(const struct MVert *mvert,
 
                                    struct CustomData *loopdata,
                                    bool calc_active_tangent,
-                                   const char (*tangent_names)[72 /*MAX_CUSTOMDATA_LAYER_NAME */],
+                                   const char (*tangent_names)[68 /*MAX_CUSTOMDATA_LAYER_NAME */],
                                    int tangent_names_len,
                                    const float (*vert_normals)[3],
                                    const float (*poly_normals)[3],
@@ -81,7 +81,7 @@ void BKE_mesh_add_loop_tangent_named_layer_for_uv(struct CustomData *uv_data,
  */
 void BKE_mesh_calc_loop_tangent_step_0(const struct CustomData *loopData,
                                        bool calc_active_tangent,
-                                       const char (*tangent_names)[72 /* MAX_CUSTOMDATA_LAYER_NAME */],
+                                       const char (*tangent_names)[68 /* MAX_CUSTOMDATA_LAYER_NAME */],
                                        int tangent_names_count,
                                        bool *rcalc_act,
                                        bool *rcalc_ren,
diff --git a/source/blender/gpu/GPU_material.h b/source/blender/gpu/GPU_material.h
index d1bd93711e1..e30cee76b2c 100644
--- a/source/blender/gpu/GPU_material.h
+++ b/source/blender/gpu/GPU_material.h
@@ -300,7 +300,7 @@ void GPU_pass_cache_free(void);
 typedef struct GPUMaterialAttribute {
   struct GPUMaterialAttribute *next, *prev;
   int type;                /* eCustomDataType */
-  char name[72];           /* MAX_CUSTOMDATA_LAYER_NAME */
+  char name[68];           /* MAX_CUSTOMDATA_LAYER_NAME */
   char input_name[12 + 1]; /* GPU_MAX_SAFE_ATTR_NAME + 1 */
   eGPUType gputype;
   eGPUDefaultValue default_value; /* Only for volumes attributes. */
@@ -334,10 +334,10 @@ typedef struct GPUUniformAttr {
   struct GPUUniformAttr *next, *prev;
 
   /* Meaningful part of the attribute set key. */
-  char name[72]; /* MAX_CUSTOMDATA_LAYER_NAME */
+  char name[68]; /* MAX_CUSTOMDATA_LAYER_NAME */
   /** Escaped name with [""]. */
-  char name_id_prop[72 * 2 + 4];
-  /** Hash of name[72] + use_dupli. */
+  char name_id_prop[68 * 2 + 4];
+  /** Hash of name[68] + use_dupli. */
   uint32_t hash_code;
   bool use_dupli;
 
diff --git a/source/blender/gpu/intern/gpu_vertex_format.cc b/source/blender/gpu/intern/gpu_vertex_format.cc
index f1cfa52d28c..0ace0349f7c 100644
--- a/source/blender/gpu/intern/gpu_vertex_format.cc
+++ b/source/blender/gpu/intern/gpu_vertex_format.cc
@@ -199,7 +199,7 @@ void GPU_vertformat_multiload_enable(GPUVertFormat *format, int load_count)
   for (int i = 0; i < attr_len; i++, attr++) {
     const char *attr_name = GPU_vertformat_attr_name_get(format, attr, 0);
     for (int j = 1; j < load_count; j++) {
-      char load_name[72];
+      char load_name[68 /* MAX_CUSTOMDATA_LAYER_NAME */];
       BLI_snprintf(load_name, sizeof(load_name), "%s%d", attr_name, j);
       GPUVertAttr *dst_attr = &format->attrs[format->attr_len++];
       *dst_attr = *attr;
diff --git a/source/blender/makesdna/DNA_customdata_types.h b/source/blender/makesdna/DNA_customdata_types.h
index d9de9893456..d555b4e279f 100644
--- a/source/blender/makesdna/DNA_customdata_types.h
+++ b/source/blender/makesdna/DNA_customdata_types.h
@@ -36,7 +36,8 @@ typedef struct CustomDataLayer {
   /** Shape keyblock unique id reference. */
   int uid;
   /** Layer name, MAX_CUSTOMDATA_LAYER_NAME. */
-  char name[72];
+  char name[68];
+  char _pad1[4];
   /** Layer data. */
   void *data;
   /**
@@ -48,7 +49,7 @@ typedef struct CustomDataLayer {
   const struct AnonymousAttributeID *anonymous_id;
 } CustomDataLayer;
 
-#define MAX_CUSTOMDATA_LAYER_NAME 72
+#define MAX_CUSTOMDATA_LAYER_NAME 68
 
 typedef struct CustomDataExternal {
   /** FILE_MAX. */
diff --git a/source/blender/makesdna/DNA_dynamicpaint_types.h b/source/blender/makesdna/DNA_dynamicpaint_types.h
index 7cb6ff62dcc..3d3cc20a571 100644
--- a/source/blender/makesdna/DNA_dynamicpaint_types.h
+++ b/source/blender/makesdna/DNA_dynamicpaint_types.h
@@ -113,7 +113,7 @@ typedef struct DynamicPaintSurface {
   float init_color[4];
   struct Tex *init_texture;
   /** MAX_CUSTOMDATA_LAYER_NAME. */
-  char init_layername[72];
+  char init_layername[68];
 
   int dry_speed, diss_speed;
   float color_dry_threshold;
@@ -130,13 +130,13 @@ typedef struct DynamicPaintSurface {
   char _pad2[4];
 
   /** MAX_CUSTOMDATA_LAYER_NAME. */
-  char uvlayer_name[72];
+  char uvlayer_name[68];
   /** 1024 = FILE_MAX. */
   char image_output_path[1024];
   /** MAX_CUSTOMDATA_LAYER_NAME. */
-  char output_name[72];
+  char output_name[68];
   /** MAX_CUSTOMDATA_LAYER_NAME */ /* some surfaces have 2 outputs. */
-  char output_name2[72];
+  char output_name2[68];
 
 } DynamicPaintSurface;
 
diff --git a/source/blender/makesdna/DNA_fluid_types.h b/source/blender/makesdna/DNA_fluid_types.h
index d0bce127c55..10fa1004f3d 100644
--- a/source/blender/makesdna/DNA_fluid_types.h
+++ b/source/blender/makesdna/DNA_fluid_types.h
@@ -784,14 +784,15 @@ typedef struct FluidFlowSettings {
   float texture_offset;
   char _pad2[4];
   /* MAX_CUSTOMDATA_LAYER_NAME. */
-  char uvlayer_name[72];
+  char uvlayer_name[68];
+  char _pad3[4];
   short vgroup_density;
 
   short type;     /* Smoke, flames, both, outflow, liquid. */
   short behavior; /* Inflow, outflow, static. */
   short source;
   short texture_type;
-  short _pad3[3];
+  short _pad4[3];
   int flags; /* Absolute emission etc. */
 } FluidFlowSettings;
 
diff --git a/source/blender/makesdna/DNA_modifier_types.h b/source/blender/makesdna/DNA_modifier_types.h
index b9f2659ff01..c5d8fb267b6 100644
--- a/source/blender/makesdna/DNA_modifier_types.h
+++ b/source/blender/makesdna/DNA_modifier_types.h
@@ -143,7 +143,8 @@ typedef struct MappingInfoModifierData {
   struct Object *map_object;
   char map_bone[64];
   /** MAX_CUSTOMDATA_LAYER_NAME. */
-  char uvlayer_name[72];
+  char uvlayer_name[68];
+  char _pad1[4];
   int uvlayer_tmp;
   int texmapping;
 } MappingInfoModifierData;
@@ -558,7 +559,7 @@ typedef struct DisplaceModifierData {
   struct Object *map_object;
   char map_bone[64];
   /** MAX_CUSTOMDATA_LAYER_NAME. */
-  char uvlayer_name[72];
+  char uvlayer_name[68];
   int uvlayer_tmp;
   int texmapping;
   /* end MappingInfoModifierData */
@@ -570,7 +571,7 @@ typedef struct DisplaceModifierData {
   float midlevel;
   int space;
   short flag;
-  char _pad[6];
+  char _pad2[2];
 } DisplaceModifierData;
 
 /** #DisplaceModifierData.flag */
@@ -614,9 +615,8 @@ typedef struct UVProjectModifierData {
   float aspectx, aspecty;
   float scalex, scaley;
   /** MAX_CUSTOMDATA_LAYER_NAME. */
-  char uvlayer_name[72];
+  char uvlayer_name[68];
   int uvlayer_tmp;
-  char _pad[4];
 } UVProjectModifierData;
 
 #define MOD_UVPROJECT_MAXPROJECTORS 10
@@ -719,7 +719,8 @@ typedef struct WaveModifierData {
   struct Object *map_object;
   char map_bone[64];
   /** MAX_CUSTOMDATA_LAYER_NAME. */
-  char uvlayer_name[72];
+  char uvlayer_name[68];
+  char _pad1[4];
   int uvlayer_tmp;
   int texmapping;
   /* End MappingInfoModifierData. */
@@ -729,14 +730,14 @@ typedef struct WaveModifierData {
   char defgrp_name[64];
 
   short flag;
-  char _pad[2];
+  char _pad2[2];
 
   float startx, starty, height, width;
   float narrow, speed, damp, falloff;
 
   float timeoffs, lifetime;
-  char _pad1[4];
-  void *_pad2;
+  char _pad3[4];
+  void *_pad4;
 } WaveModifierData;
 
 /** #WaveModifierData.flag */
@@ -1051,9 +1052,9 @@ typedef struct ParticleInstanceModifierData {
   float rotation, random_rotation;
   float particle_amount, particle_offset;
   /** MAX_CUSTOMDATA_LAYER_NAME. */
-  char index_layer_name[72];
+  char index_layer_name[68];
   /** MAX_CUSTOMDATA_LAYER_NAME. */
-  char value_layer_name[72];
+  char value_layer_name[68];
   void *_pad1;
 } ParticleInstanceModifierData;
 
@@ -1074,8 +1075,9 @@ typedef struct ExplodeModifierData {
   short flag, vgroup;
   float protect;
   /** MAX_CUSTOMDATA_LAYER_NAME. */
-  char uvname[72];
-  void *_pad1;
+  char uvname[68];
+  char _pad1[4];
+  void *_pad2;
 } ExplodeModifierData;
 
 typedef struct MultiresModifierData {
@@ -1389,8 +1391,8 @@ typedef struct OceanModifierData {
   /** FILE_MAX. */
   char cachepath[1024];
   /** MAX_CUSTOMDATA_LAYER_NAME. */
-  char foamlayername[72];
-  char spraylayername[72];
+  char foamlayername[68];
+  char spraylayername[68];
   char cached;
   char geometry_mode;
 
@@ -1438,7 +1440,8 @@ typedef struct WarpModifierData {
   struct Object *map_object;
   char map_bone[64];
   /** MAX_CUSTOMDATA_LAYER_NAME. */
-  char uvlayer_name[72];
+  char uvlayer_name[68];
+  char _pad1[4];
   int uvlayer_tmp;
   int texmapping;
   /* End #MappingInfoModifierData. */
@@ -1457,8 +1460,8 @@ typedef struct WarpModifierData {
   float falloff_radius;
   char flag;
   char falloff_type;
-  char _pad[6];
-  void *_pad1;
+  char _pad2[6];
+  void *_pad3;
 } WarpModifierData;
 
 /** #WarpModifierData.flag */
@@ -1519,10 +1522,9 @@ typedef struct WeightVGEditModifierData {
   /** How to map t

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list