diff options
author | Eric Anholt <[email protected]> | 2017-05-01 16:35:34 -0700 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2017-05-08 12:15:49 -0700 |
commit | e5ade7db73ce209f4f23f8c9d1272575fe990b14 (patch) | |
tree | 7b02e0712f72f9b1976f465d0ff6080d0b64729f /src | |
parent | efa9750e96cc80ff76e0082063da37be53c07a12 (diff) |
glsl: Ban #undefining __LINE__ and friends on GLES2.
Fixes deqp_gles2 undefine_invalid_object_* failures.
Reviewed-by: Samuel Pitoiset <[email protected]>
Tested-by: Matt Turner <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/compiler/glsl/glcpp/glcpp-parse.y | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/src/compiler/glsl/glcpp/glcpp-parse.y b/src/compiler/glsl/glcpp/glcpp-parse.y index e113253061f..5cb2a380605 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 |