diff options
author | Marek Olšák <maraeo@gmail.com> | 2011-08-02 20:25:13 +0200 |
---|---|---|
committer | Marek Olšák <maraeo@gmail.com> | 2011-08-16 09:15:10 +0200 |
commit | 2ce783d8ddec1b1fcadc0798af0ebb045bba1cc4 (patch) | |
tree | 155806fae29db972c4aafcc98c922cf946c401fa /src/gallium/drivers/r600/r600_pipe.c | |
parent | 354f76f386afd980e8c1564c0b0502f9768007b5 (diff) | |
download | external_mesa3d-2ce783d8ddec1b1fcadc0798af0ebb045bba1cc4.zip external_mesa3d-2ce783d8ddec1b1fcadc0798af0ebb045bba1cc4.tar.gz external_mesa3d-2ce783d8ddec1b1fcadc0798af0ebb045bba1cc4.tar.bz2 |
r600g: put radeon_winsys in screen::winsys, don't include drm_driver in the pipe
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'src/gallium/drivers/r600/r600_pipe.c')
-rw-r--r-- | src/gallium/drivers/r600/r600_pipe.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/gallium/drivers/r600/r600_pipe.c b/src/gallium/drivers/r600/r600_pipe.c index 6181e8b..8a18207 100644 --- a/src/gallium/drivers/r600/r600_pipe.c +++ b/src/gallium/drivers/r600/r600_pipe.c @@ -500,7 +500,8 @@ static void r600_destroy_screen(struct pipe_screen* pscreen) if (rscreen == NULL) return; - radeon_decref(rscreen->radeon); + radeon_destroy(rscreen->radeon); + rscreen->ws->destroy(rscreen->ws); util_slab_destroy(&rscreen->pool_buffers); pipe_mutex_destroy(rscreen->mutex_num_contexts); @@ -564,18 +565,19 @@ static boolean r600_fence_finish(struct pipe_screen *pscreen, return TRUE; } -struct pipe_screen *r600_screen_create(struct radeon_winsys *rw) +struct pipe_screen *r600_screen_create(struct radeon_winsys *ws) { struct r600_screen *rscreen; - struct radeon *radeon = r600_drm_winsys_create(rw); + struct radeon *radeon = radeon_create(ws); rscreen = CALLOC_STRUCT(r600_screen); if (rscreen == NULL) { return NULL; } + rscreen->ws = ws; rscreen->radeon = radeon; - rscreen->screen.winsys = (struct pipe_winsys*)radeon; + rscreen->screen.winsys = (struct pipe_winsys*)ws; rscreen->screen.destroy = r600_destroy_screen; rscreen->screen.get_name = r600_get_name; rscreen->screen.get_vendor = r600_get_vendor; |