[Bf-blender-cvs] [ee153db7d78] temp-T88822-gpu-thread-safe-index-builder: Fix compile error on windows.

Jeroen Bakker noreply at git.blender.org
Fri Jun 4 16:01:00 CEST 2021


Commit: ee153db7d78d4f4bda09183302eed18bf895aea1
Author: Jeroen Bakker
Date:   Fri Jun 4 15:48:34 2021 +0200
Branches: temp-T88822-gpu-thread-safe-index-builder
https://developer.blender.org/rBee153db7d78d4f4bda09183302eed18bf895aea1

Fix compile error on windows.

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

M	source/blender/draw/intern/draw_cache_extract_mesh_private.h
M	source/blender/draw/intern/mesh_extractors/extract_mesh_ibo_points.cc

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

diff --git a/source/blender/draw/intern/draw_cache_extract_mesh_private.h b/source/blender/draw/intern/draw_cache_extract_mesh_private.h
index 489c8329890..10786d57182 100644
--- a/source/blender/draw/intern/draw_cache_extract_mesh_private.h
+++ b/source/blender/draw/intern/draw_cache_extract_mesh_private.h
@@ -430,14 +430,14 @@ typedef struct MeshExtract {
   ExtractFinishFn *finish;
 
   /** Used to request common data. */
-  const eMRDataType data_type;
+  eMRDataType data_type;
   /** Used to know if the element callbacks are thread-safe and can be parallelized. */
-  const bool use_threading;
+  bool use_threading;
   /**
    * Offset in bytes of the buffer inside a MeshBufferCache instance. Points to a vertex or index
    * buffer.
    */
-  const size_t mesh_buffer_offset;
+  size_t mesh_buffer_offset;
 } MeshExtract;
 
 /** \} */
diff --git a/source/blender/draw/intern/mesh_extractors/extract_mesh_ibo_points.cc b/source/blender/draw/intern/mesh_extractors/extract_mesh_ibo_points.cc
index fe1a11373e1..7bee60e5455 100644
--- a/source/blender/draw/intern/mesh_extractors/extract_mesh_ibo_points.cc
+++ b/source/blender/draw/intern/mesh_extractors/extract_mesh_ibo_points.cc
@@ -158,24 +158,29 @@ static void extract_points_finish(const MeshRenderData *UNUSED(mr),
   delete userdata;
 }
 
+constexpr MeshExtract create_extractor_points()
+{
+  MeshExtract extractor = {0};
+  extractor.init = extract_points_init;
+  extractor.task_init = extract_points_task_init;
+  extractor.iter_poly_bm = extract_points_iter_poly_bm;
+  extractor.iter_poly_mesh = extract_points_iter_poly_mesh;
+  extractor.iter_ledge_bm = extract_points_iter_ledge_bm;
+  extractor.iter_ledge_mesh = extract_points_iter_ledge_mesh;
+  extractor.iter_lvert_bm = extract_points_iter_lvert_bm;
+  extractor.iter_lvert_mesh = extract_points_iter_lvert_mesh;
+  extractor.task_finish = extract_points_task_finish;
+  extractor.finish = extract_points_finish;
+  extractor.data_type = MR_DATA_DEFAULT;
+  extractor.use_threading = true;
+  extractor.mesh_buffer_offset = offsetof(MeshBufferCache, ibo.points);
+  return extractor;
+}
+
 }  // namespace blender::draw
 
 extern "C" {
-const MeshExtract extract_points = {
-    .init = blender::draw::extract_points_init,
-    .task_init = blender::draw::extract_points_task_init,
-    .iter_poly_bm = blender::draw::extract_points_iter_poly_bm,
-    .iter_poly_mesh = blender::draw::extract_points_iter_poly_mesh,
-    .iter_ledge_bm = blender::draw::extract_points_iter_ledge_bm,
-    .iter_ledge_mesh = blender::draw::extract_points_iter_ledge_mesh,
-    .iter_lvert_bm = blender::draw::extract_points_iter_lvert_bm,
-    .iter_lvert_mesh = blender::draw::extract_points_iter_lvert_mesh,
-    .task_finish = blender::draw::extract_points_task_finish,
-    .finish = blender::draw::extract_points_finish,
-    .data_type = MR_DATA_DEFAULT,
-    .use_threading = true,
-    .mesh_buffer_offset = offsetof(MeshBufferCache, ibo.points),
-};
+const MeshExtract extract_points = blender::draw::create_extractor_points();
 }
 
 /** \} */
\ No newline at end of file



More information about the Bf-blender-cvs mailing list