diff options
-rw-r--r-- | src/mesa/drivers/dri/i965/gen6_sf_state.c | 15 | ||||
-rw-r--r-- | src/mesa/main/mtypes.h | 26 |
2 files changed, 8 insertions, 33 deletions
diff --git a/src/mesa/drivers/dri/i965/gen6_sf_state.c b/src/mesa/drivers/dri/i965/gen6_sf_state.c index 3da220ddb73..74b232f008c 100644 --- a/src/mesa/drivers/dri/i965/gen6_sf_state.c +++ b/src/mesa/drivers/dri/i965/gen6_sf_state.c @@ -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) { diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index f8a69115d28..9c431af74d6 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -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 { @@ -335,27 +332,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. */ /*@{*/ |