Lines Matching refs:vao

136                           struct gl_vertex_array_object *vao)
145 const GLbitfield enabled = vao->Enabled;
147 vao->_AttributeMapMode = ATTRIBUTE_MAP_MODE_GENERIC0;
149 vao->_AttributeMapMode = ATTRIBUTE_MAP_MODE_POSITION;
151 vao->_AttributeMapMode = ATTRIBUTE_MAP_MODE_IDENTITY;
161 struct gl_vertex_array_object *vao,
165 struct gl_array_attributes *array = &vao->VertexAttrib[attribIndex];
166 assert(!vao->SharedAndImmutable);
171 if (_mesa_is_bufferobj(vao->BufferBinding[bindingIndex].BufferObj))
172 vao->VertexAttribBufferMask |= array_bit;
174 vao->VertexAttribBufferMask &= ~array_bit;
176 vao->BufferBinding[array->BufferBindingIndex]._BoundArrays &= ~array_bit;
177 vao->BufferBinding[bindingIndex]._BoundArrays |= array_bit;
181 vao->NewArrays |= vao->Enabled & array_bit;
192 struct gl_vertex_array_object *vao,
197 assert(index < ARRAY_SIZE(vao->BufferBinding));
198 assert(!vao->SharedAndImmutable);
199 struct gl_vertex_buffer_binding *binding = &vao->BufferBinding[index];
211 vao->VertexAttribBufferMask &= ~binding->_BoundArrays;
213 vao->VertexAttribBufferMask |= binding->_BoundArrays;
217 vao->NewArrays |= vao->Enabled & binding->_BoundArrays;
228 struct gl_vertex_array_object *vao,
233 &vao->BufferBinding[bindingIndex];
234 assert(!vao->SharedAndImmutable);
238 vao->NewArrays |= vao->Enabled & binding->_BoundArrays;
341 struct gl_vertex_array_object *vao,
347 struct gl_array_attributes *const array = &vao->VertexAttrib[attrib];
349 assert(!vao->SharedAndImmutable);
356 vao->NewArrays |= vao->Enabled & VERT_BIT(attrib);
379 struct gl_vertex_array_object *vao,
507 struct gl_vertex_array_object *vao = ctx->Array.VAO;
519 if (ctx->API == API_OPENGL_CORE && (vao == ctx->Array.DefaultVAO)) {
549 if (ptr != NULL && vao != ctx->Array.DefaultVAO &&
564 struct gl_vertex_array_object *vao)
569 return validate_array_format(ctx, func, vao, attrib, legalTypes, sizeMin,
597 struct gl_vertex_array_object *vao = ctx->Array.VAO;
599 _mesa_update_array_format(ctx, vao, attrib, size, type, format,
603 _mesa_vertex_attrib_binding(ctx, vao, attrib, attrib);
606 struct gl_array_attributes *array = &vao->VertexAttrib[attrib];
608 /* For updating the pointer we would need to add the vao->NewArrays flag
612 assert((vao->NewArrays | ~vao->Enabled) & VERT_BIT(attrib));
618 _mesa_bind_vertex_buffer(ctx, vao, attrib,
1080 struct gl_vertex_array_object *vao,
1084 assert(!vao->SharedAndImmutable);
1087 attrib_bits &= ~vao->Enabled;
1090 vao->Enabled |= attrib_bits;
1091 vao->NewArrays |= attrib_bits;
1095 update_attribute_map_mode(ctx, vao);
1101 struct gl_vertex_array_object *vao,
1110 _mesa_enable_vertex_array_attrib(ctx, vao, VERT_ATTRIB_GENERIC(index));
1136 struct gl_vertex_array_object *vao;
1145 vao = _mesa_lookup_vao_err(ctx, vaobj, "glEnableVertexArrayAttrib");
1146 if (!vao)
1149 enable_vertex_array_attrib(ctx, vao, index, "glEnableVertexArrayAttrib");
1157 struct gl_vertex_array_object *vao = _mesa_lookup_vao(ctx, vaobj);
1158 _mesa_enable_vertex_array_attrib(ctx, vao, VERT_ATTRIB_GENERIC(index));
1164 struct gl_vertex_array_object *vao,
1168 assert(!vao->SharedAndImmutable);
1171 attrib_bits &= vao->Enabled;
1174 vao->Enabled &= ~attrib_bits;
1175 vao->NewArrays |= attrib_bits;
1179 update_attribute_map_mode(ctx, vao);
1212 struct gl_vertex_array_object *vao;
1221 vao = _mesa_lookup_vao_err(ctx, vaobj, "glDisableVertexArrayAttrib");
1222 if (!vao)
1231 _mesa_disable_vertex_array_attrib(ctx, vao, attrib);
1239 struct gl_vertex_array_object *vao = _mesa_lookup_vao(ctx, vaobj);
1241 _mesa_disable_vertex_array_attrib(ctx, vao, attrib);
1252 const struct gl_vertex_array_object *vao,
1263 assert(VERT_ATTRIB_GENERIC(index) < ARRAY_SIZE(vao->VertexAttrib));
1265 array = &vao->VertexAttrib[VERT_ATTRIB_GENERIC(index)];
1269 return !!(vao->Enabled & VERT_BIT_GENERIC(index));
1279 return vao->BufferBinding[array->BufferBindingIndex].BufferObj->Name;
1295 return vao->BufferBinding[array->BufferBindingIndex].InstanceDivisor;
1520 struct gl_vertex_array_object *vao;
1528 vao = _mesa_lookup_vao_err(ctx, vaobj, "glGetVertexArrayIndexediv");
1529 if (!vao)
1559 params[0] = vao->BufferBinding[VERT_ATTRIB_GENERIC(index)].Offset;
1562 params[0] = vao->BufferBinding[VERT_ATTRIB_GENERIC(index)].Stride;
1565 params[0] = vao->BufferBinding[VERT_ATTRIB_GENERIC(index)].InstanceDivisor;
1568 params[0] = vao->BufferBinding[VERT_ATTRIB_GENERIC(index)].BufferObj->Name;
1571 params[0] = get_vertex_array_attrib(ctx, vao, index, pname,
1583 struct gl_vertex_array_object *vao;
1591 vao = _mesa_lookup_vao_err(ctx, vaobj, "glGetVertexArrayIndexed64iv");
1592 if (!vao)
1627 params[0] = vao->BufferBinding[VERT_ATTRIB_GENERIC(index)].Offset;
1942 struct gl_vertex_array_object * const vao = ctx->Array.VAO;
1944 assert(genericIndex < ARRAY_SIZE(vao->VertexAttrib));
1957 _mesa_vertex_attrib_binding(ctx, vao, genericIndex, genericIndex);
1958 vertex_binding_divisor(ctx, vao, genericIndex, divisor);
1973 struct gl_vertex_array_object * const vao = ctx->Array.VAO;
1986 assert(genericIndex < ARRAY_SIZE(vao->VertexAttrib));
1999 _mesa_vertex_attrib_binding(ctx, vao, genericIndex, genericIndex);
2000 vertex_binding_divisor(ctx, vao, genericIndex, divisor);
2006 struct gl_vertex_array_object *vao,
2012 vao->BufferBinding[VERT_ATTRIB_GENERIC(bindingIndex)].BufferObj->Name) {
2013 vbo = vao->BufferBinding[VERT_ATTRIB_GENERIC(bindingIndex)].BufferObj;
2042 _mesa_bind_vertex_buffer(ctx, vao, VERT_ATTRIB_GENERIC(bindingIndex),
2052 struct gl_vertex_array_object *vao,
2097 vertex_array_vertex_buffer(ctx, vao, bindingIndex, buffer, offset,
2144 struct gl_vertex_array_object *vao = _mesa_lookup_vao(ctx, vaobj);
2145 vertex_array_vertex_buffer(ctx, vao, bindingIndex, buffer, offset,
2155 struct gl_vertex_array_object *vao;
2163 vao = _mesa_lookup_vao_err(ctx, vaobj, "glVertexArrayVertexBuffer");
2164 if (!vao)
2167 vertex_array_vertex_buffer_err(ctx, vao, bindingIndex, buffer, offset,
2174 struct gl_vertex_array_object *vao,
2194 _mesa_bind_vertex_buffer(ctx, vao, VERT_ATTRIB_GENERIC(first + i),
2255 &vao->BufferBinding[VERT_ATTRIB_GENERIC(first + i)];
2268 _mesa_bind_vertex_buffer(ctx, vao, VERT_ATTRIB_GENERIC(first + i),
2278 struct gl_vertex_array_object *vao,
2298 vertex_array_vertex_buffers(ctx, vao, first, count, buffers, offsets,
2348 struct gl_vertex_array_object *vao = _mesa_lookup_vao(ctx, vaobj);
2349 vertex_array_vertex_buffers(ctx, vao, first, count,
2361 struct gl_vertex_array_object *vao;
2369 vao = _mesa_lookup_vao_err(ctx, vaobj, "glVertexArrayVertexBuffers");
2370 if (!vao)
2373 vertex_array_vertex_buffers_err(ctx, vao, first, count,
2480 struct gl_vertex_array_object *vao;
2487 vao = _mesa_lookup_vao(ctx, vaobj);
2488 if (!vao)
2497 vao = _mesa_lookup_vao_err(ctx, vaobj, func);
2498 if (!vao)
2513 if (!validate_array_format(ctx, func, vao,
2522 _mesa_update_array_format(ctx, vao, VERT_ATTRIB_GENERIC(attribIndex), size,
2566 struct gl_vertex_array_object *vao,
2595 assert(VERT_ATTRIB_GENERIC(attribIndex) < ARRAY_SIZE(vao->VertexAttrib));
2597 _mesa_vertex_attrib_binding(ctx, vao,
2642 struct gl_vertex_array_object *vao = _mesa_lookup_vao(ctx, vaobj);
2643 _mesa_vertex_attrib_binding(ctx, vao,
2653 struct gl_vertex_array_object *vao;
2661 vao = _mesa_lookup_vao_err(ctx, vaobj, "glVertexArrayAttribBinding");
2662 if (!vao)
2665 vertex_array_attrib_binding(ctx, vao, attribIndex, bindingIndex,
2672 struct gl_vertex_array_object *vao,
2696 vertex_binding_divisor(ctx, vao, VERT_ATTRIB_GENERIC(bindingIndex), divisor);
2738 struct gl_vertex_array_object *vao = _mesa_lookup_vao(ctx, vaobj);
2739 vertex_binding_divisor(ctx, vao, VERT_ATTRIB_GENERIC(bindingIndex), divisor);
2747 struct gl_vertex_array_object *vao;
2756 vao = _mesa_lookup_vao_err(ctx, vaobj, "glVertexArrayBindingDivisor");
2757 if (!vao)
2760 vertex_array_binding_divisor(ctx, vao, bindingIndex, divisor,
2800 const struct gl_vertex_array_object *vao = ctx->Array.VAO;
2802 fprintf(stderr, "Array Object %u\n", vao->Name);
2804 GLbitfield mask = vao->Enabled;
2807 const struct gl_array_attributes *array = &vao->VertexAttrib[i];
2810 &vao->BufferBinding[array->BufferBindingIndex];
2846 struct gl_vertex_array_object *vao = (struct gl_vertex_array_object *) data;
2848 _mesa_delete_vao(ctx, vao);