summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Bornecrantz <wallbraker@gmail.com>2009-01-29 02:33:22 +0100
committerJakob Bornecrantz <wallbraker@gmail.com>2009-01-29 03:00:15 +0100
commit86e86e6cb6efbd06289fb0cc263ab168d4f77112 (patch)
treeef85488938b073af5cc20812750b04f13f310b53
parent3b1b9f3cc70392bd1abb76e78a28db15bfbbbe85 (diff)
egl: Blit to the bound frontbuffer with pipe
-rw-r--r--src/gallium/state_trackers/egl/egl_surface.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/gallium/state_trackers/egl/egl_surface.c b/src/gallium/state_trackers/egl/egl_surface.c
index edc3a2f4e0..9e13f2fe58 100644
--- a/src/gallium/state_trackers/egl/egl_surface.c
+++ b/src/gallium/state_trackers/egl/egl_surface.c
@@ -280,6 +280,7 @@ drm_show_screen_surface_mesa(_EGLDriver *drv, EGLDisplay dpy,
struct drm_device *dev = (struct drm_device *)drv;
struct drm_surface *surf = lookup_drm_surface(surface);
struct drm_screen *scrn = lookup_drm_screen(dpy, screen);
+ struct pipe_context *pipe;
_EGLMode *mode = _eglLookupMode(dpy, m);
int ret;
unsigned int i, k;
@@ -339,6 +340,13 @@ drm_show_screen_surface_mesa(_EGLDriver *drv, EGLDisplay dpy,
if (ret)
goto err_crtc;
+ pipe = drm_api_hocks.create_context(dev->screen);
+ pipe->surface_fill(pipe, scrn->surface,
+ 0, 0,
+ scrn->front.width, scrn->front.height,
+ 0xFF00FFFF);
+ pipe->destroy(pipe);
+
surf->screen = scrn;
scrn->surf = surf;