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); _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs