Re: [PATCH v3] uapi/drm/i915: Document memory residency and Flat-CCS capability of obj
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
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