summaryrefslogtreecommitdiffstats
path: root/src/mapi/mapi_glapi.c
diff options
context:
space:
mode:
authorAnuj Phogat <[email protected]>2014-02-04 10:38:18 -0800
committerAnuj Phogat <[email protected]>2014-05-01 10:58:39 -0700
commit581e4acb0d68eb1063df3919e19e0ef9d86eebff (patch)
tree7576c9f41be6f92561951e77ae786e2ade259f17 /src/mapi/mapi_glapi.c
parent49c71050de1e0df451e29621558b4adfefb7e098 (diff)
glsl: Compile error if fs defines conflicting qualifiers for gl_FragCoord
GLSL 1.50 spec says: "If gl_FragCoord is redeclared in any fragment shader in a program, it must be redeclared in all the fragment shaders in that program that have a static use gl_FragCoord. All redeclarations of gl_FragCoord in all fragment shaders in a single program must have the same set of qualifiers." This patch makes the glsl compiler to generate an error if we have a fragment shader defined with conflicting layout qualifier declarations for gl_FragCoord. For example: layout(origin_upper_left, pixel_center_integer) in vec4 gl_FragCoord; layout(pixel_center_integer) in vec4 gl_FragCoord; void main() { } V2: Some code refactoring for better readability. Add compiler error conditions for redeclarations like: layout(origin_upper_left) in vec4 gl_FragCoord; layout(origin_upper_left, pixel_center_integer) in vec4 gl_FragCoord; and in vec4 gl_FragCoord; layout(origin_upper_left, pixel_center_integer) in vec4 gl_FragCoord; V3: Simplify function is_conflicting_fragcoord_redeclaration() V4: Check for null pointer before doing strcmp(var->name, "gl_FragCoord"). Signed-off-by: Anuj Phogat <[email protected]> Cc: <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
Diffstat (limited to 'src/mapi/mapi_glapi.c')
0 files changed, 0 insertions, 0 deletions