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