mesa: Branch 'master' - 2 commits
Michel Daenzer
daenzer at kemper.freedesktop.org
Mon Apr 9 12:58:59 UTC 2007
src/mesa/drivers/dri/i915tex/intel_mipmap_tree.c | 2 +-
src/mesa/drivers/dri/i915tex/intel_tex_image.c | 21 ++-------------------
src/mesa/main/texstore.c | 6 +++---
src/mesa/main/texstore.h | 4 ++++
4 files changed, 10 insertions(+), 23 deletions(-)
New commits:
diff-tree e8292d28e4aeb96f70140ed627c24b6f30b50a80 (from c96974f78cf3bbb94c01d6c84201595b4028d840)
Author: Michel Dänzer <michel at tungstengraphics.com>
Date: Mon Apr 9 14:57:08 2007 +0200
i915tex: Fix some mismatches between texels or bytes for pitch/stride.
diff --git a/src/mesa/drivers/dri/i915tex/intel_mipmap_tree.c b/src/mesa/drivers/dri/i915tex/intel_mipmap_tree.c
index 93372f4..8e83028 100644
--- a/src/mesa/drivers/dri/i915tex/intel_mipmap_tree.c
+++ b/src/mesa/drivers/dri/i915tex/intel_mipmap_tree.c
@@ -317,7 +317,7 @@ intel_miptree_image_data(struct intel_co
0, 0, /* source x, y */
dst->level[level].width, height); /* width, height */
- src += src_image_pitch;
+ src += src_image_pitch * dst->cpp;
}
}
diff --git a/src/mesa/drivers/dri/i915tex/intel_tex_image.c b/src/mesa/drivers/dri/i915tex/intel_tex_image.c
index 1ce663e..42679ef 100644
--- a/src/mesa/drivers/dri/i915tex/intel_tex_image.c
+++ b/src/mesa/drivers/dri/i915tex/intel_tex_image.c
@@ -614,6 +614,7 @@ intel_get_tex_image(GLcontext * ctx, GLe
intelImage->level,
&intelImage->base.RowStride,
intelImage->base.ImageOffsets);
+ intelImage->base.RowStride /= intelImage->mt->cpp;
}
else {
/* Otherwise, the image should actually be stored in
diff-tree c96974f78cf3bbb94c01d6c84201595b4028d840 (from 6461e91ac3ce6160107d5df7468572c6e943f442)
Author: Michel Dänzer <michel at tungstengraphics.com>
Date: Mon Apr 9 14:52:18 2007 +0200
i915tex: Make sure texture format fetch hooks are initialized.
diff --git a/src/mesa/drivers/dri/i915tex/intel_tex_image.c b/src/mesa/drivers/dri/i915tex/intel_tex_image.c
index 22221e7..1ce663e 100644
--- a/src/mesa/drivers/dri/i915tex/intel_tex_image.c
+++ b/src/mesa/drivers/dri/i915tex/intel_tex_image.c
@@ -329,25 +329,7 @@ intelTexImage(GLcontext * ctx,
texImage->TexFormat = intelChooseTextureFormat(ctx, internalFormat,
format, type);
- assert(texImage->TexFormat);
-
- switch (dims) {
- case 1:
- texImage->FetchTexelc = texImage->TexFormat->FetchTexel1D;
- texImage->FetchTexelf = texImage->TexFormat->FetchTexel1Df;
- break;
- case 2:
- texImage->FetchTexelc = texImage->TexFormat->FetchTexel2D;
- texImage->FetchTexelf = texImage->TexFormat->FetchTexel2Df;
- break;
- case 3:
- texImage->FetchTexelc = texImage->TexFormat->FetchTexel3D;
- texImage->FetchTexelf = texImage->TexFormat->FetchTexel3Df;
- break;
- default:
- assert(0);
- break;
- }
+ _mesa_set_fetch_functions(texImage, dims);
if (texImage->TexFormat->TexelBytes == 0) {
/* must be a compressed format */
diff --git a/src/mesa/main/texstore.c b/src/mesa/main/texstore.c
index a570525..9b8a06d 100644
--- a/src/mesa/main/texstore.c
+++ b/src/mesa/main/texstore.c
@@ -2771,8 +2771,8 @@ fetch_texel_chan_to_float(const struct g
/**
* Initialize the texture image's FetchTexelc and FetchTexelf methods.
*/
-static void
-set_fetch_functions(struct gl_texture_image *texImage, GLuint dims)
+void
+_mesa_set_fetch_functions(struct gl_texture_image *texImage, GLuint dims)
{
ASSERT(dims == 1 || dims == 2 || dims == 3);
ASSERT(texImage->TexFormat);
@@ -2832,7 +2832,7 @@ choose_texture_format(GLcontext *ctx, st
ASSERT(texImage->TexFormat);
- set_fetch_functions(texImage, dims);
+ _mesa_set_fetch_functions(texImage, dims);
if (texImage->TexFormat->TexelBytes == 0) {
/* must be a compressed format */
diff --git a/src/mesa/main/texstore.h b/src/mesa/main/texstore.h
index f67defc..da0c7cb 100644
--- a/src/mesa/main/texstore.h
+++ b/src/mesa/main/texstore.h
@@ -86,6 +86,10 @@ _mesa_make_temp_chan_image(GLcontext *ct
extern void
+_mesa_set_fetch_functions(struct gl_texture_image *texImage, GLuint dims);
+
+
+extern void
_mesa_store_teximage1d(GLcontext *ctx, GLenum target, GLint level,
GLint internalFormat,
GLint width, GLint border,
More information about the mesa-commit
mailing list