Age | Commit message (Collapse) | Author | |
---|---|---|---|
2010-07-21 | gallivm: replace has_indirect_addressing field with indirect_files field | Brian Paul | |
Instead of one big boolean indicating indirect addressing, use a bitfield indicating which register files are accessed with indirect addressing. Most shaders that use indirect addressing only use it to access the constant buffer. So no need to use an array for temporary registers in this case. | |||
2010-07-21 | gallivm: refactor code into get_indirect_offsets() function | Brian Paul | |
2010-07-21 | gallivm: added comment | Brian Paul | |
2010-07-21 | gallivm: remove extraneous braces | Brian Paul | |
2010-07-21 | gallivm: no longer do indirect addressing in get_temp_ptr() | Brian Paul | |
2010-07-21 | gallivm: implement correct indirect addressing of temp registers | Brian Paul | |
As with indexing the const buffer, the ADDR reg may have totally different values for each element. Need to use a gather operation. | |||
2010-07-21 | gallivm: re-org, comments for get_temp_ptr() | Brian Paul | |
2010-07-21 | gallivm: rename a var to avoid compiler warnings | Brian Paul | |
2010-07-20 | gallivm: fix indirect addressing of constant buffer | Brian Paul | |
The previous code assumed that all elements of the address register were the same. But it can vary from pixel to pixel or vertex to vertex so we must use a gather operation when dynamically indexing the constant buffer. Still need to fix this for the temporary register file... | |||
2010-06-07 | gallivm: eliminate tgsi_exec.h include | Keith Whitwell | |
2010-06-03 | gallivm: Factor out the quad derivative code into a single place. Fix ddy. | José Fonseca | |
For ddy it should be (bottom - top). | |||
2010-05-20 | gallivm: rename a var: s/val/array_size/ | Brian Paul | |
2010-05-17 | gallivm: Tweak ret_mask handling. | José Fonseca | |
2010-05-17 | gallivm: implement function calls by inlining | Zack Rusin | |
with this approach we inline the entire function body in the caller | |||
2010-05-15 | gallivm: Temporarily remove function call support | José Fonseca | |
Commits moved to the gallivm-call feature branch for further experimentation and stabilization. | |||
2010-05-15 | gallivm: use our util_snprintf | Zack Rusin | |
2010-05-15 | gallivm: implement function calls | Zack Rusin | |
2010-05-14 | tgsi: clean up in emit_fetch() | Brian Paul | |
2010-05-13 | gallivm: silence uninitialized var warning | Brian Paul | |
2010-05-13 | gallivm: silence uninitialized var warning | Brian Paul | |
2010-05-13 | gallivm: rename a var | Brian Paul | |
2010-05-12 | gallivm/llvmpipe: add const qualifiers | Brian Paul | |
2010-05-10 | gallivm: Add missing lvalue. | José Fonseca | |
2010-05-08 | gallivm: Add an alternative to LLVMDumpValue that works with Windows GUI apps. | José Fonseca | |
2010-05-08 | gallivm: Fix BREAK/CONT translation. | José Fonseca | |
The cont_mask must be restored and exec mask recomputed in order to decide whether to repeat the loop or not. Unlike the continue mask, the break_mask must be preserved across loop iterations. Fixes several VShader DCT cases, and no regressions with glean. | |||
2010-05-08 | gallivm: Support predicates. | José Fonseca | |
2010-05-04 | gallivm: Proper implementation of TXL opcode. | José Fonseca | |
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 | |