summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c
AgeCommit message (Collapse)Author
2010-04-22gallivm: update commentsZack Rusin
2010-04-22gallivm: fix nested cont statementsZack Rusin
2010-04-22gallivm: fix nested break statemantsZack Rusin
2010-04-21gallivm: added some assertions in loop-gen codeBrian Paul
We're hitting these assertions with nested loops...
2010-04-21gallivm: fix copy&paste error: s/cont_stack_size/break_stack_size/Brian Paul
2010-04-21gallivm: emit_instruction() is booleanBrian Paul
2010-04-21gallivm: implement TGSI KILPBrian Paul
As in tgsi_exec.c we don't actually rely on condition codes; we do an unconditional kill. The only predication comes from the execution mask which applies inside loops/conditionals.
2010-03-30gallivm: cleanup the code (found by coverity)Zack Rusin
the condition can't be false, declerations are ok even if we don't emit any.
2010-03-29gallivm: make sure that the alloca's are the very first thing in the functionZack Rusin
otherwise mem2reg can't put them in registers
2010-03-15gallivm/llvmpipe: rename some constant building functionsBrian Paul
2010-03-11gallivm: include tgsi_dump.h to silence warningBrian Paul
2010-03-10gallivm: simplify conditional branchingJose Fonseca
Instead of testing each component individually, we can test the entire vector at once.
2010-03-10gallivm: properly test the if condition and branch to the proper labelZack Rusin
makes loops work
2010-03-10gallivm: implement loopsZack Rusin
2010-03-08gallivm: fix a crash by making sure we set the has_mask flag correctlyZack Rusin
2010-03-06gallivm: Answer question/comment.José Fonseca
This reverts commit 71c05689528d7987bfb99c3afe04e456887bc7b7.
2010-03-06gallivm: Add a placeholder for TGSI_FILE_PREDICATE registers.José Fonseca
2010-03-04gallivm: added question/commentBrian Paul
2010-03-02llvmpipe: improve based on review from Jose and fix else clausesZack Rusin
else was broken in the outter most else statemants, plus the code didn't need an inverted mask to compute the inverse of the current condition.
2010-03-01llvmpipe: implement some control-flowZack Rusin
implements if/else/endif constructs and lays down the code for looping and others. we create a conditional execution mask which decides which of the four inputs are enabled for any store. it's used only if an execution mask is present, otherwise we go through a direct store.
2010-02-11llvmpipe: Handle TGSI_TOKEN_TYPE_PROPERTY.José Fonseca
Avoids assertion failures with certain shaders.
2010-02-11gallivm: TGSI_OPCODE_CONT is not deprecated.José Fonseca
Note that with FIXME instead of an assertion failure. Addresses fdo 25956.
2010-02-08llvmpipe: switch to using dynamic stack allocation instead of registersZack Rusin
with mutable vars we don't need to follow the phi nodes. meaning that control flow becomes trivial as we don't have scan the rest of the tgsi to figure out the variable usage anymore. futhermore the memory2register pass promotes alloca/store/load to registers while inserting the right phi nodes. so we get simplicity and performance.
2010-02-08llvmpipe: export the tgsi translation code to a common layerZack Rusin
the llvmpipe tgsi translation is a lot more complete than what was in gallivm so replacing the latter with the former. this is needed since the draw llvm paths will use the same code. effectively the proven llvmpipe code becomes gallivm.