mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-06-12 09:38:20 +02:00
i965: unref push_const_bo in intelDestroyContext
Valgrind shows that leak is caused by gen6_upload_push_constant, add unref push_const_bo per stage to destructor to fix this (like done for scratch_bo). ==10952== 144 bytes in 1 blocks are definitely lost in loss record 44 of 66 ==10952== at 0x4C30A1E: calloc (vg_replace_malloc.c:711) ==10952== by 0x8C02847: bo_alloc_internal.constprop.10 (brw_bufmgr.c:344) ==10952== by 0x8C425C4: intel_upload_space (intel_upload.c:101) ==10952== by 0x8C22ED0: gen6_upload_push_constants (gen6_constant_state.c:154) v2: remove if conditions, brw_bo_unreference handles NULL (Ken, Emil) Fixes:24891d7c05("i965: Store per-stage push constant BO pointers.") Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Cc: mesa-stable@lists.freedesktop.org (cherry picked from commit0b131ca427)
This commit is contained in:
parent
e7ddddc989
commit
71ea414782
1 changed files with 6 additions and 0 deletions
|
|
@ -1048,6 +1048,12 @@ intelDestroyContext(__DRIcontext * driContextPriv)
|
|||
if (brw->wm.base.scratch_bo)
|
||||
brw_bo_unreference(brw->wm.base.scratch_bo);
|
||||
|
||||
brw_bo_unreference(brw->vs.base.push_const_bo);
|
||||
brw_bo_unreference(brw->tcs.base.push_const_bo);
|
||||
brw_bo_unreference(brw->tes.base.push_const_bo);
|
||||
brw_bo_unreference(brw->gs.base.push_const_bo);
|
||||
brw_bo_unreference(brw->wm.base.push_const_bo);
|
||||
|
||||
brw_destroy_hw_context(brw->bufmgr, brw->hw_ctx);
|
||||
|
||||
if (ctx->swrast_context) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue