diff options
author | Paul Berry <stereotype441@gmail.com> | 2013-03-17 11:29:28 -0700 |
---|---|---|
committer | Paul Berry <stereotype441@gmail.com> | 2013-03-24 10:55:27 -0700 |
commit | bf9bfe838eba116cb63dac9a8998da475e1bd98b (patch) | |
tree | 3da5e2f1abe97ef25b0fed59f95a77fc52771878 /src/mesa/drivers/dri/i965/gen6_sf_state.c | |
parent | 463ef47b1672003bdf0737fdc63c4ffa985291f1 (diff) | |
download | external_mesa3d-bf9bfe838eba116cb63dac9a8998da475e1bd98b.zip external_mesa3d-bf9bfe838eba116cb63dac9a8998da475e1bd98b.tar.gz external_mesa3d-bf9bfe838eba116cb63dac9a8998da475e1bd98b.tar.bz2 |
i965: Use brw.vue_map_geom_out instead of VS output VUE map where appropriate.
This patch modifies post-GS pipeline stages (transform feedback, clip,
sf, fs) to refer to the VUE map through brw->vue_map_geom_out rather
than brw->vs.prog_data->vue_map. This ensures that when geometry
shader support is added, these pipeline stages will consult the
geometry shader output VUE map when appropriate, rather than the
vertex shader output VUE map.
v2: Fixed some stale "CACHE_NEW_VS_PROG" comments.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Diffstat (limited to 'src/mesa/drivers/dri/i965/gen6_sf_state.c')
-rw-r--r-- | src/mesa/drivers/dri/i965/gen6_sf_state.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/mesa/drivers/dri/i965/gen6_sf_state.c b/src/mesa/drivers/dri/i965/gen6_sf_state.c index 71851b8..29ff0f8 100644 --- a/src/mesa/drivers/dri/i965/gen6_sf_state.c +++ b/src/mesa/drivers/dri/i965/gen6_sf_state.c @@ -53,7 +53,7 @@ * 256-bit increments. */ uint32_t -get_attr_override(struct brw_vue_map *vue_map, int urb_entry_read_offset, +get_attr_override(const struct brw_vue_map *vue_map, int urb_entry_read_offset, int fs_attr, bool two_side_color, uint32_t *max_source_attr) { if (fs_attr == VARYING_SLOT_POS) { @@ -312,9 +312,9 @@ upload_sf_state(struct brw_context *brw) */ assert(input_index < 16 || attr == input_index); - /* CACHE_NEW_VS_PROG | _NEW_LIGHT | _NEW_PROGRAM */ + /* BRW_NEW_VUE_MAP_GEOM_OUT | _NEW_LIGHT | _NEW_PROGRAM */ attr_overrides[input_index++] = - get_attr_override(&brw->vs.prog_data->vue_map, + get_attr_override(&brw->vue_map_geom_out, urb_entry_read_offset, attr, ctx->VertexProgram._TwoSideEnabled, &max_source_attr); @@ -370,8 +370,8 @@ const struct brw_tracked_state gen6_sf_state = { _NEW_POINT | _NEW_MULTISAMPLE), .brw = (BRW_NEW_CONTEXT | - BRW_NEW_FRAGMENT_PROGRAM), - .cache = CACHE_NEW_VS_PROG + BRW_NEW_FRAGMENT_PROGRAM | + BRW_NEW_VUE_MAP_GEOM_OUT) }, .emit = upload_sf_state, }; |