wined3d: Do not declare pixel shader inputs when they are not used.
This is a workaround for a bug in Mesa GLSL linker. The bug is triggered
by GLSL generated for SM3 shaders when shader inputs are not read and
interface blocks are used for shader inputs/outputs (core profile code
path).
Declarations for unused shader inputs are not generated for pixel
shaders. We still declare shader outputs in the previous shader stage,
but it's allowed by the GLSL 1.50 spec:
"Only output variables that are read by the subsequent pipeline stage
need to be written; it is allowed to have superfluous declarations of
output variables."
The table in section 4.3.4 (Input Variables) of the GLSL 4.20 spec even
more explicitly allows shader output variables with no matching input
variables declared in the consuming shader.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Showing
Please
register
or
sign in
to comment