summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/llvmpipe
AgeCommit message (Collapse)Author
2010-10-06llvmpipe: Cleanup depth-stencil clears.José Fonseca
Only cosmetic changes. No actual practical difference.
2010-10-06gallivm: Only apply min/max_lod when necessary.José Fonseca
2010-10-06llvmpipe: Fix sprite coord perspective interpolation of Q.José Fonseca
Q coordinate's coefficients also need to be multiplied by w, otherwise it will have 1/w, causing problems with TXP.
2010-10-06llvmpipe: Fix perspective interpolation for point sprites.José Fonseca
Once a fragment is generated with LP_INTERP_PERSPECTIVE set for an input, it will do a divide by w for that input. Therefore it's not OK to treat LP_INTERP_PERSPECTIVE as LP_INTERP_LINEAR or vice-versa, even if the attribute is known to not vary. A better strategy would be to take the primitive in consideration when generating the fragment shader key, and therefore avoid the per-fragment perspective divide.
2010-10-06llvmpipe: Dump a few missing shader key flags.José Fonseca
2010-10-06llvmpipe: make debug_fs_variant respect variant->nr_samplersKeith Whitwell
2010-09-30gallium/llvmpipe: remove duplicated includeNicolas Kaiser
Remove duplicated include. Signed-off-by: Brian Paul <brianp@vmware.com>
2010-09-29llvmpipe: Decouple sampler view and sampler state updates.José Fonseca
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).
2010-09-25llvmpipe: handle up to 8 planes in triangle binnerKeith Whitwell
2010-09-25llvmpipe: handle FACING interpolants in line and point setupKeith Whitwell
2010-09-24llvmpipe: make texture border_color dynamic stateBrian Paul
2010-09-24llvmpipe: make min/max lod and lod bias dynamic stateBrian Paul
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.
2010-09-22llvmpipe: fix sprite texcoord setup for non-projective texturingBrian Paul
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.
2010-09-22llvmpipe: Make rgb/alpha bland func/factors match, when there is no alpha.José Fonseca
Makes AoS blending easier, and state more canonical.
2010-09-22llvmpipe: Special case complementary and identify blend factors in SoA.José Fonseca
One multiplication instead of two. Also fix floating point random number generation and verification. TODO: Do the same for AoS blending.
2010-09-21llvmpipe: When failing free fs shader too.José Fonseca
2010-09-21llvmpipe: Describe how to profile llvmpipe.José Fonseca
2010-09-21Merge branch 'sprite-coord'Brian Paul
2010-09-21llvmpipe: fix flatshading in new line codeKeith Whitwell
Calculate interpolants before rearranging the vertices.
2010-09-20llvmpipe: check bitshift against PIPE_MAX_SHADER_OUTPUTSBrian Paul
2010-09-20llvmpipe: implement sprite coord origin modesBrian Paul
2010-09-20llvmpipe: rename sprite field, add sprite_coord_originBrian Paul
2010-09-20llvmpipe: clean-up, comments in setup_point_coefficient()Brian Paul
2010-09-20llvmpipe: reformatting, remove trailing whitespace, etcBrian Paul
2010-09-20llvmpipe: indentation fixBrian Paul
2010-09-20llvmpipe: maintain fragment shader state for draw moduleBrian Paul
2010-09-20llvmpipe: fix query bug when no there's no sceneBrian Paul
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.