gallium: split CAP_INSTANCE_DRAWING into INSTANCEID and INSTANCE_DIVISOR

ARB_instanced_arrays is a subset of D3D9.
ARB_draw_instanced is a subset of D3D10.

The point of this change is to allow D3D9-level drivers to enable
ARB_instanced_arrays without ARB_draw_instanced.
This commit is contained in:
Marek Olšák
2011-03-05 16:06:10 +01:00
parent 307408a4f8
commit 95c7881ac8
9 changed files with 19 additions and 9 deletions

View File

@@ -491,8 +491,10 @@ void st_init_extensions(struct st_context *st)
ctx->Extensions.ARB_shader_stencil_export = GL_TRUE;
}
if (screen->get_param(screen, PIPE_CAP_INSTANCED_DRAWING)) {
if (screen->get_param(screen, PIPE_CAP_TGSI_INSTANCEID)) {
ctx->Extensions.ARB_draw_instanced = GL_TRUE;
}
if (screen->get_param(screen, PIPE_CAP_VERTEX_ELEMENT_INSTANCE_DIVISOR)) {
ctx->Extensions.ARB_instanced_arrays = GL_TRUE;
}
}