Lines Matching refs:vao

283 /* Compare the present vao if it has the same setup. */
286 const struct gl_vertex_array_object *vao,
293 if (!vao)
297 if (vao_enabled != vao->Enabled)
301 if (vao->BufferBinding[0].BufferObj != bo)
304 if (vao->BufferBinding[0].Stride != stride)
306 assert(vao->BufferBinding[0].InstanceDivisor == 0);
318 const struct gl_array_attributes *attrib = &vao->VertexAttrib[attr];
319 if (attrib->RelativeOffset + vao->BufferBinding[0].Offset != off)
336 /* Create or reuse the vao for the vertex processing mode. */
340 struct gl_vertex_array_object **vao,
354 if (compare_vao(mode, *vao, bo, buffer_offset, stride,
359 _mesa_reference_vao(ctx, vao, NULL);
360 *vao = _mesa_new_vao(ctx, ~((GLuint)0));
369 _mesa_bind_vertex_buffer(ctx, *vao, 0, bo, buffer_offset, stride, false,
383 _vbo_set_attrib_format(ctx, *vao, vao_attr, buffer_offset,
385 _mesa_vertex_attrib_binding(ctx, *vao, vao_attr, 0);
387 _mesa_enable_vertex_array_attribs(ctx, *vao, vao_enabled);
388 assert(vao_enabled == (*vao)->Enabled);
389 assert((vao_enabled & ~(*vao)->VertexAttribBufferMask) == 0);
392 _mesa_set_vao_immutable(ctx, *vao);
943 /* create or reuse the vao */
947 /* Reference the vao in the dlist */
985 struct gl_vertex_array_object *vao = node->cold->VAO[VP_MODE_SHADER];
986 GLintptr original = vao->BufferBinding[0].Offset;
988 vao->BufferBinding[0].Offset = -(GLintptr)(start_offset * stride);
990 vao->BufferBinding[0].Offset = original;
1673 struct gl_vertex_array_object *vao = ctx->Array.VAO;
1694 _mesa_vao_map_arrays(ctx, vao, GL_MAP_READ_BIT);
1702 _mesa_vao_unmap_arrays(ctx, vao);
1776 struct gl_vertex_array_object *vao = ctx->Array.VAO;
1777 struct gl_buffer_object *indexbuf = vao->IndexBufferObj;
1803 _mesa_vao_map(ctx, vao, GL_MAP_READ_BIT);
1831 _mesa_vao_unmap(ctx, vao);