Mesa 12.0.2 Release Notes / September 2, 2016¶
Mesa 12.0.2 is a bug fix release which fixes bugs found since the 12.0.1 release.
Mesa 12.0.2 implements the OpenGL 4.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 4.3. OpenGL 4.3 is only available if requested at context creation because compatibility contexts are not supported.
SHA256 checksums¶
a08565ab1273751ebe2ffa928cbf785056594c803077c9719d0763da780f2918 mesa-12.0.2.tar.gz
d957a5cc371dcd7ff2aa0d87492f263aece46f79352f4520039b58b1f32552cb mesa-12.0.2.tar.xz
New features¶
None
Bug fixes¶
This list is likely incomplete.
Bug 69622 - eglTerminate then eglMakeCurrent crahes
Bug 89599 - symbol ‘x86_64_entry_start’ is already defined when building with LLVM/clang
Bug 91342 - Very dark textures on some objects in indoors environments in Postal 2
Bug 92306 - GL Excess demo renders incorrectly on nv43
Bug 94148 - Framebuffer considered invalid when a draw call is done before glCheckFramebufferStatus
Bug 96274 - [NVC0] Failure when compiling compute shader: Assertion `bb->getFirst()->serial <= bb->getExit()->serial’ failed
Bug 96358 - SSO: wrong interface validation between GS and VS (regresion due to latest gles 3.1)
Bug 96381 - Texture artifacts with immutable texture storage and mipmaps
Bug 96762 - [radeonsi,apitrace] Firewatch: nothing rendered in scrollable (text) areas
Bug 96835 - “gallium: Force blend color to 16-byte alignment” crash with “-march=native -O3” causes some 32bit games to crash
Bug 96850 - Crucible tests fail for 32bit mesa
Bug 96908 - [radeonsi] MSAA causes graphical artifacts
Bug 96911 - webgl2 conformance2/textures/misc/tex-mipmap-levels.html crashes 12.1 Intel driver
Bug 96971 - invariant qualifier is not valid for shader inputs
Bug 97039 - The Talos Principle and Serious Sam 3 GPU faults
Bug 97207 - [IVY BRIDGE] Fragment shader discard writing to depth
Bug 97214 - X not running with error “Failed to make EGL context current”
Bug 97225 - [i965 on HD4600 Haswell] xcom switch to ingame cinematics cause segmentation fault
Bug 97231 - GL_DEPTH_CLAMP doesn’t clamp to the far plane
Bug 97307 - glsl/glcpp/tests/glcpp-test regression
Bug 97331 - glDrawElementsBaseVertex doesn’t work in display list on i915
Bug 97351 - DrawElementsBaseVertex with VBO ignores base vertex on Intel GMA 9xx in some cases
Bug 97426 - glScissor gives vertically inverted result
Bug 97476 - Shader binaries should not be stored in the PipelineCache
Bug 97567 - [SNB, ILK] ctl, piglit regressions in mesa 12.0.2rc1
Changes¶
Andreas Boll (1):
configure.ac: Use ${datarootdir} for –with-vulkan-icddir help string too
Bernard Kilarski (1):
glx: fix error code when there is no context bound
Brian Paul (4):
svga: handle mismatched number of samplers, sampler views
mesa: use _mesa_clear_texture_image() in clear_texture_fields()
swrast: fix incorrectly positioned putImage() in swrast driver
mesa: fix format conversion bug in get_tex_rgba_uncompressed()
Chad Versace (2):
i965: Fix miptree layout for EGLImage-based renderbuffers
i965: Respect miptree offsets in intel_readpixels_tiled_memcpy()
Christian König (1):
st/mesa: fix reference counting bug in st_vdpau
Chuck Atkins (1):
swr: Refactor checks for compiler feature flags
Daniel Scharrer (1):
mesa: Fix fixed function spot lighting on newer hardware (again)
Dave Airlie (2):
anv: fix writemask on blit fragment shader.
st/glsl_to_tgsi: fix st_src_reg_for_double constant.
Emil Velikov (15):
docs: add sha256 checksums for 12.0.1
mesa: automake: list builddir before srcdir
mesa: scons: list builddir before srcdir
i965: store reference to the context within struct brw_fence (v2)
anv: remove internal ‘validate’ layer
anv: automake: use VISIBILITY_CFLAGS to restrict symbol visibility
anv: automake: build with -Bsymbolic
anv: do not export the Vulkan API
anv: remove dummy VK_DEBUG_MARKER_EXT entry points
isl: automake: use VISIBILITY_CFLAGS to restrict symbol visibility
cherry-ignore: temporary(?) drop “a4xx: make sure to actually clamp depth”
i915: Check return value of screen->image.loader->getBuffers
Revert “i965/miptree: Set logical_depth0 == 6 for cube maps”
glx/glvnd: list the strcmp arguments in correct order
Update version to 12.0.2
Eric Anholt (4):
vc4: Close our screen’s fd on screen close.
vc4: Disable early Z with computed depth.
vc4: Fix a leak of the src[] array of VPM reads in optimization.
vc4: Fix leak of the bo_handles table.
Francisco Jerez (3):
i965: Emit SKL VF cache invalidation W/A from brw_emit_pipe_control_flush.
i965: Make room in the batch epilogue for three more pipe controls.
i965: Fix remaining flush vs invalidate race conditions in brw_emit_pipe_control_flush.
Haixia Shi (1):
platform_android: prevent deadlock in droid_swap_buffers
Ian Romanick (5):
mesa: Strip arrayness from interface block names in some IO validation
glsl: Pack integer and double varyings as flat even if interpolation mode is none
glcpp: Track the actual version instead of just the version_resolved flag
glcpp: Only disallow #undef of pre-defined macros on GLSL ES >= 3.00 shaders
glsl: Mark cube map array sampler types as reserved in GLSL ES 3.10
Ilia Mirkin (16):
mesa: etc2 online compression is unsupported, don’t attempt it
st/mesa: return appropriate mesa format for ETC texture formats
mesa: set _NEW_BUFFERS when updating texture bound to current buffers
nv50,nvc0: srgb rendering is only available for rgba/bgra
vbo: allow DrawElementsBaseVertex in display lists
gallium/util: add helper to compute zmin/zmax for a viewport state
nv50,nvc0: fix depth range when halfz is enabled
nv50/ir: fix bb positions after exit instructions
vbo: add basevertex when looking up elements for vbo splitting
a4xx: only disable depth clipping, not all clipping, when requested
nv50/ir: make sure cfg iterator always hits all blocks
main: add missing EXTRA_END in OES_sample_variables get check
nouveau: always enable at least one RC
nv30: only bail on color/depth bpp mismatch when surfaces are swizzled
a4xx: make sure to actually clamp depth as requested
gk110/ir: fix quadop dall emission
Jan Ziak (2):
egl/x11: avoid using freed memory if dri2 init fails
loader: fix memory leak in loader_dri3_open
Faith Ekstrand (31):
nir/spirv: Don’t multiply the push constant block size by 4
anv: Add a stub for CmdCopyQueryPoolResults on Ivy Bridge
glsl/types: Fix function type comparison function
glsl/types: Use _mesa_hash_data for hashing function types
genxml: Make gen6-7 blending look more like gen8
anv/pipeline: Unify blend state setup between gen7 and gen8
anv: Enable independentBlend on gen7
anv: Add an align_down_npot_u32 helper
anv: Handle VK_WHOLE_SIZE properly for buffer views
i965/miptree: Enforce that height == 1 for 1-D array textures
i965/miptree: Set logical_depth0 == 6 for cube maps
nir: Add a nir_deref_foreach_leaf helper
nir/inline: Constant-initialize local variables in the callee if needed
anv/pipeline: Set up point coord enables
i965/miptree: Stop multiplying cube depth by 6 in HiZ calculations
i965/vec4: Make opt_vector_float reset at the top of each block
anv/blit2d: Add a format parameter to bind_dst and create_iview
anv/blit2d: Add support for RGB destinations
anv/clear: Make cmd_clear_image take an actual VkClearValue
anv/clear: Clear E5B9G9R9 images as R32_UINT
anv: Include the pipeline layout in the shader hash
isl: Allow multisampled array textures
anv/descriptor_set: memset anv_descriptor_set_layout
anv/pipeline: Fix bind maps for fragment output arrays
anv/allocator: Correctly set the number of buckets
anv/pipeline: Properly handle OOM during shader compilation
anv: Remove unused fields from anv_pipeline_bind_map
anv: Add pipeline_has_stage guards a few places
anv: Add a struct for storing a compiled shader
anv/pipeline: Add support for caching the push constant map
anv: Rework pipeline caching
José Fonseca (2):
appveyor: Install pywin32 extensions.
appveyor: Force Visual Studio 2013 image.
Kenneth Graunke (21):
genxml: Add CLIPMODE_* prefix to 3DSTATE_CLIP’s “Clip Mode” enum values.
genxml: Add APIMODE_D3D missing enum values and improve consistency.
anv: Fix near plane clipping on Gen7/7.5.
anv: Enable early culling on Gen7.
anv: Unify 3DSTATE_CLIP code across generations.
genxml: Rename “API Rendering Disable” to “Rendering Disable”.
anv: Properly call gen75_emit_state_base_address on Haswell.
i965: Include VUE handles for GS with invocations > 1.
nir: Add a base const_index to shared atomic intrinsics.
i965: Fix shared atomic intrinsics to pay attention to base.
mesa: Add GL_BGRA_EXT to the list of GenerateMipmap internal formats.
mesa: Don’t call GenerateMipmap if Width or Height == 0.
glsl: Delete bogus ir_set_program_inouts assert.
glsl: Fix the program resource names of gl_TessLevelOuter/Inner[].
glsl: Fix location bias for patch variables.
glsl: Fix invariant matching in GLSL 4.30 and GLSL ES 1.00.
mesa: Fix uf10_to_f32() scale factor in the E == 0 and M != 0 case.
nir/builder: Add bany_inequal and bany helpers.
i965: Implement the WaPreventHSTessLevelsInterference workaround.
i965: Fix execution size of scalar TCS barrier setup code.
i965: Fix barrier count shift in scalar TCS backend.
Leo Liu (2):
st/omx/enc: check uninitialized list from task release
vl/dri3: fix a memory leak from front buffer
Marek Olšák (7):
glsl_to_tgsi: don’t use the negate modifier in integer ops after bitcast
radeonsi: add a workaround for a compute VGPR-usage LLVM bug
winsys/amdgpu: disallow DCC with mipmaps
gallium/util: fix align64
radeonsi: only set dual source blending for MRT0
radeonsi: fix VM faults due NULL internal const buffers on CIK
radeonsi: disable SDMA texture copying on Carrizo
Matt Turner (4):
mapi: Massage code to allow clang to compile.
i965/vec4: Ignore swizzle of VGRF for use by var_range_end().
mesa: Use AC_HEADER_MAJOR to include correct header for major().
nir: Walk blocks in source code order in lower_vars_to_ssa.
Michel Dänzer (1):
glx: Don’t use current context in __glXSendError
Miklós Máté (1):
vbo: set draw_id
Nanley Chery (5):
anv/descriptor_set: Fix binding partly undefined descriptor sets
isl: Fix assert on raw buffer surface state size
anv/device: Fix max buffer range limits
isl: Fix isl_tiling_is_any_y()
anv/gen7_pipeline: Set PixelShaderKillPixel for discards
Nicolai Hähnle (7):
radeonsi: explicitly choose center locations for 1xAA on Polaris
radeonsi: fix Polaris MSAA regression
radeonsi: ensure sample locations are set for line and polygon smoothing
st_glsl_to_tgsi: only skip over slots of an input array that are present
glsl: fix optimization of discard nested multiple levels
radeonsi: flush TC L2 cache for indirect draw data
radeonsi: add si_set_rw_buffer to be used for internal descriptors
Nicolas Boichat (6):
egl/dri2: dri2_make_current: Set EGL error if bindContext fails
egl/wayland: Set disp->DriverData to NULL on error
egl/surfaceless: Set disp->DriverData to NULL on error
egl/drm: Set disp->DriverData to NULL on error
egl/android: Set dpy->DriverData to NULL on error
egl/dri2: Add reference count for dri2_egl_display
Rob Herring (3):
Android: add missing u_math.h include path for libmesa_isl
vc4: fix vc4_resource_from_handle() stride calculation
vc4: add hash table look-up for exported dmabufs
Samuel Pitoiset (7):
nvc0/ir: fix images indirect access on Fermi
nvc0: fix the driver cb size when draw parameters are used
gm107/ir: add missing NEG modifier for IADD32I
gm107/ir: make use of ADD32I for all immediates
nvc0: upload sample locations on GM20x
nvc0: invalidate textures/samplers on GK104+
nv50/ir: always emit the NDV bit for OP_QUADOP
Stefan Dirsch (1):
Avoid overflow in ‘last’ variable of FindGLXFunction(…)
Stencel, Joanna (1):
egl/wayland-egl: Fix for segfault in dri2_wl_destroy_surface.
Tim Rowley (2):
Revert “gallium: Force blend color to 16-byte alignment”
swr: switch from overriding -march to selecting features
Tomasz Figa (8):
gallium/dri: Add shared glapi to LIBADD on Android
egl/android: Remove unused variables
egl/android: Check return value of dri2_get_dri_config()
egl/android: Stop leaking DRI images
gallium/winsys/kms: Fix double refcount when importing from prime FD (v2)
gallium/winsys/kms: Fully initialize kms_sw_dt at prime import time (v2)
gallium/winsys/kms: Move display target handle lookup to separate function
gallium/winsys/kms: Look up the GEM handle after importing a prime FD