mesa: add bool param to _mesa_free_context_data
The param controls whether _mesa_destroy_debug_output should be called or not. No functional changes; this will be used by the next commit. Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5789>
This commit is contained in:

committed by
Marge Bot

parent
e6f7b4312f
commit
7f0b6a5df8
@@ -598,7 +598,7 @@ intelDestroyContext(__DRIcontext * driContextPriv)
|
|||||||
driDestroyOptionCache(&intel->optionCache);
|
driDestroyOptionCache(&intel->optionCache);
|
||||||
|
|
||||||
/* free the Mesa context */
|
/* free the Mesa context */
|
||||||
_mesa_free_context_data(&intel->ctx);
|
_mesa_free_context_data(&intel->ctx, true);
|
||||||
|
|
||||||
_math_matrix_dtr(&intel->ViewportMatrix);
|
_math_matrix_dtr(&intel->ViewportMatrix);
|
||||||
|
|
||||||
|
@@ -1242,7 +1242,7 @@ intelDestroyContext(__DRIcontext * driContextPriv)
|
|||||||
driDestroyOptionCache(&brw->optionCache);
|
driDestroyOptionCache(&brw->optionCache);
|
||||||
|
|
||||||
/* free the Mesa context */
|
/* free the Mesa context */
|
||||||
_mesa_free_context_data(&brw->ctx);
|
_mesa_free_context_data(&brw->ctx, true);
|
||||||
|
|
||||||
ralloc_free(brw);
|
ralloc_free(brw);
|
||||||
driContextPriv->driverPrivate = NULL;
|
driContextPriv->driverPrivate = NULL;
|
||||||
|
@@ -217,7 +217,7 @@ nouveau_context_deinit(struct gl_context *ctx)
|
|||||||
nouveau_object_del(&nctx->hw.chan);
|
nouveau_object_del(&nctx->hw.chan);
|
||||||
|
|
||||||
nouveau_scratch_destroy(ctx);
|
nouveau_scratch_destroy(ctx);
|
||||||
_mesa_free_context_data(ctx);
|
_mesa_free_context_data(ctx, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@@ -270,7 +270,7 @@ void radeonDestroyContext(__DRIcontext *driContextPriv )
|
|||||||
|
|
||||||
/* free atom list */
|
/* free atom list */
|
||||||
/* free the Mesa context data */
|
/* free the Mesa context data */
|
||||||
_mesa_free_context_data(&radeon->glCtx);
|
_mesa_free_context_data(&radeon->glCtx, true);
|
||||||
|
|
||||||
/* free the option cache */
|
/* free the option cache */
|
||||||
driDestroyOptionCache(&radeon->optionCache);
|
driDestroyOptionCache(&radeon->optionCache);
|
||||||
|
@@ -857,7 +857,7 @@ OSMesaCreateContextAttribs(const int *attribList, OSMesaContext sharelist)
|
|||||||
osmesa->gl_buffer = _mesa_create_framebuffer(osmesa->gl_visual);
|
osmesa->gl_buffer = _mesa_create_framebuffer(osmesa->gl_visual);
|
||||||
if (!osmesa->gl_buffer) {
|
if (!osmesa->gl_buffer) {
|
||||||
_mesa_destroy_visual( osmesa->gl_visual );
|
_mesa_destroy_visual( osmesa->gl_visual );
|
||||||
_mesa_free_context_data(&osmesa->mesa);
|
_mesa_free_context_data(&osmesa->mesa, true);
|
||||||
free(osmesa);
|
free(osmesa);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@@ -894,7 +894,7 @@ OSMesaCreateContextAttribs(const int *attribList, OSMesaContext sharelist)
|
|||||||
!_tnl_CreateContext( ctx ) ||
|
!_tnl_CreateContext( ctx ) ||
|
||||||
!_swsetup_CreateContext( ctx )) {
|
!_swsetup_CreateContext( ctx )) {
|
||||||
_mesa_destroy_visual(osmesa->gl_visual);
|
_mesa_destroy_visual(osmesa->gl_visual);
|
||||||
_mesa_free_context_data(ctx);
|
_mesa_free_context_data(ctx, true);
|
||||||
free(osmesa);
|
free(osmesa);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@@ -922,7 +922,7 @@ OSMesaCreateContextAttribs(const int *attribList, OSMesaContext sharelist)
|
|||||||
|
|
||||||
if (ctx->Version < version_major * 10 + version_minor) {
|
if (ctx->Version < version_major * 10 + version_minor) {
|
||||||
_mesa_destroy_visual(osmesa->gl_visual);
|
_mesa_destroy_visual(osmesa->gl_visual);
|
||||||
_mesa_free_context_data(ctx);
|
_mesa_free_context_data(ctx, true);
|
||||||
free(osmesa);
|
free(osmesa);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@@ -958,7 +958,7 @@ OSMesaDestroyContext( OSMesaContext osmesa )
|
|||||||
_mesa_destroy_visual( osmesa->gl_visual );
|
_mesa_destroy_visual( osmesa->gl_visual );
|
||||||
_mesa_reference_framebuffer( &osmesa->gl_buffer, NULL );
|
_mesa_reference_framebuffer( &osmesa->gl_buffer, NULL );
|
||||||
|
|
||||||
_mesa_free_context_data(&osmesa->mesa);
|
_mesa_free_context_data(&osmesa->mesa, true);
|
||||||
free( osmesa );
|
free( osmesa );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -943,7 +943,7 @@ XMesaContext XMesaCreateContext( XMesaVisual v, XMesaContext share_list )
|
|||||||
!_vbo_CreateContext( mesaCtx, false ) ||
|
!_vbo_CreateContext( mesaCtx, false ) ||
|
||||||
!_tnl_CreateContext( mesaCtx ) ||
|
!_tnl_CreateContext( mesaCtx ) ||
|
||||||
!_swsetup_CreateContext( mesaCtx )) {
|
!_swsetup_CreateContext( mesaCtx )) {
|
||||||
_mesa_free_context_data(&c->mesa);
|
_mesa_free_context_data(&c->mesa, true);
|
||||||
free(c);
|
free(c);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@@ -980,7 +980,7 @@ void XMesaDestroyContext( XMesaContext c )
|
|||||||
_swrast_DestroyContext( mesaCtx );
|
_swrast_DestroyContext( mesaCtx );
|
||||||
_tnl_DestroyContext( mesaCtx );
|
_tnl_DestroyContext( mesaCtx );
|
||||||
_vbo_DestroyContext( mesaCtx );
|
_vbo_DestroyContext( mesaCtx );
|
||||||
_mesa_free_context_data(mesaCtx);
|
_mesa_free_context_data(mesaCtx, true);
|
||||||
free( c );
|
free( c );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1317,7 +1317,7 @@ fail:
|
|||||||
* \sa _mesa_initialize_context() and init_attrib_groups().
|
* \sa _mesa_initialize_context() and init_attrib_groups().
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
_mesa_free_context_data(struct gl_context *ctx)
|
_mesa_free_context_data(struct gl_context *ctx, bool destroy_debug_output)
|
||||||
{
|
{
|
||||||
if (!_mesa_get_current_context()){
|
if (!_mesa_get_current_context()){
|
||||||
/* No current context, but we may need one in order to delete
|
/* No current context, but we may need one in order to delete
|
||||||
@@ -1386,6 +1386,7 @@ _mesa_free_context_data(struct gl_context *ctx)
|
|||||||
/* needs to be after freeing shared state */
|
/* needs to be after freeing shared state */
|
||||||
_mesa_free_display_list_data(ctx);
|
_mesa_free_display_list_data(ctx);
|
||||||
|
|
||||||
|
if (destroy_debug_output)
|
||||||
_mesa_destroy_debug_output(ctx);
|
_mesa_destroy_debug_output(ctx);
|
||||||
|
|
||||||
free((void *)ctx->Extensions.String);
|
free((void *)ctx->Extensions.String);
|
||||||
@@ -1420,7 +1421,7 @@ void
|
|||||||
_mesa_destroy_context( struct gl_context *ctx )
|
_mesa_destroy_context( struct gl_context *ctx )
|
||||||
{
|
{
|
||||||
if (ctx) {
|
if (ctx) {
|
||||||
_mesa_free_context_data(ctx);
|
_mesa_free_context_data(ctx, true);
|
||||||
free( (void *) ctx );
|
free( (void *) ctx );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -118,7 +118,7 @@ _mesa_initialize_context( struct gl_context *ctx,
|
|||||||
const struct dd_function_table *driverFunctions);
|
const struct dd_function_table *driverFunctions);
|
||||||
|
|
||||||
extern void
|
extern void
|
||||||
_mesa_free_context_data(struct gl_context *ctx);
|
_mesa_free_context_data(struct gl_context *ctx, bool destroy_debug_output);
|
||||||
|
|
||||||
extern void
|
extern void
|
||||||
_mesa_destroy_context( struct gl_context *ctx );
|
_mesa_destroy_context( struct gl_context *ctx );
|
||||||
|
@@ -1103,7 +1103,7 @@ st_destroy_context(struct st_context *st)
|
|||||||
|
|
||||||
st_destroy_program_variants(st);
|
st_destroy_program_variants(st);
|
||||||
|
|
||||||
_mesa_free_context_data(ctx);
|
_mesa_free_context_data(ctx, true);
|
||||||
|
|
||||||
/* This will free the st_context too, so 'st' must not be accessed
|
/* This will free the st_context too, so 'st' must not be accessed
|
||||||
* afterwards. */
|
* afterwards. */
|
||||||
|
Reference in New Issue
Block a user