[Nouveau] NV50 compute support questions

Samuel Pitoiset samuel.pitoiset at gmail.com
Thu Nov 26 04:52:23 PST 2015



On 11/26/2015 01:21 PM, Hans de Goede wrote:
> Hi,
>
> On 26-11-15 09:42, Samuel Pitoiset wrote:
>> Well, if you remove that assert locally, all compute tests in
>> src/gallium/tests/trivial/compute.c pass on GK106, except the atomic
>> ones.
>
> Do you mean the:
>
>      Assertion `pres->target != PIPE_BUFFER' failed.
>
> or the:
>
>      Assertion `tex->defExists(0) && tex->srcExists(0)' failed.
>
> assert? Or is the first one not present for Keppler?

The first one. The second one doesn't happen on Kepler.

>
> I do not have a GK106, I've a GK208, and IIRC that one is known to not
> work,
> I guess I can give it a try.

Compute support is not supported on GK110+, yeah...

If you provide me a MMT trace of, for example, vectorAdd from the CUDA 
samples I could have a look.

>
>> I'm working on the fermi case btw.
>
> Great, thanks.
>
> Regards,
>
> Hans
>
>
>
>> 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.
>>>
>>> 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.
>>>
>>> (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 ?
>>>
>>> Regards,
>>>
>>> Hans
>>

-- 
-Samuel


More information about the Nouveau mailing list