Mesa (master): gallium: clarify SVIEWINFO opcode

Roland Scheidegger sroland at kemper.freedesktop.org
Thu Aug 8 16:57:03 UTC 2013


Module: Mesa
Branch: master
Commit: c8572a9457f8fd32e64fcf4f55c080dff6bd77be
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c8572a9457f8fd32e64fcf4f55c080dff6bd77be

Author: Roland Scheidegger <sroland at vmware.com>
Date:   Wed Aug  7 17:03:45 2013 +0200

gallium: clarify SVIEWINFO opcode

This opcode is quite problematic in tgsi, while it tries to mirror
d3d10 resinfo it can't really do what's stated there due to missing
the crazy return type modifiers. Hence specify this is ignored along
with the swizzle.
(Other options would be to have multiple opcodes or specify the ret
type modifier maybe in dst_reg as there's padding bits left there but
it is the only instruction allowing this.)

Reviewed-by: Zack Rusin <zackr at vmware.com>

---

 src/gallium/docs/source/tgsi.rst |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/src/gallium/docs/source/tgsi.rst b/src/gallium/docs/source/tgsi.rst
index 8506b7e..949ad89 100644
--- a/src/gallium/docs/source/tgsi.rst
+++ b/src/gallium/docs/source/tgsi.rst
@@ -1868,7 +1868,15 @@ after lookup.
                the mipmap level selected by the src_mip_level and
                are in the number of texels.
                For 1d texture array width is in dst.x, array size
-               is in dst.y and dst.zw are always 0.
+               is in dst.y and dst.z is 0. The number of mipmaps
+               is still in dst.w.
+               In contrast to d3d10 resinfo, there's no way in the
+               tgsi instruction encoding to specify the return type
+               (float/rcpfloat/uint), hence always using uint. Also,
+               unlike the SAMPLE instructions, the swizzle on src1
+               resinfo allowing swizzling dst values is ignored (due
+               to the interaction with rcpfloat modifier which requires
+               some swizzle handling in the state tracker anyway).
 
 .. opcode:: SAMPLE_POS - query the position of a given sample.
                dst receives float4 (x, y, 0, 0) indicated where the




More information about the mesa-commit mailing list