summaryrefslogtreecommitdiffstats
path: root/src/mesa/main
Commit message (Collapse)AuthorAgeFilesLines
* mesa: add MESA_FORMAT_Z32_FLOAT_X24S8 case in format unpack codeBrian Paul2012-02-151-0/+13
| | | | | | | | Added in _mesa_pack_uint_24_8_depth_stencil_row(). This could be hit by something like glDrawPixels(GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8) into a MESA_FORMAT_Z32_FLOAT_X24S8 buffer. Reviewed-by: Jose Fonseca <[email protected]>
* mesa: fix comment typos in fbobject.cBrian Paul2012-02-151-2/+2
|
* mesa: add missing GL_UNSIGNED_INT_10F_11F_11F_REV caseBrian Paul2012-02-131-0/+9
| | | | | | in _mesa_error_check_format_and_type(). Fixes https://bugs.freedesktop.org/show_bug.cgi?id=45967
* extensions: remove unused code.Dave Airlie2012-02-121-3/+0
| | | | | | Comparing an unsigned to < 0 is pointless. Signed-off-by: Dave Airlie <[email protected]>
* mesa/texparam: drop double semicolonsDave Airlie2012-02-121-12/+12
| | | | | | no idea where these came from, drop them. Signed-off-by: Dave Airlie <[email protected]>
* Bump version to 8.1 (devel)Ian Romanick2012-02-101-1/+1
| | | | Signed-off-by: Ian Romanick <[email protected]>
* mesa: remove unused gl_shared_state::DriverData fieldBrian Paul2012-02-101-2/+0
|
* mesa: fix proxy texture target initializationBrian Paul2012-02-101-7/+12
| | | | | | | | | | | The mapping from TEXTURE_x_INDEX to GL_TEXTURE_x was broken in alloc_proxy_textures() because the elements in the targets[] array were in the wrong order. This didn't actually cause any failures since we never really use the proxy texture's Target field. But let's get it right. NOTE: This is a candidate for the 8.0 branch.
* mesa: remove unused gl_pixelmap::Map8[] arrayBrian Paul2012-02-102-3/+0
| | | | Reviewed-by: Jose Fonseca <[email protected]>
* mesa: remove unused _mesa_map_ci8_to_rgba8()Brian Paul2012-02-102-32/+0
| | | | Reviewed-by: Jose Fonseca <[email protected]>
* mesa: fix error handling in get_tex_rgba_compressed()Brian Paul2012-02-101-0/+2
|
* mesa: use _mesa_format_matches_format_and_type() in get_tex_memcpy()Brian Paul2012-02-101-41/+6
|
* mesa: push row stride adjustment down into _mesa_decompress_image()Brian Paul2012-02-102-12/+11
| | | | | | | There's a mismatch in row strides for compressed textures between what Driver.MapTextureImage() returns and what the software fetch-texel functions use. Move it down a layer. The next step would be to fix this in the fetch-texel functions.
* mesa: replace GET_SHINE_TAB_ENTRY() macro with an inline functionBrian Paul2012-02-101-15/+17
|
* mesa: make _mesa_invalidate_shine_table() staticBrian Paul2012-02-102-6/+9
|
* mesa: remove gl_light::_SpotExpTable fieldBrian Paul2012-02-103-55/+1
| | | | | | | Just use pow() instead. Spot lights aren't too common and fixed-function lighting isn't as important as it used to me. This saves 32KB per context. Each table was 4KB and there's 8 lights.
* mesa: fix comment typoBrian Paul2012-02-101-1/+1
|
* mesa: fix maximum allowed proxy texture size conditionAnuj Phogat2012-02-091-11/+11
| | | | | | | | | | | | | | | | | | | | | width, height parameter in glTexImage2D() includes: texture image width + 2 * border (if any). So when doing the texture size check in _mesa_test_proxy_teximage() width and height should not exceed maximum supported size for target texture type + 2 * border. i.e. 1 << (ctx->Const.MaxTextureLevels - 1) + 2 * border Texture border is anyway stripped out before it is given to intel or gallium drivers. This patch fixes Intel oglconform test case: max_values negative.textureSize.textureCube Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44970 Note: This is a candidate for mesa 8.0 branch. Signed-off-by: Anuj Phogat <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* mesa: remove unused _mesa_error_check_format_type() functionBrian Paul2012-02-072-121/+0
| | | | | | | This was only used by glReadPixels and glDrawPixels. Now those functions do the corresponding error checks. Signed-off-by: Brian Paul <[email protected]>
* mesa: stop using _mesa_error_check_format_type() in glReadPixelsBrian Paul2012-02-071-2/+7
| | | | | | | | Basically the same story as the previous commit. But we were already calling _mesa_source_buffer_exists() in ReadPixels(). Yeah, we were calling it twice. Signed-off-by: Brian Paul <[email protected]>
* mesa: stop using _mesa_error_check_format_type() in glDrawPixelsBrian Paul2012-02-071-3/+35
| | | | | | | | | | | | The _mesa_error_check_format_type() function does two things: check that format/type is legal and check that the destination (or source buffer for glReadPixels) actually exists. Just move the relevant parts of that into _mesa_DrawPixels(). We'll do a similar change in glReadPixels then get rid of the function altogether. Signed-off-by: Brian Paul <[email protected]>
* mesa: remove redundant format/type checks in glReadPixels()Brian Paul2012-02-071-35/+0
| | | | | | These are done in _mesa_error_check_format_and_type(). Signed-off-by: Brian Paul <[email protected]>
* mesa: remove redundant format/type checks in glGetTexImage()Brian Paul2012-02-071-34/+0
| | | | | | | The _mesa_error_check_format_and_type() function will catch all those cases now. Signed-off-by: Brian Paul <[email protected]>
* mesa: new _mesa_error_check_format_and_type() functionBrian Paul2012-02-075-94/+178
| | | | | | | | | | | | | | | | | | | | This replaces the _mesa_is_legal_format_and_type() function. According to the spec, some invalid format/type combinations to glDrawPixels, ReadPixels and glTexImage should generate GL_INVALID_ENUM but others should generate GL_INVALID_OPERATION. With the old function we didn't make that distinction and generated GL_INVALID_ENUM errors instead of GL_INVALID_OPERATION. The new function returns one of those errors or GL_NO_ERROR. This will also let us remove some redundant format/type checks in follow-on commit. v2: add more checks for ARB_texture_rgb10_a2ui at the top of _mesa_error_check_format_and_type() per Ian. Signed-off-by: Brian Paul <[email protected]>
* mesa: support more format/type combos in _mesa_dump_image()Brian Paul2012-02-061-1/+28
|
* mesa: check_index_bounds off-by-one fixRoland Scheidegger2012-02-061-1/+1
| | | | | | | | in check_index_bounds the comparison needs to be "greater equal" since contrary to the name _MaxElement is the count of the array (this matches similar code in vbo_exec_DrawRangeElementsBaseVertex). Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Fix the error message function names for glFlushMappedBufferRange().Eric Anholt2012-02-031-7/+7
| | | | Reviewed-by: Brian Paul <[email protected]>
* mesa: Fix bad-enum/no-buffer error handling for buffer object functions.Eric Anholt2012-02-031-87/+39
| | | | | | | | | | | | | | | For all the extension entrypoints using the get_buffer() helper, they wanted the same error handling. In some cases, the error was doing the same error return whether target was a bad enum, or a user buffer wasn't bound. (Actually, GL_ARB_map_buffer_range doesn't specify the error for a zero buffer being bound for MapBufferRange, though it does for FlushMappedBufferRange. This appears to be an oversight). Fixes piglit GL_ARB_copy_buffer/negative-bound-zero. Reviewed-by: Brian Paul <[email protected]>
* mesa: Fix copy-and-paste error in _mesa_pack_rgba_span_floatIan Romanick2012-02-021-3/+2
| | | | | | | | | | | GL_RG_INTEGER only has two components, not three. I'll be surprised if anyone ever tries to glReadPixels(..., GL_SHORT, GL_RG_INTEGER, ...). This was found by inspection. NOTE: This is a candidate for the 8.0 branch. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Fix copy-and-paste bug in do_row_3DIan Romanick2012-02-021-3/+3
| | | | | | | | | | | | | Several of the half-float cases used 4 as the texel size when it should have been some smaller value. NOTE: This is a candidate for the 8.0 branch. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=43324 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=43325
* mesa: Set the gl_array_object::ARBsemantics flag at the right timeIan Romanick2012-02-022-1/+10
| | | | | | | | | | | | | With 0963990 the flag was only set when Bind created the object. In all cases where ::ARBsemantics could be true, this path never happened. Instead, add a _Used flag to track whether a VAO has ever been bound. On the first Bind, set the _Used flag, and set the ARBsemantics flag to the correct value. NOTE: This is a candidate for release branches. Signed-off-by: Ian Romanick <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=45423
* mesa: Add unpack_uint_z_row support for floating-point depth buffersIan Romanick2012-02-021-0/+32
| | | | | | | | | | | | | | | This is a hack, and it will result in incorrect rendering. However, it does eliminate spurious warnings in several piglit CopyPixels tests that involve floating-point depth buffers. The real solution is to add a zf field to SWspan to store float Z values. When a float depth buffer is involved, swrast should also populate the zf field. I'll consider this post-8.0 work. NOTE: This is a candidate for the 8.0 branch. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* mesa: fix maximum allowed proxy texture size conditionAnuj Phogat2012-02-011-11/+11
| | | | | | | | | | | | | | | | | | | | width, height parameter in glTexImage2D() includes: texture image width + 2 * border (if any). So when doing the texture size check in _mesa_test_proxy_teximage() width and height should not exceed maximum supported size for target texture type. i.e. 1 << (ctx->Const.MaxTextureLevels - 1) Texture border is anyway stripped out before it is given to intel or gallium drivers. This patch fixes Intel oglconform test case: max_values Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44970 Note: This is a candidate for mesa 8.0 branch. Signed-off-by: Anuj Phogat <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
* mesa: reference shared state in glPushAttrib(GL_TEXTURE_BIT)Brian Paul2012-02-011-0/+13
| | | | | | | | | | | | This fixes a dangling texture object pointer bug hit via wglShareLists(). When we push the GL_TEXTURE_BIT state we may push references to the default texture objects which are owned by the gl_shared_state object. We don't want to accidentally delete that shared state while the attribute stack references shared objects. So keep a reference to it. NOTE: This is a candidate for the 8.0 branch. Reviewed-by: José Fonseca <[email protected]>
* mesa: use new _mesa_reference_shared_state() functionBrian Paul2012-02-013-38/+49
| | | | | | | | | This cleans up the reference counting of shared context state. The next patch will use this to fix an actual bug. NOTE: This is a candidate for the 8.0 branch. Reviewed-by: José Fonseca <[email protected]>
* mesa: remove stray comment in PopAttrib() codeBrian Paul2012-02-011-1/+0
|
* mesa: consolidate general ubyte texstore codeBrian Paul2012-01-301-171/+71
| | | | Reviewed-by: Eric Anholt <[email protected]>
* mesa: use _mesa_pack_ubyte_rgba_rect() in texstore codeBrian Paul2012-01-301-219/+64
| | | | | | | Simplifies the general case code in the ubyte-valued texture format functions. More consolidation to come in subsequent commits. Reviewed-by: Eric Anholt <[email protected]>
* mesa: added _mesa_pack_ubyte_rgba_rect()Brian Paul2012-01-302-0/+46
| | | | Reviewed-by: Eric Anholt <[email protected]>
* mesa: Add a flag for forcing all GLSL extensions to "warn".Eric Anholt2012-01-301-0/+6
| | | | | NOTE: This is a candidate for the 8.0 branch. Reviewed-by: Kenneth Graunke <[email protected]>
* mesa/format_unpack: add LUMINANCE 8/16 UINT/INTDave Airlie2012-01-301-0/+58
| | | | | | | | This just copies what the LUMINANCE_ALPHA bits do. Fixes piglit tests on softpipe complaining about missing unpack. Signed-off-by: Dave Airlie <[email protected]>
* mesa: remove byteswap check in fast_read_rgba_pixels_memcpy()Brian Paul2012-01-271-5/+0
| | | | | | It's handled by _mesa_format_matches_format_and_type() now. Reviewed-by: Ian Romanick <[email protected]>
* mesa: more use of _mesa_format_matches_format_and_type() in texstore codeBrian Paul2012-01-271-12/+7
| | | | | | For rgb9_e5, r11_g11_b10f, argb2101010_uint functions. Reviewed-by: Ian Romanick <[email protected]>
* mesa: more use of _mesa_format_matches_format_and_type() in texstore codeBrian Paul2012-01-271-19/+4
| | | | | | For rgb332, signed rgba8888, signed rgba888_rev functions. Reviewed-by: Ian Romanick <[email protected]>
* mesa: more use of _mesa_format_matches_format_and_type() in texstore codeBrian Paul2012-01-271-13/+7
| | | | | | For rgba5551, argb1555, argb2101010 formats. Reviewed-by: Ian Romanick <[email protected]>
* mesa: more use of _mesa_format_matches_format_and_type() in texstore codeBrian Paul2012-01-271-18/+8
| | | | For rgb565, argb8888, rgb888, argb4444 functions.
* mesa: use _mesa_format_matches_format_and_type() in texstore codeBrian Paul2012-01-271-44/+4
| | | | | | | | | | This simplifies the code quite a bit, consolidates some cases and possibly catches more cases for the memcpy path. More such changes will follow. Do just a few at a time to help bisect any possible regressions. Reviewed-by: Ian Romanick <[email protected]>
* mesa: implement more cases in _mesa_format_matches_format_and_type()Brian Paul2012-01-271-2/+22
| | | | Reviewed-by: Ian Romanick <[email protected]>
* mesa: use swapBytes parameter in _mesa_format_matches_format_and_type()Brian Paul2012-01-271-38/+93
| | | | | | | | This will let us use memcpy in more situations. We can also remove the checks for byte spapping that happen before the calls to _mesa_format_matches_format_and_type(). Reviewed-by: Ian Romanick <[email protected]>
* mesa: added swapBytes parameter to _mesa_format_matches_format_and_type()Brian Paul2012-01-273-6/+10
| | | | | | Not actually used yet though. Reviewed-by: Ian Romanick <[email protected]>