On Tuesday, July 2nd, 2024 at 15:22, Olsak, Marek <[email protected]> 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/[email protected]/ > 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 <[email protected]> > Sent: July 1, 2024 13:09 > To: Simon Ser <[email protected]>; Olsak, Marek <[email protected]> > Cc: Pillai, Aurabindo <[email protected]>; DRI Development > <[email protected]>; Siqueira, Rodrigo > <[email protected]>; Deucher, Alexander <[email protected]>; > Bas Nieuwenhuizen <[email protected]> > Subject: Re: AMD GFX12 modifiers > > + Marek > > On Sat, Jun 29, 2024 at 1:15 PM Simon Ser <[email protected]> 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
