st/mesa: GL_ARB_instanced_arrays support

This commit is contained in:
Brian Paul
2011-01-15 17:35:08 -07:00
parent 1d1eb95787
commit a6860f0913
2 changed files with 15 additions and 3 deletions

View File

@@ -387,9 +387,16 @@ setup_interleaved_attribs(struct gl_context *ctx,
vbuffer->max_index = max_index;
}
/*
if (arrays[mesaAttr]->InstanceDivisor)
vbuffer[attr].max_index = arrays[mesaAttr]->_MaxElement;
else
vbuffer[attr].max_index = max_index;
*/
velements[attr].src_offset =
(unsigned) (arrays[mesaAttr]->Ptr - offset0);
velements[attr].instance_divisor = 0;
velements[attr].instance_divisor = arrays[mesaAttr]->InstanceDivisor;
velements[attr].vertex_buffer_index = 0;
velements[attr].src_format =
st_pipe_vertex_format(arrays[mesaAttr]->Type,
@@ -481,9 +488,13 @@ setup_non_interleaved_attribs(struct gl_context *ctx,
/* common-case setup */
vbuffer[attr].stride = stride; /* in bytes */
if (arrays[mesaAttr]->InstanceDivisor)
vbuffer[attr].max_index = arrays[mesaAttr]->_MaxElement;
else
vbuffer[attr].max_index = max_index;
velements[attr].src_offset = 0;
velements[attr].instance_divisor = 0;
velements[attr].instance_divisor = arrays[mesaAttr]->InstanceDivisor;
velements[attr].vertex_buffer_index = attr;
velements[attr].src_format
= st_pipe_vertex_format(arrays[mesaAttr]->Type,

View File

@@ -464,5 +464,6 @@ void st_init_extensions(struct st_context *st)
if (screen->get_param(screen, PIPE_CAP_INSTANCED_DRAWING)) {
ctx->Extensions.ARB_draw_instanced = GL_TRUE;
ctx->Extensions.ARB_instanced_arrays = GL_TRUE;
}
}