Mesa (master): Revert "state_trackers/dri/sw: Implement texture_from_pixmap ."

Benjamin Franzke bnf at kemper.freedesktop.org
Wed Nov 2 14:50:24 UTC 2011


Module: Mesa
Branch: master
Commit: 5da7c5e36478a2afa2a54a6746c01d0893c41db4
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5da7c5e36478a2afa2a54a6746c01d0893c41db4

Author: Benjamin Franzke <benjaminfranzke at googlemail.com>
Date:   Fri Sep  9 09:34:50 2011 +0200

Revert "state_trackers/dri/sw: Implement texture_from_pixmap."

This reverts commit 02f1b50987c0d24da3dcc36dbb44821c20d0660c.

CC: Stuart Abercrombie <sabercrombie at chromium.org>
CC: Stéphane Marchesin <marcheu at chromium.org>

---

 src/gallium/state_trackers/dri/sw/dri_drawable.c |   50 +++-------------------
 1 files changed, 7 insertions(+), 43 deletions(-)

diff --git a/src/gallium/state_trackers/dri/sw/dri_drawable.c b/src/gallium/state_trackers/dri/sw/dri_drawable.c
index 05c64b6..7b8de31 100644
--- a/src/gallium/state_trackers/dri/sw/dri_drawable.c
+++ b/src/gallium/state_trackers/dri/sw/dri_drawable.c
@@ -37,8 +37,7 @@
 #include "util/u_format.h"
 #include "util/u_memory.h"
 #include "util/u_inlines.h"
-
-#include "state_tracker/st_context.h" 
+ 
 
 static boolean
 dri_st_framebuffer_validate(struct st_framebuffer_iface *stfbi,
@@ -196,23 +195,14 @@ dri_set_tex_buffer2(__DRIcontext *pDRICtx, GLint target,
 {
    struct dri_context *ctx = dri_context(pDRICtx);
    struct dri_drawable *drawable = dri_drawable(dPriv);
-   struct pipe_resource *res;
-   struct st_context *stctx = (struct st_context *)ctx->st;
-   struct pipe_context *pipe = stctx->pipe;
-   struct pipe_transfer *tex_xfer;
-   char *map;
-   __DRIscreen *sPriv = dPriv->driScreenPriv;
-   int x, y, w, h, line, ximage_stride;
-
-   sPriv->swrast_loader->getDrawableInfo(dPriv, &x, &y, &w, &h, dPriv->loaderPrivate);
-         
+   struct pipe_resource *pt;
+
    dri_drawable_validate_att(drawable, ST_ATTACHMENT_FRONT_LEFT);
 
-   /* Use the pipe resource associated with the X drawable */
-   res = drawable->textures[ST_ATTACHMENT_FRONT_LEFT];
+   pt = drawable->textures[ST_ATTACHMENT_FRONT_LEFT];
 
-   if (res) {
-      enum pipe_format internal_format = res->format;
+   if (pt) {
+      enum pipe_format internal_format = pt->format;
 
       if (format == __DRI_TEXTURE_FORMAT_RGB)  {
          /* only need to cover the formats recognized by dri_fill_st_visual */
@@ -228,35 +218,9 @@ dri_set_tex_buffer2(__DRIcontext *pDRICtx, GLint target,
          }
       }
 
-
-      tex_xfer = pipe_get_transfer(pipe, res,
-                                    0, 0,    // level, layer
-                                    PIPE_TRANSFER_WRITE,
-                                    x, y,
-                                    w, h);
-
-
-      map = pipe_transfer_map(pipe, tex_xfer);
- 
-      /* Copy the Drawable content to the mapped texture buffer */
-      sPriv->swrast_loader->getImage(dPriv, x, y, w, h, map,
-				   dPriv->loaderPrivate);
-
-      /* The pipe transfer has a pitch rounded up to the nearest 64 pixels.
-         We assume 32 bit pixels. */
-      ximage_stride = w * 4;      
-      for (line = h-1; line; --line) {
-         memmove(&map[line * tex_xfer->stride], &map[line * ximage_stride], ximage_stride);
-      }
-
-      pipe_transfer_unmap(pipe, tex_xfer);
-
-      pipe_transfer_destroy(pipe, tex_xfer);
-
       ctx->st->teximage(ctx->st,
             (target == GL_TEXTURE_2D) ? ST_TEXTURE_2D : ST_TEXTURE_RECT,
-            0, internal_format, res, FALSE);
-
+            0, internal_format, pt, FALSE);
    }
 }
 




More information about the mesa-commit mailing list