summaryrefslogtreecommitdiff
path: root/src/mesa/main/texstate.c
AgeCommit message (Collapse)Author
2008-12-31mesa: increase max texture image units and GLSL samplers to 16Brian Paul
The max texture coord units is still 8. All the fixed-function paths are still limited to 8 too. But GLSL shaders can use more samplers now. Note that some texcoord-related data structures are declared to be 16 elements in size rather than 8. This just simplifies the code in a few places; the extra elements aren't accessible to the user. These changes haven't been extensively tested yet, but sanity checking has been done. It should be possible to increase the max image units/samplers to 32 without doing anything special. Beyond that we'll need longer bitfields in a few places.
2008-09-21mesa: refactor: move various ENUM_TO_x macros into macros.hBrian Paul
2008-09-21mesa: refactor: move glTexParameter-related functions into new texparam.c fileBrian Paul
2008-09-21mesa: refactor: move glTexEnv-related functions into new texenv.c fileBrian Paul
(cherry picked from commit 7ecac78ab53016ae3db3dd601b187cb050037463)
2008-09-21mesa: refactor: move glTexGen-related functions into new texgen.c fileBrian Paul
(cherry picked from commit 27049189d6221fefe43eb55846efaa51742dcdf4)
2008-09-21mesa: refactor: move #define FEATURE flags into new mfeatures.h fileKeith Whitwell
Also, check the FEATURE flags in many places. (cherry picked from commit 40d1a40f294f1ed2dacfad6f5498322fc08cc2d1) Conflicts: src/mesa/main/config.h src/mesa/main/context.c src/mesa/main/texobj.c src/mesa/main/texstate.c src/mesa/main/texstore.c
2008-09-21mesa: move fixed function vertex program builder from tnl to core mesaKeith Whitwell
Also unify caching of fragment and vertex programs in shader/prog_cache.c` Brought across from gallium-0.2
2008-08-21Flush vertices when updating texObj->GenerateMipmap state.Eric Anholt
Caught by texturing/gen-teximage test in piglit.
2008-07-04Enable TexGen based on InputsRead when a fragment program is activeNicolai Haehnle
The old behaviour depended on which texture images the fragment program reads from, which seems to contradict the shader specifications. Note: Piglit's general/texgen test checks for this problem.
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.