Permalink
Browse files

radeon: only init surface manage on r600

r300 fails to init the manager and then fails to init.

Signed-off-by: Dave Airlie <airlied@redhat.com>
  • Loading branch information...
1 parent 2470e91 commit ff60bd80582176f42166b3df27df41fbbf429449 Dave Airlie committed Feb 7, 2012
Showing with 8 additions and 4 deletions.
  1. +8 −4 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;

0 comments on commit ff60bd8

Please sign in to comment.