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 <robdclark@gmail.com>
This commit is contained in:
Eric Anholt 2018-07-03 15:39:21 -07:00
parent 03f6d26b62
commit 4b2ba18ff3

View file

@ -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;
}