Implement scaling gravity from surface_maintenance1
First Vulkan extension implementation I've done. Looking for comments & recommendations on how to properly implement and test. I appreciate the patience.
What does this MR do and why?
According to this MR and this issue, scaling controls for VK_EXT_swapchain_maintenance1
was not implemented and marked as unsupported on all platforms.
Added VkPresentGravityFlagsEXT
members to wsi_swapchain
and added code to x11_present_to_x11_dri3
to change the x and y offsets in the XCB presentation functions. Tested on RADV on a 780M.
One this is I am not sure how to implement scaling. Would I create a new, temporary buffer with the right size and use VkCmdBlitImage
? What about using xcb_render_set_picture_transform
?
For x11_present_to_x11_sw
, would I modify dst_x
and dst_y
of xcb_put_image
to implement scaling gravity for the software drivers?