diff options
author | José Fonseca <jfonseca@vmware.com> | 2009-08-18 17:36:13 +0100 |
---|---|---|
committer | José Fonseca <jfonseca@vmware.com> | 2009-08-29 09:21:34 +0100 |
commit | 8df64bb2fe1aba19dce1010f5129e34123b19036 (patch) | |
tree | cc5776739dd5ac0ff23cf093ba34c4a8ca2f0559 /src/gallium/drivers/llvmpipe | |
parent | bb867b0ae43deb73eca8cd04eda2a7a12620cdcf (diff) |
llvmpipe: Briefly describe current status.
Diffstat (limited to 'src/gallium/drivers/llvmpipe')
-rw-r--r-- | src/gallium/drivers/llvmpipe/README | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/gallium/drivers/llvmpipe/README b/src/gallium/drivers/llvmpipe/README index af0ef2b317..2ac7e7c9ad 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 ============ |