[Nouveau] Questions on Maxwell/Pascal Texture Instructions Modes

Ilia Mirkin imirkin at alum.mit.edu
Tue Sep 11 19:36:46 UTC 2018


DC = depth compare (extra arg with compare reference)
AOFFI = texel offset (extra arg with offsets encoded). Note that TLD4
can also have a iirc AOFFIS variant which takes 4 offsets encoded in 2
sequential regs. and iirc at 8 bits per offset, while other ops do 4
bits per offset. check what nouveau does, it's right and took me
forever to track it all down.
NDV = don't run the texture call for lanes that are masked (which can
cause downstream derivatives to be wrong)
NODEP = i forget, but check the nouveau emitter, I think we set it.
has something to do with additional texture ops being run shortly
after... or something. it was called "S" and "T" on fermi iirc, those
may be the terms we use.
MZ = ? perhaps something related to MS textures, clamping the sample
to zero? dunno. never heard of it.
PTP = ? never heard of it.
LZ = level zero
LL = level lod (extra arg with lod)

Really, check nouveau code - it's accurate and took considerable
effort to work out.

https://cgit.freedesktop.org/mesa/mesa/tree/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp#n841
https://cgit.freedesktop.org/mesa/mesa/tree/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gm107.cpp#n2722

You're missing out bits like indirect handles, TXD arguments being
weird... probably other bits.

On Tue, Sep 11, 2018 at 3:13 PM, Fernando Sahmkow <fsahmkow27 at gmail.com> wrote:
> Hello, I got some doubts on how texture modes work on TEX, TEXS, TLD4, etc
> instructions.
>
> I got:
> DC, AOFFI, NDV, NODEP, MZ, PTP modes as well as LZ Mode. How does this work
> or change the behavior of the texture instruction. So far of those I know
> AOFFI defines an Offset but I'm on blanks for the rest.
>
>
>
> _______________________________________________
> Nouveau mailing list
> Nouveau at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/nouveau
>


More information about the Nouveau mailing list