anv: Fix tiling for H.265 and VP9 video surfaces on GFX 12.5+

Cc: mesa-stable
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35927>
This commit is contained in:
Calder Young 2025-07-03 13:40:40 -07:00 committed by Marge Bot
parent 77f7147cea
commit 07097c84ca
2 changed files with 18 additions and 0 deletions

View file

@ -254,6 +254,9 @@ anv_h265_decode_video(struct anv_cmd_buffer *cmd_buffer,
buf.DecodedPictureMemoryAddressAttributes = (struct GENX(MEMORYADDRESSATTRIBUTES)) {
.MOCS = anv_mocs(cmd_buffer->device, buf.DecodedPictureAddress.bo, 0),
#if GFX_VERx10 >= 125
.TiledResourceMode = TRMODE_TILEF,
#endif
};
buf.DeblockingFilterLineBufferAddress = (struct anv_address) {
@ -360,6 +363,9 @@ anv_h265_decode_video(struct anv_cmd_buffer *cmd_buffer,
buf.ReferencePictureMemoryAddressAttributes = (struct GENX(MEMORYADDRESSATTRIBUTES)) {
.MOCS = anv_mocs(cmd_buffer->device, NULL, 0),
#if GFX_VERx10 >= 125
.TiledResourceMode = TRMODE_TILEF,
#endif
};
buf.OriginalUncompressedPictureSourceMemoryAddressAttributes = (struct GENX(MEMORYADDRESSATTRIBUTES)) {
@ -2863,6 +2869,9 @@ anv_vp9_decode_video(struct anv_cmd_buffer *cmd_buffer,
buf.DecodedPictureMemoryAddressAttributes = (struct GENX(MEMORYADDRESSATTRIBUTES)) {
.MOCS = anv_mocs(cmd_buffer->device, buf.DecodedPictureAddress.bo, 0),
#if GFX_VERx10 >= 125
.TiledResourceMode = TRMODE_TILEF,
#endif
};
buf.DeblockingFilterLineBufferAddress = (struct anv_address) {
@ -2972,6 +2981,9 @@ anv_vp9_decode_video(struct anv_cmd_buffer *cmd_buffer,
buf.ReferencePictureMemoryAddressAttributes = (struct GENX(MEMORYADDRESSATTRIBUTES)) {
.MOCS = anv_mocs(cmd_buffer->device, NULL, 0),
#if GFX_VERx10 >= 125
.TiledResourceMode = TRMODE_TILEF,
#endif
};
buf.OriginalUncompressedPictureSourceMemoryAddressAttributes = (struct GENX(MEMORYADDRESSATTRIBUTES)) {

View file

@ -1496,6 +1496,9 @@ anv_h265_encode_video(struct anv_cmd_buffer *cmd, const VkVideoEncodeInfoKHR *en
buf.DecodedPictureMemoryAddressAttributes = (struct GENX(MEMORYADDRESSATTRIBUTES)) {
.MOCS = anv_mocs(cmd->device, buf.DecodedPictureAddress.bo, 0),
#if GFX_VERx10 >= 125
.TiledResourceMode = TRMODE_TILEF,
#endif
};
buf.DeblockingFilterLineBufferAddress = (struct anv_address) {
@ -1599,6 +1602,9 @@ anv_h265_encode_video(struct anv_cmd_buffer *cmd, const VkVideoEncodeInfoKHR *en
buf.ReferencePictureMemoryAddressAttributes = (struct GENX(MEMORYADDRESSATTRIBUTES)) {
.MOCS = anv_mocs(cmd->device, NULL, 0),
#if GFX_VERx10 >= 125
.TiledResourceMode = TRMODE_TILEF,
#endif
};
buf.OriginalUncompressedPictureSourceAddress =