Bug 93092

Summary: lp_test_format regression
Product: Mesa Reporter: Vinson Lee <vlee>
Component: Mesa coreAssignee: mesa-dev
Status: RESOLVED FIXED QA Contact: mesa-dev
Severity: normal    
Priority: medium CC: imirkin, maraeo, sroland
Version: gitKeywords: bisected, regression
Hardware: x86-64 (AMD64)   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Vinson Lee 2015-11-24 09:21:10 UTC
mesa: d09463193608009fa42e046b1fc144435d3533f6 (master 11.2.0-devel)

$ ./build/linux-x86_64-debug/bin/lp_test_format
[...]
lp_test_format: src/gallium/auxiliary/gallivm/lp_bld_format_aos.c:732: lp_build_fetch_rgba_aos: Assertion `0' failed.

(gdb) bt
#0  0x00007ffff6736267 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:55
#1  0x00007ffff6737eca in __GI_abort () at abort.c:89
#2  0x00007ffff672f03d in __assert_fail_base (
    fmt=0x7ffff6891028 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", 
    assertion=assertion@entry=0xebeefa "0", 
    file=file@entry=0xebec70 "src/gallium/auxiliary/gallivm/lp_bld_format_aos.c", 
    line=line@entry=732, 
    function=function@entry=0xebef40 <__PRETTY_FUNCTION__.10219> "lp_build_fetch_rgba_aos")
    at assert.c:92
#3  0x00007ffff672f0f2 in __GI___assert_fail (assertion=0xebeefa "0", 
    file=0xebec70 "src/gallium/auxiliary/gallivm/lp_bld_format_aos.c", line=732, 
    function=0xebef40 <__PRETTY_FUNCTION__.10219> "lp_build_fetch_rgba_aos") at assert.c:101
#4  0x000000000047ed81 in lp_build_fetch_rgba_aos (gallivm=0x15cf940, 
    format_desc=0x14aa9e0 <util_format_bptc_rgba_unorm_description>, type=..., aligned=1 '\001', 
    base_ptr=0x163e450, offset=0x15d4060, i=0x1659760, j=0x1628c50, cache=0x15e4250)
    at src/gallium/auxiliary/gallivm/lp_bld_format_aos.c:732
#5  0x000000000042d79e in add_fetch_rgba_test (gallivm=0x15cf940, verbose=0, 
    desc=0x14aa9e0 <util_format_bptc_rgba_unorm_description>, type=...)
    at src/gallium/drivers/llvmpipe/lp_test_format.c:124
#6  0x000000000042d883 in test_format_float (verbose=0, fp=0x0, 
    desc=0x14aa9e0 <util_format_bptc_rgba_unorm_description>)
    at src/gallium/drivers/llvmpipe/lp_test_format.c:153
#7  0x000000000042e17a in test_one (verbose=0, fp=0x0, 
    format_desc=0x14aa9e0 <util_format_bptc_rgba_unorm_description>)
    at src/gallium/drivers/llvmpipe/lp_test_format.c:336
#8  0x000000000042e237 in test_all (verbose=0, fp=0x0)
    at src/gallium/drivers/llvmpipe/lp_test_format.c:385
#9  0x000000000042e291 in test_some (verbose=0, fp=0x0, n=1000)
    at src/gallium/drivers/llvmpipe/lp_test_format.c:401
#10 0x000000000042f2dd in main (argc=1, argv=0x7fffffffdee8)
    at src/gallium/drivers/llvmpipe/lp_test_main.c:410
(gdb) frame 4
#4  0x000000000047ed81 in lp_build_fetch_rgba_aos (gallivm=0x15cf940, 
    format_desc=0x14aa9e0 <util_format_bptc_rgba_unorm_description>, type=..., aligned=1 '\001', 
    base_ptr=0x163e450, offset=0x15d4060, i=0x1659760, j=0x1628c50, cache=0x15e4250)
    at src/gallium/auxiliary/gallivm/lp_bld_format_aos.c:732
732	   assert(0);
(gdb) l
727	      return res;
728	   }
729	
730	   assert(!util_format_is_pure_integer(format_desc->format));
731	
732	   assert(0);
733	   return lp_build_undef(gallivm, type);
734	}
Comment 1 Vinson Lee 2015-11-24 09:31:44 UTC
1c7d0a6aa4f5cb38af7e281e1e5437cd1a20f781 is the first bad commit
commit 1c7d0a6aa4f5cb38af7e281e1e5437cd1a20f781
Author: Ilia Mirkin <imirkin@alum.mit.edu>
Date:   Sat Nov 21 10:44:00 2015 -0500

    gallium/util: remove the fake format helpers for bptc and etc2
    
    This was a silly hack that kept growing and growing. Instead, just write
    NULLs for those functions. No need to have helpers that just assert(0)
    when you call them.
    
    Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
    Reviewed-by: Marek Olšák <marek.olsak@amd.com>
    Reviewed-by: Roland Scheidegger <sroland@vmware.com>

:040000 040000 d66a4395fadb539a9477e356ee772b0e2d24df43 570dbf81d62e79be9a3ba7d43d32d4feb57c2449 Msrc
bisect run success
Comment 2 Roland Scheidegger 2015-11-24 18:53:55 UTC
Fixed by 97eed8dcb9e66b3ebeca55bfc429d200556583de.

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.