Age | Commit message (Collapse) | Author | |
---|---|---|---|
2010-10-15 | gallivm: added lp_build_load_volatile() | Brian Paul | |
There's no LLVM C LLVMBuildLoadVolatile() function so roll our own. Not used anywhere at this time but can come in handy during debugging. | |||
2010-10-15 | gallivm: added lp_build_print_vec4() | Brian Paul | |
2010-10-15 | target-helpers: Remove per target software wrapper check | Jakob Bornecrantz | |
Instead of having a NAME_SOFTWARE check just use the GALLIUM_DRIVER instead but set the default to native which is the same as not wrapped. | |||
2010-10-15 | wrapper: Add a way to dewrap a pipe screen without destroying it | Jakob Bornecrantz | |
2010-10-15 | wrapper: Fix spelling | Jakob Bornecrantz | |
2010-10-15 | gallium: move some intrinsics helpers to u_sse.h | Keith Whitwell | |
2010-10-15 | tgsi: add scanner support for centroid inputs | Dave Airlie | |
2010-10-14 | gallivm: add compile-time option to emit inst addrs and/or line numbers | Brian Paul | |
Disabling address printing is helpful for diffing. | |||
2010-10-14 | draw: sanitize llvm variant key | Hui Qi Tay | |
Fixes recompilation, but seems to be broken with llvm 2.8. | |||
2010-10-13 | gallivm: More accurate float -> 24bit & 32bit unorm conversion. | José Fonseca | |
2010-10-13 | gallivm: work-around trilinear mipmap filtering regression with LLVM 2.8 | Brian Paul | |
The bug only happens on the AOS / fixed-pt path. | |||
2010-10-13 | gallivm: Remove unnecessary header. | Vinson Lee | |
2010-10-13 | gallivm: only use lp_build_conv 4x4f -> 1x16 ub fastpath with sse2 | Roland Scheidegger | |
This is relying on lp_build_pack2 using the sse2 pack intrinsics which handle clamping. (Alternatively could have make it use lp_build_packs2 but it might not even produce more efficient code than not using the fastpath in the first place.) | |||
2010-10-12 | draw/llvmpipe: replace DRAW_MAX_TEXTURE_LEVELS with PIPE_MAX_TEXTURE_LEVELS | Brian Paul | |
There's no apparent reason for the former to exist. And they didn't even have the same value. | |||
2010-10-12 | gallivm: remove newlines | Brian Paul | |
2010-10-13 | gallivm: fix different handling of [non]normalized coords in linear soa path | Roland Scheidegger | |
There seems to be no reason for it, so do same math for both (except the scale mul, of course). | |||
2010-10-13 | gallium/util: add S8 tile sampling support. | Dave Airlie | |
2010-10-13 | gallium/format: add X32_S8X24_USCALED format. | Dave Airlie | |
Has similiar use cases to the S8X24 and X24S8 formats. | |||
2010-10-13 | gallium/format: add support for X24S8 and S8X24 formats. | Dave Airlie | |
these formats are needed for hw that can sample and write stencil values. Signed-off-by: Dave Airlie <airlied@redhat.com> | |||
2010-10-13 | gallium/tgsi: add support for stencil writes. | Dave Airlie | |
this adds the capability + a stencil semantic id, + tgsi scan support. Signed-off-by: Dave Airlie <airlied@redhat.com> | |||
2010-10-12 | gallivm: Name anonymous union. | José Fonseca | |
2010-10-12 | gallivm: don't branch on KILLs near end of shader | Keith Whitwell | |
2010-10-12 | gallium: move sse intrinsics debug helpers to u_sse.h | Keith Whitwell | |
2010-10-11 | gallivm: More detailed analysis of tgsi shaders. | José Fonseca | |
To allow more optimizations, in particular for direct textures. | |||
2010-10-11 | tgsi: Export some names for some tgsi enums. | José Fonseca | |
Useful to give human legible names in other cases. | |||
2010-10-11 | gallivm: Eliminate unsigned integer arithmetic from texture coordinates. | José Fonseca | |
SSE support for 32bit and 16bit unsigned arithmetic is not complete, and can easily result in inefficient code. In most cases signed/unsigned doesn't make a difference, such as for integer texture coordinates. So remove uint_coord_type and uint_coord_bld to avoid inefficient operations to sneak in the future. | |||
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-10 | gallivm: Use variables instead of Phis in loops. | José Fonseca | |
With this commit all explicit Phi emission is now gone. | |||
2010-10-10 | gallivm: Allow to disable bri-linear filtering with ↵ | José Fonseca | |
GALLIVM_DEBUG=no_brilinear runtime option | |||
2010-10-10 | gallivm: Fix a long standing bug with nested if-then-else emission. | José Fonseca | |
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. | |||
2010-10-10 | draw: some changes to allow for runtime changes to userclip planes | delphi | |
2010-10-09 | gallivm: Cleanup the rest of the flow module. | José Fonseca | |
2010-10-09 | gallivm: Simplify if/then/else implementation. | José Fonseca | |
No need for for a flow stack anymore. | |||
2010-10-09 | gallivm: Factor out the SI->FP texture size conversion for SoA path too | José Fonseca | |
2010-10-09 | gallivm: Remove support for Phi generation. | José Fonseca | |
Simply rely on mem2reg pass. It's easier and more reliable. | |||
2010-10-09 | gallivm: Use varilables instead of Phis for cubemap selection. | José Fonseca | |
2010-10-09 | gallivm: Don't generate Phis for execution mask. | José Fonseca | |
2010-10-09 | gallivm: Special bri-linear computation path for unmodified rho. | José Fonseca | |
2010-10-09 | gallivm: Less code duplication in log computation. | José Fonseca | |
2010-10-09 | util: Defined M_SQRT2 when not available. | José Fonseca | |
2010-10-09 | gallivm: Handle code have ret correctly. | José Fonseca | |
Stop disassembling on unconditional backwards jumps. | |||
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-10-09 | gallivm: simpler uint8->float conversions | Keith Whitwell | |
LLVM seems to finds it easier to reason about these than our mantissa-manipulation code. | |||
2010-10-09 | gallivm: prefer blendvb for integer arguments | Keith Whitwell | |
2010-10-09 | llvmpipe: store zero into all alloca'd values | Keith Whitwell | |
Fixes slowdown in isosurf with earlier versions of llvm. | |||
2010-10-09 | gallivm: Do size computations simultanously for all dimensions (AoS). | José Fonseca | |
Operate simultanouesly on <width, height, depth> vector as much as possible, instead of doing the operations on vectors with broadcasted scalars. Also do the 24.8 fixed point scalar with integer shift of the texture size, for unnormalized coordinates. AoS path only for now -- the same thing can be done for SoA. | |||
2010-10-09 | gallivm: make use of new iround code in lp_bld_conv. | Roland Scheidegger | |
Only requires sse2 now. | |||
2010-10-09 | gallivm: optimize soa linear clamp to edge wrap mode a bit | Roland Scheidegger | |
Clamp against 0 instead of -0.5, which simplifies things. The former version would have resulted in both int coords being zero (in case of coord being smaller than 0) and some "unused" weight value, whereas now the int coords will be 0 and 1, but weight will be 0, hence the lerp should produce the same value. Still not happy about differences between normalized and non-normalized... | |||
2010-10-09 | gallivm: avoid unnecessary URem in linear wrap repeat case | Roland Scheidegger | |
Haven't looked at what code this exactly generates but URem can't be fast. Instead of using two URem only use one and replace the second one with select/add (this is what the corresponding aos code already does). | |||
2010-10-09 | gallivm: more linear tex wrap mode calculation simplification | Roland Scheidegger | |
Rearrange order of operations a bit to make some clamps easier. All calculations should be equivalent. Note there seems to be some inconsistency in the clamp to edge case wrt normalized/non-normalized coords, could potentially simplify this too. |