summaryrefslogtreecommitdiff
path: root/src/mesa/state_tracker/st_extensions.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2010-04-27 21:06:44 +1000
committerDave Airlie <airlied@redhat.com>2010-06-05 16:53:43 +1000
commit42ebe3dfd9b0803913e0d932909ca5872d937c20 (patch)
tree068455a7a71c343f7bfed217d9418d60123fed71 /src/mesa/state_tracker/st_extensions.c
parentf855e16afa086edfc2f03360a27f66c955a6c208 (diff)
mesa/st: add support for EXT_texture_swizzle.
This passes on r300g, the only bit I'm not really sure about is the handling of the sampler_view in st_atom_texture.c, I unreference it there if the swizzle value changes and I also have to create a new set of functions to create a new one since the u_sampler.c ones don't handle swizzle so much. adds r300g + softpipe enables, I think other drivers could pass easily enough. Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'src/mesa/state_tracker/st_extensions.c')
-rw-r--r--src/mesa/state_tracker/st_extensions.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c
index 4093eedde9..2c2e10dead 100644
--- a/src/mesa/state_tracker/st_extensions.c
+++ b/src/mesa/state_tracker/st_extensions.c
@@ -248,6 +248,10 @@ void st_init_extensions(struct st_context *st)
ctx->Extensions.ARB_draw_buffers = GL_TRUE;
}
+ if (screen->get_param(screen, PIPE_CAP_TEXTURE_SWIZZLE) > 0) {
+ ctx->Extensions.EXT_texture_swizzle = GL_TRUE;
+ }
+
if (screen->get_param(screen, PIPE_CAP_GLSL)) {
ctx->Extensions.ARB_fragment_shader = GL_TRUE;
ctx->Extensions.ARB_vertex_shader = GL_TRUE;