Bug 89697

Summary: color index = _mesa_format_from_format_and_type: Assertion `!"Unsupported format"' failed.
Product: Mesa Reporter: Ilia Mirkin <imirkin>
Component: Drivers/DRI/i965Assignee: Ian Romanick <idr>
Status: RESOLVED DUPLICATE QA Contact: Intel 3D Bugs Mailing List <intel-3d-bugs>
Severity: normal    
Priority: medium CC: siglesias
Version: git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Ilia Mirkin 2015-03-20 17:22:34 UTC
See piglit test at http://patchwork.freedesktop.org/patch/42736/ (remove the all.py hunk so that it applies cleanly).

With mesa 10.3.7: pass. With mesa 10.5: crash:

gl-1.0-drawpixels-color-index: main/glformats.c:2754: _mesa_format_from_format_and_type: Assertion `!"Unsupported format"' failed.

Program received signal SIGABRT, Aborted.
0x00007ffff5ae7277 in raise () from /lib64/libc.so.6
(gdb) bt
#0  0x00007ffff5ae7277 in raise () from /lib64/libc.so.6
#1  0x00007ffff5ae8598 in abort () from /lib64/libc.so.6
#2  0x00007ffff5ae03a6 in ?? () from /lib64/libc.so.6
#3  0x00007ffff5ae0452 in __assert_fail () from /lib64/libc.so.6
#4  0x00007ffff20908df in _mesa_format_from_format_and_type (
    format=format@entry=6400, type=type@entry=5121) at main/glformats.c:2754
#5  0x00007ffff21535a4 in draw_rgba_pixels (ctx=ctx@entry=0x7ffff7f85038, 
    x=x@entry=10, y=y@entry=10, width=width@entry=28, height=height@entry=18, 
    format=format@entry=6400, type=type@entry=5121, 
    unpack=unpack@entry=0x7ffff7fa0730, pixels=pixels@entry=0xd6a4b0)
    at swrast/s_drawpix.c:489
#6  0x00007ffff2153f08 in _swrast_DrawPixels (ctx=ctx@entry=0x7ffff7f85038, 
    x=x@entry=10, y=y@entry=10, width=width@entry=28, height=height@entry=18, 
    format=format@entry=6400, type=type@entry=5121, 
    unpack=unpack@entry=0x7ffff7fa0730, pixels=pixels@entry=0xd6a4b0)
    at swrast/s_drawpix.c:729
#7  0x00007ffff218c367 in _mesa_meta_DrawPixels (ctx=ctx@entry=0x7ffff7f85038, 
    x=x@entry=10, y=y@entry=10, width=width@entry=28, height=height@entry=18, 
    format=format@entry=6400, type=type@entry=5121, 
    unpack=unpack@entry=0x7ffff7fa0730, pixels=pixels@entry=0xd6a4b0)
    at drivers/common/meta.c:2141
#8  0x00007ffff232f646 in intelDrawPixels (ctx=0x7ffff7f85038, x=10, y=10, 
    width=28, height=18, format=6400, type=5121, unpack=0x7ffff7fa0730, 
    pixels=0xd6a4b0) at intel_pixel_draw.c:167
#9  0x00007ffff2015020 in _mesa_DrawPixels (width=28, height=18, format=6400, 
    type=5121, pixels=0xd6a4b0) at main/drawpix.c:162
#10 0x00007ffff7ad88e5 in stub_glDrawPixels (width=28, height=18, format=6400, 
    type=5121, pixels=0xd6a4b0)
    at /home/ilia/src/piglit/tests/util/piglit-dispatch-gen.c:11918
#11 0x0000000000401047 in test_ci (x=10, y=10)
    at /home/ilia/src/piglit/tests/spec/gl-1.0/drawpixels-color-index.c:68

The line in question:

glDrawPixels(width, height, GL_COLOR_INDEX, GL_UNSIGNED_BYTE, image);

Perhaps as a result of the recent format rework. This remains at commit c02c4b567ce001f6605c46e71e089692b837bf26^ (can't go past that due to libdrm version bump).

I guess _mesa_format_from_format_and_type needs to handle color index and any other weird gl things? Note that you also need to handle GL_BITMAP. OTOH the gallium paths don't end up hitting this, so... who knows. OTTH, gallium also fails this test, so perhaps not the best example to take on.
Comment 1 Samuel Iglesias Gonsálvez 2015-07-29 06:37:39 UTC
With current master (HEAD c00d093c8f24) that test is passing for me with i965 driver (SNB and HSW).

Can you still reproduce the bug?
Comment 2 Iago Toral 2015-07-29 08:10:43 UTC
This a duplicate of bug #90213 (well, the latter would be the duplicate of this one actually) which I fixed some time ago.

*** This bug has been marked as a duplicate of bug 90213 ***

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.