summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers
Commit message (Collapse)AuthorAgeFilesLines
* softpipe: fastpath for interpolated z16 less depthtestingKeith Whitwell2009-07-271-4/+139
| | | | | | | Because this is interpolated (ie. early) depth, we can build in an assumption about the quads emitted by triangle setup, ie that they are actually linear spans. Interpolate z over those spans in z16 format to save on math & conversion.
* softpipe: cope with nr_cbufs == 0Keith Whitwell2009-07-271-3/+13
| | | | Disable blend code when no color buffer
* softpipe: move all depth/stencil/alpha pixel processing into one stageKeith Whitwell2009-07-2713-957/+580
|
* softpipe: fix error in scissor state dependenciesKeith Whitwell2009-07-251-2/+10
|
* softpipe: cleanup framebuffer state routine slightlyKeith Whitwell2009-07-251-40/+10
|
* softpipe: move all color-combine code into sp_quad_blend.cKeith Whitwell2009-07-2410-972/+727
| | | | | Consolidate the read-modify-write color combining code from the blend, colormask and output stages.
* softpipe: fix typoKeith Whitwell2009-07-241-1/+1
|
* softpipe: example fastpaths in blendingKeith Whitwell2009-07-241-11/+121
|
* softpipe: actually pass >1 quad from triangle routineKeith Whitwell2009-07-248-139/+135
| | | | First attempt
* softpipe: expand quad pipeline to process >1 quad at a timeKeith Whitwell2009-07-2414-633/+745
| | | | | | This is part one -- we still only pass a single quad down, but the code can now cope with more. The quads must all be from the same tile.
* softpipe: rip out old mulithread supportKeith Whitwell2009-07-244-305/+57
|
* softpipe: avoid flushing depth buffer cache on swapbuffersKeith Whitwell2009-07-232-9/+16
| | | | | | | | | There's no need to push out depth buffer contents on swapbuffers. Note that this change doesn't throw away depth buffer changes, it simply holds them in the cache over calls to swapbuffers. The hope is that swapbuffers will be followed by a clear() which means in that case we won't have to write the changes out.
* softpipe: also shortcircuit non-texture tile lookupsKeith Whitwell2009-07-232-18/+31
|
* softpipe: shortcircuit repeated lookups of the same tileKeith Whitwell2009-07-223-97/+156
| | | | | | | | | The sp_tile_cache is often called repeatedly to look up the same tile. Add a cache (to the cache) of the single tile most recently retreived and make a quick inline check to see if this matches the subsequent request. Add a tile_address bitfield struct to make this check easier.
* softpipe: remove unused vars in sp_setup.cKeith Whitwell2009-07-221-5/+0
|
* softpipe: use bitwise logic to setup quad masks in sp_setupKeith Whitwell2009-07-221-25/+40
|
* softpipe: simplify flush_spansKeith Whitwell2009-07-221-53/+19
| | | | No loss of performance, but simpler code.
* softpipe: make some small steps to flush texture cache less frequentlyKeith Whitwell2009-07-226-35/+70
| | | | No performance gain yet, but the code is a bit cleaner.
* softpipe: remove backwards dependency from tilecache to softpipeKeith Whitwell2009-07-2214-65/+62
| | | | | | | | The tile cache is a utility, it shouldn't know anything about the entity which is making use of it (ie softpipe). Remove softpipe parameter to all the tilecache function calls, and also remove the need to keep a softpipe pointer in the sampler structs.
* gallium: simplify tgsi_full_immediate structKeith Whitwell2009-07-2211-35/+34
| | | | | | | | | | | | | Remove the need to have a pointer in this struct by just including the immediate data inline. Having a pointer in the struct introduces complications like needing to alloc/free the data pointed to, uncertainty about who owns the data, etc. There doesn't seem to be a need for it, and it is unlikely to make much difference plus or minus to performance. Added some asserts as we now will trip up on immediates with more than four elements. There were actually already quite a few such asserts, but the >4 case could be used in the future to specify indexable immediate ranges, such as lookup tables.
* gallium/trace: Fix SCons build.Michel Dänzer2009-07-201-0/+1
|
* r300g: Guard R500 register writes by is_r500 check.Michel Dänzer2009-07-201-3/+5
| | | | | Flagged by the DRM command stream checker. This allows the driver to work on non-R500 cards.
* Merge branch 'mesa_7_5_branch'Brian Paul2009-07-171-12/+30
|\ | | | | | | | | | | | | | | | | | | | | Conflicts: Makefile progs/glsl/multitex.c src/mesa/main/enums.c src/mesa/main/state.c src/mesa/main/texenvprogram.c src/mesa/main/version.h
| * softpipe: limit blend results to [0,1]Luca Barbieri2009-07-151-12/+30
| |
* | tgsi: initial texturing support on sse pathKeith Whitwell2009-07-161-0/+1
| | | | | | | | | | Most obvious problem is drawpixels comes out blocky, but this may be an existing issue of KIL on the sse path.
* | tgsi: reduce x86 reg usage in tgsi_sse generated programsKeith Whitwell2009-07-161-18/+5
| | | | | | | | | | | | Pass the tgsi_exec_machine struct in directly and just hold a single pointer to this struct, rather than keeping one for each of its internal members.
* | gallium: proper constructor and destructor for tgsi_exec_machineKeith Whitwell2009-07-161-13/+17
| | | | | | | | | | Centralize the creation, initialization and destruction of this struct. Use align_malloc instead of home-brew alternatives.
* | gallium: Define PIPE_CAP_BLEND_EQUATION_SEPARATE, remove extension from ↵Patrice Mandin2009-07-147-0/+14
| | | | | | | | default extension list
* | r300g: Small compile warning fixes.Nicolai Hähnle2009-07-133-2/+5
| | | | | | | | Signed-off-by: Corbin Simpson <[email protected]>
* | r300g, radeon: Whitespace fixes.Nicolai Hähnle2009-07-131-1/+1
| | | | | | | | Signed-off-by: Corbin Simpson <[email protected]>
* | r300g: Use align() instead of inline maths.Corbin Simpson2009-07-131-4/+7
| |
* | r300g: Remove VAP_CNTL_STATUS from invariant state.Corbin Simpson2009-07-081-6/+1
| | | | | | | | Seriously.
* | r300g: Disable MSPOS registers for glisse's CS security checker.Corbin Simpson2009-07-081-4/+7
| | | | | | | | These will come back in someday, when we can properly use them.
* | r300-gallium: Unify sampler and texture emit.Corbin Simpson2009-07-083-39/+26
| | | | | | | | They have to cross into each other's registers.
* | r300-gallium: Mipmap setup.Corbin Simpson2009-07-082-10/+19
| | | | | | | | (cherry picked from commit 88c01a15da5639dd68a6a0133724994cb66f1316)
* | r300g: Add endian fix to vertex fetcher setup.Corbin Simpson2009-07-081-2/+9
| | | | | | | | As reported and initially tested by MrCooper.
* | Merge branch 'mesa_7_5_branch'Jakob Bornecrantz2009-07-032-15/+13
|\| | | | | | | | | | | Conflicts: src/mesa/main/dlist.c src/mesa/vbo/vbo_save_api.c
| * gallium: fix the front face semanticsZack Rusin2009-07-012-15/+13
| | | | | | | | | | | | | | | | mesa allocates both frontface and pointcoord registers within the fog coordinate register, by using swizzling. to make it cleaner and easier for drivers we want each of them in its own register. so when doing compilation from the mesa IR to tgsi allocate new registers for both and add new semantics to the respective declarations.
* | trace: Add drm api integrationJakob Bornecrantz2009-07-024-12/+265
| | | | | | | | | | | | This is okay since drm_api.h doesn't have any external dependancies, one could make it only compile on platforms that support drm.
* | r300g: Fix recursive Draw flush.Corbin Simpson2009-07-012-1/+7
| | | | | | | | | | | | Also just noticed that demos/copypix walks around the overlapping blit rules. Bad, bad Mesa. :3
* | r300g: Use floats for surface_copy texcoords, use correct src and dest.Corbin Simpson2009-07-011-16/+17
| | | | | | | | This makes demos/copypix better-looking. Horizontal dimensions are right now.
* | nouveau: return some supported zeta formatsBen Skeggs2009-07-0111-1/+51
| |
* | nouveau: deal with PIPE_CAP_TGSI_CONT_SUPPORTEDBen Skeggs2009-07-016-0/+12
| |
* | drm/st: Remove drm_api struct from driversJakob Bornecrantz2009-07-014-10/+5
| | | | | | | | | | | | Remove the drm_api from the functions in the softpipe and i915simple drivers. Create wrapper functions in the backends instead.
* | gallium: remove the pipe_sampler_state::shadow_ambient fieldBrian Paul2009-06-301-1/+0
| | | | | | | | | | | | | | This was only present for the sake of GL_ARB_shadow_ambient which we never implemented in Gallium. If we someday want GL_ARB_shadow_ambient we can implement it in the state tracker by adding a MAD after the relevant TEX instructions.
* | identity: Create a drm_api wrapperJakob Bornecrantz2009-06-303-1/+224
| |
* | drm/st: Return drm_api struct from a functionJakob Bornecrantz2009-06-304-5/+10
| |
* | softpipe: use shadow_compare4() to compare texcoord to four texture samplesBrian Paul2009-06-291-12/+78
| |
* | softpipe: pass sampler state to shadow_compare()Brian Paul2009-06-291-19/+17
| |
* | nouveau: Expect right params to tex_transfer_destroy().Younes Manton2009-06-291-1/+1
| | | | | | | | | | Never crashed on x86, ptx is in the same stack slot in either case. Thanks to Bob Gleitsmann for catching this.