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> 20 Mesa 12.0.2 is a bug fix release which fixes bugs found since the 12.0.1 release. 21 </p> 22 <p> 23 Mesa 12.0.2 implements the OpenGL 4.3 API, but the version reported by 24 glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) / 25 glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used. 26 Some drivers don't support all the features required in OpenGL 4.3. OpenGL 27 4.3 is <strong>only</strong> available if requested at context creation 28 because compatibility contexts are not supported. 29 </p> 30 31 32 <h2>SHA256 checksums</h2> 33 <pre> 34 a08565ab1273751ebe2ffa928cbf785056594c803077c9719d0763da780f2918 mesa-12.0.2.tar.gz 35 d957a5cc371dcd7ff2aa0d87492f263aece46f79352f4520039b58b1f32552cb 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 Knig (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 Olk (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 Dnzer (1):</p> 315 <ul> 316 <li>glx: Don't use current context in __glXSendError</li> 317 </ul> 318 319 <p>Mikls Mt (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 Hhnle (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