Created attachment 123518 [details]
When copying from a larger buffer to a smaller image, there is some combination of stride/tiling mismatches that results in bad output.
The attached screenshot is using a 385x240 BGRA VkBuffer as the source and a 320x240 VkImage (from the swapchain) as the destination. Using anything <= 384 for the width of the source VkBuffer doesn't exhibit this issue anything greater than 384 does. Changing the height of the source VkBuffer has no effect on the stride mismatch.
- mesa from git be5010c
- libdrm 2.4.67-2
- Linux kernel 4.5.1-1-ARCH x86_64
- Both Ivy Bridge and Skylake chips
gst-launch-1.0 videotestsrc ! video/x-raw,width=385 ! vulkanupload ! vulkansink
Thank you for the bug report. Does the following patch fix the issue?
(In reply to Nanley Chery from comment #1)
> Thank you for the bug report. Does the following patch fix the issue?
I can confirm that this works.
T-b from Matthew Waters <email@example.com>
The fix has been pushed upstream.