glsl: respect the source number set by #line <line> <source>
authorAntia Puentes <apuentes@igalia.com>
Tue, 17 Mar 2015 18:28:25 +0000 (19:28 +0100)
committerIago Toral Quiroga <itoral@igalia.com>
Mon, 6 Apr 2015 06:50:41 +0000 (08:50 +0200)
commitc0a7014601ca93d30ba9bf1ec3c6d04da904d503
treec57e6f959ad6cc80a42c927672898999691dacb8
parent47597f8f5cfe950093110d2b777923ef85c5d24f
glsl: respect the source number set by #line <line> <source>

From GLSL 1.30.10, section 3.3 (Preprocessor):
"#line line source-string-number ... After processing this directive
(including its new-line), the implementation will behave as if it is
compiling at ... source string number source-string-number. Subsequent
source strings will be numbered sequentially, until another #line
directive overrides that numbering."

In the previous implementation the source number was always zero.
Subsequent source strings are still not numbered sequentially, because
in the glShaderSource implementation we are concatenating the source code
strings into one long string.

Partially fixes https://bugs.freedesktop.org/show_bug.cgi?id=88815

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/glsl/glsl_lexer.ll