GLuint bindingIndex, bool flush_vertices)
{
struct gl_array_attributes *array = &vao->VertexAttrib[attribIndex];
+ assert(!vao->SharedAndImmutable);
if (array->BufferBindingIndex != bindingIndex) {
const GLbitfield array_bit = VERT_BIT(attribIndex);
GLintptr offset, GLsizei stride, bool flush_vertices)
{
assert(index < ARRAY_SIZE(vao->BufferBinding));
+ assert(!vao->SharedAndImmutable);
struct gl_vertex_buffer_binding *binding = &vao->BufferBinding[index];
if (binding->BufferObj != vbo ||
{
struct gl_vertex_buffer_binding *binding =
&vao->BufferBinding[bindingIndex];
+ assert(!vao->SharedAndImmutable);
if (binding->InstanceDivisor != divisor) {
FLUSH_VERTICES(ctx, _NEW_ARRAY);
struct gl_array_attributes *const array = &vao->VertexAttrib[attrib];
GLint elementSize;
+ assert(!vao->SharedAndImmutable);
assert(size <= 4);
elementSize = _mesa_bytes_per_vertex_attrib(size, type);
gl_vert_attrib attrib, bool flush_vertices)
{
assert(attrib < ARRAY_SIZE(vao->VertexAttrib));
+ assert(!vao->SharedAndImmutable);
if (!vao->VertexAttrib[attrib].Enabled) {
/* was disabled, now being enabled */
gl_vert_attrib attrib, bool flush_vertices)
{
assert(attrib < ARRAY_SIZE(vao->VertexAttrib));
+ assert(!vao->SharedAndImmutable);
if (vao->VertexAttrib[attrib].Enabled) {
/* was enabled, now being disabled */