1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 2<html lang="en"> 3<head> 4 <meta http-equiv="content-type" content="text/html; charset=utf-8"> 5 <title>Mesa Release Notes</title> 6 <link rel="stylesheet" type="text/css" href="../mesa.css"> 7</head> 8<body> 9 10<div class="header"> 11 <h1>The Mesa 3D Graphics Library</h1> 12</div> 13 14<iframe src="../contents.html"></iframe> 15<div class="content"> 16 17<h1>Mesa 12.0.2 Release Notes / September 2, 2016</h1> 18 19<p> 20Mesa 12.0.2 is a bug fix release which fixes bugs found since the 12.0.1 release. 21</p> 22<p> 23Mesa 12.0.2 implements the OpenGL 4.3 API, but the version reported by 24glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) / 25glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used. 26Some drivers don't support all the features required in OpenGL 4.3. OpenGL 274.3 is <strong>only</strong> available if requested at context creation 28because compatibility contexts are not supported. 29</p> 30 31 32<h2>SHA256 checksums</h2> 33<pre> 34a08565ab1273751ebe2ffa928cbf785056594c803077c9719d0763da780f2918 mesa-12.0.2.tar.gz 35d957a5cc371dcd7ff2aa0d87492f263aece46f79352f4520039b58b1f32552cb mesa-12.0.2.tar.xz 36</pre> 37 38 39<h2>New features</h2> 40<p>None</p> 41 42 43<h2>Bug fixes</h2> 44 45<p>This list is likely incomplete.</p> 46 47<ul> 48 49<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=69622">Bug 69622</a> - eglTerminate then eglMakeCurrent crahes</li> 50 51<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89599">Bug 89599</a> - symbol 'x86_64_entry_start' is already defined when building with LLVM/clang</li> 52 53<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91342">Bug 91342</a> - Very dark textures on some objects in indoors environments in Postal 2</li> 54 55<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=92306">Bug 92306</a> - GL Excess demo renders incorrectly on nv43</li> 56 57<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94148">Bug 94148</a> - Framebuffer considered invalid when a draw call is done before glCheckFramebufferStatus</li> 58 59<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=96274">Bug 96274</a> - [NVC0] Failure when compiling compute shader: Assertion `bb->getFirst()->serial <= bb->getExit()->serial' failed</li> 60 61<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=96358">Bug 96358</a> - SSO: wrong interface validation between GS and VS (regresion due to latest gles 3.1)</li> 62 63<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=96381">Bug 96381</a> - Texture artifacts with immutable texture storage and mipmaps</li> 64 65<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=96762">Bug 96762</a> - [radeonsi,apitrace] Firewatch: nothing rendered in scrollable (text) areas</li> 66 67<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=96835">Bug 96835</a> - "gallium: Force blend color to 16-byte alignment" crash with "-march=native -O3" causes some 32bit games to crash</li> 68 69<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=96850">Bug 96850</a> - Crucible tests fail for 32bit mesa</li> 70 71<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=96908">Bug 96908</a> - [radeonsi] MSAA causes graphical artifacts</li> 72 73<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=96911">Bug 96911</a> - webgl2 conformance2/textures/misc/tex-mipmap-levels.html crashes 12.1 Intel driver</li> 74 75<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=96971">Bug 96971</a> - invariant qualifier is not valid for shader inputs</li> 76 77<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=97039">Bug 97039</a> - The Talos Principle and Serious Sam 3 GPU faults</li> 78 79<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=97207">Bug 97207</a> - [IVY BRIDGE] Fragment shader discard writing to depth</li> 80 81<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=97214">Bug 97214</a> - X not running with error "Failed to make EGL context current"</li> 82 83<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=97225">Bug 97225</a> - [i965 on HD4600 Haswell] xcom switch to ingame cinematics cause segmentation fault</li> 84 85<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=97231">Bug 97231</a> - GL_DEPTH_CLAMP doesn't clamp to the far plane</li> 86 87<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=97307">Bug 97307</a> - glsl/glcpp/tests/glcpp-test regression</li> 88 89<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=97331">Bug 97331</a> - glDrawElementsBaseVertex doesn't work in display list on i915</li> 90 91<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=97351">Bug 97351</a> - DrawElementsBaseVertex with VBO ignores base vertex on Intel GMA 9xx in some cases</li> 92 93<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=97426">Bug 97426</a> - glScissor gives vertically inverted result</li> 94 95<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=97476">Bug 97476</a> - Shader binaries should not be stored in the PipelineCache</li> 96 97<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=97567">Bug 97567</a> - [SNB, ILK] ctl, piglit regressions in mesa 12.0.2rc1</li> 98 99</ul> 100 101 102<h2>Changes</h2> 103 104<p>Andreas Boll (1):</p> 105<ul> 106 <li>configure.ac: Use ${datarootdir} for --with-vulkan-icddir help string too</li> 107</ul> 108 109<p>Bernard Kilarski (1):</p> 110<ul> 111 <li>glx: fix error code when there is no context bound</li> 112</ul> 113 114<p>Brian Paul (4):</p> 115<ul> 116 <li>svga: handle mismatched number of samplers, sampler views</li> 117 <li>mesa: use _mesa_clear_texture_image() in clear_texture_fields()</li> 118 <li>swrast: fix incorrectly positioned putImage() in swrast driver</li> 119 <li>mesa: fix format conversion bug in get_tex_rgba_uncompressed()</li> 120</ul> 121 122<p>Chad Versace (2):</p> 123<ul> 124 <li>i965: Fix miptree layout for EGLImage-based renderbuffers</li> 125 <li>i965: Respect miptree offsets in intel_readpixels_tiled_memcpy()</li> 126</ul> 127 128<p>Christian König (1):</p> 129<ul> 130 <li>st/mesa: fix reference counting bug in st_vdpau</li> 131</ul> 132 133<p>Chuck Atkins (1):</p> 134<ul> 135 <li>swr: Refactor checks for compiler feature flags</li> 136</ul> 137 138<p>Daniel Scharrer (1):</p> 139<ul> 140 <li>mesa: Fix fixed function spot lighting on newer hardware (again)</li> 141</ul> 142 143<p>Dave Airlie (2):</p> 144<ul> 145 <li>anv: fix writemask on blit fragment shader.</li> 146 <li>st/glsl_to_tgsi: fix st_src_reg_for_double constant.</li> 147</ul> 148 149<p>Emil Velikov (15):</p> 150<ul> 151 <li>docs: add sha256 checksums for 12.0.1</li> 152 <li>mesa: automake: list builddir before srcdir</li> 153 <li>mesa: scons: list builddir before srcdir</li> 154 <li>i965: store reference to the context within struct brw_fence (v2)</li> 155 <li>anv: remove internal 'validate' layer</li> 156 <li>anv: automake: use VISIBILITY_CFLAGS to restrict symbol visibility</li> 157 <li>anv: automake: build with -Bsymbolic</li> 158 <li>anv: do not export the Vulkan API</li> 159 <li>anv: remove dummy VK_DEBUG_MARKER_EXT entry points</li> 160 <li>isl: automake: use VISIBILITY_CFLAGS to restrict symbol visibility</li> 161 <li>cherry-ignore: temporary(?) drop "a4xx: make sure to actually clamp depth"</li> 162 <li>i915: Check return value of screen->image.loader->getBuffers</li> 163 <li>Revert "i965/miptree: Set logical_depth0 == 6 for cube maps"</li> 164 <li>glx/glvnd: list the strcmp arguments in correct order</li> 165 <li>Update version to 12.0.2</li> 166</ul> 167 168<p>Eric Anholt (4):</p> 169<ul> 170 <li>vc4: Close our screen's fd on screen close.</li> 171 <li>vc4: Disable early Z with computed depth.</li> 172 <li>vc4: Fix a leak of the src[] array of VPM reads in optimization.</li> 173 <li>vc4: Fix leak of the bo_handles table.</li> 174</ul> 175 176<p>Francisco Jerez (3):</p> 177<ul> 178 <li>i965: Emit SKL VF cache invalidation W/A from brw_emit_pipe_control_flush.</li> 179 <li>i965: Make room in the batch epilogue for three more pipe controls.</li> 180 <li>i965: Fix remaining flush vs invalidate race conditions in brw_emit_pipe_control_flush.</li> 181</ul> 182 183<p>Haixia Shi (1):</p> 184<ul> 185 <li>platform_android: prevent deadlock in droid_swap_buffers</li> 186</ul> 187 188<p>Ian Romanick (5):</p> 189<ul> 190 <li>mesa: Strip arrayness from interface block names in some IO validation</li> 191 <li>glsl: Pack integer and double varyings as flat even if interpolation mode is none</li> 192 <li>glcpp: Track the actual version instead of just the version_resolved flag</li> 193 <li>glcpp: Only disallow #undef of pre-defined macros on GLSL ES >= 3.00 shaders</li> 194 <li>glsl: Mark cube map array sampler types as reserved in GLSL ES 3.10</li> 195</ul> 196 197<p>Ilia Mirkin (16):</p> 198<ul> 199 <li>mesa: etc2 online compression is unsupported, don't attempt it</li> 200 <li>st/mesa: return appropriate mesa format for ETC texture formats</li> 201 <li>mesa: set _NEW_BUFFERS when updating texture bound to current buffers</li> 202 <li>nv50,nvc0: srgb rendering is only available for rgba/bgra</li> 203 <li>vbo: allow DrawElementsBaseVertex in display lists</li> 204 <li>gallium/util: add helper to compute zmin/zmax for a viewport state</li> 205 <li>nv50,nvc0: fix depth range when halfz is enabled</li> 206 <li>nv50/ir: fix bb positions after exit instructions</li> 207 <li>vbo: add basevertex when looking up elements for vbo splitting</li> 208 <li>a4xx: only disable depth clipping, not all clipping, when requested</li> 209 <li>nv50/ir: make sure cfg iterator always hits all blocks</li> 210 <li>main: add missing EXTRA_END in OES_sample_variables get check</li> 211 <li>nouveau: always enable at least one RC</li> 212 <li>nv30: only bail on color/depth bpp mismatch when surfaces are swizzled</li> 213 <li>a4xx: make sure to actually clamp depth as requested</li> 214 <li>gk110/ir: fix quadop dall emission</li> 215</ul> 216 217<p>Jan Ziak (2):</p> 218<ul> 219 <li>egl/x11: avoid using freed memory if dri2 init fails</li> 220 <li>loader: fix memory leak in loader_dri3_open</li> 221</ul> 222 223<p>Jason Ekstrand (31):</p> 224<ul> 225 <li>nir/spirv: Don't multiply the push constant block size by 4</li> 226 <li>anv: Add a stub for CmdCopyQueryPoolResults on Ivy Bridge</li> 227 <li>glsl/types: Fix function type comparison function</li> 228 <li>glsl/types: Use _mesa_hash_data for hashing function types</li> 229 <li>genxml: Make gen6-7 blending look more like gen8</li> 230 <li>anv/pipeline: Unify blend state setup between gen7 and gen8</li> 231 <li>anv: Enable independentBlend on gen7</li> 232 <li>anv: Add an align_down_npot_u32 helper</li> 233 <li>anv: Handle VK_WHOLE_SIZE properly for buffer views</li> 234 <li>i965/miptree: Enforce that height == 1 for 1-D array textures</li> 235 <li>i965/miptree: Set logical_depth0 == 6 for cube maps</li> 236 <li>nir: Add a nir_deref_foreach_leaf helper</li> 237 <li>nir/inline: Constant-initialize local variables in the callee if needed</li> 238 <li>anv/pipeline: Set up point coord enables</li> 239 <li>i965/miptree: Stop multiplying cube depth by 6 in HiZ calculations</li> 240 <li>i965/vec4: Make opt_vector_float reset at the top of each block</li> 241 <li>anv/blit2d: Add a format parameter to bind_dst and create_iview</li> 242 <li>anv/blit2d: Add support for RGB destinations</li> 243 <li>anv/clear: Make cmd_clear_image take an actual VkClearValue</li> 244 <li>anv/clear: Clear E5B9G9R9 images as R32_UINT</li> 245 <li>anv: Include the pipeline layout in the shader hash</li> 246 <li>isl: Allow multisampled array textures</li> 247 <li>anv/descriptor_set: memset anv_descriptor_set_layout</li> 248 <li>anv/pipeline: Fix bind maps for fragment output arrays</li> 249 <li>anv/allocator: Correctly set the number of buckets</li> 250 <li>anv/pipeline: Properly handle OOM during shader compilation</li> 251 <li>anv: Remove unused fields from anv_pipeline_bind_map</li> 252 <li>anv: Add pipeline_has_stage guards a few places</li> 253 <li>anv: Add a struct for storing a compiled shader</li> 254 <li>anv/pipeline: Add support for caching the push constant map</li> 255 <li>anv: Rework pipeline caching</li> 256</ul> 257 258<p>José Fonseca (2):</p> 259<ul> 260 <li>appveyor: Install pywin32 extensions.</li> 261 <li>appveyor: Force Visual Studio 2013 image.</li> 262</ul> 263 264<p>Kenneth Graunke (21):</p> 265<ul> 266 <li>genxml: Add CLIPMODE_* prefix to 3DSTATE_CLIP's "Clip Mode" enum values.</li> 267 <li>genxml: Add APIMODE_D3D missing enum values and improve consistency.</li> 268 <li>anv: Fix near plane clipping on Gen7/7.5.</li> 269 <li>anv: Enable early culling on Gen7.</li> 270 <li>anv: Unify 3DSTATE_CLIP code across generations.</li> 271 <li>genxml: Rename "API Rendering Disable" to "Rendering Disable".</li> 272 <li>anv: Properly call gen75_emit_state_base_address on Haswell.</li> 273 <li>i965: Include VUE handles for GS with invocations > 1.</li> 274 <li>nir: Add a base const_index to shared atomic intrinsics.</li> 275 <li>i965: Fix shared atomic intrinsics to pay attention to base.</li> 276 <li>mesa: Add GL_BGRA_EXT to the list of GenerateMipmap internal formats.</li> 277 <li>mesa: Don't call GenerateMipmap if Width or Height == 0.</li> 278 <li>glsl: Delete bogus ir_set_program_inouts assert.</li> 279 <li>glsl: Fix the program resource names of gl_TessLevelOuter/Inner[].</li> 280 <li>glsl: Fix location bias for patch variables.</li> 281 <li>glsl: Fix invariant matching in GLSL 4.30 and GLSL ES 1.00.</li> 282 <li>mesa: Fix uf10_to_f32() scale factor in the E == 0 and M != 0 case.</li> 283 <li>nir/builder: Add bany_inequal and bany helpers.</li> 284 <li>i965: Implement the WaPreventHSTessLevelsInterference workaround.</li> 285 <li>i965: Fix execution size of scalar TCS barrier setup code.</li> 286 <li>i965: Fix barrier count shift in scalar TCS backend.</li> 287</ul> 288 289<p>Leo Liu (2):</p> 290<ul> 291 <li>st/omx/enc: check uninitialized list from task release</li> 292 <li>vl/dri3: fix a memory leak from front buffer</li> 293</ul> 294 295<p>Marek Olšák (7):</p> 296<ul> 297 <li>glsl_to_tgsi: don't use the negate modifier in integer ops after bitcast</li> 298 <li>radeonsi: add a workaround for a compute VGPR-usage LLVM bug</li> 299 <li>winsys/amdgpu: disallow DCC with mipmaps</li> 300 <li>gallium/util: fix align64</li> 301 <li>radeonsi: only set dual source blending for MRT0</li> 302 <li>radeonsi: fix VM faults due NULL internal const buffers on CIK</li> 303 <li>radeonsi: disable SDMA texture copying on Carrizo</li> 304</ul> 305 306<p>Matt Turner (4):</p> 307<ul> 308 <li>mapi: Massage code to allow clang to compile.</li> 309 <li>i965/vec4: Ignore swizzle of VGRF for use by var_range_end().</li> 310 <li>mesa: Use AC_HEADER_MAJOR to include correct header for major().</li> 311 <li>nir: Walk blocks in source code order in lower_vars_to_ssa.</li> 312</ul> 313 314<p>Michel Dänzer (1):</p> 315<ul> 316 <li>glx: Don't use current context in __glXSendError</li> 317</ul> 318 319<p>Miklós Máté (1):</p> 320<ul> 321 <li>vbo: set draw_id</li> 322</ul> 323 324<p>Nanley Chery (5):</p> 325<ul> 326 <li>anv/descriptor_set: Fix binding partly undefined descriptor sets</li> 327 <li>isl: Fix assert on raw buffer surface state size</li> 328 <li>anv/device: Fix max buffer range limits</li> 329 <li>isl: Fix isl_tiling_is_any_y()</li> 330 <li>anv/gen7_pipeline: Set PixelShaderKillPixel for discards</li> 331</ul> 332 333<p>Nicolai Hähnle (7):</p> 334<ul> 335 <li>radeonsi: explicitly choose center locations for 1xAA on Polaris</li> 336 <li>radeonsi: fix Polaris MSAA regression</li> 337 <li>radeonsi: ensure sample locations are set for line and polygon smoothing</li> 338 <li>st_glsl_to_tgsi: only skip over slots of an input array that are present</li> 339 <li>glsl: fix optimization of discard nested multiple levels</li> 340 <li>radeonsi: flush TC L2 cache for indirect draw data</li> 341 <li>radeonsi: add si_set_rw_buffer to be used for internal descriptors</li> 342</ul> 343 344<p>Nicolas Boichat (6):</p> 345<ul> 346 <li>egl/dri2: dri2_make_current: Set EGL error if bindContext fails</li> 347 <li>egl/wayland: Set disp->DriverData to NULL on error</li> 348 <li>egl/surfaceless: Set disp->DriverData to NULL on error</li> 349 <li>egl/drm: Set disp->DriverData to NULL on error</li> 350 <li>egl/android: Set dpy->DriverData to NULL on error</li> 351 <li>egl/dri2: Add reference count for dri2_egl_display</li> 352</ul> 353 354<p>Rob Herring (3):</p> 355<ul> 356 <li>Android: add missing u_math.h include path for libmesa_isl</li> 357 <li>vc4: fix vc4_resource_from_handle() stride calculation</li> 358 <li>vc4: add hash table look-up for exported dmabufs</li> 359</ul> 360 361<p>Samuel Pitoiset (7):</p> 362<ul> 363 <li>nvc0/ir: fix images indirect access on Fermi</li> 364 <li>nvc0: fix the driver cb size when draw parameters are used</li> 365 <li>gm107/ir: add missing NEG modifier for IADD32I</li> 366 <li>gm107/ir: make use of ADD32I for all immediates</li> 367 <li>nvc0: upload sample locations on GM20x</li> 368 <li>nvc0: invalidate textures/samplers on GK104+</li> 369 <li>nv50/ir: always emit the NDV bit for OP_QUADOP</li> 370</ul> 371 372<p>Stefan Dirsch (1):</p> 373<ul> 374 <li>Avoid overflow in 'last' variable of FindGLXFunction(...)</li> 375</ul> 376 377<p>Stencel, Joanna (1):</p> 378<ul> 379 <li>egl/wayland-egl: Fix for segfault in dri2_wl_destroy_surface.</li> 380</ul> 381 382<p>Tim Rowley (2):</p> 383<ul> 384 <li>Revert "gallium: Force blend color to 16-byte alignment"</li> 385 <li>swr: switch from overriding -march to selecting features</li> 386</ul> 387 388<p>Tomasz Figa (8):</p> 389<ul> 390 <li>gallium/dri: Add shared glapi to LIBADD on Android</li> 391 <li>egl/android: Remove unused variables</li> 392 <li>egl/android: Check return value of dri2_get_dri_config()</li> 393 <li>egl/android: Stop leaking DRI images</li> 394 <li>gallium/winsys/kms: Fix double refcount when importing from prime FD (v2)</li> 395 <li>gallium/winsys/kms: Fully initialize kms_sw_dt at prime import time (v2)</li> 396 <li>gallium/winsys/kms: Move display target handle lookup to separate function</li> 397 <li>gallium/winsys/kms: Look up the GEM handle after importing a prime FD</li> 398</ul> 399 400 401</div> 402</body> 403</html> 404