[Mesa-dev] [PATCH 5/5] anv: Enable textureCompressionASTC_LDR on Gen9+

Nanley Chery nanleychery at gmail.com
Thu May 19 16:59:04 UTC 2016


On Wed, May 18, 2016 at 10:18:30PM -0700, Jason Ekstrand wrote:
> Do we pass all the ASTC CTS tests?  If so,
> 
> Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
> 

We do. Thanks!

> That wasn't nearly as much work as we'd feared it would be.  Hooray for ISL!

Yes, ISL made this work quite simple.

- Nanley

> On May 18, 2016 5:33 PM, "Nanley Chery" <nanleychery at gmail.com> wrote:
> 
> > From: Nanley Chery <nanley.g.chery at intel.com>
> >
> > Signed-off-by: Nanley Chery <nanley.g.chery at intel.com>
> > ---
> >  src/intel/vulkan/anv_device.c  |  2 +-
> >  src/intel/vulkan/anv_formats.c | 56
> > +++++++++++++++++++++---------------------
> >  2 files changed, 29 insertions(+), 29 deletions(-)
> >
> > diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c
> > index 5b5b095..e836ed7 100644
> > --- a/src/intel/vulkan/anv_device.c
> > +++ b/src/intel/vulkan/anv_device.c
> > @@ -381,7 +381,7 @@ void anv_GetPhysicalDeviceFeatures(
> >        .samplerAnisotropy                        = false, /* FINISHME */
> >        .textureCompressionETC2                   = pdevice->info->gen >= 8
> > ||
> >
> >  pdevice->info->is_baytrail,
> > -      .textureCompressionASTC_LDR               = false, /* FINISHME */
> > +      .textureCompressionASTC_LDR               = pdevice->info->gen >=
> > 9, /* FINISHME CHV */
> >        .textureCompressionBC                     = true,
> >        .occlusionQueryPrecise                    = true,
> >        .pipelineStatisticsQuery                  = false,
> > diff --git a/src/intel/vulkan/anv_formats.c
> > b/src/intel/vulkan/anv_formats.c
> > index e2c9cd2..a920ab4 100644
> > --- a/src/intel/vulkan/anv_formats.c
> > +++ b/src/intel/vulkan/anv_formats.c
> > @@ -196,34 +196,34 @@ static const struct anv_format anv_formats[] = {
> >     fmt(VK_FORMAT_EAC_R11_SNORM_BLOCK,     ISL_FORMAT_EAC_SIGNED_R11),
> >     fmt(VK_FORMAT_EAC_R11G11_UNORM_BLOCK,  ISL_FORMAT_EAC_RG11),
> >     fmt(VK_FORMAT_EAC_R11G11_SNORM_BLOCK,  ISL_FORMAT_EAC_SIGNED_RG11),
> > -   fmt(VK_FORMAT_ASTC_4x4_SRGB_BLOCK,     ISL_FORMAT_UNSUPPORTED),
> > -   fmt(VK_FORMAT_ASTC_5x4_SRGB_BLOCK,     ISL_FORMAT_UNSUPPORTED),
> > -   fmt(VK_FORMAT_ASTC_5x5_SRGB_BLOCK,     ISL_FORMAT_UNSUPPORTED),
> > -   fmt(VK_FORMAT_ASTC_6x5_SRGB_BLOCK,     ISL_FORMAT_UNSUPPORTED),
> > -   fmt(VK_FORMAT_ASTC_6x6_SRGB_BLOCK,     ISL_FORMAT_UNSUPPORTED),
> > -   fmt(VK_FORMAT_ASTC_8x5_SRGB_BLOCK,     ISL_FORMAT_UNSUPPORTED),
> > -   fmt(VK_FORMAT_ASTC_8x6_SRGB_BLOCK,     ISL_FORMAT_UNSUPPORTED),
> > -   fmt(VK_FORMAT_ASTC_8x8_SRGB_BLOCK,     ISL_FORMAT_UNSUPPORTED),
> > -   fmt(VK_FORMAT_ASTC_10x5_SRGB_BLOCK,    ISL_FORMAT_UNSUPPORTED),
> > -   fmt(VK_FORMAT_ASTC_10x6_SRGB_BLOCK,    ISL_FORMAT_UNSUPPORTED),
> > -   fmt(VK_FORMAT_ASTC_10x8_SRGB_BLOCK,    ISL_FORMAT_UNSUPPORTED),
> > -   fmt(VK_FORMAT_ASTC_10x10_SRGB_BLOCK,   ISL_FORMAT_UNSUPPORTED),
> > -   fmt(VK_FORMAT_ASTC_12x10_SRGB_BLOCK,   ISL_FORMAT_UNSUPPORTED),
> > -   fmt(VK_FORMAT_ASTC_12x12_SRGB_BLOCK,   ISL_FORMAT_UNSUPPORTED),
> > -   fmt(VK_FORMAT_ASTC_4x4_UNORM_BLOCK,    ISL_FORMAT_UNSUPPORTED),
> > -   fmt(VK_FORMAT_ASTC_5x4_UNORM_BLOCK,    ISL_FORMAT_UNSUPPORTED),
> > -   fmt(VK_FORMAT_ASTC_5x5_UNORM_BLOCK,    ISL_FORMAT_UNSUPPORTED),
> > -   fmt(VK_FORMAT_ASTC_6x5_UNORM_BLOCK,    ISL_FORMAT_UNSUPPORTED),
> > -   fmt(VK_FORMAT_ASTC_6x6_UNORM_BLOCK,    ISL_FORMAT_UNSUPPORTED),
> > -   fmt(VK_FORMAT_ASTC_8x5_UNORM_BLOCK,    ISL_FORMAT_UNSUPPORTED),
> > -   fmt(VK_FORMAT_ASTC_8x6_UNORM_BLOCK,    ISL_FORMAT_UNSUPPORTED),
> > -   fmt(VK_FORMAT_ASTC_8x8_UNORM_BLOCK,    ISL_FORMAT_UNSUPPORTED),
> > -   fmt(VK_FORMAT_ASTC_10x5_UNORM_BLOCK,   ISL_FORMAT_UNSUPPORTED),
> > -   fmt(VK_FORMAT_ASTC_10x6_UNORM_BLOCK,   ISL_FORMAT_UNSUPPORTED),
> > -   fmt(VK_FORMAT_ASTC_10x8_UNORM_BLOCK,   ISL_FORMAT_UNSUPPORTED),
> > -   fmt(VK_FORMAT_ASTC_10x10_UNORM_BLOCK,  ISL_FORMAT_UNSUPPORTED),
> > -   fmt(VK_FORMAT_ASTC_12x10_UNORM_BLOCK,  ISL_FORMAT_UNSUPPORTED),
> > -   fmt(VK_FORMAT_ASTC_12x12_UNORM_BLOCK,  ISL_FORMAT_UNSUPPORTED),
> > +   fmt(VK_FORMAT_ASTC_4x4_SRGB_BLOCK,
> >  ISL_FORMAT_ASTC_LDR_2D_4X4_U8SRGB),
> > +   fmt(VK_FORMAT_ASTC_5x4_SRGB_BLOCK,
> >  ISL_FORMAT_ASTC_LDR_2D_5X4_U8SRGB),
> > +   fmt(VK_FORMAT_ASTC_5x5_SRGB_BLOCK,
> >  ISL_FORMAT_ASTC_LDR_2D_5X5_U8SRGB),
> > +   fmt(VK_FORMAT_ASTC_6x5_SRGB_BLOCK,
> >  ISL_FORMAT_ASTC_LDR_2D_6X5_U8SRGB),
> > +   fmt(VK_FORMAT_ASTC_6x6_SRGB_BLOCK,
> >  ISL_FORMAT_ASTC_LDR_2D_6X6_U8SRGB),
> > +   fmt(VK_FORMAT_ASTC_8x5_SRGB_BLOCK,
> >  ISL_FORMAT_ASTC_LDR_2D_8X5_U8SRGB),
> > +   fmt(VK_FORMAT_ASTC_8x6_SRGB_BLOCK,
> >  ISL_FORMAT_ASTC_LDR_2D_8X6_U8SRGB),
> > +   fmt(VK_FORMAT_ASTC_8x8_SRGB_BLOCK,
> >  ISL_FORMAT_ASTC_LDR_2D_8X8_U8SRGB),
> > +   fmt(VK_FORMAT_ASTC_10x5_SRGB_BLOCK,
> > ISL_FORMAT_ASTC_LDR_2D_10X5_U8SRGB),
> > +   fmt(VK_FORMAT_ASTC_10x6_SRGB_BLOCK,
> > ISL_FORMAT_ASTC_LDR_2D_10X6_U8SRGB),
> > +   fmt(VK_FORMAT_ASTC_10x8_SRGB_BLOCK,
> > ISL_FORMAT_ASTC_LDR_2D_10X8_U8SRGB),
> > +   fmt(VK_FORMAT_ASTC_10x10_SRGB_BLOCK,
> >  ISL_FORMAT_ASTC_LDR_2D_10X10_U8SRGB),
> > +   fmt(VK_FORMAT_ASTC_12x10_SRGB_BLOCK,
> >  ISL_FORMAT_ASTC_LDR_2D_12X10_U8SRGB),
> > +   fmt(VK_FORMAT_ASTC_12x12_SRGB_BLOCK,
> >  ISL_FORMAT_ASTC_LDR_2D_12X12_U8SRGB),
> > +   fmt(VK_FORMAT_ASTC_4x4_UNORM_BLOCK,
> > ISL_FORMAT_ASTC_LDR_2D_4X4_FLT16),
> > +   fmt(VK_FORMAT_ASTC_5x4_UNORM_BLOCK,
> > ISL_FORMAT_ASTC_LDR_2D_5X4_FLT16),
> > +   fmt(VK_FORMAT_ASTC_5x5_UNORM_BLOCK,
> > ISL_FORMAT_ASTC_LDR_2D_5X5_FLT16),
> > +   fmt(VK_FORMAT_ASTC_6x5_UNORM_BLOCK,
> > ISL_FORMAT_ASTC_LDR_2D_6X5_FLT16),
> > +   fmt(VK_FORMAT_ASTC_6x6_UNORM_BLOCK,
> > ISL_FORMAT_ASTC_LDR_2D_6X6_FLT16),
> > +   fmt(VK_FORMAT_ASTC_8x5_UNORM_BLOCK,
> > ISL_FORMAT_ASTC_LDR_2D_8X5_FLT16),
> > +   fmt(VK_FORMAT_ASTC_8x6_UNORM_BLOCK,
> > ISL_FORMAT_ASTC_LDR_2D_8X6_FLT16),
> > +   fmt(VK_FORMAT_ASTC_8x8_UNORM_BLOCK,
> > ISL_FORMAT_ASTC_LDR_2D_8X8_FLT16),
> > +   fmt(VK_FORMAT_ASTC_10x5_UNORM_BLOCK,
> >  ISL_FORMAT_ASTC_LDR_2D_10X5_FLT16),
> > +   fmt(VK_FORMAT_ASTC_10x6_UNORM_BLOCK,
> >  ISL_FORMAT_ASTC_LDR_2D_10X6_FLT16),
> > +   fmt(VK_FORMAT_ASTC_10x8_UNORM_BLOCK,
> >  ISL_FORMAT_ASTC_LDR_2D_10X8_FLT16),
> > +   fmt(VK_FORMAT_ASTC_10x10_UNORM_BLOCK,
> > ISL_FORMAT_ASTC_LDR_2D_10X10_FLT16),
> > +   fmt(VK_FORMAT_ASTC_12x10_UNORM_BLOCK,
> > ISL_FORMAT_ASTC_LDR_2D_12X10_FLT16),
> > +   fmt(VK_FORMAT_ASTC_12x12_UNORM_BLOCK,
> > ISL_FORMAT_ASTC_LDR_2D_12X12_FLT16),
> >     fmt(VK_FORMAT_B8G8R8_UNORM,            ISL_FORMAT_UNSUPPORTED),
> >     fmt(VK_FORMAT_B8G8R8_SNORM,            ISL_FORMAT_UNSUPPORTED),
> >     fmt(VK_FORMAT_B8G8R8_USCALED,          ISL_FORMAT_UNSUPPORTED),
> > --
> > 2.8.2
> >
> >


More information about the mesa-dev mailing list