Imagination PowerVR SDK Blog

About GetPhysicalDeviceSparseImageFormatProperties cause runtime error.


#1

When I build the sample of 02_vulkan_introducing_pvr_shell completed, I encountered a runtime error.

The error as follows:

10-20 13:28:16.714 1975-2059/com.powervr.VulkanIntroducingPVRShell E/com.powervr.Example: VULKAN_LAYER_VALIDATION: invalid vkGetDeviceProcAddr(0x7f93fb0590, "vkGetPhysicalDeviceSparseImageFormatProperties") call 10-20 13:28:16.715 1975-2059/com.powervr.VulkanIntroducingPVRShell A/libc: E:/GIT/heitaohua/powervr-graphics-native-sdk/framework/PVRNativeApi/Vulkan/VulkanBindings.cpp:542: static bool vk::initVulkanDevice(VkDevice): assertion "GetPhysicalDeviceSparseImageFormatProperties" failed 10-20 13:28:16.715 1975-2059/com.powervr.VulkanIntroducingPVRShell A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 2059 (Thread-7)

What I want to say is the cause of the problem, Please note that VulkanBindings.cpp, The line PVR_VULKAN_GET_DEVICE_POINTER(device, GetPhysicalDeviceSparseImageFormatProperties); try to get the pointer of function, however, the function belongs to vulkan instance , not device. And before this line, the function pointer has been obtained when the instance was initialized.

So to fix this issure just remove the line. Anyway please update the sdk files to prevent other people from encountering unnecessary problems.


#2

Hi,

thank you for reporting this, I’ll make sure this is fixed.

Marton


#3

Hello,

It seems that you are using a quite old version of our SDK. VulkanBindings.cpp was removed more than one year ago.
We strongly recommend you to move to a newer version of our SDK which is more streamlined when dealing with Vulkan.

Best regards.

Carlos.