summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTimothy Arceri <[email protected]>2016-06-24 12:10:12 +1000
committerTimothy Arceri <[email protected]>2016-07-21 12:06:11 +1000
commitd07cfb31c4930ddb7700667783f6dfe5754b5435 (patch)
treee416d00e2676ef11008bb26b070923de8f69f4a8 /src
parentb25e49a3c7651d31b3e526577ae394ba0ae66de2 (diff)
i965/vec4: add support for packing tcs outputs
Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Edward O'Callaghan <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/mesa/drivers/dri/i965/brw_vec4_tcs.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_vec4_tcs.cpp b/src/mesa/drivers/dri/i965/brw_vec4_tcs.cpp
index 8bd150ad1b4..4bc3be70188 100644
--- a/src/mesa/drivers/dri/i965/brw_vec4_tcs.cpp
+++ b/src/mesa/drivers/dri/i965/brw_vec4_tcs.cpp
@@ -406,6 +406,13 @@ vec4_tcs_visitor::nir_emit_intrinsic(nir_intrinsic_instr *instr)
}
}
+ unsigned first_component = nir_intrinsic_component(instr);
+ if (first_component) {
+ assert(swiz == BRW_SWIZZLE_XYZW);
+ swiz = BRW_SWZ_COMP_OUTPUT(first_component);
+ mask = mask << first_component;
+ }
+
emit_urb_write(swizzle(value, swiz), mask,
imm_offset, indirect_offset);
break;