intel: Remove unneeded params from intel_renderbuffer_set_draw_offset()
authorChad Versace <chad.versace@linux.intel.com>
Tue, 15 Nov 2011 18:22:14 +0000 (10:22 -0800)
committerChad Versace <chad.versace@linux.intel.com>
Tue, 22 Nov 2011 18:35:42 +0000 (10:35 -0800)
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.

Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
src/mesa/drivers/dri/intel/intel_fbo.c
src/mesa/drivers/dri/intel/intel_fbo.h
src/mesa/drivers/dri/intel/intel_tex_image.c

index 252f2425f2a592f94cac0b62285c04e7b4ced544..dd7adfbb0511838ef686139d6b8e2635c76f30e7 100644 (file)
@@ -1045,17 +1045,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;
@@ -1164,7 +1162,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
@@ -1190,7 +1188,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);
index 3a213745e382b34277e3f6f2260eef4e2f2e9827..6da370dbd2643068badd643ec4d4c06b09491d77 100644 (file)
@@ -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,
index 90e409094d5ed4a67c0a5acabb39f361d094138c..024490a411538a18ef354c61b9254513324ca865 100644 (file)
@@ -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);