summaryrefslogtreecommitdiffstats
path: root/src/glsl
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2011-08-09 10:53:29 -0700
committerKenneth Graunke <[email protected]>2011-08-25 08:07:21 -0700
commitb9eb4d8a59699e233255113acafae220c3d8fe3c (patch)
treec32b4d9959f140dd8624e751d6bcd35bec377f1b /src/glsl
parentdbec3a5daf6fd012adc4d9690ef1dccc65969e04 (diff)
glsl: Implement the GL_ARB_conservative_depth extension.
It's the same as GL_AMD_conservative_depth. The specs have slight differences in wording, but don't differ in content or behavior. Signed-off-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/glsl')
-rw-r--r--src/glsl/glsl_parser.yy4
-rw-r--r--src/glsl/glsl_parser_extras.cpp1
-rw-r--r--src/glsl/glsl_parser_extras.h2
-rw-r--r--src/glsl/ir.h2
-rw-r--r--src/glsl/linker.cpp2
5 files changed, 7 insertions, 4 deletions
diff --git a/src/glsl/glsl_parser.yy b/src/glsl/glsl_parser.yy
index 1851f1e202e..25d02fb1eaf 100644
--- a/src/glsl/glsl_parser.yy
+++ b/src/glsl/glsl_parser.yy
@@ -1111,7 +1111,7 @@ layout_qualifier_id:
}
}
- /* Layout qualifiers for AMD_conservative_depth. */
+ /* Layout qualifiers for AMD/ARB_conservative_depth. */
if (!got_one && state->AMD_conservative_depth_enable) {
if (strcmp($1, "depth_any") == 0) {
got_one = true;
@@ -1129,7 +1129,7 @@ layout_qualifier_id:
if (got_one && state->AMD_conservative_depth_warn) {
_mesa_glsl_warning(& @1, state,
- "GL_AMD_conservative_depth "
+ "GL_ARB_conservative_depth "
"layout qualifier `%s' is used\n", $1);
}
}
diff --git a/src/glsl/glsl_parser_extras.cpp b/src/glsl/glsl_parser_extras.cpp
index cc781378d76..8f740e6a8e9 100644
--- a/src/glsl/glsl_parser_extras.cpp
+++ b/src/glsl/glsl_parser_extras.cpp
@@ -253,6 +253,7 @@ struct _mesa_glsl_extension {
static const _mesa_glsl_extension _mesa_glsl_supported_extensions[] = {
/* target availability API availability */
/* name VS GS FS GL ES supported flag */
+ EXT(ARB_conservative_depth, true, false, true, true, false, AMD_conservative_depth),
EXT(ARB_draw_buffers, false, false, true, true, false, dummy_true),
EXT(ARB_draw_instanced, true, false, false, true, false, ARB_draw_instanced),
EXT(ARB_explicit_attrib_location, true, false, true, true, false, ARB_explicit_attrib_location),
diff --git a/src/glsl/glsl_parser_extras.h b/src/glsl/glsl_parser_extras.h
index fc392da5b21..dc6911d1c9a 100644
--- a/src/glsl/glsl_parser_extras.h
+++ b/src/glsl/glsl_parser_extras.h
@@ -180,6 +180,8 @@ struct _mesa_glsl_parse_state {
bool ARB_shader_stencil_export_warn;
bool AMD_conservative_depth_enable;
bool AMD_conservative_depth_warn;
+ bool ARB_conservative_depth_enable;
+ bool ARB_conservative_depth_warn;
bool AMD_shader_stencil_export_enable;
bool AMD_shader_stencil_export_warn;
bool OES_texture_3D_enable;
diff --git a/src/glsl/ir.h b/src/glsl/ir.h
index 990aaa16af3..2e899f3ed6f 100644
--- a/src/glsl/ir.h
+++ b/src/glsl/ir.h
@@ -236,7 +236,7 @@ enum ir_variable_interpolation {
/**
* \brief Layout qualifiers for gl_FragDepth.
*
- * The AMD_conservative_depth extension allows gl_FragDepth to be redeclared
+ * The AMD/ARB_conservative_depth extensions allow gl_FragDepth to be redeclared
* with a layout qualifier.
*/
enum ir_depth_layout {
diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp
index b54ef41080a..ba81c59ff2c 100644
--- a/src/glsl/linker.cpp
+++ b/src/glsl/linker.cpp
@@ -395,7 +395,7 @@ cross_validate_globals(struct gl_shader_program *prog,
/* Validate layout qualifiers for gl_FragDepth.
*
- * From the AMD_conservative_depth spec:
+ * From the AMD/ARB_conservative_depth specs:
* "If gl_FragDepth is redeclared in any fragment shader in
* a program, it must be redeclared in all fragment shaders in that
* program that have static assignments to gl_FragDepth. All