summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary
AgeCommit message (Collapse)Author
2010-04-26draw/llvm: implement fetch elts pathsZack Rusin
we were only running the llvm paths when the input elts were linear, now we can handle abritrary fetch elts arrays. we do this by generating two paths - linear and fetch_elts one and just selecting the right one at run time.
2010-04-26gallivm: BGNFOR/ENDFOR fallthrough to BGNLOOP/ENDLOOPAlan Hourihane
2010-04-26draw: Always use the llvm middle end when available & enabled.José Fonseca
2010-04-26draw: Pass-through pipe_buffer::max_index to translate.José Fonseca
max_index must be observed to prevent crashes due to bad index data. I've been using this patch for some time without regressions. Some places, where we use internal vertex buffer, it is not entirely clear what max_index should be, so passing just ~0 to avoid regressions for now.
2010-04-26translate: Take and respect a max_index argument.José Fonseca
2010-04-26os: Check for spurious wakeups in pipe_barrier_wait.Vinson Lee
The POSIX function pthread_cond_wait can have spurious wakeups when waiting on a condition variable. Add a 64-bit counter that is incremented whenever the barrier becomes full. A woken thread checks the counter. If the counter has not changed then it has been spuriously woken and goes back to sleep. If the counter has changed then it was properly signaled and exits the barrier. Tested on Mac OS X. This patch was based on ideas from Luca Barbieri.
2010-04-26llvmpipe: Respect pipe_sampler_view::swizzle_r/g/b/aJosé Fonseca
This allows u_sampler_view_default_dx9_template to do its magic on DX9.
2010-04-25draw: Respect pipe_vertex_buffer::max_index in llvm generated code.José Fonseca
Everybody should respect max_index, specially llvm generated code, which likes to eat vertices 4 at a time, so it may end up chew a bit a bit more than actually exists.
2010-04-25gallivm: Rename variable info to opcode_info.Vinson Lee
Avoid hiding existing variable already named info in outer scope.
2010-04-24gallivm: 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-24llvmpipe: Implement shader bias.José Fonseca
Fixes glean glsl1 test: texture2D(), with bias.
2010-04-24util: Add missing static keyword.José Fonseca
2010-04-24util: Fix unsigned <-> ptr conversions.José Fonseca
2010-04-24gallivm: Centralize the cpu caps detection.José Fonseca
2010-04-24cso_cache: Ensure irrelevant state of the blend state is zeroed.José Fonseca
Otherwise drivers that bake the full blend state in a key end up having uninitialized memory in their key. Courtesy of valgrind.
2010-04-24gallivm: LLVMConstBitCast -> LLVMBuildBitCastJosé Fonseca
As the argument in general might not be a constant.
2010-04-23gallium: In option helpers, move assignment outside of if clause.Vinson Lee
This silences Coverity assign_where_compare_meant warnings.
2010-04-23gallium/util: document that pack/unpack strides are in bytesBrian Paul
2010-04-23gallium/draw: remove old commentBrian Paul
2010-04-23gallium: Convert some uses of get option to staticJakob Bornecrantz
2010-04-23gallium: Add static get option helpersJakob Bornecrantz
2010-04-23gallium: Add option to not print optionsJakob Bornecrantz
2010-04-23gallium: s/free/FREE/ and same for friends.José Fonseca
Based on Stephen Johnson's feedback.
2010-04-23draw: use FREE() instead of free()Stephen Johnson
2010-04-22gallivm: implement indirect addressing over temporariesZack 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-22gallivm: implement indirect addressing over constantsZack 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-22gallivm: remove Z/stencil special case code in lp_build_sample_offset()Brian Paul
Fixes progs/tests/zreaddraw.c and progs/demos/shadowtex.c
2010-04-22gallivm: update commentsZack Rusin
2010-04-22gallivm: fix nested cont statementsZack Rusin
2010-04-22gallivm: fix nested break statemantsZack Rusin
2010-04-22gallivm: make sure we return the correct type when approximating log'sZack Rusin
2010-04-22u_format: Reduce code duplication.José Fonseca
2010-04-22gallivm: Remove unused variable.Vinson Lee
2010-04-21gallium/util: Fix deviation calculation in u_cache.Vinson Lee
The approximate deviation calculation was using the entire cache's total instead of each cache entry's total.
2010-04-21gallivm: added some assertions in loop-gen codeBrian Paul
We're hitting these assertions with nested loops...
2010-04-21gallivm: fix copy&paste error: s/cont_stack_size/break_stack_size/Brian Paul
2010-04-21gallivm: emit_instruction() is booleanBrian Paul
2010-04-21gallivm: implement TGSI KILPBrian 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-04-21draw: Make LLVM integration work without llvmpipe too (e.g. sofptipe).José Fonseca
Prevents the assertion failure.
2010-04-21gallium/draw: fix point sprite handlingBrian Paul
New draw API function to indicate whether or not to convert points to quads for sprite rasterization. Fix point-to-quad conversion regression in the wide-point stage. We need to check the pipe_rasterizer_state::point_quad_rasterization flag.
2010-04-21gallium/draw: use local var to simplify codeBrian Paul
2010-04-21targets: Don't check if we should use traceJakob Bornecrantz
Trace does its own checking, and it used the GALLIUM_TRACE variable as well, but expected a file and not a bool argument.
2010-04-20gallivm: Remove unnecessary headers.Vinson Lee
2010-04-20gallium/util: remove bogus return statementBrian Paul
util_surfaces_do_detach() is a void-valued function.
2010-04-20gallium: replace pipe_resource::_usage with pipe_resource::usageBrian Paul
2010-04-20gallivm: Universal format support on lp_build_fetch_rgba_aos via ↵José Fonseca
util_format_description::fetch_rgba_float This therefore adds support to half float vertex buffers.
2010-04-20gallivm: Cleanups and bugfixes to aos format translation.José Fonseca
2010-04-20draw: Fallback to gallivm for translation of ↵José Fonseca
A8R8G8B8/B8G8R8A8/R10G10B10X2/R10G10B10X2 and other formats. These need swizzles, and bitshifts.
2010-04-20gallivm: New function to fetch a pixel into a 4xfloat AoS vector.José Fonseca
2010-04-20gallivm: Bring aos format back to life.José Fonseca
Useful for fetching vertices for formats that are straight arrays. This reverts commit aa364d091e7e2ef2296fb25f92efc79a8c88f77d.