summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/llvmpipe
Commit message (Collapse)AuthorAgeFilesLines
* llvmpipe: add DEBUG_FS to dump variant informationKeith Whitwell2010-09-163-1/+3
|
* llvmpipe: add LP_PERF flag to disable various aspects of rasterizationKeith Whitwell2010-09-168-6/+90
| | | | | | | | 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.
* llvmpipe: s/boolean/unsigned/ in bitfield to silence warningBrian Paul2010-09-151-2/+2
| | | | | Using non-int types for bitfields is a gcc extension. The size of the struct is not effected by this change.
* llvmpipe: cast to silence warningBrian Paul2010-09-151-1/+1
|
* llvmpipe: return zero from floor_pot(zero)Keith Whitwell2010-09-151-1/+3
|
* llvmpipe: remove duplicate codeKeith Whitwell2010-09-151-5/+0
| | | | Bad rebase presumably.
* llvmpipe: brackets around macro argKeith Whitwell2010-09-151-1/+1
|
* llvmpipe: Remove unnecessary header.Vinson Lee2010-09-141-1/+0
|
* llvmpipe: Initialize variable for potentially unhandled switch case.Vinson Lee2010-09-141-0/+3
|
* gallium: introduce get_shader_param (ALL DRIVERS CHANGED) (v3)Luca Barbieri2010-09-141-34/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* llvmpipe: Fix non SSE2 builds.José Fonseca2010-09-131-2/+2
| | | | Should fix fdo 30168.
* llvmpipe: Change asm to __asm__.Witold Baryluk2010-09-131-3/+3
| | | | | | | According to gcc documentation both are equivalent, second are prefered as first can make conflict with existing symbols. Signed-off-by: José Fonseca <[email protected]>
* llvmpipe: Unbreak rasterization on 64bit.José Fonseca2010-09-131-24/+22
|
* llvmpipe: use gcc asm only with gccJosé Fonseca2010-09-131-1/+1
|
* llvmpipe: introduce tri_3_4 for tiny trianglesKeith Whitwell2010-09-126-46/+127
|
* llvmpipe: allow tri_3_16 at any 4-aligned location within a tileKeith Whitwell2010-09-121-27/+50
| | | | Doesn't require 16-alignment, so catch more cases.
* llvmpipe: refactor tri_3_16Keith Whitwell2010-09-121-17/+47
| | | | | Keep step array as a set of four m128i's and reuse throughout the rasterization.
* llvmpipe: pass linear masks to fragment shaderKeith Whitwell2010-09-123-73/+23
| | | | Fragment shader can extract the correct bits for each quad.
* llvmpipe: fix warnings on both 32 and 64 bit buildsKeith Whitwell2010-09-121-3/+3
|
* llvmpipe: fix wierd performance regression in isosurfKeith Whitwell2010-09-121-6/+8
| | | | | | | | | | | | 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.
* llvmpipe: Only generate the whole shader specialization for opaque shaders.José Fonseca2010-09-121-1/+7
| | | | | If not opaque, then the color buffer will have to be read any way, therefore the specialization is pointless.
* llvmpipe: Silence some warnings.José Fonseca2010-09-111-2/+2
|
* llvmpipe: Don't store display the alpha ref value in the key.José Fonseca2010-09-114-12/+13
| | | | It's never used.
* gallivm: s/lp_build_broadcast_aos/lp_build_swizzle_scalar_aos/José Fonseca2010-09-111-1/+1
| | | | More accurate description of this function purpose.
* llvmpipe: restore larger command blocksKeith Whitwell2010-09-111-1/+1
|
* llvmpipe: move some debug to DEBUG_SCENEKeith Whitwell2010-09-111-2/+2
|
* llvmpipe: add DEBUG_MEM optionKeith Whitwell2010-09-113-0/+14
|
* llvmpipe: allow bigger scenesKeith Whitwell2010-09-111-1/+1
|
* llvmpipe: remove redundant tgsi_dup_tokens() callBrian Paul2010-09-091-3/+0
| | | | We were calling this twice so the first allocation was orphaned/leaked.
* llvmpipe: Add lp_rast_debug.c to Makefile.Chia-I Wu2010-09-071-0/+1
|
* llvmpipe: Refactor lp_scene_add_resource_referenceJosé Fonseca2010-09-071-14/+15
| | | | Less goto spaghetti.
* llvmpipe: Fix negated logic in lp_scene_add_resource_reference().José Fonseca2010-09-071-1/+1
| | | | Fixes performance regression.
* llvmpipe: move more coef setup into lp_setup_coef.cKeith Whitwell2010-09-074-40/+61
|
* llvmpipe: declare fence handle structKeith Whitwell2010-09-071-0/+1
|
* llvmpipe: rasterization debugging helpersKeith Whitwell2010-09-077-0/+428
|
* llvmpipe: use opcodes instead of function pointers in binsKeith Whitwell2010-09-0715-441/+513
| | | | Also, move some state from rasterizer struct to the scene.
* llvmpipe: rearrange queriesKeith Whitwell2010-09-074-116/+53
|
* llvmpipe: enforce fixed memory limit on scenesKeith Whitwell2010-09-0711-341/+459
|
* llvmpipe: clean up deferred zstencil clearsKeith Whitwell2010-09-076-79/+41
|
* llvmpipe: rework fences and queriesKeith Whitwell2010-09-077-92/+124
|
* llvmpipe: move whole-tile emit into a functionKeith Whitwell2010-09-072-8/+42
|
* llvmpipe: put fs variant dumping in a functionKeith Whitwell2010-09-072-4/+15
|
* llvmpipe: Remove some broken MinGW hacks in the sin/cos reference code.José Fonseca2010-09-051-49/+0
|
* llvmpipe: Fix perspective divide interpolation.José Fonseca2010-09-052-9/+76
| | | | | | | | | | 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.
* llvmpipe: Relax the colormask constraint on opaque.José Fonseca2010-09-052-13/+29
| | | | | | 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.
* gallivm: Pass condition masks as an unsigned bitmask.José Fonseca2010-09-051-3/+2
| | | | Much more convenient than boolean arrays.
* llvmpipe: slightly simplify build_maskKeith Whitwell2010-08-311-6/+2
|
* llvmpipe: combine linear mask calculationKeith Whitwell2010-08-312-15/+84
|
* llvmpipe: intrinsics versions of build_mask functionsKeith Whitwell2010-08-311-1/+77
|
* llvmpipe: Include missing header in lp_flush.c.Vinson Lee2010-08-281-0/+1
| | | | Include p_screen.h for complete type to pipe_screen.