anv: only expose up to 28 vertex attributes
authorIago Toral Quiroga <itoral@igalia.com>
Fri, 21 Jul 2017 06:32:24 +0000 (08:32 +0200)
committerIago Toral Quiroga <itoral@igalia.com>
Wed, 26 Jul 2017 06:16:43 +0000 (08:16 +0200)
The EU limit of 128 GRFs should allow 32 vertex elements of 4 GRFs.
However, the maximum allowed value of "Vertex URB Entry Read Length"
in SIMD8 is 15. And 15 * 8 = 120 gives us a limit of 30 vertex elements.
Because we also need to reserve a vertex buffer to upload
VertexIndex/InstanceIndex and another to upload DrawID when needed,
we can only expose 28.

Cc: "17.2" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
src/intel/vulkan/anv_private.h

index faf784989185fd66c1d3a973fb2cb7dff22d4ebf..86c430397c80965d4306574515d3d284bfbb8686 100644 (file)
@@ -89,7 +89,7 @@ struct gen_l3_config;
  */
 #define ANV_HZ_FC_VAL 1.0f
 
-#define MAX_VBS         31
+#define MAX_VBS         28
 #define MAX_SETS         8
 #define MAX_RTS          8
 #define MAX_VIEWPORTS   16