Closed j4reporting closed 2 years ago
I don't have access to a Skylake iGPU, so those requirements are based on Intel docs on their "Gen 9" graphics architecture (used for the first time in Skylake). I think Iris Graphics 540 should support bindless textures, but looking through the OpenGL Hardware Database, the only entries in the 500 series that report the extension are for HD Graphics 500 and HD Graphics 505, used in Apollo Lake (2016) - which, confusingly, still has Gen 9 graphics (but maybe an updated version?). It's a bit of a mess IMO.
In any case, I've added a fallback path for GPUs without bindless support these past couple of days - the speed gains won't be as massive, but they should still be there, and the latest code should run even on Haswell iGPUs. I don't have one of those, either, but at least I have tested on an Atom x7-Z8700 (which, AFAIK, has Gen 8 graphics), so I'm fairly certain all Skylake iGPUs will be able to run this as well.
Agree, Intel's naming is confusing. HD Graphics 500 / 505 looks like Skylake, but I think the core may have received some updates. It was released one year after Skylake. According to the OpenGL HW DB all Skylake GPUs lack support for bindless_textures.
Anyhow, latest versions do run on HD Graphics 530 and Iris Graphics 540. Timedemo show some good improvements compared to vanilla quakespasm. But for some reason results for timedemo demo3 are lower than quakespasm. vkQuake have the best results.
here are the results for Iris Graphics 540: All binaries were x64 versions, libsdl 2.0.18. vkquake and qspasm-gl4 compiled with VC 2019 CE. Settings: resolution 1920x1080, fov 100, gl_texture_anisotropy "1" , gl_texturemode "GL_NEAREST_MIPMAP_LINEAR" , r_wateralpha "0.8" , scr_sbarscale 2.0, scr_sbaralpha "0.95", viewsize "100"
r_novis r_novis 1 r_novis 0
timedemo demo1 demo2 demo3 demo1 demo2 demo3
qspasm 309 291 303 324 321 321
qspasm-gl4 354 332 257 408 420 312
vkquake 430 354 377 494 433 470
The 540 seems a bit faster overall than I thought, but relative to vkQuake/base QS I'd say the results are pretty much as expected. The engine is optimized for the worst-case scenario, where performance really matters (meaning complex maps like shib7, shib8, ad_tears, ad_sepulcher, alk_tellus or ravenkeep), rather than the best-case scenario (handled reasonably well by all engines, IMO), which is what the vanilla timedemos test. If you have any of these more complex maps, I think the results will be much more interesting. That being said, the latest code does have an optimization that should improve performance on iGPUs even on simple maps like the vanilla ones.
yeah the 540 is doing quite well.. The Intel NUC-6I5SYH system is quite capable and can handle HL2 / portal2 etc quite well. Of course you can't go all out with the resolution and gfx options for 'newer' games. But I grew up with Atari 2600, C64, AMIGA 500 etc., so I don't need all the highest AA, FSAA, BLOOM and other bells and whistles to enjoy a good game. It's also quite good for emulation stuff with dosbox, scummvm etc.. And the CPUs TDP is 15W.
I would like to compare this system with the current NUC generation with the new Xe GPU core. Unfortunately, these are almost impossible to get and if they are, the price is much higher than the list price. Maybe it's time to build my own system again after a long time.
I did a quick test with ad_sepulcher, took the FPS at spawn position, did not move. ( all programs are latest git versions)
qspasm ~35 FPS
vkquake 100 FPS r_fteparticles 0
vkquake 88 FPS r_fteparticles 1 / this looks really nice with the weather system and the additional particles
ironwail 149 FPS < not so sure about the name though ;) >
the vanilla timedemo results have also improved over the last 4 weeks.
ironwail r_novis 0
demo1 464 | demo2 481 | demo3 370
previous 408 | 420 | 312
can anyone confirm that this will actually work with Skylake iGPUs? Or is this just a Windows intel driver issue? Tried the test2 binary and a current version compiled usind MSYS2.
iGPU is Iris Graphics 540 GFX driver version: 27.20.100.9466 Win10 21H1