On Tuesday, July 2nd, 2024 at 15:22, Olsak, Marek <marek.ol...@amd.com> wrote:

> The code you are looking at seems out of date. The latest code is on
> amd-gfx.

Could you point me where? I searched for drm_fourcc.h and only found [1]
which I guess at least answers my question about
AMD_FMT_MOD_GFX12_DCC_MAX_COMPRESSED_BLOCK_MASK.

[1]: https://lore.kernel.org/amd-gfx/20240626183135.8606-5-marek.ol...@amd.com/

> That doesn't matter though. This seems to be a general
> question about modifiers. Here's the answer.
> 
> Modifier definitions don't describe compatibility between chips and 
> generations. They only identify the memory layout. Because of that, hw 
> support can't be inferred from modifiers. There could be multiple GFX 
> definitions, tile numbers, and even modifiers from other vendors describing 
> exactly the same layout, and all such equivalent modifiers can be exposed by 
> the same hw.
> 
> The gfx12 modifiers work in exactly the same way as any other modifiers.

Thanks, I know how modifiers work, I'm a WSI person. :)

My questions were not generic questions about modifiers though. My
questions are about the technical detail of how GFX12 buffer tiling
properties are encoded in the modifier u64.

This is something I need to know for libdrm modifier pretty-printing,
as well as drm_info and drmdb. And in general, I think it's important to
audit changes to drm_fourcc.h, rules around modifiers are a bit
complicated and easy to get wrong.

> From: Alex Deucher <alexdeuc...@gmail.com>
> Sent: July 1, 2024 13:09
> To: Simon Ser <cont...@emersion.fr>; Olsak, Marek <marek.ol...@amd.com>
> Cc: Pillai, Aurabindo <aurabindo.pil...@amd.com>; DRI Development 
> <dri-devel@lists.freedesktop.org>; Siqueira, Rodrigo 
> <rodrigo.sique...@amd.com>; Deucher, Alexander <alexander.deuc...@amd.com>; 
> Bas Nieuwenhuizen <b...@basnieuwenhuizen.nl>
> Subject: Re: AMD GFX12 modifiers
> 
> + Marek
> 
> On Sat, Jun 29, 2024 at 1:15 PM Simon Ser <cont...@emersion.fr> wrote:
> >
> > Hi all!
> >
> > In 7ceb94e87bff ("drm/amd: Add gfx12 swizzle mode defs"), some
> > definitions were added for GFX12 modifiers. However I'm not quite sure
> > I understand how these work.
> >
> > Tile values seem to not be in the same namespace as GFX9 through GFX11,
> > is that correct? In other words, can GFX9 ~ GFX11 modifiers be used with
> > GFX12, or are these mutually exclusive?
> >
> > AMD_FMT_MOD_GFX12_DCC_MAX_COMPRESSED_BLOCK_MASK has a comment explaining
> > the 3 possible values, is there a reason why #defines are missing for
> > these values?
> >
> > The comment lists a lot more swizzle modes than just 64K_2D and 256K_2D,
> > any reason why the rest are missing (at least for the 2D ones)?
> >
> > Could you explain how the new GFX12 modifiers work?
> >
> > Would it be possible to update the comment on top of #define AMD_FMT_MOD
> > to reflect the GFX12 updates?
> >
> > Thanks,
> >
> > Simon

Reply via email to