summaryrefslogtreecommitdiffstats
path: root/src/mesa/main
Commit message (Collapse)AuthorAgeFilesLines
* mesa: fix issues with texture border and array texturesAnuj Phogat2012-02-211-11/+59
| | | | | | | | | | | For a 1D texture array, the border only applies to the width. For a 2D texture array the border applies to the width and height but not the depth. Sucha cases were not handled correctly in _mesa_init_teximage_fields(). Note: This is a candidate for stable branches Signed-off-by: Anuj Phogat <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* mesa: check for no state change in glPrimitiveRestartIndex()Brian Paul2012-02-201-4/+5
| | | | Reviewed-by: José Fonseca <[email protected]>
* mesa: check for no state change in Enable/DisableVertexAttribArray()Brian Paul2012-02-201-10/+22
| | | | | | | Avoid setting dirty state flags when enabling or disabling a vertex attribute arrays when there's no change. Reviewed-by: José Fonseca <[email protected]>
* mesa: add missing return after _mesa_error() in update_array()Brian Paul2012-02-201-0/+1
| | | | | | NOTE: This is a candidate for the 8.0 branch. Reviewed-by: José Fonseca <[email protected]>
* mesa: Only end render-to-texture at bind time for drawbuffers.Eric Anholt2012-02-171-5/+2
| | | | | If we're only starting for new draw buffers, why would we end for old read buffers along with draw buffers?
* mesa: Update the version string to 8.1-develIan Romanick2012-02-161-1/+1
| | | | | | The numeric version was updated in 46883e0. Signed-off-by: Ian Romanick <[email protected]>
* mesa: add missing texture integer test in glTexSubImage()Brian Paul2012-02-161-0/+11
| | | | | | | | | | If the texture format is integer, the incoming user data must also be integer (and similarly for non-integer textures). NOTE: This is a candidate for the stable branches. Reviewed-by: Yuanhan Liu <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: Include the multisample enables under GL_MULTISAMPLE_BIT attrib as well.Eric Anholt2012-02-151-2/+17
| | | | | | | Fixes (with the previous commit) piglit GL_ARB_multisample/pushpop. Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* mesa: Fix push/pop of multisample coverage invert.Eric Anholt2012-02-151-5/+0
| | | | | | | | In the table of of push/pop attributes, this one doesn't fall under the enable group. Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* mesa: use z32f_x24s8 struct in format pack/unpack codeBrian Paul2012-02-152-21/+30
| | | | | | | | And remove needless & 0xff in _mesa_pack_uint_24_8_depth_stencil_row(). As suggested by José. Reviewed-by: Jose Fonseca <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* mesa: fix _mesa_get_fallback_texture() to handle all texture targetsBrian Paul2012-02-155-37/+113
| | | | | | | | | | | | Previously, this function only handled 2D textures. The fallback texture is used when we try to sample from an incomplete texture object. GLSL says sampling an incomplete texture should return (0,0,0,1). v2: use a 1-texel texture image, per José. Reviewed-by: Jose Fonseca <[email protected]>
* 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]>