KhronosGroup / Vulkan-Samples

One stop solution for all Vulkan samples
Apache License 2.0
4.33k stars 648 forks source link

Update OpenCL interop samples to latest OpenCL spec #1021

Closed SaschaWillems closed 6 months ago

SaschaWillems commented 7 months ago

Description

Some recent changes in the OpenCL spec broke the interop sample due to changes for certain constants. This PR updates the OpenCL headers to the latest version and changes the OpenCL interop samples to use the new constants instead.

With this change the sample is working again on my RTX 4070 on Windows 11.

Fixes #1009 Fixes #949

General Checklist:

Please ensure the following points are checked:

asuessenbach commented 6 months ago

When I run this sample on Win10, I get this VL error: Validation Error: [ VUID-vkCreateDevice-ppEnabledExtensionNames-01387 ] Object 0: handle = 0x161e59c9cb0, type = VK_OBJECT_TYPE_INSTANCE; | MessageID = 0x12537a2c | vkCreateDevice(): pCreateInfo->ppEnabledExtensionNames[6] Missing extension required by the device extension VK_KHR_external_fence_win32: VK_KHR_external_fence. The Vulkan spec states: All required device extensions for each extension in the VkDeviceCreateInfo::ppEnabledExtensionNames list must also be present in that list (https://vulkan.lunarg.com/doc/view/1.3.280.0/windows/1.3-extensions/vkspec.html#VUID-vkCreateDevice-ppEnabledExtensionNames-01387)

SaschaWillems commented 6 months ago

Thanks for noticing. For whatever reason the latest SDK doesn't raise that error for me. But from the spec it's clear that this extension is required. I have added it.