summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary
AgeCommit message (Collapse)Author
2010-05-04Merge commit 'origin/master' into gallium-msaaRoland Scheidegger
2010-05-04gallivm: Proper implementation of TXL opcode.José Fonseca
2010-05-04gallivm: Fix several glitches introduced in the prev commit.José Fonseca
2010-05-04gallivm: Implement TXD.José Fonseca
2010-05-03gallium: move surface utility functions into u_surface.cBrian Paul
This is a better place than in u_rect.c
2010-05-04gallivm: Increase the TGSI translation limits and centralize them in a header.José Fonseca
2010-05-04gallicm: Newton-Raphson step to improve precision.José Fonseca
Disabled as it doesn't make VS/PSPrecision DCT happy, and it would unnecessarily slow some cases where it is not needed.
2010-05-03cso: use framebuffer utility functionsBrian Paul
2010-05-03gallium: move framebuffer utility functions into a new fileBrian Paul
2010-05-03util: add util_format_short_nameMarek Olšák
2010-05-03util: add util_format_is_plainMarek Olšák
2010-05-03Reorder LLVM passes, running mem2reg earlier.Török Edwin
This gives a ~30% shader optimization time improvement on blender. Tested by comparing the dumped LLVM modules. Current ordering: time ~/llvm-git/obj/Release-Asserts/bin/opt l.bc -constprop -instcombine -mem2reg -gvn -simplifycfg real 0m1.126s user 0m1.108s sys 0m0.012s With this patch: time ~/llvm-git/obj/Release-Asserts/bin/opt l.bc -mem2reg -constprop -instcombine -gvn -simplifycfg real 0m0.885s user 0m0.880s sys 0m0.000s The overall improvement in blender is ~15%. Blender without the patch takes 1m13s: edwin 5934 87.6 11.5 729440 458296 pts/5 SLl+ 17:35 1:13 blender Blender with the patch takes 1m3s: edwin 5726 94.2 11.2 716424 446168 pts/5 SLl+ 17:32 1:03 blender It is still slow with the patch, but better (most of the optimization time is taken up by GVN, see LLVM PR7023). Signed-off-by: Török Edwin <edwintorok@gmail.com> Signed-off-by: José Fonseca <jfonseca@vmware.com>
2010-05-03gallivm: Display message instead of crashing when sampler generator was not ↵José Fonseca
supplied for tgsi translation.
2010-05-03translate: Make translate_generic truly generic.José Fonseca
PIPE_FORMAT_R10G10B10X2_USCALED, half floats, were not supported, so just rely on u_format for (almost) universal format support.
2010-05-03draw: Remove draw_pt_fetch_prepare call from llvm middle end.José Fonseca
Unneeded since we code generate the vertex fecthes.
2010-05-03tgsi: Parse and dump predicates.José Fonseca
2010-05-03gallium: Remove loop register file.José Fonseca
It was only used for D3D's REP/END/BGNFOR/ENDFOR. D3D's aL register is just like another address register now.
2010-05-03gallivm: Replace predicate assertion failure with warning message.José Fonseca
2010-05-03draw: Disable rtasm compilation when using LLVM.José Fonseca
Saves time and trouble.
2010-05-02gallivm: fix nested break and continue statementsZack Rusin
we were resetting the mask on each new break/continue statement within the same scope. we always need to and the current execution mask with the current break/continue mask to get the correct result (the masks are always ~1 initially)
2010-05-03gallium/util: print \n after DXTn printfLuca Barbieri
Re-add commit 2d65a7caf97684aa654088c76a74b632fbd685fa Signed-off-by: Xavier Chantry <chantry.xavier@gmail.com> Signed-off-by: José Fonseca <jfonseca@vmware.com>
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-30Merge commit 'origin/master' into gallium-msaaRoland Scheidegger
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-27gallium: fix glaring bugs in last commitRoland Scheidegger
2010-04-26gallium: interface changes for multisamplingRoland Scheidegger
add function to set sample mask, and state for alpha-to-coverage and alpha-to-one. Also make it possible to query for supported sample count with is_msaa_supported(). Use explicit resource_resolve() to resolve a resource. Note that it is illegal to bind a unresolved resource as a sampler view, must be resolved first (as per d3d10 and OGL APIs, binding unresolved resource would mean that special texture fetch functions need to be used which give explicit control over what samples to fetch, which isn't supported yet). Also change surface_fill() and surface_copy() to operate directly on resources. Blits should operate directly on resources, most often state trackers just used get_tex_surface() then did a blit. Note this also means the blit bind flags are gone, if a driver implements this functionality it is expected to handle it for all resources having depth_stencil/render_target/sampler_view bind flags (might even require it for all bind flags?). Might want to introduce quality levels for MSAA later. Might need to revisit this for hw which does instant resolve.
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.