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>
This commit is contained in:
Dave Airlie
2010-04-27 21:06:44 +10:00
parent f855e16afa
commit 42ebe3dfd9
5 changed files with 63 additions and 2 deletions

View File

@@ -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;