[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [60848] trunk/blender/intern/cycles/device /device.cpp: Fix #37134: cycles viewport not displaying correct with multi GPU render
Brecht Van Lommel
brechtvanlommel at pandora.be
Fri Oct 18 22:11:08 CEST 2013
Revision: 60848
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=60848
Author: blendix
Date: 2013-10-18 20:11:07 +0000 (Fri, 18 Oct 2013)
Log Message:
-----------
Fix #37134: cycles viewport not displaying correct with multi GPU render
and graphics card that does not support CUDA OpenGL interop.
Modified Paths:
--------------
trunk/blender/intern/cycles/device/device.cpp
Modified: trunk/blender/intern/cycles/device/device.cpp
===================================================================
--- trunk/blender/intern/cycles/device/device.cpp 2013-10-18 17:57:15 UTC (rev 60847)
+++ trunk/blender/intern/cycles/device/device.cpp 2013-10-18 20:11:07 UTC (rev 60848)
@@ -64,11 +64,16 @@
glColor3f(1.0f, 1.0f, 1.0f);
if(rgba.data_type == TYPE_HALF) {
+ /* for multi devices, this assumes the ineffecient method that we allocate
+ * all pixels on the device even though we only render to a subset */
+ GLhalf *data_pointer = (GLhalf*)rgba.data_pointer;
+ data_pointer += 4*y*w;
+
/* draw half float texture, GLSL shader for display transform assumed to be bound */
GLuint texid;
glGenTextures(1, &texid);
glBindTexture(GL_TEXTURE_2D, texid);
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA16F_ARB, w, h, 0, GL_RGBA, GL_HALF_FLOAT, (void*)rgba.data_pointer);
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA16F_ARB, w, h, 0, GL_RGBA, GL_HALF_FLOAT, data_pointer);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
More information about the Bf-blender-cvs
mailing list