Age | Commit message (Collapse) | Author | |
---|---|---|---|
2010-10-12 | gallivm: don't branch on KILLs near end of shader | Keith Whitwell | |
2010-10-10 | gallivm: Pass texture coords derivates as scalars. | José Fonseca | |
We end up treating them as scalars in the end, and it saves some instructions. | |||
2010-10-09 | llvmpipe: try to be sensible about whether to branch after mask updates | Keith Whitwell | |
Don't branch more than once in quick succession. Don't branch at the end of the shader. | |||
2010-09-16 | gallivm: Clamp indirect register indices to file_max. | José Fonseca | |
Prevents crashes with bogus data, or bad shader translation. | |||
2010-09-16 | gallivm: Fix address register swizzle. | José Fonseca | |
We're actually doing a double swizzling: indirect_reg->Swizzle[indirect_reg->SwizzleX] instead of simply indirect_reg->SwizzleX | |||
2010-09-11 | gallivm: Move the texture modifiers to the header. | José Fonseca | |
Useful to pass these around. | |||
2010-09-05 | gallivm: Cope with tgsi instruction reallocation failure. | José Fonseca | |
2010-08-31 | gallivm: fix bug in nested conditionals | Brian Paul | |
This, plus the previous commit fix fd.o bug 29806. | |||
2010-08-18 | gallivm: Use proper index to lookup predicate register array. | michal | |
Doesn't fix anything, as those indices were both always 0. | |||
2010-08-09 | gallivm: Don't call LLVMBuildFNeg on llvm-2.6. | José Fonseca | |
It didn't exist yet. | |||
2010-08-09 | gallivm: Always use floating-point operators for floating-point types | nobled | |
This fixes the assert added in LLVM 2.8: assert(getType()->isIntOrIntVectorTy() && "Tried to create an integer operation on a non-integer type!") But it also fixes some subtle bugs, since we should've been doing this since LLVM 2.6 anyway. Includes a modified patch from steckdenis@yahoo.fr for the FNeg instructions in emit_fetch(); thanks for pointing those out. http://bugs.freedesktop.org/29404 http://bugs.freedesktop.org/29407 Signed-off-by: José Fonseca <jfonseca@vmware.com> | |||
2010-08-08 | gallivm: Fix more integer operations. | José Fonseca | |
2010-08-08 | gallivm: Use the correct context for integers | nobled | |
See: http://bugs.freedesktop.org/29407 | |||
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. |