[Bf-blender-cvs] [7823957455f] blender2.8: remove GPU_geometry_shader_support, instanced_drawing_support queries

Mike Erwin noreply at git.blender.org
Fri May 19 00:31:38 CEST 2017


Commit: 7823957455fbdd0cc982a840b148dfbdc345f948
Author: Mike Erwin
Date:   Thu May 18 15:25:03 2017 -0400
Branches: blender2.8
https://developer.blender.org/rB7823957455fbdd0cc982a840b148dfbdc345f948

remove GPU_geometry_shader_support, instanced_drawing_support queries

These are always supported now
- instancing as of GL 3.1
- geometry shaders as of GL 3.2

The change to rna_scene.c could use some cleanup, since we don't really need a runtime query function.

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

M	source/blender/gpu/GPU_extensions.h
M	source/blender/gpu/intern/gpu_compositing.c
M	source/blender/gpu/intern/gpu_extensions.c
M	source/blender/gpu/intern/gpu_shader.c
M	source/blender/makesrna/intern/rna_scene.c

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

diff --git a/source/blender/gpu/GPU_extensions.h b/source/blender/gpu/GPU_extensions.h
index 72376ebd99b..2c92f7a2e5b 100644
--- a/source/blender/gpu/GPU_extensions.h
+++ b/source/blender/gpu/GPU_extensions.h
@@ -43,8 +43,6 @@ void GPU_extensions_disable(void);
 bool GPU_legacy_support(void);
 bool GPU_full_non_power_of_two_support(void);
 bool GPU_bicubic_bump_support(void);
-bool GPU_geometry_shader_support(void);
-bool GPU_instanced_drawing_support(void);
 
 int GPU_max_texture_size(void);
 int GPU_max_textures(void);
diff --git a/source/blender/gpu/intern/gpu_compositing.c b/source/blender/gpu/intern/gpu_compositing.c
index f2ceb919a2d..6543aacc4c1 100644
--- a/source/blender/gpu/intern/gpu_compositing.c
+++ b/source/blender/gpu/intern/gpu_compositing.c
@@ -514,8 +514,7 @@ bool GPU_fx_compositor_initialize_passes(
 
 	/* create textures for dof effect */
 	if (fx_flag & GPU_FX_FLAG_DOF) {
-		bool dof_high_quality = (fx_settings->dof->high_quality != 0) &&
-		                        GPU_geometry_shader_support() && GPU_instanced_drawing_support();
+		bool dof_high_quality = (fx_settings->dof->high_quality != 0);
 
 		/* cleanup buffers if quality setting has changed (no need to keep more buffers around than necessary ) */
 		if (dof_high_quality != fx->dof_high_quality)
diff --git a/source/blender/gpu/intern/gpu_extensions.c b/source/blender/gpu/intern/gpu_extensions.c
index d4a1b566ffa..29c11e7899d 100644
--- a/source/blender/gpu/intern/gpu_extensions.c
+++ b/source/blender/gpu/intern/gpu_extensions.c
@@ -327,22 +327,6 @@ bool GPU_bicubic_bump_support(void)
 	return GLEW_VERSION_4_0 || (GLEW_ARB_texture_query_lod && GLEW_VERSION_3_0);
 }
 
-bool GPU_geometry_shader_support(void)
-{
-	/* starting with GL 3.2 geometry shaders are fully supported */
-#ifdef WITH_LEGACY_OPENGL
-	/* core profile clashes with our other shaders so accept compatibility only */
-	return GLEW_VERSION_3_2 && GPU_legacy_support();
-#else
-	return GLEW_VERSION_3_2;
-#endif
-}
-
-bool GPU_instanced_drawing_support(void)
-{
-	return GLEW_VERSION_3_1 || GLEW_ARB_draw_instanced;
-}
-
 int GPU_color_depth(void)
 {
 	return GG.colordepth;
diff --git a/source/blender/gpu/intern/gpu_shader.c b/source/blender/gpu/intern/gpu_shader.c
index e9012702ff7..0c294585aea 100644
--- a/source/blender/gpu/intern/gpu_shader.c
+++ b/source/blender/gpu/intern/gpu_shader.c
@@ -338,9 +338,6 @@ GPUShader *GPU_shader_create_ex(const char *vertexcode,
 	char standard_defines[MAX_DEFINE_LENGTH] = "";
 	char standard_extensions[MAX_EXT_DEFINE_LENGTH] = "";
 
-	if (geocode && !GPU_geometry_shader_support())
-		return NULL;
-
 	shader = MEM_callocN(sizeof(GPUShader), "GPUShader");
 
 	if (vertexcode)
diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c
index f0f43b64f2f..c20e56b1015 100644
--- a/source/blender/makesrna/intern/rna_scene.c
+++ b/source/blender/makesrna/intern/rna_scene.c
@@ -2317,7 +2317,7 @@ static void rna_Stereo3dFormat_update(Main *UNUSED(bmain), Scene *UNUSED(scene),
 
 static int rna_gpu_is_hq_supported_get(PointerRNA *UNUSED(ptr))
 {
-	return GPU_instanced_drawing_support() && GPU_geometry_shader_support();
+	return true;
 }
 
 static void rna_SceneCollection_name_set(PointerRNA *ptr, const char *value)
@@ -5921,6 +5921,7 @@ static void rna_def_gpu_dof_fx(BlenderRNA *brna)
 	RNA_def_property_ui_text(prop, "High Quality", "Use high quality depth of field");
 	RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
 
+	/* NOTE: high quality is always supported */
 	prop = RNA_def_property(srna, "is_hq_supported", PROP_BOOLEAN, PROP_NONE);
 	RNA_def_property_boolean_funcs(prop, "rna_gpu_is_hq_supported_get", NULL);
 	RNA_def_property_clear_flag(prop, PROP_EDITABLE);




More information about the Bf-blender-cvs mailing list