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. @@ _______________________________________________ Bf-blender-cvs mailing list [email protected] List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
