Merge branch 'gallium-nopointsizeminmax'
[mesa.git] / src / gallium / docs / source / cso / rasterizer.rst
index bfa4a1170a234d2d3c509ad3d79d155c21657177..24cc78c68ded6824a3cddcb973a03493234a68bf 100644 (file)
@@ -119,18 +119,20 @@ point_size_per_vertex
     Whether vertices have a point size element.
 point_size
     The size of points, if not specified per-vertex.
-point_size_min
-    The minimum size of points.
-point_size_max
-    The maximum size of points.
-point_sprite
-    Whether points are drawn as sprites (textured quads)
+sprite_coord_enable
+    Specifies if a coord has its texture coordinates replaced or not. This
+    is a packed bitfield containing the enable for all coords - if all are 0
+    point sprites are effectively disabled, though points may still be
+    rendered slightly different according to point_quad_rasterization.
+    If any coord is non-zero, point_smooth should be disabled, and
+    point_quad_rasterization enabled.
+    If enabled, the four vertices of the resulting quad will be assigned
+    texture coordinates, according to sprite_coord_mode.
 sprite_coord_mode
     Specifies how the value for each shader output should be computed when
-    drawing sprites.  If PIPE_SPRITE_COORD_NONE, don't change the vertex
-    shader output.  Otherwise, the four vertices of the resulting quad will
-    be assigned texture coordinates.  For PIPE_SPRITE_COORD_LOWER_LEFT, the
-    lower left vertex will have coordinate (0,0,0,1).
+    drawing sprites, for each coord which has sprite_coord_enable set.
+    For PIPE_SPRITE_COORD_LOWER_LEFT, the lower left vertex will have
+    coordinate (0,0,0,1).
     For PIPE_SPRITE_COORD_UPPER_LEFT, the upper-left vertex will have
     coordinate (0,0,0,1).
     This state is needed by :ref:`Draw` because that's where each
@@ -139,7 +141,15 @@ sprite_coord_mode
     sprite rendering.
     Note that when geometry shaders are available, this state could be
     removed.  A special geometry shader defined by the state tracker could
-    converts the incoming points into quads with the proper texture coords.
+    convert the incoming points into quads with the proper texture coords.
+point_quad_rasterization
+    This determines if points should be rasterized as quads or points.
+    d3d always uses quad rasterization for points, regardless if point sprites
+    are enabled or not, but OGL has different rules. If point_quad_rasterization
+    is set, point_smooth should be disabled, and points will be rendered as
+    squares even if multisample is enabled.
+    sprite_coord_enable should be zero if point_quad_rasterization is not
+    enabled.
 
 scissor
     Whether the scissor test is enabled.