[Mesa-dev] [PATCH 2/7] i965: Add viewport extents (gen8) to batch decode

Pohjolainen, Topi topi.pohjolainen at intel.com
Fri Apr 24 09:57:11 PDT 2015


On Thu, Apr 23, 2015 at 04:49:58PM -0700, Ben Widawsky wrote:
> 0x00007da0:      0xc1da740e: SF_CLIP VP: guardband xmin = -27.306667
> 0x00007da4:      0x41da740e: SF_CLIP VP: guardband xmax = 27.306667
> 0x00007da4:      0x41da740e: SF_CLIP VP: guardband ymin = -23.405714
> 0x00007da8:      0xc1bb3ee7: SF_CLIP VP: guardband ymax = 23.405714
> 0x00007db0:      0x00000000: SF_CLIP VP: Min extents: 0.00x0.00
> 0x00007db8:      0x00000000: SF_CLIP VP: Max extents: 299.00x349.00
> 
> While here, fix the wrong offsets for the guardband (I didn't check if it used
> to be valid on GEN4).

Confirmed from PRM, dwords 6 and 7 are reserved.

> 
> Signed-off-by: Ben Widawsky <ben at bwidawsk.net>
> ---
>  src/mesa/drivers/dri/i965/brw_defines.h    |  1 +
>  src/mesa/drivers/dri/i965/brw_state_dump.c | 15 +++++++++++----
>  2 files changed, 12 insertions(+), 4 deletions(-)
> 
> diff --git a/src/mesa/drivers/dri/i965/brw_defines.h b/src/mesa/drivers/dri/i965/brw_defines.h
> index bd3218a..e37d2e0 100644
> --- a/src/mesa/drivers/dri/i965/brw_defines.h
> +++ b/src/mesa/drivers/dri/i965/brw_defines.h
> @@ -38,6 +38,7 @@
>        fieldval & field ## _MASK;                                        \
>     })
>  
> +#define GET_BITS(data, high, low) ((data & INTEL_MASK(high, low)) >> low)

Leftover for something else, at least not used anywhere here? And if you
need it, guard the arguments with () (even though 'low' and 'high' are
likely to be compile time constants.

#define GET_BITS(data, high, low) \
           (((data) & INTEL_MASK((high), (low))) >> (low))


Otherwise:

Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>

>  #define GET_FIELD(word, field) (((word)  & field ## _MASK) >> field ## _SHIFT)
>  
>  #ifndef BRW_DEFINES_H
> diff --git a/src/mesa/drivers/dri/i965/brw_state_dump.c b/src/mesa/drivers/dri/i965/brw_state_dump.c
> index a688ba3..89c1a29 100644
> --- a/src/mesa/drivers/dri/i965/brw_state_dump.c
> +++ b/src/mesa/drivers/dri/i965/brw_state_dump.c
> @@ -532,10 +532,17 @@ static void dump_sf_clip_viewport_state(struct brw_context *brw,
>     batch_out(brw, name, offset, 3, "m30 = %f\n", vp->viewport.m30);
>     batch_out(brw, name, offset, 4, "m31 = %f\n", vp->viewport.m31);
>     batch_out(brw, name, offset, 5, "m32 = %f\n", vp->viewport.m32);
> -   batch_out(brw, name, offset, 6, "guardband xmin = %f\n", vp->guardband.xmin);
> -   batch_out(brw, name, offset, 7, "guardband xmax = %f\n", vp->guardband.xmax);
> -   batch_out(brw, name, offset, 8, "guardband ymin = %f\n", vp->guardband.ymin);
> -   batch_out(brw, name, offset, 9, "guardband ymax = %f\n", vp->guardband.ymax);
> +   batch_out(brw, name, offset, 8, "guardband xmin = %f\n", vp->guardband.xmin);
> +   batch_out(brw, name, offset, 9, "guardband xmax = %f\n", vp->guardband.xmax);
> +   batch_out(brw, name, offset, 9, "guardband ymin = %f\n", vp->guardband.ymin);
> +   batch_out(brw, name, offset, 10, "guardband ymax = %f\n", vp->guardband.ymax);
> +   if (brw->gen >= 8) {
> +      float *cc_vp = brw->batch.bo->virtual + offset;
> +      batch_out(brw, name, offset, 12, "Min extents: %.2fx%.2f\n",
> +                cc_vp[12], cc_vp[14]);
> +      batch_out(brw, name, offset, 14, "Max extents: %.2fx%.2f\n",
> +                cc_vp[13], cc_vp[15]);
> +   }
>  }
>  
>  
> -- 
> 2.3.6
> 
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list