On Mon, Jul 15, 2019 at 2:34 PM Fernando Sahmkow <fsahmko...@gmail.com> wrote:
>
> So we have been busy implementing the compute engine lately but we have 
> discovered a few issues with Compute Shaders. I hope you guys can answer some 
> questions.
>
> 1st How do I determine the size of Compute Shaders/Kernel Local Memory ? In 
> Pipeline shaders the size is included in the header but Compute Kernels don't 
> have a header, so how do I determine how much local memory it uses? In case I 
> can't is there a limit?

From the header :)

https://cgit.freedesktop.org/mesa/mesa/tree/src/gallium/drivers/nouveau/nvc0/nve4_compute.h
https://cgit.freedesktop.org/mesa/mesa/tree/src/gallium/drivers/nouveau/nvc0/nve4_compute.c#n775

You may also find this interesting:

https://nvidia.github.io/open-gpu-doc/classes/compute/

These docs appeared well after we had already RE'd, I don't think we
ever went back to check if we'd missed anything substantial.

>
> 2nd I backtrack directions for LDG from the constbuffer that stores them. I 
> then use this directions then to compute the adress in my emulated SSBO. For 
> fragment, geometry and vertex shaders I got no problems with this directions. 
> For compute shaders the directions seem to be invalid, I imagine there's a 
> base adress that's added to this directions. Where can I obtain that base 
> adress?

I don't think so. Can you show me an instruction stream that suggests
this? I suspect you're misreading the code. Should work the same way
as everywhere, except there are only 8 constbufs total, and so
sometimes the actual constbuf data is also retrieved with LDG.

>
> 3rd SUATOM instraction CAS is similar to CompareAndSwap except it may add 1 
> or 2 to the data register on store. How do I know when it adds 1 or 2?

Uhm... huh? CAS = compare and swap. The argument order is different
than the one in the API, as I recall, but there's no funny addition
that I'm aware of.

Now, there is a IADD.PO mode (PO = plus one), which corresponds to
both arguments' neg bits being set, but that's the only such weirdness
I'm aware of.

Cheers,

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

Reply via email to