<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <title>Mesa Release Notes</title>
  <link rel="stylesheet" type="text/css" href="../mesa.css">
</head>
<body>

<div class="header">
  <h1>The Mesa 3D Graphics Library</h1>
</div>

<iframe src="../contents.html"></iframe>
<div class="content">

<h1>Mesa 10.2.7 Release Notes / September 06, 2014</h1>

<p>
Mesa 10.2.7 is a bug fix release which fixes bugs found since the 10.2.6 release.
</p>
<p>
Mesa 10.2.7 implements the OpenGL 3.3 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.3.  OpenGL
3.3 is <strong>only</strong> available if requested at context creation
because compatibility contexts are not supported.
</p>

<h2>SHA256 checksums</h2>
<pre>
cb67dfaabf88acba29aa2cf0dd58ee17b21ebf9594f8d1226c41794da8de3e9d  MesaLib-10.2.7.tar.gz
27b958063a4c002071f14ed45c7d2a1ee52cd85e4ac8876e8a1c273495a7d43f  MesaLib-10.2.7.tar.bz2
a2796a2d5bbbc2edd22857ecc267cba68dfe5d0296f5d84ba7510877b216cc40  MesaLib-10.2.7.zip
</pre>

<h2>New features</h2>
<p>None</p>

<h2>Bug fixes</h2>

<p>This list is likely incomplete.</p>

<ul>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=36193">Bug 36193</a> - [i965] brw_eu_emit.c:182: validate_reg: Assertion `execsize &gt;= width' failed.</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=66184">Bug 66184</a> - src/mesa/state_tracker/st_glsl_to_tgsi.cpp:3216:simplify_cmp: Assertion `inst-&gt;dst.index &lt; 4096' failed.</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=70441">Bug 70441</a> - [Gen4-5 clip] Piglit spec_OpenGL_1.1_polygon-offset hits (execsize &gt;= width) assertion</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=76188">Bug 76188</a> - EGL_EXT_image_dma_buf_import fd ownership is incorrect</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=76789">Bug 76789</a> - [radeonsi] si_descriptors.c requires -std=gnu99 or -fms-extensions</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=82139">Bug 82139</a> - [r600g, bisected] multiple ubo piglit regressions</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=82255">Bug 82255</a> - [VP2] Chroma planes are vertically stretched during VDPAU playback</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=82671">Bug 82671</a> - [r600g-evergreen][compute]Empty kernel execution causes crash</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=82709">Bug 82709</a> - OpenCL not working on radeon hainan</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=82814">Bug 82814</a> - glDrawBuffers(0, NULL) segfaults in _mesa_drawbuffers</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=83079">Bug 83079</a> - [NVC0] Dota 2 (Linux native and Wine) crash with Nouveau Drivers</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=83355">Bug 83355</a> - FTBFS: src/mesa/program/program_lexer.l:122:64: error: unknown type name 'YYSTYPE'</li>

</ul>


<h2>Changes</h2>

<p>Adam Jackson (1):</p>
<ul>
  <li>radeonsi: Don't use anonymous struct trick in atom tracking</li>
</ul>

<p>Alex Deucher (2):</p>
<ul>
  <li>radeonsi: add new CIK pci ids</li>
  <li>radeonsi: add new SI pci ids</li>
</ul>

<p>Andreas Boll (1):</p>
<ul>
  <li>winsys/radeon: fix nop packet padding for hawaii</li>
</ul>

<p>Anuj Phogat (1):</p>
<ul>
  <li>i965: Bail on vec4 copy propagation for scratch writes with source modifiers</li>
</ul>

<p>Brian Paul (1):</p>
<ul>
  <li>mesa: fix NULL pointer deref bug in _mesa_drawbuffers()</li>
</ul>

<p>Carl Worth (2):</p>
<ul>
  <li>docs: Add sha256 sums for the 10.2.6 release</li>
  <li>Makefile: Switch from md5sums to sha256sums</li>
</ul>

<p>Dave Airlie (1):</p>
<ul>
  <li>i965: add missing parens in vec4 visitor</li>
</ul>

<p>Emil Velikov (17):</p>
<ul>
  <li>configure.ac: bail out if building gallium_gbm without gallium_egl</li>
  <li>android: gallium/nouveau: fix include folders, link against libstlport</li>
  <li>android: egl/main: fixup the nouveau build</li>
  <li>automake: gallium/freedreno: drop spurious include dirs</li>
  <li>android: gallium/freedreno: add preliminary build</li>
  <li>android: egl/main: add/enable freedreno</li>
  <li>android: gallium/auxiliary: drop log2/log2f redefitions</li>
  <li>android: drop HAL_PIXEL_FORMAT_RGBA_{5551,4444}</li>
  <li>android: glsl: the stlport over the limited Android STL</li>
  <li>android: dri/i915: do not build an 'empty' driver</li>
  <li>cherry-ignore: remove patch that lacking previous dependencies</li>
  <li>cherry-ignore: PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE is not it 10.2</li>
  <li>cherry-ignore: drop whitespace fix</li>
  <li>cherry-ignore: reject a15088338eb</li>
  <li>get-pick-list.sh: Require explicit "10.2" for nominating stable patches</li>
  <li>mesa: fix make tarballs</li>
  <li>Update VERSION to 10.2.7</li>
</ul>

<p>Ian Romanick (1):</p>
<ul>
  <li>mesa: Handle uninitialized textures like other textures in get_tex_level_parameter_image</li>
</ul>

<p>Ilia Mirkin (9):</p>
<ul>
  <li>nouveau: make sure to invalidate any vbo state as well</li>
  <li>nouveau: don't keep stale pointer to free'd data</li>
  <li>nvc0/ir: avoid infinite recursion when finding first uses of tex</li>
  <li>nv50: zero out unbound samplers</li>
  <li>nvc0: don't make 1d staging textures linear</li>
  <li>nv50/ir: avoid creating instructions that can't be emitted</li>
  <li>nv50: set the miptree address when clearing bo's in vp2 init</li>
  <li>nv50: mt address may not be the underlying bo's start address</li>
  <li>nv50: attach the buffer bo to the miptree structures</li>
</ul>

<p>Jan Vesely (1):</p>
<ul>
  <li>gallivm: Fix build with latest LLVM</li>
</ul>

<p>José Fonseca (1):</p>
<ul>
  <li>mesa: Move declaration to top of block.</li>
</ul>

<p>Kenneth Graunke (3):</p>
<ul>
  <li>i965/vec4: Set NoMask for GS_OPCODE_SET_VERTEX_COUNT on Gen8+.</li>
  <li>i965/vec4: Respect ir-&gt;force_writemask_all in Gen8 code generation.</li>
  <li>i965/clip: Fix brw_clip_unfilled.c/compute_offset's assembly.</li>
</ul>

<p>Marek Olšák (3):</p>
<ul>
  <li>r600g: fix constant buffer fetches</li>
  <li>radeonsi: save scissor state and sample mask for u_blitter</li>
  <li>glsl_to_tgsi: allocate and enlarge arrays for temporaries on demand</li>
</ul>

<p>Paulo Sergio Travaglia (2):</p>
<ul>
  <li>android: gallium/radeon: attempt to fix the android build</li>
  <li>android: egl/main: resolve radeon linking issues</li>
</ul>

<p>Pekka Paalanen (1):</p>
<ul>
  <li>egl_dri2: fix EXT_image_dma_buf_import fds</li>
</ul>

<p>Robert Bragg (1):</p>
<ul>
  <li>meta: save and restore swizzle for _GenerateMipmap</li>
</ul>

<p>Tom Stellard (7):</p>
<ul>
  <li>radeon/compute: Fix reported values for MAX_GLOBAL_SIZE and MAX_MEM_ALLOC_SIZE</li>
  <li>radeonsi/compute: Update reference counts for buffers in si_set_global_binding()</li>
  <li>radeonsi/compute: Call si_pm4_free_state() after emitting compute state</li>
  <li>clover: Flush the command queue in clReleaseCommandQueue()</li>
  <li>radeon: Add work-around for missing Hainan support in clang &lt; 3.6 v2</li>
  <li>pipe-loader: Fix memory leak v2</li>
  <li>r600g/compute: Don't initialize vertex_buffer_state masks to 0x2</li>
</ul>

<p>Vinson Lee (1):</p>
<ul>
  <li>gallivm: Fix build with LLVM &gt;= 3.6 r215967.</li>
</ul>


</div>
</body>
</html>
