summaryrefslogtreecommitdiff
path: root/src/mesa/main/teximage.c
AgeCommit message (Collapse)Author
2009-01-30mesa: simplify the _mesa_get_proxy_tex_image() functionBrian Paul
2009-01-30mesa: fix incorrect call to clear_teximage_fields() in _mesa_TexImage2D()Brian Paul
Fixes failed assertion / segfault for particular proxy texture tests.
2009-01-29mesa: fix a render to texture FBO validation bugBrian Paul
When glTexImage() is called we need to re-validate any FBOs that point to the texture (i.e. render-to-texture) since changing the texture's size/format will effect FBO completeness. We don't keep a list of all FBOs rendering into each texture (which would be a bit messy) so we check all FBOs in existance. To optimize this, the gl_texture_object->_RenderToTexture flag is used to avoid checking textures that have never been used as renderbuffers. So, we only walk over all FBOs (there's usually only a few) when glTexImage() modifies a RTT texture. Fixes a bug seen in shadowtex.c when toggling packed depth/stencil mode.
2009-01-28Make GL_ARB_texture_compression mandatoryIan Romanick
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
2008-11-10mesa: new _mesa_is_pow_two() functionBrian
2008-10-22mesa: move convolution image adjustment code for glCopyTexSubImage1/2/3D()Brian Paul
Do it after initial error checking, after we know the texture's internal format.
2008-10-22mesa: some re-org of glCopyTexSubImage1/2/3D() error checkingBrian Paul
2008-10-22mesa: in textore.c, only adjust image for convolution if image is a color formatBrian Paul
Makes things consistant with the code in teximage.c. We only want to apply convolution to color formats (not depth/index formats)
2008-10-01Unify ARB_depth_texture and SGIX_depth_textureIan Romanick
The ARB extension is a superset of the older SGIX extension. Any hardware that can support the SGIX version can also support the ARB version. In Mesa, any driver that supports one also supports the other. This unification just simplifies some bits of code.
2008-09-23Added new _mesa_clip_copytexsubimage() function to do avoid clipping down in ↵Brian
the drivers. This should probably be pulled into main-line Mesa... (cherry picked from commit 324ecadbfdf9b944e059832f146451e4151dcb21)
2008-09-21added _mesa_tex_target_to_face()Brian
(cherry picked from commit b52ce6341f877a0a1cfd3c50c07eeb1c156ae89e)
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-03-21Fix some PBO breakage.Brian
In _mesa_Bitmap, can't early return if bitmap ptr is NULL, it may be an offset into a PBO. Similarly for _mesa_GetTexImage.
2008-01-05fix depth/1 typo in glTexImage3D proxy codeBrian
2007-08-18some fixes for compressed cube maps (bug 11986)Brian
2007-08-16Replace Proxy1D/2D/etc with ProxyTex[] indexed by TEXTURE_x_INDEX.Brian
Simplification in colortab.c too.
2007-07-12fix width/depth mix-up (bug 11577)Brian
2007-07-08Fix size test bug in _mesa_test_proxy_teximage().Brian
width/height/depth == 0 is a legal texture size (no error generated). Later, the texture will be considered incomplete, however, and texturing will effectively be disabled. See bug 11309.
2007-06-12fix an error string, refactor _mesa_GetCompressedTexImageARB() to get rid of ↵Brian
a goto
2007-06-11Replace texobj->Complete with texobj->_Complete since it's a derived field.Brian
2007-05-17Add missing _EXT suffix to 2D_ARRAY target enums.Ian Romanick
2007-05-17Add array texture targets to list that can use compressed formats.Ian Romanick
2007-05-17Refactor determining whether a texture target can use compressed formatIan Romanick
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 the way TestProxyTexImage is called in texture_error_check.Ian Romanick
2007-03-22Ensure we have a valid ReadBuffer for CopyTexSubImage, andAlan Hourihane
if not bail accordingly. Previously we'd only do this test on compressed textures.
2006-11-02s/GLchan/GLubyte/ in debug codeBrian Paul
2006-11-01Merge texmem-0-3-branch.Keith Whitwell
2006-10-04minor formatting fixBrian Paul
2006-08-04more work for GL_EXT_texture_sRGB.Brian Paul
2006-07-19For glGetTexImage(), move the _mesa_validate_pbo_access() error check intoBrian Paul
_mesa_GetTexImage() so it's not needed in the fallback or driver functions.
2006-07-18indentation fixBrian Paul
2006-07-18add missing 'return' after a few _mesa_error() calls in _mesa_GetTexImage()Brian Paul
2006-06-13fix size assertions in _mesa_init_teximage_fields()Brian Paul
2006-06-02fix depth-component test to allow rectangular texturesBrian Paul
2006-05-20In gl_texture_image, replace ImageStride with an ImageOffsets array.Brian Paul
Some hardware lays out 3D mipmaps in a manner that can't be expressed with a simple image stride. The ImageOffsets array is allocated and initialized to typical defaults in the _mesa_init_teximage_fields() function. If needed, a driver will then have to replace these offsets. TexStore and TexelFetch routines updated to use offsets array.
2006-05-09Add a new 'all' parameter to _mesa_get_compressed_formats() to indicate whetherBrian Paul
all formats or just those without restrictions/limitations should be returned. We want all when validating the internalFormat parameter to glCompressedTexImage2D but only want unrestricted formats when handling the GL_COMPRESSED_TEXTURE_FORMATS query.
2006-05-08More updates for texture compression.Brian Paul
Added _mesa_compressed_texture_size_glenum() for validating the imageSize parameter to glCompressedTex[Sub]Image1/2/3() which does _not_ call ctx->Driver.CompressedTextureSize() - since that could return a padded size.
2006-05-08Fix a number of texture compression issues.Brian Paul
Pass the MESA_FORMAT_* token to the _mesa_compressed_row_stride(), _mesa_compressed_texture_size() and _mesa_compressed_image_address() functions since we want to use the driver-chosen format, not the user's internalFormat hint. Consolidate code related to choosing the texture format in texstoree.c
2006-03-26merge from texman branchBrian Paul
2006-03-20Lots of changes/fixes for rendering to framebuffer objects.Brian Paul
- When deleting texture objects, unbind from FBOs if necessary. - Changed driver hooks for starting/ending render to texture. - Now properly handle case where gl[Copy]TexImage() is called after glFramebufferTexture[123]D(). That didn't work before.
2006-03-20additional error checking to be sure source renderbuffer exists for ↵Brian Paul
glCopyTex[Sub]Image()
2005-12-01added comment about glTexImage and renderbuffersBrian Paul
2005-11-16Use new gl_framebuffer _Depth/_StencilBuffer fields instead ofBrian Paul
Attachment[BUFFER_DEPTH/STENCIL].Renderbuffer. The former may be wrappers around combined depth/stencil renderbuffers attached at the later points.
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-05minor improvements in _mesa_init_teximage_fields()Brian Paul
2005-10-05In gl_texture_image replace IntFormat with InternalFormat and Format withBrian Paul
_BaseFormat to be consistant with gl_renderbuffer.
2005-10-01additional error checking for GL_EXT_packed_depth_stencilBrian Paul
2005-09-28Initial work for GL_EXT_packed_depth_stencil extension.Brian Paul
glReadPixels done, glDrawPixels mostly done.
2005-09-15New set_fetch_functions() to set a gl_texture_image's FetchTexel functionsBrian Paul
from the gl_texture_format's functions. Added "adaptor" functions to allow sampling a float-valued texture with GLchans and vice versa. This will allow trimming down the number of texture fetch routines.