st/mesa: implement EXT_transform_feedback and ARB_transform_feedback2

This commit is contained in:
Marek Olšák
2011-12-09 18:33:58 +01:00
committed by Christoph Bumiller
parent 36d66f8d4a
commit c05fafa4a0
16 changed files with 328 additions and 39 deletions

View File

@@ -221,6 +221,13 @@ void st_init_limits(struct st_context *st)
c->UniformBooleanTrue = ~0;
c->MaxTransformFeedbackSeparateAttribs =
screen->get_param(screen, PIPE_CAP_MAX_STREAM_OUTPUT_SEPARATE_ATTRIBS);
c->MaxTransformFeedbackSeparateComponents =
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->StripTextureBorder = GL_TRUE;
c->GLSLSkipStrictMaxUniformLimitCheck =
@@ -682,4 +689,12 @@ void st_init_extensions(struct st_context *st)
PIPE_BIND_SAMPLER_VIEW))
ctx->Extensions.ARB_texture_rgb10_a2ui = GL_TRUE;
if (screen->get_param(screen, PIPE_CAP_MAX_STREAM_OUTPUT_BUFFERS) != 0) {
ctx->Extensions.EXT_transform_feedback = GL_TRUE;
if (screen->get_param(screen,
PIPE_CAP_STREAM_OUTPUT_PAUSE_RESUME) != 0) {
ctx->Extensions.ARB_transform_feedback2 = GL_TRUE;
}
}
}