stevenarella
stevenarella copied to clipboard
VMware virtualized gpu on Windows: water not rendered
When running on Windows 10 (update: on VMware Fusion on macOS), the water is solid black:

This occurs with the changes to use glutin https://github.com/iceiix/steven/pull/35 but does not appear caused by it because it is also seen with https://ci.appveyor.com/project/iceiix/steven/builds/20437050/job/755p4jaarygmpysd/artifacts https://github.com/iceiix/steven/tree/58ea3442b8fbbcab4720e2e4a82588751d5328c6 which is pre-glutin, using sdl2
Testing earlier builds, broken on the earliest working Windows build I have on AppVeyor (1.0.59):
https://ci.appveyor.com/project/iceiix/steven/builds/19961292 https://github.com/iceiix/steven/tree/7c81777d2c1388320d2057eaae1b58956df407ab

so it is not a recent breakage. May have occurred as part of the initial modernization effort. Some of the early commits include: https://github.com/iceiix/steven/commit/fa8f7bb9b9ce25ee51d556f6ccdf65e013668062 changing NUM_SAMPLES, but reverting it back to 1, water is still black. The majority of early commits are not related to graphics. khronos_api 2.2.0 https://github.com/iceiix/steven/commit/6a41539896220b4b42eb19a3e9a9815dd819d5d6? Changed back to 1.0.0, no difference. Something else?
This is Windows 10 running under VMware Fusion 11.0.2, if that matters (test on a native Windows installation?)
Water renders properly on latest commit.
Server version: vanilla 1.12.2
Windows 10 home
Nvidia graphics.
@iceiix This issue seems resolved on latest commit. Could you verify?
Testing on latest master (eb703f077619b7e58bcf072a055d058b8adda05e, Windows 10 on VMware Fusion Version 11.5.3 (15870345) on macOS 10.15.5, I still see issues with rendering water:


given the fail to repro on other Windows systems, I'd guess this is related to running under VMware virtualization. Maybe a limitation of their graphics drivers (related to transparency?), which I'd need to properly account for.
Testing on Windows 10 under VMware ESXi with a physical video card passed through, water is correctly rendered:

so I'm fairly sure this is related to VMware Fusion's video card virtualization or limitations
Ought to retest this after #262 glow and #447 disabling multisampled textures...
Testing on master branch 4dd25de7091ccc15ea8b06a5d8b95c78836e75d9 (which includes glow #262 and disabling multisampling in #447), VMware Fusion 12.1.0 (17195230 on macOS 11.1, Windows 10, the problem persists:

compare to macOS 11.1 native:

this is with these display settings:

"DirectX 10.1 and OpenGL 3.3", we request OpenGL 3.2+ (or ES 3.0, in theory) from glutin (investigated abstracting away the rendering to support other backends including DirectX in #34, but went with glow, only supporting *GL, for now so no DirectX).
What's the difference OpenGL 3.2 vs 3.3? https://en.wikipedia.org/wiki/OpenGL#OpenGL_3.2 Release date: August 3, 2009, vs https://en.wikipedia.org/wiki/OpenGL#OpenGL_4.0 "OpenGL 4.0 was released alongside version 3.3. It was designed for hardware able to support Direct3D 11." More details on the 3.3 (2010) core extensions at: https://www.khronos.org/opengl/wiki/History_of_OpenGL#OpenGL_3.3_.282010.29
How about with 3D acceleration disabled? Can't get a graphics context, not unexpected:

How about increasing shared graphics memory to the maximum, 3072 MB? No difference... (water still not rendered)