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 {
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);