# The Mesa 3D Graphics Library

# Mesa 7.10.3 Release Notes / June 13, 2011

Mesa 7.10.3 is a bug fix release which fixes bugs found since the 7.10.2 release.

Mesa 7.10.3 implements the OpenGL 2.1 API, but the version reported by glGetString(GL_VERSION) depends on the particular driver being used. Some drivers don't support all the features required in OpenGL 2.1.

See the Compiling/Installing page for prerequisites for DRI hardware acceleration.

## MD5 checksums

    d77b02034c11d6c2a55c07f82367d780  MesaLib-7.10.3.tar.gz
    8c38fe8266be8e1ed1d84076ba5a703b  MesaLib-7.10.3.tar.bz2
    614d063ecd170940d9ae7b355d365d59  MesaLib-7.10.3.zip
    8768fd562ede7ed763d92b2d22232d7a  MesaGLUT-7.10.3.tar.gz
    1496415b89da9549f0f3b34d9622e2e2  MesaGLUT-7.10.3.tar.bz2
    1f29d0e7398fd3bf9f36f5db02941198  MesaGLUT-7.10.3.zip

## New features

None.

## Bug fixes

This list is likely incomplete.

- Bug 29162 - mesa/darwin is severly broken
- Bug 31590 - Black space between colors on mole hill example
- Bug 32395 - [glsl] Incorrect code generation for shadow2DProj() with bias
- Bug 32564 - [llvmpipe] prog: Unknown command line argument '-disable-mmx'. Try: 'prog -help' with llvm-2.9svn
- Bug 32835 - [glsl] recursive #define results in infinite stack recursion
- Bug 33303 - [glsl] ir_constant_expression.cpp:72: virtual ir_constant* ir_expression::constant_expression_value(): Assertion `op[0]->type->base_type == op[1]->type->base_type' failed.
- Bug 33314 - [glsl] ir_constant_expression.cpp:122: virtual ir_constant* ir_expression::constant_expression_value(): Assertion `op[0]->type->base_type == GLSL_TYPE_BOOL' failed.
- Bug 33512 - [SNB] case ogles2conform/GL/gl_FragCoord/gl_FragCoord_xy_frag.test and gl_FragCoord_w_frag.test fail
- Bug 34280 - r200 mesa-7.10 font distortion
- Bug 34321 - The ARB_fragment_program subset of ARB_draw_buffers not implemented
- Bug 35603 - GLSL compiler freezes compiling shaders
- Bug 36173 - struct renderbuffer's 'format' field never set when using FBO
- Bug 36238 - Mesa release files don't contain scons control files
- Bug 36410 - [SNB] Rendering errors in 3DMMES subtest taiji
- Bug 36527 - [wine] Wolfenstein: Failed to translate rgb instruction.
- Bug 36651 - mesa requires bison and flex to build but configure does not check for them
- Bug 36738 - Openarena crash with r300g, swrastg + llvm > 2.8
- Bug 37648 - Logic error in mesa/main/teximage.c:texsubimage
- Bug 37739 - Color clear of FBO without color buffer crashes

## Changes

The full set of changes can be viewed by using the following GIT command:

      git log mesa-7.10.2..mesa-7.10.3

Alan Hourihane (1):

- Check for out of memory when creating fence

Alex Buell (1):

- configure: bump LIBDRM_REQUIRED to 2.4.24

Alex Deucher (2):

- r600c: add new pci ids
- r600g: add new pci ids

Brian Paul (19):

- docs: add link to 7.10.2 release notes
- scons: remove dangling reference to state_trackers/python/SConscript
- Makefile: add missing Scons files
- llvmpipe: document issue with LLVM 2.8 and earlier with AVX
- docs: replace llvmpipe/README with docs/llvmpipe.html
- glsl: add static qualifier to silence warning
- glsl: add cast to silence signed/unsigned comparison warning
- mesa: s/height/depth/ in texsubimage()
- mesa: fix void pointer arithmetic warnings
- mesa: add some missing GLAPIENTRY keywords
- mesa: check that flex/bison are installed
- st/mesa: fix incorrect texture level/face/slice accesses
- draw: fix edge flag handling in clipper (for unfilled tris/quads/polygons)
- vbo: check array indexes to prevent negative indexing
- vbo: remove node->count > 0 test in vbo_save_playback_vertex_list()
- st/mesa: fix software accum buffer format bug
- mesa: add include/c99/inttypes.h include/c99/stdbool.h include/c99/stdint.h files to tarballs
- docs: 7.10.3 release notes skeleton file, links
- mesa: bump version to 7.10.3

Carl Worth (2):

- glcpp: Simplify calling convention of parser's active_list functions
- glcpp: Fix attempts to expand recursive macros infinitely (bug #32835).

Dave Airlie (1):

- st/mesa: fix compressed mipmap generation.

Eric Anholt (19):

- i965: Fix the VS thread limits for GT1, and clarify the WM limits on both.
- glsl: Avoid cascading errors when looking for a scalar boolean and failing.
- glsl: Semantically check the RHS of `&&' even when short-circuiting.
- glsl: Semantically check the RHS of `||' even when short-circuiting.
- glsl: When we've emitted a semantic error for ==, return a bool constant.
- glsl: Perform type checking on "^^" operands.
- intel: Use _mesa_base_tex_format for FBO texture attachments.
- swrast: Don't assert against glReadPixels of GL_RED and GL_RG.
- mesa: Add a gl_renderbuffer.RowStride field like textures have.
- mesa: Add a function to set up the default renderbuffer accessors.
- intel: Use Mesa core's renderbuffer accessors for depth.
- mesa: Use _mesa_get_format_bytes to refactor out the RB get_pointer_*
- mesa: Use _mesa_get_format_bytes to refactor out the RB get_row_*
- mesa: Add renderbuffer accessors for R8/RG88/R16/RG1616.
- swrast: Don't try to adjust_colors for <8bpc when handling R16, RG1616.
- intel: Use mesa core's R8, RG88, R16, RG1616 RB accessors.
- Revert "intel: Add spans code for the ARB_texture_rg support."
- mesa: Add support for the ARB_fragment_program part of ARB_draw_buffers.
- mesa: Add support for OPTION ATI_draw_buffers to ARB_fp.

Hans de Goede (1):

- texstore: fix regression stricter check for memcpy path for unorm88 and unorm1616

Henri Verbeet (3):

- mesa: Also update the color draw buffer if it's explicitly set to GL_NONE.
- glx: Destroy dri2Hash on DRI2 display destruction.
- glx: Only remove the glx_display from the list after it's destroyed.

Ian Romanick (9):

- docs: Add 7.10.2 md5sums
- glsl: Fix off-by-one error setting max_array_access for non-constant indexing
- ir_to_mesa: Handle shadow compare w/projection and LOD bias correctly
- intel: Fix ROUND_DOWN_TO macro
- glsl: Regenerate compiler and glcpp files from cherry picks
- i965: Remove hint_gs_always and resulting dead code
- mesa: Don't try to clear a NULL renderbuffer
- mesa: Ignore blits to/from missing buffers
- docs: Add list of bugs fixed in 7.10.3 release

Jeremy Huddleston (18):

- apple: Update GL specs
- apple: Rename glcontextmodes.[ch] to glxconfig.[ch]
- apple: Rename __GLcontextModes to struct glx_config
- apple: Rename GLXcontext
- apple: Re-add driContext and do_destroy
- apple: Rename _gl_context_modes_find_visual to glx_config_find_visual
- apple: Rename GLXcontext
- apple: Change from XExtDisplayInfo to struct glx_display
- apple: ifdef out come glapi-foo on darwin
- glx: Dead code removal
- apple: Build darwin using applegl rather than indirect
- apple: Fix build failures in applegl_glx.c
- darwin: Define GALLIUM_DRIVERS_DIRS in darwin config
- apple: Package applegl source into MesaLib tarball
- darwin: Set VG_LIB_{NAME,GLOB} to fix make install
- darwin: Don't link against libGL when building libOSMesa
- darwin: Fix VG_LIB_GLOB to also match the unversioned symlink
- osmesa: Fix missing symbols when GLX_INDIRECT_RENDERING is defined.

José Fonseca (13):

- llvmpipe: Update readme.
- mesa: GL_PROVOKING_VERTEX_EXT is a GLenum, not GLboolean.
- mesa: Fix GetVertexAttrib* inside display lists.
- draw: Fix draw_variant_output::format's type.
- gallivm: Tell LLVM to not assume a 16-byte aligned stack on x86.
- gallivm: Fix for dynamically linked LLVM 2.8 library.
- st/wgl: Adjust the pbuffer invisible window size.
- st/wgl: Fix debug output format specifiers of stw_framebuffer_get_size().
- st/wgl: Prevent spurious framebuffer sizes when the window is minimized.
- st/wgl: Cope with zero width/height windows.
- st/wgl: Allow to create pbuffers bigger than the desktop.
- st/wgl: Remove buggy assertion.
- wgl: Don't hold on to user supplied HDC.

Kenneth Graunke (10):

- i965/fs: Switch W and 1/W in Sandybridge interpolation setup.
- i965: Refactor Sandybridge implied move handling.
- i965: Resolve implied moves in brw_dp_READ_4_vs_relative.
- intel: Add IS_GT2 macro for recognizing Sandybridge GT2 systems.
- i965: Allocate the whole URB to the VS and fix calculations for Gen6.
- intel: Support glCopyTexImage() from ARGB8888 to XRGB8888.
- glsl: Fix memory error when creating the supported version string.
- glsl: Regenerate autogenerated file builtin_function.cpp.
- i965: Rename various gen6 #defines to match the documentation.
- i965: Never enable the GS on Gen6.

Kostas Georgiou (1):

- r600c/g: Add pci id for FirePro 2270

Marek Olšák (18):

- tgsi/ureg: bump the limit of immediates
- st/mesa: fix changing internal format via RenderbufferStorage
- st/mesa: GenerateMipmap should not be killed by conditional rendering
- swrast: BlitFramebuffer should not be killed by conditional rendering
- st/mesa: BlitFramebuffer should not be killed by conditional rendering
- st/mesa: CopyTex(Sub)Image should not be killed by conditional rendering
- st/mesa: conditional rendering should not kill texture decompression via blit
- mesa: forbid UseProgram to be called inside Begin/End
- mesa: UseShaderProgramEXT and Uniform* shouldn't be allowed inside Begin/End
- mesa: queries of non-existent FBO attachments should return INVALID_OPERATION
- r300g: fix draw_vbo splitting on r3xx-r4xx
- r300g: fix texturing with non-3D textures and wrap R mode set to sample border
- r300g: fix occlusion queries when depth test is disabled or zbuffer is missing
- r300g: clear can be killed by render condition
- st/mesa: remove asserts in st_texture_image_copy
- mesa: fix up assertion in _mesa_source_buffer_exists
- mesa: invalidate framebuffer if internal format of renderbuffer is changed
- mesa: return after invalidating renderbuffer

Matt Turner (1):

- r300/compiler: align memory allocations to 8-bytes

Tom Stellard (3):

- r300/compiler: Fix incorrect presubtract conversion
- r300/compiler: Fix dataflow analysis bug with ELSE blocks
- r300/compiler: Limit instructions to 3 source selects

Vinson Lee (1):

- gallivm: Disable MMX-disabling code on llvm-2.9.

Zou Nan hai (1):

- i965: Align interleaved URB write length to 2

pepp (1):

- st/mesa: assign renderbuffer's format field when allocating storage