st/mesa: add ARB_texture_rgb10_a2ui support
authorDave Airlie <airlied@redhat.com>
Sun, 27 Nov 2011 16:23:56 +0000 (16:23 +0000)
committerDave Airlie <airlied@redhat.com>
Mon, 28 Nov 2011 09:40:53 +0000 (09:40 +0000)
Add support to the state tracker format and extension enablement code.

Signed-off-by: Dave Airlie <airlied@redhat.com>
src/mesa/state_tracker/st_extensions.c
src/mesa/state_tracker/st_format.c

index 25a6cdc7572b5833932b40fcd9485ca6aacbdeb7..c741d13f48efd9aa2c105f79ae46a2468d198872 100644 (file)
@@ -664,4 +664,10 @@ void st_init_extensions(struct st_context *st)
                                    PIPE_BIND_SAMPLER_VIEW)) {
       ctx->Extensions.ARB_depth_buffer_float = GL_TRUE;
    }
+
+   if (screen->is_format_supported(screen, PIPE_FORMAT_B10G10R10A2_UINT,
+                                   PIPE_TEXTURE_2D, 0,
+                                   PIPE_BIND_SAMPLER_VIEW))
+       ctx->Extensions.ARB_texture_rgb10_a2ui = GL_TRUE;
+
 }
index b11245bebead57a186320e1c745a273e2e5734c2..bc414f442e4d2e96b18f602282d74ffa5c34c888 100644 (file)
@@ -457,7 +457,8 @@ st_mesa_format_to_pipe_format(gl_format mesaFormat)
       return PIPE_FORMAT_R9G9B9E5_FLOAT;
    case MESA_FORMAT_R11_G11_B10_FLOAT:
       return PIPE_FORMAT_R11G11B10_FLOAT;
-
+   case MESA_FORMAT_ARGB2101010_UINT:
+      return PIPE_FORMAT_B10G10R10A2_UINT;
    default:
       assert(0);
       return PIPE_FORMAT_NONE;
@@ -782,6 +783,8 @@ st_pipe_format_to_mesa_format(enum pipe_format format)
    case PIPE_FORMAT_R11G11B10_FLOAT:
       return MESA_FORMAT_R11_G11_B10_FLOAT;
 
+   case PIPE_FORMAT_B10G10R10A2_UINT:
+      return MESA_FORMAT_ARGB2101010_UINT;
    default:
       assert(0);
       return MESA_FORMAT_NONE;
@@ -1471,7 +1474,11 @@ static const struct format_mapping format_map[] = {
    {
       { GL_R11F_G11F_B10F, 0 },
       { PIPE_FORMAT_R11G11B10_FLOAT, 0 }
-   }
+   },
+   {
+      { GL_RGB10_A2UI, 0 },
+      { PIPE_FORMAT_B10G10R10A2_UINT, 0 }
+   },
 };