[Mesa-dev] [PATCH] isl: Finish tiling filtering for Gen6.

Chad Versace chadversary at chromium.org
Fri Aug 26 21:47:04 UTC 2016


On Fri 26 Aug 2016, Kenneth Graunke wrote:
> Gen6 only has one additional restriction over Gen7+, so we just add it
> to the existing gen7 function (which actually covers later gens too).
> 
> This should stop FINISHME spew when running GL on Sandybridge.
> 
> Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
> ---
>  src/intel/isl/isl.c      | 2 +-
>  src/intel/isl/isl_gen7.c | 9 +++++++++
>  2 files changed, 10 insertions(+), 1 deletion(-)
> 
> Should probably rename the function or something, but I figured I'd throw
> this out there and let Jason/Chad tell me what they'd rather see happen.

I'd like to see this patch rename the function to gen6_filter_tiling.
I don't mind if the function stays in isl_gen7.c, at least for now,
because makes the patch more cherry-pickable.

> 
> diff --git a/src/intel/isl/isl.c b/src/intel/isl/isl.c
> index 59429fb..e97da58 100644
> --- a/src/intel/isl/isl.c
> +++ b/src/intel/isl/isl.c
> @@ -226,7 +226,7 @@ isl_surf_choose_tiling(const struct isl_device *dev,
>  {
>     isl_tiling_flags_t tiling_flags = info->tiling_flags;
>  
> -   if (ISL_DEV_GEN(dev) >= 7) {
> +   if (ISL_DEV_GEN(dev) >= 6) {
>        gen7_filter_tiling(dev, info, &tiling_flags);
>     } else {
>        isl_finishme("%s: gen%u", __func__, ISL_DEV_GEN(dev));
> diff --git a/src/intel/isl/isl_gen7.c b/src/intel/isl/isl_gen7.c
> index 02273f8..37700fd 100644
> --- a/src/intel/isl/isl_gen7.c
> +++ b/src/intel/isl/isl_gen7.c
> @@ -297,6 +297,15 @@ gen7_filter_tiling(const struct isl_device *dev,
>         */
>        *flags &= ~ISL_TILING_Y0_BIT;
>     }
> +
> +   /* From the Sandybridge PRM, Volume 1, Part 2, page 32:
> +    * "NOTE: 128BPE Format Color Buffer ( render target ) MUST be either TileX
> +    *  or Linear."
> +    * 128 bits per pixel translates to 16 bytes per pixel. This is necessary
> +    * all the way back to 965, but is permitted on Gen7+.
> +    */
> +   if (ISL_DEV_GEN(dev) <= 6 && isl_format_get_layout(info->format)->bpb >= 16)
> +      *flags &= ~ISL_TILING_Y0_BIT;
>  }
>  
>  /**
> -- 
> 2.9.3
> 
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list