summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary
AgeCommit message (Collapse)Author
2010-04-30llvmpipe: fix out-of-bounds texture samplingBrian Paul
If we're using a wrap mode in which border color sampling is possible it means that texcoords may be outside of the texture image bounds. Fetching the texel may result in a segfault. Use the 'use_border' variable to catch such texcoords and replace the texel offset with zero (which will be in bounds). Fixes segfault in Lightsmark demo, fd.o bug 27877.
2010-04-30llvmpipe: added lp_build_sample_nop() for debuggingBrian Paul
2010-04-30draw: Fix memory leaks in llvm code.José Fonseca
2010-04-30util: Add missing break statement in u_caps.cJakob Bornecrantz
Thanks Vinson.
2010-04-29util: Update caps after helpfull inputJakob Bornecrantz
In no particular order: * Make list const * Add function comments * Clearly state that demo lists are not complete * Fix whitespace * Use __FUNCTION__ instead of __func__ * Add unimplemented check which always fail Thanks Brian and Keith.
2010-04-29util: Add small caps checker helperJakob Bornecrantz
2010-04-29util: Format error format string as the rest of the pipe formatsJakob Bornecrantz
2010-04-29draw llvm: stay in bounds even if fetch_count % 4 != 0Zack Rusin
if fetch_count % 4 != 0 then on the last iteration we fetch garbage. this patch makes sure we stay within bounds
2010-04-29cso: remove commented-out code, update function docsBrian Paul
2010-04-29gallivm: add some assertions in special-case sampler codeBrian Paul
2010-04-29gallium/draw: Fix PPC compiler warning.Michel Dänzer
2010-04-29gallium/draw: Fix PPC build failure.Michel Dänzer
2010-04-28draw: remove extra semicolonsBrian Paul
2010-04-28draw: use a cast wrapperBrian Paul
2010-04-28draw: put 'create' in the vs varient create function namesBrian Paul
2010-04-28draw: add missing function parameterBrian Paul
2010-04-28gallium/util: convert //-style commentsBrian Paul
2010-04-28gallium/util: convert //-style commentsBrian Paul
2010-04-27tgsi: Drop BGNFOR, ENDFOR, REP, and ENDREP opcodes.José Fonseca
2010-04-27gallivm: Drop BGNFOR, ENDFOR, REP, and ENDREP opcodes.José Fonseca
2010-04-27util: fix assorted problems in the image packing functionsBrian Paul
2010-04-27gallivm: Disable llvm.cos.v4f32 and llvm.sin.v4f32 instrinsics on Windows.José Fonseca
Runtime linking doesn't quite work. Just comment then out for now to prevent crashes. These will go away in the future because calling 4 times CRT's cosf()/sinf() is over-precise and under-performing.
2010-04-27gallivm: Ensure all allocas are in the first block.José Fonseca
Refactor the code to make this easier.
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