Bug 45818

Summary: [bisected i965]piglit fbo/fbo-mipmap-copypix regressed
Product: Mesa Reporter: fangxun <xunx.fang>
Component: Drivers/DRI/i965Assignee: Ian Romanick <idr>
Status: VERIFIED DUPLICATE QA Contact:
Severity: major    
Priority: high    
Version: git   
Hardware: All   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 42993    

Description fangxun 2012-02-09 01:41:16 UTC
System Environment:
--------------------------
Arch:           x86_64
Platform:       Surgabay
Libdrm:         (master)2.4.31
Mesa:           (8.0)e86d90eb208292916c8a04c5d75499492003dd16
Xserver:  (server-1.11-branch)xorg-server-1.11.3
Xf86_video_intel: (master)2.17.0-640-g13c960db9ef876ee99991d97dfc34fef184c0341
Kernel:	(drm-intel-fixes) c898261c0dad617f0f1080bedc02d507a2fcfb92


Bug detailed description:
------------------------- 
It segfaults at Mesa master and 8.0 branch on Ironlake and SandyBridge with errors: 
swrast/s_span.c:1078: _swrast_put_row: Assertion `datatype == 0x1406' failed.
 
Bisect shows 65b9c1dee6edbafb46f782ecc525c1dbdbf76e0d is the first bad commit.
commit 65b9c1dee6edbafb46f782ecc525c1dbdbf76e0d
Author:     Ian Romanick <ian.d.romanick@intel.com>
AuthorDate: Tue Jan 31 11:29:06 2012 -0700
Commit:     Ian Romanick <ian.d.romanick@intel.com>
CommitDate: Thu Feb 2 10:17:49 2012 -0700

    mesa: Convert colors if span ChanType and renderbuffer data type don't match

    This is a partial revert of f9874fe.  It turns out that the types
    don't always match.  Specifically, this can happen when doing
    glCopyPixels from a float FBO to a RGBA8 FBO.

    NOTE: This is a candidate for the 8.0 branch.

    Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=45429
    Reviewed-by: Brian Paul <brianp@vmware.com>
    (cherry picked from commit 660ed923ded3552e023ef8c3dd9f92e6792f1bd2)

(gdb) bt
#0  0x00000030790362a5 in raise () from /lib64/libc.so.6
#1  0x0000003079037bbb in abort () from /lib64/libc.so.6
#2  0x000000307902eebe in __assert_fail_base () from /lib64/libc.so.6
#3  0x000000307902ef62 in __assert_fail () from /lib64/libc.so.6
#4  0x00007ffff62a8800 in _swrast_put_row (ctx=<optimized out>, rb=0xbcf010, datatype=33640, count=512, x=<optimized out>, y=<optimized out>, values=0x7ffff51fd010, mask=0x0)
    at swrast/s_span.c:1078
#5  0x00007ffff62a8d99 in _swrast_write_rgba_span (ctx=<optimized out>, span=<optimized out>) at swrast/s_span.c:1375
#6  0x00007ffff637c725 in copy_rgba_pixels (ctx=0x7ffff77b2040, srcx=0, srcy=<optimized out>, width=512, height=512, destx=0, desty=0) at swrast/s_copypix.c:192
#7  0x00007ffff637d546 in _swrast_CopyPixels (ctx=0x7ffff77b2040, srcx=0, srcy=0, width=512, height=512, destx=0, desty=0, type=6144) at swrast/s_copypix.c:636
#8  0x00007ffff62e1c3c in _mesa_meta_CopyPixels (ctx=0x7ffff77b2040, srcX=0, srcY=0, width=512, height=512, dstX=0, dstY=0, type=6144) at drivers/common/meta.c:1942
#9  0x00007ffff612e5df in intelCopyPixels (ctx=0x7ffff77b2040, srcx=0, srcy=0, width=512, height=512, destx=0, desty=0, type=6144) at intel_pixel_copy.c:228
#10 0x00007ffff6347877 in _mesa_CopyPixels (srcx=0, srcy=0, width=512, height=512, type=6144) at main/drawpix.c:232
#11 0x000000000042a188 in test_mipmap_copypixels (srcIntFormat=32856, dstIntFormat=32857, doPixelTransfer=1 '\001', useReadDrawPix=0 '\000')
    at /GFX/Test/Piglit/piglit/tests/fbo/fbo-mipmap-copypix.c:172
#12 0x000000000042a499 in piglit_display () at /GFX/Test/Piglit/piglit/tests/fbo/fbo-mipmap-copypix.c:258
#13 0x000000000042b2f4 in main (argc=1, argv=0x7fffffffe238) at /GFX/Test/Piglit/piglit/tests/util/piglit-framework.c:301

Reproduce steps:
----------------
1. start X
2. ./fbo-mipmap-copypix -auto -fbo
Comment 1 Ian Romanick 2012-02-09 11:30:22 UTC

*** This bug has been marked as a duplicate of bug 45578 ***
Comment 2 fangxun 2012-02-17 01:19:15 UTC
Verified with mesa master(78734e375a) and 8.0 branch(99f9c9789a2d).

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.