Age | Commit message (Collapse) | Author | |
---|---|---|---|
2010-04-26 | draw/llvm: implement fetch elts paths | Zack 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-26 | gallivm: BGNFOR/ENDFOR fallthrough to BGNLOOP/ENDLOOP | Alan Hourihane | |
2010-04-26 | draw: Always use the llvm middle end when available & enabled. | José Fonseca | |
2010-04-26 | draw: 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-26 | translate: Take and respect a max_index argument. | José Fonseca | |
2010-04-26 | os: 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-26 | llvmpipe: Respect pipe_sampler_view::swizzle_r/g/b/a | José Fonseca | |
This allows u_sampler_view_default_dx9_template to do its magic on DX9. | |||
2010-04-25 | draw: 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-25 | gallivm: Rename variable info to opcode_info. | Vinson Lee | |
Avoid hiding existing variable already named info in outer scope. | |||
2010-04-24 | gallivm: 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-24 | llvmpipe: Implement shader bias. | José Fonseca | |
Fixes glean glsl1 test: texture2D(), with bias. | |||
2010-04-24 | util: Add missing static keyword. | José Fonseca | |
2010-04-24 | util: Fix unsigned <-> ptr conversions. | José Fonseca | |
2010-04-24 | gallivm: Centralize the cpu caps detection. | José Fonseca | |
2010-04-24 | cso_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-24 | gallivm: LLVMConstBitCast -> LLVMBuildBitCast | José Fonseca | |
As the argument in general might not be a constant. | |||
2010-04-23 | gallium: In option helpers, move assignment outside of if clause. | Vinson Lee | |
This silences Coverity assign_where_compare_meant warnings. | |||
2010-04-23 | gallium/util: document that pack/unpack strides are in bytes | Brian Paul | |
2010-04-23 | gallium/draw: remove old comment | Brian Paul | |
2010-04-23 | gallium: Convert some uses of get option to static | Jakob Bornecrantz | |
2010-04-23 | gallium: Add static get option helpers | Jakob Bornecrantz | |
2010-04-23 | gallium: Add option to not print options | Jakob Bornecrantz | |
2010-04-23 | gallium: s/free/FREE/ and same for friends. | José Fonseca | |
Based on Stephen Johnson's feedback. | |||
2010-04-23 | draw: use FREE() instead of free() | Stephen Johnson | |
2010-04-22 | gallivm: implement indirect addressing over temporaries | Zack 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-22 | gallivm: implement indirect addressing over constants | Zack 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-22 | gallivm: 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-22 | gallivm: update comments | Zack Rusin | |
2010-04-22 | gallivm: fix nested cont statements | Zack Rusin | |
2010-04-22 | gallivm: fix nested break statemants | Zack Rusin | |
2010-04-22 | gallivm: make sure we return the correct type when approximating log's | Zack Rusin | |
2010-04-22 | u_format: Reduce code duplication. | José Fonseca | |
2010-04-22 | gallivm: Remove unused variable. | Vinson Lee | |
2010-04-21 | gallium/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-21 | gallivm: added some assertions in loop-gen code | Brian Paul | |
We're hitting these assertions with nested loops... | |||
2010-04-21 | gallivm: fix copy&paste error: s/cont_stack_size/break_stack_size/ | Brian Paul | |
2010-04-21 | gallivm: emit_instruction() is boolean | Brian Paul | |
2010-04-21 | gallivm: implement TGSI KILP | Brian 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-21 | draw: Make LLVM integration work without llvmpipe too (e.g. sofptipe). | José Fonseca | |
Prevents the assertion failure. | |||
2010-04-21 | gallium/draw: fix point sprite handling | Brian 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-21 | gallium/draw: use local var to simplify code | Brian Paul | |
2010-04-21 | targets: Don't check if we should use trace | Jakob 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-20 | gallivm: Remove unnecessary headers. | Vinson Lee | |
2010-04-20 | gallium/util: remove bogus return statement | Brian Paul | |
util_surfaces_do_detach() is a void-valued function. | |||
2010-04-20 | gallium: replace pipe_resource::_usage with pipe_resource::usage | Brian Paul | |
2010-04-20 | gallivm: 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-20 | gallivm: Cleanups and bugfixes to aos format translation. | José Fonseca | |
2010-04-20 | draw: Fallback to gallivm for translation of ↵ | José Fonseca | |
A8R8G8B8/B8G8R8A8/R10G10B10X2/R10G10B10X2 and other formats. These need swizzles, and bitshifts. | |||
2010-04-20 | gallivm: New function to fetch a pixel into a 4xfloat AoS vector. | José Fonseca | |
2010-04-20 | gallivm: Bring aos format back to life. | José Fonseca | |
Useful for fetching vertices for formats that are straight arrays. This reverts commit aa364d091e7e2ef2296fb25f92efc79a8c88f77d. |