radeonsi/uvd: Set decode target swizzle mode on GFX9

Acked-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32829>
This commit is contained in:
David Rosca 2025-01-01 15:22:55 +01:00 committed by Marge Bot
parent 4cf46ac9d0
commit ccb450b91c
2 changed files with 2 additions and 4 deletions

View file

@ -383,7 +383,7 @@ struct ruvd_msg {
uint32_t dt_uv_surf_tile_config;
// re-use dt_wa_chroma_top_offset as dt_ext_info for UV pitch in stoney
uint32_t dt_wa_chroma_top_offset;
uint32_t dt_wa_chroma_bottom_offset;
uint32_t dt_wa_chroma_bottom_offset; /* gfx9: used as dt_swizzle_mode */
uint32_t reserved[16];

View file

@ -1493,9 +1493,7 @@ void si_uvd_set_dt_surfaces(struct ruvd_msg *msg, struct radeon_surf *luma,
break;
case RUVD_SURFACE_TYPE_GFX9:
msg->body.decode.dt_pitch = luma->u.gfx9.surf_pitch * luma->blk_w;
/* SWIZZLE LINEAR MODE */
msg->body.decode.dt_tiling_mode = RUVD_TILE_LINEAR;
msg->body.decode.dt_array_mode = RUVD_ARRAY_MODE_LINEAR;
msg->body.decode.dt_wa_chroma_bottom_offset = luma->u.gfx9.swizzle_mode;
msg->body.decode.dt_luma_top_offset = texture_offset(luma, 0, type);
msg->body.decode.dt_chroma_top_offset = texture_offset(chroma, 0, type);
if (msg->body.decode.dt_field_mode) {