summaryrefslogtreecommitdiff
path: root/src/mesa/main/texstore.c
AgeCommit message (Collapse)Author
2007-12-05Fix endianness bug in _mesa_texstore_argb8888()Brian
On big-endian, storing in _mesa_texformat_argb8888 format produced wrong results. Also, clean-up nearby code to match.
2007-07-08Change float depthScale param to _mesa_unpack_depth_span() to GLuint depthMax.Brian
2007-04-09i915tex: Make sure texture format fetch hooks are initialized.Michel Dänzer
2007-03-21mesa: revert f9f79c8d770e696249bd98c68b563f887562c974Xiang, Haihao
to fix #10232 Table6.1(in gl2.1) has been applied for glGetTexImage before calling into _mesa_pack_rgba_span_float.
2007-03-17fix some format conversion bugs in glGetTexImage(), bug 10288Haihao Xiang
2007-03-09New IMAGE_RED_TO_LUMINANCE flag passed to _mesa_pack_rgba_span_float() to ↵Brian
fix glGetTexImage(GL_LUMINANCE) bug #10232.
2006-12-14_mesa_swizzle_ubyte_image: Only use single swizzle_copy call when strides match.Michel Dänzer
This fixes texture data corruption with glTexSubimage (and probably glTexImage under some circumstances) with the texstore swizzle path.
2006-11-02comment about a valgrind errorBrian Paul
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.