Since the renderbuffer tracks the miptree level and layer that it wraps,
the 'tex_image' and 'zoffset' params are no longer needed to calculate the draw
offsets.

Not only are they no longer needed, but their presence would prevent
calculating the renderbuffer draw offsets in situations where there were
no texture image. Such situations will occur during the HiZ meta-op and
during scatter/gather of separate stencil textures.

Signed-off-by: Chad Versace <chad.vers...@linux.intel.com>
---
 src/mesa/drivers/dri/intel/intel_fbo.c       |   16 +++++++---------
 src/mesa/drivers/dri/intel/intel_fbo.h       |    4 +---
 src/mesa/drivers/dri/intel/intel_tex_image.c |    4 ++--
 3 files changed, 10 insertions(+), 14 deletions(-)

diff --git a/src/mesa/drivers/dri/intel/intel_fbo.c 
b/src/mesa/drivers/dri/intel/intel_fbo.c
index ed58078..8e4f7a9 100644
--- a/src/mesa/drivers/dri/intel/intel_fbo.c
+++ b/src/mesa/drivers/dri/intel/intel_fbo.c
@@ -1043,17 +1043,15 @@ intel_wrap_texture(struct gl_context * ctx,
 }
 
 void
-intel_renderbuffer_set_draw_offset(struct intel_renderbuffer *irb,
-                                  struct intel_texture_image *intel_image,
-                                  int zoffset)
+intel_renderbuffer_set_draw_offset(struct intel_renderbuffer *irb)
 {
    unsigned int dst_x, dst_y;
 
    /* compute offset of the particular 2D image within the texture region */
-   intel_miptree_get_image_offset(intel_image->mt,
-                                 intel_image->base.Base.Level,
-                                 intel_image->base.Base.Face,
-                                 zoffset,
+   intel_miptree_get_image_offset(irb->mt,
+                                 irb->mt_level,
+                                 0, /* face, which we ignore */
+                                 irb->mt_layer,
                                  &dst_x, &dst_y);
 
    irb->draw_x = dst_x;
@@ -1162,7 +1160,7 @@ intel_render_texture(struct gl_context * ctx,
        att->Texture->Name, image->Width, image->Height,
        irb->Base.RefCount);
 
-   intel_renderbuffer_set_draw_offset(irb, intel_image, att->Zoffset);
+   intel_renderbuffer_set_draw_offset(irb);
    intel_image->used_as_render_target = true;
 
 #ifndef I915
@@ -1188,7 +1186,7 @@ intel_render_texture(struct gl_context * ctx,
                                    true);
 
       intel_miptree_copy_teximage(intel, intel_image, new_mt);
-      intel_renderbuffer_set_draw_offset(irb, intel_image, att->Zoffset);
+      intel_renderbuffer_set_draw_offset(irb);
 
       intel_miptree_reference(&irb->mt, intel_image->mt);
       intel_miptree_release(&new_mt);
diff --git a/src/mesa/drivers/dri/intel/intel_fbo.h 
b/src/mesa/drivers/dri/intel/intel_fbo.h
index 3a21374..6da370d 100644
--- a/src/mesa/drivers/dri/intel/intel_fbo.h
+++ b/src/mesa/drivers/dri/intel/intel_fbo.h
@@ -175,9 +175,7 @@ extern void
 intel_flip_renderbuffers(struct gl_framebuffer *fb);
 
 void
-intel_renderbuffer_set_draw_offset(struct intel_renderbuffer *irb,
-                                  struct intel_texture_image *intel_image,
-                                  int zoffset);
+intel_renderbuffer_set_draw_offset(struct intel_renderbuffer *irb);
 
 uint32_t
 intel_renderbuffer_tile_offsets(struct intel_renderbuffer *irb,
diff --git a/src/mesa/drivers/dri/intel/intel_tex_image.c 
b/src/mesa/drivers/dri/intel/intel_tex_image.c
index 90e4090..024490a 100644
--- a/src/mesa/drivers/dri/intel/intel_tex_image.c
+++ b/src/mesa/drivers/dri/intel/intel_tex_image.c
@@ -316,8 +316,8 @@ intel_tex_image_s8z24_create_renderbuffers(struct 
intel_context *intel,
       return false;
    }
 
-   intel_renderbuffer_set_draw_offset(idrb, image, 0);
-   intel_renderbuffer_set_draw_offset(isrb, image, 0);
+   intel_renderbuffer_set_draw_offset(idrb);
+   intel_renderbuffer_set_draw_offset(isrb);
 
    _mesa_reference_renderbuffer(&image->depth_rb, drb);
    _mesa_reference_renderbuffer(&image->stencil_rb, srb);
-- 
1.7.7.1

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to