[Mesa-dev] [PATCH] gallium/docs: fix NRM, NRM4 docs

Brian Paul brianp at vmware.com
Fri Oct 31 15:09:47 PDT 2014


Need to do a sqrt().

FWIW, the html that Sphinx 1.1.3 generates for the math expressions
looks completely broken.
---
 src/gallium/docs/source/tgsi.rst |   36 ++++++++++++++++++++++++------------
 1 file changed, 24 insertions(+), 12 deletions(-)

diff --git a/src/gallium/docs/source/tgsi.rst b/src/gallium/docs/source/tgsi.rst
index 7d5918f..2e01971 100644
--- a/src/gallium/docs/source/tgsi.rst
+++ b/src/gallium/docs/source/tgsi.rst
@@ -837,16 +837,37 @@ This instruction replicates its result.
 .. opcode:: NRM - 3-component Vector Normalise
 
 .. math::
+  
+  u = src.x \times src.x + src.y \times src.y + src.z \times src.z
 
-  dst.x = src.x / (src.x \times src.x + src.y \times src.y + src.z \times src.z)
+  v = \frac{1}{\sqrt{u}}
 
-  dst.y = src.y / (src.x \times src.x + src.y \times src.y + src.z \times src.z)
+  dst.x = src.x \times v
 
-  dst.z = src.z / (src.x \times src.x + src.y \times src.y + src.z \times src.z)
+  dst.y = src.y \times v
+
+  dst.z = src.z \times v
 
   dst.w = 1
 
 
+.. opcode:: NRM4 - 4-component Vector Normalise
+
+.. math::
+  
+  u = src.x \times src.x + src.y \times src.y + src.z \times src.z + src.w \times src.w
+
+  v = \frac{1}{\sqrt{u}}
+
+  dst.x = src.x \times v
+
+  dst.y = src.y \times v
+
+  dst.z = src.z \times v
+
+  dst.w = src.w \times v
+
+
 .. opcode:: DIV - Divide
 
 .. math::
@@ -1888,15 +1909,6 @@ Some require glsl version 1.30 (UIF/BREAKC/SWITCH/CASE/DEFAULT/ENDSWITCH).
    Ends a switch expression.
 
 
-.. opcode:: NRM4 - 4-component Vector Normalise
-
-This instruction replicates its result.
-
-.. math::
-
-  dst = \frac{src.x}{src.x \times src.x + src.y \times src.y + src.z \times src.z + src.w \times src.w}
-
-
 Interpolation ISA
 ^^^^^^^^^^^^^^^^^
 
-- 
1.7.10.4



More information about the mesa-dev mailing list