i965/Gen4-5: ensure VUE slots for clipdistance are valid if user clipping is enabled.
authorChris Forbes <chrisf@ijw.co.nz>
Sun, 7 Jul 2013 15:44:58 +0000 (03:44 +1200)
committerChris Forbes <chrisf@ijw.co.nz>
Thu, 15 Aug 2013 19:20:47 +0000 (07:20 +1200)
V2: We don't particularly care where they fall in the VUE map, as long
as they are allocated somewhere, and occupy two contiguous slots. Don't
fiddle with the SF layout at all -- there's no need.

Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
Reviewed-by: Paul Berry <stereotype441@gmail.com>
src/mesa/drivers/dri/i965/brw_vs.c

index 5b8173dcf031d08790b42a0f5cd6dd24cf99f395..f909fb53e73be369d474d067a0476adefc60f51d 100644 (file)
@@ -283,6 +283,11 @@ do_vs_prog(struct brw_context *brw,
          outputs_written |= BITFIELD64_BIT(VARYING_SLOT_COL0);
       if (outputs_written & BITFIELD64_BIT(VARYING_SLOT_BFC1))
          outputs_written |= BITFIELD64_BIT(VARYING_SLOT_COL1);
+
+      if (c.key.base.userclip_active) {
+         outputs_written |= BITFIELD64_BIT(VARYING_SLOT_CLIP_DIST0);
+         outputs_written |= BITFIELD64_BIT(VARYING_SLOT_CLIP_DIST1);
+      }
    }
 
    brw_compute_vue_map(brw, &prog_data.base.vue_map, outputs_written,