summaryrefslogtreecommitdiff
path: root/src/gallium/docs/build/html/tgsi.html
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/docs/build/html/tgsi.html')
-rw-r--r--src/gallium/docs/build/html/tgsi.html1029
1 files changed, 0 insertions, 1029 deletions
diff --git a/src/gallium/docs/build/html/tgsi.html b/src/gallium/docs/build/html/tgsi.html
deleted file mode 100644
index 7954e1de40..0000000000
--- a/src/gallium/docs/build/html/tgsi.html
+++ /dev/null
@@ -1,1029 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-
- <title>TGSI &mdash; Gallium v0.3 documentation</title>
- <link rel="stylesheet" href="_static/default.css" type="text/css" />
- <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
- <script type="text/javascript">
- var DOCUMENTATION_OPTIONS = {
- URL_ROOT: '',
- VERSION: '0.3',
- COLLAPSE_MODINDEX: false,
- FILE_SUFFIX: '.html',
- HAS_SOURCE: true
- };
- </script>
- <script type="text/javascript" src="_static/jquery.js"></script>
- <script type="text/javascript" src="_static/doctools.js"></script>
- <link rel="top" title="Gallium v0.3 documentation" href="index.html" />
- <link rel="next" title="Screen" href="screen.html" />
- <link rel="prev" title="Introduction" href="intro.html" />
- </head>
- <body>
- <div class="related">
- <h3>Navigation</h3>
- <ul>
- <li class="right" style="margin-right: 10px">
- <a href="genindex.html" title="General Index"
- accesskey="I">index</a></li>
- <li class="right" >
- <a href="screen.html" title="Screen"
- accesskey="N">next</a> |</li>
- <li class="right" >
- <a href="intro.html" title="Introduction"
- accesskey="P">previous</a> |</li>
- <li><a href="index.html">Gallium v0.3 documentation</a> &raquo;</li>
- </ul>
- </div>
-
- <div class="document">
- <div class="documentwrapper">
- <div class="bodywrapper">
- <div class="body">
-
- <div class="section" id="tgsi">
-<h1>TGSI<a class="headerlink" href="#tgsi" title="Permalink to this headline">¶</a></h1>
-<p>TGSI, Tungsten Graphics Shader Instructions, is an intermediate language
-for describing shaders. Since Gallium is inherently shaderful, shaders are
-an important part of the API. TGSI is the only intermediate representation
-used by all drivers.</p>
-<div class="section" id="instruction-set">
-<h2>Instruction Set<a class="headerlink" href="#instruction-set" title="Permalink to this headline">¶</a></h2>
-<div class="section" id="from-gl-nv-vertex-program">
-<h3>From GL_NV_vertex_program<a class="headerlink" href="#from-gl-nv-vertex-program" title="Permalink to this headline">¶</a></h3>
-<p>ARL - Address Register Load</p>
-<div class="math">
-<p><img src="_images/math/a6a788a4144ea0b8be244aad870806646081b809.png" alt="dst.x = \lfloor src.x\rfloor
-
-dst.y = \lfloor src.y\rfloor
-
-dst.z = \lfloor src.z\rfloor
-
-dst.w = \lfloor src.w\rfloor" /></p>
-</div><p>MOV - Move</p>
-<div class="math">
-<p><img src="_images/math/723d0548eae0d4f8738fcf051e2e56bce034e7d4.png" alt="dst.x = src.x
-
-dst.y = src.y
-
-dst.z = src.z
-
-dst.w = src.w" /></p>
-</div><p>LIT - Light Coefficients</p>
-<div class="math">
-<p><img src="_images/math/758e5c32fbcca15fadbbf1ee7cb5967466f056e9.png" alt="dst.x = 1
-
-dst.y = max(src.x, 0)
-
-dst.z = (src.x &gt; 0) ? max(src.y, 0)^{clamp(src.w, -128, 128))} : 0
-
-dst.w = 1" /></p>
-</div><p>RCP - Reciprocal</p>
-<div class="math">
-<p><img src="_images/math/c9bc0e532b3b63ed42567436058b919bc78442ce.png" alt="dst.x = \frac{1}{src.x}
-
-dst.y = \frac{1}{src.x}
-
-dst.z = \frac{1}{src.x}
-
-dst.w = \frac{1}{src.x}" /></p>
-</div><p>RSQ - Reciprocal Square Root</p>
-<div class="math">
-<p><img src="_images/math/70d1866ff09388f68ff5f0f88719006a59e19187.png" alt="dst.x = \frac{1}{\sqrt{|src.x|}}
-
-dst.y = \frac{1}{\sqrt{|src.x|}}
-
-dst.z = \frac{1}{\sqrt{|src.x|}}
-
-dst.w = \frac{1}{\sqrt{|src.x|}}" /></p>
-</div><p>EXP - Approximate Exponential Base 2</p>
-<div class="math">
-<p><img src="_images/math/61a735a5ca4687a35d98a8d42c127cb425b16eed.png" alt="dst.x = 2^{\lfloor src.x\rfloor}
-
-dst.y = src.x - \lfloor src.x\rfloor
-
-dst.z = 2^{src.x}
-
-dst.w = 1" /></p>
-</div><p>LOG - Approximate Logarithm Base 2</p>
-<div class="math">
-<p><img src="_images/math/f71ea96f5550b90a162f1d7a8b754eeb9b0d126e.png" alt="dst.x = \lfloor\log_2{|src.x|}\rfloor
-
-dst.y = \frac{|src.x|}{2^{\lfloor\log_2{|src.x|}\rfloor}}
-
-dst.z = \log_2{|src.x|}
-
-dst.w = 1" /></p>
-</div><p>MUL - Multiply</p>
-<div class="math">
-<p><img src="_images/math/8d727b11852ddbb13fb91083a0ce71ea2a47306f.png" alt="dst.x = src0.x \times src1.x
-
-dst.y = src0.y \times src1.y
-
-dst.z = src0.z \times src1.z
-
-dst.w = src0.w \times src1.w" /></p>
-</div><p>ADD - Add</p>
-<div class="math">
-<p><img src="_images/math/419ee673cdf363cbe29df99a84db18bf74b83cc4.png" alt="dst.x = src0.x + src1.x
-
-dst.y = src0.y + src1.y
-
-dst.z = src0.z + src1.z
-
-dst.w = src0.w + src1.w" /></p>
-</div><p>DP3 - 3-component Dot Product</p>
-<div class="math">
-<p><img src="_images/math/cd11030c4826718fe39618e48ae07d9298184a65.png" alt="dst.x = src0.x \times src1.x + src0.y \times src1.y + src0.z \times src1.z
-
-dst.y = src0.x \times src1.x + src0.y \times src1.y + src0.z \times src1.z
-
-dst.z = src0.x \times src1.x + src0.y \times src1.y + src0.z \times src1.z
-
-dst.w = src0.x \times src1.x + src0.y \times src1.y + src0.z \times src1.z" /></p>
-</div><p>DP4 - 4-component Dot Product</p>
-<div class="math">
-<p><img src="_images/math/efbae5a733577ba979c4f08fa0e1de5e31953b92.png" alt="dst.x = src0.x \times src1.x + src0.y \times src1.y + src0.z \times src1.z + src0.w \times src1.w
-
-dst.y = src0.x \times src1.x + src0.y \times src1.y + src0.z \times src1.z + src0.w \times src1.w
-
-dst.z = src0.x \times src1.x + src0.y \times src1.y + src0.z \times src1.z + src0.w \times src1.w
-
-dst.w = src0.x \times src1.x + src0.y \times src1.y + src0.z \times src1.z + src0.w \times src1.w" /></p>
-</div><p>DST - Distance Vector</p>
-<div class="math">
-<p><img src="_images/math/6d0d5702a6e475d584f295bd4f0fa80a70b70ee5.png" alt="dst.x = 1
-
-dst.y = src0.y \times src1.y
-
-dst.z = src0.z
-
-dst.w = src1.w" /></p>
-</div><p>MIN - Minimum</p>
-<div class="math">
-<p><img src="_images/math/73dec9e78c22629aa3379d21ccc96b1a5c5d2dbd.png" alt="dst.x = min(src0.x, src1.x)
-
-dst.y = min(src0.y, src1.y)
-
-dst.z = min(src0.z, src1.z)
-
-dst.w = min(src0.w, src1.w)" /></p>
-</div><p>MAX - Maximum</p>
-<div class="math">
-<p><img src="_images/math/1ad10aa070bc12ee93fca94040edb8900468ae29.png" alt="dst.x = max(src0.x, src1.x)
-
-dst.y = max(src0.y, src1.y)
-
-dst.z = max(src0.z, src1.z)
-
-dst.w = max(src0.w, src1.w)" /></p>
-</div><p>SLT - Set On Less Than</p>
-<div class="math">
-<p><img src="_images/math/b1db3ad26718bdcf3d1afeb866f1fc595230786d.png" alt="dst.x = (src0.x &lt; src1.x) ? 1 : 0
-
-dst.y = (src0.y &lt; src1.y) ? 1 : 0
-
-dst.z = (src0.z &lt; src1.z) ? 1 : 0
-
-dst.w = (src0.w &lt; src1.w) ? 1 : 0" /></p>
-</div><p>SGE - Set On Greater Equal Than</p>
-<div class="math">
-<p><img src="_images/math/bb15ac1bdb0b295273a7c57060899063cf618a95.png" alt="dst.x = (src0.x &gt;= src1.x) ? 1 : 0
-
-dst.y = (src0.y &gt;= src1.y) ? 1 : 0
-
-dst.z = (src0.z &gt;= src1.z) ? 1 : 0
-
-dst.w = (src0.w &gt;= src1.w) ? 1 : 0" /></p>
-</div><p>MAD - Multiply And Add</p>
-<div class="math">
-<p><img src="_images/math/cb4e90af76c03c927762a3c33e989ce2c41f5be5.png" alt="dst.x = src0.x \times src1.x + src2.x
-
-dst.y = src0.y \times src1.y + src2.y
-
-dst.z = src0.z \times src1.z + src2.z
-
-dst.w = src0.w \times src1.w + src2.w" /></p>
-</div><p>SUB - Subtract</p>
-<div class="math">
-<p><img src="_images/math/d96d8a97260276b9db5e903a05339b869391856f.png" alt="dst.x = src0.x - src1.x
-
-dst.y = src0.y - src1.y
-
-dst.z = src0.z - src1.z
-
-dst.w = src0.w - src1.w" /></p>
-</div><p>LRP - Linear Interpolate</p>
-<div class="math">
-<p><img src="_images/math/cf94ae7663599af8dc7ada12a43b33ca5083044a.png" alt="dst.x = src0.x \times (src1.x - src2.x) + src2.x
-
-dst.y = src0.y \times (src1.y - src2.y) + src2.y
-
-dst.z = src0.z \times (src1.z - src2.z) + src2.z
-
-dst.w = src0.w \times (src1.w - src2.w) + src2.w" /></p>
-</div><p>CND - Condition</p>
-<div class="math">
-<p><img src="_images/math/f9be0a9bff61d950cb768b8d10c66a45377f3124.png" alt="dst.x = (src2.x &gt; 0.5) ? src0.x : src1.x
-
-dst.y = (src2.y &gt; 0.5) ? src0.y : src1.y
-
-dst.z = (src2.z &gt; 0.5) ? src0.z : src1.z
-
-dst.w = (src2.w &gt; 0.5) ? src0.w : src1.w" /></p>
-</div><p>DP2A - 2-component Dot Product And Add</p>
-<div class="math">
-<p><img src="_images/math/abcd8a9f57fcaecc5e5c14835fa7438b08b4009d.png" alt="dst.x = src0.x \times src1.x + src0.y \times src1.y + src2.x
-
-dst.y = src0.x \times src1.x + src0.y \times src1.y + src2.x
-
-dst.z = src0.x \times src1.x + src0.y \times src1.y + src2.x
-
-dst.w = src0.x \times src1.x + src0.y \times src1.y + src2.x" /></p>
-</div><p>FRAC - Fraction</p>
-<div class="math">
-<p><img src="_images/math/df45d09eb32da9798269d030845962e4d92e26de.png" alt="dst.x = src.x - \lfloor src.x\rfloor
-
-dst.y = src.y - \lfloor src.y\rfloor
-
-dst.z = src.z - \lfloor src.z\rfloor
-
-dst.w = src.w - \lfloor src.w\rfloor" /></p>
-</div><p>CLAMP - Clamp</p>
-<div class="math">
-<p><img src="_images/math/56093f3e51016bf4a7784ed66cb8628202f58b2d.png" alt="dst.x = clamp(src0.x, src1.x, src2.x)
-
-dst.y = clamp(src0.y, src1.y, src2.y)
-
-dst.z = clamp(src0.z, src1.z, src2.z)
-
-dst.w = clamp(src0.w, src1.w, src2.w)" /></p>
-</div><p>FLR - Floor</p>
-<p>This is identical to ARL.</p>
-<div class="math">
-<p><img src="_images/math/a6a788a4144ea0b8be244aad870806646081b809.png" alt="dst.x = \lfloor src.x\rfloor
-
-dst.y = \lfloor src.y\rfloor
-
-dst.z = \lfloor src.z\rfloor
-
-dst.w = \lfloor src.w\rfloor" /></p>
-</div><p>ROUND - Round</p>
-<div class="math">
-<p><img src="_images/math/226c98a475a610bdeb91b4fbf51261cf8721d8f6.png" alt="dst.x = round(src.x)
-
-dst.y = round(src.y)
-
-dst.z = round(src.z)
-
-dst.w = round(src.w)" /></p>
-</div><p>EX2 - Exponential Base 2</p>
-<div class="math">
-<p><img src="_images/math/0210d258bc676109314169f2dd4320059387500c.png" alt="dst.x = 2^{src.x}
-
-dst.y = 2^{src.x}
-
-dst.z = 2^{src.x}
-
-dst.w = 2^{src.x}" /></p>
-</div><p>LG2 - Logarithm Base 2</p>
-<div class="math">
-<p><img src="_images/math/1b910bba9c9c6d11618b234335f33413d4f76ee6.png" alt="dst.x = \log_2{src.x}
-
-dst.y = \log_2{src.x}
-
-dst.z = \log_2{src.x}
-
-dst.w = \log_2{src.x}" /></p>
-</div><p>POW - Power</p>
-<div class="math">
-<p><img src="_images/math/290ad5e39fd561a8616e6eb9abc488c8615b36c7.png" alt="dst.x = src0.x^{src1.x}
-
-dst.y = src0.x^{src1.x}
-
-dst.z = src0.x^{src1.x}
-
-dst.w = src0.x^{src1.x}" /></p>
-</div><p>XPD - Cross Product</p>
-<div class="math">
-<p><img src="_images/math/751ec5401cf0d30257850404124ddad65cd5c0b2.png" alt="dst.x = src0.y \times src1.z - src1.y \times src0.z
-
-dst.y = src0.z \times src1.x - src1.z \times src0.x
-
-dst.z = src0.x \times src1.y - src1.x \times src0.y
-
-dst.w = 1" /></p>
-</div><p>ABS - Absolute</p>
-<div class="math">
-<p><img src="_images/math/ad452a9162cb4c5aeb7638cac156cf04155c968a.png" alt="dst.x = |src.x|
-
-dst.y = |src.y|
-
-dst.z = |src.z|
-
-dst.w = |src.w|" /></p>
-</div><p>RCC - Reciprocal Clamped</p>
-<p>XXX cleanup on aisle three</p>
-<div class="math">
-<p><img src="_images/math/f5fe168fde58a4d9fb87b5ef1e8b532f02f3a7cb.png" alt="dst.x = (1 / src.x) &gt; 0 ? clamp(1 / src.x, 5.42101e-020, 1.884467e+019) : clamp(1 / src.x, -1.884467e+019, -5.42101e-020)
-
-dst.y = (1 / src.x) &gt; 0 ? clamp(1 / src.x, 5.42101e-020, 1.884467e+019) : clamp(1 / src.x, -1.884467e+019, -5.42101e-020)
-
-dst.z = (1 / src.x) &gt; 0 ? clamp(1 / src.x, 5.42101e-020, 1.884467e+019) : clamp(1 / src.x, -1.884467e+019, -5.42101e-020)
-
-dst.w = (1 / src.x) &gt; 0 ? clamp(1 / src.x, 5.42101e-020, 1.884467e+019) : clamp(1 / src.x, -1.884467e+019, -5.42101e-020)" /></p>
-</div><p>DPH - Homogeneous Dot Product</p>
-<div class="math">
-<p><img src="_images/math/2049740526a3bf3b01a0793817069df1d2b217a6.png" alt="dst.x = src0.x \times src1.x + src0.y \times src1.y + src0.z \times src1.z + src1.w
-
-dst.y = src0.x \times src1.x + src0.y \times src1.y + src0.z \times src1.z + src1.w
-
-dst.z = src0.x \times src1.x + src0.y \times src1.y + src0.z \times src1.z + src1.w
-
-dst.w = src0.x \times src1.x + src0.y \times src1.y + src0.z \times src1.z + src1.w" /></p>
-</div><p>COS - Cosine</p>
-<div class="math">
-<p><img src="_images/math/ade7e8ec73d74fb03022a40c9a69055c7a0a937b.png" alt="dst.x = \cos{src.x}
-
-dst.y = \cos{src.x}
-
-dst.z = \cos{src.x}
-
-dst.w = \cos{src.w}" /></p>
-</div><p>DDX - Derivative Relative To X</p>
-<div class="math">
-<p><img src="_images/math/5846a9ccdaf9e3c8c9ffa099acee7e80c7cc0d4b.png" alt="dst.x = partialx(src.x)
-
-dst.y = partialx(src.y)
-
-dst.z = partialx(src.z)
-
-dst.w = partialx(src.w)" /></p>
-</div><p>DDY - Derivative Relative To Y</p>
-<div class="math">
-<p><img src="_images/math/f89c54b3cac95d930ef70dffa6dc62db5fac05a6.png" alt="dst.x = partialy(src.x)
-
-dst.y = partialy(src.y)
-
-dst.z = partialy(src.z)
-
-dst.w = partialy(src.w)" /></p>
-</div><p>KILP - Predicated Discard</p>
-<blockquote>
-discard</blockquote>
-<p>PK2H - Pack Two 16-bit Floats</p>
-<blockquote>
-TBD</blockquote>
-<p>PK2US - Pack Two Unsigned 16-bit Scalars</p>
-<blockquote>
-TBD</blockquote>
-<p>PK4B - Pack Four Signed 8-bit Scalars</p>
-<blockquote>
-TBD</blockquote>
-<p>PK4UB - Pack Four Unsigned 8-bit Scalars</p>
-<blockquote>
-TBD</blockquote>
-<p>RFL - Reflection Vector</p>
-<div class="math">
-<p><img src="_images/math/6dfa1d81b7272fac743c04c8f5fbd74bb42639b4.png" alt="dst.x = 2 \times (src0.x \times src1.x + src0.y \times src1.y + src0.z \times src1.z) / (src0.x \times src0.x + src0.y \times src0.y + src0.z \times src0.z) \times src0.x - src1.x
-
-dst.y = 2 \times (src0.x \times src1.x + src0.y \times src1.y + src0.z \times src1.z) / (src0.x \times src0.x + src0.y \times src0.y + src0.z \times src0.z) \times src0.y - src1.y
-
-dst.z = 2 \times (src0.x \times src1.x + src0.y \times src1.y + src0.z \times src1.z) / (src0.x \times src0.x + src0.y \times src0.y + src0.z \times src0.z) \times src0.z - src1.z
-
-dst.w = 1" /></p>
-</div><p>Considered for removal.</p>
-<p>SEQ - Set On Equal</p>
-<div class="math">
-<p><img src="_images/math/5eac00cd4b387d141630ace602ed89d9a2ccc0ef.png" alt="dst.x = (src0.x == src1.x) ? 1 : 0
-dst.y = (src0.y == src1.y) ? 1 : 0
-dst.z = (src0.z == src1.z) ? 1 : 0
-dst.w = (src0.w == src1.w) ? 1 : 0" /></p>
-</div><p>SFL - Set On False</p>
-<div class="math">
-<p><img src="_images/math/15f738543d3cfe86879e953e69536effdc1d97f5.png" alt="dst.x = 0
-dst.y = 0
-dst.z = 0
-dst.w = 0" /></p>
-</div><p>Considered for removal.</p>
-<p>SGT - Set On Greater Than</p>
-<div class="math">
-<p><img src="_images/math/2bbfc816656154cb764d951002e595719a0cfce1.png" alt="dst.x = (src0.x &gt; src1.x) ? 1 : 0
-dst.y = (src0.y &gt; src1.y) ? 1 : 0
-dst.z = (src0.z &gt; src1.z) ? 1 : 0
-dst.w = (src0.w &gt; src1.w) ? 1 : 0" /></p>
-</div><p>SIN - Sine</p>
-<div class="math">
-<p><img src="_images/math/0e5562f4fdf39c2754c17f761d76dcdb738dd233.png" alt="dst.x = \sin{src.x}
-
-dst.y = \sin{src.x}
-
-dst.z = \sin{src.x}
-
-dst.w = \sin{src.w}" /></p>
-</div><p>SLE - Set On Less Equal Than</p>
-<div class="math">
-<p><img src="_images/math/3f4ffe13f32660772fc7dbde7b56fff6308b347c.png" alt="dst.x = (src0.x &lt;= src1.x) ? 1 : 0
-dst.y = (src0.y &lt;= src1.y) ? 1 : 0
-dst.z = (src0.z &lt;= src1.z) ? 1 : 0
-dst.w = (src0.w &lt;= src1.w) ? 1 : 0" /></p>
-</div><p>SNE - Set On Not Equal</p>
-<div class="math">
-<p><img src="_images/math/7a206759bbd06a8ef2385b8b7cf42b07521d36a8.png" alt="dst.x = (src0.x != src1.x) ? 1 : 0
-dst.y = (src0.y != src1.y) ? 1 : 0
-dst.z = (src0.z != src1.z) ? 1 : 0
-dst.w = (src0.w != src1.w) ? 1 : 0" /></p>
-</div><p>STR - Set On True</p>
-<div class="math">
-<p><img src="_images/math/9a8aa4392d07b8c3fd7f2bc7ddee9eecd87e2c21.png" alt="dst.x = 1
-dst.y = 1
-dst.z = 1
-dst.w = 1" /></p>
-</div><p>TEX - Texture Lookup</p>
-<blockquote>
-TBD</blockquote>
-<p>TXD - Texture Lookup with Derivatives</p>
-<blockquote>
-TBD</blockquote>
-<p>TXP - Projective Texture Lookup</p>
-<blockquote>
-TBD</blockquote>
-<p>UP2H - Unpack Two 16-Bit Floats</p>
-<blockquote>
-<p>TBD</p>
-<p>Considered for removal.</p>
-</blockquote>
-<p>UP2US - Unpack Two Unsigned 16-Bit Scalars</p>
-<blockquote>
-<p>TBD</p>
-<p>Considered for removal.</p>
-</blockquote>
-<p>UP4B - Unpack Four Signed 8-Bit Values</p>
-<blockquote>
-<p>TBD</p>
-<p>Considered for removal.</p>
-</blockquote>
-<p>UP4UB - Unpack Four Unsigned 8-Bit Scalars</p>
-<blockquote>
-<p>TBD</p>
-<p>Considered for removal.</p>
-</blockquote>
-<p>X2D - 2D Coordinate Transformation</p>
-<div class="math">
-<p><img src="_images/math/f94a20471877c44c7f623279934018e5c7348e83.png" alt="dst.x = src0.x + src1.x \times src2.x + src1.y \times src2.y
-dst.y = src0.y + src1.x \times src2.z + src1.y \times src2.w
-dst.z = src0.x + src1.x \times src2.x + src1.y \times src2.y
-dst.w = src0.y + src1.x \times src2.z + src1.y \times src2.w" /></p>
-</div><p>Considered for removal.</p>
-</div>
-<div class="section" id="from-gl-nv-vertex-program2">
-<h3>From GL_NV_vertex_program2<a class="headerlink" href="#from-gl-nv-vertex-program2" title="Permalink to this headline">¶</a></h3>
-<p>ARA - Address Register Add</p>
-<blockquote>
-<p>TBD</p>
-<p>Considered for removal.</p>
-</blockquote>
-<p>ARR - Address Register Load With Round</p>
-<div class="math">
-<p><img src="_images/math/226c98a475a610bdeb91b4fbf51261cf8721d8f6.png" alt="dst.x = round(src.x)
-
-dst.y = round(src.y)
-
-dst.z = round(src.z)
-
-dst.w = round(src.w)" /></p>
-</div><p>BRA - Branch</p>
-<blockquote>
-<p>pc = target</p>
-<p>Considered for removal.</p>
-</blockquote>
-<p>CAL - Subroutine Call</p>
-<blockquote>
-push(pc)
-pc = target</blockquote>
-<p>RET - Subroutine Call Return</p>
-<blockquote>
-<p>pc = pop()</p>
-<p>Potential restrictions:
-times Only occurs at end of function.</p>
-</blockquote>
-<p>SSG - Set Sign</p>
-<div class="math">
-<p><img src="_images/math/096db0cc9a735fa08397a0d940cb96025db3e3c8.png" alt="dst.x = (src.x &gt; 0) ? 1 : (src.x &lt; 0) ? -1 : 0
-
-dst.y = (src.y &gt; 0) ? 1 : (src.y &lt; 0) ? -1 : 0
-
-dst.z = (src.z &gt; 0) ? 1 : (src.z &lt; 0) ? -1 : 0
-
-dst.w = (src.w &gt; 0) ? 1 : (src.w &lt; 0) ? -1 : 0" /></p>
-</div><p>CMP - Compare</p>
-<div class="math">
-<p><img src="_images/math/53961253955fd2148f7cef66c79f2274c76f1954.png" alt="dst.x = (src0.x &lt; 0) ? src1.x : src2.x
-
-dst.y = (src0.y &lt; 0) ? src1.y : src2.y
-
-dst.z = (src0.z &lt; 0) ? src1.z : src2.z
-
-dst.w = (src0.w &lt; 0) ? src1.w : src2.w" /></p>
-</div><p>KIL - Conditional Discard</p>
-<div class="math">
-<p><img src="_images/math/ef0c42df6cde68a9c411ff8ce9ad1603b2715daf.png" alt="if (src.x &lt; 0 || src.y &lt; 0 || src.z &lt; 0 || src.w &lt; 0)
- discard
-endif" /></p>
-</div><p>SCS - Sine Cosine</p>
-<div class="math">
-<p><img src="_images/math/1ed3a5293ecdad1b4847367fba55be005fe7f6ba.png" alt="dst.x = \cos{src.x}
-
-dst.y = \sin{src.x}
-
-dst.z = 0
-
-dst.y = 1" /></p>
-</div><p>TXB - Texture Lookup With Bias</p>
-<blockquote>
-TBD</blockquote>
-<p>NRM - 3-component Vector Normalise</p>
-<div class="math">
-<p><img src="_images/math/a6403ef2be1ec6b8eafb37e12b4e44adf240444e.png" alt="dst.x = src.x / (src.x \times src.x + src.y \times src.y + src.z \times src.z)
-
-dst.y = src.y / (src.x \times src.x + src.y \times src.y + src.z \times src.z)
-
-dst.z = src.z / (src.x \times src.x + src.y \times src.y + src.z \times src.z)
-
-dst.w = 1" /></p>
-</div><p>DIV - Divide</p>
-<div class="math">
-<p><img src="_images/math/f8d904588ef4d267803f5aee2f5789d9eda5b0e4.png" alt="dst.x = \frac{src0.x}{src1.x}
-
-dst.y = \frac{src0.y}{src1.y}
-
-dst.z = \frac{src0.z}{src1.z}
-
-dst.w = \frac{src0.w}{src1.w}" /></p>
-</div><p>DP2 - 2-component Dot Product</p>
-<div class="math">
-<p><img src="_images/math/052e6cb10c4892efcc9dfdd69fd3480adbae7bba.png" alt="dst.x = src0.x \times src1.x + src0.y \times src1.y
-
-dst.y = src0.x \times src1.x + src0.y \times src1.y
-
-dst.z = src0.x \times src1.x + src0.y \times src1.y
-
-dst.w = src0.x \times src1.x + src0.y \times src1.y" /></p>
-</div><p>TXL - Texture Lookup With LOD</p>
-<blockquote>
-TBD</blockquote>
-<p>BRK - Break</p>
-<blockquote>
-TBD</blockquote>
-<p>IF - If</p>
-<blockquote>
-TBD</blockquote>
-<p>BGNFOR - Begin a For-Loop</p>
-<blockquote>
-<p>dst.x = floor(src.x)
-dst.y = floor(src.y)
-dst.z = floor(src.z)</p>
-<dl class="docutils">
-<dt>if (dst.y &lt;= 0)</dt>
-<dd>pc = [matching ENDFOR] + 1</dd>
-</dl>
-<p>endif</p>
-<dl class="docutils">
-<dt>Note: The destination must be a loop register.</dt>
-<dd>The source must be a constant register.</dd>
-</dl>
-<p>Considered for cleanup / removal.</p>
-</blockquote>
-<p>REP - Repeat</p>
-<blockquote>
-TBD</blockquote>
-<p>ELSE - Else</p>
-<blockquote>
-TBD</blockquote>
-<p>ENDIF - End If</p>
-<blockquote>
-TBD</blockquote>
-<p>ENDFOR - End a For-Loop</p>
-<blockquote>
-<p>dst.x = dst.x + dst.z
-dst.y = dst.y - 1.0</p>
-<dl class="docutils">
-<dt>if (dst.y &gt; 0)</dt>
-<dd>pc = [matching BGNFOR instruction] + 1</dd>
-</dl>
-<p>endif</p>
-<p>Note: The destination must be a loop register.</p>
-<p>Considered for cleanup / removal.</p>
-</blockquote>
-<p>ENDREP - End Repeat</p>
-<blockquote>
-TBD</blockquote>
-<p>PUSHA - Push Address Register On Stack</p>
-<blockquote>
-<p>push(src.x)
-push(src.y)
-push(src.z)
-push(src.w)</p>
-<p>Considered for cleanup / removal.</p>
-</blockquote>
-<p>POPA - Pop Address Register From Stack</p>
-<blockquote>
-<p>dst.w = pop()
-dst.z = pop()
-dst.y = pop()
-dst.x = pop()</p>
-<p>Considered for cleanup / removal.</p>
-</blockquote>
-</div>
-<div class="section" id="from-gl-nv-gpu-program4">
-<h3>From GL_NV_gpu_program4<a class="headerlink" href="#from-gl-nv-gpu-program4" title="Permalink to this headline">¶</a></h3>
-<p>Support for these opcodes indicated by a special pipe capability bit (TBD).</p>
-<p>CEIL - Ceiling</p>
-<div class="math">
-<p><img src="_images/math/03e47c613e946131569cb8ab9b88ae7b31a7a436.png" alt="dst.x = \lceil src.x\rceil
-
-dst.y = \lceil src.y\rceil
-
-dst.z = \lceil src.z\rceil
-
-dst.w = \lceil src.w\rceil" /></p>
-</div><p>I2F - Integer To Float</p>
-<div class="math">
-<p><img src="_images/math/fa38e14d5e8d8fcf15c70890e66ae5727443e531.png" alt="dst.x = (float) src.x
-
-dst.y = (float) src.y
-
-dst.z = (float) src.z
-
-dst.w = (float) src.w" /></p>
-</div><p>NOT - Bitwise Not</p>
-<div class="math">
-<p><img src="_images/math/ae28f3acd0883602c612198d7bcd7fc277972f31.png" alt="dst.x = ~src.x
-
-dst.y = ~src.y
-
-dst.z = ~src.z
-
-dst.w = ~src.w" /></p>
-</div><p>TRUNC - Truncate</p>
-<p>XXX how is this different from floor?</p>
-<div class="math">
-<p><img src="_images/math/4a413dd124842171577a13c5de2f45c92f1a0c59.png" alt="dst.x = trunc(src.x)
-
-dst.y = trunc(src.y)
-
-dst.z = trunc(src.z)
-
-dst.w = trunc(src.w)" /></p>
-</div><p>SHL - Shift Left</p>
-<div class="math">
-<p><img src="_images/math/6d8f34db37f5d0909f568cbd49dbb9bbd376629d.png" alt="dst.x = src0.x &lt;&lt; src1.x
-
-dst.y = src0.y &lt;&lt; src1.x
-
-dst.z = src0.z &lt;&lt; src1.x
-
-dst.w = src0.w &lt;&lt; src1.x" /></p>
-</div><p>SHR - Shift Right</p>
-<div class="math">
-<p><img src="_images/math/8bb711dcf8af2b6a34bd4cb19311c1c2c445ef5e.png" alt="dst.x = src0.x &gt;&gt; src1.x
-
-dst.y = src0.y &gt;&gt; src1.x
-
-dst.z = src0.z &gt;&gt; src1.x
-
-dst.w = src0.w &gt;&gt; src1.x" /></p>
-</div><p>AND - Bitwise And</p>
-<div class="math">
-<p><img src="_images/math/a37f2da4dd31c01e7c3afd0adab9bdf27c9d4805.png" alt="dst.x = src0.x &amp; src1.x
-
-dst.y = src0.y &amp; src1.y
-
-dst.z = src0.z &amp; src1.z
-
-dst.w = src0.w &amp; src1.w" /></p>
-</div><p>OR - Bitwise Or</p>
-<div class="math">
-<p><img src="_images/math/84549dcb2fc79ba332fa86d8b6bdac239d32097f.png" alt="dst.x = src0.x | src1.x
-
-dst.y = src0.y | src1.y
-
-dst.z = src0.z | src1.z
-
-dst.w = src0.w | src1.w" /></p>
-</div><p>MOD - Modulus</p>
-<div class="math">
-<p><img src="_images/math/10d8720201a3a554b1610687157a80fae1871f6d.png" alt="dst.x = src0.x \bmod src1.x
-
-dst.y = src0.y \bmod src1.y
-
-dst.z = src0.z \bmod src1.z
-
-dst.w = src0.w \bmod src1.w" /></p>
-</div><p>XOR - Bitwise Xor</p>
-<div class="math">
-<p><img src="_images/math/0f7e82c35f1b87f2d11da3fbc639085a54a5e7ec.png" alt="dst.x = src0.x ^ src1.x
-
-dst.y = src0.y ^ src1.y
-
-dst.z = src0.z ^ src1.z
-
-dst.w = src0.w ^ src1.w" /></p>
-</div><p>SAD - Sum Of Absolute Differences</p>
-<div class="math">
-<p><img src="_images/math/a4a04906e15ff687e62dcad0046baa9ae05eabb5.png" alt="dst.x = |src0.x - src1.x| + src2.x
-
-dst.y = |src0.y - src1.y| + src2.y
-
-dst.z = |src0.z - src1.z| + src2.z
-
-dst.w = |src0.w - src1.w| + src2.w" /></p>
-</div><p>TXF - Texel Fetch</p>
-<blockquote>
-TBD</blockquote>
-<p>TXQ - Texture Size Query</p>
-<blockquote>
-TBD</blockquote>
-<p>CONT - Continue</p>
-<blockquote>
-TBD</blockquote>
-</div>
-<div class="section" id="from-gl-nv-geometry-program4">
-<h3>From GL_NV_geometry_program4<a class="headerlink" href="#from-gl-nv-geometry-program4" title="Permalink to this headline">¶</a></h3>
-<p>EMIT - Emit</p>
-<blockquote>
-TBD</blockquote>
-<p>ENDPRIM - End Primitive</p>
-<blockquote>
-TBD</blockquote>
-</div>
-<div class="section" id="from-glsl">
-<h3>From GLSL<a class="headerlink" href="#from-glsl" title="Permalink to this headline">¶</a></h3>
-<p>BGNLOOP - Begin a Loop</p>
-<blockquote>
-TBD</blockquote>
-<p>BGNSUB - Begin Subroutine</p>
-<blockquote>
-TBD</blockquote>
-<p>ENDLOOP - End a Loop</p>
-<blockquote>
-TBD</blockquote>
-<p>ENDSUB - End Subroutine</p>
-<blockquote>
-TBD</blockquote>
-<p>NOP - No Operation</p>
-<blockquote>
-Do nothing.</blockquote>
-<p>NRM4 - 4-component Vector Normalise</p>
-<div class="math">
-<p><img src="_images/math/740c183de3654a7e7ee772a640badd3b2844da81.png" alt="dst.x = \frac{src.x}{src.x \times src.x + src.y \times src.y + src.z \times src.z + src.w \times src.w}
-
-dst.y = \frac{src.y}{src.x \times src.x + src.y \times src.y + src.z \times src.z + src.w \times src.w}
-
-dst.z = \frac{src.z}{src.x \times src.x + src.y \times src.y + src.z \times src.z + src.w \times src.w}
-
-dst.w = \frac{src.w}{src.x \times src.x + src.y \times src.y + src.z \times src.z + src.w \times src.w}" /></p>
-</div></div>
-<div class="section" id="ps-2-x">
-<h3>ps_2_x<a class="headerlink" href="#ps-2-x" title="Permalink to this headline">¶</a></h3>
-<p>CALLNZ - Subroutine Call If Not Zero</p>
-<blockquote>
-TBD</blockquote>
-<p>IFC - If</p>
-<blockquote>
-TBD</blockquote>
-<p>BREAKC - Break Conditional</p>
-<blockquote>
-TBD</blockquote>
-</div>
-</div>
-<div class="section" id="explanation-of-symbols-used">
-<h2>Explanation of symbols used<a class="headerlink" href="#explanation-of-symbols-used" title="Permalink to this headline">¶</a></h2>
-<div class="section" id="functions">
-<h3>Functions<a class="headerlink" href="#functions" title="Permalink to this headline">¶</a></h3>
-<blockquote>
-<p><img class="math" src="_images/math/49428192d366caf373c0af3c3261687f12b4c883.png" alt="|x|"/> Absolute value of <cite>x</cite>.</p>
-<p><img class="math" src="_images/math/1a7cd7095a9b123f81967d8d3b14d1e02b0174e7.png" alt="\lceil x \rceil"/> Ceiling of <cite>x</cite>.</p>
-<dl class="docutils">
-<dt>clamp(x,y,z) Clamp x between y and z.</dt>
-<dd>(x &lt; y) ? y : (x &gt; z) ? z : x</dd>
-</dl>
-<p><img class="math" src="_images/math/441416e660d25335f27e55334ac2a06e51541c97.png" alt="\lfloor x\rfloor"/> Floor of <cite>x</cite>.</p>
-<p><img class="math" src="_images/math/1ce288a883e98c3d1027d27f6246e7d3fdc4d78c.png" alt="\log_2{x}"/> Logarithm of <cite>x</cite>, base 2.</p>
-<dl class="docutils">
-<dt>max(x,y) Maximum of x and y.</dt>
-<dd>(x &gt; y) ? x : y</dd>
-<dt>min(x,y) Minimum of x and y.</dt>
-<dd>(x &lt; y) ? x : y</dd>
-</dl>
-<p>partialx(x) Derivative of x relative to fragment&#8217;s X.</p>
-<p>partialy(x) Derivative of x relative to fragment&#8217;s Y.</p>
-<p>pop() Pop from stack.</p>
-<p><img class="math" src="_images/math/8f9af910fe749481919573c0dd2b132118f19d19.png" alt="x^y"/> <cite>x</cite> to the power <cite>y</cite>.</p>
-<p>push(x) Push x on stack.</p>
-<p>round(x) Round x.</p>
-<p>trunc(x) Truncate x.</p>
-</blockquote>
-</div>
-<div class="section" id="keywords">
-<h3>Keywords<a class="headerlink" href="#keywords" title="Permalink to this headline">¶</a></h3>
-<blockquote>
-<p>discard Discard fragment.</p>
-<p>dst First destination register.</p>
-<p>dst0 First destination register.</p>
-<p>pc Program counter.</p>
-<p>src First source register.</p>
-<p>src0 First source register.</p>
-<p>src1 Second source register.</p>
-<p>src2 Third source register.</p>
-<p>target Label of target instruction.</p>
-</blockquote>
-</div>
-</div>
-<div class="section" id="other-tokens">
-<h2>Other tokens<a class="headerlink" href="#other-tokens" title="Permalink to this headline">¶</a></h2>
-<div class="section" id="declaration-semantic">
-<h3>Declaration Semantic<a class="headerlink" href="#declaration-semantic" title="Permalink to this headline">¶</a></h3>
-<blockquote>
-<p>Follows Declaration token if Semantic bit is set.</p>
-<p>Since its purpose is to link a shader with other stages of the pipeline,
-it is valid to follow only those Declaration tokens that declare a register
-either in INPUT or OUTPUT file.</p>
-<p>SemanticName field contains the semantic name of the register being declared.
-There is no default value.</p>
-<p>SemanticIndex is an optional subscript that can be used to distinguish
-different register declarations with the same semantic name. The default value
-is 0.</p>
-<p>The meanings of the individual semantic names are explained in the following
-sections.</p>
-</blockquote>
-<div class="section" id="tgsi-semantic-position">
-<h4>TGSI_SEMANTIC_POSITION<a class="headerlink" href="#tgsi-semantic-position" title="Permalink to this headline">¶</a></h4>
-<p>Position, sometimes known as HPOS or WPOS for historical reasons, is the
-location of the vertex in space, in <tt class="docutils literal"><span class="pre">(x,</span> <span class="pre">y,</span> <span class="pre">z,</span> <span class="pre">w)</span></tt> format. <tt class="docutils literal"><span class="pre">x</span></tt>, <tt class="docutils literal"><span class="pre">y</span></tt>, and <tt class="docutils literal"><span class="pre">z</span></tt>
-are the Cartesian coordinates, and <tt class="docutils literal"><span class="pre">w</span></tt> is the homogenous coordinate and used
-for the perspective divide, if enabled.</p>
-<p>As a vertex shader output, position should be scaled to the viewport. When
-used in fragment shaders, position will &#8212;</p>
-<p>XXX &#8212; wait a minute. Should position be in [0,1] for x and y?</p>
-<p>XXX additionally, is there a way to configure the perspective divide? it&#8217;s
-accelerated on most chipsets AFAIK...</p>
-<p>Position, if not specified, usually defaults to <tt class="docutils literal"><span class="pre">(0,</span> <span class="pre">0,</span> <span class="pre">0,</span> <span class="pre">1)</span></tt>, and can
-be partially specified as <tt class="docutils literal"><span class="pre">(x,</span> <span class="pre">y,</span> <span class="pre">0,</span> <span class="pre">1)</span></tt> or <tt class="docutils literal"><span class="pre">(x,</span> <span class="pre">y,</span> <span class="pre">z,</span> <span class="pre">1)</span></tt>.</p>
-<p>XXX usually? can we solidify that?</p>
-</div>
-<div class="section" id="tgsi-semantic-color">
-<h4>TGSI_SEMANTIC_COLOR<a class="headerlink" href="#tgsi-semantic-color" title="Permalink to this headline">¶</a></h4>
-<p>Colors are used to, well, color the primitives. Colors are always in
-<tt class="docutils literal"><span class="pre">(r,</span> <span class="pre">g,</span> <span class="pre">b,</span> <span class="pre">a)</span></tt> format.</p>
-<p>If alpha is not specified, it defaults to 1.</p>
-</div>
-<div class="section" id="tgsi-semantic-bcolor">
-<h4>TGSI_SEMANTIC_BCOLOR<a class="headerlink" href="#tgsi-semantic-bcolor" title="Permalink to this headline">¶</a></h4>
-<p>Back-facing colors are only used for back-facing polygons, and are only valid
-in vertex shader outputs. After rasterization, all polygons are front-facing
-and COLOR and BCOLOR end up occupying the same slots in the fragment, so
-all BCOLORs effectively become regular COLORs in the fragment shader.</p>
-</div>
-<div class="section" id="tgsi-semantic-fog">
-<h4>TGSI_SEMANTIC_FOG<a class="headerlink" href="#tgsi-semantic-fog" title="Permalink to this headline">¶</a></h4>
-<p>The fog coordinate historically has been used to replace the depth coordinate
-for generation of fog in dedicated fog blocks. Gallium, however, does not use
-dedicated fog acceleration, placing it entirely in the fragment shader
-instead.</p>
-<p>The fog coordinate should be written in <tt class="docutils literal"><span class="pre">(f,</span> <span class="pre">0,</span> <span class="pre">0,</span> <span class="pre">1)</span></tt> format. Only the first
-component matters when writing from the vertex shader; the driver will ensure
-that the coordinate is in this format when used as a fragment shader input.</p>
-</div>
-<div class="section" id="tgsi-semantic-psize">
-<h4>TGSI_SEMANTIC_PSIZE<a class="headerlink" href="#tgsi-semantic-psize" title="Permalink to this headline">¶</a></h4>
-<p>PSIZE, or point size, is used to specify point sizes per-vertex. It should
-be in <tt class="docutils literal"><span class="pre">(p,</span> <span class="pre">n,</span> <span class="pre">x,</span> <span class="pre">f)</span></tt> format, where <tt class="docutils literal"><span class="pre">p</span></tt> is the point size, <tt class="docutils literal"><span class="pre">n</span></tt> is the minimum
-size, <tt class="docutils literal"><span class="pre">x</span></tt> is the maximum size, and <tt class="docutils literal"><span class="pre">f</span></tt> is the fade threshold.</p>
-<p>XXX this is arb_vp. is this what we actually do? should double-check...</p>
-<p>When using this semantic, be sure to set the appropriate state in the
-<a class="reference external" href="cso/rasterizer.html#rasterizer"><em>Rasterizer</em></a> first.</p>
-</div>
-<div class="section" id="tgsi-semantic-generic">
-<h4>TGSI_SEMANTIC_GENERIC<a class="headerlink" href="#tgsi-semantic-generic" title="Permalink to this headline">¶</a></h4>
-<p>Generic semantics are nearly always used for texture coordinate attributes,
-in <tt class="docutils literal"><span class="pre">(s,</span> <span class="pre">t,</span> <span class="pre">r,</span> <span class="pre">q)</span></tt> format. <tt class="docutils literal"><span class="pre">t</span></tt> and <tt class="docutils literal"><span class="pre">r</span></tt> may be unused for certain kinds
-of lookups, and <tt class="docutils literal"><span class="pre">q</span></tt> is the level-of-detail bias for biased sampling.</p>
-<p>These attributes are called &#8220;generic&#8221; because they may be used for anything
-else, including parameters, texture generation information, or anything that
-can be stored inside a four-component vector.</p>
-</div>
-<div class="section" id="tgsi-semantic-normal">
-<h4>TGSI_SEMANTIC_NORMAL<a class="headerlink" href="#tgsi-semantic-normal" title="Permalink to this headline">¶</a></h4>
-<p>XXX no clue.</p>
-</div>
-<div class="section" id="tgsi-semantic-face">
-<h4>TGSI_SEMANTIC_FACE<a class="headerlink" href="#tgsi-semantic-face" title="Permalink to this headline">¶</a></h4>
-<p>FACE is the facing bit, to store the facing information for the fragment
-shader. <tt class="docutils literal"><span class="pre">(f,</span> <span class="pre">0,</span> <span class="pre">0,</span> <span class="pre">1)</span></tt> is the format. The first component will be positive
-when the fragment is front-facing, and negative when the component is
-back-facing.</p>
-</div>
-<div class="section" id="tgsi-semantic-edgeflag">
-<h4>TGSI_SEMANTIC_EDGEFLAG<a class="headerlink" href="#tgsi-semantic-edgeflag" title="Permalink to this headline">¶</a></h4>
-<p>XXX no clue</p>
-</div>
-</div>
-</div>
-</div>
-
-
- </div>
- </div>
- </div>
- <div class="sphinxsidebar">
- <div class="sphinxsidebarwrapper">
- <h3><a href="index.html">Table Of Contents</a></h3>
- <ul>
-<li><a class="reference external" href="">TGSI</a><ul>
-<li><a class="reference external" href="#instruction-set">Instruction Set</a><ul>
-<li><a class="reference external" href="#from-gl-nv-vertex-program">From GL_NV_vertex_program</a></li>
-<li><a class="reference external" href="#from-gl-nv-vertex-program2">From GL_NV_vertex_program2</a></li>
-<li><a class="reference external" href="#from-gl-nv-gpu-program4">From GL_NV_gpu_program4</a></li>
-<li><a class="reference external" href="#from-gl-nv-geometry-program4">From GL_NV_geometry_program4</a></li>
-<li><a class="reference external" href="#from-glsl">From GLSL</a></li>
-<li><a class="reference external" href="#ps-2-x">ps_2_x</a></li>
-</ul>
-</li>
-<li><a class="reference external" href="#explanation-of-symbols-used">Explanation of symbols used</a><ul>
-<li><a class="reference external" href="#functions">Functions</a></li>
-<li><a class="reference external" href="#keywords">Keywords</a></li>
-</ul>
-</li>
-<li><a class="reference external" href="#other-tokens">Other tokens</a><ul>
-<li><a class="reference external" href="#declaration-semantic">Declaration Semantic</a><ul>
-<li><a class="reference external" href="#tgsi-semantic-position">TGSI_SEMANTIC_POSITION</a></li>
-<li><a class="reference external" href="#tgsi-semantic-color">TGSI_SEMANTIC_COLOR</a></li>
-<li><a class="reference external" href="#tgsi-semantic-bcolor">TGSI_SEMANTIC_BCOLOR</a></li>
-<li><a class="reference external" href="#tgsi-semantic-fog">TGSI_SEMANTIC_FOG</a></li>
-<li><a class="reference external" href="#tgsi-semantic-psize">TGSI_SEMANTIC_PSIZE</a></li>
-<li><a class="reference external" href="#tgsi-semantic-generic">TGSI_SEMANTIC_GENERIC</a></li>
-<li><a class="reference external" href="#tgsi-semantic-normal">TGSI_SEMANTIC_NORMAL</a></li>
-<li><a class="reference external" href="#tgsi-semantic-face">TGSI_SEMANTIC_FACE</a></li>
-<li><a class="reference external" href="#tgsi-semantic-edgeflag">TGSI_SEMANTIC_EDGEFLAG</a></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-
- <h4>Previous topic</h4>
- <p class="topless"><a href="intro.html"
- title="previous chapter">Introduction</a></p>
- <h4>Next topic</h4>
- <p class="topless"><a href="screen.html"
- title="next chapter">Screen</a></p>
- <h3>This Page</h3>
- <ul class="this-page-menu">
- <li><a href="_sources/tgsi.txt"
- rel="nofollow">Show Source</a></li>
- </ul>
- <div id="searchbox" style="display: none">
- <h3>Quick search</h3>
- <form class="search" action="search.html" method="get">
- <input type="text" name="q" size="18" />
- <input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
- </form>
- <p class="searchtip" style="font-size: 90%">
- Enter search terms or a module, class or function name.
- </p>
- </div>
- <script type="text/javascript">$('#searchbox').show(0);</script>
- </div>
- </div>
- <div class="clearer"></div>
- </div>
- <div class="related">
- <h3>Navigation</h3>
- <ul>
- <li class="right" style="margin-right: 10px">
- <a href="genindex.html" title="General Index"
- >index</a></li>
- <li class="right" >
- <a href="screen.html" title="Screen"
- >next</a> |</li>
- <li class="right" >
- <a href="intro.html" title="Introduction"
- >previous</a> |</li>
- <li><a href="index.html">Gallium v0.3 documentation</a> &raquo;</li>
- </ul>
- </div>
- <div class="footer">
- &copy; Copyright 2009, VMWare, X.org, Nouveau.
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.3.
- </div>
- </body>
-</html> \ No newline at end of file