<!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.5 Release Notes / August 2, 2014</h1>

<p>
Mesa 10.2.5 is a bug fix release which fixes bugs found since the 10.2.4 release.
</p>
<p>
Mesa 10.2.5 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>
b4459f0bf7f4a3c8fb78ece3c9d2eac3d0e5bf38cb470f2a72705e744bd0310d  MesaLib-10.2.5.tar.bz2
7b4dd0cb683f8c7dc48a3e7a315742bed58ddcd7b756c462aca4177bd1acdc79  MesaLib-10.2.5.tar.gz
6180565914fb238dd77ccdaff96b6155d9a6e1b3e981ebbf6a6851301b384fed  MesaLib-10.2.5.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=80991">Bug 80991</a> - [BDW]Piglit spec_ARB_sample_shading_builtin-gl-sample-mask_2 fails</li>

</ul>

<h2>Changes</h2>

<p>Abdiel Janulgue (3):</p>
<ul>
  <li>i965/fs: Refactor check for potential copy propagated instructions.</li>
  <li>i965/fs: skip copy-propate for logical instructions with negated src entries</li>
  <li>i965/vec4: skip copy-propate for logical instructions with negated src entries</li>
</ul>

<p>Adel Gadllah (1):</p>
<ul>
  <li>i915: Fix up intelInitScreen2 for DRI3</li>
</ul>

<p>Anuj Phogat (2):</p>
<ul>
  <li>i965: Fix z_offset computation in intel_miptree_unmap_depthstencil()</li>
  <li>mesa: Don't use memcpy() in _mesa_texstore() for float depth texture data</li>
</ul>

<p>Brian Paul (3):</p>
<ul>
  <li>mesa: fix geometry shader memory leaks</li>
  <li>st/mesa: fix geometry shader memory leak</li>
  <li>gallium/u_blitter: fix some shader memory leaks</li>
</ul>

<p>Carl Worth (6):</p>
<ul>
  <li>docs: Add sha256 checksums for the 10.2.3 release</li>
  <li>Update VERSION to 10.2.4</li>
  <li>Add release notes for 10.2.4</li>
  <li>docs: Add SHA256 checksums for the 10.2.4 release</li>
  <li>cherry-ignore: Ignore a few patches picked in the previous stable release</li>
  <li>Update version to 10.2.5</li>
</ul>

<p>Christian König (1):</p>
<ul>
  <li>radeonsi: fix order of r600_need_dma_space and r600_context_bo_reloc</li>
</ul>

<p>Eric Anholt (1):</p>
<ul>
  <li>i965: Generalize the pixel_x/y workaround for all UW types.</li>
</ul>

<p>Ian Romanick (2):</p>
<ul>
  <li>mesa: Don't allow GL_TEXTURE_BORDER queries outside compat profile</li>
  <li>mesa: Don't allow GL_TEXTURE_{LUMINANCE,INTENSITY}_* queries outside compat profile</li>
</ul>

<p>Ilia Mirkin (5):</p>
<ul>
  <li>nv50/ir: retrieve shadow compare from first arg</li>
  <li>nv50/ir: ignore bias for samplerCubeShadow on nv50</li>
  <li>nvc0/ir: do quadops on the right texture coordinates for TXD</li>
  <li>nvc0/ir: use manual TXD when offsets are involved</li>
  <li>nvc0: make sure that the local memory allocation is aligned to 0x10</li>
</ul>

<p>Jason Ekstrand (2):</p>
<ul>
  <li>main/format_pack: Fix a wrong datatype in pack_ubyte_R8G8_UNORM</li>
  <li>main/get_hash_params: Add GL_SAMPLE_SHADING_ARB</li>
</ul>

<p>Jordan Justen (1):</p>
<ul>
  <li>i965: Add auxiliary surface field #defines for Broadwell.</li>
</ul>

<p>José Fonseca (1):</p>
<ul>
  <li>st/wgl: Clamp wglChoosePixelFormatARB's output nNumFormats to nMaxFormats.</li>
</ul>

<p>Kenneth Graunke (13):</p>
<ul>
  <li>i965: Don't copy propagate abs into Broadwell logic instructions.</li>
  <li>i965: Set execution size to 8 for instructions with force_sechalf set.</li>
  <li>i965/fs: Set force_uncompressed and force_sechalf on samplepos setup.</li>
  <li>i965/fs: Use WE_all for gl_SampleID header register munging.</li>
  <li>i965: Add plumbing for Broadwell's auxiliary surface support.</li>
  <li>i965: Drop SINT workaround for CMS layout on Broadwell.</li>
  <li>i965: Hook up the MCS buffers in SURFACE_STATE on Broadwell.</li>
  <li>i965: Add 2x MSAA support to the MCS allocation function.</li>
  <li>i965: Enable compressed multisample support (CMS) on Broadwell.</li>
  <li>i965: Add missing persample_shading field to brw_wm_debug_recompile.</li>
  <li>i965/fs: Fix gl_SampleID for 2x MSAA and SIMD16 mode.</li>
  <li>i965/fs: Fix gl_SampleMask handling for SIMD16 on Gen8+.</li>
  <li>i965/fs: Set LastRT on the final FB write on Broadwell.</li>
</ul>

<p>Marek Olšák (14):</p>
<ul>
  <li>gallium: fix u_default_transfer_inline_write for textures</li>
  <li>st/mesa: fix samplerCubeShadow with bias</li>
  <li>radeonsi: fix samplerCubeShadow with bias</li>
  <li>radeonsi: add support for TXB2</li>
  <li>r600g: switch SNORM conversion to DX and GLES behavior</li>
  <li>radeonsi: fix CMASK and HTILE calculations for Hawaii</li>
  <li>gallium/util: add a helper for calculating primitive count from vertex count</li>
  <li>radeonsi: fix a hang with instancing on Hawaii</li>
  <li>radeonsi: fix a hang with streamout on Hawaii</li>
  <li>winsys/radeon: fix vram_size overflow with Hawaii</li>
  <li>radeonsi: fix occlusion queries on Hawaii</li>
  <li>r600g,radeonsi: switch all occurences of array_size to util_max_layer</li>
  <li>radeonsi: fix build because of lack of draw_indirect infrastructure in 10.2</li>
  <li>radeonsi: use DRAW_PREAMBLE on CIK</li>
</ul>

<p>Matt Turner (8):</p>
<ul>
  <li>i965/vec4: Don't return void from a void function.</li>
  <li>i965/vec4: Don't fix_math_operand() on Gen &gt;= 8.</li>
  <li>i965/fs: Don't fix_math_operand() on Gen &gt;= 8.</li>
  <li>i965/fs: Make try_constant_propagate() static.</li>
  <li>i965/fs: Constant propagate into 2-src math instructions on Gen8.</li>
  <li>i965/vec4: Constant propagate into 2-src math instructions on Gen8.</li>
  <li>i965/fs: Don't use brw_imm_* unnecessarily.</li>
  <li>i965/fs: Set correct number of regs_written for MCS fetches.</li>
</ul>

<p>Thorsten Glaser (1):</p>
<ul>
  <li>nv50: fix build failure on m68k due to invalid struct alignment assumptions</li>
</ul>

<p>Tom Stellard (1):</p>
<ul>
  <li>clover: Call end_query before getting timestamp result v2</li>
</ul>

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