swr/rast: Enable simd16 vertex shaders
[mesa.git] / src / gallium / drivers / swr / rasterizer / core / knobs.h
index b1085268247a30e008b852f122a28f68746d7105..657c2eed76ee96f62abb284d335ffccc08315672 100644 (file)
 // AVX512 Support
 ///////////////////////////////////////////////////////////////////////////////
 
-#define ENABLE_AVX512_SIMD16    0
-#define USE_8x2_TILE_BACKEND    0
+#define ENABLE_AVX512_SIMD16    1
+#define USE_8x2_TILE_BACKEND    1
+#define USE_SIMD16_FRONTEND     1
+#define USE_SIMD16_SHADERS      1   // requires USE_SIMD16_FRONTEND
+#define USE_SIMD16_VS           1   // requires USE_SIMD16_SHADERS
 
 ///////////////////////////////////////////////////////////////////////////////
 // Architecture validation
 #define KNOB_SIMD_WIDTH 8
 #define KNOB_SIMD_BYTES 32
 #elif (KNOB_ARCH == KNOB_ARCH_AVX512)
-#if 0
-// not ready to enable this globally, enabled on the side (below)
 #define KNOB_ARCH_ISA AVX512F
 #define KNOB_ARCH_STR "AVX512"
-#define KNOB_SIMD_WIDTH 16
-#define KNOB_SIMD_BYTES 64
-#else
-#define KNOB_ARCH_ISA AVX2
-#define KNOB_ARCH_STR "AVX2"
 #define KNOB_SIMD_WIDTH 8
 #define KNOB_SIMD_BYTES 32
-#endif
 #else
 #error "Unknown architecture"
 #endif
@@ -96,9 +91,6 @@
 // Maximum supported number of active vertex buffer streams
 #define KNOB_NUM_STREAMS                    32
 
-// Maximum supported number of attributes per vertex
-#define KNOB_NUM_ATTRIBUTES                 39
-
 // Maximum supported active viewports and scissors
 #define KNOB_NUM_VIEWPORTS_SCISSORS         16
 
 
 #if KNOB_SIMD_WIDTH==8 && KNOB_TILE_X_DIM < 4
 #error "incompatible width/tile dimensions"
-#elif KNOB_SIMD_WIDTH==16 && KNOB_TILE_X_DIM < 4
-#error "incompatible width/tile dimensions"
 #endif
 
 #if ENABLE_AVX512_SIMD16
 #if KNOB_SIMD_WIDTH == 8
 #define SIMD_TILE_X_DIM 4
 #define SIMD_TILE_Y_DIM 2
-#elif KNOB_SIMD_WIDTH == 16
-#define SIMD_TILE_X_DIM 4
-#define SIMD_TILE_Y_DIM 4
 #else
 #error "Invalid simd width"
 #endif