Age | Commit message (Collapse) | Author | |
---|---|---|---|
2010-05-04 | gallivm: Fix several glitches introduced in the prev commit. | José Fonseca | |
2010-05-04 | gallivm: Implement TXD. | José Fonseca | |
2010-05-04 | gallivm: Increase the TGSI translation limits and centralize them in a header. | José Fonseca | |
2010-05-03 | gallivm: Display message instead of crashing when sampler generator was not ↵ | José Fonseca | |
supplied for tgsi translation. | |||
2010-05-03 | gallivm: Replace predicate assertion failure with warning message. | José Fonseca | |
2010-05-02 | gallivm: fix nested break and continue statements | Zack Rusin | |
we were resetting the mask on each new break/continue statement within the same scope. we always need to and the current execution mask with the current break/continue mask to get the correct result (the masks are always ~1 initially) | |||
2010-04-27 | gallivm: Drop BGNFOR, ENDFOR, REP, and ENDREP opcodes. | José Fonseca | |
2010-04-27 | gallivm: Ensure all allocas are in the first block. | José Fonseca | |
Refactor the code to make this easier. | |||
2010-04-26 | gallivm: BGNFOR/ENDFOR fallthrough to BGNLOOP/ENDLOOP | Alan Hourihane | |
2010-04-25 | gallivm: Rename variable info to opcode_info. | Vinson Lee | |
Avoid hiding existing variable already named info in outer scope. | |||
2010-04-24 | gallivm: Remove NULL check of pointer that can't be NULL. | Vinson Lee | |
info cannot be NULL at the call to debug_printf. emit_instruction dereferences info, so at debug_printf it is either not NULL or the program has already crashed. | |||
2010-04-22 | gallivm: implement indirect addressing over temporaries | Zack Rusin | |
a bit more involved than indirect addressing over consts, but still fairly reasonable. we allocate an array instead of individual alloca's, and we do it only if the shader does indirect addressing. | |||
2010-04-22 | gallivm: implement indirect addressing over constants | Zack Rusin | |
implement indirect addressing (ARL and ARR instructions) when used with CONST's. indirect addressing over other vars (temps, inputs, outputs) is not supported yet. | |||
2010-04-22 | gallivm: update comments | Zack Rusin | |
2010-04-22 | gallivm: fix nested cont statements | Zack Rusin | |
2010-04-22 | gallivm: fix nested break statemants | Zack Rusin | |
2010-04-21 | gallivm: added some assertions in loop-gen code | Brian Paul | |
We're hitting these assertions with nested loops... | |||
2010-04-21 | gallivm: fix copy&paste error: s/cont_stack_size/break_stack_size/ | Brian Paul | |
2010-04-21 | gallivm: emit_instruction() is boolean | Brian Paul | |
2010-04-21 | gallivm: implement TGSI KILP | Brian 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-30 | gallivm: 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-29 | gallivm: make sure that the alloca's are the very first thing in the function | Zack Rusin | |
otherwise mem2reg can't put them in registers | |||
2010-03-15 | gallivm/llvmpipe: rename some constant building functions | Brian Paul | |
2010-03-11 | gallivm: include tgsi_dump.h to silence warning | Brian Paul | |
2010-03-10 | gallivm: simplify conditional branching | Jose Fonseca | |
Instead of testing each component individually, we can test the entire vector at once. | |||
2010-03-10 | gallivm: properly test the if condition and branch to the proper label | Zack Rusin | |
makes loops work | |||
2010-03-10 | gallivm: implement loops | Zack Rusin | |
2010-03-08 | gallivm: fix a crash by making sure we set the has_mask flag correctly | Zack Rusin | |
2010-03-06 | gallivm: Answer question/comment. | José Fonseca | |
This reverts commit 71c05689528d7987bfb99c3afe04e456887bc7b7. | |||
2010-03-06 | gallivm: Add a placeholder for TGSI_FILE_PREDICATE registers. | José Fonseca | |
2010-03-04 | gallivm: added question/comment | Brian Paul | |
2010-03-02 | llvmpipe: improve based on review from Jose and fix else clauses | Zack 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-01 | llvmpipe: implement some control-flow | Zack 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-11 | llvmpipe: Handle TGSI_TOKEN_TYPE_PROPERTY. | José Fonseca | |
Avoids assertion failures with certain shaders. | |||
2010-02-11 | gallivm: TGSI_OPCODE_CONT is not deprecated. | José Fonseca | |
Note that with FIXME instead of an assertion failure. Addresses fdo 25956. | |||
2010-02-08 | llvmpipe: switch to using dynamic stack allocation instead of registers | Zack 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-08 | llvmpipe: export the tgsi translation code to a common layer | Zack 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. |