Closed Eblo closed 1 year ago
At some level, this relates to the precision for projMat
, translation
, or position
in tilemapvx.vert
. Setting any of those to highp
will resolve the issue. I'm still not exactly sure what the issue is, as this does not occur when the setup is not Vulkan+Windows.
Fixed with 8ed347b49968998691ad251e9cb2e6344b22143e. Remains to be seen if using highp will result in other unforeseen issues with performance or compatibility. I'm inclined to say no since highp
is already used in tilemap.vert
. This should not negatively impact compatibility.
Update: the actual fix is https://github.com/Eblo/mkxp-z-eulogy/commit/f4cc1d52a08e60270070668cd78737dba86480c3. This was caused by the lanczos3 update commit https://github.com/mkxp-z/mkxp-z/commit/359ccd7a0ce98ccf9aa79e7d7ea6734db3f04721.
Using ANGLE-based Vulkan on Windows results in an issue where the rightmost edge of a tile will change based on the horizontal position of the tile on the screen. In practice, this means scrolling horizontal will show a flickering row of pixels on each tile. This does not happen with the D3D11 backend on Windows, nor does it happen with Vulkan on Linux. This does not appear to affect other graphics like parallaxes, only tiles.
This is a low priority since D3D11 is the default and looks fine, and Linux is also fine.
Vulkan on Windows:
https://github.com/Eblo/mkxp-z-eulogy/assets/7004497/20e97521-22ec-44d2-8bba-305c7bc961c9
D3D11 on Windows:
https://github.com/Eblo/mkxp-z-eulogy/assets/7004497/6ecee983-7708-4a92-af6d-7dff874d83f9