Bug 76976 - [llvmpipe] lp_rast.c:165:lp_rast_clear_color: Assertion `util_format_is_pure_uint(format)' failed.
Summary: [llvmpipe] lp_rast.c:165:lp_rast_clear_color: Assertion `util_format_is_pure_...
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Other (show other bugs)
Version: git
Hardware: x86-64 (AMD64) Linux (All)
: medium critical
Assignee: mesa-dev
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-04-03 04:30 UTC by Vinson Lee
Modified: 2014-04-25 17:33 UTC (History)
3 users (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Vinson Lee 2014-04-03 04:30:42 UTC
mesa: d120506e158e58b7a532c31427fe0a056ea270d8 (master 10.2.0-devel)

$ ./bin/clearbuffer-mixed-format -auto
src/gallium/drivers/llvmpipe/lp_rast.c:165:lp_rast_clear_color: Assertion `util_format_is_pure_uint(format)' failed.
Trace/breakpoint trap (core dumped)

(gdb) bt
#0  0x00007fb9e91c09f1 in _debug_assert_fail (expr=0x7fb9e9c3adf0 "util_format_is_pure_uint(format)", file=0x7fb9e9c3adc8 "src/gallium/drivers/llvmpipe/lp_rast.c", 
    line=165, function=0x7fb9e9c3afa0 <__func__.15884> "lp_rast_clear_color") at src/gallium/auxiliary/util/u_debug.c:278
#1  0x00007fb9e8ddb406 in lp_rast_clear_color (task=0x2417f08, arg=...) at src/gallium/drivers/llvmpipe/lp_rast.c:165
#2  0x00007fb9e8ddc702 in do_rasterize_bin (task=0x2417f08, bin=0x7fb9ec8f91e8, x=0, y=0) at src/gallium/drivers/llvmpipe/lp_rast.c:653
#3  0x00007fb9e8ddc76f in rasterize_bin (task=0x2417f08, bin=0x7fb9ec8f91e8, x=0, y=0) at src/gallium/drivers/llvmpipe/lp_rast.c:672
#4  0x00007fb9e8ddc87f in rasterize_scene (task=0x2417f08, scene=0x7fb9ec8f9010) at src/gallium/drivers/llvmpipe/lp_rast.c:721
#5  0x00007fb9e8ddcb4b in thread_function (init_data=0x2417f08) at src/gallium/drivers/llvmpipe/lp_rast.c:842
#6  0x00007fb9e8dda412 in impl_thrd_routine (p=0x2408060) at include/c11/threads_posix.h:87
#7  0x00007fb9e7d66f6e in start_thread (arg=0x7fb9e06fc700) at pthread_create.c:311
#8  0x00007fb9ec0429cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113
(gdb) frame 1
#1  0x00007fb9e8ddb406 in lp_rast_clear_color (task=0x2417f08, arg=...) at src/gallium/drivers/llvmpipe/lp_rast.c:165
165	               assert(util_format_is_pure_uint(format));
(gdb) print format
$1 = PIPE_FORMAT_R8G8B8A8_UNORM
Comment 1 Roland Scheidegger 2014-04-03 17:19:59 UTC
I'm pretty sure that's because llvmpipe lacks the ability to clear just one rb from the fb. The gallium interface lacked that too which made it impossible to actually clear such mixed fbs in a useful way, but that was fixed. I'll take a look at it when I find some time if noone beats me to it.
Comment 2 Roland Scheidegger 2014-04-25 17:33:14 UTC
Fixed by a7a03d84fc1a7a1721b4a0338258b3b8687743e8.


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.