Age | Commit message (Collapse) | Author |
|
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.
|
|
|
|
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.
|
|
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
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_BaseFormat to be consistant with gl_renderbuffer.
|
|
|
|
glReadPixels done, glDrawPixels mostly done.
|
|
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.
|
|
Restore that behavior with new _mesa_alloc_texmemory() function.
Should fix via_sse_memcpy() problem in found with flightgear.
|
|
If that stuff is still needed, lots of other updates are needed anyway.
Also, some misc MALLOC/FREE -> _mesa_malloc/free() changes.
|
|
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.
|
|
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.
|
|
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.
|
|
Main driver impacts:
- new code for creating the Mesa GLframebuffer
- new span/pixel read/write code
Some drivers not yet updated/tested.
|
|
|
|
|
|
Added fallback _mesa_get_[compressed]_teximage() routines to texstore.c
|
|
|
|
|
|
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.
|
|
hardware-based PBOs in the future.
|
|
|
|
1015696)
|
|
|
|
|
|
|
|
|
|
luminance_alpha format. In particular, using the al88 format to store
GL_ALPHA textures with r200 driver.
|
|
More code re-use this time.
Most formats now tested/debugged with new packedpixels.c test.
|
|
|
|
Moved CI->RGBA palette lookup into texel fetch function.
|
|
|
|
|
|
|
|
|
|
|
|
Moved all code related to specific texture compression modes into
new texcompress_s3tc.c and texcompress_fxt1.c files (but not implemented).
|
|
|
|
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.
|
|
Note: extension may not be finalized yet - subject to change!
Note: implementation not fully suitable for h/w implementation yet.
|
|
IMAGE_CLAMP_BIT if needed.
Added ClampVertexColors and ClampFragmentColors to GLcontext in anticipation
of upcoming extensions (not fully used yet).
|
|
|