<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Sep 16, 2021, 2:12 AM Marek Olšák <<a href="mailto:maraeo@gmail.com" target="_blank" rel="noreferrer">maraeo@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Based on the discussions we had about displayable DCC internally, only MAX_COMPRESSED_BLOCK = 64B with both DCC_INDEPENDENT_64B_BLOCKS and DCC_INDEPENDENT_128B_BLOCKS is supported by DCN on RDNA 2.</div><div><br></div><div>Is there something new on the hardware side that I missed?<br></div></div></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Per the comments you put in mesa that was only needed for 4k?</div><div dir="auto"><br></div><div dir="auto"><a href="https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/src/amd/common/ac_surface.c#L1444">https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/src/amd/common/ac_surface.c#L1444</a></div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div></div><div><br></div><div>Marek<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Sep 14, 2021 at 7:59 PM Joshua Ashton <<a href="mailto:joshua@froggi.es" rel="noreferrer noreferrer" target="_blank">joshua@froggi.es</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Some games, ie. Doom Eternal, present from compute following compute<br>
post-fx and would benefit from having DCC image stores available.<br>
<br>
DCN on gfx10_3 doesn't need INDEPENDENT_128B_BLOCKS = 0 so we can expose<br>
these modifiers capable of DCC image stores.<br>
<br>
Signed-off-by: Joshua Ashton <<a href="mailto:joshua@froggi.es" rel="noreferrer noreferrer" target="_blank">joshua@froggi.es</a>><br>
Reviewed-by: Bas Nieuwenhuizen <<a href="mailto:bas@basnieuwenhuizen.nl" rel="noreferrer noreferrer" target="_blank">bas@basnieuwenhuizen.nl</a>><br>
---<br>
 .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 21 +++++++++++++++++++<br>
 1 file changed, 21 insertions(+)<br>
<br>
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c<br>
index 2a24e43623cb..a4e33a4336a0 100644<br>
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c<br>
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c<br>
@@ -4817,6 +4817,16 @@ add_gfx10_3_modifiers(const struct amdgpu_device *adev,<br>
                    AMD_FMT_MOD_SET(DCC_INDEPENDENT_128B, 1) |<br>
                    AMD_FMT_MOD_SET(DCC_MAX_COMPRESSED_BLOCK, AMD_FMT_MOD_DCC_BLOCK_64B));<br>
<br>
+       add_modifier(mods, size, capacity, AMD_FMT_MOD |<br>
+                   AMD_FMT_MOD_SET(TILE, AMD_FMT_MOD_TILE_GFX9_64K_R_X) |<br>
+                   AMD_FMT_MOD_SET(TILE_VERSION, AMD_FMT_MOD_TILE_VER_GFX10_RBPLUS) |<br>
+                   AMD_FMT_MOD_SET(PIPE_XOR_BITS, pipe_xor_bits) |<br>
+                   AMD_FMT_MOD_SET(PACKERS, pkrs) |<br>
+                   AMD_FMT_MOD_SET(DCC, 1) |<br>
+                   AMD_FMT_MOD_SET(DCC_CONSTANT_ENCODE, 1) |<br>
+                   AMD_FMT_MOD_SET(DCC_INDEPENDENT_128B, 1) |<br>
+                   AMD_FMT_MOD_SET(DCC_MAX_COMPRESSED_BLOCK, AMD_FMT_MOD_DCC_BLOCK_128B));<br>
+<br>
        add_modifier(mods, size, capacity, AMD_FMT_MOD |<br>
                    AMD_FMT_MOD_SET(TILE, AMD_FMT_MOD_TILE_GFX9_64K_R_X) |<br>
                    AMD_FMT_MOD_SET(TILE_VERSION, AMD_FMT_MOD_TILE_VER_GFX10_RBPLUS) |<br>
@@ -4829,6 +4839,17 @@ add_gfx10_3_modifiers(const struct amdgpu_device *adev,<br>
                    AMD_FMT_MOD_SET(DCC_INDEPENDENT_128B, 1) |<br>
                    AMD_FMT_MOD_SET(DCC_MAX_COMPRESSED_BLOCK, AMD_FMT_MOD_DCC_BLOCK_64B));<br>
<br>
+       add_modifier(mods, size, capacity, AMD_FMT_MOD |<br>
+                   AMD_FMT_MOD_SET(TILE, AMD_FMT_MOD_TILE_GFX9_64K_R_X) |<br>
+                   AMD_FMT_MOD_SET(TILE_VERSION, AMD_FMT_MOD_TILE_VER_GFX10_RBPLUS) |<br>
+                   AMD_FMT_MOD_SET(PIPE_XOR_BITS, pipe_xor_bits) |<br>
+                   AMD_FMT_MOD_SET(PACKERS, pkrs) |<br>
+                   AMD_FMT_MOD_SET(DCC, 1) |<br>
+                   AMD_FMT_MOD_SET(DCC_RETILE, 1) |<br>
+                   AMD_FMT_MOD_SET(DCC_CONSTANT_ENCODE, 1) |<br>
+                   AMD_FMT_MOD_SET(DCC_INDEPENDENT_128B, 1) |<br>
+                   AMD_FMT_MOD_SET(DCC_MAX_COMPRESSED_BLOCK, AMD_FMT_MOD_DCC_BLOCK_128B));<br>
+<br>
        add_modifier(mods, size, capacity, AMD_FMT_MOD |<br>
                    AMD_FMT_MOD_SET(TILE, AMD_FMT_MOD_TILE_GFX9_64K_R_X) |<br>
                    AMD_FMT_MOD_SET(TILE_VERSION, AMD_FMT_MOD_TILE_VER_GFX10_RBPLUS) |<br>
-- <br>
2.33.0<br>
<br>
</blockquote></div>
</blockquote></div></div></div>