[Bf-blender-cvs] [cc4236e] multiview: Cleanup: remove warnings, remove duplicated code, fix util function
Dalai Felinto
noreply at git.blender.org
Fri Aug 29 00:29:46 CEST 2014
Commit: cc4236efdaf2f43225e56fdf0e226c6a12c40a09
Author: Dalai Felinto
Date: Thu Aug 28 11:56:21 2014 +0200
Branches: multiview
https://developer.blender.org/rBcc4236efdaf2f43225e56fdf0e226c6a12c40a09
Cleanup: remove warnings, remove duplicated code, fix util function
(and force the material thumbnail preview to be monoscopic)
===================================================================
M source/blender/blenkernel/intern/scene.c
M source/blender/editors/render/render_preview.c
M source/blender/editors/space_node/node_edit.c
M source/blender/render/extern/include/RE_pipeline.h
M source/blender/render/intern/source/pipeline.c
M source/blender/windowmanager/CMakeLists.txt
M source/blender/windowmanager/WM_api.h
M source/blender/windowmanager/intern/wm_operators.c
M source/blender/windowmanager/intern/wm_stereo.c
M source/blender/windowmanager/wm.h
D source/blender/windowmanager/wm_stereo.h
===================================================================
diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c
index 7a94ac9..4dd9f2e 100644
--- a/source/blender/blenkernel/intern/scene.c
+++ b/source/blender/blenkernel/intern/scene.c
@@ -2062,6 +2062,9 @@ size_t BKE_render_num_views(const RenderData *rd)
SceneRenderView *srv;
size_t totviews = 0;
+ if ((rd->scemode & R_MULTIVIEW) == 0)
+ return 1;
+
if (rd->views_setup == SCE_VIEWS_SETUP_BASIC) {
if (BLI_findstring(&rd->views, STEREO_LEFT_NAME, offsetof(SceneRenderView, name)))
totviews++;
diff --git a/source/blender/editors/render/render_preview.c b/source/blender/editors/render/render_preview.c
index e14950e..51dd00d 100644
--- a/source/blender/editors/render/render_preview.c
+++ b/source/blender/editors/render/render_preview.c
@@ -545,7 +545,8 @@ static bool ed_preview_draw_rect(ScrArea *sa, int split, int first, rcti *rect,
/* test if something rendered ok */
re = RE_GetRender(name);
- /* XXX MV to investigate when this is called */
+
+ /* material preview only needs monoscopy (view 0) */
RE_AcquireResultImage(re, &rres, 0);
if (rres.rectf) {
@@ -559,8 +560,8 @@ static bool ed_preview_draw_rect(ScrArea *sa, int split, int first, rcti *rect,
unsigned char *rect_byte = MEM_mallocN(rres.rectx * rres.recty * sizeof(int), "ed_preview_draw_rect");
float fx = rect->xmin + offx;
float fy = rect->ymin;
-
- /* XXX MV to investigate when this is called */
+
+ /* material preview only needs monoscopy (view 0) */
RE_AcquiredResultGet32(re, &rres, (unsigned int *)rect_byte, 0);
glaDrawPixelsSafe(fx, fy, rres.rectx, rres.recty, rres.rectx, GL_RGBA, GL_UNSIGNED_BYTE, rect_byte);
@@ -622,7 +623,7 @@ void ED_preview_draw(const bContext *C, void *idp, void *parentp, void *slotp, r
/* **************************** new shader preview system ****************** */
/* inside thread, called by renderer, sets job update value */
-static void shader_preview_update(void *spv, RenderResult *UNUSED(rr), volatile struct rcti *UNUSED(rect))
+static void shader_preview_update(void *spv, RenderResult *UNUSED(rr), volatile struct rcti *UNUSED(rect), const int UNUSED(view_id))
{
ShaderPreview *sp = spv;
diff --git a/source/blender/editors/space_node/node_edit.c b/source/blender/editors/space_node/node_edit.c
index 1cd6b92..bd785f0 100644
--- a/source/blender/editors/space_node/node_edit.c
+++ b/source/blender/editors/space_node/node_edit.c
@@ -226,22 +226,6 @@ static void compo_progressjob(void *cjv, float progress)
*(cj->progress) = progress;
}
-/* XXX MV move this to a centralized place */
-static size_t get_rendered_views_count(RenderData *rd)
-{
- SceneRenderView *srv;
- size_t tot_views = 0;
-
- if ((rd->scemode & R_MULTIVIEW) == 0)
- return 1;
-
- for (srv = rd->views.first; srv; srv = srv->next)
- if ((srv->viewflag & SCE_VIEW_DISABLE) == 0)
- tot_views ++;
-
- return tot_views;
-}
-
/* only this runs inside thread */
static void compo_startjob(void *cjv, short *stop, short *do_update, float *progress)
{
@@ -269,7 +253,7 @@ static void compo_startjob(void *cjv, short *stop, short *do_update, float *prog
// XXX BIF_store_spare();
/* 1 is do_previews */
- numviews = get_rendered_views_count(&cj->scene->r);
+ numviews = BKE_render_num_views(&cj->scene->r);
for (nr = 0; nr < numviews; nr++) {
ntreeCompositExecTree(cj->scene, ntree, &cj->scene->r, false, true, &scene->view_settings, &scene->display_settings, nr);
}
diff --git a/source/blender/render/extern/include/RE_pipeline.h b/source/blender/render/extern/include/RE_pipeline.h
index d2ee220..e401830 100644
--- a/source/blender/render/extern/include/RE_pipeline.h
+++ b/source/blender/render/extern/include/RE_pipeline.h
@@ -217,7 +217,7 @@ void RE_ResultGet32(struct Render *re, unsigned int *rect);
void RE_AcquiredResultGet32(struct Render *re, struct RenderResult *result, unsigned int *rect, const int view_id);
struct RenderLayer *RE_GetRenderLayer(struct RenderResult *rr, const char *name);
-float *RE_RenderLayerGetPass(struct RenderLayer *rl, int passtype, int view_id);
+float *RE_RenderLayerGetPass(volatile struct RenderLayer *rl, int passtype, int view_id);
int RE_GetActiveViewId(struct Render *re);
/* obligatory initialize call, disprect is optional */
diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c
index fdf6743..3774efb 100644
--- a/source/blender/render/intern/source/pipeline.c
+++ b/source/blender/render/intern/source/pipeline.c
@@ -144,7 +144,7 @@ static int thread_break(void *UNUSED(arg))
/* default callbacks, set in each new render */
static void result_nothing(void *UNUSED(arg), RenderResult *UNUSED(rr)) {}
-static void result_rcti_nothing(void *UNUSED(arg), RenderResult *UNUSED(rr), volatile struct rcti *UNUSED(rect)) {}
+static void result_rcti_nothing(void *UNUSED(arg), RenderResult *UNUSED(rr), volatile struct rcti *UNUSED(rect), const int UNUSED(view_id)) {}
static void current_scene_nothing(void *UNUSED(arg), Scene *UNUSED(scene)) {}
static void stats_nothing(void *UNUSED(arg), RenderStats *UNUSED(rs)) {}
static void float_nothing(void *UNUSED(arg), float UNUSED(val)) {}
@@ -198,7 +198,7 @@ int RE_GetActiveViewId(Render *re)
return re->actview;
}
-float *RE_RenderLayerGetPass(RenderLayer *rl, int passtype, int view_id)
+float *RE_RenderLayerGetPass(volatile RenderLayer *rl, int passtype, int view_id)
{
RenderPass *rpass;
float *rect=NULL;
diff --git a/source/blender/windowmanager/CMakeLists.txt b/source/blender/windowmanager/CMakeLists.txt
index c1bea22..7ffaec3 100644
--- a/source/blender/windowmanager/CMakeLists.txt
+++ b/source/blender/windowmanager/CMakeLists.txt
@@ -77,7 +77,6 @@ set(SRC
wm_files.h
wm_subwindow.h
wm_window.h
- wm_stereo.h
)
add_definitions(-DGLEW_STATIC)
diff --git a/source/blender/windowmanager/WM_api.h b/source/blender/windowmanager/WM_api.h
index a5f09df..d25ce37 100644
--- a/source/blender/windowmanager/WM_api.h
+++ b/source/blender/windowmanager/WM_api.h
@@ -104,7 +104,7 @@ void WM_window_open_temp (struct bContext *C, struct rcti *position, int type);
/* returns true if draw method is triple buffer */
bool WM_is_draw_triple(struct wmWindow *win);
-bool WM_stereo_enabled(struct bContext *C, struct wmWindow *win, bool only_fullscreen_test);
+bool WM_stereo_enabled(const struct bContext *C, struct wmWindow *win, bool only_fullscreen_test);
/* files */
diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c
index 51f0419..941c108 100644
--- a/source/blender/windowmanager/intern/wm_operators.c
+++ b/source/blender/windowmanager/intern/wm_operators.c
@@ -111,7 +111,6 @@
#include "wm_files.h"
#include "wm_subwindow.h"
#include "wm_window.h"
-#include "wm_stereo.h"
static GHash *global_ops_hash = NULL;
diff --git a/source/blender/windowmanager/intern/wm_stereo.c b/source/blender/windowmanager/intern/wm_stereo.c
index 182c8c9..abc7978 100644
--- a/source/blender/windowmanager/intern/wm_stereo.c
+++ b/source/blender/windowmanager/intern/wm_stereo.c
@@ -71,7 +71,6 @@
#include "WM_api.h"
#include "WM_types.h"
#include "wm.h"
-#include "wm_stereo.h"
#include "wm_draw.h" /* wmDrawTriple */
#include "wm_window.h"
#include "wm_event_system.h"
@@ -346,7 +345,7 @@ static void wm_method_draw_stereo_topbottom(wmWindow *win)
}
}
-void wm_method_draw_stereo(bContext *UNUSED(C), wmWindow *win)
+void wm_method_draw_stereo(const bContext *UNUSED(C), wmWindow *win)
{
switch (win->stereo_display.display_mode)
{
@@ -384,7 +383,7 @@ static bool wm_stereo_need_fullscreen(eStereoDisplayMode stereo_display)
/*
* return true if any active area requires to see in 3D
*/
-static bool wm_stereo_required(bContext *C, bScreen *screen)
+static bool wm_stereo_required(const bContext *C, bScreen *screen)
{
ScrArea *sa;
View3D *v3d;
@@ -442,7 +441,7 @@ static bool wm_stereo_required(bContext *C, bScreen *screen)
return false;
}
-bool WM_stereo_enabled(bContext *C, wmWindow *win, bool only_fullscreen_test)
+bool WM_stereo_enabled(const bContext *C, wmWindow *win, bool only_fullscreen_test)
{
bScreen *screen = win->screen;
diff --git a/source/blender/windowmanager/wm.h b/source/blender/windowmanager/wm.h
index 8495f6d..2d8d1bd 100644
--- a/source/blender/windowmanager/wm.h
+++ b/source/blender/windowmanager/wm.h
@@ -77,7 +77,9 @@ void wm_autosave_read(bContext *C, struct ReportList *reports);
void wm_autosave_location(char *filepath);
/* wm_stereo.c */
-void wm_method_draw_stereo(bContext *C, wmWindow *win);
+void wm_method_draw_stereo(const bContext *C, wmWindow *win);
+int wm_stereo_toggle_exec(bContext *C, wmOperator *op);
+int wm_stereo_toggle_invoke(bContext *C, wmOperator *op, const wmEvent *event);
/* init operator properties */
void wm_open_init_load_ui(wmOperator *op, bool use_prefs);
diff --git a/source/blender/windowmanager/wm_stereo.h b/source/blender/windowmanager/wm_stereo.h
deleted file mode 100644
index 3bf7c7c..0000000
--- a/source/blender/windowmanager/wm_stereo.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * ***** BEGIN GPL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * The Original Code is Copyright (C) 2007 Blender Foundation.
- * All rights reserved.
- *
- *
- * Contributor(s): Blender Foundation
- *
- * ***** END GPL LICENSE BLOCK *****
- */
-
-/** \file blender/windowmanager/wm_stereo.h
- * \ingroup wm
- */
-
-#ifndef __WM_STEREO_H__
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list