summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/texstore.c
Commit message (Collapse)AuthorAgeFilesLines
* Change float depthScale param to _mesa_unpack_depth_span() to GLuint depthMax.Brian2007-07-081-3/+5
|
* i915tex: Make sure texture format fetch hooks are initialized.Michel Dänzer2007-04-091-3/+3
|
* mesa: revert f9f79c8d770e696249bd98c68b563f887562c974Xiang, Haihao2007-03-211-1/+1
| | | | | | | to fix #10232 Table6.1(in gl2.1) has been applied for glGetTexImage before calling into _mesa_pack_rgba_span_float.
* fix some format conversion bugs in glGetTexImage(), bug 10288Haihao Xiang2007-03-171-0/+19
|
* New IMAGE_RED_TO_LUMINANCE flag passed to _mesa_pack_rgba_span_float() to ↵Brian2007-03-091-1/+1
| | | | fix glGetTexImage(GL_LUMINANCE) bug #10232.
* _mesa_swizzle_ubyte_image: Only use single swizzle_copy call when strides match.Michel Dänzer2006-12-141-1/+2
| | | | | This fixes texture data corruption with glTexSubimage (and probably glTexImage under some circumstances) with the texstore swizzle path.
* comment about a valgrind errorBrian Paul2006-11-021-0/+1
|
* In _mesa_pack_rgba_span_float() we don't need to make a temporary copy ofBrian Paul2006-10-131-5/+4
| | | | | | | 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.
* Move mipmap generation functions, texture scaling functions into newBrian Paul2006-09-291-1114/+7
| | | | mipmap.c file.
* Fix and re-enable swizzling paths for big endian platforms.Michel Dänzer2006-09-251-12/+10
|
* replace assert(0) with error report, improved comments, etcBrian Paul2006-09-211-16/+27
|
* Fix incorrect byteswap_mapping(). Disable swizzle path on bigEndianKeith Whitwell2006-09-211-24/+25
| | | | until someone can figure out whats wrong there.
* use new _mesa_little_endian() functionBrian Paul2006-09-211-22/+10
|
* Fix the dstMap for rgb888 and bgr888 texture formats, which are theKeith Whitwell2006-09-211-4/+4
| | | | opposite to what you'd naively expect.
* Deal with the overloading of _mesa_texstore_rgba, which is actuallyKeith Whitwell2006-09-201-7/+33
| | | | | | | 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??
* Extend swizzle support to all remaining source formats and textureKeith Whitwell2006-09-201-76/+260
| | | | destination formats.
* Support both big and little endian, more source types and moreKeith Whitwell2006-09-201-23/+98
| | | | | destination formats through the swizzle path. It would be great to see this tested on eg, PPC machines...
* reenable code in _mesa_texstore_rgba8888 to avoid the generic copy path if ↵Roland Scheidegger2006-09-201-11/+4
| | | | 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).
* Fix various typos to pass glean pixelFormats test.Keith Whitwell2006-09-201-12/+28
|
* Enhance compute_component_mapping() to convert to and from any of theKeith Whitwell2006-09-201-85/+119
| | | | color base formats.
* Fix _mesa_swizzle_ubyte_image() to deal with RGBA->RGB->RGBAKeith Whitwell2006-09-201-12/+19
| | | | | | | 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.
* detect some more cases which can use straight memcpy for _mesa_texstore_rgba8888Roland Scheidegger2006-09-131-1/+19
|
* finish up texstore for SL8 texture formatBrian Paul2006-08-101-13/+24
|
* implement some of the sRGB texstore functionsBrian Paul2006-08-091-12/+88
|
* more work for GL_EXT_texture_sRGB.Brian Paul2006-08-041-0/+31
|
* Initial work for GL_EXT_texture_sRGB.Brian Paul2006-08-031-0/+35
|
* For glGetTexImage(), move the _mesa_validate_pbo_access() error check intoBrian Paul2006-07-191-13/+13
| | | | _mesa_GetTexImage() so it's not needed in the fallback or driver functions.
* In gl_texture_image, replace ImageStride with an ImageOffsets array.Brian Paul2006-05-201-260/+242
| | | | | | | | | 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.
* two more texture compression fixesBrian Paul2006-05-081-3/+10
|
* More updates for texture compression.Brian Paul2006-05-081-2/+3
| | | | | | 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.
* Fix a number of texture compression issues.Brian Paul2006-05-081-37/+69
| | | | | | | | 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
* fix a few stride computations in _mesa_texstore_rgba()Brian Paul2006-04-261-7/+9
|
* Replace MESA_FORMAT_DEPTH_COMPONENT_FLOAT32 with 32-bit integer format.Brian Paul2006-04-061-16/+18
| | | | | | | 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.
* fix components initialization in two places (Ewald Snel)Brian Paul2006-03-291-2/+2
|
* new tests for GL_DEPTH_STENCIL_EXTBrian Paul2006-03-291-2/+4
|
* merge from texman branchmesa_20060325Brian Paul2006-03-261-2/+39
|
* finish up some loose ends in _mesa_texstore_z24_s8()Brian Paul2006-03-161-2/+40
|
* remove uintptr_t castBrian Paul2005-12-011-1/+1
|
* fix byteswapping bug in _mesa_texstore_ycbcr() (Benjamin Herrenschmidt)Brian Paul2005-10-051-7/+7
|
* In gl_texture_image replace IntFormat with InternalFormat and Format withBrian Paul2005-10-051-21/+23
| | | | _BaseFormat to be consistant with gl_renderbuffer.
* added _mesa_texstore_z24_s8()Brian Paul2005-10-011-8/+40
|
* Initial work for GL_EXT_packed_depth_stencil extension.Brian Paul2005-09-281-7/+9
| | | | glReadPixels done, glDrawPixels mostly done.
* New set_fetch_functions() to set a gl_texture_image's FetchTexel functionsBrian Paul2005-09-151-8/+93
| | | | | | | 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.
* The old MESA_PBUFFER_ALLOC() function allocated memory on 512-byte boundaries.Brian Paul2005-07-051-8/+8
| | | | | Restore that behavior with new _mesa_alloc_texmemory() function. Should fix via_sse_memcpy() problem in found with flightgear.
* Get rid of the MESA_PBUFFER_ALLOC/FREE() macros.Brian Paul2005-06-271-19/+19
| | | | | If that stuff is still needed, lots of other updates are needed anyway. Also, some misc MALLOC/FREE -> _mesa_malloc/free() changes.
* Import Thomas Helstrom's SSE memcpy code from the via X.org driver.Keith Whitwell2005-05-231-21/+22
| | | | | | 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.
* Don't use _mesa_swizzle_ubyte_image if all three texture formatsFelix Kuehling2005-05-161-0/+12
| | | | | | | 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.
* Port Mesa to build on a P64 platform (e.g., Win64). P64 platformsKarl Schultz2005-05-051-1/+1
| | | | | | | | 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.
* Major check-in of changes for GL_EXT_framebuffer_object extension.Brian Paul2005-05-041-14/+17
| | | | | | | Main driver impacts: - new code for creating the Mesa GLframebuffer - new span/pixel read/write code Some drivers not yet updated/tested.
* comments and minor clean-upBrian Paul2005-04-261-17/+29
|