i965: Do not store SRC after 0 on component control.
authorRafael Antognolli <rafael.antognolli@intel.com>
Wed, 23 Aug 2017 21:13:05 +0000 (14:13 -0700)
committerRafael Antognolli <rafael.antognolli@intel.com>
Fri, 25 Aug 2017 17:02:09 +0000 (10:02 -0700)
The PRM SKL-Vol 2b-05.16 says:

   "Within a VERTEX_ELEMENT_STATE structure, if a Component Control
   field is set to something other than VFCOMP_STORE_SRC, no
   higher-numbered Component Control fields may be set to
   VFCOMP_STORE_SRC. In other words, only trailing components can be set
   to something other than VFCOMP_STORE_SRC."

Since we set the component 1 to VFCOMP_STORE_0 on gen8+, and
VFCOMP_STORE_IID on gen5+, and we are not using components 2 and 3,
let's also set them to VFCOMP_STORE_0.

Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
src/intel/blorp/blorp_genX_exec.h

index 93534169ef73088438453f30ef09ad79314e9b2c..524736fbc0ea5cef64cae4b23b5f7bee8fcb0f8b 100644 (file)
@@ -395,8 +395,8 @@ blorp_emit_vertex_elements(struct blorp_batch *batch,
 #else
       .Component1Control = VFCOMP_STORE_0,
 #endif
-      .Component2Control = VFCOMP_STORE_SRC,
-      .Component3Control = VFCOMP_STORE_SRC,
+      .Component2Control = VFCOMP_STORE_0,
+      .Component3Control = VFCOMP_STORE_0,
 #if GEN_GEN <= 5
       .DestinationElementOffset = slot * 4,
 #endif