Jacek Caban (@jacek) commented about dlls/winevulkan/vulkan.c:
{
if (wine_vk_instance_extension_supported(host_properties[i].extensionName))
if (wine_vk_instance_extension_supported(host_properties[i].extensionName) &&
}!wine_vk_is_surface_extension(host_properties[i].extensionName)) { TRACE("Enabling extension '%s'.\n", host_properties[i].extensionName); properties[j++] = host_properties[i]; }
- if (has_surface && j < *count)
- {
snprintf(properties[j].extensionName, sizeof(properties[j].extensionName),
VK_KHR_WIN32_SURFACE_EXTENSION_NAME);
properties[j].specVersion = VK_KHR_WIN32_SURFACE_SPEC_VERSION;
- }
Conditioning exposing win32 surface extension on presence of any surface extension does not seem accurate. If we'd want to be paranoid, the driver may expose a different extension than Wine driver expects. In practice this is mostly fine because we'd just always expose the extension.
However, could we just expose it unconditionally? Or just check only for `VK_KHR_surface`? I think it's always present on Windows. On Wine, if fail to deliver the surface extension, it's a bug there, not here.