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"))
|
||||
return;
|
||||
} 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,
|
||||
"glNamedBufferPageCommitmentEXT");
|
||||
|
@@ -3313,9 +3313,6 @@ struct gl_shared_state
|
||||
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
|
||||
*/
|
||||
|
@@ -95,11 +95,6 @@ _mesa_alloc_shared_state(struct gl_context *ctx)
|
||||
_mesa_init_shader_includes(shared);
|
||||
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 */
|
||||
for (i = 0; i < NUM_TEXTURE_TARGETS; i++) {
|
||||
/* 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();
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
if (shared->NullBufferObj)
|
||||
_mesa_reference_buffer_object(ctx, &shared->NullBufferObj, NULL);
|
||||
|
||||
if (shared->SyncObjects) {
|
||||
set_foreach(shared->SyncObjects, entry) {
|
||||
_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);
|
||||
struct gl_vertex_buffer_binding *binding = &vao->BufferBinding[index];
|
||||
|
||||
assert(vbo != ctx->Shared->NullBufferObj);
|
||||
|
||||
if (ctx->Const.VertexBufferOffsetIsInt32 && (int)offset < 0 &&
|
||||
_mesa_is_bufferobj(vbo)) {
|
||||
/* The offset will be interpreted as a signed int, so make sure
|
||||
|
Reference in New Issue
Block a user