[Bf-blender-cvs] [32757d4] blender2.8: OpenGL: require EXT_gpu_shader4 & ARB_framebuffer_object on Mac

Mike Erwin noreply at git.blender.org
Fri Aug 5 03:12:07 CEST 2016


Commit: 32757d488f50400e6b7f0276fe25fca2dca97918
Author: Mike Erwin
Date:   Thu Aug 4 20:25:47 2016 -0400
Branches: blender2.8
https://developer.blender.org/rB32757d488f50400e6b7f0276fe25fca2dca97918

OpenGL: require EXT_gpu_shader4 & ARB_framebuffer_object on Mac

Mac’s OpenGL version is furthest away from our target of GL 3.2. This
commit brings Mac closer to other platforms, so that our shaders and
other code don’t diverge too much during development.

According to Apple’s OpenGL matrix these useful extensions are
available on all GPUs that will be able to run Blender 2.8.

Only checked in debug builds; we might need something more forceful.

Part of T49012

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

M	source/blender/gpu/intern/gpu_extensions.c
M	source/blender/gpu/intern/gpu_shader.c

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

diff --git a/source/blender/gpu/intern/gpu_extensions.c b/source/blender/gpu/intern/gpu_extensions.c
index d41573b..ff0fd42 100644
--- a/source/blender/gpu/intern/gpu_extensions.c
+++ b/source/blender/gpu/intern/gpu_extensions.c
@@ -130,8 +130,8 @@ void GPU_get_dfdy_factors(float fac[2])
 
 void gpu_extensions_init(void)
 {
-	/* BLI_assert(GLEW_VERSION_2_1); */
-	/* ^-- maybe a bit extreme? */
+	BLI_assert(GLEW_VERSION_3_0 || /* Mesa mininum requirement */
+	           GLEW_VERSION_2_1 && GLEW_EXT_gpu_shader4 && GLEW_ARB_framebuffer_object); /* Mac minimum requirement */
 
 	glGetIntegerv(GL_MAX_TEXTURE_IMAGE_UNITS, &GG.maxtextures);
 
diff --git a/source/blender/gpu/intern/gpu_shader.c b/source/blender/gpu/intern/gpu_shader.c
index c3663f2..e22aefc 100644
--- a/source/blender/gpu/intern/gpu_shader.c
+++ b/source/blender/gpu/intern/gpu_shader.c
@@ -186,8 +186,7 @@ static void gpu_shader_standard_extensions(char defines[MAX_EXT_DEFINE_LENGTH],
 		}
 
 		if (!GLEW_VERSION_3_0 && GLEW_EXT_gpu_shader4) {
-			strcat(defines, "#extension GL_EXT_gpu_shader4: enable\n");
-			/* TODO: maybe require this? shaders become so much nicer */
+			strcat(defines, "#extension GL_EXT_gpu_shader4: require\n");
 		}
 	}
 }




More information about the Bf-blender-cvs mailing list