Re: [Mesa-dev] Mesa (master): gallium/util: remove the fake format helpers for bptc and etc2

2015-11-23 Thread Michel Dänzer
On 24.11.2015 01:21, Ilia Mirkin wrote:
> Module: Mesa
> Branch: master
> Commit: 1c7d0a6aa4f5cb38af7e281e1e5437cd1a20f781
> URL:
> http://cgit.freedesktop.org/mesa/mesa/commit/?id=1c7d0a6aa4f5cb38af7e281e1e5437cd1a20f781
> 
> Author: Ilia Mirkin 
> 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 
> Reviewed-by: Marek Olšák 
> Reviewed-by: Roland Scheidegger 

This change broke make check, specifically llvmpipe's lp_test_format:


lp_test_format: 
../../../../src/gallium/auxiliary/gallivm/lp_bld_format_aos.c:732: 
lp_build_fetch_rgba_aos: Assertion `0' failed.

Program received signal SIGABRT, Aborted.
0x7460f107 in __GI_raise (sig=sig@entry=6) at 
../nptl/sysdeps/unix/sysv/linux/raise.c:56
56  ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  0x7460f107 in __GI_raise (sig=sig@entry=6) at 
../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1  0x746104e8 in __GI_abort () at abort.c:89
#2  0x74608226 in __assert_fail_base (fmt=0x7473ed08 "%s%s%s:%u: 
%s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x5703cb "0", 
file=file@entry=0x573748 
"../../../../src/gallium/auxiliary/gallivm/lp_bld_format_aos.c", 
line=line@entry=732, 
function=function@entry=0x5739f0 <__PRETTY_FUNCTION__.10335> 
"lp_build_fetch_rgba_aos") at assert.c:92
#3  0x746082d2 in __GI___assert_fail 
(assertion=assertion@entry=0x5703cb "0", file=file@entry=0x573748 
"../../../../src/gallium/auxiliary/gallivm/lp_bld_format_aos.c", 
line=line@entry=732, 
function=0x5739f0 <__PRETTY_FUNCTION__.10335> "lp_build_fetch_rgba_aos") at 
assert.c:101
#4  0x004dcd20 in lp_build_fetch_rgba_aos 
(gallivm=gallivm@entry=0x80ae40, format_desc=format_desc@entry=0x79b500 
, type=..., type@entry=..., 
aligned=aligned@entry=1 '\001', base_ptr=base_ptr@entry=0x83d430, 
offset=offset@entry=0x818330, i=0x833050, j=0x8326c0, cache=0x821790) at 
../../../../src/gallium/auxiliary/gallivm/lp_bld_format_aos.c:732
#5  0x00405d3e in add_fetch_rgba_test (gallivm=gallivm@entry=0x80ae40, 
desc=desc@entry=0x79b500 , type=..., 
verbose=0) at ../../../../../src/gallium/drivers/llvmpipe/lp_test_format.c:124
#6  0x00405eaf in test_format_float (verbose=0, desc=0x79b500 
, fp=0x0) at 
../../../../../src/gallium/drivers/llvmpipe/lp_test_format.c:153
#7  test_one (verbose=0, format_desc=0x79b500 
, fp=0x0) at 
../../../../../src/gallium/drivers/llvmpipe/lp_test_format.c:336
#8  test_all (verbose=verbose@entry=0, fp=fp@entry=0x0) at 
../../../../../src/gallium/drivers/llvmpipe/lp_test_format.c:385
#9  0x00406c8a in test_some (verbose=verbose@entry=0, fp=fp@entry=0x0, 
n=n@entry=1000) at 
../../../../../src/gallium/drivers/llvmpipe/lp_test_format.c:401
#10 0x00405a33 in main (argc=1, argv=0x7fffe708) at 
../../../../../src/gallium/drivers/llvmpipe/lp_test_main.c:410
(gdb) bt full
#0  0x7460f107 in __GI_raise (sig=sig@entry=6) at 
../nptl/sysdeps/unix/sysv/linux/raise.c:56
resultvar = 0
pid = 22140
selftid = 22140
#1  0x746104e8 in __GI_abort () at abort.c:89
save_stage = 2
act = {__sigaction_handler = {sa_handler = 0x7fffea42, sa_sigaction 
= 0x7fffea42}, sa_mask = {__val = {140737294610881, 5715784, 732, 4, 
140737488347168, 128849010864, 140737322476013, 4294967296, 0, 0, 0, 
21474836480, 140737294610407, 
  140737488347320, 140737354092544, 140737294626056}}, sa_flags = 
5702603, sa_restorer = 0x5739f0 <__PRETTY_FUNCTION__.10335>}
sigs = {__val = {32, 0 }}
#2  0x74608226 in __assert_fail_base (fmt=0x7473ed08 "%s%s%s:%u: 
%s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x5703cb "0", 
file=file@entry=0x573748 
"../../../../src/gallium/auxiliary/gallivm/lp_bld_format_aos.c", 
line=line@entry=732, 
function=function@entry=0x5739f0 <__PRETTY_FUNCTION__.10335> 
"lp_build_fetch_rgba_aos") at assert.c:92
str = 0x868eb0 "\260\065\213"
total = 4096
#3  0x746082d2 in __GI___assert_fail 
(assertion=assertion@entry=0x5703cb "0", file=file@entry=0x573748 
"../../../../src/gallium/auxiliary/gallivm/lp_bld_format_aos.c", 
line=line@entry=732, 
function=0x5739f0 <__PRETTY_FUNCTION__.10335> "lp_build_fetch_rgba_aos") at 
assert.c:101
No locals.
#4  0x004dcd20 in lp_build_fetch_rgba_aos 
(gallivm=gallivm@entry=0x80ae40, format_desc=format_desc@entry=0x79b500 
, type=..., type@entry=..., 
aligned=aligned@entry=1 '\001', base_ptr=base_ptr@entry=0x83d430, 
offset=offset@entry=0x818330, i=0x833050, j=0x8326c0, cache=0x821790) at 
../../../../src/gallium/auxiliary/gallivm/lp_bld_format_aos.c:732
builder = 0x8ceec0
num_pixels = 1
bld = {g

Re: [Mesa-dev] Mesa (master): gallium/util: remove the fake format helpers for bptc and etc2

2015-11-24 Thread Ilia Mirkin
On Tue, Nov 24, 2015 at 1:37 AM, Michel Dänzer  wrote:
> On 24.11.2015 01:21, Ilia Mirkin wrote:
>> Module: Mesa
>> Branch: master
>> Commit: 1c7d0a6aa4f5cb38af7e281e1e5437cd1a20f781
>> URL:
>> http://cgit.freedesktop.org/mesa/mesa/commit/?id=1c7d0a6aa4f5cb38af7e281e1e5437cd1a20f781
>>
>> Author: Ilia Mirkin 
>> 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 
>> Reviewed-by: Marek Olšák 
>> Reviewed-by: Roland Scheidegger 
>
> This change broke make check, specifically llvmpipe's lp_test_format:

Hmmm... odd. Calling any of those should have ended up in asserts
anyways. I did realize that I forgot to add ASTC to the
no-softpipe/llvmpipe list, so I'll do that, but those were all added
in the next commit. Will also investigate what I mucked up here,
thanks for the heads up.

  -ilia
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] Mesa (master): gallium/util: remove the fake format helpers for bptc and etc2

2015-11-24 Thread Roland Scheidegger
Am 24.11.2015 um 16:04 schrieb Ilia Mirkin:
> On Tue, Nov 24, 2015 at 1:37 AM, Michel Dänzer  wrote:
>> On 24.11.2015 01:21, Ilia Mirkin wrote:
>>> Module: Mesa
>>> Branch: master
>>> Commit: 1c7d0a6aa4f5cb38af7e281e1e5437cd1a20f781
>>> URL:
>>> https://urldefense.proofpoint.com/v2/url?u=http-3A__cgit.freedesktop.org_mesa_mesa_commit_-3Fid-3D1c7d0a6aa4f5cb38af7e281e1e5437cd1a20f781&d=BQIGaQ&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&r=Vjtt0vs_iqoI31UfJxBl7yv9I2FeiaeAYgMTLKRBc_I&m=XZNFHsl4lFAxxg4-uHH5HyanjvlMvLVTdJeebqtJNNk&s=at-4ysFGpZbYjQkXGULUBbK_sc5mmCztZ2hJGhsczvg&e=
>>>  
>>>
>>> Author: Ilia Mirkin 
>>> 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 
>>> Reviewed-by: Marek Olšák 
>>> Reviewed-by: Roland Scheidegger 
>>
>> This change broke make check, specifically llvmpipe's lp_test_format:
> 
> Hmmm... odd. Calling any of those should have ended up in asserts
> anyways. I did realize that I forgot to add ASTC to the
> no-softpipe/llvmpipe list, so I'll do that, but those were all added
> in the next commit. Will also investigate what I mucked up here,
> thanks for the heads up.
> 

If you don't beat me to it, I'm going to remove testing of these formats
in lp_test_format. Though I'm curious why it didn't assert before as
well, as you said it can't have really worked. The difference though is
now it will assert when generating the jit code rather than when the jit
code is called.

Roland


___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] Mesa (master): gallium/util: remove the fake format helpers for bptc and etc2

2015-11-24 Thread Ilia Mirkin
On Tue, Nov 24, 2015 at 10:08 AM, Roland Scheidegger  wrote:
> Am 24.11.2015 um 16:04 schrieb Ilia Mirkin:
>> On Tue, Nov 24, 2015 at 1:37 AM, Michel Dänzer  wrote:
>>> On 24.11.2015 01:21, Ilia Mirkin wrote:
 Module: Mesa
 Branch: master
 Commit: 1c7d0a6aa4f5cb38af7e281e1e5437cd1a20f781
 URL:
 https://urldefense.proofpoint.com/v2/url?u=http-3A__cgit.freedesktop.org_mesa_mesa_commit_-3Fid-3D1c7d0a6aa4f5cb38af7e281e1e5437cd1a20f781&d=BQIGaQ&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&r=Vjtt0vs_iqoI31UfJxBl7yv9I2FeiaeAYgMTLKRBc_I&m=XZNFHsl4lFAxxg4-uHH5HyanjvlMvLVTdJeebqtJNNk&s=at-4ysFGpZbYjQkXGULUBbK_sc5mmCztZ2hJGhsczvg&e=

 Author: Ilia Mirkin 
 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 
 Reviewed-by: Marek Olšák 
 Reviewed-by: Roland Scheidegger 
>>>
>>> This change broke make check, specifically llvmpipe's lp_test_format:
>>
>> Hmmm... odd. Calling any of those should have ended up in asserts
>> anyways. I did realize that I forgot to add ASTC to the
>> no-softpipe/llvmpipe list, so I'll do that, but those were all added
>> in the next commit. Will also investigate what I mucked up here,
>> thanks for the heads up.
>>
>
> If you don't beat me to it, I'm going to remove testing of these formats
> in lp_test_format. Though I'm curious why it didn't assert before as
> well, as you said it can't have really worked. The difference though is
> now it will assert when generating the jit code rather than when the jit
> code is called.

It's likely I won't be able to look at this for ~10h or so. I suspect
that the fixes are all pretty simple though.

  -ilia
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] Mesa (master): gallium/util: remove the fake format helpers for bptc and etc2

2015-11-24 Thread Roland Scheidegger
Am 24.11.2015 um 16:08 schrieb Roland Scheidegger:
> Am 24.11.2015 um 16:04 schrieb Ilia Mirkin:
>> On Tue, Nov 24, 2015 at 1:37 AM, Michel Dänzer  wrote:
>>> On 24.11.2015 01:21, Ilia Mirkin wrote:
 Module: Mesa
 Branch: master
 Commit: 1c7d0a6aa4f5cb38af7e281e1e5437cd1a20f781
 URL:
 https://urldefense.proofpoint.com/v2/url?u=http-3A__cgit.freedesktop.org_mesa_mesa_commit_-3Fid-3D1c7d0a6aa4f5cb38af7e281e1e5437cd1a20f781&d=BQIGaQ&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&r=Vjtt0vs_iqoI31UfJxBl7yv9I2FeiaeAYgMTLKRBc_I&m=XZNFHsl4lFAxxg4-uHH5HyanjvlMvLVTdJeebqtJNNk&s=at-4ysFGpZbYjQkXGULUBbK_sc5mmCztZ2hJGhsczvg&e=
  

 Author: Ilia Mirkin 
 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 
 Reviewed-by: Marek Olšák 
 Reviewed-by: Roland Scheidegger 
>>>
>>> This change broke make check, specifically llvmpipe's lp_test_format:
>>
>> Hmmm... odd. Calling any of those should have ended up in asserts
>> anyways. I did realize that I forgot to add ASTC to the
>> no-softpipe/llvmpipe list, so I'll do that, but those were all added
>> in the next commit. Will also investigate what I mucked up here,
>> thanks for the heads up.
>>
> 
> If you don't beat me to it, I'm going to remove testing of these formats
> in lp_test_format. Though I'm curious why it didn't assert before as
> well, as you said it can't have really worked. The difference though is
> now it will assert when generating the jit code rather than when the jit
> code is called.
> 

Actually lp_test_format only tests formats for which there are test
cases for in u_format_tests.c, and for these unsupported formats there
aren't any. It does, however, generate jit fetch for all formats. Hence
why it didn't crash before and does now - the generated jit fetch
function is never called.
Speaking of that, some formats which we do claim support for in llvmpipe
are actually missing test cases as well - a quick look suggests etc1,
rgtc, but possibly more.
Patch coming...

Roland

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev