- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The found Intel GPU Driver Vulkan Push Constants issue under Windows is that the Intel Graphics Driver under Windows doesn't apply push constant updates not immediately for the next draw commands, but rather only for the next RenderPass-Scope-command-blocks in a command buffer, or somewhat in that direction.
The generic Intel GPU driver version 24.20.100.6025 has still these same push-constants issues.
This one Push Constant problem at my tests really only occurs with the Intel Windows GPU driver, but not under Linux with the open source Intel Vulkan driver, and even also not with NVidia, AMD, Mali, etc. under any operating system. On these it works correctly, but not with Windows on Intel GPUs.
As an video-demostration see https://youtu.be/TfqT0jgbhFc (where the validation layers are enabled here, of course.) where some GUI elements are not rendered to the screen, because the updating of push constants are not working immediately for the next draw commands.
At least here are already the binaries for testing yourself and for to see the issue yourself https://rootserver.rosseaux.net/stuff/pasvulkan_examples_for_intel.zip which includes binary builds for x86-Win32 x86-Win64 x86-64-Linux and Android (for ARM32 and i386). But please test it on Intel iGPU-only systems if possible, because it prefers a dGPU over a iGPU otherwise. (GitHub project: https://github.com/BeRo1985/pasvulkan but since it's a Object-Pascal project and because you probably don't have an Object-Pascal compiler, I packed pre-compiled build binaries into one before mentioned ZIP file.)
And it seems, that the Dolphin emulator guys do have the exactly same problem with push constants on Intel GPUs on Windows too, see https://bugs.dolphin-emu.org/issues/10470
Regards from Germany,
Benjamin Rosseaux
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
We might be seeing a similar issue in https://github.com/szeged/webrender/
If push constant updates aren't applied instantly, there is a high chance Vulkan CTS would catch that: https://github.com/KhronosGroup/VK-GL-CTS. So I think the next step would be having it running (the selected range of tests) on the target machine, with one of the possible outcomes:
- It fails, which gives Intel developers a clear case to work with, plus a good incentive to pass the CTS 🙂
- It succeeds, and it turns out to not check for the push constant updates properly. We'll follow-up with an issue to Vk CTS itself
- It tests the right thing and succeeds, which means there is more involved in it, an we'll be able to narrow down to what exactly causes a problem.
Relevant tests I see are in "dEQP-VK.api.pipeline.push_constant" section.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page