Am Mittwoch, 28. Januar 2004 13:52 schrieb Roland Scheidegger:
Dieter Nützel wrote:
Am Samstag, 24. Januar 2004 03:00 schrieb Roland Scheidegger:
Dieter Nützel wrote:
Am Freitag, 16. Januar 2004 20:00 schrieb Roland Scheidegger:
ok, here's another attempt, which uses an external dxtn library (patch against current Mesa cvs trunk).
And, again? - After texture merge.
since you've asked ;-)
;-)))
After latest DRI CVS update I get this: r200_texmem.c: In function `uploadSubImage': r200_texmem.c:296: error: request for member `IntFormat' in something not a structure or union
That's what I got too ;-) It's a bug I introduced only in the debug-fprintf function, I don't know why it compiled before these changes, as it was broken before. Reverting the fprintf to its previous behaviour (i.e. not outputting the internal format) will fix things.
Apart from that I get a some few rejections in main/texstore.c, now:
patching file main/texstore.c Hunk #1 succeeded at 2497 (offset 1722 lines). Hunk #2 succeeded at 2548 with fuzz 2 (offset 1748 lines). Hunk #3 succeeded at 2602 (offset 1741 lines). Hunk #4 succeeded at 2653 with fuzz 2 (offset 1769 lines). Hunk #5 FAILED at 2709. Hunk #6 FAILED at 2732. Hunk #7 succeeded at 2726 with fuzz 2 (offset 1721 lines). Hunk #8 succeeded at 2807 with fuzz 2 (offset 1753 lines). Hunk #9 succeeded at 2889 with fuzz 2 (offset 1787 lines). Hunk #10 succeeded at 3048 with fuzz 2 (offset 1793 lines). Hunk #11 succeeded at 3973 (offset 1947 lines). Hunk #12 succeeded at 4045 (offset 1947 lines). 2 out of 12 hunks FAILED -- saving rejects to file main/texstore.c.rej
@@ -2693,6 +2709,13 @@
texelBytes = texImage->TexFormat->TexelBytes;
+ texImage->IsCompressed = is_compressed_format_mesaformat(ctx, texImage->TexFormat);
+ if (texImage->IsCompressed)
+ texImage->CompressedSize = _mesa_compressed_texture_size_mesaformat(ctx, width, height,
+ depth, texImage->TexFormat);
+ else
+ texImage->CompressedSize = 0;
+
/* allocate memory */
if (texImage->IsCompressed)
sizeInBytes = texImage->CompressedSize;
But current code looks like this (depth vs 1):
texelBytes = texImage->TexFormat->TexelBytes;
texImage->IsCompressed = is_compressed_format_mesaformat(ctx, texImage->TexFormat);
if (texImage->IsCompressed)
texImage->CompressedSize = _mesa_compressed_texture_size_mesaformat(ctx, width, height,
1, texImage->TexFormat);
else
texImage->CompressedSize = 0;
/* allocate memory */ if (texImage->IsCompressed) sizeInBytes = texImage->CompressedSize;
@@ -2709,7 +2732,7 @@
/* unpack image, apply transfer ops and store in texImage->Data */
if (texImage->IsCompressed) {
- GLint dstRowStride = _mesa_compressed_row_stride(texImage->IntFormat,
+ GLint dstRowStride = _mesa_compressed_row_stride_mesaformat(texImage->TexFormat,
width);
transfer_compressed_teximage(ctx, 3, width, height, depth,
format, type, packing,
And like this (depth vs 1 and 3 vs 2)
/* unpack image, apply transfer ops and store in texImage->Data */
if (texImage->IsCompressed) {
GLint dstRowStride = _mesa_compressed_row_stride_mesaformat(texImage->TexFormat,
width);
transfer_compressed_teximage(ctx, 2, width, height, 1,
format, type, packing,
The compressed texture code/infrastructure isn't quite up to date right now. I'll try to put a bit of work into it one of these days.
-Brian
------------------------------------------------------- This SF.net email is sponsored by: The Robotic Monkeys at ThinkGeek For a limited time only, get FREE Ground shipping on all orders of $35 or more. Hurry up and shop folks, this offer expires April 30th! http://www.thinkgeek.com/freeshipping/?cpg297 -- _______________________________________________ Dri-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dri-devel