stevenarella icon indicating copy to clipboard operation
stevenarella copied to clipboard

VMware virtualized gpu on Windows: water not rendered

Open iceiix opened this issue 6 years ago • 8 comments

When running on Windows 10 (update: on VMware Fusion on macOS), the water is solid black:

screen shot 2018-11-30 at 10 31 34 am

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

iceiix avatar Nov 30 '18 18:11 iceiix

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

screen shot 2018-11-30 at 10 53 16 am

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?

iceiix avatar Nov 30 '18 19:11 iceiix

This is Windows 10 running under VMware Fusion 11.0.2, if that matters (test on a native Windows installation?)

iceiix avatar Nov 30 '18 20:11 iceiix

Water renders properly on latest commit. Server version: vanilla 1.12.2 Windows 10 home Nvidia graphics. Stevenarella_Water

skillman623 avatar Jul 03 '20 03:07 skillman623

@iceiix This issue seems resolved on latest commit. Could you verify?

skillman623 avatar Jul 04 '20 00:07 skillman623

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:

Screen Shot 2020-07-03 at 6 37 20 PM Screen Shot 2020-07-03 at 6 38 01 PM

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.

iceiix avatar Jul 04 '20 01:07 iceiix

Testing on Windows 10 under VMware ESXi with a physical video card passed through, water is correctly rendered:

Screen Shot 2020-07-05 at 10 31 51 AM

so I'm fairly sure this is related to VMware Fusion's video card virtualization or limitations

iceiix avatar Jul 05 '20 17:07 iceiix

Ought to retest this after #262 glow and #447 disabling multisampled textures...

iceiix avatar Dec 28 '20 20:12 iceiix

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:

Screen Shot 2021-01-16 at 2 17 22 PM

compare to macOS 11.1 native:

Screen Shot 2021-01-16 at 2 16 51 PM

this is with these display settings:

Screen Shot 2021-01-16 at 2 20 18 PM

"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:

Screen Shot 2021-01-16 at 2 31 33 PM

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

iceiix avatar Jan 16 '21 22:01 iceiix