[Bf-blender-cvs] [2d16622] master: Fix T46105, disable viewport compositing when non power of two texture support is missing.

Antony Riakiotakis noreply at git.blender.org
Wed Sep 16 16:07:56 CEST 2015


Commit: 2d16622068d4662a24ab58a08f899b5228d5a81a
Author: Antony Riakiotakis
Date:   Wed Sep 16 17:04:12 2015 +0300
Branches: master
https://developer.blender.org/rB2d16622068d4662a24ab58a08f899b5228d5a81a

Fix T46105, disable viewport compositing when non power of two texture
support is missing.

Supporting those (really) old GPUs requires us to make shaders more
expensive by converting between real and scaled coordinates and be wary
of such conversion caveats when handling uv coordinates in shaders. Not
worth the cost for supporting hardware that old.

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

M	source/blender/gpu/intern/gpu_compositing.c

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

diff --git a/source/blender/gpu/intern/gpu_compositing.c b/source/blender/gpu/intern/gpu_compositing.c
index 2bafee0..da5db73 100644
--- a/source/blender/gpu/intern/gpu_compositing.c
+++ b/source/blender/gpu/intern/gpu_compositing.c
@@ -306,6 +306,9 @@ bool GPU_fx_compositor_initialize_passes(
 
 	fx->effects = 0;
 
+	if (!GPU_non_power_of_two_support() || !GLEW_EXT_framebuffer_object || !GLEW_ARB_fragment_shader)
+		return false;
+
 	if (!fx_settings) {
 		cleanup_fx_gl_data(fx, true);
 		return false;
@@ -340,16 +343,18 @@ bool GPU_fx_compositor_initialize_passes(
 	if (fx_flag & GPU_FX_FLAG_SSAO)
 		num_passes++;
 
-	if (!fx->gbuffer)
+	if (!fx->gbuffer) {
 		fx->gbuffer = GPU_framebuffer_create();
 
+		if (!fx->gbuffer) {
+			return false;
+		}
+	}
+
 	/* try creating the jitter texture */
 	if (!fx->jitter_buffer)
 		fx->jitter_buffer = create_jitter_texture();
 
-	if (!fx->gbuffer)
-		return false;
-
 	/* check if color buffers need recreation */
 	if (!fx->color_buffer || !fx->depth_buffer || w != fx->gbuffer_dim[0] || h != fx->gbuffer_dim[1]) {
 		cleanup_fx_gl_data(fx, false);




More information about the Bf-blender-cvs mailing list