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

Signed-off-by: Damien Lespiau <damien.lesp...@intel.com>
Signed-off-by: Ben Widawsky <benjamin.widaw...@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

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to