[AMD Official Use Only - AMD Internal Distribution Only]
The code you are looking at seems out of date. The latest code is on amd-gfx. 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.
Marek
From: Alex Deucher <alexdeucher@xxxxxxxxx>
Sent: July 1, 2024 13:09 To: Simon Ser <contact@xxxxxxxxxxx>; Olsak, Marek <Marek.Olsak@xxxxxxx> Cc: Pillai, Aurabindo <Aurabindo.Pillai@xxxxxxx>; DRI Development <dri-devel@xxxxxxxxxxxxxxxxxxxxx>; Siqueira, Rodrigo <Rodrigo.Siqueira@xxxxxxx>; Deucher, Alexander <Alexander.Deucher@xxxxxxx>; Bas Nieuwenhuizen <bas@xxxxxxxxxxxxxxxxxxx> Subject: Re: AMD GFX12 modifiers + Marek
On Sat, Jun 29, 2024 at 1:15 PM Simon Ser <contact@xxxxxxxxxxx> 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 |