mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 09:38:07 +02:00
trace: fix incorrect trace_surface::base.context pointer
When a trace_surface object is created in trace_surf_create() we weren't correctly setting the surface's context pointer. Instead of it being the trace context, it was the wrapped driver's context. This caused things to blow up sometimes during surface deallocation. Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
This commit is contained in:
parent
3b0de75c4d
commit
82d62cf04f
3 changed files with 7 additions and 4 deletions
|
|
@ -897,7 +897,7 @@ trace_context_create_surface(struct pipe_context *_pipe,
|
|||
|
||||
trace_dump_call_end();
|
||||
|
||||
result = trace_surf_create(tr_res, result);
|
||||
result = trace_surf_create(tr_ctx, tr_res, result);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -74,7 +74,8 @@ trace_resource_destroy(struct trace_screen *tr_scr,
|
|||
|
||||
|
||||
struct pipe_surface *
|
||||
trace_surf_create(struct trace_resource *tr_res,
|
||||
trace_surf_create(struct trace_context *tr_ctx,
|
||||
struct trace_resource *tr_res,
|
||||
struct pipe_surface *surface)
|
||||
{
|
||||
struct trace_surface *tr_surf;
|
||||
|
|
@ -89,6 +90,7 @@ trace_surf_create(struct trace_resource *tr_res,
|
|||
goto error;
|
||||
|
||||
memcpy(&tr_surf->base, surface, sizeof(struct pipe_surface));
|
||||
tr_surf->base.context = &tr_ctx->base;
|
||||
|
||||
pipe_reference_init(&tr_surf->base.reference, 1);
|
||||
tr_surf->base.texture = NULL;
|
||||
|
|
|
|||
|
|
@ -133,8 +133,9 @@ trace_resource_destroy(struct trace_screen *tr_scr,
|
|||
struct trace_resource *tr_res);
|
||||
|
||||
struct pipe_surface *
|
||||
trace_surf_create(struct trace_resource *tr_res,
|
||||
struct pipe_surface *surface);
|
||||
trace_surf_create(struct trace_context *tr_ctx,
|
||||
struct trace_resource *tr_res,
|
||||
struct pipe_surface *surface);
|
||||
|
||||
void
|
||||
trace_surf_destroy(struct trace_surface *tr_surf);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue