diff options
author | Chia-I Wu <olvaffe@gmail.com> | 2009-08-26 16:39:29 +0800 |
---|---|---|
committer | Brian Paul <brianp@vmware.com> | 2009-08-26 16:40:22 -0600 |
commit | 49f245ea6bc2f9b7ee0345ff42cb00aa969cd316 (patch) | |
tree | a56a76775b14c331709725a3a506c158fe993ed7 /src/gallium/state_trackers/egl/egl_surface.c | |
parent | 74b55970dc25d6b2a65f385fd298f141176cd4d3 (diff) |
EGL_i915: Make struct drm_device per display.
This is to allow a driver to drive multiple displays.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Diffstat (limited to 'src/gallium/state_trackers/egl/egl_surface.c')
-rw-r--r-- | src/gallium/state_trackers/egl/egl_surface.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/gallium/state_trackers/egl/egl_surface.c b/src/gallium/state_trackers/egl/egl_surface.c index 0cca68dc36..3ef1945b93 100644 --- a/src/gallium/state_trackers/egl/egl_surface.c +++ b/src/gallium/state_trackers/egl/egl_surface.c @@ -67,11 +67,11 @@ drm_create_framebuffer(const __GLcontextModes *visual, } static void -drm_create_texture(_EGLDriver *drv, +drm_create_texture(_EGLDisplay *dpy, struct drm_screen *scrn, unsigned w, unsigned h) { - struct drm_device *dev = (struct drm_device *)drv; + struct drm_device *dev = lookup_drm_device(dpy); struct pipe_screen *screen = dev->screen; struct pipe_surface *surface; struct pipe_texture *texture; @@ -137,9 +137,9 @@ err_tex: */ void -drm_takedown_shown_screen(_EGLDriver *drv, struct drm_screen *screen) +drm_takedown_shown_screen(_EGLDisplay *dpy, struct drm_screen *screen) { - struct drm_device *dev = (struct drm_device *)drv; + struct drm_device *dev = lookup_drm_device(dpy); screen->surf = NULL; @@ -244,17 +244,17 @@ drm_show_screen_surface_mesa(_EGLDriver *drv, _EGLDisplay *dpy, _EGLScreen *screen, _EGLSurface *surface, _EGLMode *mode) { - struct drm_device *dev = (struct drm_device *)drv; + struct drm_device *dev = lookup_drm_device(dpy); struct drm_surface *surf = lookup_drm_surface(surface); struct drm_screen *scrn = lookup_drm_screen(screen); int ret; unsigned int i, k; if (scrn->shown) - drm_takedown_shown_screen(drv, scrn); + drm_takedown_shown_screen(dpy, scrn); - drm_create_texture(drv, scrn, mode->Width, mode->Height); + drm_create_texture(dpy, scrn, mode->Width, mode->Height); if (!scrn->buffer) return EGL_FALSE; @@ -341,7 +341,7 @@ drm_destroy_surface(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surface) struct drm_surface *surf = lookup_drm_surface(surface); if (!_eglIsSurfaceBound(&surf->base)) { if (surf->screen) - drm_takedown_shown_screen(drv, surf->screen); + drm_takedown_shown_screen(dpy, surf->screen); st_unreference_framebuffer(surf->stfb); free(surf); } @@ -351,7 +351,7 @@ drm_destroy_surface(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surface) EGLBoolean drm_swap_buffers(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *draw) { - struct drm_device *dev = (struct drm_device *)drv; + struct drm_device *dev = lookup_drm_device(dpy); struct drm_surface *surf = lookup_drm_surface(draw); struct pipe_surface *back_surf; |