[ANNOUNCE] mesa 22.3.0

2022-11-30 Thread Eric Engestrom
Hello everyone,

I'm happy to announce a new feature release, 22.3.0.

New features (in no particular order):
- GL_ARB_shader_clock on llvmpipe
- VK_KHR_shader_clock on lavapipe
- Mesa-DB, the new single file cache type
- VK_EXT_attachment_feedback_loop_layout on RADV, lavapipe
- VK_KHR_global_priority on RADV
- GL_KHR_blend_equation_advanced_coherent on zink
- VK_EXT_load_store_op_none on RADV
- VK_EXT_mutable_descriptor_type on RADV
- VK_EXT_shader_atomic_float on lvp
- VK_EXT_shader_atomic_float2 on lvp
- GL_NV_shader_atomic_float on llvmpipe
- VK_EXT_image_robustness on v3dv
- VK_EXT_extended_dynamic_state3 on lavapipe
- VK_EXT_extended_dynamic_state3 on RADV & anv
- VK_EXT_pipeline_robustness on v3dv
- Mali T620 on panfrost
- Shader disk cache on Panfrost
- support for R8G8B8, B8G8R8, R16G16B16 and 64-bit vertex buffer formats
  on RADV
- initial GFX11/RDNA3 support on RADV
- various ray tracing optimizations on RADV
- extendedDynamicState2PatchControlPoints on RADV
  (VK_EXT_extended_dynamic_state2 feature)
- Radeon Raytracing Analyzer integration (using RADV_RRA_* environment
  variables)
- OpenGL 4.5 on freedreno/a6xx (up from 3.3)
- VK_EXT_mesh_shader on ANV

A couple of notes for packagers:
- When building the Intel Vulkan driver with ray-tracing (using
  `-D intel-clc=enabled`, disabled by default), libclc is required
  (both as build and runtime dependency).
- Rusticl, the OpenCL implementation (`-D gallium-rusticl=true`,
  disabled by default), introduces a bunch of new dependencies.
  Make sure you read docs/rusticl.rst (https://docs.mesa3d.org/rusticl)
  if you're considering enabling it.

For now, no driver is enabled by default in Rusticl. See here for how
to enable them:
https://docs.mesa3d.org/envvars#rusticl-environment-variables

If you find any issues, please report them here:
https://gitlab.freedesktop.org/mesa/mesa/-/issues/new

The next bugfix release is due in two weeks, on December 14th.

Cheers,
  Eric

---

Alyssa Rosenzweig (2):
  pan/mdg: Fix out-of-order execution
  panfrost: Revert "Require 64-byte alignment on imports"

Bas Nieuwenhuizen (4):
  radv: Use correct init order for ETC2 image views
  radv: Fix sampler types in ETC2 decode.
  vulkan: Remove asserts that weren't valid for RADV ETC2 emulation.
  radv: reserve space for the scissor in vkCmdBeginRendering.

Christian Gmeiner (1):
  etnaviv: Hide MSAA support behind debug flag

Connor Abbott (3):
  tu: Use right enum for compute active_shader_stages
  tu: Fix binding NULL descriptor sets
  ir3: Don't save/restore disasm string pointer

Dawn Han (4):
  venus: extend lifetime of push descriptor set layout
  venus: extend VkPipelineLayout lifetime for batched VkCmdPushConstants()
  venus: implement vkCmdPushDescriptorSetWithTemplateKHR
  venus: enable VK_KHR_push_descriptor

Eric Engestrom (4):
  .pick_status.json: Update to 22be0d09a005b4b955a46b65a919cfd786d6814f
  .pick_status.json: Mark 470fbb35efe1935242b346427ec0fa22b40fff2b as 
denominated
  commit_in_branch.py: add support for checking staging branches
  VERSION: bump for 22.3.0

Erik Faye-Lund (7):
  zink: fix json-errors in profile-file
  zink: remove needless requirements
  zink: fix incorrect requirements
  zink: update textureCompressionBC requirement
  docs/zink: add missing required device-feature
  mesa: treat unsupported queries as dummies
  d3d12: fix max-array-layers

Gert Wollny (2):
  virgl: Fix injection of double from const mov instruction
  r600/sfn: always use four slots for Cayman trans ops

Jessica Clarke (1):
  panfrost/blend: Fix invalid const values leading to NIR validation errors

Karol Herbst (1):
  nir/lower_int64: fix shift lowering

Konstantin Seurer (2):
  radv/ray_queries: Fix AABB handling
  radv/rt: Check space before emitting descriptors

Lucas Stach (4):
  etnaviv: always use RS align when GPU has TEXTURE_HALIGN feature
  etnaviv: rs: fix blits with insufficient alignment for dual pipe operation
  etnaviv: blt: use correct TS offset in clear operations
  etnaviv: fix wrong surface TS clear size

Marek Olšák (1):
  st/vdpau: fix interop with GL

Martin Roukala (né Peres) (2):
  Revert "glx: Fix drawable refcounting for naked Windows"
  Revert "glx/dri: Fix DRI drawable release at MakeCurrent time"

Mauro Rossi (1):
  AOSP: Add intel_hasvk vulkan library suffix

Rhys Perry (1):
  ac/nir: mask shift operands

Roman Stratiienko (1):
  meson: Enable system_has_kms_drm for android

Sajeesh Sidharthan (1):
  radeonsi/vcn: set current pic index correctly

Samuel Pitoiset (8):
  radv: re-emit dynamic depth clamp enable if depth clip enable changed
  radv: make sure to mark DCC as compressed on GFX11
  radv: introduce RADV_DEBUG=nofmask
  radv: set missing SPI_SHADER_PGM_xxx registers on GFX11
  radv: set INTERPOLATE_COMP_Z to 0 on GFX11
  radv: do 

Dropping libGL/EGL vs DRI driver cross compatibility

2022-11-30 Thread Emma Anholt
Now that Amber exists and glvnd seems to be the route we plan on for
"supporting" old DRI drivers, I'm working toward garbage collecting a lot
of extra layering that we have to support out of tree DRI drivers.  I feel
that the loader interface gets in the way of implementing new EGL
functionality, and obscures how the window system interacts with the
gallium drivers.  If we ensure that we only load a Mesa driver from our
tree, then the window system can just interact with the dri_screen and
pipe_screen directly.

MR is up at https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20069

Anyone see any blocking issues for this?