mesa: remove NullBufferObj
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4466>
This commit is contained in:
@@ -4930,7 +4930,15 @@ _mesa_NamedBufferPageCommitmentEXT(GLuint buffer, GLintptr offset,
|
|||||||
"glNamedBufferPageCommitmentEXT"))
|
"glNamedBufferPageCommitmentEXT"))
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
bufferObj = ctx->Shared->NullBufferObj;
|
/* GL_EXT_direct_state_access says about NamedBuffer* functions:
|
||||||
|
*
|
||||||
|
* There is no buffer corresponding to the name zero, these commands
|
||||||
|
* generate the INVALID_OPERATION error if the buffer parameter is
|
||||||
|
* zero.
|
||||||
|
*/
|
||||||
|
_mesa_error(ctx, GL_INVALID_OPERATION,
|
||||||
|
"glNamedBufferPageCommitmentEXT(buffer = 0)");
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
buffer_page_commitment(ctx, bufferObj, offset, size, commit,
|
buffer_page_commitment(ctx, bufferObj, offset, size, commit,
|
||||||
"glNamedBufferPageCommitmentEXT");
|
"glNamedBufferPageCommitmentEXT");
|
||||||
|
@@ -3313,9 +3313,6 @@ struct gl_shared_state
|
|||||||
GLuint TextureStateStamp; /**< state notification for shared tex */
|
GLuint TextureStateStamp; /**< state notification for shared tex */
|
||||||
/*@}*/
|
/*@}*/
|
||||||
|
|
||||||
/** Default buffer object for vertex arrays that aren't in VBOs */
|
|
||||||
struct gl_buffer_object *NullBufferObj;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \name Vertex/geometry/fragment programs
|
* \name Vertex/geometry/fragment programs
|
||||||
*/
|
*/
|
||||||
|
@@ -95,11 +95,6 @@ _mesa_alloc_shared_state(struct gl_context *ctx)
|
|||||||
_mesa_init_shader_includes(shared);
|
_mesa_init_shader_includes(shared);
|
||||||
mtx_init(&shared->ShaderIncludeMutex, mtx_plain);
|
mtx_init(&shared->ShaderIncludeMutex, mtx_plain);
|
||||||
|
|
||||||
/* Allocate the default buffer object */
|
|
||||||
shared->NullBufferObj = ctx->Driver.NewBufferObject(ctx, 0);
|
|
||||||
if (!shared->NullBufferObj)
|
|
||||||
goto fail;
|
|
||||||
|
|
||||||
/* Create default texture objects */
|
/* Create default texture objects */
|
||||||
for (i = 0; i < NUM_TEXTURE_TARGETS; i++) {
|
for (i = 0; i < NUM_TEXTURE_TARGETS; i++) {
|
||||||
/* NOTE: the order of these enums matches the TEXTURE_x_INDEX values */
|
/* NOTE: the order of these enums matches the TEXTURE_x_INDEX values */
|
||||||
@@ -143,10 +138,6 @@ _mesa_alloc_shared_state(struct gl_context *ctx)
|
|||||||
shared->SemaphoreObjects = _mesa_NewHashTable();
|
shared->SemaphoreObjects = _mesa_NewHashTable();
|
||||||
|
|
||||||
return shared;
|
return shared;
|
||||||
|
|
||||||
fail:
|
|
||||||
free_shared_state(ctx, shared);
|
|
||||||
return NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -409,9 +400,6 @@ free_shared_state(struct gl_context *ctx, struct gl_shared_state *shared)
|
|||||||
_mesa_DeleteHashTable(shared->RenderBuffers);
|
_mesa_DeleteHashTable(shared->RenderBuffers);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (shared->NullBufferObj)
|
|
||||||
_mesa_reference_buffer_object(ctx, &shared->NullBufferObj, NULL);
|
|
||||||
|
|
||||||
if (shared->SyncObjects) {
|
if (shared->SyncObjects) {
|
||||||
set_foreach(shared->SyncObjects, entry) {
|
set_foreach(shared->SyncObjects, entry) {
|
||||||
_mesa_unref_sync_object(ctx, (struct gl_sync_object *) entry->key, 1);
|
_mesa_unref_sync_object(ctx, (struct gl_sync_object *) entry->key, 1);
|
||||||
|
@@ -204,8 +204,6 @@ _mesa_bind_vertex_buffer(struct gl_context *ctx,
|
|||||||
assert(!vao->SharedAndImmutable);
|
assert(!vao->SharedAndImmutable);
|
||||||
struct gl_vertex_buffer_binding *binding = &vao->BufferBinding[index];
|
struct gl_vertex_buffer_binding *binding = &vao->BufferBinding[index];
|
||||||
|
|
||||||
assert(vbo != ctx->Shared->NullBufferObj);
|
|
||||||
|
|
||||||
if (ctx->Const.VertexBufferOffsetIsInt32 && (int)offset < 0 &&
|
if (ctx->Const.VertexBufferOffsetIsInt32 && (int)offset < 0 &&
|
||||||
_mesa_is_bufferobj(vbo)) {
|
_mesa_is_bufferobj(vbo)) {
|
||||||
/* The offset will be interpreted as a signed int, so make sure
|
/* The offset will be interpreted as a signed int, so make sure
|
||||||
|
Reference in New Issue
Block a user