-
Notifications
You must be signed in to change notification settings - Fork 434
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Can't always provide Win32Monitor
handle when full_screen_exclusive
is not FullScreenExclusive::Default
#2477
Comments
The spec isn't really clear on when the monitor value will be used when provided, and when it will be ignored. I had assumed that if the value is not required, then the driver will always ignore it, but apparently that's not the case? Do you have any information on that perhaps? |
On windows, if The
I.e. on windows
Same as So on windows, |
0.34
Windows
NVIDIA GeForce GTX 1080
GeForce Game Ready Driver 536.23
Issue
Currently when a
full_screen_exclusive
value other thanFullScreenExclusive::Default
is provided inSurfaceInfo
orSwapchainCreateInfo
, Vulkan will output a validation error if aWin32Monitor
handle is not provided.Vulkano however expects that if and only if
full_screen_exclusive
isFullScreenExclusive::ApplicationControlled
should aWin32Monitor
handle also be provided.Since Vulkano will not let you provide a
Win32Monitor
handle alongside otherfull_screen_exclusive
values likeFullScreenExclusive::Allowed
orFullScreenExclusive::Disallowed
, it is impossible to use these values without triggering the following validation error:As the Vulkan spec states (for surface capabilities):
Note that it makes no mention of
VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT
specifically.As far as I'm aware, the fix would be to update these conditional checks (these are only the ones that I know of in Vulkano, but maybe there are more?):
https://github.com/vulkano-rs/vulkano/blob/master/vulkano/src/device/physical.rs#L2412
https://github.com/vulkano-rs/vulkano/blob/master/vulkano/src/device/physical.rs#L2683
https://github.com/vulkano-rs/vulkano/blob/master/vulkano/src/swapchain/mod.rs#L609-L610
https://github.com/vulkano-rs/vulkano/blob/master/vulkano/src/swapchain/mod.rs#L633-L634
To instead be:
The text was updated successfully, but these errors were encountered: