summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/softpipe/sp_context.c
diff options
context:
space:
mode:
authorBrian <brian.paul@tungstengraphics.com>2007-11-05 18:04:30 -0700
committerBrian <brian.paul@tungstengraphics.com>2007-11-05 18:04:30 -0700
commitc6499a741c99394e81d1d86ffd066f3d9749875c (patch)
tree8d48d05c9b1e0931d545445230758f1b2853d16f /src/mesa/pipe/softpipe/sp_context.c
parent01e716553001d57462e75aa7d76d05df92da8e87 (diff)
Determine GL extensions/limits by making pipe queries.
The state tracker calls pipe->get_param() to determine the GL limits and which OpenGL extensions are supported. This is an initial implementation that'll probably change...
Diffstat (limited to 'src/mesa/pipe/softpipe/sp_context.c')
-rw-r--r--src/mesa/pipe/softpipe/sp_context.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/mesa/pipe/softpipe/sp_context.c b/src/mesa/pipe/softpipe/sp_context.c
index 46f591e425..effecda87e 100644
--- a/src/mesa/pipe/softpipe/sp_context.c
+++ b/src/mesa/pipe/softpipe/sp_context.c
@@ -277,6 +277,26 @@ static const char *softpipe_get_vendor( struct pipe_context *pipe )
static int softpipe_get_param(struct pipe_context *pipe, int param)
{
switch (param) {
+ case PIPE_CAP_MAX_TEXTURE_IMAGE_UNITS:
+ return 8;
+ case PIPE_CAP_NPOT_TEXTURES:
+ return 1;
+ case PIPE_CAP_TWO_SIDED_STENCIL:
+ return 1;
+ case PIPE_CAP_GLSL:
+ return 1;
+ case PIPE_CAP_S3TC:
+ return 0;
+ case PIPE_CAP_ANISOTROPIC_FILTER:
+ return 0;
+ case PIPE_CAP_POINT_SPRITE:
+ return 1;
+ case PIPE_CAP_MAX_RENDER_TARGETS:
+ return 1;
+ case PIPE_CAP_OCCLUSION_QUERY:
+ return 1;
+ case PIPE_CAP_TEXTURE_SHADOW_MAP:
+ return 1;
default:
return 0;
}