On Monday, August 04, 2014 12:24:01 PM Ben Widawsky wrote: > While working in this part of the code I had a great deal of trouble > understanding what it was trying to do, and matching it with the spec. > (mostly due bad wording in the PRM). To help future people, I've cleaned > up the wording and provided some ascii art. > --- > src/mesa/drivers/dri/i965/gen8_viewport_state.c | 22 ++++++++++++++++++---- > 1 file changed, 18 insertions(+), 4 deletions(-) > > diff --git a/src/mesa/drivers/dri/i965/gen8_viewport_state.c > b/src/mesa/drivers/dri/i965/gen8_viewport_state.c > index b366246..b5171e0 100644 > --- a/src/mesa/drivers/dri/i965/gen8_viewport_state.c > +++ b/src/mesa/drivers/dri/i965/gen8_viewport_state.c > @@ -71,10 +71,24 @@ gen8_upload_sf_clip_viewport(struct brw_context *brw) > * maximum screen space coordinates of a small object may larger, but > we > * have no way to enforce the object size other than through clipping. > * > - * If you're surprised that we set clip to -gbx to +gbx and it seems > like > - * we'll end up with 16384 wide, note that for a 8192-wide render > target, > - * we'll end up with a normal (-1, 1) clip volume that just covers the > - * drawable. > + * The goal is to create the maximum sized guardband (8K x 8K) with the > + * viewport rectangle in the center of the guardband. This looks weird > + * because the hardware wants coordinates that are scaled to the > viewport > + * in NDC. In other words, an 8K x 8K viewport would have [-1,1] for X > and Y. > + * A 4K viewport would be [-2,2], 2K := [-4,4] etc. > + * > + * -------------------------------- > + * |Guardband | > + * | | > + * | ------------ | > + * | |viewport | | > + * | | | | > + * | | | | > + * | |__________| | > + * | | > + * | | > + * |______________________________| > + * > */ > const float maximum_guardband_extent = 8192; > float gbx = maximum_guardband_extent / ctx->ViewportArray[i].Width; >
Reviewed-by: Kenneth Graunke <kenn...@whitecape.org> and you can probably add a: Reviewed-by: Chris Forbes <chr...@ijw.co.nz> or at least Acked-by based on #intel-gfx chatter: [Friday, August 01, 2014] [07:24:53 PM] <bwidawsk> Kayden, chrisf: useful p atch? http://sprunge.us/SPeA [Friday, August 01, 2014] [07:25:48 PM] <Kayden> looks reasonable to me [Friday, August 01, 2014] [07:26:48 PM] <chrisf> same here
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev