-/* XXX The interface needs to be reworked */
-
-/**
- * A shader variant. It consists of non-orthogonal states of the pipe context
- * affecting the compilation of a shader.
- */
-struct ilo_shader_variant {
- union {
- struct {
- bool rasterizer_discard;
- int num_ucps;
- } vs;
-
- struct {
- bool rasterizer_discard;
- int num_inputs;
- int semantic_names[PIPE_MAX_SHADER_INPUTS];
- int semantic_indices[PIPE_MAX_SHADER_INPUTS];
- } gs;
-
- struct {
- bool flatshade;
- int fb_height;
- int num_cbufs;
- } fs;
- } u;
-
- int num_sampler_views;
- struct {
- unsigned r:3;
- unsigned g:3;
- unsigned b:3;
- unsigned a:3;
- } sampler_view_swizzles[ILO_MAX_SAMPLER_VIEWS];
-
- uint32_t saturate_tex_coords[3];
+enum ilo_kernel_param {
+ ILO_KERNEL_INPUT_COUNT,
+ ILO_KERNEL_OUTPUT_COUNT,
+ ILO_KERNEL_URB_DATA_START_REG,
+ ILO_KERNEL_SKIP_CBUF0_UPLOAD,
+ ILO_KERNEL_PCB_CBUF0_SIZE,
+
+ ILO_KERNEL_VS_INPUT_INSTANCEID,
+ ILO_KERNEL_VS_INPUT_VERTEXID,
+ ILO_KERNEL_VS_INPUT_EDGEFLAG,
+ ILO_KERNEL_VS_PCB_UCP_SIZE,
+ ILO_KERNEL_VS_GEN6_SO,
+ ILO_KERNEL_VS_GEN6_SO_START_REG,
+ ILO_KERNEL_VS_GEN6_SO_POINT_OFFSET,
+ ILO_KERNEL_VS_GEN6_SO_LINE_OFFSET,
+ ILO_KERNEL_VS_GEN6_SO_TRI_OFFSET,
+
+ ILO_KERNEL_GS_DISCARD_ADJACENCY,
+ ILO_KERNEL_GS_GEN6_SVBI_POST_INC,
+
+ ILO_KERNEL_FS_INPUT_Z,
+ ILO_KERNEL_FS_INPUT_W,
+ ILO_KERNEL_FS_OUTPUT_Z,
+ ILO_KERNEL_FS_USE_KILL,
+ ILO_KERNEL_FS_BARYCENTRIC_INTERPOLATIONS,
+ ILO_KERNEL_FS_DISPATCH_16_OFFSET,
+
+ ILO_KERNEL_PARAM_COUNT,