summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/gallivm
AgeCommit message (Collapse)Author
2010-09-11gallivm: nr_channels is only valid for formats with plain layout.José Fonseca
This is erroneously throwing non plain formats out of the faster AoS sampling path. Doing 8bit interpolation for single channels such as L8 should be no worse than with floating point. But this may need more investigation.
2010-09-11gallivm: Use const keyword on swizzles.José Fonseca
2010-09-11gallivm: Allow to TGSI AoS translation to happen in BGRA ordering.José Fonseca
Or any ordering.
2010-09-11gallivm: Add a new debug flag to warn about performance issues.José Fonseca
2010-09-11gallivm: Helper functions for pointer indirection.José Fonseca
2010-09-11gallivm: Cleanup the TGSI <-> sampler interface.José Fonseca
2010-09-11gallivm: Add some utility functions to set/get array elements too.José Fonseca
2010-09-11gallivm: Basic AoS TGSI -> LLVM IR.José Fonseca
Essentially a variation of the SoA version.
2010-09-11gallivm: Move the texture modifiers to the header.José Fonseca
Useful to pass these around.
2010-09-11gallivm: s/lp_build_broadcast_aos/lp_build_swizzle_scalar_aos/José Fonseca
More accurate description of this function purpose.
2010-09-05gallivm: Pass condition masks as an unsigned bitmask.José Fonseca
Much more convenient than boolean arrays.
2010-09-05gallivm: Cope with tgsi instruction reallocation failure.José Fonseca
2010-08-31gallivm: fix bug in nested conditionalsBrian Paul
This, plus the previous commit fix fd.o bug 29806.
2010-08-30gallivm: Compute the 4 texel offsets for linear filtering en ensemble.José Fonseca
2010-08-30gallivm: Disable LLVM's pretty stack trace dumper.José Fonseca
By default LLVM adds a signal handler to output a pretty stack trace. This signal handler is never removed, causing problems when unloading the shared object where the gallium driver resides. Thanks to Chris Li for finding this.
2010-08-30gallivm: Correct copy'n'pasted comments.José Fonseca
2010-08-30gallivm: Fix lp_build_sum_vector.José Fonseca
The result is scalar, so when argument is zero/undef we can pass vector zero/undef. Also, support the scalar case.
2010-08-29util: remove util_is_pot in favor of util_is_power_of_twoMarek Olšák
The function was duplicated.
2010-08-24gallivm: Include missing header in lp_bld_sample.h.Vinson Lee
Include p_format.h for enum pipe_format symbol.
2010-08-24gallivm: Include missing header in lp_bld_pack.h.Vinson Lee
Include p_compiler.h for boolean symbol.
2010-08-21gallivm: Emit DIVPS instead of RCPPS.José Fonseca
See comments for detailed rationale. Thanks to Michal Krol and Zack Rusin for detecting and investigating this in detail.
2010-08-20gallium: make all checks for PIPE_TEXTURE_2D check for PIPE_TEXTURE_RECT tooLuca Barbieri
Searched for them with: git grep -E '[!=]=.*PIPE_TEXTURE_2D|PIPE_TEXTURE_2D.*[!=]=|case.*PIPE_TEXTURE_2D' Behavior hasn't been changed.
2010-08-18gallivm: Use proper index to lookup predicate register array.michal
Doesn't fix anything, as those indices were both always 0.
2010-08-17gallivm: Fix and re-enable MMX-disabling codenobled
Signed-off-by: José Fonseca <jfonseca@vmware.com>
2010-08-14gallivm: Remove unnecessary header.Vinson Lee
2010-08-14u_cpu_detect: remove arch and little_endianLuca Barbieri
This logic duplicates the one in p_config.h, so remove it and adjust the only two places that were using it.
2010-08-14gallivm: Refactor the Newton-Rapshon steps, and disable once again.José Fonseca
It causes a very ugly corruption on the Earth's halo on Google Earth.
2010-08-11gallivm: Fix and enable the extra Newton/Raphson step in lp_build_rcp().José Fonseca
Thanks to Michal for spotting this.
2010-08-11gallivm: Use lp_build_div instead of lp_build_mul + lp_build_rcp.José Fonseca
Single divide, so let lp_build_div decide how to implement this. This will save a multiplication in architectures which don't have a RCP intrinsic.
2010-08-11gallivm: Use unsigned shift in lp_build_minify.José Fonseca
Texture dimensions are unsigned.
2010-08-10gallivm: fix non-SSE4.1 case in lp_build_pack2()Brian Paul
Since there's no SSE instruction for this case, fall through to the generic shuffle code. Fixes bug fd.o 29468.
2010-08-10gallivm: Fix bitwise operations for floats, division for integersnobled
http://bugs.freedesktop.org/29407 Signed-off-by: José Fonseca <jfonseca@vmware.com>
2010-08-10gallivm: Even more type checkingnobled
http://bugs.freedesktop.org/29407 Signed-off-by: José Fonseca <jfonseca@vmware.com>
2010-08-09gallivm: More type checks.José Fonseca
2010-08-09gallivm: Don't call LLVMBuildFNeg on llvm-2.6.José Fonseca
It didn't exist yet.
2010-08-09gallivm: Always use floating-point operators for floating-point typesnobled
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-08gallivm: Fix more integer operations.José Fonseca
2010-08-08gallivm: Use the correct context for integersnobled
See: http://bugs.freedesktop.org/29407
2010-08-08gallivm: Add type checks for the basic operations.José Fonseca
2010-08-06gallium: remove stray semicolonsBrian Paul
2010-08-05gallivm: Only get debug option onceJakob Bornecrantz
2010-07-30llvmpipe: delete function bodies after generating machine codeZack Rusin
2010-07-29gallivm: added lp_build_assert() function to make assertions in LLVM codeBrian Paul
2010-07-29Revert "gallivm: fix lp_build_sample_offset() crash when indexing a 1-D texture"José Fonseca
This reverts commit 5f90e76c54bbf4456c977b3cbca450d7a570179e. Bad cherry-pick.
2010-07-29gallivm: fix lp_build_sample_offset() crash when indexing a 1-D textureBrian Paul
If y==NULL and y_stride==NULL it means the texture is 1D. Return zero for out_i and the offset instead of garbage.
2010-07-29llvmpipe: Avoid corrupting the FPU stack with MMX instructions on 32bit OSes.José Fonseca
Unfortunately LLVM doesn't emit EMMS itself, and there is no easy/effective way to disable MMX. http://llvm.org/bugs/show_bug.cgi?id=3287
2010-07-27gallivm: Add lp_build_select_bitwise() alternative to lp_build_select_bitwiseJosé Fonseca
When (mask & a) | (~mask & b) is meant instead of mask ? a : b
2010-07-21gallivm: replace has_indirect_addressing field with indirect_files fieldBrian 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-21gallivm: refactor code into get_indirect_offsets() functionBrian Paul
2010-07-21gallivm: added commentBrian Paul