mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 11:18:08 +02:00
ac/surface: Add RADEON_SURF_VIDEO_REFERENCE
Select supported swizzle mode for VCN DPB surfaces. Reviewed-by: Ruijing Dong <ruijing.dong@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32303>
This commit is contained in:
parent
92797c6878
commit
308bae950f
2 changed files with 9 additions and 0 deletions
|
|
@ -2518,6 +2518,12 @@ static int gfx9_compute_surface(struct ac_addrlib *addrlib, const struct radeon_
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* VCN only supports 256B_D. */
|
||||||
|
if (surf->flags & RADEON_SURF_VIDEO_REFERENCE) {
|
||||||
|
AddrSurfInfoIn.swizzleMode = ADDR_SW_256B_D;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
r = gfx9_get_preferred_swizzle_mode(addrlib->handle, info, surf, &AddrSurfInfoIn, false,
|
r = gfx9_get_preferred_swizzle_mode(addrlib->handle, info, surf, &AddrSurfInfoIn, false,
|
||||||
&AddrSurfInfoIn.swizzleMode);
|
&AddrSurfInfoIn.swizzleMode);
|
||||||
if (r)
|
if (r)
|
||||||
|
|
@ -3247,6 +3253,8 @@ static bool gfx12_compute_surface(struct ac_addrlib *addrlib, const struct radeo
|
||||||
AddrSurfInfoIn.swizzleMode = ADDR3_LINEAR;
|
AddrSurfInfoIn.swizzleMode = ADDR3_LINEAR;
|
||||||
} else if (config->is_1d && !(surf->flags & RADEON_SURF_Z_OR_SBUFFER)) {
|
} else if (config->is_1d && !(surf->flags & RADEON_SURF_Z_OR_SBUFFER)) {
|
||||||
AddrSurfInfoIn.swizzleMode = ADDR3_LINEAR;
|
AddrSurfInfoIn.swizzleMode = ADDR3_LINEAR;
|
||||||
|
} else if (surf->flags & RADEON_SURF_VIDEO_REFERENCE) {
|
||||||
|
AddrSurfInfoIn.swizzleMode = ADDR3_256B_2D;
|
||||||
} else {
|
} else {
|
||||||
AddrSurfInfoIn.swizzleMode = gfx12_select_swizzle_mode(addrlib, info, surf, &AddrSurfInfoIn);
|
AddrSurfInfoIn.swizzleMode = gfx12_select_swizzle_mode(addrlib, info, surf, &AddrSurfInfoIn);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -78,6 +78,7 @@ enum radeon_micro_mode
|
||||||
#define RADEON_SURF_NO_STENCIL_ADJUST (1ull << 35)
|
#define RADEON_SURF_NO_STENCIL_ADJUST (1ull << 35)
|
||||||
#define RADEON_SURF_PREFER_4K_ALIGNMENT (1ull << 36)
|
#define RADEON_SURF_PREFER_4K_ALIGNMENT (1ull << 36)
|
||||||
#define RADEON_SURF_PREFER_64K_ALIGNMENT (1ull << 37)
|
#define RADEON_SURF_PREFER_64K_ALIGNMENT (1ull << 37)
|
||||||
|
#define RADEON_SURF_VIDEO_REFERENCE (1ull << 38)
|
||||||
|
|
||||||
enum radeon_enc_hevc_surface_alignment
|
enum radeon_enc_hevc_surface_alignment
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue