summaryrefslogtreecommitdiff
path: root/src/mesa/main/texstore.c
AgeCommit message (Collapse)Author
2006-10-13In _mesa_pack_rgba_span_float() we don't need to make a temporary copy ofBrian Paul
incoming colors when applying pixel transfer ops. In all cases, the caller either indicates there's no pixel transfer ops, or the incoming colors are coming from temporary storage already and can be safely modified.
2006-09-29Move mipmap generation functions, texture scaling functions into newBrian Paul
mipmap.c file.
2006-09-25Fix and re-enable swizzling paths for big endian platforms.Michel Dänzer
2006-09-21replace assert(0) with error report, improved comments, etcBrian Paul
2006-09-21Fix incorrect byteswap_mapping(). Disable swizzle path on bigEndianKeith Whitwell
until someone can figure out whats wrong there.
2006-09-21use new _mesa_little_endian() functionBrian Paul
2006-09-21Fix the dstMap for rgb888 and bgr888 texture formats, which are theKeith Whitwell
opposite to what you'd naively expect.
2006-09-20Deal with the overloading of _mesa_texstore_rgba, which is actuallyKeith Whitwell
used to store all sorts of formats. Software mesa fails the glean pixelFormats test, but it appears to be failing even with the swizzle code disabled??
2006-09-20Extend swizzle support to all remaining source formats and textureKeith Whitwell
destination formats.
2006-09-20Support both big and little endian, more source types and moreKeith Whitwell
destination formats through the swizzle path. It would be great to see this tested on eg, PPC machines...
2006-09-20reenable code in _mesa_texstore_rgba8888 to avoid the generic copy path if ↵Roland Scheidegger
only swizzling is required as it works just fine (tested with glean pixelFormats test and a hacked up r200 driver which always uses that format).
2006-09-20Fix various typos to pass glean pixelFormats test.Keith Whitwell
2006-09-20Enhance compute_component_mapping() to convert to and from any of theKeith Whitwell
color base formats.
2006-09-20Fix _mesa_swizzle_ubyte_image() to deal with RGBA->RGB->RGBAKeith Whitwell
conversions, ensuring that the final A value is 0xff in those cases where we use a RGBA hardware texture format to store RGB textures. Fix a couple of cases where hardwired texture conversions were ignoring this restriction.
2006-09-13detect some more cases which can use straight memcpy for _mesa_texstore_rgba8888Roland Scheidegger
2006-08-10finish up texstore for SL8 texture formatBrian Paul
2006-08-09implement some of the sRGB texstore functionsBrian Paul
2006-08-04more work for GL_EXT_texture_sRGB.Brian Paul
2006-08-03Initial 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-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-08two more texture compression fixesBrian Paul
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-04-26fix a few stride computations in _mesa_texstore_rgba()Brian Paul
2006-04-06Replace MESA_FORMAT_DEPTH_COMPONENT_FLOAT32 with 32-bit integer format.Brian Paul
This allows render to depth texture (we don't support floating pt. Z buffers). Rename MESA_FORMAT_DEPTH_COMPONENT16/32 as MESA_FORMAT_Z16/32. Software fallback for glCopyTexImage now uses integer temporary image instead of float, eliminates a lot of float/int conversions.
2006-03-29fix components initialization in two places (Ewald Snel)Brian Paul
2006-03-29new tests for GL_DEPTH_STENCIL_EXTBrian Paul
2006-03-26merge from texman branchBrian Paul
2006-03-16finish up some loose ends in _mesa_texstore_z24_s8()Brian Paul
2005-12-01remove uintptr_t castBrian Paul
2005-10-05fix byteswapping bug in _mesa_texstore_ycbcr() (Benjamin Herrenschmidt)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-01added _mesa_texstore_z24_s8()Brian 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.
2005-07-05The old MESA_PBUFFER_ALLOC() function allocated memory on 512-byte boundaries.Brian Paul
Restore that behavior with new _mesa_alloc_texmemory() function. Should fix via_sse_memcpy() problem in found with flightgear.
2005-06-27Get rid of the MESA_PBUFFER_ALLOC/FREE() macros.Brian Paul
If that stuff is still needed, lots of other updates are needed anyway. Also, some misc MALLOC/FREE -> _mesa_malloc/free() changes.
2005-05-23Import Thomas Helstrom's SSE memcpy code from the via X.org driver.Keith Whitwell
Add a TextureMemCpy callback, called from texstore.c when copying texture data via the memcpy_texture() path. Enable this code in the via driver - 100% speedup in texdown.c results.
2005-05-16Don't use _mesa_swizzle_ubyte_image if all three texture formatsFelix Kuehling
involved in _mesa_textore_argb/rgba8888 (source, base-internal, destination) differ. _mesa_swizzle_ubyte_image knows only about two of the formats and can't handle the case that all three are different correctly. Fixes https://bugs.freedesktop.org/show_bug.cgi?id=3111.
2005-05-05Port Mesa to build on a P64 platform (e.g., Win64). P64 platformsKarl Schultz
use 64-bit pointers and 32-bit longs. So, operations like casting pointers to unsigned long and back to pointer won't work. glheader.h now includes files to define uintptr_t, which should instead be used for this sort of operation. It is an integer type that is the same size as a pointer.
2005-05-04Major check-in of changes for GL_EXT_framebuffer_object extension.Brian Paul
Main driver impacts: - new code for creating the Mesa GLframebuffer - new span/pixel read/write code Some drivers not yet updated/tested.
2005-04-26comments and minor clean-upBrian Paul
2005-02-07argb8888 optimizations from via branchKeith Whitwell
2004-12-12Added driver hooks for GetTexImage() and GetCompressedTexImage().Brian Paul
Added fallback _mesa_get_[compressed]_teximage() routines to texstore.c
2004-12-03silence a variety of warnings found with g++ 3.4.2Brian Paul
2004-11-23update _mesa_store_teximageXd() comments and minor code clean-upBrian Paul
2004-11-10GL_(UN)PACK_SKIP_IMAGES should only be applied to 3D texture pack/unpackingBrian Paul
and ignored for 1D and 2D images. Need to pass in image dimensions (1,2,3) to the _mesa_image_address() function. This change gets propogated to some other routines. Also added new _mesa_image_address[123]d() convenience functions.
2004-10-31Map/Unmap PBO as needed so that the texstore routines can work withBrian Paul
hardware-based PBOs in the future.
2004-10-18changed _mesa_rescale_teximage2d to allow rescaling of padded imagesDaniel Borca