radeonsi: move nir_shader_compiler_options into si_screen
[mesa.git] / src / gallium / drivers / zink / zink_pipeline.h
index 0a448be7b4ecb98b08f4a68c735c6d1e2d8cc4a6..116ce656405f85cb36cdcfeb26504774ad92182c 100644 (file)
@@ -33,6 +33,7 @@ struct zink_depth_stencil_alpha_state;
 struct zink_gfx_program;
 struct zink_rasterizer_state;
 struct zink_render_pass;
+struct zink_screen;
 struct zink_vertex_elements_state;
 
 struct zink_gfx_pipeline_state {
@@ -48,14 +49,19 @@ struct zink_gfx_pipeline_state {
 
    struct zink_depth_stencil_alpha_state *depth_stencil_alpha_state;
 
-   float line_width;
-
    VkSampleMask sample_mask;
    uint8_t rast_samples;
+
+   bool primitive_restart;
+
+   /* Pre-hashed value for table lookup, invalid when zero.
+    * Members after this point are not included in pipeline state hash key */
+   uint32_t hash;
 };
 
 VkPipeline
-zink_create_gfx_pipeline(VkDevice dev, struct zink_gfx_program *prog,
+zink_create_gfx_pipeline(struct zink_screen *screen,
+                         struct zink_gfx_program *prog,
                          struct zink_gfx_pipeline_state *state,
                          VkPrimitiveTopology primitive_topology);