diff options
author | marha <marha@users.sourceforge.net> | 2014-07-04 19:52:56 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2014-07-04 19:52:56 +0200 |
commit | 62ed212e1add98e39c0f7a6e5a8a5726d66f161e (patch) | |
tree | a80c4bf566c76665b3449f13fac7de72c66aa80a /mesalib/src/mesa/state_tracker/st_extensions.c | |
parent | 3095a03ec3cb1f05b49362327d10a767299d7635 (diff) | |
parent | fe03d6aef6338e43593f164b09ae993bcd0ecbdd (diff) | |
download | vcxsrv-62ed212e1add98e39c0f7a6e5a8a5726d66f161e.tar.gz vcxsrv-62ed212e1add98e39c0f7a6e5a8a5726d66f161e.tar.bz2 vcxsrv-62ed212e1add98e39c0f7a6e5a8a5726d66f161e.zip |
Merge remote-tracking branch 'origin/released'
Diffstat (limited to 'mesalib/src/mesa/state_tracker/st_extensions.c')
-rw-r--r-- | mesalib/src/mesa/state_tracker/st_extensions.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/mesalib/src/mesa/state_tracker/st_extensions.c b/mesalib/src/mesa/state_tracker/st_extensions.c index e93804689..4207cb64a 100644 --- a/mesalib/src/mesa/state_tracker/st_extensions.c +++ b/mesalib/src/mesa/state_tracker/st_extensions.c @@ -287,6 +287,11 @@ void st_init_limits(struct st_context *st) screen->get_param(screen, PIPE_CAP_MAX_STREAM_OUTPUT_SEPARATE_COMPONENTS); c->MaxTransformFeedbackInterleavedComponents = screen->get_param(screen, PIPE_CAP_MAX_STREAM_OUTPUT_INTERLEAVED_COMPONENTS); + c->MaxVertexStreams = + MAX2(1, screen->get_param(screen, PIPE_CAP_MAX_VERTEX_STREAMS)); + + /* The vertex stream must fit into pipe_stream_output_info::stream */ + assert(c->MaxVertexStreams <= 4); c->StripTextureBorder = GL_TRUE; @@ -427,6 +432,7 @@ void st_init_extensions(struct st_context *st) { o(ARB_texture_multisample), PIPE_CAP_TEXTURE_MULTISAMPLE }, { o(ARB_texture_query_lod), PIPE_CAP_TEXTURE_QUERY_LOD }, { o(ARB_sample_shading), PIPE_CAP_SAMPLE_SHADING }, + { o(ARB_draw_indirect), PIPE_CAP_DRAW_INDIRECT } }; /* Required: render target and sampler support */ @@ -618,7 +624,7 @@ void st_init_extensions(struct st_context *st) /* This extension needs full OpenGL 3.2, but we don't know if that's * supported at this point. Only check the GLSL version. */ if (ctx->Const.GLSLVersion >= 150 && - screen->get_param(screen, PIPE_CAP_TGSI_VS_LAYER)) { + screen->get_param(screen, PIPE_CAP_TGSI_VS_LAYER_VIEWPORT)) { ctx->Extensions.AMD_vertex_shader_layer = GL_TRUE; } @@ -809,6 +815,9 @@ void st_init_extensions(struct st_context *st) ctx->Const.ViewportBounds.Min = -16384.0; ctx->Const.ViewportBounds.Max = 16384.0; ctx->Extensions.ARB_viewport_array = GL_TRUE; + ctx->Extensions.ARB_fragment_layer_viewport = GL_TRUE; + if (ctx->Extensions.AMD_vertex_shader_layer) + ctx->Extensions.AMD_vertex_shader_viewport_index = GL_TRUE; } } if (ctx->Const.MaxProgramTextureGatherComponents > 0) |