aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/llvmpipe/lp_state_fs.c
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'mesa_7_7_branch'Brian Paul2010-01-221-2/+0
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gallium/auxiliary/draw/draw_context.c src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline.c src/gallium/auxiliary/pipebuffer/Makefile src/gallium/auxiliary/pipebuffer/SConscript src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c src/gallium/auxiliary/tgsi/tgsi_scan.c src/gallium/drivers/i915/i915_surface.c src/gallium/drivers/i915/i915_texture.c src/gallium/drivers/llvmpipe/lp_setup.c src/gallium/drivers/llvmpipe/lp_tex_sample_c.c src/gallium/drivers/llvmpipe/lp_texture.c src/gallium/drivers/softpipe/sp_prim_vbuf.c src/gallium/state_trackers/xorg/xorg_dri2.c src/gallium/winsys/drm/intel/gem/intel_drm_api.c src/gallium/winsys/drm/nouveau/drm/nouveau_drm_api.c src/gallium/winsys/drm/radeon/core/radeon_drm.c src/gallium/winsys/drm/vmware/core/vmw_screen_dri.c src/mesa/state_tracker/st_cb_clear.c
| * llvmpipe: Remove unnecessary headers.Vinson Lee2010-01-211-2/+0
| |
* | Merge branch 'gallium-noconstbuf'Roland Scheidegger2010-01-151-5/+4
|\ \ | | | | | | | | | | | | | | | Conflicts: src/gallium/drivers/softpipe/sp_draw_arrays.c src/mesa/state_tracker/st_draw_feedback.c
| * | gallium: remove const qualifier from pipe_buffer argument in set_constant_bufferRoland Scheidegger2010-01-111-1/+1
| | |
| * | gallium: adapt drivers to pipe_constant_buffer removalRoland Scheidegger2009-12-241-5/+4
| | |
* | | llvmpipe: Axe texture sampling code inherited from softpipe.José Fonseca2010-01-071-5/+0
| | | | | | | | | | | | | | | | | | | | | Was used only as a reference, since texture sampling is now code generated. Already axed in the lp-binning branch too. This fixes the llvmpipe build after recent sampling changes.
* | | pipe_sampler_state::compare_mode is not a boolean enable flag.Michal Krol2010-01-061-2/+2
| | | | | | | | | | | | It's a 1-bit enum.
* | | Merge branch 'mesa_7_7_branch'Brian Paul2009-12-311-0/+1
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | Conflicts: configs/darwin src/gallium/auxiliary/util/u_clear.h src/gallium/state_trackers/xorg/xorg_exa_tgsi.c src/mesa/drivers/dri/i965/brw_draw_upload.c
| * | llvmpipe: Silence compiler warnings.Vinson Lee2009-12-281-0/+1
| | |
* | | llvmpipe: Treat state changes systematically.José Fonseca2009-12-261-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | That is: - check for no op - update/flush draw module - update bound state and mark it as dirty In particular flushing the draw module is important since it may contain unflushed primitives which would otherwise be draw with wrong state.
* | | gallium: add geometry shader support to galliumZack Rusin2009-12-251-1/+2
| |/ |/|
* | llvmpipe: add LP_DEBUG env varJosé Fonseca2009-12-161-59/+58
| | | | | | | | Cherry-picked from dec35d04aeb398eef159aaf8cde5e0d04622b811.
* | llvmpipe: Use assert instead of abort. Only verify functions on debug builds.José Fonseca2009-11-241-1/+3
| |
* | llvmpipe: Use the generic conversion routine for depths.José Fonseca2009-11-241-7/+18
|/ | | | This allows for z32f depth format to work correctly.
* llvmpipe: Human friendlier sampler state dump.José Fonseca2009-10-251-8/+19
|
* llvmpipe: Dump the sampler state of the shader key.José Fonseca2009-10-251-0/+18
|
* llvmpipe: Eliminate constant mapping/unmapping.José Fonseca2009-10-091-3/+17
|
* gallium: remove depth.occlusion_count flagKeith Whitwell2009-10-011-1/+0
| | | | | | | This was redundant as drivers can just keep track of whether they are inside a begin/end query pair. We want to add more query types later and also support nested queries, none of which map well onto a flag like this. No driver appeared to be using the flag.
* llvmpipe: First verify LLVM IR, only then run optimizing passes.José Fonseca2009-09-291-5/+5
|
* llvmpipe: Make lp_type a regular union.José Fonseca2009-09-141-8/+8
| | | | | Union not worth the hassle of violating C99 or adding a name to the structure.
* llvmpipe: Fix alpha test.José Fonseca2009-09-101-26/+13
|
* llvmpipe: Mask out color channels not present in the color buffer.José Fonseca2009-09-101-5/+23
|
* llvmpipe: Skip blending when mask is zero.José Fonseca2009-09-101-2/+10
| | | | This increases quake3 timedemo fps another 10%.
* llvmpipe: Proper control flow builders.José Fonseca2009-09-101-9/+38
| | | | | | | | | | New control flow helper functions which keep track of all variables and generate the correct Phi functions. This re-enables skipping the fs execution of quads masked out by the rasterizer, early z testing, and kill opcode. This yields a performance improvement of around 20%.
* llvmpipe: Include zsbuf's format in the fragment shader key.José Fonseca2009-09-091-14/+16
|
* llvmpipe: Code generate the texture sampling inside the shader.José Fonseca2009-09-071-1/+14
| | | | | | | | | | Finally a substantial performance improvement: framerates of apps using texturing tripled, and furthermore, enabling/disabling texturing only affects around 15% of the framerate, which means the bottleneck is now somewhere else. Generated texture sampling code is not complete though -- we always sample from the base level -- so final figures will be different.
* llvmpipe: Further abstract the texture sampling generation from TGSI ↵José Fonseca2009-09-071-107/+8
| | | | translation.
* llvmpipe: Isolate sampling from TGSI translation.José Fonseca2009-08-291-3/+109
|
* llvmpipe: Fix shader variant key construction.José Fonseca2009-08-291-2/+2
| | | | Fixes the blank screen on non-64bit mode.
* llvmpipe: Factor out and optimize the input interpolation.José Fonseca2009-08-291-67/+33
| | | | | | | Special attention is given to the interpolation of side by side quads. Multiplications are made only for the first quad. Interpolation of inputs for posterior quads are done exclusively with additions, and perspective divide if necessary.
* llvmpipe: Pre-declare fetch_texel.José Fonseca2009-08-291-13/+0
|
* llvmpipe: Pass the alpha ref value and blend color in the jit context.José Fonseca2009-08-291-40/+53
|
* llvmpipe: Pass fragment context to generated function in a single structure.José Fonseca2009-08-291-17/+18
|
* llvmpipe: Centralize the C <-> JIT interfaces in one place.José Fonseca2009-08-291-2/+2
|
* llvmpipe: Drop blend derived state.José Fonseca2009-08-291-1/+1
| | | | Already included in the fragment shader.
* llvmpipe: Add a bunch of comments.José Fonseca2009-08-291-7/+96
| | | | Description/rationale/to-do items, while I still remember them...
* llvmpipe: Split off vs stuff from lp_state_fs.c.José Fonseca2009-08-291-60/+0
| | | | lp_state_fs.c is already too big without it.
* llvmpipe: Generate the fragment pipeline into a single function.José Fonseca2009-08-291-110/+284
| | | | Still hackish. Will document and optimize later.
* llvmpipe: Early depth testing.José Fonseca2009-08-291-11/+20
|
* llvmpipe: Code generate the depth test, and include in the shader.José Fonseca2009-08-291-17/+82
| | | | | Only 32bit depth/stencil surfaces supported for now. Stencil ops not implemented yet.
* llvmpipe: Centralize mask update logic.José Fonseca2009-08-291-4/+7
|
* llvmpipe: Code generate alpha testing and append to generated fragment shader.José Fonseca2009-08-291-56/+110
|
* llvmpipe: frag shader commentsBrian Paul2009-08-291-5/+5
|
* llvmpipe: Code generate the position interpolation.José Fonseca2009-08-291-29/+90
|
* llvmpipe: Put color/depth directly into the quad structure.José Fonseca2009-08-291-20/+41
|
* llvmpipe: Debug helper function to name llvm intermediate values.José Fonseca2009-08-291-13/+12
|
* llvmpipe: Implement KIL.José Fonseca2009-08-291-6/+16
|
* llvmpipe: Disassemble generated x86 code.José Fonseca2009-08-291-0/+5
|
* llvmpipe: Shader function arguments don't alias.José Fonseca2009-08-291-0/+2
|
* llvmpipe: Pass the interpolation factors as scalars.José Fonseca2009-08-291-3/+3
|