aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/gallivm/lp_bld_flow.c
Commit message (Collapse)AuthorAgeFilesLines
* gallivm/llvmpipe: squash merge of the llvm-context branchBrian Paul2010-11-301-54/+69
| | | | | | | | | | | | | | This branch defines a gallivm_state structure which contains the LLVMBuilderRef, LLVMContextRef, etc. All data structures built with this object can be periodically freed during a "garbage collection" operation. The gallivm_state object has to be passed to most of the builder functions where LLVMBuilderRef used to be used. Conflicts: src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c src/gallium/drivers/llvmpipe/lp_state_setup.c
* gallivm: Comment lp_build_insert_new_block().José Fonseca2010-10-171-0/+8
|
* gallivm: Use variables instead of Phis in loops.José Fonseca2010-10-101-41/+21
| | | | With this commit all explicit Phi emission is now gone.
* gallivm: Fix a long standing bug with nested if-then-else emission.José Fonseca2010-10-101-17/+6
| | | | | | | | | | | | We can't patch true-block at end-if time, as there is no guarantee that the block at the beginning of the true stanza is the same at the end of the true stanza -- other control flow elements may have been emitted half way the true stanza. Although this bug surfaced recently with the commit to skip mip filtering when lod is an integer the bug was always there, although probably it was avoided until now: e.g., cubemap selection nests if-then-else on the else stanza, which does not suffer from the same problem.
* gallivm: Cleanup the rest of the flow module.José Fonseca2010-10-091-189/+21
|
* gallivm: Simplify if/then/else implementation.José Fonseca2010-10-091-59/+20
| | | | No need for for a flow stack anymore.
* gallivm: Remove support for Phi generation.José Fonseca2010-10-091-211/+0
| | | | Simply rely on mem2reg pass. It's easier and more reliable.
* gallivm: Don't generate Phis for execution mask.José Fonseca2010-10-091-7/+21
|
* llvmpipe: try to be sensible about whether to branch after mask updatesKeith Whitwell2010-10-091-5/+1
| | | | | Don't branch more than once in quick succession. Don't branch at the end of the shader.
* llvmpipe: store zero into all alloca'd valuesKeith Whitwell2010-10-091-0/+1
| | | | Fixes slowdown in isosurf with earlier versions of llvm.
* gallivm: bump up LP_BUILD_FLOW_MAX_VARIABLESBrian Paul2010-06-021-1/+1
| | | | | | | Fixes failed assertion with piglit fbo-drawbuffers-fragcolor.c See fd.o bug 28358. With 8 color buffers + Z we need to declare 33 vars, at least.
* gallivm: add assertions to check type of phi variablesBrian Paul2010-05-271-0/+2
|
* gallivm: fix spelling in commentBrian Paul2010-05-201-1/+1
|
* gallivm: Fix segfaul when inserting allocas in an empty function.José Fonseca2010-05-081-3/+10
|
* gallivm: Ensure all allocas are in the first block.José Fonseca2010-04-271-0/+75
| | | | Refactor the code to make this easier.
* draw llvm: fix loop iteration and vertex header offsetsZack Rusin2010-04-061-0/+29
| | | | | | the loop was doing a NE comparison which we could have skipped if the prim was triangles (3 verts) and our step was 4 verts. also fix offsets in conversion to aos.
* gallivm: fix bugs in nested if/then/else codegenBrian Paul2010-03-121-9/+17
| | | | Quite a bit a hair pulling was involved...
* gallivm: implement loopsZack Rusin2010-03-101-1/+1
|
* llvmpipe: export the tgsi translation code to a common layerZack Rusin2010-02-081-0/+757
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.