All of lore.kernel.org
 help / color / mirror / Atom feed
From: Samuel Pitoiset <samuel.pitoiset-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Hans de Goede <hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Cc: "nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org"
	<nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org>
Subject: Re: NV50 compute support questions
Date: Wed, 25 Nov 2015 17:50:20 +0100	[thread overview]
Message-ID: <5655E6CC.30905@gmail.com> (raw)
In-Reply-To: <5655C92E.5010605-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>



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@entry=0x691010,
>      slots=slots@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): ^[[31mFAIL^[[0m (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): ^[[31mFAIL^[[0m (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): ^[[31mFAIL^[[0m (179)
> - test_input_global
> (8, 1): ^[[32mOK^[[0m
> (8, 1): ^[[32mOK^[[0m
> (8, 1): ^[[32mOK^[[0m
> (8, 1): ^[[32mOK^[[0m
> - 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): ^[[31mFAIL^[[0m (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): ^[[31mFAIL^[[0m (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): ^[[31mFAIL^[[0m (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): ^[[31mFAIL^[[0m (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): ^[[31mFAIL^[[0m (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): ^[[31mFAIL^[[0m (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): ^[[31mFAIL^[[0m (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): ^[[31mFAIL^[[0m (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): ^[[31mFAIL^[[0m (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): ^[[31mFAIL^[[0m (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): ^[[31mFAIL^[[0m (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): ^[[31mFAIL^[[0m (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): ^[[31mFAIL^[[0m (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): ^[[31mFAIL^[[0m (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): ^[[31mFAIL^[[0m (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): ^[[31mFAIL^[[0m (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): ^[[31mFAIL^[[0m (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): ^[[31mFAIL^[[0m (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): ^[[31mFAIL^[[0m (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): ^[[31mFAIL^[[0m (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@entry=0x7fffffffd460, tex=tex@entry=0x6f8218)
>      at codegen/nv50_ir_ra.cpp:1875
> #1  0x00007ffff4dec7b5 in
> nv50_ir::RegAlloc::InsertConstraintsPass::texConstraintNVC0
> (this=this@entry=0x7fffffffd460, tex=tex@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@entry=0x7fffffffd460, func=func@entry=0x702310,
>      ordered=ordered@entry=true, skipPhi=skipPhi@entry=true)
>      at codegen/nv50_ir_bb.cpp:495
> #4  0x00007ffff4da3cca in nv50_ir::Pass::run
> (this=this@entry=0x7fffffffd460,
>      func=func@entry=0x702310, ordered=ordered@entry=true,
>      skipPhi=skipPhi@entry=true) at codegen/nv50_ir_bb.cpp:477
> #5  0x00007ffff4dedeb8 in nv50_ir::RegAlloc::InsertConstraintsPass::exec (
>      this=this@entry=0x7fffffffd460, ir=0x702310) at
> codegen/nv50_ir_ra.cpp:1858
> #6  0x00007ffff4def598 in nv50_ir::RegAlloc::execFunc (
>      this=this@entry=0x7fffffffd810) at codegen/nv50_ir_ra.cpp:1759
> #7  0x00007ffff4def905 in nv50_ir::RegAlloc::exec (
>      this=this@entry=0x7fffffffd810) at codegen/nv50_ir_ra.cpp:1731
> #8  0x00007ffff4def9cb in nv50_ir::Program::registerAllocation (
>      this=this@entry=0x708720) at codegen/nv50_ir_ra.cpp:1850
> #9  0x00007ffff4d98cf5 in nv50_ir_generate_code (info=info@entry=0x6f09f0)
>      at codegen/nv50_ir.cpp:1210
> #10 0x00007ffff4e56f51 in nvc0_program_translate (prog=prog@entry=0x6e4570,
>      chipset=<optimized out>, debug=debug@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
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

  parent reply	other threads:[~2015-11-25 16:50 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-20 10:36 NV50 compute support questions Hans de Goede
     [not found] ` <564EF7CA.4090809-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-11-20 11:55   ` Pierre Moreau
2015-11-20 16:07   ` Samuel Pitoiset
     [not found]     ` <564F452A.1010206-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-11-20 16:29       ` Hans de Goede
     [not found]         ` <564F4A54.7050704-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-11-23 15:31           ` Samuel Pitoiset
     [not found]             ` <5653314D.7010905-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-12-02 15:34               ` Hans de Goede
     [not found]                 ` <565F0F82.9040300-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-12-02 18:33                   ` Samuel Pitoiset
     [not found]                     ` <565F3988.10500-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-12-02 18:37                       ` Ilia Mirkin
2015-12-04  8:45                       ` Hans de Goede
     [not found]                         ` <566152BE.1080107-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-12-04  8:54                           ` Samuel Pitoiset
     [not found]                             ` <566154C2.4090509-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-12-04  9:12                               ` Hans de Goede
     [not found]                                 ` <56615907.5070909-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-12-04  9:21                                   ` Samuel Pitoiset
2015-12-07 15:10                           ` Hans de Goede
     [not found]                             ` <5665A161.90400-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-12-07 16:18                               ` Samuel Pitoiset
2015-11-25 14:43       ` Hans de Goede
     [not found]         ` <5655C92E.5010605-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-11-25 16:50           ` Samuel Pitoiset [this message]
     [not found]             ` <5655E6CC.30905-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-11-25 16:54               ` Ilia Mirkin
2015-11-26  8:42           ` Samuel Pitoiset
     [not found]             ` <5656C5F1.2000406-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-11-26 12:21               ` Hans de Goede
     [not found]                 ` <5656F958.1030201-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-11-26 12:52                   ` Samuel Pitoiset
     [not found]                     ` <56570087.80800-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-11-30 13:27                       ` Hans de Goede
     [not found]                         ` <565C4EAD.8030508-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-11-30 15:13                           ` Samuel Pitoiset
     [not found]                             ` <565C67A3.2090609-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-12-01 16:00                               ` Samuel Pitoiset
2015-11-30 19:03                           ` Ilia Mirkin
     [not found]                             ` <CAKb7UvjviUPdMCMrmPCuKy65WkyTz7ehNKoxa0myFbQftcc5mw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-12-01  8:19                               ` Hans de Goede

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5655E6CC.30905@gmail.com \
    --to=samuel.pitoiset-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
    --cc=hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.