Mesa (master): i965/vec4: add support for packing tcs outputs

Timothy Arceri tarceri at kemper.freedesktop.org
Thu Jul 21 02:06:21 UTC 2016


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

Author: Timothy Arceri <timothy.arceri at collabora.com>
Date:   Fri Jun 24 12:10:12 2016 +1000

i965/vec4: add support for packing tcs outputs

Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Edward O'Callaghan <funfunctor at folklore1984.net>

---

 src/mesa/drivers/dri/i965/brw_vec4_tcs.cpp | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/mesa/drivers/dri/i965/brw_vec4_tcs.cpp b/src/mesa/drivers/dri/i965/brw_vec4_tcs.cpp
index 8bd150a..4bc3be7 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;




More information about the mesa-commit mailing list