summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/llvmpipe
AgeCommit message (Collapse)Author
2010-09-17llvmpipe: Default to no threading on single processor systems.José Fonseca
2010-09-16gallivm: Start collecting bitwise arithmetic helpers in a new module.José Fonseca
2010-09-16llvmpipe: add DEBUG_FS to dump variant informationKeith Whitwell
2010-09-16llvmpipe: add LP_PERF flag to disable various aspects of rasterizationKeith Whitwell
Allows disabling various operations (mainly texture-related, but will grow) to try & identify bottlenecks. Unlike LP_DEBUG, this is active even in release builds - which is necessary for performance investigation.
2010-09-15llvmpipe: s/boolean/unsigned/ in bitfield to silence warningBrian Paul
Using non-int types for bitfields is a gcc extension. The size of the struct is not effected by this change.
2010-09-15llvmpipe: cast to silence warningBrian Paul
2010-09-15llvmpipe: return zero from floor_pot(zero)Keith Whitwell
2010-09-15llvmpipe: remove duplicate codeKeith Whitwell
Bad rebase presumably.
2010-09-15llvmpipe: brackets around macro argKeith Whitwell
2010-09-14llvmpipe: Remove unnecessary header.Vinson Lee
2010-09-14llvmpipe: Initialize variable for potentially unhandled switch case.Vinson Lee
2010-09-14gallium: introduce get_shader_param (ALL DRIVERS CHANGED) (v3)Luca Barbieri
Changes in v3: - Also change trace, which I forgot about Changes in v2: - No longer adds tessellation shaders Currently each shader cap has FS and VS versions. However, we want a version of them for geometry, tessellation control, and tessellation evaluation shaders, and want to be able to easily query a given cap type for a given shader stage. Since having 5 duplicates of each shader cap is unmanageable, add a new get_shader_param function that takes both a shader cap from a new enum and a shader stage. Drivers with non-unified shaders will first switch on the shader and, within each case, switch on the cap. Drivers with unified shaders instead first check whether the shader is supported, and then switch on the cap. MAX_CONST_BUFFERS is now per-stage. The geometry shader cap is removed in favor of checking whether the limit of geometry shader instructions is greater than 0, which is also used for tessellation shaders. WARNING: all drivers changed and compiled but only nvfx tested
2010-09-13llvmpipe: Fix non SSE2 builds.José Fonseca
Should fix fdo 30168.
2010-09-13llvmpipe: Change asm to __asm__.Witold Baryluk
According to gcc documentation both are equivalent, second are prefered as first can make conflict with existing symbols. Signed-off-by: José Fonseca <jfonseca@vmware.com>
2010-09-13llvmpipe: Unbreak rasterization on 64bit.José Fonseca
2010-09-13llvmpipe: use gcc asm only with gccJosé Fonseca
2010-09-12llvmpipe: introduce tri_3_4 for tiny trianglesKeith Whitwell
2010-09-12llvmpipe: allow tri_3_16 at any 4-aligned location within a tileKeith Whitwell
Doesn't require 16-alignment, so catch more cases.
2010-09-12llvmpipe: refactor tri_3_16Keith Whitwell
Keep step array as a set of four m128i's and reuse throughout the rasterization.
2010-09-12llvmpipe: pass linear masks to fragment shaderKeith Whitwell
Fragment shader can extract the correct bits for each quad.
2010-09-12llvmpipe: fix warnings on both 32 and 64 bit buildsKeith Whitwell
2010-09-12llvmpipe: fix wierd performance regression in isosurfKeith Whitwell
I really don't understand the mechanism behind this, but it seems like the way data blocks for a scene are malloced, and in particular whether we treat them as stack or a queue, and whether we retain the most recently allocated or least recently allocated has a real affect (~5%) on isosurf framerates... This is probably specific to my distro or even just my machine, but none the less, it's nicer not to see the framerates go in the wrong direction.
2010-09-12llvmpipe: Only generate the whole shader specialization for opaque shaders.José Fonseca
If not opaque, then the color buffer will have to be read any way, therefore the specialization is pointless.
2010-09-11llvmpipe: Silence some warnings.José Fonseca
2010-09-11llvmpipe: Don't store display the alpha ref value in the key.José Fonseca
It's never used.
2010-09-11gallivm: s/lp_build_broadcast_aos/lp_build_swizzle_scalar_aos/José Fonseca
More accurate description of this function purpose.
2010-09-11llvmpipe: restore larger command blocksKeith Whitwell
2010-09-11llvmpipe: move some debug to DEBUG_SCENEKeith Whitwell
2010-09-11llvmpipe: add DEBUG_MEM optionKeith Whitwell
2010-09-11llvmpipe: allow bigger scenesKeith Whitwell
2010-09-09llvmpipe: remove redundant tgsi_dup_tokens() callBrian Paul
We were calling this twice so the first allocation was orphaned/leaked.
2010-09-07llvmpipe: Add lp_rast_debug.c to Makefile.Chia-I Wu
2010-09-07llvmpipe: Refactor lp_scene_add_resource_referenceJosé Fonseca
Less goto spaghetti.
2010-09-07llvmpipe: Fix negated logic in lp_scene_add_resource_reference().José Fonseca
Fixes performance regression.
2010-09-07llvmpipe: move more coef setup into lp_setup_coef.cKeith Whitwell
2010-09-07llvmpipe: declare fence handle structKeith Whitwell
2010-09-07llvmpipe: rasterization debugging helpersKeith Whitwell
2010-09-07llvmpipe: use opcodes instead of function pointers in binsKeith Whitwell
Also, move some state from rasterizer struct to the scene.
2010-09-07llvmpipe: rearrange queriesKeith Whitwell
2010-09-07llvmpipe: enforce fixed memory limit on scenesKeith Whitwell
2010-09-07llvmpipe: clean up deferred zstencil clearsKeith Whitwell
2010-09-07llvmpipe: rework fences and queriesKeith Whitwell
2010-09-07llvmpipe: move whole-tile emit into a functionKeith Whitwell
2010-09-07llvmpipe: put fs variant dumping in a functionKeith Whitwell
2010-09-05llvmpipe: Remove some broken MinGW hacks in the sin/cos reference code.José Fonseca
2010-09-05llvmpipe: Fix perspective divide interpolation.José Fonseca
Intuition != mathematics, so this time I actually worked out the right formula for first order approximation of perspective interpolation. Ironically, per quad divide actually makes things slower when compared with per pixel divide -- probably because the divide hardware unit is rarely used, whereas the multiply unit is typically already saturated and the first order approximation imply more multiplications.
2010-09-05llvmpipe: Relax the colormask constraint on opaque.José Fonseca
Also, include the color buffer in the key. Not having it there causes a tight knots in the logic to determine when it is OK or not to discard previous color buffer contents.
2010-09-05gallivm: Pass condition masks as an unsigned bitmask.José Fonseca
Much more convenient than boolean arrays.
2010-08-31llvmpipe: slightly simplify build_maskKeith Whitwell
2010-08-31llvmpipe: combine linear mask calculationKeith Whitwell