All of lore.kernel.org
 help / color / mirror / Atom feed
* Fermi+ shader header docs
@ 2015-05-02 16:34 Ilia Mirkin
       [not found] ` <CAKb7Uvj=oisrfyGoehZFLtzWD38Nx_j435K2uZ9O5S8RXFayBw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 6+ messages in thread
From: Ilia Mirkin @ 2015-05-02 16:34 UTC (permalink / raw)
  To: gpu-public-documentation
  Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org

Hi,

As I'm looking to add some support to nouveau for features like atomic
counters and images, I'm running into some confusion about what the
first word of the shader header means. Here is the definition as we
have it today:

https://github.com/envytools/envytools/blob/master/rnndb/graph/gf100_shaders.xml

VS/HS/DS/GS:
<reg32 offset="0" name="0">
  <bitfield high="7" low="0" name="MAGIC">
    <value value="0x61" name="VP_MAGIC"/>
  </bitfield>
  <bitfield high="12" low="10" name="KIND" type="GF100_SHADER_KIND"/>
  <bitfield pos="16" name="GMEM_ENABLE"/>
  <bitfield pos="17" name="UNK17"/><!-- default 1 -->
  <bitfield pos="26" name="LMEM_ENABLE"/>
  <bitfield pos="27" name="FP64_ENABLE"/>
</reg32>

FS:
<reg32 offset="0" name="0">
  <bitfield high="7" low="0" name="MAGIC">
    <value value="0x62" name="FP_MAGIC"/>
  </bitfield>
  <bitfield high="12" low="10" name="KIND" type="GF100_SHADER_KIND"/>
  <bitfield pos="14" name="MULTIPLE_COLOR_OUTPUTS" type="boolean"/>
  <bitfield pos="15" name="USES_KIL" type="boolean"/>
  <bitfield pos="16" name="GMEM_ENABLE"/>
  <bitfield pos="17" name="UNK17"/><!-- default 1 -->
  <bitfield pos="26" name="LMEM_ENABLE"/>
  <bitfield pos="27" name="FP64_ENABLE"/>
</reg32>

However I know that these are somewhat wrong. I've seen shaders that
use gmem accesses (i.e. mov r0, [r0]) that just have the LMEM enable
bit set (and they use no lmem). And I've seen additional bits set, esp
relating to images, but I haven't spent enough time looking at all the
variations to make sense of it yet. For example, I think that Fermi
and Kepler+ have different meanings for some of the bits.

I was hoping you could just release the docs for the shader headers,
or at least the first word of the shader header.

I know that it can take some time to get it all approved, but if you
think this is *not* information you can release, please let me know
soon so that I don't lose a month waiting.

Thanks,

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

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

end of thread, other threads:[~2015-08-14 19:48 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-02 16:34 Fermi+ shader header docs Ilia Mirkin
     [not found] ` <CAKb7Uvj=oisrfyGoehZFLtzWD38Nx_j435K2uZ9O5S8RXFayBw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-05-21 14:05   ` Robert Morell
     [not found]     ` <20150521140516.GA8516-f3YH7lVHJt/FT5IIyIEb6QC/G2K4zDHf@public.gmane.org>
2015-05-21 15:32       ` Ilia Mirkin
     [not found]         ` <CAKb7UvgQRqh_8gBWmRJska-O-wR=+R8eaf9815FBv-Z0erjQ9A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-05-23 21:35           ` Ilia Mirkin
     [not found]             ` <CAKb7Uvik6eNQtAyAR7oRZm50z15Z1S2onWkuNH-bHbWJt5Wkkw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-06-23  1:10               ` Ilia Mirkin
     [not found]                 ` <CAKb7UviyZGJtxQXpbWqY1Hf4rzBW3oC2p9Yif_52L+7SqNpjkA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-08-14 19:48                   ` Ilia Mirkin

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.