summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/texstate.c
Commit message (Collapse)AuthorAgeFilesLines
* mesa: Replace Proxy1D/2D/etc with ProxyTex[] indexed by TEXTURE_x_INDEX.Brian Paul2008-07-041-54/+27
| | | | | | Simplification in colortab.c too. cherry-picked from master (fe469007037d9d5cdbe1677d8ff7368b276e9e7c)
* mesa: Implement mutex/locking around texture object reference counting.Brian Paul2008-07-041-57/+47
| | | | | | | | Use new _mesa_reference_texobj() function for referencing/unreferencing textures. Add new assertions/tests to try to detect invalid usage of deleted textures. cherry-picked from master (9e01b915f1243a3f551cb795b7124bd1e52ca15f)
* mesa: refactor: move various ENUM_TO_x macros into macros.hBrian Paul2008-06-111-3/+0
|
* mesa: refactor: move glTexParameter-related functions into new texparam.c fileBrian Paul2008-06-111-999/+0
|
* mesa: refactor: move glTexEnv-related functions into new texenv.c fileBrian Paul2008-06-111-823/+0
|
* mesa: refactor: move glTexGen-related functions into new texgen.c fileBrian Paul2008-06-111-568/+0
|
* mesa: refactor: move #define FEATURE flags into new mfeatures.h fileBrian Paul2008-06-101-4/+11
| | | | Also, check the FEATURE flags in many places.
* Add support for GL_REPLACE_EXT texture env mode.Brian Paul2008-04-301-1/+6
| | | | | | GL_REPLACE_EXT comes from the ancient GL_EXT_texture extension. Found an old demo that actually uses it. The values of the GL_REPLACE and GL_REPLACE_EXT tokens is different, unfortunately.
* Update texenvprogram.c code to use prog_cache.c routines.Brian2007-10-311-4/+0
|
* Rework _mesa_update_texture_compare_function() to only be called duringBrian2007-06-111-40/+42
| | | | | | | state validation/update. Note that we're still temporarily skipping the test for an active fragment program. Need to fix shadow2D() ...
* rename/clean-up _mesa_validate_texture_wrap_modeBrian2007-06-111-12/+15
|
* fix typo, added commentBrian2007-06-111-2/+5
|
* Replace texobj->Complete with texobj->_Complete since it's a derived field.Brian2007-06-111-3/+3
|
* Add support for GL_ARB_fragment_program_shadow.Ian Romanick2007-06-071-0/+2
|
* Fix ARB_fp spec conformance bug WRT shadow sampling.Ian Romanick2007-06-071-0/+35
| | | | | The ARB_fp (and other assembly-level fragment program specs) say that the depth comparison function is always GL_NONE in fragment program mode.
* Initial implementation of MESA_texture_arrayIan Romanick2007-05-161-0/+46
| | | | | Shadow sampling from texture arrays is still not implemented. Everything else should be there, though.
* Refactor queries of GL_(SOURCE|OPERAND)[012]_(ALPHA|RGB).Ian Romanick2007-05-101-136/+16
| | | | | | | | | Most switch-statements that have cases for these enums already use code like: const GLuint idx = pname - GL_SOURCE0_RGB; ... texUnit->Combine.SourceRGB[idx] ... This patch just brings the remaining bits up to speed.
* Enable texture sampling for vertex programs/shaders.Brian2007-04-171-7/+18
| | | | | | | This is a bit of a hack for now because the tnl module is using the swrast module to fetch texels. The texture fetch/filter code should probably be moved into the main/ module since it doesn't really depend upon other swrast code.
* illegal to set GL_TEXTURE_MAX_LEVEL w/ GL_TEXTURE_RECTANGLE_ARBBrian2007-04-141-4/+8
|
* properly compute ctx->Texture._EnabledCoordUnitsBrian2007-03-131-12/+8
|
* move TexturesUsed[] into gl_program since vertex programs/shaders can use ↵Brian2007-01-041-1/+1
| | | | textures nowadays
* simplify update_texture_state() a bit, compute _EnabledCoordUnits for shadersBrian2007-01-041-16/+25
|
* update_texture_state() updated for new shadersBrian2007-01-041-29/+10
|
* Overhaul of GLSL API functions, dispatching, etc.Brian2006-12-191-1/+1
|
* Lots of assorted changes for new GLSL compiler backend.Brian2006-12-151-2/+11
| | | | New datatypes, constants, variables.
* Merge texmem-0-3-branch.Keith Whitwell2006-11-011-50/+75
|
* Clean-up FEATURE_ARB_shader_objects #ifdefs. Bug 7492.Michal Krol2006-08-011-1/+9
|
* Better caching for texenv programs.Keith Whitwell2006-05-221-0/+2
| | | | Initialize some values correctly.
* use _mesa_compressed_texture_size() for GL_TEXTURE_COMPRESSED_IMAGE_SIZE queryBrian Paul2006-05-091-4/+12
|
* Replace ctx->Const.MaxTextureUnits w/ ctx->Const.MaxTexture[Coord/Image]UnitsBrian Paul2006-04-141-29/+114
| | | | | | in various places. Note that ctx->Texture.CurrentUnit needs to be tested against Coord/Image limits when referenced, not just in glActiveTexture().
* Clean up the recent code related to texture_override(). Pass params in aBrian Paul2006-03-241-45/+56
| | | | | | | more logical order. Remove a mess of stray ^M chars. Fix a bug when checking if the texture object's format is GL_COLOR_INDEX or GL_DEPTH_COMPONENT. This fixes a segfault when GL_TEXTURE_BASE_LEVEL!=0.
* GLSL fixes:Michal Krol2006-03-211-3/+3
| | | | | | | | | | | | | | | | | | - generate error on NULL pointers in glShaderSourceARB; - reinstall program object, if current, in glLinkProgramARB; - vertex and fragment shaders are optional in program object; - floor asm was wrongly computed for x86 back-end; - allow for (void) idiom in function prototypes; - all fixed-state uniforms are updated; - local variable initializers are working; - implement texture* and shadow* functions for vertex processor; - generate error if too many arguments in general constructor; - trim unused data in general constructor; - struct r-value field select was badly relocated; Changes: - add derived state gl_fog_attrib::_Scale; - add derived state gl_light::_CosCutoffNeg;
* More GLSL code:Michal Krol2006-03-141-63/+44
| | | | | - add texture sampling support; - fix assembly codegen bugs;
* Fix _mesa_copy_texture_state() so that we copy texture object bindings,Brian Paul2006-02-241-12/+41
| | | | | not the actual contents of texture objects. This makes glXCopyContext() work properly.
* Enable texcoords when program object in use.Michal Krol2006-02-151-2/+5
|
* fix test for valid texunit in _mesa_ClientActiveTextureARBRoland Scheidegger2006-02-011-1/+1
|
* Removed the GL_SGIX/SGIS_pixel_texture extensions. Same thing can beBrian Paul2005-12-141-132/+0
| | | | done with fragment programs nowadays.
* Move stuff common to vertex/fragment_program into the base class, including:Brian Paul2005-11-121-1/+1
| | | | | | Instructions, InputsRead, OutputsWritten, and Parameters. Also, added debug functions: _mesa_print_instruction(), _mesa_print_program_parameters() and revamp _mesa_print_program().
* Make _mesa_is_proxy_texture() non-static and use in a few more places.Brian Paul2005-11-111-61/+24
| | | | | Use COPY_4FV() where possible. Added some comments, clean-ups.
* remove unneeded #includesBrian Paul2005-11-051-3/+0
|
* In gl_texture_image replace IntFormat with InternalFormat and Format withBrian Paul2005-10-051-11/+12
| | | | _BaseFormat to be consistant with gl_renderbuffer.
* check for GL_DEPTH_STENCIL_EXTBrian Paul2005-10-011-1/+2
|
* Initial work for GL_EXT_packed_depth_stencil extension.Brian Paul2005-09-281-0/+10
| | | | glReadPixels done, glDrawPixels mostly done.
* s/GL_DEPTH_BITS/GL_TEXTURE_DEPTH_SIZE_ARB/ in _mesa_GetTexLevelParameteriv()Brian Paul2005-09-211-1/+1
|
* Replace GLuint with GLbitfield where appropriate. Also replace GLuintBrian Paul2005-09-151-5/+5
| | | | with GLboolean in a few places.
* check for either GL_ARB_depth_texture or GL_SGIX_depth_texture in a few placesBrian Paul2005-09-081-5/+3
|
* In _mesa_TexEnvfv, do not accept values for GL_OPERAND2_ALPHA and ↵Roland Scheidegger2005-08-151-4/+24
| | | | GL_OPERAND2_RGB which are only valid with ARB_texture_env_combine but not with EXT_texture_env_combine, when only EXT_texture_env_combine is supported.
* Cache texenv programs to avoid repeated compilation (Ben Skeggs)Keith Whitwell2005-07-111-0/+3
|
* Add a set of predicate functions for testing matrices instead of directlyBrian Paul2005-06-301-5/+5
| | | | | | testing the flags field. Move definition of all the MAT_FLAGs into the m_matrix.c file since they're now private.
* clamp anisotropy against max valueBrian Paul2005-02-081-3/+5
|