summaryrefslogtreecommitdiff
path: root/src/mesa/main/texstate.c
AgeCommit message (Collapse)Author
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.
2004-04-22New glTexImage code.Brian Paul
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.
2004-04-10fix minor glitch with GL_DEPTH_COMPONENT texturesBrian Paul
2004-02-28paltex demo from recent texcombine changes. Minor clean-upsBrian Paul
2004-02-06Refactor "class" texture environments to be implemented in terms ofIan Romanick
ARB_texture_env_combine state.
2004-01-23Don't set extra bits in FLUSH_VERTICES, fix several state bugs.Keith Whitwell
2003-11-30s/texUnit->Enabled/enableBits/ (Karl Rasche)Brian Paul
2003-10-21Added GLAPIENTRY decorations for all first level OpenGL API function entryKendall Bennett
points so that the calling conventions will work correctly with the assembler stubs with the Open Watcom compiler.
2003-09-12Allow glTexImage1/2/3D to specify width/height/depth = 0.Brian Paul
This allows texture state to be resettable to default state. Not allowed according to the spec, but allowed by all other OpenGL libs.
2003-09-02Added support for EXT_texture_mirror_clamp and the single wrap modeIan Romanick
that it addes to ATI_texture_mirror_once. This includes updating the texwrap test to exercise the new mode.
2003-08-28Move clamping of texture LOD bias to texture application time.Brian Paul
2003-08-28Added OpenGL 1.4's per-texture LOD bias.Brian Paul