From 3494e3d49675b88205edf2bf97cc401564aecacd Mon Sep 17 00:00:00 2001 From: Vincent Wei Date: Thu, 11 Jul 2019 15:11:56 +0800 Subject: [PATCH] cleanup --- include/exstubs.h | 2 +- src/newgal/dri/drivideo.c | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/include/exstubs.h b/include/exstubs.h index cdda6895..c5fbdebb 100644 --- a/include/exstubs.h +++ b/include/exstubs.h @@ -224,7 +224,7 @@ typedef struct _DriDriverOps { * * \note The driver must implement this operator. */ - void (* unmap_buffer) (DriDriver *driver, uint32_t buffer_id); + void (* unmap_buffer) (DriDriver *driver, DriSurfaceBuffer* buffer); /** * This operator destroies a buffer. diff --git a/src/newgal/dri/drivideo.c b/src/newgal/dri/drivideo.c index 7da45345..ae8eb8c9 100644 --- a/src/newgal/dri/drivideo.c +++ b/src/newgal/dri/drivideo.c @@ -143,8 +143,9 @@ static void drm_cleanup(DriVideoData* vdata) if (vdata->scanout_fb) { if (vdata->driver_ops) { - vdata->driver_ops->unmap_buffer(vdata->driver, vdata->scanout_buff_id); - vdata->driver_ops->destroy_buffer(vdata->driver, vdata->scanout_buff_id); + // do nothing for hardware surface. + // vdata->driver_ops->unmap_buffer(vdata->driver, vdata->scanout_buff_id); + // vdata->driver_ops->destroy_buffer(vdata->driver, vdata->scanout_buff_id); } else { /* dumb buffer */ @@ -183,7 +184,6 @@ static void drm_cleanup(DriVideoData* vdata) /* free allocated memory */ free(iter); } - } static void DRI_DeleteDevice(GAL_VideoDevice *device) @@ -862,7 +862,7 @@ static GAL_Surface *DRI_SetVideoMode_Accl(_THIS, GAL_Surface *current, DriVideoData* vdata = this->hidden; DrmModeInfo* info; enum DriPixelFormat pixel_format; - DriSurfaceBuffer* scanout_buff; + DriSurfaceBuffer* scanout_buff = NULL; unsigned int pitch; if (bpp != 32) { @@ -956,8 +956,8 @@ error: vdata->saved_crtc = NULL; } - if (vdata->scanout_fb) { - vdata->driver_ops->unmap_buffer(vdata->driver, vdata->scanout_buff_id); + if (scanout_buff) { + vdata->driver_ops->unmap_buffer(vdata->driver, scanout_buff); vdata->scanout_fb = NULL; } @@ -1016,7 +1016,7 @@ static void DRI_FreeHWSurface_Accl(_THIS, GAL_Surface *surface) surface_buffer = (DriSurfaceBuffer*)surface->hwdata; if (surface_buffer) { - vdata->driver_ops->unmap_buffer(vdata->driver, surface_buffer->buff_id); + vdata->driver_ops->unmap_buffer(vdata->driver, surface_buffer); vdata->driver_ops->destroy_buffer(vdata->driver, surface_buffer->buff_id); }