Eblo / mkxp-z-eulogy

Fork from mkxp-z for Eulogy of an Insect
https://github.com/mkxp-z/mkxp-z/wiki
GNU General Public License v2.0
1 stars 0 forks source link

Tile issues with ANGLE Vulkan on Windows #1

Closed Eblo closed 1 year ago

Eblo commented 1 year ago

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

Eblo commented 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.

Eblo commented 1 year ago

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.

Eblo commented 1 year ago

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.