Mesa (gallium-0.2): egl: Blit to the bound frontbuffer with pipe

Jakob Bornecrantz wallbraker at kemper.freedesktop.org
Thu Jan 29 02:00:57 UTC 2009


Module: Mesa
Branch: gallium-0.2
Commit: 86e86e6cb6efbd06289fb0cc263ab168d4f77112
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=86e86e6cb6efbd06289fb0cc263ab168d4f77112

Author: Jakob Bornecrantz <wallbraker at gmail.com>
Date:   Thu Jan 29 02:33:22 2009 +0100

egl: Blit to the bound frontbuffer with pipe

---

 src/gallium/state_trackers/egl/egl_surface.c |    8 ++++++++
 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 edc3a2f..9e13f2f 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;




More information about the mesa-commit mailing list