Mesa (master): softpipe: Calculate slice_stride field in get_transfer().

Michał Król michal at kemper.freedesktop.org
Wed May 19 06:24:00 UTC 2010


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

Author: Michal Krol <michal at vmware.com>
Date:   Tue May 18 12:39:01 2010 +0200

softpipe: Calculate slice_stride field in get_transfer().

---

 src/gallium/drivers/softpipe/sp_texture.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/src/gallium/drivers/softpipe/sp_texture.c b/src/gallium/drivers/softpipe/sp_texture.c
index 7aa8555..4e6123f 100644
--- a/src/gallium/drivers/softpipe/sp_texture.c
+++ b/src/gallium/drivers/softpipe/sp_texture.c
@@ -343,11 +343,15 @@ softpipe_get_transfer(struct pipe_context *pipe,
    if (spt) {
       struct pipe_transfer *pt = &spt->base;
       enum pipe_format format = resource->format;
+      const unsigned hgt = u_minify(spr->base.height0, sr.level);
+      const unsigned nblocksy = util_format_get_nblocksy(format, hgt);
+
       pipe_resource_reference(&pt->resource, resource);
       pt->sr = sr;
       pt->usage = usage;
       pt->box = *box;
       pt->stride = spr->stride[sr.level];
+      pt->slice_stride = pt->stride * nblocksy;
 
       spt->offset = sp_get_tex_image_offset(spr, sr.level, sr.face, box->z);
  




More information about the mesa-commit mailing list