diff options
author | Timothy Arceri <[email protected]> | 2016-01-25 21:56:18 +1100 |
---|---|---|
committer | Timothy Arceri <[email protected]> | 2016-02-09 22:44:02 +1100 |
commit | 76cfb472077dc83c892b4cddf79333341deaa7b5 (patch) | |
tree | b6cf07c05453227945266a5de7842e4e81a37502 /src/compiler/glsl/loop_analysis.cpp | |
parent | 371c4b3c48f665d530bc0c95990ef47f0e4c1b87 (diff) |
glsl: don't attempt to link empty program
Previously an empty program would go through the entire
link_shaders() function and we would have to be careful
not to cause a segfault.
In core profile also now set link_status to false by
generating an error, it was previously set to true.
From Section 7.3 (PROGRAM OBJECTS) of the OpenGL 4.5 spec:
"Linking can fail for a variety of reasons as specified in the
OpenGL Shading Language Specification, as well as any of the
following reasons:
- No shader objects are attached to program."
V2: Only generate an error in core profile and add spec quote (Ian)
V3: generate error in ES too, remove previous check which was only
applying the rule to GL 4.5/ES 3.1 and above. My understand is that
this spec change is clarifying previously undefined behaviour and
therefore should be applied retrospectively. The ES CTS tests for
this are in ES 2 I suspect it was passing because it would have
generated an error for not having both a vertex and fragment shader.
Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/compiler/glsl/loop_analysis.cpp')
0 files changed, 0 insertions, 0 deletions