Mesa (master): r600: align to r300 changes in the blit code

Maciej Cencora osiris at kemper.freedesktop.org
Tue Jan 19 23:40:58 UTC 2010


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

Author: Maciej Cencora <m.cencora at gmail.com>
Date:   Mon Jan 18 23:00:36 2010 +0100

r600: align to r300 changes in the blit code

Pitch here means aligned width, not aligned width * bpp.

---

 src/mesa/drivers/dri/r600/r600_blit.c    |   11 ++++-------
 src/mesa/drivers/dri/r600/r600_texcopy.c |    5 +++--
 2 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/src/mesa/drivers/dri/r600/r600_blit.c b/src/mesa/drivers/dri/r600/r600_blit.c
index 58eb91e..0205a43 100644
--- a/src/mesa/drivers/dri/r600/r600_blit.c
+++ b/src/mesa/drivers/dri/r600/r600_blit.c
@@ -90,16 +90,15 @@ static unsigned is_blit_supported(gl_format mesa_format)
 
 static inline void
 set_render_target(context_t *context, struct radeon_bo *bo, gl_format mesa_format,
-                  int pitch, int w, int h, intptr_t dst_offset)
+                  int nPitchInPixel, int w, int h, intptr_t dst_offset)
 {
     uint32_t cb_color0_base, cb_color0_size = 0, cb_color0_info = 0, cb_color0_view = 0;
-    int nPitchInPixel, id = 0;
-    uint32_t comp_swap, format, bpp = _mesa_get_format_bytes(mesa_format);
+    int id = 0;
+    uint32_t comp_swap, format;
     BATCH_LOCALS(&context->radeon);
 
     cb_color0_base = dst_offset / 256;
 
-    nPitchInPixel = pitch/bpp;
     SETfield(cb_color0_size, (nPitchInPixel / 8) - 1,
              PITCH_TILE_MAX_shift, PITCH_TILE_MAX_mask);
     SETfield(cb_color0_size, ((nPitchInPixel * h) / 64) - 1,
@@ -556,11 +555,9 @@ set_vtx_resource(context_t *context)
 static inline void
 set_tex_resource(context_t * context,
 		 gl_format mesa_format, struct radeon_bo *bo, int w, int h,
-		 int pitch, intptr_t src_offset)
+		 int TexelPitch, intptr_t src_offset)
 {
     uint32_t sq_tex_resource0, sq_tex_resource1, sq_tex_resource2, sq_tex_resource4, sq_tex_resource6;
-    int bpp = _mesa_get_format_bytes(mesa_format);
-    int TexelPitch = pitch/bpp;
 
     sq_tex_resource0 = sq_tex_resource1 = sq_tex_resource2 = sq_tex_resource4 = sq_tex_resource6 = 0;
     BATCH_LOCALS(&context->radeon);
diff --git a/src/mesa/drivers/dri/r600/r600_texcopy.c b/src/mesa/drivers/dri/r600/r600_texcopy.c
index 12b3403..21bf840 100644
--- a/src/mesa/drivers/dri/r600/r600_texcopy.c
+++ b/src/mesa/drivers/dri/r600/r600_texcopy.c
@@ -81,10 +81,11 @@ do_copy_texsubimage(GLcontext *ctx,
 
 
     /* blit from src buffer to texture */
-    return r600_blit(ctx, rrb->bo, src_offset, rrb->base.Format, rrb->pitch,
+    return r600_blit(ctx, rrb->bo, src_offset, rrb->base.Format, rrb->pitch/rrb->cpp,
                      rrb->base.Width, rrb->base.Height, x, y,
                      timg->mt->bo, dst_offset, timg->base.TexFormat,
-                     timg->mt->levels[level].rowstride, timg->base.Width, timg->base.Height,
+                     timg->mt->levels[level].rowstride / _mesa_get_format_bytes(timg->base.TexFormat),
+                     timg->base.Width, timg->base.Height,
                      dstx, dsty, width, height, 1);
 }
 




More information about the mesa-commit mailing list