[Mesa-dev] [Bug 67411] New: lp_bld_conv.c:757:lp_build_conv: Assertion `dst_type.sign || dst_type.width < 32' failed.

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Sat Jul 27 12:41:41 PDT 2013


https://bugs.freedesktop.org/show_bug.cgi?id=67411

          Priority: medium
            Bug ID: 67411
          Keywords: have-backtrace, regression
                CC: sroland at vmware.com
          Assignee: mesa-dev at lists.freedesktop.org
           Summary: lp_bld_conv.c:757:lp_build_conv: Assertion
                    `dst_type.sign || dst_type.width < 32' failed.
          Severity: critical
    Classification: Unclassified
                OS: All
          Reporter: vlee at freedesktop.org
          Hardware: x86-64 (AMD64)
            Status: NEW
           Version: git
         Component: Mesa core
           Product: Mesa

mesa: 803f755edeabd1b0af3d8f4ebf2005333e152ad4 (master)

Run lp_test_conv unit test.

Program received signal SIGTRAP, Trace/breakpoint trap.
0x0000000100004451 in _debug_assert_fail (expr=0x1009c09b4 "dst_type.sign ||
dst_type.width < 32", file=0x1009c085b
"src/gallium/auxiliary/gallivm/lp_bld_conv.c", line=757, function=0x1009c08fd
"lp_build_conv") at src/gallium/auxiliary/util/u_debug.c:278
278          os_abort();
(gdb) bt
#0  0x0000000100004451 in _debug_assert_fail (expr=0x1009c09b4 "dst_type.sign
|| dst_type.width < 32", file=0x1009c085b
"src/gallium/auxiliary/gallivm/lp_bld_conv.c", line=757, function=0x1009c08fd
"lp_build_conv") at src/gallium/auxiliary/util/u_debug.c:278
#1  0x00000001000818f6 in lp_build_conv (gallivm=0x100f03eb0,
src_type={floating = 1, fixed = 0, sign = 1, norm = 0, width = 32, length = 4},
dst_type={floating = 0, fixed = 1, sign = 0, norm = 0, width = 32, length = 4},
src=0x7fff5fbfc4c0, num_srcs=1, dst=0x7fff5fbfc3c0, num_dsts=1) at
src/gallium/auxiliary/gallivm/lp_bld_conv.c:757
#2  0x0000000100001efe in add_conv_test (gallivm=0x100f03eb0,
src_type={floating = 1, fixed = 0, sign = 1, norm = 0, width = 32, length = 4},
num_srcs=1, dst_type={floating = 0, fixed = 1, sign = 0, norm = 0, width = 32,
length = 4}, num_dsts=1) at src/gallium/drivers/llvmpipe/lp_test_conv.c:135
#3  0x000000010000120c in test_one (verbose=0, fp=0x0, src_type={floating = 1,
fixed = 0, sign = 1, norm = 0, width = 32, length = 4}, dst_type={floating = 0,
fixed = 1, sign = 0, norm = 0, width = 32, length = 4}) at
src/gallium/drivers/llvmpipe/lp_test_conv.c:216
#4  0x0000000100001c13 in test_some (verbose=0, fp=0x0, n=1000) at
src/gallium/drivers/llvmpipe/lp_test_conv.c:431
#5  0x00000001000036ab in main (argc=1, argv=0x7fff5fbff540) at
src/gallium/drivers/llvmpipe/lp_test_main.c:411
Current language:  auto; currently minimal
(gdb) frame 1
#1  0x00000001000818f6 in lp_build_conv (gallivm=0x100f03eb0,
src_type={floating = 1, fixed = 0, sign = 1, norm = 0, width = 32, length = 4},
dst_type={floating = 0, fixed = 1, sign = 0, norm = 0, width = 32, length = 4},
src=0x7fff5fbfc4c0, num_srcs=1, dst=0x7fff5fbfc3c0, num_dsts=1) at
src/gallium/auxiliary/gallivm/lp_bld_conv.c:757
757             assert(dst_type.sign || dst_type.width < 32);
(gdb) print dst_type
$1 = {
  floating = 0,
  fixed = 1,
  sign = 0,
  norm = 0,
  width = 32,
  length = 4
}
(gdb) print dst_type
$2 = {
  floating = 0,
  fixed = 1,
  sign = 0,
  norm = 0,
  width = 32,
  length = 4
}


8c3d3622d9ce2fd2a8f46084ab8153d708fa5b09 is the first bad commit
commit 8c3d3622d9ce2fd2a8f46084ab8153d708fa5b09
Author: Roland Scheidegger <sroland at vmware.com>
Date:   Sat Jul 27 03:53:00 2013 +0200

    gallivm: fix float->SNORM conversion

    Just like the UNORM case we need to use round to nearest, not trunc.
    (There's also another problem, we're using the formula for SNORM->float
    which will produce a value below -1.0 for the most negative value which
    according to both OpenGL and d3d10 would need clamping. However, no actual
    failures have been observed due to that hence keep cheating on that.)

    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

:040000 040000 d0b0cbcbcf8f82cc2e0e51e51124a6068114feac
3273dc6ce19e22a8bf7e21dc7534a36c95c4f96d M      src

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20130727/83fb0e04/attachment.html>


More information about the mesa-dev mailing list