#include "api_arrayelt.h"
#include "bufferobj.h"
#include "context.h"
-#include "imports.h"
+#include "util/imports.h"
#include "macros.h"
#include "mtypes.h"
#include "main/dispatch.h"
void
-_mesa_array_element(struct gl_context *ctx,
- struct _glapi_table *disp, GLint elt)
+_mesa_array_element(struct gl_context *ctx, GLint elt)
{
const struct gl_vertex_array_object *vao = ctx->Array.VAO;
GLbitfield mask;
const gl_vert_attrib attrib = VERT_ATTRIB_GENERIC0;
const struct gl_array_attributes *array = &vao->VertexAttrib[attrib];
const void *src = attrib_src(vao, array, elt);
- /* Use glVertex(v) instead of glVertexAttrib(0, v) to be sure it's
- * issued as the last (provoking) attribute).
- */
- func_nv(&array->Format)(0, src);
+ func_arb(&array->Format)(0, src);
} else if (vao->Enabled & VERT_BIT_POS) {
const gl_vert_attrib attrib = VERT_ATTRIB_POS;
const struct gl_array_attributes *array = &vao->VertexAttrib[attrib];
_ae_ArrayElement(GLint elt)
{
GET_CURRENT_CONTEXT(ctx);
- const struct _glapi_table * const disp = GET_DISPATCH();
struct gl_vertex_array_object *vao;
/* If PrimitiveRestart is enabled and the index is the RestartIndex
* then we call PrimitiveRestartNV and return.
*/
if (ctx->Array.PrimitiveRestart && (elt == ctx->Array.RestartIndex)) {
- CALL_PrimitiveRestartNV((struct _glapi_table *)disp, ());
+ CALL_PrimitiveRestartNV(GET_DISPATCH(), ());
return;
}
vao = ctx->Array.VAO;
_mesa_vao_map_arrays(ctx, vao, GL_MAP_READ_BIT);
- _mesa_array_element(ctx, (struct _glapi_table *)disp, elt);
+ _mesa_array_element(ctx, elt);
_mesa_vao_unmap_arrays(ctx, vao);
}