summaryrefslogtreecommitdiff
path: root/src/i915_hwmc.c
diff options
context:
space:
mode:
authorXiang, Haihao <haihao.xiang@intel.com>2007-06-25 10:37:12 +0800
committerXiang, Haihao <haihao.xiang@intel.com>2007-07-19 17:28:35 +0800
commitd038ffdfffb846e22f360faac5d469c8e59795ad (patch)
treefdb8918efc0c76fda90e6bbcd2457c53b5f66da4 /src/i915_hwmc.c
parenta9bf7e28b91692c7c7a4915cdf9603cd2ef025ea (diff)
Release resource allocated for surface/subpicture
Diffstat (limited to 'src/i915_hwmc.c')
-rw-r--r--src/i915_hwmc.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/i915_hwmc.c b/src/i915_hwmc.c
index f9c36ac0..52c903c2 100644
--- a/src/i915_hwmc.c
+++ b/src/i915_hwmc.c
@@ -757,6 +757,7 @@ static void I915XvMCDestroySurface (ScrnInfoPtr pScrn, XvMCSurfacePtr pSurf)
for (i = 0; i < I915_XVMC_MAX_SURFACES; i++) {
if (pXvMC->surfaces[i] == pSurf->surface_id) {
+ drmRmMap(pI830->drmSubFD, pXvMC->sfprivs[i]->surface_handle);
i830_free_memory(pScrn, pXvMC->sfprivs[i]->surface);
xfree(pXvMC->sfprivs[i]);
pXvMC->nsurfaces--;
@@ -777,6 +778,7 @@ static void I915XvMCDestroySubpicture (ScrnInfoPtr pScrn, XvMCSubpicturePtr pSub
for (i = 0; i < I915_XVMC_MAX_SURFACES; i++) {
if (pXvMC->surfaces[i] == pSubp->subpicture_id) {
+ drmRmMap(pI830->drmSubFD, pXvMC->sfprivs[i]->surface_handle);
i830_free_memory(pScrn, pXvMC->sfprivs[i]->surface);
xfree(pXvMC->sfprivs[i]);
pXvMC->nsurfaces--;