intel/isl: Several UNORM formats support typed writes on gen11+
authorJason Ekstrand <jason.ekstrand@intel.com>
Mon, 7 May 2018 21:44:20 +0000 (14:44 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Thu, 10 May 2018 21:12:55 +0000 (14:12 -0700)
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
Tested-by: Anuj Phogat <anuj.phogat@gmail.com>
src/intel/isl/isl_format.c

index 37d2243a46e4953a54a945c2a45ab8397601e066..52997cf2ebbcc5dce872794259b7241ed5148d88 100644 (file)
@@ -117,8 +117,8 @@ static const struct surface_format_info format_info[] = {
    SF(  x,   x,   x,   x,   x,   x,   Y,   x,   x,   x,   x,   x,   R32G32B32_SSCALED)
    SF(  x,   x,   x,   x,   x,   x,   Y,   x,   x,   x,   x,   x,   R32G32B32_USCALED)
    SF(  x,   x,   x,   x,   x,   x,  75,   x,   x,   x,   x,   x,   R32G32B32_SFIXED)
-   SF(  Y,   Y,   x,   x,   Y,  45,   Y,   x,  60,  70,   x,  90,   R16G16B16A16_UNORM)
-   SF(  Y,   Y,   x,   x,   Y,  60,   Y,   x,   x,  70,   x,  90,   R16G16B16A16_SNORM)
+   SF(  Y,   Y,   x,   x,   Y,  45,   Y,   x,  60,  70, 110,  90,   R16G16B16A16_UNORM)
+   SF(  Y,   Y,   x,   x,   Y,  60,   Y,   x,   x,  70, 110,  90,   R16G16B16A16_SNORM)
    SF(  Y,   x,   x,   x,   Y,   x,   Y,   x,   x,  70,  90,  90,   R16G16B16A16_SINT)
    SF(  Y,   x,   x,   x,   Y,   x,   Y,   x,   x,  70,  75,  90,   R16G16B16A16_UINT)
    SF(  Y,   Y,   x,   x,   Y,   Y,   Y,   x,   x,  70,  90,  90,   R16G16B16A16_FLOAT)
@@ -150,13 +150,13 @@ static const struct surface_format_info format_info[] = {
    SF(  Y,   Y,   x,   x,   x,   x,   x,   x,  60,   x,   x,   x,   R10G10B10A2_UNORM_SRGB)
    SF(  Y,   x,   x,   x,   Y,   x,   Y,   x,   x,  70,   x, 100,   R10G10B10A2_UINT)
    SF(  Y,   Y,   x,   x,   x,   x,   Y,   x,   x,   x,   x,   x,   R10G10B10_SNORM_A2_UNORM)
-   SF(  Y,   Y,   x,   x,   Y,   Y,   Y,   x,  60,  70,   x,  90,   R8G8B8A8_UNORM)
+   SF(  Y,   Y,   x,   x,   Y,   Y,   Y,   x,  60,  70, 110,  90,   R8G8B8A8_UNORM)
    SF(  Y,   Y,   x,   x,   Y,   Y,   x,   x,  60,   x,   x, 100,   R8G8B8A8_UNORM_SRGB)
-   SF(  Y,   Y,   x,   x,   Y,  60,   Y,   x,   x,  70,   x,  90,   R8G8B8A8_SNORM)
+   SF(  Y,   Y,   x,   x,   Y,  60,   Y,   x,   x,  70, 110,  90,   R8G8B8A8_SNORM)
    SF(  Y,   x,   x,   x,   Y,   x,   Y,   x,   x,  70,  90,  90,   R8G8B8A8_SINT)
    SF(  Y,   x,   x,   x,   Y,   x,   Y,   x,   x,  70,  75,  90,   R8G8B8A8_UINT)
-   SF(  Y,   Y,   x,   x,   Y,  45,   Y,   x,   x,  70,   x,  90,   R16G16_UNORM)
-   SF(  Y,   Y,   x,   x,   Y,  60,   Y,   x,   x,  70,   x,  90,   R16G16_SNORM)
+   SF(  Y,   Y,   x,   x,   Y,  45,   Y,   x,   x,  70, 110,  90,   R16G16_UNORM)
+   SF(  Y,   Y,   x,   x,   Y,  60,   Y,   x,   x,  70, 110,  90,   R16G16_SNORM)
    SF(  Y,   x,   x,   x,   Y,   x,   Y,   x,   x,  70,  90,  90,   R16G16_SINT)
    SF(  Y,   x,   x,   x,   Y,   x,   Y,   x,   x,  70,  75,  90,   R16G16_UINT)
    SF(  Y,   Y,   x,   x,   Y,   Y,   Y,   x,   x,  70,  90,  90,   R16G16_FLOAT)
@@ -198,12 +198,12 @@ static const struct surface_format_info format_info[] = {
    SF(  Y,   Y,   x,   x,   Y,   Y,   x,   x,   x,   x,   x,   x,   B5G5R5A1_UNORM_SRGB)
    SF(  Y,   Y,   x,   Y,   Y,   Y,   x,   x,   x,  70,   x,   x,   B4G4R4A4_UNORM)
    SF(  Y,   Y,   x,   x,   Y,   Y,   x,   x,   x,   x,   x,   x,   B4G4R4A4_UNORM_SRGB)
-   SF(  Y,   Y,   x,   x,   Y,   Y,   Y,   x,   x,  70,   x,   x,   R8G8_UNORM)
-   SF(  Y,   Y,   x,   Y,   Y,  60,   Y,   x,   x,  70,   x,   x,   R8G8_SNORM)
+   SF(  Y,   Y,   x,   x,   Y,   Y,   Y,   x,   x,  70, 110,   x,   R8G8_UNORM)
+   SF(  Y,   Y,   x,   Y,   Y,  60,   Y,   x,   x,  70, 110,   x,   R8G8_SNORM)
    SF(  Y,   x,   x,   x,   Y,   x,   Y,   x,   x,  70,  90,   x,   R8G8_SINT)
    SF(  Y,   x,   x,   x,   Y,   x,   Y,   x,   x,  70,  75,   x,   R8G8_UINT)
-   SF(  Y,   Y,   Y,   x,   Y,  45,   Y,   x,  70,  70,   x,   x,   R16_UNORM)
-   SF(  Y,   Y,   x,   x,   Y,  60,   Y,   x,   x,  70,   x,   x,   R16_SNORM)
+   SF(  Y,   Y,   Y,   x,   Y,  45,   Y,   x,  70,  70, 110,   x,   R16_UNORM)
+   SF(  Y,   Y,   x,   x,   Y,  60,   Y,   x,   x,  70, 110,   x,   R16_SNORM)
    SF(  Y,   x,   x,   x,   Y,   x,   Y,   x,   x,  70,  90,   x,   R16_SINT)
    SF(  Y,   x,   x,   x,   Y,   x,   Y,   x,   x,  70,  75,   x,   R16_UINT)
    SF(  Y,   Y,   x,   x,   Y,   Y,   Y,   x,   x,  70,  90,   x,   R16_FLOAT)
@@ -235,11 +235,11 @@ static const struct surface_format_info format_info[] = {
    SF( 80,  80,   x,   x,  90,   x,   x,   x,   x,   x,   x,   x,   A4B4G4R4_UNORM)
    SF( 90,   x,   x,   x,   x,   x,   x,   x,   x,   x,   x,   x,   L8A8_UINT)
    SF( 90,   x,   x,   x,   x,   x,   x,   x,   x,   x,   x,   x,   L8A8_SINT)
-   SF(  Y,   Y,   x,  45,   Y,   Y,   Y,   x,   x,  70,   x,   x,   R8_UNORM)
-   SF(  Y,   Y,   x,   x,   Y,  60,   Y,   x,   x,  70,   x,   x,   R8_SNORM)
+   SF(  Y,   Y,   x,  45,   Y,   Y,   Y,   x,   x,  70, 110,   x,   R8_UNORM)
+   SF(  Y,   Y,   x,   x,   Y,  60,   Y,   x,   x,  70, 110,   x,   R8_SNORM)
    SF(  Y,   x,   x,   x,   Y,   x,   Y,   x,   x,  70,  90,   x,   R8_SINT)
    SF(  Y,   x,   x,   x,   Y,   x,   Y,   x,   x,  70,  75,   x,   R8_UINT)
-   SF(  Y,   Y,   x,   Y,   Y,   Y,   x,   x,   x,  70,   x,   x,   A8_UNORM)
+   SF(  Y,   Y,   x,   Y,   Y,   Y,   x,   x,   x,  70, 110,   x,   A8_UNORM)
    SF(  Y,   Y,   x,   x,   x,   x,   x,   x,   x,   x,   x,   x,   I8_UNORM)
    SF(  Y,   Y,   x,   Y,   x,   x,   x,   x,   x,   x,   x,   x,   L8_UNORM)
    SF(  Y,   Y,   x,   x,   x,   x,   x,   x,   x,   x,   x,   x,   P4A4_UNORM_PALETTE0)