gallium/docs: add precise instruction modifier

v4: add comment about intermediate rounding step to MAD

Signed-off-by: Karol Herbst <karolherbst@gmail.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
This commit is contained in:
Karol Herbst 2017-06-23 20:30:25 +02:00 committed by Ilia Mirkin
parent 4611343bcc
commit c5cbb9a543
1 changed files with 10 additions and 1 deletions

View File

@ -26,7 +26,13 @@ each of the components of *dst*. When this happens, the result is said to be
Modifiers
^^^^^^^^^^^^^^^
TGSI supports modifiers on inputs (as well as saturate modifier on instructions).
TGSI supports modifiers on inputs (as well as saturate and precise modifier
on instructions).
For arithmetic instruction having a precise modifier certain optimizations
which may alter the result are disallowed. Example: *add(mul(a,b),c)* can't be
optimized to TGSI_OPCODE_MAD, because some hardware only supports the fused
MAD instruction.
For inputs which have a floating point type, both absolute value and
negation modifiers are supported (with absolute value being applied
@ -237,6 +243,9 @@ This instruction replicates its result.
.. opcode:: MAD - Multiply And Add
Perform a * b + c. The implementation is free to decide whether there is an
intermediate rounding step or not.
.. math::
dst.x = src0.x \times src1.x + src2.x