summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gallium/state_trackers/g3dvl/vl_r16snorm_mc_buf.c1
-rw-r--r--src/gallium/winsys/drm/nouveau/nouveau_channel.c2
2 files changed, 3 insertions, 0 deletions
diff --git a/src/gallium/state_trackers/g3dvl/vl_r16snorm_mc_buf.c b/src/gallium/state_trackers/g3dvl/vl_r16snorm_mc_buf.c
index 337680a3063..426e5ba065a 100644
--- a/src/gallium/state_trackers/g3dvl/vl_r16snorm_mc_buf.c
+++ b/src/gallium/state_trackers/g3dvl/vl_r16snorm_mc_buf.c
@@ -745,6 +745,7 @@ static int vlFlush
}
pipe->flush(pipe, PIPE_FLUSH_RENDER_CACHE, &mc->buffered_surface->render_fence);
+ pipe->screen->tex_surface_release(pipe->screen, mc->render_target.cbufs[0]);
for (i = 0; i < 3; ++i)
mc->zero_block[i].x = -1.0f;
diff --git a/src/gallium/winsys/drm/nouveau/nouveau_channel.c b/src/gallium/winsys/drm/nouveau/nouveau_channel.c
index 3b4dcd1ecf2..b7127f8860e 100644
--- a/src/gallium/winsys/drm/nouveau/nouveau_channel.c
+++ b/src/gallium/winsys/drm/nouveau/nouveau_channel.c
@@ -118,6 +118,8 @@ nouveau_channel_free(struct nouveau_channel **chan)
nouveau_grobj_free(&nvchan->base.gart);
nouveau_grobj_free(&nvchan->base.nullobj);
+ free(nvchan->pb.buffers);
+ free(nvchan->pb.relocs);
cf.channel = nvchan->drm.channel;
drmCommandWrite(nvdev->fd, DRM_NOUVEAU_CHANNEL_FREE, &cf, sizeof(cf));
free(nvchan);