[ANNOUNCE] mesa 22.1.3

2022-06-29 Thread Dylan Baker
Hi list,

As expected, mesa 22.1.3 is now available. Things are starting to slow
down, as we would expect at this point in the series, with the exception
of zink, which is still charging ahead full steam. There's a bit of
everything else ehre, including some performance fixes for wsi/x11.

Cheers,
Dylan

shortlog


Alyssa Rosenzweig (2):
  pan/bi: Fix LD_BUFFER.i16 definition
  lima,panfrost: Do not ralloc contexts against the screen

Boris Brezillon (3):
  d3d12: Keep access masks up-to-date when removing vars in 
d3d12_disable_multisampling()
  nir/serialize: Put dest last in packed_instr::tex
  nir/serialize: Support texop >= 16

Christian Gmeiner (1):
  nir: Fix unused-variable compile warnings

Connor Abbott (4):
  tu: Fix 3d GMEM store swizzle in texture descriptor
  tu: Add missing WFI to the 3d GMEM store path
  tu: Save/restore *_BIN_CONTROL in 3d GMEM store path
  tu: Fix linemode for tessellation with isolines

Dave Airlie (4):
  llvmpipe: disable alpha test branch if multisample is enabled.
  egl/x11: split large put image requests to avoid server destroy
  egl/x11: add missing put_image cookie cleanups
  wsi/x11: add xcb_put_image support for larger transfers.

Dylan Baker (11):
  docs: add sha256sum to 22.1.2 notes
  .pick_status.json: Update to 09a7304d5abf5b847cf5feb2d97758bee1696566
  .pick_status.json: Update to 2866ae32da0348caf71ad2d11c353321df626ff4
  .pick_status.json: Update to 8ce7faab47a77377a6a1313a80580828b052f878
  .pick_status.json: Mark 420270cb4f73da6251d4caec976358681f05c45c as 
backported
  .pick_status.json: Update to 9527fbe596e2ace276c158f67a900c29aad6cdd0
  .pick_status.json: Update to 9d7d1c0637529301d3e319ec5f1c883c5f249783
  lima/ci: mark some tests as pass
  .pick_status.json: Update to 58313f3257b338928a8ae4ea375eedb50accf2bb
  docs: add release notes for 22.1.3
  VERSION: bump to 21.1.3

Emma Anholt (1):
  vc4: Propagate txf_ms's dest_type to the lowered txf.

Erik Faye-Lund (1):
  docs: set language to english

Filip Gawin (1):
  r300: prefer old not native swizzle in constant folding

Iago Toral Quiroga (3):
  v3dv: fix leak
  broadcom/compiler: fix postponed TMU spills with multiple writes
  broadcom/compiler: don't predicate postponed spills

Ian Romanick (3):
  intel/fs: Add missing synchronization for WaW dependency
  nir: i32csel opcodes should compare with integer zero
  nir/algebraic: Fix NaN-unsafe fcsel patterns

Icecream95 (1):
  panfrost: Remove sync arguments from panfrost_batch_submit

Italo Nicola (1):
  virgl: overpropagate precise flags

Iván Briano (1):
  anv: do not get rid of empty/useless fragment shaders

Jason Ekstrand (9):
  nir/deref: Break out a helper for compare_deref_paths
  nir/deref: Use an index in compare_deref_paths
  nir/deref: Make compare_deref_paths take a stop callback
  nir/deref: Re-arrange variable checks in compare_deref_paths
  nir: Increase nir_variable_data::mode to 16 bits
  nir/vars_tests: Use nir_var_mem_global instead of ssbo
  nir/deref: Handle SSBO array bindings specially
  nir/deref: Handle RESTRICT for SSBO deref bindings
  anv: Properly clamp attachment layer counts

Lionel Landwerlin (2):
  vulkan/wsi: fix crash with debug names on swapchain
  anv: limit RT writes to number of color outputs

Marcin Ślusarz (2):
  intel/common: allocate space for at least one task urb
  intel/compiler: adjust task payload offsets as late as possible

Mike Blumenkrantz (27):
  zink: rename a variable
  zink: unify actual map calls in buffer mapping
  zink: use only the extents for buffer unmap flushes
  zink: fix buffer transfer flushes with offsets
  zink: store and reuse memory heap flags for buffer placement
  zink: move BAR allocation demotion up the stack
  zink: be a little selective about BAR fallback memory type
  zink: add a function for getting the minimum framebuffer layers
  zink: clamp renderpass layers better
  zink: move draw-time barrier generation down a little
  zink: track vertex buffer bind counts on resources
  zink: rework buffer barrier generation
  zink: track image binds
  zink: add a #define for vk shader bits
  zink: collect gfx stages for all bindings during barrier generation
  zink: don't short-circuit gfx stage finding during barrier generation
  zink: relax zink_resource_buffer_needs_barrier checks
  zink: cap driver inlining using ssa allocation limit
  glx/drisw: store the flush extension to the screen
  glx/drisw: invalidate drawables upon binding context if flush extension 
exists
  zink: fix dual_src_blend driconf workaround
  nir/lower_point_size: apply point size clamping
  lavapipe: copy more pNexts for pipeline creation
  lavapipe: fix renderpass info handling during pipeline creation
  

[PATCH v3 01/13] drm/doc: add rfc section for small BAR uapi

2022-06-29 Thread Matthew Auld
Add an entry for the new uapi needed for small BAR on DG2+.

v2:
  - Some spelling fixes and other small tweaks. (Akeem & Thomas)
  - Rework error capture interactions, including no longer needing
NEEDS_CPU_ACCESS for objects marked for capture. (Thomas)
  - Add probed_cpu_visible_size. (Lionel)
v3:
  - Drop the vma query for now.
  - Add unallocated_cpu_visible_size as part of the region query.
  - Improve the docs some more, including documenting the expected
behaviour on older kernels, since this came up in some offline
discussion.
v4:
  - Various improvements all over. (Tvrtko)

v5:
  - Include newer integrated platforms when applying the non-recoverable
context and error capture restriction. (Thomas)

Signed-off-by: Matthew Auld 
Cc: Thomas Hellström 
Cc: Lionel Landwerlin 
Cc: Tvrtko Ursulin 
Cc: Jon Bloomfield 
Cc: Daniel Vetter 
Cc: Jordan Justen 
Cc: Kenneth Graunke 
Cc: Akeem G Abodunrin 
Cc: mesa-dev@lists.freedesktop.org
Acked-by: Tvrtko Ursulin 
Acked-by: Akeem G Abodunrin 
Reviewed-by: Thomas Hellström 
Acked-by: Lionel Landwerlin 
Acked-by: Jordan Justen 
---
 Documentation/gpu/rfc/i915_small_bar.h   | 189 +++
 Documentation/gpu/rfc/i915_small_bar.rst |  47 ++
 Documentation/gpu/rfc/index.rst  |   4 +
 3 files changed, 240 insertions(+)
 create mode 100644 Documentation/gpu/rfc/i915_small_bar.h
 create mode 100644 Documentation/gpu/rfc/i915_small_bar.rst

diff --git a/Documentation/gpu/rfc/i915_small_bar.h 
b/Documentation/gpu/rfc/i915_small_bar.h
new file mode 100644
index ..6003c81d5aa4
--- /dev/null
+++ b/Documentation/gpu/rfc/i915_small_bar.h
@@ -0,0 +1,189 @@
+/**
+ * struct __drm_i915_memory_region_info - Describes one region as known to the
+ * driver.
+ *
+ * Note this is using both struct drm_i915_query_item and struct 
drm_i915_query.
+ * For this new query we are adding the new query id 
DRM_I915_QUERY_MEMORY_REGIONS
+ * at &drm_i915_query_item.query_id.
+ */
+struct __drm_i915_memory_region_info {
+   /** @region: The class:instance pair encoding */
+   struct drm_i915_gem_memory_class_instance region;
+
+   /** @rsvd0: MBZ */
+   __u32 rsvd0;
+
+   /**
+* @probed_size: Memory probed by the driver
+*
+* Note that it should not be possible to ever encounter a zero value
+* here, also note that no current region type will ever return -1 here.
+* Although for future region types, this might be a possibility. The
+* same applies to the other size fields.
+*/
+   __u64 probed_size;
+
+   /**
+* @unallocated_size: Estimate of memory remaining
+*
+* Requires CAP_PERFMON or CAP_SYS_ADMIN to get reliable accounting.
+* Without this (or if this is an older kernel) the value here will
+* always equal the @probed_size. Note this is only currently tracked
+* for I915_MEMORY_CLASS_DEVICE regions (for other types the value here
+* will always equal the @probed_size).
+*/
+   __u64 unallocated_size;
+
+   union {
+   /** @rsvd1: MBZ */
+   __u64 rsvd1[8];
+   struct {
+   /**
+* @probed_cpu_visible_size: Memory probed by the driver
+* that is CPU accessible.
+*
+* This will be always be <= @probed_size, and the
+* remainder (if there is any) will not be CPU
+* accessible.
+*
+* On systems without small BAR, the @probed_size will
+* always equal the @probed_cpu_visible_size, since all
+* of it will be CPU accessible.
+*
+* Note this is only tracked for
+* I915_MEMORY_CLASS_DEVICE regions (for other types the
+* value here will always equal the @probed_size).
+*
+* Note that if the value returned here is zero, then
+* this must be an old kernel which lacks the relevant
+* small-bar uAPI support (including
+* I915_GEM_CREATE_EXT_FLAG_NEEDS_CPU_ACCESS), but on
+* such systems we should never actually end up with a
+* small BAR configuration, assuming we are able to load
+* the kernel module. Hence it should be safe to treat
+* this the same as when @probed_cpu_visible_size ==
+* @probed_size.
+*/
+   __u64 probed_cpu_visible_size;
+
+   /**
+* @unallocated_cpu_visible_size: Estimate of CPU
+* visible memory remaining
+*
+