With the fixed version of the first patch, plus the second; - No piglit regressions on Ironlake. - Fixes 4 piglits: EXT_framebuffer_multisample/interpolation 0 centroid-*
On Sat, Apr 27, 2013 at 7:36 PM, Jordan Justen <[email protected]> wrote: > Reviewed-by: Jordan Justen <[email protected]> > Tested-by: Jordan Justen <[email protected]> > > I tested steam and a few games, and it seems good. On one generally > problematic (non-Valve) TF2 map, I did see some vertex location > issues. I don't suspect these are introduced by this patch. > > Since this is for the stable branch, please verify that there are no > piglit regressions. I kind of hope we might get another r-b too. > > On Fri, Apr 26, 2013 at 11:56 PM, Chris Forbes <[email protected]> wrote: >> This is roughly a backport of Eric's commit 0967c362. >> >> We avoided assigning a slot in the VUE map for gl_ClipVertex, but left >> the bit set in outputs_written, producing horrible confusion further >> down the pipe. >> >> Mostly fixes rendering in source games, and probably in Freespace 2 SCP. >> >> Signed-off-by: Chris Forbes <[email protected]> >> >> V2: Mask out the bit, not its index. Strangely, the game still worked >> with that wrong, but rendering of pretty much anything else was >> completely trashed. >> --- >> src/mesa/drivers/dri/i965/brw_vs.c | 8 +++++--- >> 1 file changed, 5 insertions(+), 3 deletions(-) >> >> diff --git a/src/mesa/drivers/dri/i965/brw_vs.c >> b/src/mesa/drivers/dri/i965/brw_vs.c >> index 0810471..0234ebb 100644 >> --- a/src/mesa/drivers/dri/i965/brw_vs.c >> +++ b/src/mesa/drivers/dri/i965/brw_vs.c >> @@ -62,9 +62,13 @@ brw_compute_vue_map(struct brw_context *brw, struct >> brw_vs_compile *c) >> { >> const struct intel_context *intel = &brw->intel; >> struct brw_vue_map *vue_map = &c->prog_data.vue_map; >> - GLbitfield64 outputs_written = c->prog_data.outputs_written; >> + GLbitfield64 outputs_written; >> int i; >> >> + if (intel->gen < 6) >> + c->prog_data.outputs_written &= >> ~BITFIELD64_BIT(VERT_RESULT_CLIP_VERTEX); >> + outputs_written = c->prog_data.outputs_written; >> + >> vue_map->num_slots = 0; >> for (i = 0; i < BRW_VERT_RESULT_MAX; ++i) { >> vue_map->vert_result_to_slot[i] = -1; >> @@ -150,8 +154,6 @@ brw_compute_vue_map(struct brw_context *brw, struct >> brw_vs_compile *c) >> * feedback is enabled or disabled, just go ahead and assign a slot for >> it. >> */ >> for (int i = 0; i < VERT_RESULT_MAX; ++i) { >> - if (intel->gen < 6 && i == VERT_RESULT_CLIP_VERTEX) >> - continue; >> if ((outputs_written & BITFIELD64_BIT(i)) && >> vue_map->vert_result_to_slot[i] == -1) { >> assign_vue_slot(vue_map, i); >> -- >> 1.8.2.1 >> >> _______________________________________________ >> mesa-dev mailing list >> [email protected] >> http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-dev
