On Wed, Oct 12, 2016 at 2:46 PM, Brian Paul <[email protected]> wrote: > On 10/12/2016 12:06 PM, Ilia Mirkin wrote: >> >> Gallium is completely oblivious to whether the fbo is flipped or not. >> Only flip the stipple pattern when the fbo is flipped as well. Otherwise >> the driver has no idea when to unflip the pattern. >> >> Fixes bin/gl-2.1-polygon-stipple-fs -fbo on nv50 and nvc0. >> >> Signed-off-by: Ilia Mirkin <[email protected]> >> --- >> >> This keeps working on llvmpipe. I assume this is because the emulation >> uses fragcoord to determine the effect, which will be fixed up by the >> state tracker's wpos logic. >> >> src/mesa/state_tracker/st_atom_stipple.c | 10 +++++++--- >> 1 file changed, 7 insertions(+), 3 deletions(-) >> >> diff --git a/src/mesa/state_tracker/st_atom_stipple.c >> b/src/mesa/state_tracker/st_atom_stipple.c >> index a30215f..5f7bf82 100644 >> --- a/src/mesa/state_tracker/st_atom_stipple.c >> +++ b/src/mesa/state_tracker/st_atom_stipple.c >> @@ -61,7 +61,7 @@ invert_stipple(GLuint dest[32], const GLuint src[32], >> GLuint winHeight) >> >> >> >> -static void >> +static void >> update_stipple( struct st_context *st ) >> { >> const struct gl_context *ctx = st->ctx; >> @@ -74,8 +74,12 @@ update_stipple( struct st_context *st ) >> >> memcpy(st->state.poly_stipple, ctx->PolygonStipple, sz); >> >> - invert_stipple(newStipple.stipple, ctx->PolygonStipple, >> - ctx->DrawBuffer->Height); >> + if (_mesa_is_user_fbo(ctx->DrawBuffer)) { >> + memcpy(newStipple.stipple, ctx->PolygonStipple, >> sizeof(newStipple.stipple)); >> + } else { >> + invert_stipple(newStipple.stipple, ctx->PolygonStipple, >> + ctx->DrawBuffer->Height); >> + } >> >> st->pipe->set_polygon_stipple(st->pipe, &newStipple); >> } >> > > Fixes the test on llvmpipe too. > > Reviewed-by: Brian Paul <[email protected]> > Tested-by: Brian Paul <[email protected]>
Thanks. Somehow in my testing I thought llvmpipe was previously working as well. But that's not the case - it failed same as nouveau, and this does indeed fix llvmpipe. Nicolai/Marek - I sorta assume this will break radeonsi. Do you guys want to sort that out before I push? -ilia _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
