[Bf-blender-cvs] [1c9d8fcb477] master: Render: move editor/render module to c++

Jacques Lucke noreply at git.blender.org
Mon Dec 27 17:28:31 CET 2021


Commit: 1c9d8fcb477c5aea5555781cc209d60da126f48f
Author: Jacques Lucke
Date:   Mon Dec 27 17:26:09 2021 +0100
Branches: master
https://developer.blender.org/rB1c9d8fcb477c5aea5555781cc209d60da126f48f

Render: move editor/render module to c++

Doing this in preparation for some work on asset preview generation.

Differential Revision: https://developer.blender.org/D13676

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

M	source/blender/blenkernel/BKE_context.h
M	source/blender/draw/engines/eevee/eevee_lightcache.h
M	source/blender/editors/include/ED_render.h
M	source/blender/editors/render/CMakeLists.txt
R100	source/blender/editors/render/render_intern.h	source/blender/editors/render/render_intern.hh
R095	source/blender/editors/render/render_internal.c	source/blender/editors/render/render_internal.cc
R093	source/blender/editors/render/render_opengl.c	source/blender/editors/render/render_opengl.cc
R098	source/blender/editors/render/render_ops.c	source/blender/editors/render/render_ops.cc
R093	source/blender/editors/render/render_preview.c	source/blender/editors/render/render_preview.cc
R096	source/blender/editors/render/render_shading.c	source/blender/editors/render/render_shading.cc
R084	source/blender/editors/render/render_update.c	source/blender/editors/render/render_update.cc
R090	source/blender/editors/render/render_view.c	source/blender/editors/render/render_view.cc

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

diff --git a/source/blender/blenkernel/BKE_context.h b/source/blender/blenkernel/BKE_context.h
index ac864c7f82c..f50270ed4e7 100644
--- a/source/blender/blenkernel/BKE_context.h
+++ b/source/blender/blenkernel/BKE_context.h
@@ -282,8 +282,9 @@ bool CTX_data_dir(const char *member);
     ListBase ctx_data_list; \
     CollectionPointerLink *ctx_link; \
     CTX_data_##member(C, &ctx_data_list); \
-    for (ctx_link = ctx_data_list.first; ctx_link; ctx_link = ctx_link->next) { \
-      Type instance = ctx_link->ptr.data;
+    for (ctx_link = (CollectionPointerLink *)ctx_data_list.first; ctx_link; \
+         ctx_link = ctx_link->next) { \
+      Type instance = (Type)ctx_link->ptr.data;
 
 #define CTX_DATA_END \
   } \
diff --git a/source/blender/draw/engines/eevee/eevee_lightcache.h b/source/blender/draw/engines/eevee/eevee_lightcache.h
index ccd53f6c037..589b035b8bd 100644
--- a/source/blender/draw/engines/eevee/eevee_lightcache.h
+++ b/source/blender/draw/engines/eevee/eevee_lightcache.h
@@ -33,6 +33,10 @@ struct Scene;
 struct SceneEEVEE;
 struct ViewLayer;
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /**
  * Light Bake.
  */
@@ -77,3 +81,7 @@ void EEVEE_lightcache_info_update(struct SceneEEVEE *eevee);
 
 void EEVEE_lightcache_blend_write(struct BlendWriter *writer, struct LightCache *cache);
 void EEVEE_lightcache_blend_read_data(struct BlendDataReader *reader, struct LightCache *cache);
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/source/blender/editors/include/ED_render.h b/source/blender/editors/include/ED_render.h
index f60d62ed384..b91569cee03 100644
--- a/source/blender/editors/include/ED_render.h
+++ b/source/blender/editors/include/ED_render.h
@@ -23,6 +23,7 @@
 
 #pragma once
 
+#include "DNA_ID_enums.h"
 #include "DNA_vec_types.h"
 
 #ifdef __cplusplus
@@ -41,7 +42,6 @@ struct bContext;
 struct bScreen;
 struct wmWindow;
 struct wmWindowManager;
-enum eIconSizes;
 
 /* render_ops.c */
 
@@ -100,7 +100,7 @@ void ED_preview_shader_job(const struct bContext *C,
                            struct MTex *slot,
                            int sizex,
                            int sizey,
-                           int method);
+                           ePreviewRenderMethod method);
 void ED_preview_icon_render(const struct bContext *C,
                             struct Scene *scene,
                             struct ID *id,
diff --git a/source/blender/editors/render/CMakeLists.txt b/source/blender/editors/render/CMakeLists.txt
index 46afa390997..31dca83a3ab 100644
--- a/source/blender/editors/render/CMakeLists.txt
+++ b/source/blender/editors/render/CMakeLists.txt
@@ -36,15 +36,15 @@ set(INC
 )
 
 set(SRC
-  render_internal.c
-  render_opengl.c
-  render_ops.c
-  render_preview.c
-  render_shading.c
-  render_update.c
-  render_view.c
+  render_internal.cc
+  render_opengl.cc
+  render_ops.cc
+  render_preview.cc
+  render_shading.cc
+  render_update.cc
+  render_view.cc
 
-  render_intern.h
+  render_intern.hh
 )
 
 set(LIB
diff --git a/source/blender/editors/render/render_intern.h b/source/blender/editors/render/render_intern.hh
similarity index 100%
rename from source/blender/editors/render/render_intern.h
rename to source/blender/editors/render/render_intern.hh
diff --git a/source/blender/editors/render/render_internal.c b/source/blender/editors/render/render_internal.cc
similarity index 95%
rename from source/blender/editors/render/render_internal.c
rename to source/blender/editors/render/render_internal.cc
index 1a9b72c1fab..97218ac02bf 100644
--- a/source/blender/editors/render/render_internal.c
+++ b/source/blender/editors/render/render_internal.cc
@@ -78,7 +78,7 @@
 
 #include "SEQ_relations.h"
 
-#include "render_intern.h"
+#include "render_intern.hh"
 
 /* Render Callbacks */
 static int render_break(void *rjv);
@@ -384,7 +384,7 @@ static int screen_render_exec(bContext *C, wmOperator *op)
 
 static void render_freejob(void *rjv)
 {
-  RenderJob *rj = rjv;
+  RenderJob *rj = static_cast<RenderJob *>(rjv);
 
   BKE_color_managed_view_settings_free(&rj->view_settings);
   MEM_freeN(rj);
@@ -472,7 +472,7 @@ static void make_renderinfo_string(const RenderStats *rs,
 
 static void image_renderinfo_cb(void *rjv, RenderStats *rs)
 {
-  RenderJob *rj = rjv;
+  RenderJob *rj = static_cast<RenderJob *>(rjv);
   RenderResult *rr;
 
   rr = RE_AcquireResultRead(rj->re);
@@ -480,7 +480,7 @@ static void image_renderinfo_cb(void *rjv, RenderStats *rs)
   if (rr) {
     /* malloc OK here, stats_draw is not in tile threads */
     if (rr->text == NULL) {
-      rr->text = MEM_callocN(IMA_MAX_RENDER_TEXT, "rendertext");
+      rr->text = static_cast<char *>(MEM_callocN(IMA_MAX_RENDER_TEXT, "rendertext"));
     }
 
     make_renderinfo_string(rs, rj->scene, rj->v3d_override, rr->error, rr->text);
@@ -494,7 +494,7 @@ static void image_renderinfo_cb(void *rjv, RenderStats *rs)
 
 static void render_progress_update(void *rjv, float progress)
 {
-  RenderJob *rj = rjv;
+  RenderJob *rj = static_cast<RenderJob *>(rjv);
 
   if (rj->progress && *rj->progress != progress) {
     *rj->progress = progress;
@@ -515,14 +515,16 @@ static void render_image_update_pass_and_layer(RenderJob *rj, RenderResult *rr,
   ScrArea *first_area = NULL, *matched_area = NULL;
 
   /* image window, compo node users */
-  for (wm = rj->main->wm.first; wm && matched_area == NULL; wm = wm->id.next) { /* only 1 wm */
+  for (wm = static_cast<wmWindowManager *>(rj->main->wm.first); wm && matched_area == NULL;
+       wm = static_cast<wmWindowManager *>(wm->id.next)) { /* only 1 wm */
     wmWindow *win;
-    for (win = wm->windows.first; win && matched_area == NULL; win = win->next) {
+    for (win = static_cast<wmWindow *>(wm->windows.first); win && matched_area == NULL;
+         win = win->next) {
       const bScreen *screen = WM_window_get_active_screen(win);
 
       LISTBASE_FOREACH (ScrArea *, area, &screen->areabase) {
         if (area->spacetype == SPACE_IMAGE) {
-          SpaceImage *sima = area->spacedata.first;
+          SpaceImage *sima = static_cast<SpaceImage *>(area->spacedata.first);
           /* area->spacedata might be empty when toggling full-screen mode. */
           if (sima != NULL && sima->image == rj->image) {
             if (first_area == NULL) {
@@ -543,7 +545,7 @@ static void render_image_update_pass_and_layer(RenderJob *rj, RenderResult *rr,
   }
 
   if (matched_area) {
-    SpaceImage *sima = matched_area->spacedata.first;
+    SpaceImage *sima = static_cast<SpaceImage *>(matched_area->spacedata.first);
     RenderResult *main_rr = RE_AcquireResultRead(rj->re);
 
     /* TODO(sergey): is there faster way to get the layer index? */
@@ -563,7 +565,7 @@ static void render_image_update_pass_and_layer(RenderJob *rj, RenderResult *rr,
 
 static void image_rect_update(void *rjv, RenderResult *rr, volatile rcti *renrect)
 {
-  RenderJob *rj = rjv;
+  RenderJob *rj = static_cast<RenderJob *>(rjv);
   Image *ima = rj->image;
   ImBuf *ibuf;
   void *lock;
@@ -623,14 +625,14 @@ static void image_rect_update(void *rjv, RenderResult *rr, volatile rcti *renrec
 
 static void current_scene_update(void *rjv, Scene *scene)
 {
-  RenderJob *rj = rjv;
+  RenderJob *rj = static_cast<RenderJob *>(rjv);
   rj->current_scene = scene;
   rj->iuser.scene = scene;
 }
 
 static void render_startjob(void *rjv, short *stop, short *do_update, float *progress)
 {
-  RenderJob *rj = rjv;
+  RenderJob *rj = static_cast<RenderJob *>(rjv);
 
   rj->stop = stop;
   rj->do_update = do_update;
@@ -666,15 +668,16 @@ static void render_image_restore_layer(RenderJob *rj)
   wmWindowManager *wm;
 
   /* image window, compo node users */
-  for (wm = rj->main->wm.first; wm; wm = wm->id.next) { /* only 1 wm */
+  for (wm = static_cast<wmWindowManager *>(rj->main->wm.first); wm;
+       wm = static_cast<wmWindowManager *>(wm->id.next)) { /* only 1 wm */
     wmWindow *win;
-    for (win = wm->windows.first; win; win = win->next) {
+    for (win = static_cast<wmWindow *>(wm->windows.first); win; win = win->next) {
       const bScreen *screen = WM_window_get_active_screen(win);
 
       LISTBASE_FOREACH (ScrArea *, area, &screen->areabase) {
         if (area == rj->area) {
           if (area->spacetype == SPACE_IMAGE) {
-            SpaceImage *sima = area->spacedata.first;
+            SpaceImage *sima = static_cast<SpaceImage *>(area->spacedata.first);
 
             if (RE_HasSingleLayer(rj->re)) {
               /* For single layer renders keep the active layer
@@ -700,7 +703,7 @@ static void render_image_restore_layer(RenderJob *rj)
 
 static void render_endjob(void *rjv)
 {
-  RenderJob *rj = rjv;
+  RenderJob *rj = static_cast<RenderJob *>(rjv);
 
   /* this render may be used again by the sequencer without the active
    * 'Render' where the callbacks would be re-assigned. assign dummy callbacks
@@ -774,7 +777,7 @@ static void render_endjob(void *rjv)
      * and using one from Global will unlock exactly the same manager as
      * was locked before running the job.
      */
-    WM_set_locked_interface(G_MAIN->wm.first, false);
+    WM_set_locked_interface(static_cast<wmWindowManager *>(G_MAIN->wm.first), false);
     DEG_tag_on_visible_update(G_MAIN, false);
   }
 }
@@ -782,7 +785,7 @@ static void render_endjob(void *rjv)
 /* called by render, check job 'stop' value or the global */
 static int render_breakjob(void *rjv)
 {
-  RenderJob *rj = rjv;
+  RenderJob *rj = static_cast<RenderJob *>(rjv);
 
   if (G.is_break) {
     return 1;
@@ -809,7 +812,7 @@ static int render_break(void *UNUSED(rjv))
 /* maybe need a way to get job send notifier? */
 static void render_drawlock(void *rjv, bool lock)
 {
-  RenderJob *rj = rjv;
+  RenderJob *rj = static_cast<RenderJob *>(rjv);
 
   /* If interface is locked, renderer callback shall do nothing. */
   if (!rj->interface_locked) {
@@ -871,11 +874,12 @@ static void clean_viewport_memory(Main *bmain, Scene *scene)
   BKE_main_id_tag_listbase(&bmain->objects, LIB_TAG_DOIT, true);
 
   /* Go over all the visible objects. */
-  for (wmWindowManager *wm = bmain->wm.first; wm; wm = wm->id.next) {
+  for (wmWindowManager *wm = static_cast<wmWindowManager *>(bmain->wm.first); wm;
+       wm = static_cast<wmWindowManager *>(wm->id.n

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list