[Mesa-dev] [PATCH 0.5/3] anv/blorp: Don't create linear ASTC surfaces for buffers

Jason Ekstrand jason at jlekstrand.net
Thu Nov 3 03:00:04 UTC 2016


Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>

Wouldn't be a bad idea to do this for all compressed formats.  It doesn't
really matter though since blorp will nuke the format the moment it cones
into blorp_copy anyway.

On Nov 2, 2016 4:56 PM, "Nanley Chery" <nanleychery at gmail.com> wrote:

> Such a surface is not possible on our hardware. Without this change, ISL
> surface creation would fail with the next patch.
>
> Signed-off-by: Nanley Chery <nanley.g.chery at intel.com>
> ---
>
> This series requires the following extra patch, seemingly due to the
> recent changes with blorp.
>
>  src/intel/vulkan/anv_blorp.c | 16 ++++++++++++++++
>  1 file changed, 16 insertions(+)
>
> diff --git a/src/intel/vulkan/anv_blorp.c b/src/intel/vulkan/anv_blorp.c
> index 87f242c..0feb5d5 100644
> --- a/src/intel/vulkan/anv_blorp.c
> +++ b/src/intel/vulkan/anv_blorp.c
> @@ -126,6 +126,22 @@ get_blorp_surf_for_anv_buffer(struct anv_device
> *device,
>                                struct blorp_surf *blorp_surf,
>                                struct isl_surf *isl_surf)
>  {
> +   const struct isl_format_layout *fmtl =
> +      isl_format_get_layout(format);
> +
> +   /* ASTC is the only format which doesn't support linear layouts.
> +    * Create an equivalently sized surface with ISL to get around this.
> +    */
> +   if (fmtl->txc == ISL_TXC_ASTC) {
> +      /* Use an equivalently sized format */
> +      format = ISL_FORMAT_R32G32B32A32_UINT;
> +      assert(fmtl->bpb == isl_format_get_layout(format)->bpb);
> +
> +      /* Shrink the dimensions for the new format */
> +      width = DIV_ROUND_UP(width, fmtl->bw);
> +      height = DIV_ROUND_UP(height, fmtl->bh);
> +   }
> +
>     *blorp_surf = (struct blorp_surf) {
>        .surf = isl_surf,
>        .addr = {
> --
> 2.10.2
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20161102/9645fd0a/attachment.html>


More information about the mesa-dev mailing list