diff options
author | Keith Whitwell <[email protected]> | 2010-03-08 19:23:10 +0000 |
---|---|---|
committer | Keith Whitwell <[email protected]> | 2010-03-08 19:23:10 +0000 |
commit | 3ab8211be40e3cd835bd1f6947b2c56f9a0c7a59 (patch) | |
tree | 66d487e3f3ed11186303fb1cb98464010be4d5ea /src/gallium/state_trackers | |
parent | c867c58c7340eb5d56f7cc3edf95cce94600f858 (diff) |
gallium: remove xlib_driver::display_surface
Just use flush_frontbuffer directly. The flush_frontbuffer routine has
been somewhat devalued recently, but it is actually just the right
interface for our needs.
It is in pipe_screen, meaning that any wrapping (eg trace module)
will get properly unwrapped before we try and use the pipe_surface
argument for real.
If a particular co-state-tracker needs to implement this itself, it
should organize a way to allow the winsys to call back up to its
level, rather than hijacking the driver-supplied implementation.
Diffstat (limited to 'src/gallium/state_trackers')
-rw-r--r-- | src/gallium/state_trackers/glx/xlib/xm_api.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/src/gallium/state_trackers/glx/xlib/xm_api.c b/src/gallium/state_trackers/glx/xlib/xm_api.c index d878740ab12..d8aa59b3b7c 100644 --- a/src/gallium/state_trackers/glx/xlib/xm_api.c +++ b/src/gallium/state_trackers/glx/xlib/xm_api.c @@ -1092,13 +1092,9 @@ void XMesaSwapBuffers( XMesaBuffer b ) st_swapbuffers(b->stfb, &frontLeftSurf, NULL); if (frontLeftSurf) { - if (_screen != screen) { - struct trace_surface *tr_surf = trace_surface( frontLeftSurf ); - struct pipe_surface *surf = tr_surf->surface; - frontLeftSurf = surf; - } - - driver.display_surface(&b->ws, frontLeftSurf); + screen->flush_frontbuffer( screen, + frontLeftSurf, + &b->ws ); } xmesa_check_and_update_buffer_size(NULL, b); |