# The Mesa 3D Graphics Library

# Mesa 13.0.4 Release Notes / February 1, 2017

Mesa 13.0.4 is a bug fix release which fixes bugs found since the 13.0.3 release.

Mesa 13.0.4 implements the OpenGL 4.4 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 4.4. OpenGL 4.4 is only available if requested at context creation because compatibility contexts are not supported.

## SHA256 checksums

    a78518030b0b7d77a6c426ac3ff40f4b27fb0e2cdb0dfbe685024a46cae59bad  mesa-13.0.4.tar.gz
    a95d7ce8f7bd5f88585e4be3144a341236d8c0fc91f6feaec59bb8ba3120e726  mesa-13.0.4.tar.xz

## New features

None

## Bug fixes

- Bug 92634 - gallium's vl_mpeg12_decoder does not work with st/va
- Bug 94512 - X segfaults with glx-tls enabled in a x32 environment
- Bug 94900 - HD6950 GPU lockup loop with various steam games (octodad[always], saints row 4[always], dead island[always], grid autosport[sometimes])
- Bug 98263 - [radv] The Talos Principle fails to launch with "Fatal error: Cannot set display mode."
- Bug 98914 - mesa-vdpau-drivers: breaks vdpau for mpeg2video
- Bug 98975 - Wasteland 2 Directors Cut: Hangs. GPU fault
- Bug 99030 - [HSW, regression] transform feedback fails on Linux 4.8
- Bug 99085 - [EGL] dEQP-EGL.functional.sharing.gles2.multithread intermittent
- Bug 99097 - [vulkancts] dEQP-VK.image.store regression
- Bug 99100 - [SKL,BDW,BSW,KBL] dEQP-VK.glsl.return.return_in_dynamic_loop_dynamic_vertex regression
- Bug 99144 - Incorrect rendering using glDrawArraysInstancedBaseInstance and first != 0 on Skylake
- Bug 99154 - Link time error when using multiple builtin functions
- Bug 99158 - vdpau segfaults and gpu locks with kodi on R9285
- Bug 99185 - dEQP-EGL.functional.image.modify.tex_rgb5_a1_tex_subimage_rgba8
- Bug 99188 - dEQP-EGL.functional.create_context_ext.robust_gl_30.rgb565_no_depth_no_stencil
- Bug 99210 - ES3-CTS.functional.texture.mipmap.cube.generate.rgba5551_*
- Bug 99354 - [G71] "Assertion `bkref' failed" reproducible with glmark2
- Bug 99450 - [amdgpu] Payday 2 visual glitches on some models
- Bug 99451 - polygon offset use after free

## Changes

Andres Rodriguez (2):

- vulkan/wsi: clarify the severity of lack of DRI3 v2
- radv: fix include order for installed headers v2

Arda Coskunses (2):

- vulkan/wsi/x11: don't crash on null visual
- vulkan/wsi/x11: don't crash on null wsi x11 connection

Bas Nieuwenhuizen (1):

- radv: Support loader interface version 3.

Chad Versace (10):

- egl: Check config's surface types in eglCreate*Surface()
- dri: Add __DRI_IMAGE_FORMAT_ARGB1555
- mesa/texformat: Handle GL_RGBA + GL_UNSIGNED_SHORT_5_5_5_1
- egl: Emit correct error when robust context creation fails
- anv: Handle vkGetPhysicalDeviceQueueFamilyProperties with count == 0
- mesa/shaderobj: Fix races on refcounts
- meta: Disable dithering during glGenerateMipmap
- vulkan: Add new cast macros for VkIcd types
- vulkan: Update vk_icd.h to interface version 3
- anv: Support loader interface version 3 (patch v2)

Christian König (1):

- vl/zscan: fix "Fix trivial sign compare warnings"

Chuck Atkins (1):

- glx: Add missing glproto dependency for gallium-xlib glx

Damien Grassart (1):

- anv: return count of queue families written

Dave Airlie (1):

- radv: flush smem for uniform buffer bit.

Emil Velikov (10):

- docs: add sha256 checksums for 13.0.3
- cherry-ignore: add couple of intel_miptree_copy related patches
- cherry-ignore: add radv: Call nir_lower_constant_initializers."
- get-typod-pick-list.sh: add new script
- cherry-ignore: add "_mesa_ClampColor extension/version fix"
- cherry-ignore: add wayland race condition fix
- egl/wayland: use the destroy_window_callback for swrast
- automake: use shared llvm libs for make distcheck
- get-pick-list.sh: Require explicit "13.0" for nominating stable patches
- Update version to 13.0.4

Francisco Jerez (1):

- anv: Fix uniform and storage buffer offset alignment limits.

Fredrik Höglund (2):

- radv: fix dual source blending
- dri3: Fix MakeCurrent without a default framebuffer

Grazvydas Ignotas (1):

- mapi: update the asm code to support x32

Heiko Przybyl (1):

- r600/sb: Fix loop optimization related hangs on eg

Ilia Mirkin (1):

- nouveau: take extra push space into account for pushbuf_space calls

Jason Ekstrand (4):

- i965/generator/tex: Handle an immediate sampler with an indirect texture
- anv/formats: Use the real format for B4G4R4A4_UNORM_PACK16 on gen8
- nir/search: Only allow matching SSA values
- isl: Mark A4B4G4R4_UNORM as supported on gen8

Jonas Ådahl (1):

- egl/wayland: Cleanup private display connection when init fails

Kenneth Graunke (7):

- i965: Don't bail on vertex element processing if we need draw params.
- i965: Fix last slot calculations
- i965: Fix texturing in the vec4 TCS and GS backends.
- spirv: Move cursor before calling vtn_ssa_value() in phi 2nd pass.
- i965: Make BLORP disable the NP Z PMA stall fix.
- glsl: Use ir_var_temporary when generating inline functions.
- i965: Properly flush in hsw_pause_transform_feedback().

Marek Olšák (4):

- vdpau: call texture_get_handle while the mutex is being held
- va: call texture_get_handle while the mutex is being held
- radeonsi: for the tess barrier, only use emit_waitcnt on SI and LLVM 3.9+
- radeonsi: don't forget to add HTILE to the buffer list for texturing

Michel Dänzer (1):

- cso: Don't restore nr_samplers in cso_restore_fragment_samplers

Nanley Chery (3):

- anv/cmd_buffer: Fix arrayed depth/stencil attachments
- anv/cmd_buffer: Fix programmed HiZ qpitch
- anv/image: Disable HiZ for depth buffer arrays

Nayan Deshmukh (1):

- st/va: delay calling begin_frame until we have all parameters

Rob Clark (1):

- freedreno: some fence cleanup

Samuel Pitoiset (1):

- gallium/hud: add missing break in hud_cpufreq_graph_install()

Timothy Arceri (3):

- nir: Turn imov/fmov of undef into undef
- glsl: fix opt_minmax redundancy checks against baserange
- util: fix list_is_singular()

Zachary Michaels (1):

- radeonsi: Always leave poly_offset in a valid state