summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/image.c
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'mesa_7_5_branch'Brian Paul2009-05-221-13/+23
|\
| * mesa: allow GL_BITMAP type in _mesa_image_image_stride()Brian Paul2009-05-221-13/+23
| | | | | | | | | | | | | | It's possible to hand a GL_COLOR_INDEX/GL_BITMAP image to glTexImage3D() which gets converted to RGBA via the glPixelMap tables. This fixes a failure with piglit/fdo10370 with Gallium.
* | mesa: add GL_DOUBLE case in _mesa_sizeof_type()Brian Paul2009-05-071-0/+2
|/
* mesa: add another special/optimized case in _mesa_unpack_depth_span()Brian Paul2009-04-071-0/+11
|
* mesa: remove the noClamp parameter to _mesa_pack_rgba_span_float()Brian Paul2009-04-031-3/+6
| | | | | It was only set to GL_TRUE in one place where it isn't really needed (glGetTexImage(sRGB format)).
* mesa: add new signed rgba texture formatRoland Scheidegger2009-03-281-14/+3
| | | | | 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.
* mesa: use the IROUND() macro in pixel packing codeBrian Paul2009-03-181-108/+108
| | | | | | It turns out some tests are sensitive to rounding vs. truncating when converting float color values to integers in glReadPixels(). In particular, this matters when the destination format is 5/6/5 or 4/4/4/4, etc.
* mesa: added GL_DU8DV8_ATI case in _mesa_components_in_format()Brian Paul2009-03-121-0/+1
| | | | This gets hit when glTexSubImage2D() is called with format==GL_DU8DV8_ATI.
* mesa: move declarations before codeBrian Paul2009-03-121-2/+2
|
* mesa: add support for ATI_envmap_bumpmapRoland Scheidegger2009-03-121-3/+150
| | | | | | | | 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)
* mesa: Fix the size per pixel for packed pixel format data type.Xiang, Haihao2009-01-061-1/+1
|
* mesa: Clip copytexsubimage to read framebuffer bounds, not scissor region.Eric Anholt2008-12-181-1/+1
|
* mesa: Correct _mesa_clip_to_region() off-by-one.Eric Anholt2008-12-181-2/+2
| | | | | | | | | | Note how if: x + width == xmax + 0: width -= 0 x + width == xmax + 1: width -= 0 x + width == xmax + 2: width -= 1 So, the function was clipping to [xmin, xmax+1), not [xmin, xmax) like it was supposed to. Same for ymax.
* mesa: clamp luminance if needed.Xiang, Haihao2008-11-191-1/+1
| | | | | This fixes glReadPixels(GL_LUMINANCE, GL_FLOAT)/glGetTexImage(GL_LUMINANCE, GL_FLOAT) issue on fixed-point color buffers.
* mesa: Apply MSVC portability fixes from Alan Hourihane.José Fonseca2008-09-231-3/+3
|
* Added new _mesa_clip_copytexsubimage() function to do avoid clipping down in ↵Brian2008-09-231-0/+31
| | | | | | | the drivers. This should probably be pulled into main-line Mesa... (cherry picked from commit 324ecadbfdf9b944e059832f146451e4151dcb21)
* mesa: refactor: move _mesa_update_minmax/histogram() into image.cBrian Paul2008-09-211-3/+64
| | | | (cherry picked from commit eded7f010d344a909cf9c403eb3bdad91804d174)
* mesa: refactor: move pixel map/scale/bias code into image.cBrian Paul2008-09-211-1/+421
| | | | pixel.c is just the API-related code now.
* mesa: fix inconsistent use of GL_UNSIGNED_INT vs. GL_UNSIGNED_INT_24_8_EXT ↵Brian Paul2008-06-171-1/+1
| | | | for Z unpacking
* fix byte swap bug for GLint stencil indexes (bug 11909)Brian2007-08-091-1/+1
|
* fix stencil value masking bug 11805, and fix sizeof() bugBrian2007-08-021-6/+3
|
* handle LSB_FIRST in _mesa_pack_bitmap by the way used inXiang, Haihao2007-07-301-8/+8
| | | | _mesa_unpack_bitmap
* Change float depthScale param to _mesa_unpack_depth_span() to GLuint depthMax.Brian2007-07-081-11/+11
|
* check depthScale value for optimized ushort->uint case (fixes bug 11474)Brian2007-07-081-1/+13
|
* stencil pixel map didn't work in _mesa_unpack_stencil_span(), bug 11475Brian2007-07-051-12/+12
|
* avoid unnecessary clamping of depth values (bug 11448)Brian2007-07-021-28/+51
|
* more indentation fixes, remove 'register' keywordsBrian2007-05-101-29/+26
|
* re-indent some codeBrian2007-05-101-54/+62
|
* fix SkipPixels bugs in _mesa_pack_bitmap(), bug 10690Brian2007-04-211-4/+4
|
* In _mesa_unpack_depth_span() look for special cases of GLuint->GLushort and ↵Brian2007-04-191-0/+31
| | | | | | | | GLushort->GLuint conversion. This improves performance and avoids int/float/int conversion problems that can introduce errors during glCopyTexImage(). Another fix for the depth peeling algorithm.
* mesa: revert f9f79c8d770e696249bd98c68b563f887562c974Xiang, Haihao2007-03-211-14/+5
| | | | | | | to fix #10232 Table6.1(in gl2.1) has been applied for glGetTexImage before calling into _mesa_pack_rgba_span_float.
* mesa: SWAP_BUFF support when calling DrawPixels(DEPTH_COMPONENT)Xiang, Haihao2007-03-181-53/+45
| | | | or TexImage(DEPTH_COMPONENT)
* Colortable re-org.Brian2007-03-161-3/+3
| | | | | The pixel transfer path has three color table lookups. Use an array [3] to store that info, rather than separate variables.
* implement byteswapping for all multi-byte types in ↵Brian2007-03-151-20/+17
| | | | _mesa_pack_rgba_span_float(), bug 10298
* Re-org of gl_pixel_attrib struct.Brian2007-03-141-6/+6
| | | | | | | | Reorder fields according to the order in which the pixel transfer operations take place. Improve comments. Move the pixel maps out of gl_pixel_attrib since they're not supposed to be pushed/popped by glPush/PopAttrib. New gl_pixelmap and gl_pixelmaps structs to contain the pixelmaps.
* mesa: _mesa_unpack_imageXiang, Haihao2007-03-131-3/+89
| | | | | | | 1. take packed pixel data as a component 2. fix for GL_BITMAP when compiling glTexImage, etc into a display list: a. flip byte if lsbFirst is true since DefaultPacking->lsbFirst is false. b. handle SkipPixels
* clean-up, simplify _mesa_image_row_stride()Brian2007-03-121-23/+19
|
* take GL_UNPACK_ALIGNMENT into account in _mesa_image_row_stride() for ↵Brian2007-03-121-1/+6
| | | | GL_BITMAP type (bug 10261)
* New IMAGE_RED_TO_LUMINANCE flag passed to _mesa_pack_rgba_span_float() to ↵Brian2007-03-091-5/+14
| | | | fix glGetTexImage(GL_LUMINANCE) bug #10232.
* _mesa_pack_rgba_span_float: fix for packing data into groupXiang, Haihao2007-01-311-3/+5
|
* fix glDrawPixels(GL_COLOR_INDEX, GL_BITMAP) bug 9044Brian Paul2006-11-161-3/+3
|
* remove needless conditionBrian Paul2006-10-131-3/+1
|
* Consolidate, move, fix code related to color index and stencil image transferBrian Paul2006-10-131-48/+111
| | | | operations (shift, offset, table lookup, etc).
* In _mesa_pack_rgba_span_float() we don't need to make a temporary copy ofBrian Paul2006-10-131-17/+9
| | | | | | | 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.
* s/GLuint/GLbitfield/Brian Paul2006-10-131-7/+7
|
* removed obsolete _mesa_pack_rgba_span_chan()Brian Paul2006-10-131-72/+0
|
* don't use temp storage in _mesa_convert_colors() when possibleBrian Paul2006-10-121-47/+60
|
* Added _mesa_convert_colors().Brian Paul2006-10-111-14/+146
| | | | _mesa_clip_drawpixels() now handles Pixel.ZoomY==-1.
* undo some accidental changes in _mesa_is_legal_format_and_type()Brian Paul2006-09-111-4/+7
|
* Redefine the BYTE_TO_FLOAT() and SHORT_TO_FLOAT() macros to avoid problemsBrian Paul2006-09-101-4/+20
| | | | | | converting 0 to exactly 0.0 This goes against the OpenGL spec (see table 2.6) but solves problems when doing byte -> float -> ubyte conversion for particular texture formats.