pvr: Transfer support flipped rectangle mapping
authorOskar Rundgren <oskar.rundgren@imgtec.com>
Sun, 7 May 2023 13:31:13 +0000 (14:31 +0100)
committerMarge Bot <emma+marge@anholt.net>
Wed, 17 May 2023 08:18:26 +0000 (08:18 +0000)
commit7f5920ba98f4b13a59e0d231eeca6a9bd1b373ec
treef6c516215f4822a068fbeea2a61b02ad11c3a9fa
parent41fbe9fe8eccbf7936ef8392adea2512680ecfde
pvr: Transfer support flipped rectangle mapping

The rectangles in "struct pvr_rect_mapping" are unsigned so a
flipped rectangle mapping isn't possible. Add new struct members
flip_x and flip_y to specify flipped mapping.

Add support for flipped rectangles in transfer copy blit path.
Support for flipped rectangles in the clip blit path is not done
in this change.

The new booleans are false by default because transfer command
"struct pvr_transfer_cmd" is zeroed on allocation in
pvr_transfer_cmd_alloc (pvr_blit.c).

Fixes:
  dEQP test case: dEQP-VK.api.copy_and_blit.core.blit_image.simple_tests
    .mirror_xy.nearest

Signed-off-by: Oskar Rundgren <oskar.rundgren@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22958>
src/imagination/vulkan/pvr_blit.c
src/imagination/vulkan/pvr_job_transfer.c
src/imagination/vulkan/pvr_private.h