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

Author: Ben Skeggs <[email protected]>
Date:   Mon Oct  5 13:41:33 2009 +1000

nv50: support PIPE_FORMAT_X8R8G8B8_UNORM

Signed-off-by: Ben Skeggs <[email protected]>

---

 src/gallium/drivers/nv50/nv50_screen.c         |    2 ++
 src/gallium/drivers/nv50/nv50_state_validate.c |    3 +++
 src/gallium/drivers/nv50/nv50_tex.c            |    7 +++++++
 3 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/src/gallium/drivers/nv50/nv50_screen.c 
b/src/gallium/drivers/nv50/nv50_screen.c
index 3b08e1b..dd7baec 100644
--- a/src/gallium/drivers/nv50/nv50_screen.c
+++ b/src/gallium/drivers/nv50/nv50_screen.c
@@ -35,6 +35,7 @@ nv50_screen_is_format_supported(struct pipe_screen *pscreen,
 {
        if (tex_usage & PIPE_TEXTURE_USAGE_RENDER_TARGET) {
                switch (format) {
+               case PIPE_FORMAT_X8R8G8B8_UNORM:
                case PIPE_FORMAT_A8R8G8B8_UNORM:
                case PIPE_FORMAT_R5G6B5_UNORM:
                        return TRUE;
@@ -55,6 +56,7 @@ nv50_screen_is_format_supported(struct pipe_screen *pscreen,
        } else {
                switch (format) {
                case PIPE_FORMAT_A8R8G8B8_UNORM:
+               case PIPE_FORMAT_X8R8G8B8_UNORM:
                case PIPE_FORMAT_A1R5G5B5_UNORM:
                case PIPE_FORMAT_A4R4G4B4_UNORM:
                case PIPE_FORMAT_R5G6B5_UNORM:
diff --git a/src/gallium/drivers/nv50/nv50_state_validate.c 
b/src/gallium/drivers/nv50/nv50_state_validate.c
index 4ed7697..867b1ea 100644
--- a/src/gallium/drivers/nv50/nv50_state_validate.c
+++ b/src/gallium/drivers/nv50/nv50_state_validate.c
@@ -57,6 +57,9 @@ nv50_state_validate_fb(struct nv50_context *nv50)
                case PIPE_FORMAT_A8R8G8B8_UNORM:
                        so_data(so, NV50TCL_RT_FORMAT_A8R8G8B8_UNORM);
                        break;
+               case PIPE_FORMAT_X8R8G8B8_UNORM:
+                       so_data(so, NV50TCL_RT_FORMAT_X8R8G8B8_UNORM);
+                       break;
                case PIPE_FORMAT_R5G6B5_UNORM:
                        so_data(so, NV50TCL_RT_FORMAT_R5G6B5_UNORM);
                        break;
diff --git a/src/gallium/drivers/nv50/nv50_tex.c 
b/src/gallium/drivers/nv50/nv50_tex.c
index 033cb50..21825a0 100644
--- a/src/gallium/drivers/nv50/nv50_tex.c
+++ b/src/gallium/drivers/nv50/nv50_tex.c
@@ -37,6 +37,13 @@ nv50_tex_construct(struct nv50_context *nv50, struct 
nouveau_stateobj *so,
                            NV50TIC_0_0_MAPB_C0 | NV50TIC_0_0_TYPEB_UNORM |
                            NV50TIC_0_0_FMT_8_8_8_8);
                break;
+       case PIPE_FORMAT_X8R8G8B8_UNORM:
+               so_data(so, NV50TIC_0_0_MAPA_ONE | NV50TIC_0_0_TYPEA_UNORM |
+                           NV50TIC_0_0_MAPR_C2 | NV50TIC_0_0_TYPER_UNORM |
+                           NV50TIC_0_0_MAPG_C1 | NV50TIC_0_0_TYPEG_UNORM |
+                           NV50TIC_0_0_MAPB_C0 | NV50TIC_0_0_TYPEB_UNORM |
+                           NV50TIC_0_0_FMT_8_8_8_8);
+               break;
        case PIPE_FORMAT_A1R5G5B5_UNORM:
                so_data(so, NV50TIC_0_0_MAPA_C3 | NV50TIC_0_0_TYPEA_UNORM |
                            NV50TIC_0_0_MAPR_C2 | NV50TIC_0_0_TYPER_UNORM |

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

Reply via email to