summaryrefslogtreecommitdiff
path: root/src/mesa/main/texstore.h
AgeCommit message (Collapse)Author
2009-04-03mesa: move glGetTexImage(), glGetCompresssedTexImage() code into new fileBrian Paul
2009-03-28mesa: add new signed rgba texture formatRoland Scheidegger
This is a (partial) backport of the signed texture format support in OGL 3.1. Since it wasn't promoted from an existing extension roll our own.
2009-03-12mesa: add support for ATI_envmap_bumpmapRoland Scheidegger
add new entrypoints, new texture format, etc translate in texenvprogram.c for drivers using the mesa-generated tex env fragment program also handled in swrast, but not tested (cannot work due to negative texel results not handled correctly)
2009-01-22Merge commit 'origin/master' into gallium-0.2Alan Hourihane
Conflicts: windows/VC8/mesa/osmesa/osmesa.vcproj windows/VC8/progs/demos/gears.vcproj windows/VC8/progs/progs.sln
2009-01-20Add RGBA4444 and RGBA5551 texture formats.Thomas Hellstrom
2008-12-12mesa: fixes for srgb, new srgb formatsRoland Scheidegger
add some more srgb texture formats, including compressed ones various fixes relating to srgb formats issues: _mesa_get_teximage is completely broken for srgb textures, both for non-compressed ones (swizzling) and compressed ones (shouldn't do standard-to-linear conversion) texelFetch function may be broken for little or big endian (or both...)
2008-09-11Merge branch 'gallium-0.1' into gallium-0.2Keith Whitwell
A first attempt at moving gallium onto a branch directly off master... It will be interesting to see how much work this takes to get running. Have resolved the conflicts semi-arbitarily, not compiled or tested. Conflicts: .gitignore Makefile configs/config.mgw configs/darwin configs/darwin-x86ppc configs/default configs/freebsd-dri configs/linux-dri configs/linux-dri-xcb configs/linux-fbdev configs/linux-static configs/linux-x86-64-static configs/linux-x86-static doxygen/Makefile include/GL/gl.h progs/demos/Makefile progs/demos/descrip.mms progs/demos/texenv.c progs/egl/.gitignore progs/egl/Makefile progs/glsl/.gitignore progs/glsl/Makefile progs/glsl/convolutions.c progs/samples/Makefile.mgw progs/tests/.gitignore progs/trivial/.gitignore progs/trivial/point-param.c progs/trivial/tri.c progs/xdemos/.gitignore progs/xdemos/glthreads.c src/egl/drivers/demo/Makefile src/egl/drivers/dri/Makefile src/egl/main/Makefile src/glu/Makefile src/glu/sgi/Makefile src/glu/sgi/Makefile.mgw src/glut/glx/Makefile.mgw src/glut/os2/WarpWin.cpp src/glut/os2/glut_cindex.cpp src/glut/os2/glut_gamemode.cpp src/glut/os2/glut_win.cpp src/glut/os2/glut_winmisc.cpp src/glut/os2/os2_glx.cpp src/glut/os2/os2_menu.cpp src/glut/os2/os2_winproc.cpp src/glw/Makefile src/glx/x11/dri_glx.c src/glx/x11/glxext.c src/mesa/Makefile src/mesa/Makefile.mgw src/mesa/descrip.mms src/mesa/drivers/beos/Makefile src/mesa/drivers/common/descrip.mms src/mesa/drivers/common/driverfuncs.c src/mesa/drivers/directfb/Makefile src/mesa/drivers/dri/Makefile.template src/mesa/drivers/dri/common/dri_bufmgr.c src/mesa/drivers/dri/common/dri_bufmgr.h src/mesa/drivers/dri/common/dri_util.c src/mesa/drivers/dri/common/extension_helper.h src/mesa/drivers/dri/common/mmio.h src/mesa/drivers/dri/common/utils.c src/mesa/drivers/dri/common/utils.h src/mesa/drivers/dri/glcore/Makefile src/mesa/drivers/dri/i810/i810screen.c src/mesa/drivers/dri/i915/intel_ioctl.c src/mesa/drivers/dri/i915/intel_ioctl.h src/mesa/drivers/dri/i915/intel_screen.c src/mesa/drivers/dri/i915/server/i830_common.h src/mesa/drivers/dri/i915/server/i830_dri.h src/mesa/drivers/dri/i965/intel_screen.c src/mesa/drivers/dri/i965/server/i830_common.h src/mesa/drivers/dri/i965/server/i830_dri.h src/mesa/drivers/dri/mach64/mach64_screen.c src/mesa/drivers/dri/nouveau/nouveau_context.h src/mesa/drivers/dri/nouveau/nouveau_fifo.c src/mesa/drivers/dri/nouveau/nouveau_fifo.h src/mesa/drivers/dri/nouveau/nouveau_screen.c src/mesa/drivers/dri/nouveau/nouveau_screen.h src/mesa/drivers/dri/r128/r128_tex.h src/mesa/drivers/dri/savage/savageioctl.h src/mesa/drivers/fbdev/Makefile src/mesa/drivers/osmesa/Makefile src/mesa/drivers/osmesa/descrip.mms src/mesa/drivers/x11/Makefile src/mesa/drivers/x11/descrip.mms src/mesa/drivers/x11/xm_dd.c src/mesa/glapi/glapi.c src/mesa/glapi/glthread.c src/mesa/main/api_validate.c src/mesa/main/attrib.c src/mesa/main/bufferobj.c src/mesa/main/bufferobj.h src/mesa/main/buffers.c src/mesa/main/config.h src/mesa/main/context.c src/mesa/main/descrip.mms src/mesa/main/drawpix.c src/mesa/main/enums.c src/mesa/main/fbobject.c src/mesa/main/glheader.h src/mesa/main/imports.c src/mesa/main/mipmap.c src/mesa/main/mm.c src/mesa/main/mm.h src/mesa/main/mtypes.h src/mesa/main/points.c src/mesa/main/sources src/mesa/main/state.c src/mesa/main/texcompress_fxt1.c src/mesa/main/texenvprogram.c src/mesa/main/texobj.c src/mesa/main/texstate.c src/mesa/main/texstore.c src/mesa/math/descrip.mms src/mesa/shader/arbprogram.c src/mesa/shader/descrip.mms src/mesa/shader/prog_execute.c src/mesa/shader/prog_statevars.c src/mesa/shader/prog_statevars.h src/mesa/shader/prog_uniform.c src/mesa/shader/program.c src/mesa/shader/program.h src/mesa/shader/shader_api.c src/mesa/shader/slang/descrip.mms src/mesa/shader/slang/library/slang_vertex_builtin_gc.h src/mesa/sources src/mesa/swrast/descrip.mms src/mesa/swrast/s_drawpix.c src/mesa/swrast/s_fragprog.c src/mesa/swrast/s_readpix.c src/mesa/swrast/s_span.c src/mesa/swrast_setup/descrip.mms src/mesa/tnl/descrip.mms src/mesa/tnl/t_context.h src/mesa/tnl/t_vp_build.c src/mesa/tnl/tnl.h src/mesa/vbo/descrip.mms src/mesa/vbo/vbo_context.c src/mesa/vbo/vbo_exec_array.c src/mesa/x86-64/xform4.S src/mesa/x86/rtasm/x86sse.c src/mesa/x86/rtasm/x86sse.h windows/VC6/progs/glut/glut.dsp windows/VC7/mesa/gdi/gdi.vcproj windows/VC7/mesa/glu/glu.vcproj windows/VC7/mesa/mesa.sln windows/VC7/mesa/mesa/mesa.vcproj windows/VC7/mesa/osmesa/osmesa.vcproj windows/VC7/progs/glut/glut.vcproj windows/VC8/mesa/gdi/gdi.vcproj windows/VC8/mesa/glu/glu.vcproj windows/VC8/mesa/mesa.sln windows/VC8/mesa/mesa/mesa.vcproj windows/VC8/progs/glut/glut.vcproj
2008-09-04mesa: Support for MESA_FORMAT_S8_Z24 textureJakob Bornecrantz
cherry-picked from gallium-0.1
2008-06-18mesa: Added _mesa_texstore_s8_z24Jakob Bornecrantz
2008-02-25Change GetCompressedTexImage in dd_function_table to not take const pointers.Kristian Høgsberg
They're changed by the intel driver implementation and thus not const. Fixes compilation warning.
2007-04-09i915tex: Make sure texture format fetch hooks are initialized.Michel Dänzer
2006-09-29Move mipmap generation functions, texture scaling functions into newBrian Paul
mipmap.c file.
2006-08-03Initial work for GL_EXT_texture_sRGB.Brian 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-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-26merge from texman branchBrian Paul
2005-09-28Initial work for GL_EXT_packed_depth_stencil extension.Brian Paul
glReadPixels done, glDrawPixels mostly done.
2005-02-08added missing prototypeBrian 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-10-18changed _mesa_rescale_teximage2d to allow rescaling of padded imagesDaniel Borca
2004-05-13Another pass at implementing byte-swapped texture formats.Brian Paul
More code re-use this time. Most formats now tested/debugged with new packedpixels.c test.
2004-05-12remove last remnants of NEWTEXSTORE stuffBrian Paul
2004-05-12yank bgr233 texformat. minor comment updates.Brian Paul
2004-05-12Added big-endian texture formats.Brian Paul
Moved CI->RGBA palette lookup into texel fetch function.
2004-05-04texture compression: getting warmerDaniel Borca
2004-05-02restored _mesa_rescale_teximage2d()Brian Paul
2004-04-27Removed the old teximage code.Brian Paul
Moved all code related to specific texture compression modes into new texcompress_s3tc.c and texcompress_fxt1.c files (but not implemented).
2004-04-22New glTexImage code.Brian Paul
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.
2003-09-30Updates required for building the SciTech SNAP version of Mesa. This includes:Kendall Bennett
1. Changes to the main header files to exclude some stuff is __SCITECH_SNAP__ is defined. The main GL/gl.h header file in SciTech SNAP is actually a wrapper that defines a bunch of necessary stuff and then included GL/gl_mesa.h which is the normal Mesa GL/gl.h header file renamed. 2. Changed APIENTRY * to APIENTRYP macros in the GL/gl.h and GL/glext.h header files. This will better support other compilers like IBM VisualAge C++. I added a basic macro for APIENTRYP to GL/gl.h (inside the !SNAP block), so existing code will compile the same, but when the SNAP version is being built we will use the correc definitions for the target compiler. 3. Changed a few more void * declarations to GLvoid *'s to avoid Open Watcom compiler complaints. 4. Updates the OPENGL_VERSION macro to include a patch number (set to 0 for now). Probably not necessary, but the original macro was wrong and we use that macro in our code. 5. Changed _tnl_end() to _tnl_end_ctx() to avoid conflicts with _tnl_End when using a compiler that has a case insensitive link.
2003-07-17Merge Jose's documentation and core Mesa changes from embedded branchKeith Whitwell
2003-04-04Rework gl[Copy]Tex[Sub]Image() error checking so that all level, width, heightBrian Paul
and depth checks are done via ctx->Driver.TestProxyTexImage(). This allows more flexiblity, like supporting larger, non-cubic 3D textures.
2002-09-27new texture compression infrastructureBrian Paul
2002-09-16fixed _mesa_generate_mipmaps() target problemBrian Paul
2001-06-15Enable GL_ARB_texture_compression for XMesa/GLX driver. TextureBrian Paul
compression isn't really implmented. Just updated glTexImageXD() to accept compressed internal format tokens.
2001-05-21initial support for GL_SGIS_generate_mipmap extensionBrian Paul
2001-04-20Fixed a texture conversion problem: sometimes need to produce an intermediateBrian Paul
texture image in the base internal format between user->Mesa format conversion. See comments in texstore.c
2001-04-04More texture image changes.Brian Paul
1. Added ctx->Driver.ChooseTextureFormat() function. Examines user's internalFormat, format, type params and returns a gl_texture_format. 2. _mesa_store_teximage[123]d() calls ctx->Driver.ChooseTextureFormat(), allocates storage and transfers the image into the desired format. 3. _mesa_transfer_teximage() now takes a gl_texture_format to describe the destination format. Any combination of input format/type and output gl_texture_format is accepted. Uses optimized _mesa_convert_- texsubimage[123]d() functions when possible. 3. DRI driver's TexImage[123]D functions should be a lot simpler now.
2001-03-21renamed some vars, added a bunch of commentsBrian Paul
2001-03-21depth images were broken by latest teximage changes, this fixes the problemBrian Paul
2001-03-19Split driver struct into swrast/tnl/core components.Keith Whitwell
2001-02-19Updated Driver.CopyTexImage[12]D and Driver.CopyTexSubImage[123]D functionsBrian Paul
so they work like the other teximage functions. Added fallback routines to texstore.c for drivers to use.
2001-02-06Overhaul of texture image handling.Brian Paul
1. gl_texture_image struct's Data pointer points to images in driver's format. 2. Added FetchTexel() function pointer to struct gl_texture_image. 3. Changed Driver Tex[Sub]Image functions, return void now. 4. Texture storage/fetch code in new texstore.c file. 5. Removed texture.[ch] - functions moved to state.c Note: FX driver updates not finished yet.