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

Author: Ilia Mirkin <[email protected]>
Date:   Sat Nov 29 02:14:35 2014 -0500

freedreno/a3xx: add missing integer formats and enable rendering

The mesa state tracker doesn't fall back on similar integer formats, so
they must all be provided. Remove the restriction against integer color
rendering.

Signed-off-by: Ilia Mirkin <[email protected]>

---

 src/gallium/drivers/freedreno/a3xx/fd3_format.c |   33 ++++++++++++++++++++---
 1 file changed, 30 insertions(+), 3 deletions(-)

diff --git a/src/gallium/drivers/freedreno/a3xx/fd3_format.c 
b/src/gallium/drivers/freedreno/a3xx/fd3_format.c
index 59f5a44..9235a53 100644
--- a/src/gallium/drivers/freedreno/a3xx/fd3_format.c
+++ b/src/gallium/drivers/freedreno/a3xx/fd3_format.c
@@ -84,6 +84,13 @@ static struct fd3_format formats[PIPE_FORMAT_COUNT] = {
        _T(L8_UNORM,   8_UNORM, R8_UNORM, WZYX),
        _T(I8_UNORM,   8_UNORM, NONE,     WZYX),
 
+       _T(A8_UINT,    8_UINT,  NONE,     WZYX),
+       _T(A8_SINT,    8_SINT,  NONE,     WZYX),
+       _T(L8_UINT,    8_UINT,  NONE,     WZYX),
+       _T(L8_SINT,    8_SINT,  NONE,     WZYX),
+       _T(I8_UINT,    8_UINT,  NONE,     WZYX),
+       _T(I8_SINT,    8_SINT,  NONE,     WZYX),
+
        /* 16-bit */
        VT(R16_UNORM,   16_UNORM, NONE,     WZYX),
        VT(R16_SNORM,   16_SNORM, NONE,     WZYX),
@@ -93,6 +100,13 @@ static struct fd3_format formats[PIPE_FORMAT_COUNT] = {
        V_(R16_SSCALED, 16_UINT,  NONE,     WZYX),
        VT(R16_FLOAT,   16_FLOAT, NONE,     WZYX),
 
+       _T(A16_UINT,    16_UINT,  NONE,     WZYX),
+       _T(A16_SINT,    16_SINT,  NONE,     WZYX),
+       _T(L16_UINT,    16_UINT,  NONE,     WZYX),
+       _T(L16_SINT,    16_SINT,  NONE,     WZYX),
+       _T(I16_UINT,    16_UINT,  NONE,     WZYX),
+       _T(I16_SINT,    16_SINT,  NONE,     WZYX),
+
        VT(R8G8_UNORM,   8_8_UNORM, R8G8_UNORM, WZYX),
        VT(R8G8_SNORM,   8_8_SNORM, R8G8_SNORM, WZYX),
        VT(R8G8_UINT,    8_8_UINT,  NONE,       WZYX),
@@ -100,6 +114,9 @@ static struct fd3_format formats[PIPE_FORMAT_COUNT] = {
        V_(R8G8_USCALED, 8_8_UINT,  NONE,       WZYX),
        V_(R8G8_SSCALED, 8_8_SINT,  NONE,       WZYX),
 
+       _T(L8A8_UINT,    8_8_UINT,  NONE,       WZYX),
+       _T(L8A8_SINT,    8_8_SINT,  NONE,       WZYX),
+
        _T(Z16_UNORM,      Z16_UNORM,     R8G8_UNORM,     WZYX),
        /*_T(B5G6R5_UNORM,   5_6_5_UNORM,   R5G6B5_UNORM,   WXYZ),*/
        _T(B5G5R5A1_UNORM, 5_5_5_1_UNORM, R5G5B5A1_UNORM, WXYZ),
@@ -122,6 +139,13 @@ static struct fd3_format formats[PIPE_FORMAT_COUNT] = {
        VT(R32_FLOAT,   32_FLOAT, NONE,     WZYX),
        V_(R32_FIXED,   32_FIXED, NONE,     WZYX),
 
+       _T(A32_UINT,    32_UINT,  NONE,     WZYX),
+       _T(A32_SINT,    32_SINT,  NONE,     WZYX),
+       _T(L32_UINT,    32_UINT,  NONE,     WZYX),
+       _T(L32_SINT,    32_SINT,  NONE,     WZYX),
+       _T(I32_UINT,    32_UINT,  NONE,     WZYX),
+       _T(I32_SINT,    32_SINT,  NONE,     WZYX),
+
        VT(R16G16_UNORM,   16_16_UNORM, NONE,        WZYX),
        VT(R16G16_SNORM,   16_16_SNORM, NONE,        WZYX),
        VT(R16G16_UINT,    16_16_UINT,  R16G16_UINT, WZYX),
@@ -130,6 +154,9 @@ static struct fd3_format formats[PIPE_FORMAT_COUNT] = {
        V_(R16G16_SSCALED, 16_16_SINT,  NONE,        WZYX),
        VT(R16G16_FLOAT,   16_16_FLOAT, NONE,        WZYX),
 
+       _T(L16A16_UINT,    16_16_UINT,  NONE,        WZYX),
+       _T(L16A16_SINT,    16_16_SINT,  NONE,        WZYX),
+
        VT(R8G8B8A8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, WZYX),
        _T(R8G8B8X8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, WZYX),
        _T(R8G8B8A8_SRGB,    8_8_8_8_UNORM, NONE,           WZYX),
@@ -196,6 +223,9 @@ static struct fd3_format formats[PIPE_FORMAT_COUNT] = {
        VT(R32G32_FLOAT,   32_32_FLOAT, NONE,        WZYX),
        V_(R32G32_FIXED,   32_32_FIXED, NONE,        WZYX),
 
+       _T(L32A32_UINT,    32_32_UINT,  NONE,        WZYX),
+       _T(L32A32_SINT,    32_32_SINT,  NONE,        WZYX),
+
        /* 96-bit */
        V_(R32G32B32_UINT,    32_32_32_UINT,  NONE, WZYX),
        V_(R32G32B32_SINT,    32_32_32_SINT,  NONE, WZYX),
@@ -237,9 +267,6 @@ fd3_pipe2color(enum pipe_format format)
 {
        if (!formats[format].present)
                return ~0;
-       /* Integer formats don't render properly yet */
-       if (util_format_is_pure_integer(format))
-               return ~0;
        return formats[format].rb;
 }
 

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to