diff options
author | Brian Paul <[email protected]> | 2008-08-04 10:07:26 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2008-08-04 17:14:48 -0600 |
commit | 7c59a2b5a2699207e25638ff5be6b9cfd64560cc (patch) | |
tree | 5ac0a08240f6da6979c187885862a827b43fa9f1 | |
parent | d95bb24ddc9fa4bfb32d07fb96d19c024f0e52cf (diff) |
mesa: glsl: only allow one #version directive
-rw-r--r-- | src/mesa/shader/slang/library/slang_pp_version.syn | 11 | ||||
-rw-r--r-- | src/mesa/shader/slang/slang_preprocess.c | 4 |
2 files changed, 10 insertions, 5 deletions
diff --git a/src/mesa/shader/slang/library/slang_pp_version.syn b/src/mesa/shader/slang/library/slang_pp_version.syn index d5e9317b5d4..3fe1a57ba2c 100644 --- a/src/mesa/shader/slang/library/slang_pp_version.syn +++ b/src/mesa/shader/slang/library/slang_pp_version.syn @@ -31,11 +31,9 @@ .syntax version_directive; version_directive - version_directive_1 .and .loop version_directive_2; + version_directive_1; version_directive_1 prior_optional_spaces .and optional_version_directive .and .true .emit $; -version_directive_2 - prior_optional_spaces .and version_directive_body .and .true .emit $; optional_version_directive version_directive_body .or .true .emit 10 .emit 1; @@ -45,13 +43,16 @@ version_directive_body new_line; version_number - version_number_110 .or version_number_120; + version_number_100 .or version_number_110 .or version_number_120; + +version_number_100 + leading_zeroes .and "100" .emit 0 .emit 1; version_number_110 leading_zeroes .and "110" .emit 10 .emit 1; version_number_120 - leading_zeroes .and "120" .emit 20 .emit 1; + leading_zeroes .and "120" .emit 20 .emit 1; leading_zeroes .loop zero; diff --git a/src/mesa/shader/slang/slang_preprocess.c b/src/mesa/shader/slang/slang_preprocess.c index bfe29b6bc98..786f6467c93 100644 --- a/src/mesa/shader/slang/slang_preprocess.c +++ b/src/mesa/shader/slang/slang_preprocess.c @@ -537,7 +537,11 @@ pp_state_init (pp_state *self, slang_info_log *elog) { self->line = 0; self->file = 1; +#if FEATURE_es2_glsl + self->version = 100; +#else self->version = 110; +#endif pp_symbols_init (&self->symbols); pp_ext_init (&self->ext); self->elog = elog; |