Re: [PATCH v3] uapi/drm/i915: Document memory residency and Flat-CCS capability of obj

2022-05-18 Thread Ye, Tony

Media driver never creates a BO with more than one backing regions.

Acked-by: Tony Ye 

Thanks,

Tony

On 5/2/2022 7:15 AM, Ramalingam C wrote:

Capture the impact of memory region preference list of the objects, on
their memory residency and Flat-CCS capability.

v2:
   Fix the Flat-CCS capability of an obj with {lmem, smem} preference
   list [Thomas]
v3:
   Reworded the doc [Matt]

Signed-off-by: Ramalingam C 
cc: Matthew Auld 
cc: Thomas Hellstrom 
cc: Daniel Vetter 
cc: Jon Bloomfield 
cc: Lionel Landwerlin 
cc: Kenneth Graunke 
cc: mesa-dev@lists.freedesktop.org
cc: Jordan Justen 
cc: Tony Ye 
Reviewed-by: Matthew Auld 
---
  include/uapi/drm/i915_drm.h | 16 
  1 file changed, 16 insertions(+)

diff --git a/include/uapi/drm/i915_drm.h b/include/uapi/drm/i915_drm.h
index a2def7b27009..b7e1c2fe08dc 100644
--- a/include/uapi/drm/i915_drm.h
+++ b/include/uapi/drm/i915_drm.h
@@ -3443,6 +3443,22 @@ struct drm_i915_gem_create_ext {
   * At which point we get the object handle in &drm_i915_gem_create_ext.handle,
   * along with the final object size in &drm_i915_gem_create_ext.size, which
   * should account for any rounding up, if required.
+ *
+ * Note that userspace has no means of knowing the current backing region
+ * for objects where @num_regions is larger than one. The kernel will only
+ * ensure that the priority order of the @regions array is honoured, either
+ * when initially placing the object, or when moving memory around due to
+ * memory pressure
+ *
+ * On Flat-CCS capable HW, compression is supported for the objects residing
+ * in I915_MEMORY_CLASS_DEVICE. When such objects (compressed) has other
+ * memory class in @regions and migrated (by I915, due to memory
+ * constrain) to the non I915_MEMORY_CLASS_DEVICE region, then I915 needs to
+ * decompress the content. But I915 dosen't have the required information to
+ * decompress the userspace compressed objects.
+ *
+ * So I915 supports Flat-CCS, only on the objects which can reside only on
+ * I915_MEMORY_CLASS_DEVICE regions.
   */
  struct drm_i915_gem_create_ext_memory_regions {
/** @base: Extension link. See struct i915_user_extension. */


[ANNOUNCE] mesa 22.1.0

2022-05-18 Thread Dylan Baker
Hi list,

I'd like to announce that mesa 21.1.0 is finally available.

This release brings with it a lot of greate featurres, including (since
rc5) additional kopper backports for zink, and support for Intel's
Alchemist DG2 platform.

See you all in two weeks with 22.1.1.

Cheers,
Dylan


shortlog


Danylo Piliaiev (3):
  tu: Do not flush ccu in clear/blits during renderpass
  pps: Open writable renderer node in DrmDevice::create
  tu: Fix indices of drm_msm_gem_submit_cmd when filling them

Dave Airlie (1):
  meson: add build-id to pipe libraries

Dylan Baker (15):
  .pick_status.json: Update to 57293dee2b11ba7e52052edc4d0437f08db19144
  .pick_status.json: Mark 5a3aee78cbb70918b413cdd40dffcae7c9e97d8c as 
denominated
  .pick_status.json: Update to 5c90eb1c53f46e86717c6bf4d5253dd23c4dac1f
  .pick_status.json: Update to 07eba9a15a06ceda3469892822e8b539effc6788
  .pick_status.json: Update to 29a8f1f03bed317370e07288fd9d4b85a24562e6
  .pick_status.json: Mark 07efe6f129956d0cce0fb167d08b5f8af25d0c95 as 
backported
  .pick_status.json: Mark 1c17502ab38a238efe5d9aa4bc0ff07c967adb80 as 
backported
  .pick_status.json: Mark b6eec12327b65038dd56742dbe272c21c63a3844 as 
backported
  .pick_status.json: Mark 7057a363591279c3f65a3c4af41687e6f8142649 as 
backported
  .pick_status.json: Mark 9924fecee6412f1cad65d7d7347681856e3a525c as 
backported
  .pick_status.json: Mark 7aee9f12b9c1f17ae2662c8043c8679ce698b731 as 
backported
  .pick_status.json: Mark 5e4009fe6c91c34a7cdf8c16aa5aa53c3ff41222 as 
backported
  .pick_status.json: Mark b18448e7acfc765ee95505c7cd5e2ce6e6fc36cc as 
backported
  docs: add release notes for 22.1.0
  VERSION: bump for 22.1.0 final

Jason Ekstrand (1):
  nir: Preserve metadata if remove_dead_derefs makes no progress

Jonathan Gray (2):
  intel/dev: sync ADL-S pci ids with linux
  intel/dev: add RPL-S pci ids from drm-intel-next

Jordan Justen (3):
  intel/dev: Add INTEL_PLATFORM_DG2_G12
  intel/dev: Add DG2 G12 PCI IDs
  intel/dev: Enable first set of DG2 PCI IDs

Kenneth Graunke (3):
  anv: Fix INTEL_DEBUG=bat on XeHP
  iris: Add FLUSH_HDC to PIPE_CONTROL_CACHE_FLUSH_BITS
  Revert "st/mesa: Transcode ASTC to BC7 (BPTC) where possible"

Marcin Ślusarz (2):
  anv: update task/mesh distribution with the recommended values
  anv: disable streamout before emitting mesh shading state

Marek Olšák (1):
  radeonsi: fix a crash when failing to create a context

Mike Blumenkrantz (28):
  zink: fix up sparse texture sampling for shadow samplers
  zink: clamp out min_lod operands for explicit lod ops
  zink: fix sparse binding for arrayed textures
  zink: set sparse flag in cubemap lowering
  zink: fix sparse texture depth calcs for arrayed textures
  zink: remove implicit query resets
  zink: remove refs from shader images
  zink: reuse local res pointer in set_shader_images
  zink: simplify dumb update flagging in set_shader_images
  zink: read shader image r/w usage from incoming data struct
  zink: copy incoming shader image struct after doing updates
  zink: stop leaking shader image surfaces
  zink: fix 3d shader image miplevel calc for depth
  zink: directly reuse surface ivci when rebinding
  lavapipe: ignore depth/stencil states if attachment is not present
  lavapipe: fix pipeline handling for dynamic render zs state with pipeline 
library
  spirv: fix barrier scope assert
  zink: never create a sw context unless sw is requested
  zink: only reject non-blittable resource creation if it has no other binds
  zink: add separate error message for push descriptor set alloc fail
  zink: add extra validation for resource creation
  zink: remove input attachment usage when pruning surface usage
  zink: add extended usage and retry if resource creation fails
  zink: fix surface/bufferview cache comparisons
  zink: force render target usage for sampler-only resources
  zink: clamp 1D_ARRAY sparse textures to 2D as needed
  zink: handle PIPE_BUFFER sparse texture queries
  zink: fix non-dynamic vertex stride update flagging

Pierre-Eric Pelloux-Prayer (3):
  radeonsi: don't use wave32 for GE on gfx10 if culling is used
  amd: fix ac_build_mbcnt_add in wave32 mode
  glx: set max values for pbuffer width / height

Samuel Pitoiset (1):
  radv: disable DCC for Senra Kagura Shinovi Versus

Tomeu Vizoso (1):
  ci: Disable jobs to the Collabora lab

Victor Hermann Chiletto (1):
  radv: always check entry count in descriptor pool when allocating

xperia64 (1):
  wgl: Add driver_zink as a dependency of the wgl frontend


git tag: mesa-22.1.0

https://mesa.freedesktop.org/archive/mesa-22.1.0.tar.xz
SHA256: df6270c1371eaa2aa6eb65b95cbbb2a98b14fa4b7ba0ed45e4ca2fd32df60477  
mesa-22.1.0.tar.xz
SHA512: 
a2a6f6f37d1e63aa5537a2bbdfd8634fafebf7e223099deb0fd9