Before calling _mesa_create_context(), initialize a dd_function_table struct

by calling _mesa_init_driver_functions() and then plugging in the driver-
specific functions.
In particular, make sure ctx->Driver.NewTextureObject points to the
appropriate driver function so that _all_ texture objects are augmented
with the driver-specific data.
Put in a bunch of assertions in the texture-related driver functions that
texObj->DriverData is valid.  Remove old dead code in near future.
This commit is contained in:
Brian Paul
2004-01-20 02:49:27 +00:00
parent 988a8862c8
commit d3fd7ba8af
79 changed files with 1192 additions and 1239 deletions

View File

@@ -347,18 +347,6 @@ _mesa_init_buffer_objects( GLcontext *ctx )
for (i = 0; i < VERT_ATTRIB_MAX; i++) {
ctx->Array.VertexAttrib[i].BufferObj = ctx->Array.NullBufferObj;
}
/* Device drivers might override these assignments after the Mesa
* context is initialized.
*/
ctx->Driver.NewBufferObject = _mesa_new_buffer_object;
ctx->Driver.DeleteBuffer = _mesa_delete_buffer_object;
ctx->Driver.BindBuffer = NULL;
ctx->Driver.BufferData = _mesa_buffer_data;
ctx->Driver.BufferSubData = _mesa_buffer_subdata;
ctx->Driver.GetBufferSubData = _mesa_buffer_get_subdata;
ctx->Driver.MapBuffer = _mesa_buffer_map;
ctx->Driver.UnmapBuffer = NULL;
}