aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/state_tracker/st_atom_sampler.c
Commit message (Collapse)AuthorAgeFilesLines
* gallium: remove PIPE_TEX_FILTER_ANISOLuca Barbieri2010-01-061-4/+0
| | | | | | | | | | | | | | | | | | This patch removes PIPE_TEX_FILTER_ANISO. Anisotropic filtering is enabled if and only if max_anisotropy > 1.0. Values between 0.0 and 1.0, inclusive, of max_anisotropy are to be considered equivalent, and meaning to turn off anisotropic filtering. This approach has the small drawback of eliminating the possibility of enabling anisotropic filter on either minification or magnification separately, which Radeon hardware seems to support, is currently support by Gallium but not exposed to OpenGL. If this is actually useful it could be handled by splitting max_anisotropy in two values and adding an appropriate OpenGL extension. NOTE: some fiddling & reformatting by keithw to get this patch to apply. Hopefully nothing broken in the process.
* mesa: make texture BorderColor a union of float/int/uintBrian Paul2010-01-041-1/+1
| | | | | | | | When we have integer-valued texture formats, the texture border color must also store integer and uint values. With GL 3.0, the new glTexParameterIiv() and glTexParameterIuiv() functions can set the border color to int or uint values.
* mesa: Update vertex texture code after gallium changes.Michal Krol2009-12-011-0/+9
|
* mesa: use texture format functionsBrian Paul2009-09-271-1/+1
|
* st: as with swrast, interpret texture border color according to texture formatBrian Paul2009-04-061-4/+37
| | | | | Depending on the hardware driver this might not be needed, but it will cause no harm.
* st: rename a helper functionBrian Paul2009-04-061-4/+4
|
* gallium: check vertex shaders for samplers/texture usage as we do for ↵Brian2008-12-041-7/+13
| | | | fragment shaders
* gallium: use a default texture in update_textures(), update_samplers() when ↵Brian Paul2008-08-141-4/+8
| | | | | | | needed The default texture is used when the current fragment shader has texture sample instructions but the user has not provided/bound a texture.
* gallium: replace an assertion with "if (!texobj) continue"Brian Paul2008-07-021-1/+2
| | | | | | It's possible to call update_samplers() between the time a fragment shader is bound and when a texture image is defined (such as glClear). This fixes the case where we don't have a complete texture object yet.
* mesa: Replace abort by asserts.José Fonseca2008-06-241-1/+1
|
* gallium: check if sampler->max_lod < sampler->min_lodBrian Paul2008-06-171-0/+9
|
* gallium: sync up texture/sampler changes with masterBrian Paul2008-05-061-1/+1
|
* Merge commit 'origin/gallium-0.1' into gallium-tex-surfacesKeith Whitwell2008-05-061-1/+3
|\ | | | | | | | | | | | | Conflicts: src/mesa/state_tracker/st_atom_sampler.c src/mesa/state_tracker/st_cb_texture.c
| * gallium: fix warningsBrian Paul2008-05-031-1/+3
| |
| * gallium: fix sampler->max_lod computationBrian Paul2008-05-031-2/+3
| |
| * gallium: fix computation of sampler->min_lodBrian Paul2008-05-031-1/+1
| | | | | | | | | | The texture BaseLevel is accounted for in texture layout so it doesn't factor in here. May also need to adjust max_lod...
* | gallium: fix some BaseLevel, lastLevel bugsBrian Paul2008-05-031-2/+3
|/
* Some changed for non-C99 compilersAlan Hourihane2008-05-021-10/+5
|
* gallium: Set sampler->min_lod instead of always reallocating pipe_textures.Michel Dänzer2008-05-011-9/+1
|
* gallium: set border colorRoland Scheidegger2008-04-291-0/+5
|
* gallium: remove redundant compare bit in sampler stateRoland Scheidegger2008-03-281-1/+0
|
* gallium: pass NULL to cso_single_sampler() when the sampler isn't used.Brian2008-03-121-2/+5
| | | | | This fixes an AA line crash/regression. The aaline stage needs to find a free/unused sampler to do its thing.
* gallium: Add TEX_FILTER_ANISO img filterKeith Whitwell2008-03-121-0/+4
| | | | | | Hardware almost universally expects us to set a special filtering mode when anisotropic filtering is enabled, as opposed to varying a max-aniso values. Do this once in the state tracker & simplify the driver code.
* gallium: rework CSO-related code in state trackerBrian2008-03-111-22/+21
| | | | | | | | | | Use the code in cso_context.c rather than st_cache.c. Basically, binding of state objects now goes through the CSO module. But Vertex/fragment shaders go through pipe->bind_fs/vs_state() since they're not cached by the CSO module at this time. Also, update softpipe driver to handle NULL state objects in various places. This happens during context destruction. May need to update other drivers...
* gallium: michel's patch to rework texture/sampler binding interfaceKeith Whitwell2008-03-051-8/+8
| | | | | Bind all the samplers/textures at once rather than piecemeal. This is easier for drivers to understand.
* gallium: clamp min_lod so it's never negativeBrian2008-02-121-1/+1
|
* update_samplers() didn't respect the sampler->texunit mapping.Brian2007-12-141-9/+16
| | | | This fixes the glsl/texdemo1.c program.
* gallium: remove set_sampler_units interfaceKeith Whitwell2007-12-111-14/+1
| | | | | The effect of this mapping can be acheived by the state tracker and setting up the pipe texture state pointers to incorporate its affects.
* set sampler state for shadow testBrian2007-11-081-0/+8
|
* simplify code which access the current vertex/fragment shadersBrian2007-10-291-20/+1
|
* Re-implement GLSL texture sampler variables.Brian2007-10-261-1/+32
| | | | | | | | | | GLSL sampler variables indicate which texture unit to use for TEX instructions. Previously, this was baked into the fragment/vertex program and couldn't be readily changed once set. Now, SamplerUnits[] array indicates which texture unit is to be used for each sampler variable. These values are set with glUniform1i(). This is extra state that must be passed to the fragment/vertex program executor at runtime.
* add 'normalized_coords' field to pipe_sampler_stateBrian2007-10-151-0/+3
| | | | | | This controls whether texcoords are interpreted as-is or scaled up from [0,1]. Fixes glDrawPixels/glBitmap problems on i915 when image is non power-of-two. Also, cleans up the CSO sampler state for i915 a bit.
* comments/code for min/max_lod - revisit somedayBrian2007-10-011-0/+10
|
* Fix failover state binding and convert the sampler to use the newZack Rusin2007-09-201-5/+5
| | | | state constant state object semantics.
* Fix a silly bug on setting samplers.Zack Rusin2007-09-181-1/+1
| | | | | Bind when the currently bound state is /not/ the one we just found/created.
* Make sampler an immutable state object.Zack Rusin2007-09-181-3/+7
| | | | Switch the sample to be an immutable state object.
* add names to tracked state atoms to improve debugkeithw2007-08-251-0/+1
|
* Split texfilter enums to match common hardware usage.Keith Whitwell2007-08-091-11/+35
|
* update lod bias, limitsBrian2007-08-081-0/+4
|
* plug in texture/sampler state updateBrian2007-08-071-6/+8
|
* more texture sampler workBrian2007-06-221-0/+135