aboutsummaryrefslogtreecommitdiff
path: root/mesalib/src/mesa/state_tracker/st_extensions.c
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2013-01-31 08:14:38 +0100
committermarha <marha@users.sourceforge.net>2013-01-31 08:14:38 +0100
commit3dc034dda1a451ed7dc48cfb10caba11e66b4132 (patch)
treeac2f7522e5b3287afdb5dcd5af6d9c6bb9a3d079 /mesalib/src/mesa/state_tracker/st_extensions.c
parent4e7e0bd9194a033f05179fb64126c56fc6f072b5 (diff)
parent436f8246cd5a377596f6e42e6562da186ef8df48 (diff)
downloadvcxsrv-3dc034dda1a451ed7dc48cfb10caba11e66b4132.tar.gz
vcxsrv-3dc034dda1a451ed7dc48cfb10caba11e66b4132.tar.bz2
vcxsrv-3dc034dda1a451ed7dc48cfb10caba11e66b4132.zip
Merge remote-tracking branch 'origin/released'
* origin/released: libxtrans mesa pixman xkeyboard-config git update 31 jan 2013
Diffstat (limited to 'mesalib/src/mesa/state_tracker/st_extensions.c')
-rw-r--r--mesalib/src/mesa/state_tracker/st_extensions.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/mesalib/src/mesa/state_tracker/st_extensions.c b/mesalib/src/mesa/state_tracker/st_extensions.c
index af54cf7c8..214588f1f 100644
--- a/mesalib/src/mesa/state_tracker/st_extensions.c
+++ b/mesalib/src/mesa/state_tracker/st_extensions.c
@@ -534,7 +534,6 @@ void st_init_extensions(struct st_context *st)
ctx->Extensions.EXT_blend_minmax = GL_TRUE;
ctx->Extensions.EXT_framebuffer_blit = GL_TRUE;
ctx->Extensions.EXT_framebuffer_object = GL_TRUE;
- ctx->Extensions.EXT_framebuffer_multisample = GL_TRUE;
ctx->Extensions.EXT_fog_coord = GL_TRUE;
ctx->Extensions.EXT_gpu_program_parameters = GL_TRUE;
ctx->Extensions.EXT_pixel_buffer_object = GL_TRUE;
@@ -653,6 +652,13 @@ void st_init_extensions(struct st_context *st)
break;
}
}
+ if (ctx->Const.MaxSamples == 1) {
+ /* one sample doesn't really make sense */
+ ctx->Const.MaxSamples = 0;
+ }
+ else if (ctx->Const.MaxSamples >= 2) {
+ ctx->Extensions.EXT_framebuffer_multisample = GL_TRUE;
+ }
if (ctx->Const.MaxDualSourceDrawBuffers > 0)
ctx->Extensions.ARB_blend_func_extended = GL_TRUE;
@@ -679,6 +685,13 @@ void st_init_extensions(struct st_context *st)
}
if (screen->get_param(screen, PIPE_CAP_TEXTURE_BUFFER_OBJECTS)) {
ctx->Extensions.ARB_texture_buffer_object = GL_TRUE;
+
+ ctx->Const.TextureBufferOffsetAlignment =
+ screen->get_param(screen, PIPE_CAP_TEXTURE_BUFFER_OFFSET_ALIGNMENT);
+
+ if (ctx->Const.TextureBufferOffsetAlignment)
+ ctx->Extensions.ARB_texture_buffer_range = GL_TRUE;
+
init_format_extensions(st, tbo_rgb32, Elements(tbo_rgb32),
PIPE_BUFFER, PIPE_BIND_SAMPLER_VIEW);
}