summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/intel
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/drivers/dri/intel')
-rw-r--r--src/mesa/drivers/dri/intel/intel_tex_layout.c23
-rw-r--r--src/mesa/drivers/dri/intel/intel_tex_layout.h4
2 files changed, 25 insertions, 2 deletions
diff --git a/src/mesa/drivers/dri/intel/intel_tex_layout.c b/src/mesa/drivers/dri/intel/intel_tex_layout.c
index bedd835cbb..61b8fb77c5 100644
--- a/src/mesa/drivers/dri/intel/intel_tex_layout.c
+++ b/src/mesa/drivers/dri/intel/intel_tex_layout.c
@@ -32,6 +32,7 @@
#include "macros.h"
#include "pipe/p_state.h"
+#include "intel_tex_layout.h"
#include "intel_mipmap_tree.h"
@@ -47,7 +48,7 @@ static int align(int value, int alignment)
static void
-mipmaptree_set_level_info(struct pipe_mipmap_tree *mt,
+intel_miptree_set_level_info(struct pipe_mipmap_tree *mt,
GLuint level,
GLuint nr_images,
GLuint x, GLuint y, GLuint w, GLuint h, GLuint d)
@@ -80,6 +81,24 @@ mipmaptree_set_level_info(struct pipe_mipmap_tree *mt,
static void
+intel_miptree_set_image_offset(struct pipe_mipmap_tree *mt,
+ GLuint level, GLuint img, GLuint x, GLuint y)
+{
+ if (img == 0 && level == 0)
+ assert(x == 0 && y == 0);
+
+ assert(img < mt->level[level].nr_images);
+
+ mt->level[level].image_offset[img] = (x + y * mt->pitch);
+
+ /*
+ DBG("%s level %d img %d pos %d,%d image_offset %x\n",
+ __FUNCTION__, level, img, x, y, mt->level[level].image_offset[img]);
+ */
+}
+
+
+static void
i945_miptree_layout_2d( struct pipe_mipmap_tree *mt )
{
GLint align_h = 2, align_w = 4;
@@ -113,7 +132,7 @@ i945_miptree_layout_2d( struct pipe_mipmap_tree *mt )
for ( level = mt->first_level ; level <= mt->last_level ; level++ ) {
GLuint img_height;
- mipmaptree_set_level_info(mt, level, 1, x, y, width, height, 1);
+ intel_miptree_set_level_info(mt, level, 1, x, y, width, height, 1);
if (mt->compressed)
img_height = MAX2(1, height/4);
diff --git a/src/mesa/drivers/dri/intel/intel_tex_layout.h b/src/mesa/drivers/dri/intel/intel_tex_layout.h
index cbd4b8e27f..ed30e2ef76 100644
--- a/src/mesa/drivers/dri/intel/intel_tex_layout.h
+++ b/src/mesa/drivers/dri/intel/intel_tex_layout.h
@@ -33,6 +33,10 @@
#include "macros.h"
+struct pipe_context;
+struct pipe_mipmap_tree;
+
+
extern void i915_miptree_layout_2d( struct pipe_context *, struct pipe_mipmap_tree *mt );
extern void i945_miptree_layout_2d( struct pipe_context *, struct pipe_mipmap_tree *mt );