[Intel-gfx] [PATCH i-g-t 07/26] rendercopy/skl: Update 3DSTATE_SBE

Damien Lespiau damien.lespiau at intel.com
Fri Sep 26 16:03:05 CEST 2014


SBE has now to be explicitely told which channels of which components
are used by the pixel shader.

Signed-off-by: Damien Lespiau <damien.lespiau at intel.com>
Signed-off-by: Ben Widawsky <benjamin.widawsky at intel.com>
---
 lib/gen9_render.h     | 5 +++++
 lib/rendercopy_gen9.c | 4 +++-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/lib/gen9_render.h b/lib/gen9_render.h
index 6de4a91..8d6398c 100644
--- a/lib/gen9_render.h
+++ b/lib/gen9_render.h
@@ -5,4 +5,9 @@
 
 #define GEN7_3DSTATE_VF				GEN6_3D(3, 0, 0x0c)
 
+#define GEN9_SBE_ACTIVE_COMPONENT_NONE		0
+#define GEN9_SBE_ACTIVE_COMPONENT_XY		1
+#define GEN9_SBE_ACTIVE_COMPONENT_XYZ		2
+#define GEN9_SBE_ACTIVE_COMPONENT_XYZW		3
+
 #endif
diff --git a/lib/rendercopy_gen9.c b/lib/rendercopy_gen9.c
index ae4893f..01d5ef3 100644
--- a/lib/rendercopy_gen9.c
+++ b/lib/rendercopy_gen9.c
@@ -706,7 +706,7 @@ gen8_emit_sf(struct intel_batchbuffer *batch)
 {
 	int i;
 
-	OUT_BATCH(GEN7_3DSTATE_SBE | (4 - 2));
+	OUT_BATCH(GEN7_3DSTATE_SBE | (6 - 2));
 	OUT_BATCH(1 << GEN7_SBE_NUM_OUTPUTS_SHIFT |
 		  GEN8_SBE_FORCE_URB_ENTRY_READ_LENGTH |
 		  GEN8_SBE_FORCE_URB_ENTRY_READ_OFFSET |
@@ -714,6 +714,8 @@ gen8_emit_sf(struct intel_batchbuffer *batch)
 		  1 << GEN8_SBE_URB_ENTRY_READ_OFFSET_SHIFT);
 	OUT_BATCH(0);
 	OUT_BATCH(0);
+	OUT_BATCH(GEN9_SBE_ACTIVE_COMPONENT_XYZW << 0);
+	OUT_BATCH(0);
 
 	OUT_BATCH(GEN8_3DSTATE_SBE_SWIZ | (11 - 2));
 	for (i = 0; i < 8; i++)
-- 
1.8.3.1




More information about the Intel-gfx mailing list