[Bf-blender-cvs] [e7b6cc74f64] refactor-mesh-uv-map-generic: Merge branch 'master' into refactor-mesh-uv-map-generic

Hans Goudey noreply at git.blender.org
Wed Aug 31 06:50:17 CEST 2022


Commit: e7b6cc74f6405dc701b2a6632b8cdeaddda831f8
Author: Hans Goudey
Date:   Tue Aug 30 23:41:33 2022 -0500
Branches: refactor-mesh-uv-map-generic
https://developer.blender.org/rBe7b6cc74f6405dc701b2a6632b8cdeaddda831f8

Merge branch 'master' into refactor-mesh-uv-map-generic

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



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

diff --cc source/blender/blenkernel/intern/customdata.cc
index ede6a02a151,447921b6d84..00274b7c5bb
--- a/source/blender/blenkernel/intern/customdata.cc
+++ b/source/blender/blenkernel/intern/customdata.cc
@@@ -1931,13 -2035,12 +1958,14 @@@ static const LayerTypeInfo LAYERTYPEINF
       layerInterp_propfloat2,
       nullptr,
       nullptr,
+      nullptr,
       layerValidate_propfloat2,
 -     nullptr,
 +     layerEqual_propfloat2,
       layerMultiply_propfloat2,
 -     nullptr,
 -     layerAdd_propfloat2},
 +     layerInitMinMax_propfloat2,
 +     layerAdd_propfloat2,
 +     layerDoMinMax_propfloat2,
 +     layerCopyValue_propfloat2},
      /* 50: CD_PROP_BOOL */
      {sizeof(bool),
       "bool",
diff --cc source/blender/blenkernel/intern/mesh_convert.cc
index 2de966d9931,cb72e09af16..6c1ae6a9c7a
--- a/source/blender/blenkernel/intern/mesh_convert.cc
+++ b/source/blender/blenkernel/intern/mesh_convert.cc
@@@ -194,8 -194,8 +194,8 @@@ static Mesh *mesh_nurbs_displist_to_mes
    MEdge *medge = edges.data();
    MPoly *mpoly = polys.data();
    MLoop *mloop = loops.data();
 -  MLoopUV *mloopuv = static_cast<MLoopUV *>(CustomData_add_layer_named(
 -      &mesh->ldata, CD_MLOOPUV, CD_SET_DEFAULT, nullptr, mesh->totloop, "UVMap"));
 +  blender::float2 *mloopuv = static_cast<blender::float2 *>(CustomData_add_layer_named(
-       &mesh->ldata, CD_PROP_FLOAT2, CD_CALLOC, nullptr, mesh->totloop, "UVMap"));
++      &mesh->ldata, CD_PROP_FLOAT2, CD_SET_DEFAULT, nullptr, mesh->totloop, "UVMap"));
  
    /* verts and faces */
    vertcount = 0;
diff --cc source/blender/blenkernel/intern/mesh_legacy_convert.cc
index 1830e00479d,45cbf3aa28b..170489e9d9f
--- a/source/blender/blenkernel/intern/mesh_legacy_convert.cc
+++ b/source/blender/blenkernel/intern/mesh_legacy_convert.cc
@@@ -139,7 -137,7 +139,7 @@@ static void CustomData_to_bmeshpoly(Cus
    for (int i = 0; i < fdata->totlayer; i++) {
      if (fdata->layers[i].type == CD_MTFACE) {
        CustomData_add_layer_named(
-           ldata, CD_PROP_FLOAT2, CD_CALLOC, nullptr, totloop, fdata->layers[i].name);
 -          ldata, CD_MLOOPUV, CD_SET_DEFAULT, nullptr, totloop, fdata->layers[i].name);
++          ldata, CD_PROP_FLOAT2, CD_SET_DEFAULT, nullptr, totloop, fdata->layers[i].name);
      }
      else if (fdata->layers[i].type == CD_MCOL) {
        CustomData_add_layer_named(
@@@ -850,12 -847,13 +850,13 @@@ void BKE_mesh_add_mface_layers(CustomDa
    BLI_assert(!check_matching_legacy_layer_counts(fdata, ldata, false));
  
    for (int i = 0; i < ldata->totlayer; i++) {
 -    if (ldata->layers[i].type == CD_MLOOPUV) {
 +    if (ldata->layers[i].type == CD_PROP_FLOAT2) {
        CustomData_add_layer_named(
-           fdata, CD_MTFACE, CD_CALLOC, nullptr, total, ldata->layers[i].name);
+           fdata, CD_MTFACE, CD_SET_DEFAULT, nullptr, total, ldata->layers[i].name);
      }
      if (ldata->layers[i].type == CD_PROP_BYTE_COLOR) {
-       CustomData_add_layer_named(fdata, CD_MCOL, CD_CALLOC, nullptr, total, ldata->layers[i].name);
+       CustomData_add_layer_named(
+           fdata, CD_MCOL, CD_SET_DEFAULT, nullptr, total, ldata->layers[i].name);
      }
      else if (ldata->layers[i].type == CD_PREVIEW_MLOOPCOL) {
        CustomData_add_layer_named(
diff --cc source/blender/blenkernel/intern/mesh_tangent.c
index 71713ccac31,497f9ff3cbd..e5c54bc95d2
--- a/source/blender/blenkernel/intern/mesh_tangent.c
+++ b/source/blender/blenkernel/intern/mesh_tangent.c
@@@ -450,8 -451,9 +450,9 @@@ void BKE_mesh_add_loop_tangent_named_la
                                                    const char *layer_name)
  {
    if (CustomData_get_named_layer_index(tan_data, CD_TANGENT, layer_name) == -1 &&
 -      CustomData_get_named_layer_index(uv_data, CD_MLOOPUV, layer_name) != -1) {
 +      CustomData_get_named_layer_index(uv_data, CD_PROP_FLOAT2, layer_name) != -1) {
-     CustomData_add_layer_named(tan_data, CD_TANGENT, CD_CALLOC, NULL, numLoopData, layer_name);
+     CustomData_add_layer_named(
+         tan_data, CD_TANGENT, CD_SET_DEFAULT, NULL, numLoopData, layer_name);
    }
  }
  
diff --cc source/blender/editors/geometry/geometry_attributes.cc
index 4a9a94bb37b,2dcb7aa438f..52ceaf7924e
--- a/source/blender/editors/geometry/geometry_attributes.cc
+++ b/source/blender/editors/geometry/geometry_attributes.cc
@@@ -304,9 -305,22 +304,9 @@@ static int geometry_attribute_convert_e
        void *new_data = MEM_malloc_arrayN(src_varray.size(), cpp_type.size(), __func__);
        src_varray.materialize_to_uninitialized(new_data);
        attributes.remove(name);
-       attributes.add(name, dst_domain, dst_type, blender::bke::AttributeInitMove(new_data));
+       attributes.add(name, dst_domain, dst_type, blender::bke::AttributeInitMoveArray(new_data));
        break;
      }
 -    case ConvertAttributeMode::UVMap: {
 -      MLoopUV *dst_uvs = static_cast<MLoopUV *>(
 -          MEM_calloc_arrayN(mesh->totloop, sizeof(MLoopUV), __func__));
 -      VArray<float2> src_varray = attributes.lookup_or_default<float2>(
 -          name, ATTR_DOMAIN_CORNER, {0.0f, 0.0f});
 -      for (const int i : IndexRange(mesh->totloop)) {
 -        copy_v2_v2(dst_uvs[i].uv, src_varray[i]);
 -      }
 -      attributes.remove(name);
 -      CustomData_add_layer_named(
 -          &mesh->ldata, CD_MLOOPUV, CD_ASSIGN, dst_uvs, mesh->totloop, name.c_str());
 -      break;
 -    }
      case ConvertAttributeMode::VertexGroup: {
        Array<float> src_weights(mesh->totvert);
        VArray<float> src_varray = attributes.lookup_or_default<float>(
diff --cc source/blender/editors/mesh/mesh_data.cc
index cf42633dae9,e394f8a7251..f80d6cda928
--- a/source/blender/editors/mesh/mesh_data.cc
+++ b/source/blender/editors/mesh/mesh_data.cc
@@@ -265,7 -287,7 +265,7 @@@ int ED_mesh_uv_add
      }
      else {
        CustomData_add_layer_named(
-           &me->ldata, CD_PROP_FLOAT2, CD_DEFAULT, nullptr, me->totloop, name);
 -          &me->ldata, CD_MLOOPUV, CD_SET_DEFAULT, nullptr, me->totloop, name);
++          &me->ldata, CD_PROP_FLOAT2, CD_SET_DEFAULT, nullptr, me->totloop, name);
      }
  
      if (active_set || layernum_dst == 0) {
diff --cc source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp
index 65fc259a352,3df0d723aec..32312377ec1
--- a/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp
+++ b/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp
@@@ -594,15 -594,15 +595,15 @@@ void BlenderStrokeRenderer::GenerateStr
    if (hasTex) {
      // First UV layer
      CustomData_add_layer_named(
-         &mesh->ldata, CD_PROP_FLOAT2, CD_CALLOC, nullptr, mesh->totloop, uvNames[0]);
 -        &mesh->ldata, CD_MLOOPUV, CD_SET_DEFAULT, nullptr, mesh->totloop, uvNames[0]);
 -    CustomData_set_layer_active(&mesh->ldata, CD_MLOOPUV, 0);
++        &mesh->ldata, CD_PROP_FLOAT2, CD_SET_DEFAULT, nullptr, mesh->totloop, uvNames[0]);
 +    CustomData_set_layer_active(&mesh->ldata, CD_PROP_FLOAT2, 0);
      BKE_mesh_update_customdata_pointers(mesh, true);
      loopsuv[0] = mesh->mloopuv;
  
      // Second UV layer
      CustomData_add_layer_named(
-         &mesh->ldata, CD_PROP_FLOAT2, CD_CALLOC, nullptr, mesh->totloop, uvNames[1]);
 -        &mesh->ldata, CD_MLOOPUV, CD_SET_DEFAULT, nullptr, mesh->totloop, uvNames[1]);
 -    CustomData_set_layer_active(&mesh->ldata, CD_MLOOPUV, 1);
++        &mesh->ldata, CD_PROP_FLOAT2, CD_SET_DEFAULT, nullptr, mesh->totloop, uvNames[1]);
 +    CustomData_set_layer_active(&mesh->ldata, CD_PROP_FLOAT2, 1);
      BKE_mesh_update_customdata_pointers(mesh, true);
      loopsuv[1] = mesh->mloopuv;
    }
diff --cc source/blender/gpu/intern/gpu_buffers.c
index a1d9614e61f,951a7102716..d7561fc6c7e
--- a/source/blender/gpu/intern/gpu_buffers.c
+++ b/source/blender/gpu/intern/gpu_buffers.c
@@@ -1372,15 -1372,15 +1372,15 @@@ bool GPU_pbvh_attribute_names_update(PB
          &vbo_id->format, "fset", GPU_COMP_U8, 3, GPU_FETCH_INT_TO_FLOAT_UNIT);
  
      vbo_id->totuv = 0;
 -    if (pbvh_type == PBVH_FACES && ldata && CustomData_has_layer(ldata, CD_MLOOPUV)) {
 +    if (pbvh_type == PBVH_FACES && ldata && CustomData_has_layer(ldata, CD_PROP_FLOAT2)) {
        GPUAttrRef uv_layers[MAX_GPU_ATTR];
-       CustomDataLayer *active = NULL, *render = NULL;
+       const CustomDataLayer *active = NULL, *render = NULL;
  
 -      active = get_active_layer(ldata, CD_MLOOPUV);
 -      render = get_render_layer(ldata, CD_MLOOPUV);
 +      active = get_active_layer(ldata, CD_PROP_FLOAT2);
 +      render = get_render_layer(ldata, CD_PROP_FLOAT2);
  
        int totlayer = gpu_pbvh_make_attr_offs(ATTR_DOMAIN_MASK_CORNER,
 -                                             CD_MASK_MLOOPUV,
 +                                             CD_MASK_PROP_FLOAT2,
                                               NULL,
                                               NULL,
                                               ldata,
@@@ -1400,9 -1400,8 +1400,9 @@@
          vbo_id->uv[i] = GPU_vertformat_attr_add(
              &vbo_id->format, "uvs", GPU_COMP_F32, 2, GPU_FETCH_FLOAT);
  
-         CustomDataLayer *cl = ldata->layers + ref->layer_idx;
+         const CustomDataLayer *cl = ldata->layers + ref->layer_idx;
 -        bool is_active = ref->layer_idx == CustomData_get_active_layer_index(ldata, CD_MLOOPUV);
 +        bool is_active = ref->layer_idx ==
 +                         CustomData_get_active_layer_index(ldata, CD_PROP_FLOAT2);
  
          DRW_cdlayer_attr_aliases_add(&vbo_id->format, "u", ldata, cl, cl == render, is_active);
  
diff --cc source/blender/io/collada/MeshImporter.cpp
index 905688acdf5,34792fd6bb4..b2a23642368
--- a/source/blender/io/collada/MeshImporter.cpp
+++ b/source/blender/io/collada/MeshImporter.cpp
@@@ -468,10 -469,10 +469,10 @@@ void MeshImporter::allocate_poly_data(C
          COLLADAFW::String &uvname = info->mName;
          /* Allocate space for UV_data */
          CustomData_add_layer_named(
-             &me->ldata, CD_PROP_FLOAT2, CD_DEFAULT, nullptr, me->totloop, uvname.c_str());
 -            &me->ldata, CD_MLOOPUV, CD_SET_DEFAULT, nullptr, me->totloop, uvname.c_str());
++            &me->ldata, CD_PROP_FLOAT2, CD_SET_DEFAULT, nullptr, me->totloop, 

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list