[Nouveau] NV50 compute support questions

Samuel Pitoiset samuel.pitoiset at gmail.com
Wed Nov 25 08:50:20 PST 2015



On 11/25/2015 03:43 PM, Hans de Goede wrote:
> Hi,
>
> On 20-11-15 17:07, Samuel Pitoiset wrote:
>>
>>
>> On 11/20/2015 11:36 AM, Hans de Goede wrote:
>>> Hi Samual, et al,
>>
>> Hi Hans,
>>
>>>
>>> In
>>> http://cgit.freedesktop.org/mesa/mesa/commit/src/gallium/drivers/nouveau?id=ff72440b40211326eda118232fabd53965410afd
>>>
>>>
>>> you write: "This compute support has been tested by
>>> Pierre Moreau and myself with some compute kernels."
>>>
>>> Can you provide testing instructions (and the
>>> necessary files) so that I can try to reproduce
>>> your tests ?
>>>
>>> And once I've reproduced your tests, the next
>>> question is where / how did you get the compute
>>> kernels for testing. I guess you manually wrote them ?
>>
>> Yeah, I wrote those compute kernels directly in assembly by hand.
>>
>> I already said few days ago, you have some examples in
>> src/gallium/tests/trivial/compute.c which show how to use that compute
>> support stuff with TGSI kernels and without clover. Because clover is
>> not currently able to do OpenCL -> TGSI using Clang/LLVM, you can't
>> really use your backend directly.
>
> Ok, so I've been  trying to get Francisco's nbody.c to run,
> but that does not work. It runs but the planet bodies all stay in
> the same place, I still need to debug this further any hints
> for how to debug this are appreciated.

I also tried today on Kepler (GK106) and it seems like I got the same 
result as you. There is white planet in the middle of the screen but 
nothing happens. And I also don't get any errors.

I'm currently looking at it on my Tesla (GT218), the result is the same 
but I have a ton of dmesg fails, I'll have a look at how to fix them.

>
> So I tried to run src/gallium/tests/trivial/compute.c,
> with a recent mesa master, but that does not work either.
>
> I get the following when I try to run this:
>
> compute: nvc0/nvc0_resource.c:41: nvc0_surface_create: Assertion
> `pres->target != PIPE_BUFFER' failed.

Unfortunately, that's expected. :-)

IIRC, only test_input_global (ie. ./compute 8) works on Tesla/Fermi, but 
some other tests work on Kepler (< GK110).

>
> (gdb) bt
> #0  0x00007ffff6cbca98 in raise () from /lib64/libc.so.6
> #1  0x00007ffff6cbe69a in abort () from /lib64/libc.so.6
> #2  0x00007ffff6cb5227 in __assert_fail_base () from /lib64/libc.so.6
> #3  0x00007ffff6cb52d2 in __assert_fail () from /lib64/libc.so.6
> #4  0x00007ffff4e5b24c in nvc0_surface_create (pipe=<optimized out>,
>      pres=<optimized out>, templ=<optimized out>) at
> nvc0/nvc0_resource.c:41
> #5  0x0000000000404341 in init_compute_resources (ctx=ctx at entry=0x691010,
>      slots=slots at entry=0x7fffffffd980) at compute.c:347
> #6  0x0000000000402cec in test_system_values (ctx=0x691010) at
> compute.c:494
> #7  main (argc=<optimized out>, argv=<optimized out>) at compute.c:1584
>
> Which comes from the assert here:
>
> static struct pipe_surface *
> nvc0_surface_create(struct pipe_context *pipe,
>                      struct pipe_resource *pres,
>                      const struct pipe_surface *templ)
> {
>     /* surfaces are assumed to be miptrees all over the place. */
>     assert(pres->target != PIPE_BUFFER);
>     if (unlikely(pres->target == PIPE_BUFFER))
>        return nv50_surface_from_buffer(pipe, pres, templ);
>     return nvc0_miptree_surface_new(pipe, pres, templ);
> }
>
> Just dropping that assert helps somewhat, it leads to:
>
> PIPE_COMPUTE_CAP_GRID_DIMENSION: { 3 }
> PIPE_COMPUTE_CAP_MAX_GRID_SIZE: { 65535 65535 65535 }
> PIPE_COMPUTE_CAP_MAX_BLOCK_SIZE: { 1024 1024 64 }
> - test_system_values
> ERROR: SUSTx not yet supported on < nve4
> ERROR: SUSTx not yet supported on < nve4
> ERROR: SUSTx not yet supported on < nve4
> ERROR: SUSTx not yet supported on < nve4
> (0, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (1, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (2, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (3, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (4, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x4/0.000000
> (5, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x3/0.000000
> (6, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x5/0.000000
> (7, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (8, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x5/0.000000
> (9, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x4/0.000000
> (10, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (11, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (12, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (13, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (14, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (15, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (16, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (17, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (18, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (19, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (19200, 1): FAIL (19200)
> - test_resource_access
> ERROR: SULDB not yet supported on < nve4
> ERROR: SUSTx not yet supported on < nve4
> (0, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x41000000/8.000000
> (1, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x40e00000/7.000000
> (2, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x40c00000/6.000000
> (3, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x40a00000/5.000000
> (4, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x40800000/4.000000
> (5, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x40400000/3.000000
> (6, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x40000000/2.000000
> (7, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x3f800000/1.000000
> (8, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (9, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xbf800000/-1.000000
> (10, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xc0000000/-2.000000
> (11, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xc0400000/-3.000000
> (12, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xc0800000/-4.000000
> (13, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xc0a00000/-5.000000
> (14, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xc0c00000/-6.000000
> (15, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xc0e00000/-7.000000
> (16, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xc1000000/-8.000000
> (17, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xc1100000/-9.000000
> (18, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xc1200000/-10.000000
> (19, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xc1300000/-11.000000
> (60, 12): FAIL (720)
> - test_function_calls
> ERROR: SULDB not yet supported on < nve4
> ERROR: SUSTx not yet supported on < nve4
> (0, 0)[0]: got 0x0/0.000000, expected 0x2/0.000000
> (1, 0)[0]: got 0x1/0.000000, expected 0x2/0.000000
> (3, 0)[0]: got 0x3/0.000000, expected 0x2/0.000000
> (4, 0)[0]: got 0x4/0.000000, expected 0x1/0.000000
> (5, 0)[0]: got 0x5/0.000000, expected 0x1/0.000000
> (6, 0)[0]: got 0x6/0.000000, expected 0x1/0.000000
> (7, 0)[0]: got 0x7/0.000000, expected 0x1/0.000000
> (8, 0)[0]: got 0x8/0.000000, expected 0x1/0.000000
> (9, 0)[0]: got 0x9/0.000000, expected 0x1/0.000000
> (10, 0)[0]: got 0xa/0.000000, expected 0x1/0.000000
> (11, 0)[0]: got 0xb/0.000000, expected 0x1/0.000000
> (12, 0)[0]: got 0xc/0.000000, expected 0x1/0.000000
> (13, 0)[0]: got 0xd/0.000000, expected 0x1/0.000000
> (14, 0)[0]: got 0xe/0.000000, expected 0x1/0.000000
> (0, 1)[0]: got 0xf/0.000000, expected 0x1/0.000000
> (1, 1)[0]: got 0x10/0.000000, expected 0x1/0.000000
> (2, 1)[0]: got 0x11/0.000000, expected 0x1/0.000000
> (3, 1)[0]: got 0x12/0.000000, expected 0x1/0.000000
> (4, 1)[0]: got 0x13/0.000000, expected 0x1/0.000000
> (5, 1)[0]: got 0x14/0.000000, expected 0x1/0.000000
> (15, 12): FAIL (179)
> - test_input_global
> (8, 1): OK
> (8, 1): OK
> (8, 1): OK
> (8, 1): OK
> - test_private
> ERROR: SUSTx not yet supported on < nve4
> (0, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (1, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (2, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x2/0.000000
> (3, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x3/0.000000
> (4, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x4/0.000000
> (5, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x5/0.000000
> (6, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x6/0.000000
> (7, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x7/0.000000
> (8, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x8/0.000000
> (9, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x9/0.000000
> (10, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xa/0.000000
> (11, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xb/0.000000
> (12, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xc/0.000000
> (13, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xd/0.000000
> (14, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xe/0.000000
> (15, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xf/0.000000
> (16, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x10/0.000000
> (17, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x11/0.000000
> (18, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x12/0.000000
> (19, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x13/0.000000
> (8192, 1): FAIL (8192)
> - test_local
> ERROR: SUSTx not yet supported on < nve4
> (0, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (1, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (2, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (3, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (4, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (5, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (6, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (7, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (8, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (9, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (10, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (11, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (12, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (13, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (14, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (15, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (16, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (17, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (18, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (19, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (1024, 1): FAIL (1024)
> - test_sample
> ERROR: SUSTx not yet supported on < nve4
> (0, 0)[0]: got 0x3f800000/1.000000, expected 0x0/0.000000
> (1, 0)[0]: got 0x3f800000/1.000000, expected 0x0/0.000000
> (2, 0)[0]: got 0x3f800000/1.000000, expected 0x0/0.000000
> (4, 0)[0]: got 0x3f800000/1.000000, expected 0x0/0.000000
> (5, 0)[0]: got 0x3f800000/1.000000, expected 0x0/0.000000
> (6, 0)[0]: got 0x3f800000/1.000000, expected 0x0/0.000000
> (8, 0)[0]: got 0x3f800000/1.000000, expected 0x0/0.000000
> (9, 0)[0]: got 0x3f800000/1.000000, expected 0x0/0.000000
> (10, 0)[0]: got 0x3f800000/1.000000, expected 0x0/0.000000
> (12, 0)[0]: got 0x3f800000/1.000000, expected 0x0/0.000000
> (13, 0)[0]: got 0x3f800000/1.000000, expected 0x0/0.000000
> (14, 0)[0]: got 0x3f800000/1.000000, expected 0x0/0.000000
> (16, 0)[0]: got 0x3f800000/1.000000, expected 0x0/0.000000
> (17, 0)[0]: got 0x3f800000/1.000000, expected 0x0/0.000000
> (18, 0)[0]: got 0x3f800000/1.000000, expected 0x0/0.000000
> (20, 0)[0]: got 0x3f800000/1.000000, expected 0x0/0.000000
> (21, 0)[0]: got 0x3f800000/1.000000, expected 0x0/0.000000
> (22, 0)[0]: got 0x3f800000/1.000000, expected 0x0/0.000000
> (24, 0)[0]: got 0x3f800000/1.000000, expected 0x0/0.000000
> (25, 0)[0]: got 0x3f800000/1.000000, expected 0x0/0.000000
> (512, 32): FAIL (12287)
> - test_many_kern
> ERROR: SUSTx not yet supported on < nve4
> ERROR: SUSTx not yet supported on < nve4
> ERROR: SUSTx not yet supported on < nve4
> ERROR: SUSTx not yet supported on < nve4
> (0, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (1, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (2, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x2/0.000000
> (3, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x3/0.000000
> (4, 1): FAIL (4)
> - test_constant
> ERROR: SULDB not yet supported on < nve4
> ERROR: SUSTx not yet supported on < nve4
> (0, 0)[0]: got 0x4f5eadbf/3735928576.000000, expected 0x41000000/8.000000
> (1, 0)[0]: got 0x4f5eadbf/3735928576.000000, expected 0x40e00000/7.000000
> (2, 0)[0]: got 0x4f5eadbf/3735928576.000000, expected 0x40c00000/6.000000
> (3, 0)[0]: got 0x4f5eadbf/3735928576.000000, expected 0x40a00000/5.000000
> (4, 0)[0]: got 0x4f5eadbf/3735928576.000000, expected 0x40800000/4.000000
> (5, 0)[0]: got 0x4f5eadbf/3735928576.000000, expected 0x40400000/3.000000
> (6, 0)[0]: got 0x4f5eadbf/3735928576.000000, expected 0x40000000/2.000000
> (7, 0)[0]: got 0x4f5eadbf/3735928576.000000, expected 0x3f800000/1.000000
> (8, 0)[0]: got 0x4f5eadbf/3735928576.000000, expected 0x0/0.000000
> (9, 0)[0]: got 0x4f5eadbf/3735928576.000000, expected 0xbf800000/-1.000000
> (10, 0)[0]: got 0x4f5eadbf/3735928576.000000, expected 0xc0000000/-2.000000
> (11, 0)[0]: got 0x4f5eadbf/3735928576.000000, expected 0xc0400000/-3.000000
> (12, 0)[0]: got 0x4f5eadbf/3735928576.000000, expected 0xc0800000/-4.000000
> (13, 0)[0]: got 0x4f5eadbf/3735928576.000000, expected 0xc0a00000/-5.000000
> (14, 0)[0]: got 0x4f5eadbf/3735928576.000000, expected 0xc0c00000/-6.000000
> (15, 0)[0]: got 0x4f5eadbf/3735928576.000000, expected 0xc0e00000/-7.000000
> (16, 0)[0]: got 0x4f5eadbf/3735928576.000000, expected 0xc1000000/-8.000000
> (17, 0)[0]: got 0x4f5eadbf/3735928576.000000, expected 0xc1100000/-9.000000
> (18, 0)[0]: got 0x4f5eadbf/3735928576.000000, expected
> 0xc1200000/-10.000000
> (19, 0)[0]: got 0x4f5eadbf/3735928576.000000, expected
> 0xc1300000/-11.000000
> (64, 1): FAIL (64)
> - test_resource_indirect
> ERROR: SULDB not yet supported on < nve4
> ERROR: SUSTx not yet supported on < nve4
> (0, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (1, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x3/0.000000
> (2, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x4/0.000000
> (3, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x7/0.000000
> (4, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x8/0.000000
> (5, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xb/0.000000
> (6, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xc/0.000000
> (7, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xf/0.000000
> (8, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x10/0.000000
> (9, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x13/0.000000
> (10, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x14/0.000000
> (11, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x17/0.000000
> (12, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x18/0.000000
> (13, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1b/0.000000
> (14, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1c/0.000000
> (15, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1f/0.000000
> (16, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x20/0.000000
> (17, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x23/0.000000
> (18, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x24/0.000000
> (19, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x27/0.000000
> (64, 1): FAIL (64)
> - test_surface_ld
>     - PIPE_FORMAT_B8G8R8A8_UNORM
> (unsupported)
>     - PIPE_FORMAT_B8G8R8X8_UNORM
> (unsupported)
>     - PIPE_FORMAT_A8R8G8B8_UNORM
> (unsupported)
>     - PIPE_FORMAT_X8R8G8B8_UNORM
> (unsupported)
>     - PIPE_FORMAT_X8R8G8B8_UNORM
> (unsupported)
>     - PIPE_FORMAT_L8_UNORM
> (unsupported)
>     - PIPE_FORMAT_A8_UNORM
> (unsupported)
>     - PIPE_FORMAT_I8_UNORM
> (unsupported)
>     - PIPE_FORMAT_L8A8_UNORM
> (unsupported)
>     - PIPE_FORMAT_R32_FLOAT
> ERROR: unknow op
> ERROR: SUSTx not yet supported on < nve4
> (0, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x3f800000/1.000000
> (1, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (2, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (3, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x3f800000/1.000000
> (4, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x3f800000/1.000000
> (5, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (6, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (7, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x3f800000/1.000000
> (8, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x3f800000/1.000000
> (9, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (10, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (11, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x3f800000/1.000000
> (12, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x3f800000/1.000000
> (13, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (14, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (15, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x3f800000/1.000000
> (16, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x3f800000/1.000000
> (17, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (18, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (19, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x3f800000/1.000000
> (512, 32): FAIL (16384)
>     - PIPE_FORMAT_R32G32_FLOAT
> (0, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x3f800000/1.000000
> (1, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xbf400000/-0.750000
> (2, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (3, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x3f800000/1.000000
> (4, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x3f800000/1.000000
> (5, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xbf400000/-0.750000
> (6, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (7, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x3f800000/1.000000
> (8, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x3f800000/1.000000
> (9, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xbf400000/-0.750000
> (10, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (11, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x3f800000/1.000000
> (12, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x3f800000/1.000000
> (13, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xbf400000/-0.750000
> (14, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (15, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x3f800000/1.000000
> (16, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x3f800000/1.000000
> (17, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xbf400000/-0.750000
> (18, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (19, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x3f800000/1.000000
> (512, 32): FAIL (16384)
>     - PIPE_FORMAT_R32G32B32A32_FLOAT
> (0, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x3f800000/1.000000
> (1, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xbf400000/-0.750000
> (2, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x3f000000/0.500000
> (3, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xbe800000/-0.250000
> (4, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x3f800000/1.000000
> (5, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xbf400000/-0.750000
> (6, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x3f000000/0.500000
> (7, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xbe800000/-0.250000
> (8, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x3f800000/1.000000
> (9, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xbf400000/-0.750000
> (10, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x3f000000/0.500000
> (11, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xbe800000/-0.250000
> (12, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x3f800000/1.000000
> (13, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xbf400000/-0.750000
> (14, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x3f000000/0.500000
> (15, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xbe800000/-0.250000
> (16, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x3f800000/1.000000
> (17, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xbf400000/-0.750000
> (18, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x3f000000/0.500000
> (19, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xbe800000/-0.250000
> (512, 32): FAIL (16384)
>     - PIPE_FORMAT_R32_UNORM
> (unsupported)
>     - PIPE_FORMAT_R32G32_UNORM
> (unsupported)
>     - PIPE_FORMAT_R32G32B32A32_UNORM
> (unsupported)
>     - PIPE_FORMAT_R32_SNORM
> (unsupported)
>     - PIPE_FORMAT_R32G32_SNORM
> (unsupported)
>     - PIPE_FORMAT_R32G32B32A32_SNORM
> (unsupported)
>     - PIPE_FORMAT_R8_UINT
> (0, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (1, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (2, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (3, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (4, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (5, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (6, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (7, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (8, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (9, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (10, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (11, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (12, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (13, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (14, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (15, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (16, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (17, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (18, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (19, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (512, 32): FAIL (16384)
>     - PIPE_FORMAT_R8G8_UINT
> (0, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (1, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xff/0.000000
> (2, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (3, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (4, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (5, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xff/0.000000
> (6, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (7, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (8, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (9, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xff/0.000000
> (10, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (11, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (12, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (13, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xff/0.000000
> (14, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (15, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (16, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (17, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xff/0.000000
> (18, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (19, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (512, 32): FAIL (16384)
>     - PIPE_FORMAT_R8G8B8A8_UINT
> (0, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (1, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xff/0.000000
> (2, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xff/0.000000
> (3, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xf/0.000000
> (4, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (5, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xff/0.000000
> (6, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xff/0.000000
> (7, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xf/0.000000
> (8, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (9, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xff/0.000000
> (10, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xff/0.000000
> (11, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xf/0.000000
> (12, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (13, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xff/0.000000
> (14, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xff/0.000000
> (15, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xf/0.000000
> (16, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (17, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xff/0.000000
> (18, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xff/0.000000
> (19, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xf/0.000000
> (512, 32): FAIL (16384)
>     - PIPE_FORMAT_R8_SINT
> (0, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffffffff/-nan
> (1, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (2, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (3, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (4, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffffffff/-nan
> (5, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (6, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (7, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (8, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffffffff/-nan
> (9, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (10, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (11, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (12, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffffffff/-nan
> (13, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (14, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (15, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (16, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffffffff/-nan
> (17, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (18, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (19, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (512, 32): FAIL (16384)
>     - PIPE_FORMAT_R8G8_SINT
> (0, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffffffff/-nan
> (1, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x7f/0.000000
> (2, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (3, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (4, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffffffff/-nan
> (5, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x7f/0.000000
> (6, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (7, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (8, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffffffff/-nan
> (9, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x7f/0.000000
> (10, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (11, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (12, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffffffff/-nan
> (13, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x7f/0.000000
> (14, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (15, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (16, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffffffff/-nan
> (17, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x7f/0.000000
> (18, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (19, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (512, 32): FAIL (16384)
>     - PIPE_FORMAT_R8G8B8A8_SINT
> (0, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffffffff/-nan
> (1, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x7f/0.000000
> (2, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x7f/0.000000
> (3, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xf/0.000000
> (4, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffffffff/-nan
> (5, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x7f/0.000000
> (6, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x7f/0.000000
> (7, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xf/0.000000
> (8, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffffffff/-nan
> (9, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x7f/0.000000
> (10, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x7f/0.000000
> (11, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xf/0.000000
> (12, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffffffff/-nan
> (13, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x7f/0.000000
> (14, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x7f/0.000000
> (15, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xf/0.000000
> (16, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffffffff/-nan
> (17, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x7f/0.000000
> (18, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x7f/0.000000
> (19, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xf/0.000000
> (512, 32): FAIL (16384)
>     - PIPE_FORMAT_R32_UINT
> (0, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (1, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (2, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (3, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (4, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (5, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (6, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (7, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (8, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (9, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (10, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (11, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (12, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (13, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (14, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (15, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (16, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (17, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (18, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (19, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (512, 32): FAIL (16384)
>     - PIPE_FORMAT_R32G32_UINT
> (0, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (1, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffff/0.000000
> (2, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (3, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (4, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (5, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffff/0.000000
> (6, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (7, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (8, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (9, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffff/0.000000
> (10, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (11, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (12, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (13, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffff/0.000000
> (14, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (15, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (16, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (17, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffff/0.000000
> (18, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (19, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (512, 32): FAIL (16384)
>     - PIPE_FORMAT_R32G32B32A32_UINT
> (0, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (1, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffff/0.000000
> (2, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xff/0.000000
> (3, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xf/0.000000
> (4, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (5, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffff/0.000000
> (6, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xff/0.000000
> (7, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xf/0.000000
> (8, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (9, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffff/0.000000
> (10, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xff/0.000000
> (11, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xf/0.000000
> (12, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (13, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffff/0.000000
> (14, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xff/0.000000
> (15, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xf/0.000000
> (16, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (17, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffff/0.000000
> (18, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xff/0.000000
> (19, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xf/0.000000
> (512, 32): FAIL (16384)
>     - PIPE_FORMAT_R32_SINT
> (0, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffffffff/-nan
> (1, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (2, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (3, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (4, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffffffff/-nan
> (5, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (6, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (7, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (8, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffffffff/-nan
> (9, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (10, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (11, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (12, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffffffff/-nan
> (13, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (14, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (15, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (16, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffffffff/-nan
> (17, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (18, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (19, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (512, 32): FAIL (16384)
>     - PIPE_FORMAT_R32G32_SINT
> (0, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffffffff/-nan
> (1, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffff/0.000000
> (2, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (3, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (4, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffffffff/-nan
> (5, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffff/0.000000
> (6, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (7, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (8, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffffffff/-nan
> (9, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffff/0.000000
> (10, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (11, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (12, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffffffff/-nan
> (13, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffff/0.000000
> (14, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (15, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (16, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffffffff/-nan
> (17, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffff/0.000000
> (18, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x0/0.000000
> (19, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0x1/0.000000
> (512, 32): FAIL (16384)
>     - PIPE_FORMAT_R32G32B32A32_SINT
> (0, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffffffff/-nan
> (1, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffff/0.000000
> (2, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xff/0.000000
> (3, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xf/0.000000
> (4, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffffffff/-nan
> (5, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffff/0.000000
> (6, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xff/0.000000
> (7, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xf/0.000000
> (8, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffffffff/-nan
> (9, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffff/0.000000
> (10, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xff/0.000000
> (11, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xf/0.000000
> (12, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffffffff/-nan
> (13, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xffff/0.000000
> (14, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, expected
> 0xff/0.000000
> (15, 0)[0]: got 0xdeadbeef/-6259853398707798016.000000, exp
>
> #0  nv50_ir::RegAlloc::InsertConstraintsPass::textureMask (
>      this=this at entry=0x7fffffffd460, tex=tex at entry=0x6f8218)
>      at codegen/nv50_ir_ra.cpp:1875
> #1  0x00007ffff4dec7b5 in
> nv50_ir::RegAlloc::InsertConstraintsPass::texConstraintNVC0
> (this=this at entry=0x7fffffffd460, tex=tex at entry=0x6f8218)
>      at codegen/nv50_ir_ra.cpp:2087
> #2  0x00007ffff4decde3 in nv50_ir::RegAlloc::InsertConstraintsPass::visit (
>      this=<optimized out>, bb=<optimized out>) at
> codegen/nv50_ir_ra.cpp:2159
> #3  0x00007ffff4da3b48 in nv50_ir::Pass::doRun (
>      this=this at entry=0x7fffffffd460, func=func at entry=0x702310,
>      ordered=ordered at entry=true, skipPhi=skipPhi at entry=true)
>      at codegen/nv50_ir_bb.cpp:495
> #4  0x00007ffff4da3cca in nv50_ir::Pass::run
> (this=this at entry=0x7fffffffd460,
>      func=func at entry=0x702310, ordered=ordered at entry=true,
>      skipPhi=skipPhi at entry=true) at codegen/nv50_ir_bb.cpp:477
> #5  0x00007ffff4dedeb8 in nv50_ir::RegAlloc::InsertConstraintsPass::exec (
>      this=this at entry=0x7fffffffd460, ir=0x702310) at
> codegen/nv50_ir_ra.cpp:1858
> #6  0x00007ffff4def598 in nv50_ir::RegAlloc::execFunc (
>      this=this at entry=0x7fffffffd810) at codegen/nv50_ir_ra.cpp:1759
> #7  0x00007ffff4def905 in nv50_ir::RegAlloc::exec (
>      this=this at entry=0x7fffffffd810) at codegen/nv50_ir_ra.cpp:1731
> #8  0x00007ffff4def9cb in nv50_ir::Program::registerAllocation (
>      this=this at entry=0x708720) at codegen/nv50_ir_ra.cpp:1850
> #9  0x00007ffff4d98cf5 in nv50_ir_generate_code (info=info at entry=0x6f09f0)
>      at codegen/nv50_ir.cpp:1210
> #10 0x00007ffff4e56f51 in nvc0_program_translate (prog=prog at entry=0x6e4570,
>      chipset=<optimized out>, debug=debug at entry=0x6dd788)
>      at nvc0/nvc0_program.c:568
> #11 0x00007ffff4e53e71 in nvc0_compute_validate_program (nvc0=0x6dd470)
>      at nvc0/nvc0_compute.c:122
> #12 0x00007ffff4e53f11 in nvc0_compute_state_validate (nvc0=0x6dd470)
>      at nvc0/nvc0_compute.c:144
> #13 nvc0_launch_grid (pipe=0x6dd470, block_layout=0x7fffffffdbf0,
>      grid_layout=0x7fffffffdc00, label=0, input=0x0) at
> nvc0/nvc0_compute.c:197
> #14 0x000000000040392b in launch_grid (ctx=0x691010, input=0x0, pc=0,
>      grid_layout=0x7fffffffdc00, block_layout=0x7fffffffdbf0) at
> compute.c:428
> #15 test_surface_st (ctx=0x691010) at compute.c:1200
> #16 main (argc=<optimized out>, argv=<optimized out>) at compute.c:1606
>
> So things still do not work as expected, and still ultimately end with
> a segfault. This is with a NVD9 (GF119) card.
>
> So next I've tried with a NVA8 card, running ./compute there results in:
>
> PIPE_COMPUTE_CAP_GRID_DIMENSION: { 2 }
> PIPE_COMPUTE_CAP_MAX_GRID_SIZE: { 65535 65535 }
> PIPE_COMPUTE_CAP_MAX_BLOCK_SIZE: { 512 512 64 }
> - test_system_values
> compute: codegen/nv50_ir_ra.cpp:2120: void
> nv50_ir::RegAlloc::InsertConstraintsPass::texConstraintNV50(nv50_ir::TexInstruction*):
> Assertion `tex->defExists(0) && tex->srcExists(0)' failed.
>
> And "nbody" behaves the same as on the NVD9 card.
>
> This is all with current mesa master.
>
> Samual do you've a branch somewhere were the trivial/compute
> example actually works ? And on what card[s] should it work ?

No I don't have but I'll definitely work on this because we need to 
figure out all of those compute fails.

Compute support on Kepler (< GK110) seems to work quite fine, and it's 
quite complete. But you will also get those assertions...

I recommend you to test on Kepler (< GK110), and in the meantime I'll 
have a look at those issues on Tesla and Fermi.

As a starting point, I think it would be good to test with "simple" 
compute kernels which only use the global memory, like a vector add, a 
matrix mul, and so on.

Feel free to ask questions.

Thanks.

>
> Regards,
>
> Hans


More information about the Nouveau mailing list