Get rid of _mesa_frag_attrib_to_vert_result().
authorPaul Berry <stereotype441@gmail.com>
Sat, 23 Feb 2013 16:36:40 +0000 (08:36 -0800)
committerPaul Berry <stereotype441@gmail.com>
Fri, 15 Mar 2013 16:26:07 +0000 (09:26 -0700)
Now that there is no difference between the enums that represent
vertex outputs and fragment inputs, there's no need for a conversion
function.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Tested-by: Brian Paul <brianp@vmware.com>
src/mesa/drivers/dri/i965/gen6_sf_state.c
src/mesa/main/mtypes.h

index 3da220ddb73ae1b0694f68a444be466ffc1813ac..74b232f008c6a9315feea6fed09d1e689ec8fe60 100644 (file)
@@ -56,24 +56,23 @@ uint32_t
 get_attr_override(struct brw_vue_map *vue_map, int urb_entry_read_offset,
                   int fs_attr, bool two_side_color, uint32_t *max_source_attr)
 {
-   int vs_attr = _mesa_frag_attrib_to_vert_result(fs_attr);
-   if (vs_attr < 0 || vs_attr == VARYING_SLOT_POS) {
-      /* These attributes will be overwritten by the fragment shader's
-       * interpolation code (see emit_interp() in brw_wm_fp.c), so just let
-       * them reference the first available attribute.
+   if (fs_attr == FRAG_ATTRIB_WPOS) {
+      /* This attribute will be overwritten by the fragment shader's
+       * interpolation code (see emit_interp() in brw_wm_fp.c), so just let it
+       * reference the first available attribute.
        */
       return 0;
    }
 
    /* Find the VUE slot for this attribute. */
-   int slot = vue_map->vert_result_to_slot[vs_attr];
+   int slot = vue_map->vert_result_to_slot[fs_attr];
 
    /* If there was only a back color written but not front, use back
     * as the color instead of undefined
     */
-   if (slot == -1 && vs_attr == VARYING_SLOT_COL0)
+   if (slot == -1 && fs_attr == VARYING_SLOT_COL0)
       slot = vue_map->vert_result_to_slot[VARYING_SLOT_BFC0];
-   if (slot == -1 && vs_attr == VARYING_SLOT_COL1)
+   if (slot == -1 && fs_attr == VARYING_SLOT_COL1)
       slot = vue_map->vert_result_to_slot[VARYING_SLOT_BFC1];
 
    if (slot == -1) {
index f8a69115d286a0f5a321bd048dc03e7e0c8884a1..9c431af74d679402bd00ff0662d22fc83eddea56 100644 (file)
@@ -218,7 +218,6 @@ typedef enum
  * - vertResults (in prog_print.c's arb_output_attrib_string())
  * - fragAttribs (in prog_print.c's arb_input_attrib_string())
  * - _mesa_varying_slot_in_fs()
- * - _mesa_frag_attrib_to_vert_result()
  */
 typedef enum
 {
@@ -287,9 +286,7 @@ typedef enum
 /*********************************************/
 
 /**
- * Indexes for fragment program input attributes.  Note that
- * _mesa_frag_attrib_to_vert_result() makes assumptions about the layout of
- * this enum.
+ * Indexes for fragment program input attributes.
  */
 typedef enum
 {
@@ -334,27 +331,6 @@ _mesa_varying_slot_in_fs(gl_varying_slot slot)
 }
 
 
-/**
- * Convert from a gl_frag_attrib value to the corresponding gl_varying_slot
- * for a vertex output.
- *
- * gl_frag_attrib values which have no corresponding vertex output
- * (FRAG_ATTRIB_FACE and FRAG_ATTRIB_PNTC) are converted to a value of -1.
- */
-static inline int
-_mesa_frag_attrib_to_vert_result(gl_frag_attrib frag_attrib)
-{
-   if (frag_attrib <= FRAG_ATTRIB_TEX7)
-      return frag_attrib;
-   else if (frag_attrib < FRAG_ATTRIB_CLIP_DIST0)
-      return -1;
-   else if (frag_attrib <= FRAG_ATTRIB_CLIP_DIST1)
-      return frag_attrib;
-   else /* frag_attrib >= FRAG_ATTRIB_VAR0 */
-      return frag_attrib;
-}
-
-
 /**
  * Bitflags for fragment program input attributes.
  */