Skip to content
Snippets Groups Projects
Commit 3f60810d authored by Kenneth Graunke's avatar Kenneth Graunke
Browse files

i965: Fix memory leaks in brw_upload_cs_work_groups_surface().

This was taking a reference to the 64kB upload buffer and never
returning it, leaking a reference each time this atom triggered.

This leaked lots of 64kB upload BOs, eventually running us out of
of VMA space.  This would usually happen when using mpv to watch a
movie, after 20-40 minutes.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110134


Fixes: 63d7b33f i965/cs: Setup surface binding for gl_NumWorkGroups
Reviewed-by: default avatarCaio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
parent 98b852cd
No related branches found
No related tags found
No related merge requests found
......@@ -1685,6 +1685,11 @@ brw_upload_cs_work_groups_surface(struct brw_context *brw)
ISL_FORMAT_RAW,
3 * sizeof(GLuint), 1,
RELOC_WRITE);
/* The state buffer now holds a reference to our upload, drop ours. */
if (bo != brw->compute.num_work_groups_bo)
brw_bo_unreference(bo);
brw->ctx.NewDriverState |= BRW_NEW_SURFACES;
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment