summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2013-02-04 10:05:51 -0800
committerEric Anholt <eric@anholt.net>2013-05-28 12:40:15 -0700
commit4e8eafd8f44d763a7d079abea89388fb738bb723 (patch)
tree12cda443e0932f71fdd03f89c0ff3311971c1545 /src
parent5c85e1cf554803e61bfb30f2a8683422a3ead0e4 (diff)
intel: Reduce intel_renderbuffer_tile_offsets to a thin wrapper.
Reviewed-and-tested-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Acked-by: Paul Berry <stereotype441@gmail.com>
Diffstat (limited to 'src')
-rw-r--r--src/mesa/drivers/dri/intel/intel_fbo.c26
-rw-r--r--src/mesa/drivers/dri/intel/intel_fbo.h9
2 files changed, 7 insertions, 28 deletions
diff --git a/src/mesa/drivers/dri/intel/intel_fbo.c b/src/mesa/drivers/dri/intel/intel_fbo.c
index 69f862930d6..34f31fb0a88 100644
--- a/src/mesa/drivers/dri/intel/intel_fbo.c
+++ b/src/mesa/drivers/dri/intel/intel_fbo.c
@@ -535,32 +535,6 @@ intel_renderbuffer_set_draw_offset(struct intel_renderbuffer *irb)
}
/**
- * Rendering to tiled buffers requires that the base address of the
- * buffer be aligned to a page boundary. We generally render to
- * textures by pointing the surface at the mipmap image level, which
- * may not be aligned to a tile boundary.
- *
- * This function returns an appropriately-aligned base offset
- * according to the tiling restrictions, plus any required x/y offset
- * from there.
- */
-uint32_t
-intel_renderbuffer_tile_offsets(struct intel_renderbuffer *irb,
- uint32_t *tile_x,
- uint32_t *tile_y)
-{
- struct intel_region *region = irb->mt->region;
- uint32_t mask_x, mask_y;
-
- intel_region_get_tile_masks(region, &mask_x, &mask_y, false);
-
- *tile_x = irb->draw_x & mask_x;
- *tile_y = irb->draw_y & mask_y;
- return intel_region_get_aligned_offset(region, irb->draw_x & ~mask_x,
- irb->draw_y & ~mask_y, false);
-}
-
-/**
* Called by glFramebufferTexture[123]DEXT() (and other places) to
* prepare for rendering into texture memory. This might be called
* many times to choose different texture levels, cube faces, etc
diff --git a/src/mesa/drivers/dri/intel/intel_fbo.h b/src/mesa/drivers/dri/intel/intel_fbo.h
index aa52b979f88..5d6dc7ef7df 100644
--- a/src/mesa/drivers/dri/intel/intel_fbo.h
+++ b/src/mesa/drivers/dri/intel/intel_fbo.h
@@ -33,6 +33,7 @@
#include "main/formats.h"
#include "main/macros.h"
#include "intel_context.h"
+#include "intel_mipmap_tree.h"
#include "intel_screen.h"
#ifdef __cplusplus
@@ -148,10 +149,14 @@ intel_flip_renderbuffers(struct gl_framebuffer *fb);
void
intel_renderbuffer_set_draw_offset(struct intel_renderbuffer *irb);
-uint32_t
+static inline uint32_t
intel_renderbuffer_tile_offsets(struct intel_renderbuffer *irb,
uint32_t *tile_x,
- uint32_t *tile_y);
+ uint32_t *tile_y)
+{
+ return intel_miptree_get_tile_offsets(irb->mt, irb->mt_level, irb->mt_layer,
+ tile_x, tile_y);
+}
struct intel_region*
intel_get_rb_region(struct gl_framebuffer *fb, GLuint attIndex);