Mesa (master): ilo: add some missing formats

Chia-I Wu olv at kemper.freedesktop.org
Wed Jul 16 07:19:12 UTC 2014


Module: Mesa
Branch: master
Commit: 1661f7559b0c482f9365a99fe68ff33a8dc650c4
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1661f7559b0c482f9365a99fe68ff33a8dc650c4

Author: Chia-I Wu <olvaffe at gmail.com>
Date:   Wed Jul 16 13:51:49 2014 +0800

ilo: add some missing formats

Map more pipe formats to hardware formats.  Enable more VB formats on Haswell.

---

 src/gallium/drivers/ilo/ilo_format.c |   43 +++++++++++++++++-----------------
 1 file changed, 22 insertions(+), 21 deletions(-)

diff --git a/src/gallium/drivers/ilo/ilo_format.c b/src/gallium/drivers/ilo/ilo_format.c
index 4f3c07c..953be8d 100644
--- a/src/gallium/drivers/ilo/ilo_format.c
+++ b/src/gallium/drivers/ilo/ilo_format.c
@@ -78,7 +78,7 @@ static const struct ilo_format_info ilo_format_table[] = {
    FI_ENTRY(  1,   5,   X,   X,   X,   X,   X,   X,   X, R32G32B32X32_FLOAT),
    FI_ENTRY(  X,   X,   X,   X,   X,   X,   1,   X,   X, R32G32B32A32_SSCALED),
    FI_ENTRY(  X,   X,   X,   X,   X,   X,   1,   X,   X, R32G32B32A32_USCALED),
-   FI_ENTRY(  X,   X,   X,   X,   X,   X,   X,   X,   X, R32G32B32A32_SFIXED),
+   FI_ENTRY(  X,   X,   X,   X,   X,   X, 7.5,   X,   X, R32G32B32A32_SFIXED),
    FI_ENTRY(  X,   X,   X,   X,   X,   X,   X,   X,   X, R64G64_PASSTHRU),
    FI_ENTRY(  1,   5,   X,   X,   X,   X,   1,   1,   X, R32G32B32_FLOAT),
    FI_ENTRY(  1,   X,   X,   X,   X,   X,   1,   1,   X, R32G32B32_SINT),
@@ -87,7 +87,7 @@ static const struct ilo_format_info ilo_format_table[] = {
    FI_ENTRY(  X,   X,   X,   X,   X,   X,   1,   X,   X, R32G32B32_SNORM),
    FI_ENTRY(  X,   X,   X,   X,   X,   X,   1,   X,   X, R32G32B32_SSCALED),
    FI_ENTRY(  X,   X,   X,   X,   X,   X,   1,   X,   X, R32G32B32_USCALED),
-   FI_ENTRY(  X,   X,   X,   X,   X,   X,   X,   X,   X, R32G32B32_SFIXED),
+   FI_ENTRY(  X,   X,   X,   X,   X,   X, 7.5,   X,   X, R32G32B32_SFIXED),
    FI_ENTRY(  1,   1,   X,   X,   1, 4.5,   1,   X,   6, R16G16B16A16_UNORM),
    FI_ENTRY(  1,   1,   X,   X,   1,   6,   1,   X,   X, R16G16B16A16_SNORM),
    FI_ENTRY(  1,   X,   X,   X,   1,   X,   1,   X,   X, R16G16B16A16_SINT),
@@ -111,7 +111,7 @@ static const struct ilo_format_info ilo_format_table[] = {
    FI_ENTRY(  X,   X,   X,   X,   X,   X,   1,   X,   X, R16G16B16A16_USCALED),
    FI_ENTRY(  X,   X,   X,   X,   X,   X,   1,   X,   X, R32G32_SSCALED),
    FI_ENTRY(  X,   X,   X,   X,   X,   X,   1,   X,   X, R32G32_USCALED),
-   FI_ENTRY(  X,   X,   X,   X,   X,   X,   X,   X,   X, R32G32_SFIXED),
+   FI_ENTRY(  X,   X,   X,   X,   X,   X, 7.5,   X,   X, R32G32_SFIXED),
    FI_ENTRY(  X,   X,   X,   X,   X,   X,   X,   X,   X, R64_PASSTHRU),
    FI_ENTRY(  1,   1,   X,   1,   1,   1,   1,   X,   6, B8G8R8A8_UNORM),
    FI_ENTRY(  1,   1,   X,   X,   1,   1,   X,   X,   X, B8G8R8A8_UNORM_SRGB),
@@ -129,7 +129,7 @@ static const struct ilo_format_info ilo_format_table[] = {
    FI_ENTRY(  1,   X,   X,   X,   1,   X,   1,   X,   X, R16G16_SINT),
    FI_ENTRY(  1,   X,   X,   X,   1,   X,   1,   X,   X, R16G16_UINT),
    FI_ENTRY(  1,   1,   X,   X,   1,   1,   1,   X,   X, R16G16_FLOAT),
-   FI_ENTRY(  1,   1,   X,   X,   1,   1,   X,   X,   6, B10G10R10A2_UNORM),
+   FI_ENTRY(  1,   1,   X,   X,   1,   1, 7.5,   X,   6, B10G10R10A2_UNORM),
    FI_ENTRY(  1,   1,   X,   X,   1,   1,   X,   X,   6, B10G10R10A2_UNORM_SRGB),
    FI_ENTRY(  1,   1,   X,   X,   1,   1,   1,   X,   X, R11G11B10_FLOAT),
    FI_ENTRY(  1,   X,   X,   X,   1,   X,   1,   1,   X, R32_SINT),
@@ -269,26 +269,26 @@ static const struct ilo_format_info ilo_format_table[] = {
    FI_ENTRY(  X,   X,   X,   X,   X,   X,   X,   X,   X, EAC_SIGNED_R11),
    FI_ENTRY(  X,   X,   X,   X,   X,   X,   X,   X,   X, EAC_SIGNED_RG11),
    FI_ENTRY(  X,   X,   X,   X,   X,   X,   X,   X,   X, ETC2_SRGB8),
-   FI_ENTRY(  X,   X,   X,   X,   X,   X,   X,   X,   X, R16G16B16_UINT),
-   FI_ENTRY(  X,   X,   X,   X,   X,   X,   X,   X,   X, R16G16B16_SINT),
-   FI_ENTRY(  X,   X,   X,   X,   X,   X,   X,   X,   X, R32_SFIXED),
-   FI_ENTRY(  X,   X,   X,   X,   X,   X,   X,   X,   X, R10G10B10A2_SNORM),
-   FI_ENTRY(  X,   X,   X,   X,   X,   X,   X,   X,   X, R10G10B10A2_USCALED),
-   FI_ENTRY(  X,   X,   X,   X,   X,   X,   X,   X,   X, R10G10B10A2_SSCALED),
-   FI_ENTRY(  X,   X,   X,   X,   X,   X,   X,   X,   X, R10G10B10A2_SINT),
-   FI_ENTRY(  X,   X,   X,   X,   X,   X,   X,   X,   X, B10G10R10A2_SNORM),
-   FI_ENTRY(  X,   X,   X,   X,   X,   X,   X,   X,   X, B10G10R10A2_USCALED),
-   FI_ENTRY(  X,   X,   X,   X,   X,   X,   X,   X,   X, B10G10R10A2_SSCALED),
-   FI_ENTRY(  X,   X,   X,   X,   X,   X,   X,   X,   X, B10G10R10A2_UINT),
-   FI_ENTRY(  X,   X,   X,   X,   X,   X,   X,   X,   X, B10G10R10A2_SINT),
+   FI_ENTRY(  X,   X,   X,   X,   X,   X, 7.5,   X,   X, R16G16B16_UINT),
+   FI_ENTRY(  X,   X,   X,   X,   X,   X, 7.5,   X,   X, R16G16B16_SINT),
+   FI_ENTRY(  X,   X,   X,   X,   X,   X, 7.5,   X,   X, R32_SFIXED),
+   FI_ENTRY(  X,   X,   X,   X,   X,   X, 7.5,   X,   X, R10G10B10A2_SNORM),
+   FI_ENTRY(  X,   X,   X,   X,   X,   X, 7.5,   X,   X, R10G10B10A2_USCALED),
+   FI_ENTRY(  X,   X,   X,   X,   X,   X, 7.5,   X,   X, R10G10B10A2_SSCALED),
+   FI_ENTRY(  X,   X,   X,   X,   X,   X, 7.5,   X,   X, R10G10B10A2_SINT),
+   FI_ENTRY(  X,   X,   X,   X,   X,   X, 7.5,   X,   X, B10G10R10A2_SNORM),
+   FI_ENTRY(  X,   X,   X,   X,   X,   X, 7.5,   X,   X, B10G10R10A2_USCALED),
+   FI_ENTRY(  X,   X,   X,   X,   X,   X, 7.5,   X,   X, B10G10R10A2_SSCALED),
+   FI_ENTRY(  X,   X,   X,   X,   X,   X, 7.5,   X,   X, B10G10R10A2_UINT),
+   FI_ENTRY(  X,   X,   X,   X,   X,   X, 7.5,   X,   X, B10G10R10A2_SINT),
    FI_ENTRY(  X,   X,   X,   X,   X,   X,   X,   X,   X, R64G64B64A64_PASSTHRU),
    FI_ENTRY(  X,   X,   X,   X,   X,   X,   X,   X,   X, R64G64B64_PASSTHRU),
    FI_ENTRY(  X,   X,   X,   X,   X,   X,   X,   X,   X, ETC2_RGB8_PTA),
    FI_ENTRY(  X,   X,   X,   X,   X,   X,   X,   X,   X, ETC2_SRGB8_PTA),
    FI_ENTRY(  X,   X,   X,   X,   X,   X,   X,   X,   X, ETC2_EAC_RGBA8),
    FI_ENTRY(  X,   X,   X,   X,   X,   X,   X,   X,   X, ETC2_EAC_SRGB8_A8),
-   FI_ENTRY(  X,   X,   X,   X,   X,   X,   X,   X,   X, R8G8B8_UINT),
-   FI_ENTRY(  X,   X,   X,   X,   X,   X,   X,   X,   X, R8G8B8_SINT),
+   FI_ENTRY(  X,   X,   X,   X,   X,   X, 7.5,   X,   X, R8G8B8_UINT),
+   FI_ENTRY(  X,   X,   X,   X,   X,   X, 7.5,   X,   X, R8G8B8_SINT),
    FI_ENTRY(  X,   X,   X,   X,   X,   X,   X,   X,   X, RAW),
 };
 
@@ -409,10 +409,10 @@ ilo_translate_color_format(enum pipe_format format)
       [PIPE_FORMAT_A8B8G8R8_SRGB]         = 0,
       [PIPE_FORMAT_X8B8G8R8_SRGB]         = 0,
       [PIPE_FORMAT_B8G8R8A8_SRGB]         = GEN6_FORMAT_B8G8R8A8_UNORM_SRGB,
-      [PIPE_FORMAT_B8G8R8X8_SRGB]         = 0,
+      [PIPE_FORMAT_B8G8R8X8_SRGB]         = GEN6_FORMAT_B8G8R8X8_UNORM_SRGB,
       [PIPE_FORMAT_A8R8G8B8_SRGB]         = 0,
       [PIPE_FORMAT_X8R8G8B8_SRGB]         = 0,
-      [PIPE_FORMAT_R8G8B8A8_SRGB]         = 0,
+      [PIPE_FORMAT_R8G8B8A8_SRGB]         = GEN6_FORMAT_R8G8B8A8_UNORM_SRGB,
       [PIPE_FORMAT_DXT1_RGB]              = GEN6_FORMAT_DXT1_RGB,
       [PIPE_FORMAT_DXT1_RGBA]             = GEN6_FORMAT_BC1_UNORM,
       [PIPE_FORMAT_DXT3_RGBA]             = GEN6_FORMAT_BC2_UNORM,
@@ -435,7 +435,7 @@ ilo_translate_color_format(enum pipe_format format)
       [PIPE_FORMAT_R11G11B10_FLOAT]       = GEN6_FORMAT_R11G11B10_FLOAT,
       [PIPE_FORMAT_R9G9B9E5_FLOAT]        = GEN6_FORMAT_R9G9B9E5_SHAREDEXP,
       [PIPE_FORMAT_Z32_FLOAT_S8X24_UINT]  = 0,
-      [PIPE_FORMAT_R1_UNORM]              = 0,
+      [PIPE_FORMAT_R1_UNORM]              = GEN6_FORMAT_R1_UNORM,
       [PIPE_FORMAT_R10G10B10X2_USCALED]   = GEN6_FORMAT_R10G10B10X2_USCALED,
       [PIPE_FORMAT_R10G10B10X2_SNORM]     = 0,
       [PIPE_FORMAT_L4A4_UNORM]            = 0,
@@ -562,6 +562,7 @@ ilo_translate_color_format(enum pipe_format format)
       [PIPE_FORMAT_R32A32_UINT]           = 0,
       [PIPE_FORMAT_R32A32_SINT]           = 0,
       [PIPE_FORMAT_R10G10B10A2_UINT]      = GEN6_FORMAT_R10G10B10A2_UINT,
+      [PIPE_FORMAT_B5G6R5_SRGB]           = GEN6_FORMAT_B5G6R5_UNORM_SRGB,
    };
    int sfmt = format_mapping[format];
 




More information about the mesa-commit mailing list