summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/softpipe
AgeCommit message (Collapse)Author
2009-07-30softpipe: rearrange blend fastpathsKeith Whitwell
2009-07-30softpipe: add depth-lequal z16 pathKeith Whitwell
2009-07-30softpipe: remove unused variable in shade_quadKeith Whitwell
2009-07-27softpipe: include sp_winsys.h to silence function prototype warningBrian Paul
2009-07-27softpipe: fix off-by-one in nearest texcoord routinesKeith Whitwell
Stray '- 0.5' copied from linear versions.
2009-07-27softpipe: example fast paths for simple samplersKeith Whitwell
All these fastpaths are examples of the types of things we'd code-generate in a more sophisticated version of softpipe.
2009-07-27softpipe: fastpath for interpolated z16 less depthtestingKeith Whitwell
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.
2009-07-27softpipe: cope with nr_cbufs == 0Keith Whitwell
Disable blend code when no color buffer
2009-07-27softpipe: move all depth/stencil/alpha pixel processing into one stageKeith Whitwell
2009-07-25softpipe: fix error in scissor state dependenciesKeith Whitwell
2009-07-25softpipe: cleanup framebuffer state routine slightlyKeith Whitwell
2009-07-24softpipe: move all color-combine code into sp_quad_blend.cKeith Whitwell
Consolidate the read-modify-write color combining code from the blend, colormask and output stages.
2009-07-24softpipe: fix typoKeith Whitwell
2009-07-24softpipe: example fastpaths in blendingKeith Whitwell
2009-07-24softpipe: actually pass >1 quad from triangle routineKeith Whitwell
First attempt
2009-07-24softpipe: expand quad pipeline to process >1 quad at a timeKeith Whitwell
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.
2009-07-24softpipe: rip out old mulithread supportKeith Whitwell
2009-07-23softpipe: avoid flushing depth buffer cache on swapbuffersKeith Whitwell
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.
2009-07-23softpipe: also shortcircuit non-texture tile lookupsKeith Whitwell
2009-07-22softpipe: shortcircuit repeated lookups of the same tileKeith Whitwell
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.
2009-07-22softpipe: remove unused vars in sp_setup.cKeith Whitwell
2009-07-22softpipe: use bitwise logic to setup quad masks in sp_setupKeith Whitwell
2009-07-22softpipe: simplify flush_spansKeith Whitwell
No loss of performance, but simpler code.
2009-07-22softpipe: make some small steps to flush texture cache less frequentlyKeith Whitwell
No performance gain yet, but the code is a bit cleaner.
2009-07-22softpipe: remove backwards dependency from tilecache to softpipeKeith Whitwell
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.
2009-07-17Merge branch 'mesa_7_5_branch'Brian Paul
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
2009-07-16tgsi: initial texturing support on sse pathKeith Whitwell
Most obvious problem is drawpixels comes out blocky, but this may be an existing issue of KIL on the sse path.
2009-07-16tgsi: reduce x86 reg usage in tgsi_sse generated programsKeith Whitwell
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.
2009-07-16gallium: proper constructor and destructor for tgsi_exec_machineKeith Whitwell
Centralize the creation, initialization and destruction of this struct. Use align_malloc instead of home-brew alternatives.
2009-07-15softpipe: limit blend results to [0,1]Luca Barbieri
2009-07-14gallium: Define PIPE_CAP_BLEND_EQUATION_SEPARATE, remove extension from ↵Patrice Mandin
default extension list
2009-07-03Merge branch 'mesa_7_5_branch'Jakob Bornecrantz
Conflicts: src/mesa/main/dlist.c src/mesa/vbo/vbo_save_api.c
2009-07-01drm/st: Remove drm_api struct from driversJakob Bornecrantz
Remove the drm_api from the functions in the softpipe and i915simple drivers. Create wrapper functions in the backends instead.
2009-07-01gallium: fix the front face semanticsZack Rusin
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.
2009-06-30drm/st: Return drm_api struct from a functionJakob Bornecrantz
2009-06-29softpipe: use shadow_compare4() to compare texcoord to four texture samplesBrian Paul
2009-06-29softpipe: pass sampler state to shadow_compare()Brian Paul
2009-06-26softpipe: PIPE_CAP_TGSI_CONT_SUPPORTED queryBrian Paul
2009-06-19softpipe: return alpha=1 in shadow_compare() functionBrian Paul
The alpha value wasn't set at all before so we got unpredictable results. Note that we don't currently obey GL_DEPTH_TEXTURE_MODE in the state tracker. For now, we return the result in the default mode (r,r,r,1).
2009-06-16softpipe: fix out of bounds quad rasterization bugBrian Paul
For some triangles we can generate quads which lie just outside the surface bounds. Just check the quad's mask before trying to emit/process the quad. Fixes failed assertion in Lightsmark.
2009-06-15softpipe: Fix softpipe_is_texture_referenced.José Fonseca
Render results are only visible when the render cache is flushed. softpipe_is_texture_referenced must reflect that or transfers to/from the textures bound in the framebuffer won't be proceeded of the necessary flush, causing transfer data to be outdated/clobbered. This fixes conform drawpix test with softpipe.
2009-06-26Merge branch 'mesa_7_5_branch'Brian Paul
Conflicts: Makefile src/gallium/drivers/softpipe/sp_screen.c src/mesa/main/version.h
2009-06-24Merge branch 'mesa_7_5_branch'Brian Paul
Conflicts: src/mesa/drivers/dri/i915/i915_tex_layout.c src/mesa/drivers/dri/i965/brw_wm_glsl.c src/mesa/drivers/dri/intel/intel_buffer_objects.c src/mesa/drivers/dri/intel/intel_pixel_bitmap.c src/mesa/drivers/dri/intel/intel_pixel_draw.c src/mesa/main/enums.c src/mesa/main/texstate.c src/mesa/vbo/vbo_exec_array.c
2009-06-19softpipe: use u_reduced_prim()Brian Paul
2009-06-19softpipe: whitespace, reformattingBrian Paul
2009-06-19Merge branch 'ext-provoking-vertex'Brian Paul
Conflicts: docs/relnotes-7.6.html progs/tests/Makefile src/gallium/drivers/softpipe/sp_prim_vbuf.c src/glx/x11/indirect.c src/mesa/glapi/Makefile src/mesa/glapi/dispatch.h src/mesa/glapi/glapioffsets.h src/mesa/glapi/glapitable.h src/mesa/glapi/glapitemp.h src/mesa/glapi/glprocs.h src/mesa/main/dlist.c src/mesa/main/enums.c src/mesa/sparc/glapi_sparc.S src/mesa/x86-64/glapi_x86-64.S src/mesa/x86/glapi_x86.S
2009-06-16Merge branch 'mesa_7_5_branch'Brian Paul
Conflicts: src/mesa/main/api_validate.c
2009-06-09softpipe: implement flatshade_first for trianglesBrian Paul
2009-06-09softpipe: implement flatshade_first for line setupBrian Paul
2009-06-08softpipe: advertise PIPE_CAP_MAX_TEXTURE_ANISOTROPY as 16.0Brian Paul
Note that this doesn't have any real significance since PIPE_CAP_ANISOTROPIC_FILTER still returns 0.