Mesa (master): radeon: only init surface manage on r600
Dave Airlie
airlied at kemper.freedesktop.org
Tue Feb 7 14:20:26 UTC 2012
Module: Mesa
Branch: master
Commit: ff60bd80582176f42166b3df27df41fbbf429449
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ff60bd80582176f42166b3df27df41fbbf429449
Author: Dave Airlie <airlied at redhat.com>
Date: Tue Feb 7 14:19:28 2012 +0000
radeon: only init surface manage on r600
r300 fails to init the manager and then fails to init.
Signed-off-by: Dave Airlie <airlied at redhat.com>
---
src/gallium/winsys/radeon/drm/radeon_drm_winsys.c | 12 ++++++++----
1 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c b/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c
index dbec259..0c83c68 100644
--- a/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c
+++ b/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c
@@ -302,7 +302,9 @@ static void radeon_winsys_destroy(struct radeon_winsys *rws)
ws->cman->destroy(ws->cman);
ws->kman->destroy(ws->kman);
- radeon_surface_manager_free(ws->surf_man);
+ if (ws->gen == R600) {
+ radeon_surface_manager_free(ws->surf_man);
+ }
FREE(rws);
}
@@ -377,9 +379,11 @@ struct radeon_winsys *radeon_drm_winsys_create(int fd)
goto fail;
/* FIXME check for libdrm version ?? */
- ws->surf_man = radeon_surface_manager_new(fd);
- if (!ws->surf_man)
- goto fail;
+ if (ws->gen == R600) {
+ ws->surf_man = radeon_surface_manager_new(fd);
+ if (!ws->surf_man)
+ goto fail;
+ }
/* Set functions. */
ws->base.destroy = radeon_winsys_destroy;
More information about the mesa-commit
mailing list