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

Author: Dave Airlie <[email protected]>
Date:   Mon Nov 13 15:40:15 2017 +1000

r600: fix isoline tess factor component swapping.

As per radeonsi, the tess factor components for isolines
are reversed.

Fixes: tests/spec/arb_tessellation_shader/execution/isoline.shader_test
Cc: <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>

---

 src/gallium/drivers/r600/r600_shader.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/gallium/drivers/r600/r600_shader.c 
b/src/gallium/drivers/r600/r600_shader.c
index c6e445744e..146c26ce1a 100644
--- a/src/gallium/drivers/r600/r600_shader.c
+++ b/src/gallium/drivers/r600/r600_shader.c
@@ -2884,6 +2884,13 @@ static int r600_emit_tess_factor(struct r600_shader_ctx 
*ctx)
                int out_idx = i >= outer_comps ? tessinner_idx : tessouter_idx;
                int out_comp = i >= outer_comps ? i - outer_comps : i;
 
+               if (ctx->shader->tcs_prim_mode == PIPE_PRIM_LINES) {
+                       if (out_comp == 1)
+                               out_comp = 0;
+                       else if (out_comp == 0)
+                               out_comp = 1;
+               }
+
                r = single_alu_op2(ctx, ALU_OP2_ADD_INT,
                                   treg[i / 2], (2 * (i % 2)),
                                   temp_reg, 0,

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

Reply via email to