summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/softpipe
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'mesa_7_6_branch'Brian Paul2009-09-241-1/+1
|\ | | | | | | | | | | Conflicts: src/mesa/vbo/vbo_exec_array.c
| * Merge branch 'mesa_7_5_branch' into mesa_7_6_branchBrian Paul2009-09-241-1/+1
| |\
| | * softpipe: Increase GL_MAX_3D_TEXTURE_SIZE to 256.Vinson Lee2009-09-241-1/+1
| | |
* | | softpipe: fix compiler warningsKeith Whitwell2009-09-242-2/+2
| | |
* | | softpipe: Use portable INLINE macro.José Fonseca2009-09-241-1/+1
| | |
* | | softpipe: Update SConscript.José Fonseca2009-09-241-6/+0
| | |
* | | softpipe: replace macros with inline functionsBrian Paul2009-09-231-21/+32
| | | | | | | | | | | | And update comments.
* | | softpipe: white-space/formatting fixes and updated commentsBrian Paul2009-09-231-86/+87
| | |
* | | Merge branch 'mesa_7_6_branch'Brian Paul2009-09-233-8/+8
|\| | | | | | | | | | | | | | | | | Conflicts: src/gallium/drivers/softpipe/sp_tile_cache.c
| * | softpipe: added max texture/surface size sanity checkBrian Paul2009-09-231-0/+6
| | |
| * | softpipe: increase MAX_WIDTH/HEIGTH 4096 to match max texture sizeBrian Paul2009-09-231-2/+2
| | |
| * | Merge branch 'mesa_7_5_branch' into mesa_7_6_branchBrian Paul2009-09-211-2/+2
| |\|
| | * softpipe: Fix cube face selection.Brian Paul2009-09-211-2/+2
| | | | | | | | | | | | | | | | | | | | | If arx and ary are equal, we still want to choose from one of them, and not arz. (cherry picked from commit de685b37a91bc95dd4093a44a49b7b47385b1f7c)
* | | Merge branch 'softpipe-opt'Keith Whitwell2009-09-2342-4267/+4510
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: progs/demos/cubemap.c src/gallium/drivers/softpipe/sp_tex_sample.c src/gallium/drivers/softpipe/sp_texture.c
| * | | softpipe: fix bugs in POT texture sampling when texture is not squareroot2009-09-221-6/+28
| | | | | | | | | | | | | | | | | | | | Before, if level was greater than the logbase2(base size) we were doing a negative bit shift and winding up with garbage values.
| * | | softpipe: additional assertionsBrian Paul2009-09-221-0/+4
| | | |
| * | | softpipe: disable a _debug_printf()Brian Paul2009-09-221-0/+2
| | | |
| * | | softpipe: need to write depth/stencil values even when stencil failsKeith Whitwell2009-09-221-12/+10
| | | |
| * | | softpipe: set quad->facing valueKeith Whitwell2009-09-221-0/+1
| | | |
| * | | softpipe: fix polygon stippleKeith Whitwell2009-09-221-2/+0
| | | |
| * | | softpipe: fix occlusion countingKeith Whitwell2009-09-221-2/+17
| | | |
| * | | softpipe: use one fewer divide in sample_cubeKeith Whitwell2009-08-241-3/+6
| | | | | | | | | | | | | | | | | | | | GCC won't do this for us. Makes a bigger difference to cubemap fps than previous set of compilcated rearrangements.
| * | | softpipe: separate out 2d and cube img filter functionsKeith Whitwell2009-08-241-4/+88
| | | |
| * | | softpipe: make the various get_texel routines more similarKeith Whitwell2009-08-241-92/+176
| | | | | | | | | | | | | | | | | | | | Remove arguments, return const float * by default. Add specialized 3d versions and remove 3d texture support from the others.
| * | | softpipe: lift tex_address construction up to img_filterKeith Whitwell2009-08-231-25/+35
| | | | | | | | | | | | | | | | For fastpaths at least, can avoid recalculating this sometimes.
| * | | softpipe: remove old prim_setup draw stageKeith Whitwell2009-08-2310-386/+59
| | | | | | | | | | | | | | | | | | | | Everything now goes through the draw_vbuf handler, the same as regular drivers.
| * | | softpipe: add missing headerKeith Whitwell2009-08-231-0/+1
| | | |
| * | | Merge branch 'tex-tilecache' into softpipe-optKeith Whitwell2009-08-2313-228/+464
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gallium/drivers/softpipe/sp_state_derived.c src/gallium/drivers/softpipe/sp_state_sampler.c src/gallium/drivers/softpipe/sp_tex_sample.c src/gallium/drivers/softpipe/sp_tex_sample.h src/gallium/drivers/softpipe/sp_tile_cache.c
| | * | | softpipe: fix typo in clear_tileKeith Whitwell2009-08-181-1/+1
| | | | |
| | * | | softpipe: split texture and surface tile cachesKeith Whitwell2009-08-1813-224/+460
| | | | | | | | | | | | | | | | | | | | | | | | | These do similar jobs but with largely disjoint code. Will want to evolve them separately going forward.
| * | | | softpipe: remove duplicate #include, move anotherBrian Paul2009-08-211-2/+1
| | | | |
| * | | | softpipe: remove tex sample dependencies on softpipeBrian Paul2009-08-211-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | The texture sampling code doesn't really have any dependencies on the rest of softpipe, just the tile cache.
| * | | | softpipe: minor code refactoring to remove softpipe/tile cache dependenciesBrian Paul2009-08-213-16/+24
| | | | | | | | | | | | | | | | | | | | The tile cache code now has no hard dependencies on softpipe.
| * | | | softpipe: remove unused #includes, white-space clean-upBrian Paul2009-08-211-5/+2
| | | | |
| * | | | softpipe: remove unneeded const qualifierBrian Paul2009-08-211-1/+1
| | | | |
| * | | | softpipe: per-unit sampler varientsBrian Paul2009-08-213-5/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Can't share sampler varients across multiple tex units because the texture pointer is in the sampler varient. That prevents different textures per unit. Fixes progs/demos/multiarb, progs/glsl/samplers, etc.
| * | | | softpipe: add missing PIPE_TEXTURE_CUBE case in get_lambda_func()Brian Paul2009-08-211-0/+1
| | | | | | | | | | | | | | | | | | | | Fixes progs/demos/cubemap
| * | | | softpipe: add missing sp_sampler_varient_destroyKeith Whitwell2009-08-211-0/+8
| | | | |
| * | | | softpipe: remove redundant comparison, make test easier to understandBrian Paul2009-08-211-2/+1
| | | | |
| * | | | softpipe: fix min/mag filter typoBrian Paul2009-08-211-1/+1
| | | | |
| * | | | softpipe: fix s/t/p typosBrian Paul2009-08-211-3/+3
| | | | |
| * | | | softpipe: rework texture sampling codeKeith Whitwell2009-08-2111-1100/+1350
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Split into component pieces, stitch together at runtime using function pointers. Make it possible to utilize the existing fastpaths as image-level filters for generic mip-filtering routines. Remove special case for rectangle filtering, as it can now be handled by the 2d path. As most of the mesa demo texturing was already covered by fast paths, its harder to find examples of speedups, but tunnel gets a boost as mip-nearest filtering is now able to access the img_2d_linear_wrap_POT functions for sampling within a mipmap level.
| * | | | softpipe: allow the existing sampler routines to be hooked up directlyKeith Whitwell2009-08-204-129/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Let eg. sp_get_samples_rect be hooked directly in as the tgsi sampler routine. Add a field to determine whether this is a vertex or fragment sampling call, and massage parameters to match the tgsi call.
| * | | | softpipe: fix xpot calculation typo in sp_get_samples_2d_nearest_clamp_POTKeith Whitwell2009-08-201-2/+2
| | | | |
| * | | | softpipe: slightly optimized tiling calculationKeith Whitwell2009-08-201-3/+2
| | | | |
| * | | | softpipe: fix glitch in texel lookups on fastpathsKeith Whitwell2009-08-201-64/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes two issues - firstly for mipmap levels with one or more dimensions smaller than tilesize, the code was sampling off the edge of the texture (but still within the tile). Secondly, in the linear_mipmap_linear case, both the default code and new fastpath were incorrect. This change fixes the fastpath and adds a comment to the default path, which still needs to be fixed. Basically the issue is that the coordinates in the smaller texture level are/were being computed by just dividing thecoordinates from the larger texture level by two, as in: x0[j] /= 2; y0[j] /= 2; x1[j] /= 2; y1[j] /= 2; The issues with this are signficant. Initially x1 is most often equal to x0+1, but after this, it will likely be equal to x0, so we will not actually be performing the linear blend within the smaller mipmap. The fastpath code avoided this (recalculated x1), but was still using the weighting factors from the larger mipmap level (xw, yw), which were incorrect. Change the fastpath code to do two full, independent linear samples of the two mipmap levels before blending. The default code needs to do the same thing.
| * | | | softpipe: optimized path for simple mipmap samplingKeith Whitwell2009-08-201-24/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | linear-mip-linear-repeat-POT sampling faspath, provides a very nice speedup to apps that do this common type of texturing. Test case: demos/terrain, turn fog off, turn texturing on. Without patch: 12 fps With patch: 20 fps.
| * | | | softpipe: move flatshade-first check out of loopKeith Whitwell2009-08-181-30/+50
| |/ / /
| * | | Revert "softpipe: rearrange blend fastpaths"Keith Whitwell2009-08-111-27/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 1295cf423e21dad04a947960782ffa8db2739709. The original formulation was easier to understand & work with. Will revisit this later.
| * | | softpipe: reduce textual differences between exec and sse shader pathsKeith Whitwell2009-08-112-32/+69
| | | | | | | | | | | | | | | | | | | | Unshare one function (setup_pos_vector) as we want to push this code into the generated shader in the SSE case.