# The Mesa 3D Graphics Library

# Mesa 9.0.2 Release Notes / January 22th, 2013

Mesa 9.0.2 is a bug fix release which fixes bugs found since the 9.0.1 release.

Mesa 9.0 implements the OpenGL 3.1 API, but the version reported by glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) / glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used. Some drivers don't support all the features required in OpenGL 3.1. OpenGL 3.1 is only available if requested at context creation because GL_ARB_compatibility is not supported.

## MD5 checksums

    5ae216ca9fecfa349f14ecb83aa3f124  MesaLib-9.0.2.tar.gz
    dc45d1192203e418163e0017640e1cfc  MesaLib-9.0.2.tar.bz2
    93d40ec77d656dd04b561ba203ffbb91  MesaLib-9.0.2.zip

## New features

None.

## Bug fixes

This list is likely incomplete.

- Bug 22576 - [KMS] mesa demo spectex broken on rv280
- Bug 26809 - KMS/R200: Bad shading in NWN since Mesa rewrite
- Bug 45877 - [bisected regression] Oglc fbo(negative.invalidParams3) Segmentation fault
- Bug 54402 - st_glsl_to_tgsi.cpp:4006:dst_register: Assertion `index < VERT_RESULT_MAX' failed
- Bug 55175 - Memoryleak with glPopAttrib only on Intel GM45
- Bug 56442 - glcpp accepts junk after #else/#elif/#endif tokens
- Bug 56706 - EGL sets error to EGL_SUCCESS when DRI driver fails to create context
- Bug 57622 - Webgl conformance shader-with-non-reserved-words crash.
- Bug 57842 - r200: Culling is broken when rendering to an FBO
- Bug 57984 - r300g: blend sfactor=GL_DST_COLOR fails with FBOs
- Bug 58545 - [llvmpipe] src/gallium/auxiliary/gallivm/lp_bld_tgsi_info.c:75:analyse_src: Assertion `src->Index < (sizeof(ctx->imm)/sizeof((ctx->imm)[0]))' failed.
- Bug 59383 - src/glsl/tests/Makefile.am missing $(top_srcdir)/include

## Changes

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

      git log mesa-9.0.1..mesa-9.0.2

Abdiel Janulgue (1):

- mesa: Fix a crash in update_texture_state() for external texture type

Adam Jackson (4):

- glcpp: Fix visibility CFLAGS in automake
- glcpp: Typo fix.
- galahad, noop: Fix visibility CFLAGS in automake
- r300g: Fix visibility CFLAGS in automake

Alex Deucher (2):

- radeonsi: add some new SI pci ids
- radeonsi: add a new SI pci id

Ander Conselvan de Oliveira (2):

- egl/wayland: Don't invalidate drawable on swap buffers
- egl/wayland: Dispatch the event queue before get_buffers
- egl/wayland: Destroy the pending buffer callback with the egl surface

Andreas Boll (9):

- docs: fix release date of 9.0.1
- docs: add news item for 9.0.1 release
- Add .dirstamp to toplevel .gitignore
- build: use git ls-files for adding all Makefile.in into the release tarball
- build: Fix GLES linkage without libglapi
- Revert "r600g: try to fix streamout for the cases where BURST_COUNT > 0"
- mesa: update .cherry-ignore list
- mesa: Bump version to 9.0.2
- docs: Add 9.0.2 release notes

Anuj Phogat (2):

- mesa: Generate invalid operation in glGenerateMipMap for integer textures
- meta: Remove redundant code in _mesa_meta_GenerateMipmap

Ben Skeggs (3):

- nvc0: fix missing permanent bo reference on poly cache
- nvc0: point vertex runout at a valid address
- nv50: point vertex runout at a valid address

Brian Paul (5):

- svga: don't use uninitialized framebuffer state
- st/mesa: replace REALLOC() with realloc()
- st/mesa: free TGSI tokens with ureg_free_tokens()
- util: added pipe_surface_release() function
- gallivm: support more immediates in lp_build_tgsi_info()

Bryan Cain (1):

- glsl_to_tgsi: set correct register type for array and structure elements

Chad Versace (2):

- i965: Validate requested GLES context version in brwCreateContext
- egl/dri2: Set error code when dri2CreateContextAttribs fails

Chris Fester (1):

- util: null-out the node's prev/next pointers in list_del()

Christoph Bumiller (5):

- nv50/ir/tgsi: fix srcMask for TXP with SHADOW1D
- nvc0: add missing call to map edge flag in push_vbo
- nv50/ir: wrap assertion using typeid in #ifndef NDEBUG
- nouveau: fix undefined behaviour when testing sample_count
- nv50/ir: restore use of long immediate encodings

Dave Airlie (5):

- r600g: fix lod bias/explicit lod with cube maps.
- glsl_to_tgsi: fix dst register for texturing fetches.
- glsl: fix cut-n-paste error in error handling. (v2)
- glsl: initialise killed_all field.
- glsl: fix uninitialised variable from constructor

Eric Anholt (4):

- mesa: Fix the core GL genned-name handling for glBindBufferBase()/Range().
- mesa: Fix core GL genned-name handling for glBeginQuery().
- mesa: Fix segfault on reading from a missing color read buffer.
- i965/gen4: Fix memory leak each time compile_gs_prog() is called.

Ian Romanick (2):

- docs: Add 9.0.1 release md5sums
- glsl: Don't add structure fields to the symbol table

Johannes Obermayr (4):

- clover: Install CL headers.
- gallium/auxiliary: Add -fno-rtti to CXXFLAGS on LLVM >= 3.2.
- clover: Adapt libclc's INCLUDEDIR and LIBEXECDIR to make use of the new introduced libclc.pc.
- tests: AM_CPPFLAGS must include $(top_srcdir) instead of $(top_builddir).

Jonas Ådahl (1):

- wayland: Don't cancel a roundtrip when any event is received

José Fonseca (1):

- llvmpipe: Obey back writemask.

Kenneth Graunke (8):

- i965/vs: Fix unit mismatch in scratch base_offset parameter.
- i965/vs: Implement register spilling.
- mesa: Don't flatten IF statements by default.
- glcpp: Don't use infinite lookhead for #define differentiation.
- i965/vs: Don't lose the MRF writemask when doing compute-to-MRF.
- i965/vs: Preserve the type when copy propagating into an instruction.
- mesa: Fix glGetVertexAttribI[u]iv now that we have real integer attribs.
- i965: Fix AA Line Distance Mode in 3DSTATE_SF on Ivybridge.

Kristian Høgsberg (1):

- egl/wayland: Add invalidate back in eglSwapBuffers()

Maarten Lankhorst (2):

- makefiles: use configured name for -ldrm* where possible
- automake: strip LLVM_CXXFLAGS and LLVM_CPPFLAGS too

Marek Olšák (17):

- st/mesa: fix integer texture border color for some formats (v2)
- r300g: fix texture border color for sRGB formats
- mesa: bump MAX_VARYING to 32
- draw: fix assertion failure in draw_emit_vertex_attr
- vbo: fix glVertexAttribI* functions
- mesa: add MaxNumLevels to gl_texture_image, remove MaxLog2
- mesa: fix error checking of TexStorage(levels) for array and rect textures
- st/mesa: fix guessing the base level size
- st/mesa: fix computation of last_level during texture creation
- st/mesa: fix computation of last_level in GenerateMipmap
- r600g: fix streamout on RS780 and RS880
- r600g: advertise 32 streamout vec4 outputs
- r600g: fix broken streamout if streamout_begin caused a context flush
- mesa: fix BlitFramebuffer between linear and sRGB formats
- r600g: try to fix streamout for the cases where BURST_COUNT > 0
- r600g: always use a tiled resource as the destination of MSAA resolve
- mesa: add MaxNumLevels to gl_texture_image, remove MaxLog2

Mario Kleiner (1):

- mesa: Don't glPopAttrib() GL_POINT_SPRITE_COORD_ORIGIN on < OpenGL-2.0

Matt Turner (1):

- glcpp: Reject garbage after #else and #endif tokens

Stefan Dösinger (1):

- r300: Don't disable destination read if the src blend factor needs it

Tapani Pälli (1):

- android: generate matching remap_helper to dispatch table

Tom Stellard (1):

- r600g: Use LOOP_START_DX10 for loops

Vinson Lee (1):

- i915: Fix wrong sizeof argument in i915_update_tex_unit.

smoki (2):

- r200: fix broken tcl lighting
- radeon/r200: Fix tcl culling