From 7c59a2b5a2699207e25638ff5be6b9cfd64560cc Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Mon, 4 Aug 2008 10:07:26 -0600 Subject: [PATCH] mesa: glsl: only allow one #version directive --- src/mesa/shader/slang/library/slang_pp_version.syn | 11 ++++++----- 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 d5e9317..3fe1a57 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 bfe29b6..786f646 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; -- 2.7.4