summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/llvmpipe
Commit message (Collapse)AuthorAgeFilesLines
* gallium/llvmpipe: remove duplicated includeNicolas Kaiser2010-09-301-1/+0
| | | | | | Remove duplicated include. Signed-off-by: Brian Paul <[email protected]>
* llvmpipe: Decouple sampler view and sampler state updates.José Fonseca2010-09-293-13/+45
| | | | | | | | Fixes glean pbo crash. It would be possible to avoid crashing without decoupling, but given that state trackers give no guarantee that number of views is consistent, that would likely cause too many state updates (or miss some).
* llvmpipe: handle up to 8 planes in triangle binnerKeith Whitwell2010-09-251-7/+8
|
* llvmpipe: handle FACING interpolants in line and point setupKeith Whitwell2010-09-252-3/+19
|
* llvmpipe: make texture border_color dynamic stateBrian Paul2010-09-244-2/+10
|
* llvmpipe: make min/max lod and lod bias dynamic stateBrian Paul2010-09-246-4/+42
| | | | | | Before, changing any of these sampler values triggered generation of new JIT code. Added a new flag for the special case of min_lod == max_lod which is hit during auto mipmap generation.
* llvmpipe: fix sprite texcoord setup for non-projective texturingBrian Paul2010-09-221-27/+58
| | | | | | | | Normally the Mesa state tracker uses TXP instructions for texturing. But if a fragment shader uses texture2D() that's a TEX instruction. In that case we were incorrectly computing the texcoord coefficients in the point sprite setup code. Some new comments in the code explain things.
* llvmpipe: Make rgb/alpha bland func/factors match, when there is no alpha.José Fonseca2010-09-221-14/+8
| | | | Makes AoS blending easier, and state more canonical.
* llvmpipe: Special case complementary and identify blend factors in SoA.José Fonseca2010-09-224-44/+79
| | | | | | | | One multiplication instead of two. Also fix floating point random number generation and verification. TODO: Do the same for AoS blending.
* llvmpipe: When failing free fs shader too.José Fonseca2010-09-211-0/+1
|
* llvmpipe: Describe how to profile llvmpipe.José Fonseca2010-09-211-0/+38
|
* Merge branch 'sprite-coord'Brian Paul2010-09-217-38/+72
|\
| * llvmpipe: check bitshift against PIPE_MAX_SHADER_OUTPUTSBrian Paul2010-09-201-2/+5
| |
| * llvmpipe: implement sprite coord origin modesBrian Paul2010-09-201-6/+12
| |
| * llvmpipe: rename sprite field, add sprite_coord_originBrian Paul2010-09-205-6/+10
| |
| * llvmpipe: clean-up, comments in setup_point_coefficient()Brian Paul2010-09-201-5/+10
| |
| * llvmpipe: reformatting, remove trailing whitespace, etcBrian Paul2010-09-201-21/+23
| |
| * llvmpipe: indentation fixBrian Paul2010-09-201-1/+1
| |
| * llvmpipe: maintain fragment shader state for draw moduleBrian Paul2010-09-202-0/+14
| |
* | llvmpipe: fix flatshading in new line codeKeith Whitwell2010-09-211-6/+13
| | | | | | | | Calculate interpolants before rearranging the vertices.
* | llvmpipe: fix query bug when no there's no sceneBrian Paul2010-09-201-2/+3
| |
* | llvmpipe: Default to no threading on single processor systems.José Fonseca2010-09-171-2/+1
|/
* gallivm: Start collecting bitwise arithmetic helpers in a new module.José Fonseca2010-09-161-2/+3
|
* 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
|