On 2022-05-13 05:31:00, Lionel Landwerlin wrote: > On 02/05/2022 17:15, 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 <ramalingam.c@xxxxxxxxx> > > cc: Matthew Auld <matthew.auld@xxxxxxxxx> > > cc: Thomas Hellstrom <thomas.hellstrom@xxxxxxxxxxxxxxx> > > cc: Daniel Vetter <daniel.vetter@xxxxxxxx> > > cc: Jon Bloomfield <jon.bloomfield@xxxxxxxxx> > > cc: Lionel Landwerlin <lionel.g.landwerlin@xxxxxxxxx> > > cc: Kenneth Graunke <kenneth@xxxxxxxxxxxxx> > > cc: mesa-dev@xxxxxxxxxxxxxxxxxxxxx > > cc: Jordan Justen <jordan.l.justen@xxxxxxxxx> > > cc: Tony Ye <tony.ye@xxxxxxxxx> > > Reviewed-by: Matthew Auld <matthew.auld@xxxxxxxxx> > > --- > > 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. > > I think it's fine to assume Flat-CSS surface will always be in lmem. > > I see no issue for the Anv Vulkan driver. > > Maybe Nanley or Ken can speak for the Iris GL driver? > Acked-by: Jordan Justen <jordan.l.justen@xxxxxxxxx> I think Nanley has accounted for this on iris with: https://gitlab.freedesktop.org/mesa/mesa/-/commit/42a865730ef72574e179b56a314f30fdccc6cba8 -Jordan