diff options
author | Eric Anholt <[email protected]> | 2018-07-03 15:39:21 -0700 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2018-07-05 12:39:36 -0700 |
commit | 4b2ba18ff35774eb97a1931cba5bdef0bf4ccba9 (patch) | |
tree | 163874653658ec77fe8f0739be91cad2d8491e68 /src/compiler | |
parent | 03f6d26b6284cca8f9874928ed11922055247658 (diff) |
nir: Apply fragment color clamping to gl_FragData[] as well.
From the ARB_color_buffer_float spec:
35. Should the clamping of fragment shader output gl_FragData[n]
be controlled by the fragment color clamp.
RESOLVED: Since the destination of the FragData is a color
buffer, the fragment color clamp control should apply.
Fixes arb_color_buffer_float-mrt mixed on v3d.
Reviewed-by: Rob Clark <[email protected]>
Diffstat (limited to 'src/compiler')
-rw-r--r-- | src/compiler/nir/nir_lower_clamp_color_outputs.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/src/compiler/nir/nir_lower_clamp_color_outputs.c b/src/compiler/nir/nir_lower_clamp_color_outputs.c index b76a4d51aac..32f85562427 100644 --- a/src/compiler/nir/nir_lower_clamp_color_outputs.c +++ b/src/compiler/nir/nir_lower_clamp_color_outputs.c @@ -47,13 +47,8 @@ is_color_output(lower_state *state, nir_variable *out) } break; case MESA_SHADER_FRAGMENT: - switch (out->data.location) { - case FRAG_RESULT_COLOR: - return true; - default: - return false; - } - break; + return (out->data.location == FRAG_RESULT_COLOR || + out->data.location >= FRAG_RESULT_DATA0); default: return false; } |