[Mesa-dev] [PATCH 2/5] glsl: Ban #undefining __LINE__ and friends on GLES2.
Eric Anholt
eric at anholt.net
Tue May 2 17:36:07 UTC 2017
Fixes deqp_gles2 undefine_invalid_object_* failures.
---
src/compiler/glsl/glcpp/glcpp-parse.y | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/src/compiler/glsl/glcpp/glcpp-parse.y b/src/compiler/glsl/glcpp/glcpp-parse.y
index e113253061f6..5cb2a380605b 100644
--- a/src/compiler/glsl/glcpp/glcpp-parse.y
+++ b/src/compiler/glsl/glcpp/glcpp-parse.y
@@ -284,7 +284,8 @@ control_line_success:
* It is an error to undefine or to redefine a built-in
* (pre-defined) macro name.
*
- * The GLSL ES 1.00 spec does not contain this text.
+ * The GLSL ES 1.00 spec does not contain this text, but
+ * dEQP's preprocess test in GLES2 checks for it.
*
* Section 3.3 (Preprocessor) of the GLSL 1.30 spec says:
*
@@ -296,12 +297,8 @@ control_line_success:
* Furthermore, there are desktop OpenGL conformance tests
* that expect '#undef __VERSION__' and '#undef
* GL_core_profile' to work.
- *
- * Only disallow #undef of pre-defined macros on GLSL ES >=
- * 3.00 shaders.
*/
if (parser->is_gles &&
- parser->version >= 300 &&
(strcmp("__LINE__", $3) == 0
|| strcmp("__FILE__", $3) == 0
|| strcmp("__VERSION__", $3) == 0
--
2.11.0
More information about the mesa-dev
mailing list