All of lore.kernel.org
 help / color / mirror / Atom feed
* NV50 compute support questions
@ 2015-11-20 10:36 Hans de Goede
       [not found] ` <564EF7CA.4090809-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
  0 siblings, 1 reply; 25+ messages in thread
From: Hans de Goede @ 2015-11-20 10:36 UTC (permalink / raw)
  To: Samuel Pitoiset; +Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

Hi Samual, et al,

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 ?

As you know I'm working on a llvm tgsi backend,
it actually produces some output now, if you want
to take a peek it lives here:
http://cgit.freedesktop.org/~jwrdegoede/llvm

Before working further on this I want to take
a bottom up approach, so I want to first make
sure we've working TGSI -> compute-kernel and
compute-kernel -> hardware steps. So the next
question is, do you know if we can go from
(manually written) TGSI to a compute-kernel
using say nouveau-compiler ?

And if not, do you know what is missing to do
this?

Thanks & Regards,

Hans
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: NV50 compute support questions
       [not found] ` <564EF7CA.4090809-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
@ 2015-11-20 11:55   ` Pierre Moreau
  2015-11-20 16:07   ` Samuel Pitoiset
  1 sibling, 0 replies; 25+ messages in thread
From: Pierre Moreau @ 2015-11-20 11:55 UTC (permalink / raw)
  To: Hans de Goede; +Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

Hello Hans,

IIRC, Samuel wrote the kernel directly in assembly by hand. 

As for me, I manually wrote the SPIR-V binary for the kernel, hacked clover to use it as if it had been produced by the regular LLVM path, and then fed it into the WIP SPIR-V to NV50 IR translator. I can send the instructions on how to get it working later today. 

(Some more comments below)

> On 20 Nov 2015, at 11:36, Hans de Goede <hdegoede@redhat.com> wrote:
> 
> Hi Samual, et al,
> 
> 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 ?
> 
> As you know I'm working on a llvm tgsi backend,
> it actually produces some output now, if you want
> to take a peek it lives here:
> http://cgit.freedesktop.org/~jwrdegoede/llvm
> 
> Before working further on this I want to take
> a bottom up approach, so I want to first make
> sure we've working TGSI -> compute-kernel and
> compute-kernel -> hardware steps. So the next
> question is, do you know if we can go from
> (manually written) TGSI to a compute-kernel
> using say nouveau-compiler ?

IIRC, it should be possible… but I'll have a look at it this evening. 

Regards,
Pierre

> 
> And if not, do you know what is missing to do
> this?
> 
> Thanks & Regards,
> 
> Hans
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: NV50 compute support questions
       [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>
  1 sibling, 1 reply; 25+ messages in thread
From: Samuel Pitoiset @ 2015-11-20 16:07 UTC (permalink / raw)
  To: Hans de Goede; +Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW



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.

An other way to achieve what you need is to copy/paste your TGSI kernel 
in src/gallium/tests/trivial/compute.c, set up the global buffers and 
other stuff (maybe samplers, textures and so on) yourself. This is a bit 
painful but should work as expected.

>
> As you know I'm working on a llvm tgsi backend,
> it actually produces some output now, if you want
> to take a peek it lives here:
> http://cgit.freedesktop.org/~jwrdegoede/llvm

I'm currently building your TGSI branch. :-)

>
> Before working further on this I want to take
> a bottom up approach, so I want to first make
> sure we've working TGSI -> compute-kernel and
> compute-kernel -> hardware steps. So the next
> question is, do you know if we can go from
> (manually written) TGSI to a compute-kernel
> using say nouveau-compiler ?

Sure, you can use nouveau-compiler to convert TGSI to NV50 IR, but as I 
said, you can't directly execute your compute kernel without setting a 
ton of stuff before... That's a bunch of fun! :-)

Btw, do you still need compute support on your GK208? or did you have an 
other card for testing ?

>
> And if not, do you know what is missing to do
> this?
>
> Thanks & Regards,
>
> Hans
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: NV50 compute support questions
       [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-25 14:43       ` Hans de Goede
  1 sibling, 1 reply; 25+ messages in thread
From: Hans de Goede @ 2015-11-20 16:29 UTC (permalink / raw)
  To: Samuel Pitoiset; +Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

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.

Ah, right. Ok I'll take a look at those.

> Because clover is not currently able to do OpenCL -> TGSI using Clang/LLVM, you can't really use your backend directly.

I know I'm fine with manually copying TGSI output by llc for my first
tests. I've the feeling I need to understand how inputs to / outputs
from the TGSI code are handled better before I can do further work
on the llvm TGSI backend.

> An other way to achieve what you need is to copy/paste your TGSI kernel in src/gallium/tests/trivial/compute.c, set up the global buffers and other stuff (maybe samplers, textures and so on) yourself. This is a bit painful but should work as expected.
>
>>
>> As you know I'm working on a llvm tgsi backend,
>> it actually produces some output now, if you want
>> to take a peek it lives here:
>> http://cgit.freedesktop.org/~jwrdegoede/llvm
>
> I'm currently building your TGSI branch. :-)

Cool, note this is very very preliminary. This really
is just curro's work ported to the latest llvm trunk
without me having added anything (yet).

>> Before working further on this I want to take
>> a bottom up approach, so I want to first make
>> sure we've working TGSI -> compute-kernel and
>> compute-kernel -> hardware steps. So the next
>> question is, do you know if we can go from
>> (manually written) TGSI to a compute-kernel
>> using say nouveau-compiler ?
>
> Sure, you can use nouveau-compiler to convert TGSI to NV50 IR, but as I said, you can't directly execute your compute kernel without setting a ton of stuff before... That's a bunch of fun! :-)
>
> Btw, do you still need compute support on your GK208? or did you have an other card for testing ?

No I've a GT 610 / GF119 card now (still need to plug it in).

Regards,

Hans
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: NV50 compute support questions
       [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>
  0 siblings, 1 reply; 25+ messages in thread
From: Samuel Pitoiset @ 2015-11-23 15:31 UTC (permalink / raw)
  To: Hans de Goede; +Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW



On 11/20/2015 05:29 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.
>
> Ah, right. Ok I'll take a look at those.
>
>> Because clover is not currently able to do OpenCL -> TGSI using
>> Clang/LLVM, you can't really use your backend directly.
>
> I know I'm fine with manually copying TGSI output by llc for my first
> tests. I've the feeling I need to understand how inputs to / outputs
> from the TGSI code are handled better before I can do further work
> on the llvm TGSI backend.
>
>> An other way to achieve what you need is to copy/paste your TGSI
>> kernel in src/gallium/tests/trivial/compute.c, set up the global
>> buffers and other stuff (maybe samplers, textures and so on) yourself.
>> This is a bit painful but should work as expected.
>>
>>>
>>> As you know I'm working on a llvm tgsi backend,
>>> it actually produces some output now, if you want
>>> to take a peek it lives here:
>>> http://cgit.freedesktop.org/~jwrdegoede/llvm
>>
>> I'm currently building your TGSI branch. :-)
>
> Cool, note this is very very preliminary. This really
> is just curro's work ported to the latest llvm trunk
> without me having added anything (yet).
>
>>> Before working further on this I want to take
>>> a bottom up approach, so I want to first make
>>> sure we've working TGSI -> compute-kernel and
>>> compute-kernel -> hardware steps. So the next
>>> question is, do you know if we can go from
>>> (manually written) TGSI to a compute-kernel
>>> using say nouveau-compiler ?
>>
>> Sure, you can use nouveau-compiler to convert TGSI to NV50 IR, but as
>> I said, you can't directly execute your compute kernel without setting
>> a ton of stuff before... That's a bunch of fun! :-)
>>
>> Btw, do you still need compute support on your GK208? or did you have
>> an other card for testing ?
>
> No I've a GT 610 / GF119 card now (still need to plug it in).

Cool, note that compute support is available on tesla, fermi and kepler 
since I merged the nv50 compute ~one week ago.

Some bits are missing for tesla and fermi, but I can have look if you 
need them. Those bits are mostly related to textures, surfaces and 
samplers, but you can already launch "simple" kernels.

>
> Regards,
>
> Hans

-- 
-Samuel
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: NV50 compute support questions
       [not found]     ` <564F452A.1010206-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  2015-11-20 16:29       ` Hans de Goede
@ 2015-11-25 14:43       ` Hans de Goede
       [not found]         ` <5655C92E.5010605-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
  1 sibling, 1 reply; 25+ messages in thread
From: Hans de Goede @ 2015-11-25 14:43 UTC (permalink / raw)
  To: Samuel Pitoiset; +Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

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@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 ?

Regards,

Hans
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: NV50 compute support questions
       [not found]         ` <5655C92E.5010605-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
@ 2015-11-25 16:50           ` Samuel Pitoiset
       [not found]             ` <5655E6CC.30905-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  2015-11-26  8:42           ` Samuel Pitoiset
  1 sibling, 1 reply; 25+ messages in thread
From: Samuel Pitoiset @ 2015-11-25 16:50 UTC (permalink / raw)
  To: Hans de Goede; +Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW



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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: NV50 compute support questions
       [not found]             ` <5655E6CC.30905-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2015-11-25 16:54               ` Ilia Mirkin
  0 siblings, 0 replies; 25+ messages in thread
From: Ilia Mirkin @ 2015-11-25 16:54 UTC (permalink / raw)
  To: Samuel Pitoiset; +Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

On Wed, Nov 25, 2015 at 11:50 AM, Samuel Pitoiset
<samuel.pitoiset@gmail.com> wrote:
>> 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. :-)

I threw that assertion in without thinking too hard. Probably OK to
remove for the compute case. As you've discovered, all the surface
stuff (which generally speaking is images) is only implemented for
GK10x. I suspect a lot of it will have to change anyways as support
for all this stuff is added for GL, so whatever's there now, I
wouldn't rely too much on.

  -ilia
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: NV50 compute support questions
       [not found]         ` <5655C92E.5010605-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
  2015-11-25 16:50           ` Samuel Pitoiset
@ 2015-11-26  8:42           ` Samuel Pitoiset
       [not found]             ` <5656C5F1.2000406-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  1 sibling, 1 reply; 25+ messages in thread
From: Samuel Pitoiset @ 2015-11-26  8:42 UTC (permalink / raw)
  To: Hans de Goede; +Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

Well, if you remove that assert locally, all compute tests in 
src/gallium/tests/trivial/compute.c pass on GK106, except the atomic 
ones. I'm working on the fermi case btw.

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@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 ?
>
> Regards,
>
> Hans

-- 
-Samuel
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: NV50 compute support questions
       [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>
  0 siblings, 1 reply; 25+ messages in thread
From: Hans de Goede @ 2015-11-26 12:21 UTC (permalink / raw)
  To: Samuel Pitoiset; +Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

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?

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.

> 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@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 ?
>>
>> Regards,
>>
>> Hans
>
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: NV50 compute support questions
       [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>
  0 siblings, 1 reply; 25+ messages in thread
From: Samuel Pitoiset @ 2015-11-26 12:52 UTC (permalink / raw)
  To: Hans de Goede; +Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW



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@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 ?
>>>
>>> Regards,
>>>
>>> Hans
>>

-- 
-Samuel
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: NV50 compute support questions
       [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>
  0 siblings, 1 reply; 25+ messages in thread
From: Hans de Goede @ 2015-11-30 13:27 UTC (permalink / raw)
  To: Samuel Pitoiset; +Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

Hi,

On 26-11-15 13:52, Samuel Pitoiset wrote:

<snip>

>> 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.

Ok, here is a MMT trace of vectorAdd:

https://fedorapeople.org/~jwrdegoede/vectorAdd.log.gz

Regards,

Hans
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: NV50 compute support questions
       [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-11-30 19:03                           ` Ilia Mirkin
  1 sibling, 1 reply; 25+ messages in thread
From: Samuel Pitoiset @ 2015-11-30 15:13 UTC (permalink / raw)
  To: Hans de Goede; +Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW



On 11/30/2015 02:27 PM, Hans de Goede wrote:
> Hi,
>
> On 26-11-15 13:52, Samuel Pitoiset wrote:
>
> <snip>
>
>>> 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.
>
> Ok, here is a MMT trace of vectorAdd:
>
> https://fedorapeople.org/~jwrdegoede/vectorAdd.log.gz

Hi Hans,

Thanks a lot.

>
> Regards,
>
> Hans

-- 
-Samuel
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: NV50 compute support questions
       [not found]                         ` <565C4EAD.8030508-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
  2015-11-30 15:13                           ` Samuel Pitoiset
@ 2015-11-30 19:03                           ` Ilia Mirkin
       [not found]                             ` <CAKb7UvjviUPdMCMrmPCuKy65WkyTz7ehNKoxa0myFbQftcc5mw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  1 sibling, 1 reply; 25+ messages in thread
From: Ilia Mirkin @ 2015-11-30 19:03 UTC (permalink / raw)
  To: Hans de Goede; +Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

On Mon, Nov 30, 2015 at 8:27 AM, Hans de Goede <hdegoede@redhat.com> wrote:
> Hi,
>
> On 26-11-15 13:52, Samuel Pitoiset wrote:
>
> <snip>
>
>>> 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.
>
>
> Ok, here is a MMT trace of vectorAdd:
>
> https://fedorapeople.org/~jwrdegoede/vectorAdd.log.gz

You don't have permission to access /~jwrdegoede/vectorAdd.log.gz on
this server.

Unfortunately valgrind creates files with og-rwx, and the various
tools like gzip and scp maintain those permissions. So you have to
manually fix it.

  -ilia
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: NV50 compute support questions
       [not found]                             ` <CAKb7UvjviUPdMCMrmPCuKy65WkyTz7ehNKoxa0myFbQftcc5mw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2015-12-01  8:19                               ` Hans de Goede
  0 siblings, 0 replies; 25+ messages in thread
From: Hans de Goede @ 2015-12-01  8:19 UTC (permalink / raw)
  To: Ilia Mirkin; +Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

Hi,

On 30-11-15 20:03, Ilia Mirkin wrote:
> On Mon, Nov 30, 2015 at 8:27 AM, Hans de Goede <hdegoede@redhat.com> wrote:
>> Hi,
>>
>> On 26-11-15 13:52, Samuel Pitoiset wrote:
>>
>> <snip>
>>
>>>> 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.
>>
>>
>> Ok, here is a MMT trace of vectorAdd:
>>
>> https://fedorapeople.org/~jwrdegoede/vectorAdd.log.gz
>
> You don't have permission to access /~jwrdegoede/vectorAdd.log.gz on
> this server.
>
> Unfortunately valgrind creates files with og-rwx, and the various
> tools like gzip and scp maintain those permissions.

Ugh, I did not know that, I'll try to remember that for the next time.

> So you have to manually fix it.

Fixed.

Regards,

Hans
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: NV50 compute support questions
       [not found]                             ` <565C67A3.2090609-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2015-12-01 16:00                               ` Samuel Pitoiset
  0 siblings, 0 replies; 25+ messages in thread
From: Samuel Pitoiset @ 2015-12-01 16:00 UTC (permalink / raw)
  To: Hans de Goede; +Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW



On 11/30/2015 04:13 PM, Samuel Pitoiset wrote:
>
>
> On 11/30/2015 02:27 PM, Hans de Goede wrote:
>> Hi,
>>
>> On 26-11-15 13:52, Samuel Pitoiset wrote:
>>
>> <snip>
>>
>>>> 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.
>>
>> Ok, here is a MMT trace of vectorAdd:
>>
>> https://fedorapeople.org/~jwrdegoede/vectorAdd.log.gz
>
> Hi Hans,
>
> Thanks a lot.

Well, I didn't know but Martin has a GK208...
I just tested the compute support on his card and ... it works without 
any changes. :-)

I'm sorry, I was sure the compute support didn't work on this chipset.

Feel free to test on your GK208 and report back if you have problems.

Thanks.

>
>>
>> Regards,
>>
>> Hans
>

-- 
-Samuel
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: NV50 compute support questions
       [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>
  0 siblings, 1 reply; 25+ messages in thread
From: Hans de Goede @ 2015-12-02 15:34 UTC (permalink / raw)
  To: Samuel Pitoiset; +Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

On 01-12-15, Samuel Pitoiset wrote:

 >>> Ok, here is a MMT trace of vectorAdd:
 >>>
 >>> https://fedorapeople.org/~jwrdegoede/vectorAdd.log.gz
 >>
 >> Hi Hans,
 >>
 >> Thanks a lot.
 >
 > Well, I didn't know but Martin has a GK208...
 > I just tested the compute support on his card and ... it works without
 > any changes. :-)
 >
 > I'm sorry, I was sure the compute support didn't work on this chipset.

No need to be sorry because, ...

 > Feel free to test on your GK208 and report back if you have problems.

I've done that, and for me it does not work, if I try to enable compute
support like this:

diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
index 461fcaa..ab4ea85 100644
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
+++ b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
@@ -187,7 +187,7 @@ nvc0_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
     case PIPE_CAP_SEAMLESS_CUBE_MAP_PER_TEXTURE:
        return (class_3d >= NVE4_3D_CLASS) ? 1 : 0;
     case PIPE_CAP_COMPUTE:
-      return (class_3d <= NVE4_3D_CLASS) ? 1 : 0;
+      return 1;
     case PIPE_CAP_PREFER_BLIT_BASED_TEXTURE_TRANSFER:
        return nouveau_screen(pscreen)->vram_domain & NOUVEAU_BO_VRAM ? 1 : 0;

@@ -246,8 +246,6 @@ nvc0_screen_get_shader_param(struct pipe_screen *pscreen, unsigned shader,
           return 0;
        break;
     case PIPE_SHADER_COMPUTE:
-      if (class_3d > NVE4_3D_CLASS)
-         return 0;
        break;
     default:
        return 0;
@@ -574,11 +572,10 @@ nvc0_screen_init_compute(struct nvc0_screen *screen)
     case 0xd0:
        return nvc0_screen_compute_setup(screen, screen->base.pushbuf);
     case 0xe0:
-      return nve4_screen_compute_setup(screen, screen->base.pushbuf);
     case 0xf0:
     case 0x100:
     case 0x110:
-      return 0;
+      return nve4_screen_compute_setup(screen, screen->base.pushbuf);
     default:
        return -1;
     }

Then as soon as I do startx (which starts gnome-shell) the machine
freezes. This is with mesa-master with the above changes on top.

X / gnome-shell will happily work of I do not call nve4_screen_compute_setup()
but then test/trivial/compute fails with a null-ptr exception.

Do you perhaps have some extra patches in your tree, or am I just unlucky ?

I've tested this on both a 4.2 and a 4.4-rc3 kernel.

Regards,

Hans
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply related	[flat|nested] 25+ messages in thread

* Re: NV50 compute support questions
       [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>
  0 siblings, 1 reply; 25+ messages in thread
From: Samuel Pitoiset @ 2015-12-02 18:33 UTC (permalink / raw)
  To: Hans de Goede; +Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW



On 12/02/2015 04:34 PM, Hans de Goede wrote:
> On 01-12-15, Samuel Pitoiset wrote:
>
>  >>> Ok, here is a MMT trace of vectorAdd:
>  >>>
>  >>> https://fedorapeople.org/~jwrdegoede/vectorAdd.log.gz
>  >>
>  >> Hi Hans,
>  >>
>  >> Thanks a lot.
>  >
>  > Well, I didn't know but Martin has a GK208...
>  > I just tested the compute support on his card and ... it works without
>  > any changes. :-)
>  >
>  > I'm sorry, I was sure the compute support didn't work on this chipset.
>
> No need to be sorry because, ...
>
>  > Feel free to test on your GK208 and report back if you have problems.
>
> I've done that, and for me it does not work, if I try to enable compute
> support like this:
>
> diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
> b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
> index 461fcaa..ab4ea85 100644
> --- a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
> +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
> @@ -187,7 +187,7 @@ nvc0_screen_get_param(struct pipe_screen *pscreen,
> enum pipe_cap param)
>      case PIPE_CAP_SEAMLESS_CUBE_MAP_PER_TEXTURE:
>         return (class_3d >= NVE4_3D_CLASS) ? 1 : 0;
>      case PIPE_CAP_COMPUTE:
> -      return (class_3d <= NVE4_3D_CLASS) ? 1 : 0;
> +      return 1;
>      case PIPE_CAP_PREFER_BLIT_BASED_TEXTURE_TRANSFER:
>         return nouveau_screen(pscreen)->vram_domain & NOUVEAU_BO_VRAM ?
> 1 : 0;
>
> @@ -246,8 +246,6 @@ nvc0_screen_get_shader_param(struct pipe_screen
> *pscreen, unsigned shader,
>            return 0;
>         break;
>      case PIPE_SHADER_COMPUTE:
> -      if (class_3d > NVE4_3D_CLASS)
> -         return 0;
>         break;
>      default:
>         return 0;
> @@ -574,11 +572,10 @@ nvc0_screen_init_compute(struct nvc0_screen *screen)
>      case 0xd0:
>         return nvc0_screen_compute_setup(screen, screen->base.pushbuf);
>      case 0xe0:
> -      return nve4_screen_compute_setup(screen, screen->base.pushbuf);
>      case 0xf0:
>      case 0x100:
>      case 0x110:
> -      return 0;
> +      return nve4_screen_compute_setup(screen, screen->base.pushbuf);
>      default:
>         return -1;
>      }
>
> Then as soon as I do startx (which starts gnome-shell) the machine
> freezes. This is with mesa-master with the above changes on top.
>
> X / gnome-shell will happily work of I do not call
> nve4_screen_compute_setup()
> but then test/trivial/compute fails with a null-ptr exception.
>
> Do you perhaps have some extra patches in your tree, or am I just unlucky ?
>
> I've tested this on both a 4.2 and a 4.4-rc3 kernel.

Hi,

My bad... I used the wrong card on reator (which is the REing machine of 
Martin). The primary card is a GK106 and the second one is the GK208. 
That doesn't explain why I did something wrong but heh? :-)

You are right. With those bits added locally, the compute support 
totally hangs the GPU on my GK208 (NV108), and a reboot is needed.

Please give a shot at this branch :
http://cgit.freedesktop.org/~hakzsam/mesa/log/?h=nvf0_compute

It fixes the initialization of the compute state and allows me to
launch 'test_input_global' (ie. ./compute 8) on my GK208 without
any dmesg fails. That's a good start but more patches are coming. :-)

Btw, according to the trace you sent me, you have a GK208b (NV106).

Thanks!

>
> Regards,
>
> Hans
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: NV50 compute support questions
       [not found]                     ` <565F3988.10500-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2015-12-02 18:37                       ` Ilia Mirkin
  2015-12-04  8:45                       ` Hans de Goede
  1 sibling, 0 replies; 25+ messages in thread
From: Ilia Mirkin @ 2015-12-02 18:37 UTC (permalink / raw)
  To: Samuel Pitoiset; +Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

On Wed, Dec 2, 2015 at 1:33 PM, Samuel Pitoiset
<samuel.pitoiset@gmail.com> wrote:
>
>
> On 12/02/2015 04:34 PM, Hans de Goede wrote:
>>
>> On 01-12-15, Samuel Pitoiset wrote:
>>
>>  >>> Ok, here is a MMT trace of vectorAdd:
>>  >>>
>>  >>> https://fedorapeople.org/~jwrdegoede/vectorAdd.log.gz
>>  >>
>>  >> Hi Hans,
>>  >>
>>  >> Thanks a lot.
>>  >
>>  > Well, I didn't know but Martin has a GK208...
>>  > I just tested the compute support on his card and ... it works without
>>  > any changes. :-)
>>  >
>>  > I'm sorry, I was sure the compute support didn't work on this chipset.
>>
>> No need to be sorry because, ...
>>
>>  > Feel free to test on your GK208 and report back if you have problems.
>>
>> I've done that, and for me it does not work, if I try to enable compute
>> support like this:
>>
>> diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
>> b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
>> index 461fcaa..ab4ea85 100644
>> --- a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
>> +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
>> @@ -187,7 +187,7 @@ nvc0_screen_get_param(struct pipe_screen *pscreen,
>> enum pipe_cap param)
>>      case PIPE_CAP_SEAMLESS_CUBE_MAP_PER_TEXTURE:
>>         return (class_3d >= NVE4_3D_CLASS) ? 1 : 0;
>>      case PIPE_CAP_COMPUTE:
>> -      return (class_3d <= NVE4_3D_CLASS) ? 1 : 0;
>> +      return 1;
>>      case PIPE_CAP_PREFER_BLIT_BASED_TEXTURE_TRANSFER:
>>         return nouveau_screen(pscreen)->vram_domain & NOUVEAU_BO_VRAM ?
>> 1 : 0;
>>
>> @@ -246,8 +246,6 @@ nvc0_screen_get_shader_param(struct pipe_screen
>> *pscreen, unsigned shader,
>>            return 0;
>>         break;
>>      case PIPE_SHADER_COMPUTE:
>> -      if (class_3d > NVE4_3D_CLASS)
>> -         return 0;
>>         break;
>>      default:
>>         return 0;
>> @@ -574,11 +572,10 @@ nvc0_screen_init_compute(struct nvc0_screen *screen)
>>      case 0xd0:
>>         return nvc0_screen_compute_setup(screen, screen->base.pushbuf);
>>      case 0xe0:
>> -      return nve4_screen_compute_setup(screen, screen->base.pushbuf);
>>      case 0xf0:
>>      case 0x100:
>>      case 0x110:
>> -      return 0;
>> +      return nve4_screen_compute_setup(screen, screen->base.pushbuf);
>>      default:
>>         return -1;
>>      }
>>
>> Then as soon as I do startx (which starts gnome-shell) the machine
>> freezes. This is with mesa-master with the above changes on top.
>>
>> X / gnome-shell will happily work of I do not call
>> nve4_screen_compute_setup()
>> but then test/trivial/compute fails with a null-ptr exception.
>>
>> Do you perhaps have some extra patches in your tree, or am I just unlucky
>> ?
>>
>> I've tested this on both a 4.2 and a 4.4-rc3 kernel.
>
>
> Hi,
>
> My bad... I used the wrong card on reator (which is the REing machine of
> Martin). The primary card is a GK106 and the second one is the GK208. That
> doesn't explain why I did something wrong but heh? :-)
>
> You are right. With those bits added locally, the compute support totally
> hangs the GPU on my GK208 (NV108), and a reboot is needed.
>
> Please give a shot at this branch :
> http://cgit.freedesktop.org/~hakzsam/mesa/log/?h=nvf0_compute
>
> It fixes the initialization of the compute state and allows me to
> launch 'test_input_global' (ie. ./compute 8) on my GK208 without
> any dmesg fails. That's a good start but more patches are coming. :-)

The firmware methods are implemented by the ctxsw fw, in the fuc. You
should try to see what the blob firmware used that one for and see if
we need to implement the same thing or not. I've generally ignored
them. There is another firmware method for the equivalent of a
context-aware nv_mask()... I think you write the reg/mask/new into the
SCRATCH methods, and then invoke the firmware command. Or something. I
looked into when I thought it was related to atomic fail.

  -ilia
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: NV50 compute support questions
       [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>
  1 sibling, 1 reply; 25+ messages in thread
From: Hans de Goede @ 2015-12-04  8:45 UTC (permalink / raw)
  To: Samuel Pitoiset; +Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

Hi,

On 02-12-15 19:33, Samuel Pitoiset wrote:
>
>
> On 12/02/2015 04:34 PM, Hans de Goede wrote:
>> On 01-12-15, Samuel Pitoiset wrote:
>>
>>  >>> Ok, here is a MMT trace of vectorAdd:
>>  >>>
>>  >>> https://fedorapeople.org/~jwrdegoede/vectorAdd.log.gz
>>  >>
>>  >> Hi Hans,
>>  >>
>>  >> Thanks a lot.
>>  >
>>  > Well, I didn't know but Martin has a GK208...
>>  > I just tested the compute support on his card and ... it works without
>>  > any changes. :-)
>>  >
>>  > I'm sorry, I was sure the compute support didn't work on this chipset.
>>
>> No need to be sorry because, ...
>>
>>  > Feel free to test on your GK208 and report back if you have problems.
>>
>> I've done that, and for me it does not work, if I try to enable compute
>> support like this:
>>
>> diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
>> b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
>> index 461fcaa..ab4ea85 100644
>> --- a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
>> +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
>> @@ -187,7 +187,7 @@ nvc0_screen_get_param(struct pipe_screen *pscreen,
>> enum pipe_cap param)
>>      case PIPE_CAP_SEAMLESS_CUBE_MAP_PER_TEXTURE:
>>         return (class_3d >= NVE4_3D_CLASS) ? 1 : 0;
>>      case PIPE_CAP_COMPUTE:
>> -      return (class_3d <= NVE4_3D_CLASS) ? 1 : 0;
>> +      return 1;
>>      case PIPE_CAP_PREFER_BLIT_BASED_TEXTURE_TRANSFER:
>>         return nouveau_screen(pscreen)->vram_domain & NOUVEAU_BO_VRAM ?
>> 1 : 0;
>>
>> @@ -246,8 +246,6 @@ nvc0_screen_get_shader_param(struct pipe_screen
>> *pscreen, unsigned shader,
>>            return 0;
>>         break;
>>      case PIPE_SHADER_COMPUTE:
>> -      if (class_3d > NVE4_3D_CLASS)
>> -         return 0;
>>         break;
>>      default:
>>         return 0;
>> @@ -574,11 +572,10 @@ nvc0_screen_init_compute(struct nvc0_screen *screen)
>>      case 0xd0:
>>         return nvc0_screen_compute_setup(screen, screen->base.pushbuf);
>>      case 0xe0:
>> -      return nve4_screen_compute_setup(screen, screen->base.pushbuf);
>>      case 0xf0:
>>      case 0x100:
>>      case 0x110:
>> -      return 0;
>> +      return nve4_screen_compute_setup(screen, screen->base.pushbuf);
>>      default:
>>         return -1;
>>      }
>>
>> Then as soon as I do startx (which starts gnome-shell) the machine
>> freezes. This is with mesa-master with the above changes on top.
>>
>> X / gnome-shell will happily work of I do not call
>> nve4_screen_compute_setup()
>> but then test/trivial/compute fails with a null-ptr exception.
>>
>> Do you perhaps have some extra patches in your tree, or am I just unlucky ?
>>
>> I've tested this on both a 4.2 and a 4.4-rc3 kernel.
>
> Hi,
>
> My bad... I used the wrong card on reator (which is the REing machine of Martin). The primary card is a GK106 and the second one is the GK208. That doesn't explain why I did something wrong but heh? :-)
>
> You are right. With those bits added locally, the compute support totally hangs the GPU on my GK208 (NV108), and a reboot is needed.
>
> Please give a shot at this branch :
> http://cgit.freedesktop.org/~hakzsam/mesa/log/?h=nvf0_compute
>
> It fixes the initialization of the compute state and allows me to
> launch 'test_input_global' (ie. ./compute 8) on my GK208 without
> any dmesg fails. That's a good start but more patches are coming. :-)

This branch indeed works somewhat better, but things still hang on the

test_system_values compute test for me (this is the first test executed
I did not try the others). So this seems to need more work.

I've ordered a GTX740 (GK107) card, which should arrive soon, and
I'll be using that so I can (hopefully) focus on the llvm tgsi bits
again.

> Btw, according to the trace you sent me, you have a GK208b (NV106).

Right, sorry I thought the differences between GK208 and GK208b would not matter.

Thanks for all the input / help!

Regards,

Hans


_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: NV50 compute support questions
       [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-07 15:10                           ` Hans de Goede
  1 sibling, 1 reply; 25+ messages in thread
From: Samuel Pitoiset @ 2015-12-04  8:54 UTC (permalink / raw)
  To: Hans de Goede; +Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW



On 12/04/2015 09:45 AM, Hans de Goede wrote:
> Hi,
>
> On 02-12-15 19:33, Samuel Pitoiset wrote:
>>
>>
>> On 12/02/2015 04:34 PM, Hans de Goede wrote:
>>> On 01-12-15, Samuel Pitoiset wrote:
>>>
>>>  >>> Ok, here is a MMT trace of vectorAdd:
>>>  >>>
>>>  >>> https://fedorapeople.org/~jwrdegoede/vectorAdd.log.gz
>>>  >>
>>>  >> Hi Hans,
>>>  >>
>>>  >> Thanks a lot.
>>>  >
>>>  > Well, I didn't know but Martin has a GK208...
>>>  > I just tested the compute support on his card and ... it works
>>> without
>>>  > any changes. :-)
>>>  >
>>>  > I'm sorry, I was sure the compute support didn't work on this
>>> chipset.
>>>
>>> No need to be sorry because, ...
>>>
>>>  > Feel free to test on your GK208 and report back if you have problems.
>>>
>>> I've done that, and for me it does not work, if I try to enable compute
>>> support like this:
>>>
>>> diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
>>> b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
>>> index 461fcaa..ab4ea85 100644
>>> --- a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
>>> +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
>>> @@ -187,7 +187,7 @@ nvc0_screen_get_param(struct pipe_screen *pscreen,
>>> enum pipe_cap param)
>>>      case PIPE_CAP_SEAMLESS_CUBE_MAP_PER_TEXTURE:
>>>         return (class_3d >= NVE4_3D_CLASS) ? 1 : 0;
>>>      case PIPE_CAP_COMPUTE:
>>> -      return (class_3d <= NVE4_3D_CLASS) ? 1 : 0;
>>> +      return 1;
>>>      case PIPE_CAP_PREFER_BLIT_BASED_TEXTURE_TRANSFER:
>>>         return nouveau_screen(pscreen)->vram_domain & NOUVEAU_BO_VRAM ?
>>> 1 : 0;
>>>
>>> @@ -246,8 +246,6 @@ nvc0_screen_get_shader_param(struct pipe_screen
>>> *pscreen, unsigned shader,
>>>            return 0;
>>>         break;
>>>      case PIPE_SHADER_COMPUTE:
>>> -      if (class_3d > NVE4_3D_CLASS)
>>> -         return 0;
>>>         break;
>>>      default:
>>>         return 0;
>>> @@ -574,11 +572,10 @@ nvc0_screen_init_compute(struct nvc0_screen
>>> *screen)
>>>      case 0xd0:
>>>         return nvc0_screen_compute_setup(screen, screen->base.pushbuf);
>>>      case 0xe0:
>>> -      return nve4_screen_compute_setup(screen, screen->base.pushbuf);
>>>      case 0xf0:
>>>      case 0x100:
>>>      case 0x110:
>>> -      return 0;
>>> +      return nve4_screen_compute_setup(screen, screen->base.pushbuf);
>>>      default:
>>>         return -1;
>>>      }
>>>
>>> Then as soon as I do startx (which starts gnome-shell) the machine
>>> freezes. This is with mesa-master with the above changes on top.
>>>
>>> X / gnome-shell will happily work of I do not call
>>> nve4_screen_compute_setup()
>>> but then test/trivial/compute fails with a null-ptr exception.
>>>
>>> Do you perhaps have some extra patches in your tree, or am I just
>>> unlucky ?
>>>
>>> I've tested this on both a 4.2 and a 4.4-rc3 kernel.
>>
>> Hi,
>>
>> My bad... I used the wrong card on reator (which is the REing machine
>> of Martin). The primary card is a GK106 and the second one is the
>> GK208. That doesn't explain why I did something wrong but heh? :-)
>>
>> You are right. With those bits added locally, the compute support
>> totally hangs the GPU on my GK208 (NV108), and a reboot is needed.
>>
>> Please give a shot at this branch :
>> http://cgit.freedesktop.org/~hakzsam/mesa/log/?h=nvf0_compute
>>
>> It fixes the initialization of the compute state and allows me to
>> launch 'test_input_global' (ie. ./compute 8) on my GK208 without
>> any dmesg fails. That's a good start but more patches are coming. :-)
>
> This branch indeed works somewhat better, but things still hang on the
>
> test_system_values compute test for me (this is the first test executed
> I did not try the others). So this seems to need more work.

What about test_input_global? test_system_values doesn't work on my side 
but it doesn't hang the GPU. Could you please provide dmesg log?

>
> I've ordered a GTX740 (GK107) card, which should arrive soon, and
> I'll be using that so I can (hopefully) focus on the llvm tgsi bits
> again.

Yeah, GK107 will do the job. :-)

>
>> Btw, according to the trace you sent me, you have a GK208b (NV106).
>
> Right, sorry I thought the differences between GK208 and GK208b would
> not matter.

I don't know exactly the differences between these two chipsets but 
since test_system_values hangs your GPU and not mine, I think they are some.

>
> Thanks for all the input / help!
>
> Regards,
>
> Hans
>
>

-- 
-Samuel
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: NV50 compute support questions
       [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>
  0 siblings, 1 reply; 25+ messages in thread
From: Hans de Goede @ 2015-12-04  9:12 UTC (permalink / raw)
  To: Samuel Pitoiset; +Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

Hi,

On 04-12-15 09:54, Samuel Pitoiset wrote:
>
>
> On 12/04/2015 09:45 AM, Hans de Goede wrote:

<snip>

>>> Please give a shot at this branch :
>>> http://cgit.freedesktop.org/~hakzsam/mesa/log/?h=nvf0_compute
>>>
>>> It fixes the initialization of the compute state and allows me to
>>> launch 'test_input_global' (ie. ./compute 8) on my GK208 without
>>> any dmesg fails. That's a good start but more patches are coming. :-)
>>
>> This branch indeed works somewhat better, but things still hang on the
>>
>> test_system_values compute test for me (this is the first test executed
>> I did not try the others). So this seems to need more work.
>
> What about test_input_global? test_system_values doesn't work on my side but it doesn't hang the GPU.

Yes that one works.

> Could you please provide dmesg log?

[    2.786631] nouveau 0000:01:00.0: NVIDIA GK208B (b06070b1)
[    2.914291] nouveau 0000:01:00.0: bios: version 80.28.79.00.0b
[    2.937909] nouveau 0000:01:00.0: priv: HUB0: 086014 ffffffff (1f70820c)
[    2.937953] nouveau 0000:01:00.0: fb: 1024 MiB DDR3
[    3.623202] [TTM] Zone  kernel: Available graphics memory: 2010556 kiB
[    3.623205] [TTM] Initializing pool allocator
[    3.623241] [TTM] Initializing DMA pool allocator
[    3.623440] nouveau 0000:01:00.0: DRM: VRAM: 1024 MiB
[    3.623442] nouveau 0000:01:00.0: DRM: GART: 1048576 MiB
[    3.623447] nouveau 0000:01:00.0: DRM: TMDS table version 2.0
[    3.623449] nouveau 0000:01:00.0: DRM: DCB version 4.0
[    3.623451] nouveau 0000:01:00.0: DRM: DCB outp 00: 01000f02 00020030
[    3.623454] nouveau 0000:01:00.0: DRM: DCB outp 01: 02011f62 00020010
[    3.623456] nouveau 0000:01:00.0: DRM: DCB outp 02: 02022f10 00000000
[    3.623458] nouveau 0000:01:00.0: DRM: DCB conn 00: 00001031
[    3.623460] nouveau 0000:01:00.0: DRM: DCB conn 01: 00002161
[    3.623462] nouveau 0000:01:00.0: DRM: DCB conn 02: 00000200
[    3.627283] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    3.627285] [drm] Driver supports precise vblank timestamp query.
[    3.671871] nouveau 0000:01:00.0: DRM: MM: using COPY for buffer copies
[    3.889940] nouveau 0000:01:00.0: DRM: allocated 1920x1080 fb: 0x60000, bo ffff880119050000
[    3.890952] fbcon: nouveaufb (fb0) is primary device
[    4.132343] Console: switching to colour frame buffer device 240x67
[    4.134930] nouveau 0000:01:00.0: fb0: nouveaufb frame buffer device
[    4.141094] [drm] Initialized nouveau 1.3.1 20120801 for 0000:01:00.0 on minor 0

<snip>

[ 1713.421460] nouveau 0000:01:00.0: gr: TRAP ch 6 [003fa32000 compute[21117]]
[ 1713.421471] nouveau 0000:01:00.0: gr: GPC0/TPC1/MP trap: global 00000000 [] warp 3000e [MEM_OUT_OF_BOUNDS]
[ 1713.441248] nouveau 0000:01:00.0: gr: TRAP ch 6 [003fa32000 compute[21117]]
[ 1713.441260] nouveau 0000:01:00.0: gr: GPC0/TPC0/MP trap: global 00000004 [MULTIPLE_WARP_ERRORS] warp 20005 [MISALIGNED_PC]
[ 1713.441265] nouveau 0000:01:00.0: gr: GPC0/TPC1/MP trap: global 00000004 [MULTIPLE_WARP_ERRORS] warp 20005 [MISALIGNED_PC]
[ 1717.773839] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
[ 1717.773848] nouveau 0000:01:00.0: fifo: sw engine fault on channel 2, recovering...
[ 1719.776529] nouveau 0000:01:00.0: fifo: runlist 0 update timeout
[ 1722.068923] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
[ 1726.363660] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
[ 1730.658395] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
[ 1734.951720] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
[ 1739.241861] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
[ 1743.532005] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
[ 1747.826728] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
[ 1752.121462] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
[ 1756.416200] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
[ 1760.710930] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
[ 1765.005663] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
[ 1769.300396] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
[ 1773.595135] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
[ 1777.889863] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
[ 1782.184598] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
[ 1786.479328] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
[ 1789.730020] nouveau 0000:01:00.0: compute[21117]: failed to idle channel 6 [compute[21117]]
[ 1790.774060] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
[ 1791.729963] nouveau 0000:01:00.0: timeout at drivers/gpu/drm/nouveau/nvkm/engine/fifo/gpfifogk104.c:47/gk104_fifo_gpfifo_kick()!
[ 1791.729966] nouveau 0000:01:00.0: fifo: channel 6 [compute[21117]] kick timeout
[ 1791.729973] nouveau: compute[21117]:00000000:0000a06f: detach gr failed, -16
[ 1791.731401] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0d []
[ 1793.731275] nouveau 0000:01:00.0: timeout at drivers/gpu/drm/nouveau/nvkm/engine/fifo/gpfifogk104.c:47/gk104_fifo_gpfifo_kick()!
[ 1793.731279] nouveau 0000:01:00.0: fifo: channel 6 [compute[21117]] kick timeout
[ 1793.731281] nouveau: compute[21117]:00000000:0000a06f: detach sw failed, -16
[ 1796.026118] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
[ 1800.320809] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
[ 1804.615446] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
[ 1808.731016] nouveau 0000:01:00.0: compute[21117]: failed to idle channel 6 [compute[21117]]
[ 1808.738716] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0d []
[ 1810.738093] nouveau 0000:01:00.0: fifo: runlist 0 update timeout
[ 1810.738106] nouveau 0000:01:00.0: fifo: BIND_ERROR 03 [UNBIND_WHILE_RUNNING]
[ 1815.032747] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
[ 1819.327395] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
[ 1823.622036] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]

<last line keeps repeating at aprox 4 sec interval>

>> I've ordered a GTX740 (GK107) card, which should arrive soon, and
>> I'll be using that so I can (hopefully) focus on the llvm tgsi bits
>> again.
>
> Yeah, GK107 will do the job. :-)

Good a said it should arrive soon.

>>> Btw, according to the trace you sent me, you have a GK208b (NV106).
>>
>> Right, sorry I thought the differences between GK208 and GK208b would
>> not matter.
>
> I don't know exactly the differences between these two chipsets but since test_system_values hangs your GPU and not mine, I think they are some.

Ok.

Regards,

Hans
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: NV50 compute support questions
       [not found]                                 ` <56615907.5070909-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
@ 2015-12-04  9:21                                   ` Samuel Pitoiset
  0 siblings, 0 replies; 25+ messages in thread
From: Samuel Pitoiset @ 2015-12-04  9:21 UTC (permalink / raw)
  To: Hans de Goede; +Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW



On 12/04/2015 10:12 AM, Hans de Goede wrote:
> Hi,
>
> On 04-12-15 09:54, Samuel Pitoiset wrote:
>>
>>
>> On 12/04/2015 09:45 AM, Hans de Goede wrote:
>
> <snip>
>
>>>> Please give a shot at this branch :
>>>> http://cgit.freedesktop.org/~hakzsam/mesa/log/?h=nvf0_compute
>>>>
>>>> It fixes the initialization of the compute state and allows me to
>>>> launch 'test_input_global' (ie. ./compute 8) on my GK208 without
>>>> any dmesg fails. That's a good start but more patches are coming. :-)
>>>
>>> This branch indeed works somewhat better, but things still hang on the
>>>
>>> test_system_values compute test for me (this is the first test executed
>>> I did not try the others). So this seems to need more work.
>>
>> What about test_input_global? test_system_values doesn't work on my
>> side but it doesn't hang the GPU.
>
> Yes that one works.
>
>> Could you please provide dmesg log?
>
> [    2.786631] nouveau 0000:01:00.0: NVIDIA GK208B (b06070b1)
> [    2.914291] nouveau 0000:01:00.0: bios: version 80.28.79.00.0b
> [    2.937909] nouveau 0000:01:00.0: priv: HUB0: 086014 ffffffff (1f70820c)
> [    2.937953] nouveau 0000:01:00.0: fb: 1024 MiB DDR3
> [    3.623202] [TTM] Zone  kernel: Available graphics memory: 2010556 kiB
> [    3.623205] [TTM] Initializing pool allocator
> [    3.623241] [TTM] Initializing DMA pool allocator
> [    3.623440] nouveau 0000:01:00.0: DRM: VRAM: 1024 MiB
> [    3.623442] nouveau 0000:01:00.0: DRM: GART: 1048576 MiB
> [    3.623447] nouveau 0000:01:00.0: DRM: TMDS table version 2.0
> [    3.623449] nouveau 0000:01:00.0: DRM: DCB version 4.0
> [    3.623451] nouveau 0000:01:00.0: DRM: DCB outp 00: 01000f02 00020030
> [    3.623454] nouveau 0000:01:00.0: DRM: DCB outp 01: 02011f62 00020010
> [    3.623456] nouveau 0000:01:00.0: DRM: DCB outp 02: 02022f10 00000000
> [    3.623458] nouveau 0000:01:00.0: DRM: DCB conn 00: 00001031
> [    3.623460] nouveau 0000:01:00.0: DRM: DCB conn 01: 00002161
> [    3.623462] nouveau 0000:01:00.0: DRM: DCB conn 02: 00000200
> [    3.627283] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
> [    3.627285] [drm] Driver supports precise vblank timestamp query.
> [    3.671871] nouveau 0000:01:00.0: DRM: MM: using COPY for buffer copies
> [    3.889940] nouveau 0000:01:00.0: DRM: allocated 1920x1080 fb:
> 0x60000, bo ffff880119050000
> [    3.890952] fbcon: nouveaufb (fb0) is primary device
> [    4.132343] Console: switching to colour frame buffer device 240x67
> [    4.134930] nouveau 0000:01:00.0: fb0: nouveaufb frame buffer device
> [    4.141094] [drm] Initialized nouveau 1.3.1 20120801 for 0000:01:00.0
> on minor 0
>
> <snip>
>
> [ 1713.421460] nouveau 0000:01:00.0: gr: TRAP ch 6 [003fa32000
> compute[21117]]
> [ 1713.421471] nouveau 0000:01:00.0: gr: GPC0/TPC1/MP trap: global
> 00000000 [] warp 3000e [MEM_OUT_OF_BOUNDS]
> [ 1713.441248] nouveau 0000:01:00.0: gr: TRAP ch 6 [003fa32000
> compute[21117]]
> [ 1713.441260] nouveau 0000:01:00.0: gr: GPC0/TPC0/MP trap: global
> 00000004 [MULTIPLE_WARP_ERRORS] warp 20005 [MISALIGNED_PC]
> [ 1713.441265] nouveau 0000:01:00.0: gr: GPC0/TPC1/MP trap: global
> 00000004 [MULTIPLE_WARP_ERRORS] warp 20005 [MISALIGNED_PC]
> [ 1717.773839] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
> [ 1717.773848] nouveau 0000:01:00.0: fifo: sw engine fault on channel 2,
> recovering...
> [ 1719.776529] nouveau 0000:01:00.0: fifo: runlist 0 update timeout
> [ 1722.068923] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
> [ 1726.363660] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
> [ 1730.658395] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
> [ 1734.951720] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
> [ 1739.241861] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
> [ 1743.532005] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
> [ 1747.826728] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
> [ 1752.121462] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
> [ 1756.416200] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
> [ 1760.710930] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
> [ 1765.005663] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
> [ 1769.300396] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
> [ 1773.595135] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
> [ 1777.889863] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
> [ 1782.184598] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
> [ 1786.479328] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
> [ 1789.730020] nouveau 0000:01:00.0: compute[21117]: failed to idle
> channel 6 [compute[21117]]
> [ 1790.774060] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
> [ 1791.729963] nouveau 0000:01:00.0: timeout at
> drivers/gpu/drm/nouveau/nvkm/engine/fifo/gpfifogk104.c:47/gk104_fifo_gpfifo_kick()!
>
> [ 1791.729966] nouveau 0000:01:00.0: fifo: channel 6 [compute[21117]]
> kick timeout
> [ 1791.729973] nouveau: compute[21117]:00000000:0000a06f: detach gr
> failed, -16
> [ 1791.731401] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0d []
> [ 1793.731275] nouveau 0000:01:00.0: timeout at
> drivers/gpu/drm/nouveau/nvkm/engine/fifo/gpfifogk104.c:47/gk104_fifo_gpfifo_kick()!
>
> [ 1793.731279] nouveau 0000:01:00.0: fifo: channel 6 [compute[21117]]
> kick timeout
> [ 1793.731281] nouveau: compute[21117]:00000000:0000a06f: detach sw
> failed, -16
> [ 1796.026118] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
> [ 1800.320809] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
> [ 1804.615446] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
> [ 1808.731016] nouveau 0000:01:00.0: compute[21117]: failed to idle
> channel 6 [compute[21117]]
> [ 1808.738716] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0d []
> [ 1810.738093] nouveau 0000:01:00.0: fifo: runlist 0 update timeout
> [ 1810.738106] nouveau 0000:01:00.0: fifo: BIND_ERROR 03
> [UNBIND_WHILE_RUNNING]
> [ 1815.032747] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
> [ 1819.327395] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
> [ 1823.622036] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
>
> <last line keeps repeating at aprox 4 sec interval>

Thanks, I'll have a look and try to provide a fix for your GK208b.

>
>>> I've ordered a GTX740 (GK107) card, which should arrive soon, and
>>> I'll be using that so I can (hopefully) focus on the llvm tgsi bits
>>> again.
>>
>> Yeah, GK107 will do the job. :-)
>
> Good a said it should arrive soon.
>
>>>> Btw, according to the trace you sent me, you have a GK208b (NV106).
>>>
>>> Right, sorry I thought the differences between GK208 and GK208b would
>>> not matter.
>>
>> I don't know exactly the differences between these two chipsets but
>> since test_system_values hangs your GPU and not mine, I think they are
>> some.
>
> Ok.
>
> Regards,
>
> Hans

-- 
-Samuel
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: NV50 compute support questions
       [not found]                         ` <566152BE.1080107-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
  2015-12-04  8:54                           ` Samuel Pitoiset
@ 2015-12-07 15:10                           ` Hans de Goede
       [not found]                             ` <5665A161.90400-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
  1 sibling, 1 reply; 25+ messages in thread
From: Hans de Goede @ 2015-12-07 15:10 UTC (permalink / raw)
  To: Samuel Pitoiset; +Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

Hi

On 04-12-15 09:45, Hans de Goede wrote:

> I've ordered a GTX740 (GK107) card, which should arrive soon, and
> I'll be using that so I can (hopefully) focus on the llvm tgsi bits
> again.

So the card arrived today and I've plugged it in tests/trivial/compute
looks much better with this. But there does seem to be one issue
(other then the atomic bits not working) :

- test_resource_indirect
(1, 0)[0]: got 0x2/0.000000, expected 0x3/0.000000
(3, 0)[0]: got 0x6/0.000000, expected 0x7/0.000000
(5, 0)[0]: got 0xa/0.000000, expected 0xb/0.000000
(7, 0)[0]: got 0xe/0.000000, expected 0xf/0.000000
(9, 0)[0]: got 0x12/0.000000, expected 0x13/0.000000
(11, 0)[0]: got 0x16/0.000000, expected 0x17/0.000000
(13, 0)[0]: got 0x1a/0.000000, expected 0x1b/0.000000
(15, 0)[0]: got 0x1e/0.000000, expected 0x1f/0.000000
(17, 0)[0]: got 0x22/0.000000, expected 0x23/0.000000
(19, 0)[0]: got 0x26/0.000000, expected 0x27/0.000000
(21, 0)[0]: got 0x2a/0.000000, expected 0x2b/0.000000
(23, 0)[0]: got 0x2e/0.000000, expected 0x2f/0.000000
(25, 0)[0]: got 0x32/0.000000, expected 0x33/0.000000
(27, 0)[0]: got 0x36/0.000000, expected 0x37/0.000000
(29, 0)[0]: got 0x3a/0.000000, expected 0x3b/0.000000
(31, 0)[0]: got 0x3e/0.000000, expected 0x3f/0.000000
(33, 0)[0]: got 0x42/0.000000, expected 0x43/0.000000
(35, 0)[0]: got 0x46/0.000000, expected 0x47/0.000000
(37, 0)[0]: got 0x4a/0.000000, expected 0x4b/0.000000
(39, 0)[0]: got 0x4e/0.000000, expected 0x4f/0.000000
(64, 1): FAIL (32)

Regards,

Hans
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: NV50 compute support questions
       [not found]                             ` <5665A161.90400-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
@ 2015-12-07 16:18                               ` Samuel Pitoiset
  0 siblings, 0 replies; 25+ messages in thread
From: Samuel Pitoiset @ 2015-12-07 16:18 UTC (permalink / raw)
  To: Hans de Goede; +Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW



On 12/07/2015 04:10 PM, Hans de Goede wrote:
> Hi
>

Hi,

> On 04-12-15 09:45, Hans de Goede wrote:
>
>> I've ordered a GTX740 (GK107) card, which should arrive soon, and
>> I'll be using that so I can (hopefully) focus on the llvm tgsi bits
>> again.
>
> So the card arrived today and I've plugged it in tests/trivial/compute
> looks much better with this. But there does seem to be one issue
> (other then the atomic bits not working) :
>
> - test_resource_indirect

Exactly, two or three test don't work on Kepler < GK110.
It's on my todolist, but with a low priority. :-)

Thanks for reporting this anyway.

> (1, 0)[0]: got 0x2/0.000000, expected 0x3/0.000000
> (3, 0)[0]: got 0x6/0.000000, expected 0x7/0.000000
> (5, 0)[0]: got 0xa/0.000000, expected 0xb/0.000000
> (7, 0)[0]: got 0xe/0.000000, expected 0xf/0.000000
> (9, 0)[0]: got 0x12/0.000000, expected 0x13/0.000000
> (11, 0)[0]: got 0x16/0.000000, expected 0x17/0.000000
> (13, 0)[0]: got 0x1a/0.000000, expected 0x1b/0.000000
> (15, 0)[0]: got 0x1e/0.000000, expected 0x1f/0.000000
> (17, 0)[0]: got 0x22/0.000000, expected 0x23/0.000000
> (19, 0)[0]: got 0x26/0.000000, expected 0x27/0.000000
> (21, 0)[0]: got 0x2a/0.000000, expected 0x2b/0.000000
> (23, 0)[0]: got 0x2e/0.000000, expected 0x2f/0.000000
> (25, 0)[0]: got 0x32/0.000000, expected 0x33/0.000000
> (27, 0)[0]: got 0x36/0.000000, expected 0x37/0.000000
> (29, 0)[0]: got 0x3a/0.000000, expected 0x3b/0.000000
> (31, 0)[0]: got 0x3e/0.000000, expected 0x3f/0.000000
> (33, 0)[0]: got 0x42/0.000000, expected 0x43/0.000000
> (35, 0)[0]: got 0x46/0.000000, expected 0x47/0.000000
> (37, 0)[0]: got 0x4a/0.000000, expected 0x4b/0.000000
> (39, 0)[0]: got 0x4e/0.000000, expected 0x4f/0.000000
> (64, 1): FAIL (32)
>
> Regards,
>
> Hans

-- 
-Samuel
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2015-12-07 16:18 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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
     [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

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.