summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/texstate.c
Commit message (Collapse)AuthorAgeFilesLines
* For _mesa_share_state(), update the context's references to the new share ↵Brian2007-08-231-0/+24
| | | | group's objects (Shane Blackett)
* Replace Proxy1D/2D/etc with ProxyTex[] indexed by TEXTURE_x_INDEX.Brian2007-08-161-54/+27
| | | | Simplification in colortab.c too.
* Bring over the texobj refcounting changes from mesa_7_0_branchBrian2007-08-161-17/+29
|
* Implement mutex/locking around texture object reference counting.Brian2007-08-131-57/+32
| | | | | | Use new _mesa_reference_texobj() function for referencing/unreferencing textures. Add new assertions/tests to try to detect invalid usage of deleted textures.
* 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
|
* fix tex env mode GL_BLEND for GL_INTENSITY texture formatsRoland Scheidegger2004-06-171-0/+2
|
* fix some minor glitches in glGetTexParameter codeBrian Paul2004-06-111-7/+7
|
* Don't call calculate_derived_texenv() from in _mesa_TexEnv().Brian Paul2004-05-101-32/+18
| | | | Minor code rearranging.
* Added ctx->Vertex/FragmentProgram._Enable flags. Set when vertex/fragmentBrian Paul2004-04-231-2/+2
| | | | | | | program is enabled AND the currently bound program is valid. Check _Enable instead of Enable to prevent things from blowing up when someone calls glEnable(GL_VERTEX_PROGRAM_ARB) without actually defining a program.
* New glTexImage code.Brian Paul2004-04-221-1/+65
| | | | | | | | The gl_texture_format struct now has a StoreTexImageFunc that's called by glTex[Sub]Image[123]D to convert the user's texture data into the specific texture format layout. Now it's much easier to add new texture formats (like the 16/32-bit floating point formats). The texutil.[ch] and texutil_tmp.h files are obsolete.