| Summary: | #line directive extra tokens not recognized | ||
|---|---|---|---|
| Product: | Mesa | Reporter: | scrawl |
| Component: | glsl-compiler | Assignee: | Ian Romanick <idr> |
| Status: | RESOLVED NOTABUG | QA Contact: | |
| Severity: | normal | ||
| Priority: | medium | CC: | scrawl |
| Version: | git | ||
| Hardware: | x86-64 (AMD64) | ||
| OS: | Linux (All) | ||
| Whiteboard: | |||
| i915 platform: | i915 features: | ||
|
Description
scrawl
2012-07-10 19:09:00 UTC
This cannot be valid GLSL: the double-quote character isn't a valid character in shaders at all. It sucks that AMD and NVIDIA accept this. This is valid C / C++ (mcpp is a C / C++ preprocessor).
Page 16 (page 22 of the PDF) of GLSL 4.20 spec says:
"#line must have, after macro substitution, one of the following forms:
#line line
#line line source-string-number
where line and source-string-number are constant integer expressions."
"/home/user/my-shader.frag" is not a constant integer expression.
Okay, then I was mislead by the fact that closed drivers not only allow this line, but also mention in potential error messages that they belong to the file "/home/user/my-shader.frag". |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.