summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Paul <brianp@vmware.com>2009-11-02 18:42:22 +0100
committerLuc Verhaegen <libv@skynet.be>2009-11-18 09:52:32 +0100
commit8d131debeeb9f31445c1230ecf1477e61007857e (patch)
tree94196c2f446cff80d546614eb203d4aa8e0fef59
parent3e49a40358ec3b1f40b5e99844131aca1d2e73ab (diff)
DRI: mesa: use _mesa_get_texstore_func()
-rw-r--r--dri/via_tex.c23
1 files changed, 13 insertions, 10 deletions
diff --git a/dri/via_tex.c b/dri/via_tex.c
index 54073e7..388fd93 100644
--- a/dri/via_tex.c
+++ b/dri/via_tex.c
@@ -797,22 +797,25 @@ static void viaTexImage(GLcontext *ctx,
else {
GLint dstRowStride;
GLboolean success;
+ StoreTexImageFunc storeImage =
+ _mesa_get_texstore_func(texImage->TexFormat->MesaFormat);
+
if (texImage->IsCompressed) {
dstRowStride = _mesa_compressed_row_stride(texImage->TexFormat->MesaFormat, width);
}
else {
dstRowStride = postConvWidth * texImage->TexFormat->TexelBytes;
}
- ASSERT(texImage->TexFormat->StoreImage);
- success = texImage->TexFormat->StoreImage(ctx, dims,
- texImage->_BaseFormat,
- texImage->TexFormat,
- texImage->Data,
- 0, 0, 0, /* dstX/Y/Zoffset */
- dstRowStride,
- texImage->ImageOffsets,
- width, height, 1,
- format, type, pixels, packing);
+ ASSERT(storeImage);
+ success = storeImage(ctx, dims,
+ texImage->_BaseFormat,
+ texImage->TexFormat,
+ texImage->Data,
+ 0, 0, 0, /* dstX/Y/Zoffset */
+ dstRowStride,
+ texImage->ImageOffsets,
+ width, height, 1,
+ format, type, pixels, packing);
if (!success) {
_mesa_error(ctx, GL_OUT_OF_MEMORY, "glTexImage");
}