Module: Mesa
Branch: master
Commit: 4b2ba18ff35774eb97a1931cba5bdef0bf4ccba9
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=4b2ba18ff35774eb97a1931cba5bdef0bf4ccba9

Author: Eric Anholt <[email protected]>
Date:   Tue Jul  3 15:39:21 2018 -0700

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]>

---

 src/compiler/nir/nir_lower_clamp_color_outputs.c | 9 ++-------
 1 file 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 b76a4d51aa..32f8556242 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;
    }

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to