summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers
diff options
context:
space:
mode:
authorJosé Fonseca <[email protected]>2009-08-18 17:36:13 +0100
committerJosé Fonseca <[email protected]>2009-08-29 09:21:34 +0100
commit8df64bb2fe1aba19dce1010f5129e34123b19036 (patch)
treecc5776739dd5ac0ff23cf093ba34c4a8ca2f0559 /src/gallium/drivers
parentbb867b0ae43deb73eca8cd04eda2a7a12620cdcf (diff)
llvmpipe: Briefly describe current status.
Diffstat (limited to 'src/gallium/drivers')
-rw-r--r--src/gallium/drivers/llvmpipe/README32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/gallium/drivers/llvmpipe/README b/src/gallium/drivers/llvmpipe/README
index af0ef2b317c..2ac7e7c9ad5 100644
--- a/src/gallium/drivers/llvmpipe/README
+++ b/src/gallium/drivers/llvmpipe/README
@@ -1,6 +1,38 @@
LLVMPIPE -- a fork of softpipe that employs LLVM for code generation.
+Status
+======
+
+Done so far is:
+
+- TGSI -> LLVM fragment shader translation
+ - same level of support as the TGSI SSE2 exec machine
+ - texture sampling via an intrinsic call
+ - done in SoA
+ - input interpolation also code generated
+
+- blend -> LLVM (including logic ops)
+ - SoA and AoS, but only the former used
+
+- code is generic
+ - intermediates can be vectors of floats, ubytes, fixed point, etc, and of
+ any width and length
+ - not all operations are implemented for these types yet though
+
+Most mesa/progs/demos/* work. Speed is on par with Keith's softpipe-opt branch,
+which includes hand written fast implementations for common cases.
+
+To do (probably by this order):
+- code generate the rest of the fragment pipeline, namely the
+ depth/alpha/stencil state
+- concatenate the fragment pipeline (shader + depth/stencil/alpha + blend) in a
+ single function
+- code generate texture sampling
+- translate TGSI control flow instructions
+- code generate the triangle setup and rasterization
+
+
Requirements
============