Bug 28284

Summary: [r300, r600] celestia core dumps - Assertion `dstRowStride' failed.
Product: Mesa Reporter: Chris Rankin <rankincj>
Component: Drivers/DRI/r300Assignee: Default DRI bug account <dri-devel>
Status: RESOLVED FIXED QA Contact:
Severity: major    
Priority: medium CC: randrik
Version: git   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: Alternate patch for mipmap HW generation

Description Chris Rankin 2010-05-27 13:07:54 UTC
I am getting the following core dump with my Radeon 9550 and Mesa-git. (My HD4890 seems affected too.)

Core was generated by `/usr/bin/celestia'.
Program terminated with signal 6, Aborted.
#0  0xb77e7424 in __kernel_vsyscall ()

Thread 1 (Thread 26350):
#0  0xb77e7424 in __kernel_vsyscall ()
No symbol table info available.
#1  0x466c3a81 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
        resultvar = <value optimized out>
        resultvar = <value optimized out>
        pid = 1182830580
        selftid = 26350
#2  0x466c534a in abort () at abort.c:92
        save_stage = 2
        act = {__sigaction_handler = {sa_handler = 0x4680a380 <main_arena>, 
            sa_sigaction = 0x4680a380 <main_arena>}, sa_mask = {__val = {
    1182830580, 96, 1, 3218383328, 3218383116, 0, 104, 89, 1182835584, 
    1182830580, 89, 88, 3218383288, 1181745554, 156360952, 89, 3218383328, 
    156360952, 0, 4222451712, 156360952, 156360952, 156360952, 156360952, 
    156361040, 156361052, 156360952, 156361052, 0, 0, 0, 0}}, sa_flags = 0, 
          sa_restorer = 0}
        sigs = {__val = {32, 0 <repeats 31 times>}}
#3  0x466bcbd8 in __assert_fail (assertion=0xb697b153 "dstRowStride", file=
    0xb697b0e8 "radeon_texture.c", line=703, function=
    0xb697b1c9 "radeon_store_teximage") at assert.c:81
        buf = 
    0x951e0f8 "celestia: radeon_texture.c:703: radeon_store_teximage: Assertion `dstRowStride' failed.\n"
#4  0xb67d5c76 in radeon_store_teximage (ctx=0x91c6288, dims=2, xoffset=0, 
    yoffset=0, zoffset=0, width=8, height=8, depth=1, imageSize=0, format=
    6407, type=5121, pixels=0x95750d0, packing=0x91d5058, texObj=0x957ad28, 
    texImage=0x93a4360, compressed=0) at radeon_texture.c:703
        rmesa = <value optimized out>
        image = 0x93a4360
        dstRowStride = 26350
        dstImageOffsets = <value optimized out>
        __func__ = "radeon_store_teximage"
        __PRETTY_FUNCTION__ = "radeon_store_teximage"
#5  0xb67d62d3 in radeon_teximage (ctx=0x91c6288, dims=2, target=3553, level=
    3, internalFormat=3, width=8, height=8, depth=1, imageSize=0, format=
    6407, type=5121, pixels=0x95750d0, packing=0x91d5058, texObj=0x957ad28, 
    texImage=0x93a4360, compressed=0) at radeon_texture.c:847
        rmesa = 0x91c04d8
        t = 0x957ad28
        image = 0x93a4360
        postConvWidth = 8
        postConvHeight = 8
        face = 0
        __func__ = "radeon_teximage"
        __PRETTY_FUNCTION__ = "radeon_teximage"
#6  0xb67d67a7 in radeonTexImage2D (ctx=0x91c6288, target=3553, level=3, 
    internalFormat=3, width=8, height=8, border=0, format=6407, type=5121, 
    pixels=0x95750d0, packing=0x91d5058, texObj=0x957ad28, texImage=0x93a4360)
    at radeon_texture.c:880
No locals.
#7  0xb68594bc in _mesa_TexImage2D (target=3553, level=3, 
    internalFormat=<value optimized out>, width=8, height=8, border=0, format=
    6407, type=5121, pixels=0x95750d0) at main/teximage.c:2251
        texObj = 0x957ad28
        texImage = <value optimized out>
        face = 0
        postConvWidth = 8
        postConvHeight = 8
        ctx = 0x91c6288
#8  0xb776718d in gluBuild2DMipmapLevelsCore (target=3553, internalFormat=3, 
    width=64, height=64, widthPowerOf2=64, heightPowerOf2=64, format=6407, 
    type=5121, userLevel=0, baseLevel=0, maxLevel=6, data=0x95b7988)
    at libutil/mipmap.c:4494
        rowPad = <value optimized out>
        newwidth = 8
        newheight = 8
        level = <value optimized out>
        levels = 6
        usersImage = 0xb775cf70
        srcImage = 0x95750d0
        dstImage = 0x95ba990
        tmpImage = 0x95ba990
        memreq = <value optimized out>
        cmpts = 24
        myswap_bytes = 0
        groups_per_line = <value optimized out>
        element_size = 1
        group_size = 3
        rowsize = 24
        padding = <value optimized out>
        psm = {pack_alignment = 4, pack_row_length = 0, pack_skip_rows = 0, 
          pack_skip_pixels = 0, pack_lsb_first = 0, pack_swap_bytes = 0, 
          pack_skip_images = -1076583004, pack_image_height = 3553, 
          unpack_alignment = 4, unpack_row_length = 0, unpack_skip_rows = 0, 
          unpack_skip_pixels = 0, unpack_lsb_first = 0, unpack_swap_bytes = 
    0, unpack_skip_images = 32, unpack_image_height = 32}
#9  0xb776e8bb in gluBuild2DMipmaps (target=3553, internalFormat=3, width=64, 
    height=64, format=6407, type=5121, data=0x95b7988)
    at libutil/mipmap.c:4606
        widthPowerOf2 = 64
        heightPowerOf2 = 64
        level = 26350
        levels = <value optimized out>
        rc = <value optimized out>
#10 0x081699fe in ImageTexture::ImageTexture(Image&, Texture::AddressMode, Texture::MipMapMode) ()
No symbol table info available.
#11 0x08169dbe in CreateProceduralTexture(int, int, int, void (*)(float, float, float, unsigned char*), Texture::AddressMode, Texture::MipMapMode) ()
No symbol table info available.
#12 0x0812ccbb in Renderer::init(GLContext*, int, int, Renderer::DetailOptions&) ()
No symbol table info available.
#13 0x0809561a in CelestiaCore::initRenderer() ()
No symbol table info available.
#14 0x080c9df7 in ?? ()
No symbol table info available.
#15 0x46b2d2d4 in IA__g_cclosure_marshal_VOID__VOID (closure=0x90bbe88, 
    return_value=0x0, n_param_values=1, param_values=0x90d8280, 
    invocation_hint=0xbfd4aa50, marshal_data=0x0) at gmarshal.c:77
        callback = 0x80c9de0
        cc = 0x90bbe88
        data1 = <value optimized out>
        data2 = <value optimized out>
        __PRETTY_FUNCTION__ = "IA__g_cclosure_marshal_VOID__VOID"
#16 0x46b1f5b3 in IA__g_closure_invoke (closure=0x90bbe88, return_value=0x0, 
    n_param_values=1, param_values=0x90d8280, invocation_hint=0xbfd4aa50)
    at gclosure.c:767
        marshal = <value optimized out>
        marshal_data = <value optimized out>
        in_marshal = 151829248
        __PRETTY_FUNCTION__ = "IA__g_closure_invoke"
#17 0x46b35118 in signal_emit_unlocked_R (node=0x85da6c8, detail=0, instance=
    0x862f908, emission_return=0x0, instance_and_params=0x90d8280)
    at gsignal.c:3247
        tmp = <value optimized out>
        handler = 0x8ef2d60
        accumulator = 0x0
        emission = {next = 0xbfd4ae98, instance = 0x862f908, ihint = {
            signal_id = 16, detail = 0, run_type = G_SIGNAL_RUN_FIRST}, 
          state = EMISSION_RUN, chain_type = 4}
        class_closure = 0x85bba78
        handler_list = 0x8ef30c0
        return_accu = 0x0
        accu = {g_type = 0, data = {{v_int = 0, v_uint = 0, v_long = 0, 
              v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 
    0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, 
              v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, 
              v_pointer = 0x0}}}
        signal_id = 16
        max_sequential_handler_number = 569
        return_value_altered = 1
#18 0x46b3647d in IA__g_signal_emit_valist (instance=0x862f908, signal_id=16, 
    detail=0, var_args=<value optimized out>) at gsignal.c:2980
        instance_and_params = 0x90d8280
        signal_return_type = 4
        param_values = 0x90d8294
        node = <value optimized out>
        i = <value optimized out>
        n_params = 0
        __PRETTY_FUNCTION__ = "IA__g_signal_emit_valist"
#19 0x46b36907 in IA__g_signal_emit (instance=0x862f908, signal_id=16, detail=
    0) at gsignal.c:3037
        var_args = <value optimized out>
#20 0x471d353e in IA__gtk_widget_realize (widget=0x862f908 [GtkDrawingArea])
    at gtkwidget.c:3336
        mode = <value optimized out>
        shape_info = <value optimized out>
        __PRETTY_FUNCTION__ = "IA__gtk_widget_realize"
#21 0x471d3f48 in IA__gtk_widget_map (widget=0x862f908 [GtkDrawingArea])
    at gtkwidget.c:3210
        __PRETTY_FUNCTION__ = "IA__gtk_widget_map"
#22 0x46fabb2d in gtk_box_forall (container=0x90bc068 [GtkVBox], 
    include_internals=1, callback=0x46fe91b0 <gtk_container_map_child>, 
    callback_data=0x0) at gtkbox.c:1249
        box = 0x90bc068 [GtkVBox]
        child = <value optimized out>
        children = <value optimized out>
#23 0x46fe6c34 in IA__gtk_container_forall (container=0x90bc068 [GtkVBox], 
    callback=0x46fe91b0 <gtk_container_map_child>, callback_data=0x0)
    at gtkcontainer.c:1499
        class = 0x906bf18
        __PRETTY_FUNCTION__ = "IA__gtk_container_forall"
#24 0x46fe9183 in gtk_container_map (widget=0x90bc068 [GtkVBox])
    at gtkcontainer.c:2665
No locals.
#25 0x46b2d2d4 in IA__g_cclosure_marshal_VOID__VOID (closure=0x85d7b10, 
    return_value=0x0, n_param_values=1, param_values=0x90d8038, 
    invocation_hint=0xbfd4aea0, marshal_data=0x46fe9120) at gmarshal.c:77
        callback = 0x46fe9120 <gtk_container_map>
        cc = 0x85d7b10
        data1 = <value optimized out>
        data2 = <value optimized out>
        __PRETTY_FUNCTION__ = "IA__g_cclosure_marshal_VOID__VOID"
#26 0x46b1dc0a in g_type_class_meta_marshal (closure=0x85d7b10, return_value=
    0x0, n_param_values=1, param_values=0x90d8038, invocation_hint=
    0xbfd4aea0, marshal_data=0x6c) at gclosure.c:878
        class = Cannot access memory at address 0x0
From        To          Syms Read   Shared Object Library
0x46c266f0  0x46c42578  Yes (*)     /usr/lib/libpng12.so.0
0x47c162d0  0x47c306b8  Yes (*)     /usr/lib/libjpeg.so.62
0x46da7740  0x46db14b8  Yes (*)     /usr/lib/libXi.so.6
0x46aea720  0x46af4ff8  Yes (*)     /usr/lib/libXext.so.6
0x4686a620  0x468758e8  Yes (*)     /lib/libz.so.1
0x4a84fe00  0x4a89ce68  Yes (*)     /usr/lib/libgnomeui-2.so.0
0x4a76d160  0x4a7a7f58  Yes (*)     /usr/lib/libbonoboui-2.so.0
0x4a6d4270  0x4a710bb8  Yes (*)     /usr/lib/libgnomevfs-2.so.0
0x48268fa0  0x482884e8  Yes (*)     /usr/lib/libgnomecanvas-2.so.0
0x4a733ea0  0x4a73eba8  Yes (*)     /usr/lib/libgnome-2.so.0
0x47c62350  0x47c67b18  Yes (*)     /lib/libpopt.so.0
0x47df82b0  0x47e28a58  Yes (*)     /usr/lib/libbonobo-2.so.0
0x47e96050  0x47e9f208  Yes (*)     /usr/lib/libbonobo-activation.so.4
0x47992d90  0x479ba7b8  Yes (*)     /usr/lib/libORBit-2.so.0
0x48297350  0x482a93c8  Yes (*)     /usr/lib/libart_lgpl_2.so.2
0x47a9ef00  0x47abc5c8  Yes (*)     /usr/lib/libgconf-2.so.4
0x46c15f40  0x46c176b8  Yes (*)     /lib/libgthread-2.0.so.0
0x4685f880  0x46863688  Yes (*)     /lib/librt.so.1
0x47a1aea0  0x47a1bad8  Yes (*)     /usr/lib/libgtkglext-x11-1.0.so.0
0x47f674c0  0x47f8d7a8  Yes (*)     /usr/lib/libgdkglext-x11-1.0.so.0
0xb775a7a0  0xb77b0e68  Yes         /home/chris/Programs/local-mesa/lib/libGLU.so.1
0xb7714b50  0xb7748398  Yes         /home/chris/Programs/local-mesa/lib/libGL.so.1
0x476678f0  0x47676698  Yes (*)     /usr/lib/libXmu.so.6
0x47525b40  0x475629e8  Yes (*)     /usr/lib/libXt.so.6
0x46d55380  0x46d59d28  Yes (*)     /usr/lib/libSM.so.6
0x46d61530  0x46d711e8  Yes (*)     /usr/lib/libICE.so.6
0x46f8add0  0x47260ab8  Yes (*)     /usr/lib/libgtk-x11-2.0.so.0
0x47a0f3f0  0x47a15208  Yes (*)     /usr/lib/libpangox-1.0.so.0
0x468b7370  0x46948798  Yes (*)     /usr/lib/libX11.so.6
0x46e9a250  0x46effc78  Yes (*)     /usr/lib/libgdk-x11-2.0.so.0
0x473d31b0  0x473e02e8  Yes (*)     /usr/lib/libatk-1.0.so.0
0x46b74ad0  0x46be0088  Yes (*)     /lib/libgio-2.0.so.0
0x474d3420  0x474ee088  Yes (*)     /usr/lib/libpangoft2-1.0.so.0
0x46d7e0f0  0x46d90908  Yes (*)     /usr/lib/libgdk_pixbuf-2.0.so.0
0x4743c3d0  0x474414b8  Yes (*)     /usr/lib/libpangocairo-1.0.so.0
0x473f80e0  0x4741a088  Yes (*)     /usr/lib/libpango-1.0.so.0
0x46c8a3c0  0x46cf3528  Yes (*)     /usr/lib/libfreetype.so.6
0x46d20f60  0x46d3ccc8  Yes (*)     /usr/lib/libfontconfig.so.1
0x46b1c460  0x46b47898  Yes (*)     /lib/libgobject-2.0.so.0
0x46b5cc30  0x46b5dd98  Yes (*)     /lib/libgmodule-2.0.so.0
0x46a0ca20  0x46a8a328  Yes (*)     /lib/libglib-2.0.so.0
0x47453210  0x474ad328  Yes (*)     /usr/lib/libcairo.so.2
0x4858bf90  0x485aa008  Yes (*)     /usr/lib/liblua-5.1.so
0x4683ba60  0x4683ca88  Yes (*)     /lib/libdl.so.2
0x475bd620  0x4762c688  Yes (*)     /usr/lib/libstdc++.so.6
0x46812420  0x4682c718  Yes (*)     /lib/libm.so.6
0x474faf40  0x475131f8  Yes (*)     /lib/libgcc_s.so.1
0x46846300  0x46851c28  Yes (*)     /lib/libpthread.so.0
0x466af990  0x467bb4a0  Yes (*)     /lib/libc.so.6
0x47eb5680  0x47ec1568  Yes (*)     /usr/lib/libgnome-keyring.so.0
0x47845b00  0x4792b0d8  Yes (*)     /usr/lib/libxml2.so.2
0x47683530  0x47694af8  Yes (*)     /usr/lib/libdbus-glib-1.so.2
0x46e36230  0x46e623c8  Yes (*)     /lib/libdbus-1.so.3
0x4a677e60  0x4a6af598  Yes (*)     /usr/lib/libssl.so.10
0x4a517e80  0x4a5fb0a8  Yes (*)     /usr/lib/libcrypto.so.10
0x47e89940  0x47e8aac8  Yes (*)     /usr/lib/libavahi-glib.so.1
0x47d8b550  0x47d91818  Yes (*)     /usr/lib/libavahi-common.so.3
0x47dc78e0  0x47dd0f48  Yes (*)     /usr/lib/libavahi-client.so.3
0x46afd650  0x46b0bb48  Yes (*)     /lib/libresolv.so.2
0x469e1190  0x469f23c8  Yes (*)     /lib/libselinux.so.1
0x47c39a20  0x47c3a2c8  Yes (*)     /lib/libutil.so.1
0x47ea9f70  0x47eadac8  Yes (*)     /usr/lib/libgailutil.so.18
0x47dd9c50  0x47dda968  Yes (*)     /usr/lib/libORBitCosNaming-2.so.0
0x46677830  0x4668ed0f  Yes (*)     /lib/ld-linux.so.2
0x47c3fad0  0x47c427a8  Yes (*)     /usr/lib/libXxf86vm.so.1
0x46c777c0  0x46c78248  Yes (*)     /usr/lib/libXdamage.so.1
0x46c7ce70  0x46c7f3a8  Yes (*)     /usr/lib/libXfixes.so.3
0x47d014f0  0x47d06ba8  Yes (*)     /usr/lib/libdrm.so.2
0x46c1ce60  0x46c1e998  Yes (*)     /lib/libuuid.so.1
0x46889e80  0x46898608  Yes (*)     /usr/lib/libxcb.so.1
0x46d9c2c0  0x46da2178  Yes (*)     /usr/lib/libXrender.so.1
0x46dc0780  0x46dc1258  Yes (*)     /usr/lib/libXinerama.so.1
0x46db7150  0x46dbbc38  Yes (*)     /usr/lib/libXrandr.so.2
0x46e7be40  0x46e81458  Yes (*)     /usr/lib/libXcursor.so.1
0x47447890  0x47448488  Yes (*)     /usr/lib/libXcomposite.so.1
0x46c4f040  0x46c67f28  Yes (*)     /lib/libexpat.so.1
0x46dd07a0  0x46e22e68  Yes (*)     /usr/lib/libpixman-1.so.0
0x46dc5da0  0x46dc78d8  Yes (*)     /lib/libcap-ng.so.0
0x44e54750  0x44e764d8  Yes (*)     /lib/libgssapi_krb5.so.2
0x44e99e50  0x44efcf88  Yes (*)     /lib/libkrb5.so.3
0x47976d10  0x47977928  Yes (*)     /lib/libcom_err.so.2
0x44f497f0  0x44f64288  Yes (*)     /lib/libk5crypto.so.3
0x4687ea00  0x4687f7f8  Yes (*)     /usr/lib/libXau.so.6
0x44e81c60  0x44e861f8  Yes (*)     /lib/libkrb5support.so.0
0x47a07860  0x47a07fc8  Yes (*)     /lib/libkeyutils.so.1
0xb74c8a00  0xb74d00e8  Yes (*)     /lib/libnss_files.so.2
0xb7478ad0  0xb749cc18  Yes (*)     /usr/lib/gtk-2.0/2.10.0/engines/libclearlooks.so
0xb77ca070  0xb77ca9d8  Yes (*)     /usr/lib/gtk-2.0/modules/libpk-gtk-module.so
0xb74ec350  0xb74ecc98  Yes (*)     /usr/lib/gconv/ISO8859-1.so
0x6f8d3350  0x6f8d3c98  Yes (*)     /usr/lib/gconv/ISO8859-1.so
0x47ecb3c0  0x47ed52f8  Yes (*)     /usr/lib/libcanberra.so.0
0x6ff72350  0x6ff72c98  Yes (*)     /usr/lib/gconv/ISO8859-1.so
0x47d9aa10  0x47db0d48  Yes (*)     /usr/lib/libvorbis.so.0
0x6ff7b350  0x6ff7bc98  Yes (*)     /usr/lib/gconv/ISO8859-1.so
0xb744a610  0xb7453868  Yes (*)     /usr/lib/libtdb.so.1
0xb7440a30  0xb7445458  Yes (*)     /usr/lib/libltdl.so.7
0xb74d5350  0xb74d5c98  Yes (*)     /usr/lib/gconv/ISO8859-1.so
0xb679bb60  0xb696fca8  Yes         /home/chris/Programs/local-mesa/lib/dri/r300_dri.so
0xb6faed30  0xb6fb09d8  Yes (*)     /usr/lib/libdrm_radeon.so.1
0xb73bd440  0xb73c0a58  Yes (*)     /usr/lib/libtxc_dxtn.so
(*): Shared library is missing debugging information.
$1 = 
    0x951e0f8 "celestia: radeon_texture.c:703: radeon_store_teximage: Assertion `dstRowStride' failed.\n"
No symbol "__glib_assert_msg" in current context.
eax            0x0	0
ecx            0x66ee	26350
edx            0x6	6
ebx            0x66ee	26350
esp            0xbfd4a090	0xbfd4a090
ebp            0xbfd4a0a8	0xbfd4a0a8
esi            0x467d0a6f	1182599791
edi            0x46808ff4	1182830580
eip            0xb77e7424	0xb77e7424 <__kernel_vsyscall+16>
eflags         0x206	[ PF IF ]
cs             0x73	115
ss             0x7b	123
ds             0x7b	123
es             0x7b	123
fs             0x0	0
gs             0x33	51
Dump of assembler code for function __kernel_vsyscall:
0xb77e7414 <__kernel_vsyscall+0>:	push   %ecx
0xb77e7415 <__kernel_vsyscall+1>:	push   %edx
0xb77e7416 <__kernel_vsyscall+2>:	push   %ebp
0xb77e7417 <__kernel_vsyscall+3>:	mov    %esp,%ebp
0xb77e7419 <__kernel_vsyscall+5>:	sysenter 
0xb77e741b <__kernel_vsyscall+7>:	nop
0xb77e741c <__kernel_vsyscall+8>:	nop
0xb77e741d <__kernel_vsyscall+9>:	nop
0xb77e741e <__kernel_vsyscall+10>:	nop
0xb77e741f <__kernel_vsyscall+11>:	nop
0xb77e7420 <__kernel_vsyscall+12>:	nop
0xb77e7421 <__kernel_vsyscall+13>:	nop
0xb77e7422 <__kernel_vsyscall+14>:	jmp    0xb77e7417 <__kernel_vsyscall+3>
0xb77e7424 <__kernel_vsyscall+16>:	pop    %ebp
0xb77e7425 <__kernel_vsyscall+17>:	pop    %edx
0xb77e7426 <__kernel_vsyscall+18>:	pop    %ecx
0xb77e7427 <__kernel_vsyscall+19>:	ret    
End of assembler dump.
Comment 1 Alex Deucher 2010-05-27 13:10:44 UTC
Is this a recent regression?  If so, can you bisect it?  I suspect one of the recent mipmap patches if so.
Comment 2 Chris Rankin 2010-05-27 15:12:52 UTC
(In reply to comment #1)
> Is this a recent regression?  If so, can you bisect it?  I suspect one of the
> recent mipmap patches if so.

My (admitted limited) git-fu says:

a9ee95651131e27d5acf3d10909b5b7e5c8d3e92 is the first bad commit
commit a9ee95651131e27d5acf3d10909b5b7e5c8d3e92
Author: Will Dyson <will.dyson@gmail.com>
Date:   Tue May 25 01:10:20 2010 -0400

    Fix image_matches_texture_obj() MaxLevel check
    
    When generating or uploading a new (higher) mipmap level for an image,
    we can need to allocate a miptree for a level greater than
    texObj->MaxLevel.
    
    Signed-off-by: Maciej Cencora <m.cencora@gmail.com>
    Signed-off-by: Alex Deucher <alexdeucher@gmail.com>

:040000 040000 4e72a3914fd8572238c211c806b19d274557d5a9 ff974b144171e820cf2c22af344905ba62dcd446 M	src
Comment 3 Will Dyson 2010-05-27 21:53:52 UTC
(In reply to comment #2)
> (In reply to comment #1)
> > Is this a recent regression?  If so, can you bisect it?  I suspect one of the
> > recent mipmap patches if so.
> 
> My (admitted limited) git-fu says:
> 
> a9ee95651131e27d5acf3d10909b5b7e5c8d3e92 is the first bad commit
> commit a9ee95651131e27d5acf3d10909b5b7e5c8d3e92
> Author: Will Dyson <will.dyson@gmail.com>
> Date:   Tue May 25 01:10:20 2010 -0400

Crap. The driver really does allocate memory based on the maxlevel of the texture object. I've got an alternate patch though...
Comment 4 Will Dyson 2010-05-27 21:56:22 UTC
Created attachment 35898 [details] [review]
Alternate patch for mipmap HW generation

Contains a revert of the bad changes
Comment 5 Chris Rankin 2010-06-07 11:47:07 UTC
(In reply to comment #4)
> Created an attachment (id=35898) [details]
> Alternate patch for mipmap HW generation
> 
> Contains a revert of the bad changes

Were people waiting on me to test this patch? (Couldn't anyone else reproduce the problem?)

"Yes, it fixes it. Thanks."
Comment 6 Michal Krenek 2010-06-18 07:41:54 UTC
Please commit this patch to Git repository. I know this is temporary fix, but if it is such a bad regression (and it is bad regression, at least for me Celestia is really important software), the bad change which causes it should be reverted immediately till the proper fix is released.
Comment 7 Maciej Cencora 2010-06-19 13:30:00 UTC
Fix pushed.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.