[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