From 8df64bb2fe1aba19dce1010f5129e34123b19036 Mon Sep 17 00:00:00 2001 From: José Fonseca Date: Tue, 18 Aug 2009 17:36:13 +0100 Subject: llvmpipe: Briefly describe current status. --- src/gallium/drivers/llvmpipe/README | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'src/gallium') 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 ============ -- cgit v1.2.3