summaryrefslogtreecommitdiff
path: root/src/mesa/main/texstate.c
AgeCommit message (Collapse)Author
2008-04-30Add support for GL_REPLACE_EXT texture env mode.Brian Paul
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.
2007-08-23For _mesa_share_state(), update the context's references to the new share ↵Brian
group's objects (Shane Blackett)
2007-08-16Replace Proxy1D/2D/etc with ProxyTex[] indexed by TEXTURE_x_INDEX.Brian
Simplification in colortab.c too.
2007-08-16Bring over the texobj refcounting changes from mesa_7_0_branchBrian
2007-08-13Implement mutex/locking around texture object reference counting.Brian
Use new _mesa_reference_texobj() function for referencing/unreferencing textures. Add new assertions/tests to try to detect invalid usage of deleted textures.
2007-06-11Rework _mesa_update_texture_compare_function() to only be called duringBrian
state validation/update. Note that we're still temporarily skipping the test for an active fragment program. Need to fix shadow2D() ...
2007-06-11rename/clean-up _mesa_validate_texture_wrap_modeBrian
2007-06-11fix typo, added commentBrian
2007-06-11Replace texobj->Complete with texobj->_Complete since it's a derived field.Brian
2007-06-07Add support for GL_ARB_fragment_program_shadow.Ian Romanick
2007-06-07Fix ARB_fp spec conformance bug WRT shadow sampling.Ian Romanick
The ARB_fp (and other assembly-level fragment program specs) say that the depth comparison function is always GL_NONE in fragment program mode.
2007-05-16Initial implementation of MESA_texture_arrayIan Romanick
Shadow sampling from texture arrays is still not implemented. Everything else should be there, though.
2007-05-10Refactor queries of GL_(SOURCE|OPERAND)[012]_(ALPHA|RGB).Ian Romanick
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.
2007-04-17Enable texture sampling for vertex programs/shaders.Brian
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.
2007-04-14illegal to set GL_TEXTURE_MAX_LEVEL w/ GL_TEXTURE_RECTANGLE_ARBBrian
2007-03-13properly compute ctx->Texture._EnabledCoordUnitsBrian
2007-01-04move TexturesUsed[] into gl_program since vertex programs/shaders can use ↵Brian
textures nowadays
2007-01-04simplify update_texture_state() a bit, compute _EnabledCoordUnits for shadersBrian
2007-01-04update_texture_state() updated for new shadersBrian
2006-12-19Overhaul of GLSL API functions, dispatching, etc.Brian
2006-12-15Lots of assorted changes for new GLSL compiler backend.Brian
New datatypes, constants, variables.
2006-11-01Merge texmem-0-3-branch.Keith Whitwell
2006-08-01Clean-up FEATURE_ARB_shader_objects #ifdefs. Bug 7492.Michal Krol
2006-05-22Better caching for texenv programs.Keith Whitwell
Initialize some values correctly.
2006-05-09use _mesa_compressed_texture_size() for GL_TEXTURE_COMPRESSED_IMAGE_SIZE queryBrian Paul
2006-04-14Replace ctx->Const.MaxTextureUnits w/ ctx->Const.MaxTexture[Coord/Image]UnitsBrian Paul
in various places. Note that ctx->Texture.CurrentUnit needs to be tested against Coord/Image limits when referenced, not just in glActiveTexture().
2006-03-24Clean up the recent code related to texture_override(). Pass params in aBrian Paul
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.
2006-03-21GLSL fixes:Michal Krol
- 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;
2006-03-14More GLSL code:Michal Krol
- add texture sampling support; - fix assembly codegen bugs;
2006-02-24Fix _mesa_copy_texture_state() so that we copy texture object bindings,Brian Paul
not the actual contents of texture objects. This makes glXCopyContext() work properly.
2006-02-15Enable texcoords when program object in use.Michal Krol
2006-02-01fix test for valid texunit in _mesa_ClientActiveTextureARBRoland Scheidegger
2005-12-14Removed the GL_SGIX/SGIS_pixel_texture extensions. Same thing can beBrian Paul
done with fragment programs nowadays.
2005-11-12Move stuff common to vertex/fragment_program into the base class, including:Brian Paul
Instructions, InputsRead, OutputsWritten, and Parameters. Also, added debug functions: _mesa_print_instruction(), _mesa_print_program_parameters() and revamp _mesa_print_program().
2005-11-11Make _mesa_is_proxy_texture() non-static and use in a few more places.Brian Paul
Use COPY_4FV() where possible. Added some comments, clean-ups.
2005-11-05remove unneeded #includesBrian Paul
2005-10-05In gl_texture_image replace IntFormat with InternalFormat and Format withBrian Paul
_BaseFormat to be consistant with gl_renderbuffer.
2005-10-01check for GL_DEPTH_STENCIL_EXTBrian Paul
2005-09-28Initial work for GL_EXT_packed_depth_stencil extension.Brian Paul
glReadPixels done, glDrawPixels mostly done.
2005-09-21s/GL_DEPTH_BITS/GL_TEXTURE_DEPTH_SIZE_ARB/ in _mesa_GetTexLevelParameteriv()Brian Paul
2005-09-15Replace GLuint with GLbitfield where appropriate. Also replace GLuintBrian Paul
with GLboolean in a few places.
2005-09-08check for either GL_ARB_depth_texture or GL_SGIX_depth_texture in a few placesBrian Paul
2005-08-15In _mesa_TexEnvfv, do not accept values for GL_OPERAND2_ALPHA and ↵Roland Scheidegger
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.
2005-07-11Cache texenv programs to avoid repeated compilation (Ben Skeggs)Keith Whitwell
2005-06-30Add a set of predicate functions for testing matrices instead of directlyBrian Paul
testing the flags field. Move definition of all the MAT_FLAGs into the m_matrix.c file since they're now private.
2005-02-08clamp anisotropy against max valueBrian Paul
2004-06-17fix tex env mode GL_BLEND for GL_INTENSITY texture formatsRoland Scheidegger
2004-06-11fix some minor glitches in glGetTexParameter codeBrian Paul
2004-05-10Don't call calculate_derived_texenv() from in _mesa_TexEnv().Brian Paul
Minor code rearranging.
2004-04-23Added ctx->Vertex/FragmentProgram._Enable flags. Set when vertex/fragmentBrian Paul
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.