Strange debug message

Started by abcdef, August 10, 2020, 05:42:51

Previous topic - Next topic

abcdef

Hi

When I run lwjgl with -Dorg.lwjgl.util.Debug=true I get the following message

[LWJGL] [VK] Vulkan11 was reported as available but an entry point is missing.

what does this mean? Is there an issue (things run fine apart from this)


spasi

This happens when a function that is required by the spec to be available, is actually missing from the driver. When that happens, the corresponding functionality is marked as unavailable. In this case, if you check the Vulkan11 boolean of the capabilities object, it will be false.

I'll see if I can improve the debug message to also print which function is missing.

If you'd like to find out yourself, you could use vkGetInstanceProcAddr/vkGetDeviceProcAddr for the corresponding instance/device Vulkan 1.1 functions (check for a NULL address). The functions that LWJGL expects to be present:

// Instance
"vkEnumeratePhysicalDeviceGroups",
"vkGetPhysicalDeviceFeatures2",
"vkGetPhysicalDeviceProperties2",
"vkGetPhysicalDeviceFormatProperties2",
"vkGetPhysicalDeviceImageFormatProperties2",
"vkGetPhysicalDeviceQueueFamilyProperties2",
"vkGetPhysicalDeviceMemoryProperties2",
"vkGetPhysicalDeviceSparseImageFormatProperties2",
"vkGetPhysicalDeviceExternalBufferProperties",
"vkGetPhysicalDeviceExternalFenceProperties",
"vkGetPhysicalDeviceExternalSemaphoreProperties"

// Device
"vkBindBufferMemory2",
"vkBindImageMemory2",
"vkGetDeviceGroupPeerMemoryFeatures",
"vkCmdSetDeviceMask",
"vkCmdDispatchBase",
"vkGetImageMemoryRequirements2",
"vkGetBufferMemoryRequirements2",
"vkGetImageSparseMemoryRequirements2",
"vkTrimCommandPool",
"vkGetDeviceQueue2",
"vkCreateSamplerYcbcrConversion",
"vkDestroySamplerYcbcrConversion",
"vkCreateDescriptorUpdateTemplate",
"vkDestroyDescriptorUpdateTemplate",
"vkUpdateDescriptorSetWithTemplate",
"vkGetDescriptorSetLayoutSupport"