BDW introduces separate packets for controlling instancing and system
generated values (eg vertex id and instance id). We don't use
instancing, but still need to disable sgvs to avoid undefined behaviour
when some other driver (mesa) uses it.
Signed-off-by: Joe Konno <joe.konno@intel.com>
Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Daniel Charles <daniel.charles@intel.com>
(cherry picked from commit
4caa37b895d39af754e2b2307879752130731f56)
OUT_BATCH(batch, i);
OUT_BATCH(batch, 0);
}
+
+ /* Disable system-generated values. */
+ OUT_BATCH(batch, GEN8_3DSTATE_VF_SGVS | (2 - 2));
+ OUT_BATCH(batch, 0);
}
static void
OUT_BATCH(batch, 0);
OUT_BATCH(batch, 0);
+ OUT_BATCH(batch, GEN8_3DSTATE_VF_SGVS | (2 - 2));
+ OUT_BATCH(batch, 0);
+
BEGIN_BATCH(batch, 7);
OUT_BATCH(batch, CMD_3DPRIMITIVE | (7 - 2));
OUT_BATCH(batch,
#define _3DPRIM_LINESTRIP_CONT_BF 0x14
#define _3DPRIM_TRIFAN_NOSTIPPLE 0x15
+#define GEN8_3DSTATE_VF_INSTANCING CMD(3, 0, 0x49)
+#define GEN8_3DSTATE_VF_SGVS CMD(3, 0, 0x4a)
#define GEN8_3DSTATE_VF_TOPOLOGY CMD(3, 0, 0x4b)
#define I965_TILEWALK_XMAJOR 0