docs: Add a section with recommended reading for llvmpipe development.
authorJosé Fonseca <jfonseca@vmware.com>
Thu, 21 Nov 2013 17:52:50 +0000 (17:52 +0000)
committerJosé Fonseca <jfonseca@vmware.com>
Fri, 22 Nov 2013 15:03:36 +0000 (15:03 +0000)
Several of links the were contributed by Keith Whitwell and Roland Scheidegger.

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
docs/llvmpipe.html

index 80f8a017665d1a8e230096ed3801565f00c24479..d69590726f9a59ac6ea9d46f0b6d11cc79ca9c66 100644 (file)
@@ -203,11 +203,65 @@ for posterior analysis, e.g.:
   We use LLVM-C bindings for now. They are not documented, but follow the C++
   interfaces very closely, and appear to be complete enough for code
   generation. See 
-  http://npcontemplation.blogspot.com/2008/06/secret-of-llvm-c-bindings.html
-  for a stand-alone example.  See the llvm-c/Core.h file for reference.
+  <a href="http://npcontemplation.blogspot.com/2008/06/secret-of-llvm-c-bindings.html">
+  this stand-alone example</a>.  See the llvm-c/Core.h file for reference.
 </li>
 </ul>
 
+<h1 id="recommended_reading">Recommended Reading</h1>
+
+<ul>
+  <li>
+    <p>Rasterization</p>
+    <ul>
+      <li><a href="http://www.cs.unc.edu/~olano/papers/2dh-tri/">Triangle Scan Conversion using 2D Homogeneous Coordinates</a></li>
+      <li><a href="http://www.drdobbs.com/parallel/rasterization-on-larrabee/217200602">Rasterization on Larrabee</a> (<a href="http://devmaster.net/posts/2887/rasterization-on-larrabee">DevMaster copy</a>)</li>
+      <li><a href="http://devmaster.net/posts/6133/rasterization-using-half-space-functions">Rasterization using half-space functions</a></li>
+      <li><a href="http://devmaster.net/posts/6145/advanced-rasterization">Advanced Rasterization</a></li>
+      <li><a href="http://fgiesen.wordpress.com/2013/02/17/optimizing-sw-occlusion-culling-index/">Optimizing Software Occlusion Culling</a></li>
+    </ul>
+  </li>
+  <li>
+    <p>Texture sampling</p>
+    <ul>
+      <li><a href="http://chrishecker.com/Miscellaneous_Technical_Articles#Perspective_Texture_Mapping">Perspective Texture Mapping</a></li>
+      <li><a href="http://www.flipcode.com/archives/Texturing_As_In_Unreal.shtml">Texturing As In Unreal</a></li>
+      <li><a href="http://www.gamasutra.com/view/feature/3301/runtime_mipmap_filtering.php">Run-Time MIP-Map Filtering</a></li>
+      <li><a href="http://alt.3dcenter.org/artikel/2003/10-26_a_english.php">Will "brilinear" filtering persist?</a></li>
+      <li><a href="http://ixbtlabs.com/articles2/gffx/nv40-rx800-3.html">Trilinear filtering</a></li>
+      <li><a href="http://devmaster.net/posts/12785/texture-swizzling">Texture Swizzling</a></li>
+    </ul>
+  </li>
+  <li>
+    <p>SIMD</p>
+    <ul>
+      <li><a href="http://www.cdl.uni-saarland.de/projects/wfv/#header4">Whole-Function Vectorization</a></li>
+    </ul>
+  </li>
+  <li>
+    <p>Optimization</p>
+    <ul>
+      <li><a href="http://www.drdobbs.com/optimizing-pixomatic-for-modern-x86-proc/184405807">Optimizing Pixomatic For Modern x86 Processors</a></li>
+      <li><a href="http://www.intel.com/content/www/us/en/architecture-and-technology/64-ia-32-architectures-optimization-manual.html">Intel 64 and IA-32 Architectures Optimization Reference Manual</a></li>
+      <li><a href="http://www.agner.org/optimize/">Software optimization resources</a></li>
+      <li><a href="http://software.intel.com/en-us/articles/intel-intrinsics-guide">Intel Intrinsics Guide</a><li>
+    </ul>
+  </li>
+  <li>
+    <p>LLVM</p>
+    <ul>
+      <li><a href="http://llvm.org/docs/LangRef.html">LLVM Language Reference Manual</a></li>
+      <li><a href="http://npcontemplation.blogspot.co.uk/2008/06/secret-of-llvm-c-bindings.html">The secret of LLVM C bindings</a></li>
+    </ul>
+  </li>
+  <li>
+    <p>Misc</p>
+    <ul>
+      <li><a href="http://msdn.microsoft.com/en-us/library/gg615082.aspx#architecture">WARP Architecture and Performance</a></li>
+    </ul>
+  </li>
+</ul>
+
 </div>
 </body>
 </html>