diff options
5 files changed, 9 insertions, 7 deletions
diff --git a/src/gallium/winsys/drm/radeon/core/radeon_buffer.c b/src/gallium/winsys/drm/radeon/core/radeon_buffer.c index 483cbc13dc..9dca510c81 100644 --- a/src/gallium/winsys/drm/radeon/core/radeon_buffer.c +++ b/src/gallium/winsys/drm/radeon/core/radeon_buffer.c @@ -154,7 +154,7 @@ static void radeon_flush_frontbuffer(struct pipe_winsys *pipe_winsys, /* TODO: call dri2CopyRegion */ } -struct pipe_winsys* radeon_pipe_winsys(int fd) +struct radeon_winsys* radeon_pipe_winsys(int fd) { struct radeon_winsys* radeon_ws; struct radeon_bo_manager* bom; diff --git a/src/gallium/winsys/drm/radeon/core/radeon_buffer.h b/src/gallium/winsys/drm/radeon/core/radeon_buffer.h index dc56ab90cf..40ad0fc8d1 100644 --- a/src/gallium/winsys/drm/radeon/core/radeon_buffer.h +++ b/src/gallium/winsys/drm/radeon/core/radeon_buffer.h @@ -58,7 +58,7 @@ struct radeon_winsys { struct radeon_bo_manager* bom; }; -struct pipe_winsys *radeon_pipe_winsys(int fb); +struct radeon_winsys* radeon_pipe_winsys(int fb); struct pipe_surface *radeon_surface_from_handle(struct radeon_context *radeon_context, uint32_t handle, enum pipe_format format, diff --git a/src/gallium/winsys/drm/radeon/core/radeon_drm.c b/src/gallium/winsys/drm/radeon/core/radeon_drm.c index 9387932a53..3446654e28 100644 --- a/src/gallium/winsys/drm/radeon/core/radeon_drm.c +++ b/src/gallium/winsys/drm/radeon/core/radeon_drm.c @@ -33,10 +33,10 @@ /* Create a pipe_screen. */ struct pipe_screen* radeon_create_screen(int drmFB, int pciID) { - struct pipe_winsys* winsys = radeon_pipe_winsys(drmFB); + struct radeon_winsys* winsys = radeon_pipe_winsys(drmFB); if (getenv("RADEON_SOFTPIPE")) { - return softpipe_create_screen(winsys); + return softpipe_create_screen((struct pipe_winsys*)winsys); } else { struct r300_winsys* r300 = radeon_create_r300_winsys(drmFB, winsys); FREE(winsys); diff --git a/src/gallium/winsys/drm/radeon/core/radeon_r300.c b/src/gallium/winsys/drm/radeon/core/radeon_r300.c index 9a42db51bd..c7b6813014 100644 --- a/src/gallium/winsys/drm/radeon/core/radeon_r300.c +++ b/src/gallium/winsys/drm/radeon/core/radeon_r300.c @@ -75,7 +75,8 @@ static void do_ioctls(struct r300_winsys* winsys, int fd) } -struct r300_winsys* radeon_create_r300_winsys(int fd, struct pipe_winsys* old_winsys) +struct r300_winsys* +radeon_create_r300_winsys(int fd, struct radeon_winsys* old_winsys) { struct r300_winsys* winsys = CALLOC_STRUCT(r300_winsys); @@ -92,7 +93,7 @@ struct r300_winsys* radeon_create_r300_winsys(int fd, struct pipe_winsys* old_wi winsys->end_cs = radeon_cs_end; winsys->flush_cs = radeon_r300_flush_cs; - winsys->base = *old_winsys; + memcpy(winsys, old_winsys, sizeof(struct radeon_winsys)); return winsys; } diff --git a/src/gallium/winsys/drm/radeon/core/radeon_r300.h b/src/gallium/winsys/drm/radeon/core/radeon_r300.h index 432b7b1833..5c373cd084 100644 --- a/src/gallium/winsys/drm/radeon/core/radeon_r300.h +++ b/src/gallium/winsys/drm/radeon/core/radeon_r300.h @@ -31,4 +31,5 @@ #include "radeon_buffer.h" -struct r300_winsys* radeon_create_r300_winsys(int fd, struct pipe_winsys* old_winsys); +struct r300_winsys* +radeon_create_r300_winsys(int fd, struct radeon_winsys* old_winsys); |