mesa: refuse to change tex buffers when a handle is allocated
The ARB_bindless_texture spec says:
"The error INVALID_OPERATION is generated by BufferData if it is
called to modify a buffer object bound to a buffer texture while
that texture object is referenced by one or more texture handles."
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
This commit is contained in:
@@ -1562,7 +1562,7 @@ validate_buffer_storage(struct gl_context *ctx,
|
||||
return false;
|
||||
}
|
||||
|
||||
if (bufObj->Immutable) {
|
||||
if (bufObj->Immutable || bufObj->HandleAllocated) {
|
||||
_mesa_error(ctx, GL_INVALID_OPERATION, "%s(immutable)", func);
|
||||
return false;
|
||||
}
|
||||
@@ -1726,7 +1726,7 @@ _mesa_buffer_data(struct gl_context *ctx, struct gl_buffer_object *bufObj,
|
||||
return;
|
||||
}
|
||||
|
||||
if (bufObj->Immutable) {
|
||||
if (bufObj->Immutable || bufObj->HandleAllocated) {
|
||||
_mesa_error(ctx, GL_INVALID_OPERATION, "%s(immutable)", func);
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user