Mesa (master): intel: Use rb->Data and rb-> RowStride to handle spans Y flipping.

Eric Anholt anholt at kemper.freedesktop.org
Mon Jun 13 22:57:12 UTC 2011


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

Author: Eric Anholt <eric at anholt.net>
Date:   Tue May 31 15:33:36 2011 -0700

intel: Use rb->Data and rb->RowStride to handle spans Y flipping.

This is already pointing at 0 or Height - 1 and with an appropriate
pitch, so no need to recompute those values per customization of the
spans code.  Cuts 3 out of 21kb of the compiled size.

Reviewed-by: Chad Versace <chad at chad-versace.us>

---

 src/mesa/drivers/dri/intel/intel_span.c |   11 ++++-------
 1 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/src/mesa/drivers/dri/intel/intel_span.c b/src/mesa/drivers/dri/intel/intel_span.c
index a4a1d6b..aa83b3c 100644
--- a/src/mesa/drivers/dri/intel/intel_span.c
+++ b/src/mesa/drivers/dri/intel/intel_span.c
@@ -55,21 +55,18 @@ intel_set_span_functions(struct intel_context *intel,
 
 #define LOCAL_VARS							\
    struct intel_renderbuffer *irb = intel_renderbuffer(rb);		\
-   const GLint yScale = rb->Name ? 1 : -1;				\
-   const GLint yBias = rb->Name ? 0 : rb->Height - 1;			\
    int minx = 0, miny = 0;						\
    int maxx = rb->Width;						\
    int maxy = rb->Height;						\
-   int pitch = irb->region->pitch * irb->region->cpp;			\
-   void *buf = irb->region->buffer->virtual;				\
+   int pitch = rb->RowStride * irb->region->cpp;			\
+   void *buf = rb->Data;						\
    GLuint p;								\
-   (void) p;								\
-   (void)buf; (void)pitch; /* unused for non-gttmap. */			\
+   (void) p;
 
 #define HW_CLIPLOOP()
 #define HW_ENDCLIPLOOP()
 
-#define Y_FLIP(_y) ((_y) * yScale + yBias)
+#define Y_FLIP(_y) (_y)
 
 #define HW_LOCK()
 




More information about the mesa-commit mailing list