mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-04 05:28:05 +02:00
radv/sdma: fix unaligned 96-bits copies on GFX9
On SDMA4, when the pitch isn't aligned, the width needs to be scaled by 3 for 96-bits formats. On SDMA5+, the pitch is aligned and the driver doesn't need to fallback to unaligned copies. CC: mesa-stable Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36067>
This commit is contained in:
parent
36172c41dc
commit
a51afbaff8
3 changed files with 1 additions and 11 deletions
|
|
@ -12,8 +12,3 @@ dEQP-VK.api.copy_and_blit.dedicated_allocation.resolve_image.whole_copy_before_r
|
|||
|
||||
# CTS bug
|
||||
dEQP-VK.reconvergence.maximal.fragment.terminate_invocation,Fail
|
||||
|
||||
# Likely a RADV bug on transfer queue
|
||||
dEQP-VK.api.copy_and_blit.copy_commands2.buffer_to_image_transfer_queue.2d_images.whole_unaligned_rgb32_sfloat_linear,Fail
|
||||
dEQP-VK.api.copy_and_blit.copy_commands2.image_to_buffer_transfer_queue.2d_images.whole_unaligned_r32g32b32_sfloat_linear,Fail
|
||||
dEQP-VK.api.copy_and_blit.copy_commands2.image_to_buffer_transfer_queue.2d_images.whole_unaligned_r32g32b32_uint_linear,Fail
|
||||
|
|
|
|||
|
|
@ -18,8 +18,3 @@ dEQP-VK.video.synchronization2.decode_h265.basic.event.device_set_reset,Fail
|
|||
|
||||
# CTS bug
|
||||
dEQP-VK.reconvergence.maximal.fragment.terminate_invocation,Fail
|
||||
|
||||
# Likely a RADV bug on transfer queue
|
||||
dEQP-VK.api.copy_and_blit.copy_commands2.buffer_to_image_transfer_queue.2d_images.whole_unaligned_rgb32_sfloat_linear,Fail
|
||||
dEQP-VK.api.copy_and_blit.copy_commands2.image_to_buffer_transfer_queue.2d_images.whole_unaligned_r32g32b32_sfloat_linear,Fail
|
||||
dEQP-VK.api.copy_and_blit.copy_commands2.image_to_buffer_transfer_queue.2d_images.whole_unaligned_r32g32b32_uint_linear,Fail
|
||||
|
|
|
|||
|
|
@ -131,7 +131,7 @@ static struct radv_sdma_chunked_copy_info
|
|||
radv_sdma_get_chunked_copy_info(const struct radv_device *const device, const struct radv_sdma_surf *const img,
|
||||
const VkExtent3D extent)
|
||||
{
|
||||
const unsigned extent_horizontal_blocks = DIV_ROUND_UP(extent.width, img->blk_w);
|
||||
const unsigned extent_horizontal_blocks = DIV_ROUND_UP(extent.width * img->texel_scale, img->blk_w);
|
||||
const unsigned extent_vertical_blocks = DIV_ROUND_UP(extent.height, img->blk_h);
|
||||
const unsigned aligned_row_pitch = ALIGN(extent_horizontal_blocks, 4);
|
||||
const unsigned aligned_row_bytes = aligned_row_pitch * img->bpp;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue