gallium/draw: sketch out some missing pointcoord code
authorBrian Paul <brianp@vmware.com>
Mon, 29 Jun 2009 21:24:42 +0000 (15:24 -0600)
committerBrian Paul <brianp@vmware.com>
Mon, 29 Jun 2009 21:27:28 +0000 (15:27 -0600)
The gl_PointCoord attribute is currently expected to be in the fog coord
register's z/w components.  This was never totally fleshed out though.
This is just some placeholder code.

src/gallium/auxiliary/draw/draw_pipe_wide_point.c

index d84bab9eaae034ee241924053a58a7aec98f72d6..014d8c7346d0222ae6638329499809fe2440ee40 100644 (file)
@@ -181,6 +181,16 @@ static void widepoint_point( struct draw_stage *stage,
 }
 
 
+static int
+find_fog_input_attrib(struct draw_context *draw)
+{
+   /* Scan the fragment program's input decls to find the fogcoord
+    * attribute.  The z/w components will store the point coord.
+    */
+   return 0; /* XXX fix this */
+}
+
+
 static void widepoint_first_point( struct draw_stage *stage, 
                              struct prim_header *header )
 {
@@ -220,7 +230,7 @@ static void widepoint_first_point( struct draw_stage *stage,
       wide->num_texcoords = j;
 
       /* find fragment shader PointCoord/Fog input */
-      wide->point_coord_fs_input = 0; /* XXX fix this! */
+      wide->point_coord_fs_input = find_fog_input_attrib(draw);
 
       /* setup extra vp output (point coord implemented as a texcoord) */
       draw->extra_vp_outputs.semantic_name = TGSI_SEMANTIC_GENERIC;