zink: set primitive restart cap
[mesa.git] / src / gallium / drivers / zink / zink_state.h
index dd85fc749214865381ad650b6ca2f278428dbff2..ef5e18176d4c31120be9a2f139436264fd96cfbe 100644 (file)
 
 #include "pipe/p_state.h"
 
+struct zink_vertex_elements_hw_state {
+   VkVertexInputAttributeDescription attribs[PIPE_MAX_ATTRIBS];
+   uint32_t num_bindings, num_attribs;
+};
+
 struct zink_vertex_elements_state {
    struct {
-      uint32_t             binding;
-      VkVertexInputRate    inputRate;
+      uint32_t binding;
+      VkVertexInputRate inputRate;
    } bindings[PIPE_MAX_ATTRIBS];
-   VkVertexInputAttributeDescription attribs[PIPE_MAX_ATTRIBS];
-   uint32_t num_bindings, num_attribs;
    uint8_t binding_map[PIPE_MAX_ATTRIBS];
+   struct zink_vertex_elements_hw_state hw_state;
 };
 
-struct zink_rasterizer_state {
-   struct pipe_rasterizer_state base;
-
+struct zink_rasterizer_hw_state {
    VkBool32 depth_clamp;
    VkBool32 rasterizer_discard;
    VkFrontFace front_face;
    VkPolygonMode polygon_mode;
    VkCullModeFlags cull_mode;
+};
 
+struct zink_rasterizer_state {
+   struct pipe_rasterizer_state base;
    bool offset_point, offset_line, offset_tri;
    float offset_units, offset_clamp, offset_scale;
    float line_width;
+   struct zink_rasterizer_hw_state hw_state;
 };
 
 struct zink_blend_state {