gallium: add initial support for conservative rasterization
[mesa.git] / src / gallium / include / pipe / p_state.h
index 4dce399f84862cace13f939a230bf1eeda40036d..db9fa1a8e9f6954bcb9ea6ee1cb82e3bea053831 100644 (file)
@@ -113,6 +113,7 @@ struct pipe_rasterizer_state
    unsigned line_smooth:1;
    unsigned line_stipple_enable:1;
    unsigned line_last_pixel:1;
+   unsigned conservative_raster_mode:2; /**< PIPE_CONSERVATIVE_RASTER_x */
 
    /**
     * Use the first vertex of a primitive as the provoking vertex for
@@ -123,6 +124,12 @@ struct pipe_rasterizer_state
    unsigned half_pixel_center:1;
    unsigned bottom_edge_rule:1;
 
+   /*
+    * Conservative rasterization subpixel precision bias in bits
+    */
+   unsigned subpixel_precision_x:4;
+   unsigned subpixel_precision_y:4;
+
    /**
     * When true, rasterization is disabled and no pixels are written.
     * This only makes sense with the Stream Out functionality.
@@ -186,6 +193,7 @@ struct pipe_rasterizer_state
    float offset_units;
    float offset_scale;
    float offset_clamp;
+   float conservative_raster_dilate;
 };