[Mesa-dev] Mesa 12.0.2 release candidate

Emil Velikov emil.l.velikov at gmail.com
Thu Sep 1 14:25:07 UTC 2016


Hello list,

The candidate for the Mesa 12.0.2 is now available. Currently we have:
 - 160 queued
 - 9 nominated (outstanding)
 - and 1 rejected patches

The current queue fixes crashes in GLX, EGL and Wayland-EGL, resolves
a number of
memory leaks in the video decoding drivers, makes the Intel Vulkan driver more
robust by exporting only the required symbols (previously we would get symbol
collisions leading to strange behaviour or even crashes).

>From Android side of things a deadlock and various memory leaks have been fixed.

Not to mention the steady amount of driver fixes in i965, nouveau, radeonsi,
freedreno and vc4.

Take a look at section "Mesa stable queue" for more information.

Testing
-------
The following results are against piglit c7ed94a9de3.


Changes - classic i965(snb)
---------------------------
Fixes:
    spec/egl 1.4/eglterminate then unbind context: crash pass


Changes - swrast classic
------------------------
None


Changes - gallium softpipe
--------------------------
Fixes:
    spec/arb_gpu_shader_fp64/execution/conversion/frag-conversion-explicit-dvec3-bvec3:
fail pass
    spec/arb_gpu_shader_fp64/execution/conversion/frag-conversion-explicit-dvec4-bvec4:
fail pass
    spec/arb_gpu_shader_fp64/execution/conversion/geom-conversion-explicit-dvec3-bvec3:
fail pass
    spec/arb_gpu_shader_fp64/execution/conversion/geom-conversion-explicit-dvec4-bvec4:
fail pass
    spec/arb_gpu_shader_fp64/execution/conversion/vert-conversion-explicit-dvec3-bvec3:
fail pass
    spec/arb_gpu_shader_fp64/execution/conversion/vert-conversion-explicit-dvec4-bvec4:
fail pass
    spec/egl 1.4/eglterminate then unbind context: crash pass


Changes - gallium llvmpipe (LLVM 3.8.0)
---------------------------------------
Fixes:
    spec/arb_gpu_shader_fp64/execution/conversion/frag-conversion-explicit-dvec3-bvec3:
fail pass
    spec/arb_gpu_shader_fp64/execution/conversion/frag-conversion-explicit-dvec4-bvec4:
fail pass
    spec/arb_gpu_shader_fp64/execution/conversion/geom-conversion-explicit-dvec3-bvec3:
fail pass
    spec/arb_gpu_shader_fp64/execution/conversion/geom-conversion-explicit-dvec4-bvec4:
fail pass
    spec/arb_gpu_shader_fp64/execution/conversion/vert-conversion-explicit-dvec3-bvec3:
fail pass
    spec/arb_gpu_shader_fp64/execution/conversion/vert-conversion-explicit-dvec4-bvec4:
fail pass
    spec/egl 1.4/eglterminate then unbind context: crash pass


Testing reports/general approval
--------------------------------
Any testing reports (or general approval of the state of the branch)
will be greatly appreciated.


Trivial merge conflicts
-----------------------
commit b1b601fc7ceba1f76846fdf150557b90487dceb8
Author: Jason Ekstrand <jason.ekstrand at intel.com>

    anv: Handle VK_WHOLE_SIZE properly for buffer views

    (cherry picked from commit 593731ea3cc1aa9385e43ebc18c67574f181e1c3)


commit 485c6d231e0af4e90804ac5e0da40b7bd97ac78e
Author: Emil Velikov <emil.velikov at collabora.com>

    mesa: scons: list builddir before srcdir

    (cherry picked from commit 1c7c0d77ac1f7035558c37fc0297e9d22991d429)


commit faa432c0b653df43a7954ee3305910b0b907a2b6
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>

    nvc0: upload sample locations on GM20x

    (cherry picked from commit e7b2ce5fd872f6bf348310dcb6541ee5263886d5)


commit 178b889823d1df50bd7000e16dcf814febc31424
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>

    glsl: fix optimization of discard nested multiple levels

    (cherry picked from commit 21556d86fc74d91ab58a7496a876ad33e0f950df)


commit e1698fa4553755afa2eecbb8be00b8e5ee8ff8eb
Author: Ian Romanick <ian.d.romanick at intel.com>

    glcpp: Track the actual version instead of just the version_resolved flag

    (cherry picked from commit eda6349346616f3a45ca2d03e2c1a3da956df6b3)


commit 9cf5eb292b0b2f80264a80dcb34fc6293bb482f7
Author: Kenneth Graunke <kenneth at whitecape.org>

    i965: Implement the WaPreventHSTessLevelsInterference workaround.

    (cherry picked from commit 9e778837ff9abba0bed963d003297e3333cc7f1f)


commit 16751e0be4f07c1e99712fe844e1e0f0b46570ec
Author: Emil Velikov <emil.velikov at collabora.com>

    isl: automake: use VISIBILITY_CFLAGS to restrict symbol visibility

    (cherry picked from commit d61d25951887a08fd6ea2a9d0db82d52813ce532)


commit 346f9e5a855b8e2b6903bdcfd3cf5af7622a82cb
Author: Jason Ekstrand <jason.ekstrand at intel.com>

    anv/blit2d: Add a format parameter to bind_dst and create_iview

    (cherry picked from commit 16ddda845260213c27b6f844395ed25edbc3c091)


The plan is to have 12.0.2 this Saturday (2nd of September), some time
after 19:00 GMT.

If you have any questions or suggestions - be that about the current
patch queue or otherwise, please go ahead.


Cheers,
Emil


Mesa stable queue
-----------------

Nominated (9)
=============

Boyan Ding (1):
      i915: Add XRGB8888 format to intel_screen_make_configs

Brian Paul (1):
      configure: don't try to build gallium DRI drivers if --disable-dri is set

Haixia Shi (1):
      mesa: change state query return value for RGB565

Jean-Sébastien Pédron (1):
      ralloc: Use __attribute__((destructor)) instead of atexit(3)

Michel Dänzer (1):
      loader/dri3: Overhaul dri3_update_num_back

Tom Stellard (4):
      clover: Call clBuildProgram() notification function when build
completes v2
      gallium/drivers: Add threadsafe wrappers for pipe_context v2
      clover: Use threadsafe wrappers for pipe_context v2
      clover: Properly initialize LLVM targets when linking with component libs


Queued (160)
============

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 (11):
      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

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 (14):
      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

Jan Ziak (2):
      egl/x11: avoid using freed memory if dri2 init fails
      loader: fix memory leak in loader_dri3_open

Jason 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

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


Rejected (1)
============

Ilia Mirkin (1):
      a4xx: make sure to actually clamp depth as requested

Ilia, for the above we require the 700+loc 9f219c7047b ("freedreno: add
batch-cache and batch reordering") and maybe more. Can you cross-check if
that's the case and send over a less evasive backport.


More information about the mesa-dev mailing list