Closed llyzs closed 2 months ago
@llyzs can you test it with latest driver 2024.Q2.2? If the issue persists, can you share the complete source code? Currently I failed to reproduce basing on your description.
Please feel free to reopen if the issue can be reproduced, many thanks!
An example to reproduce the issue:
Creates a 64x320 image with format B8G8R8A8_UNORM as framebuffer and clear it with green {0.0, 1.0, 0.0, 0.0}
Creates another B8G8R8A8_UNORM image of any size as texture and clear it with black {0.0, 0.0, 0.0, 0.0}
Creates the following vertex buffer of total 24 vertices (8 triangles), each is of format R32G32B32A32_SFLOAT (x, y, texcoord_x, texcoord_y). Those triangles were designed to draw on the framebuffer from top to bottom:
Vertex shader: Outputs position (x - 1, 1 - y, 0, 1) and texcoord (texcoord_x / 2, texcoord_y / 2)
Fragment shader: Just samples using texcoord.
If call vkCmdDraw(15) to draw 5 triangles (or fewer), it renders correctly, a few lines from top are drawn black.![test2](https://user-images.githubusercontent.com/610304/126874231-b86e1bb8-b678-4472-b464-df90961a9504.jpg)
If call vkCmdDraw(18/21/24) to draw 6/7/8 triangles, the top line of pixels is mysteriously not rendered and left green:![test](https://user-images.githubusercontent.com/610304/126874152-e6b8eb87-2f6e-41da-b740-385aee9e7cb9.jpg)
Tested with RX6700XT driver 2021.Q3.2.