I have made a vulkan bindings for dart on Windows. I create Vulkan instance successfully. But when I try to get physical devices, vkEnumeratePhysicalDevices returns VK_INCOMPLETE. Here is my code:
final pPhysicalDeviceCount = malloc();
VkUtils.vkCheck(
vkEnumeratePhysicalDevices(
instance.vkInstance,
pPhysicalDeviceCount,
nullptr,
),
‘Failed to get number of physical devices’,
);
int numDevices = pPhysicalDeviceCount.value;
final pPhysicalDevices = malloc(numDevices);
vkEnumeratePhysicalDevices(
instance.vkInstance,
pPhysicalDeviceCount,
pPhysicalDevices,
);
Below is full debug logging:
[log] Creating Vulkan instance
[log] Instance supports [13] extensions
[log] Supported instance extension [VK_KHR_surface]
[log] Supported instance extension [VK_KHR_win32_surface]
[log] Supported instance extension [VK_KHR_get_physical_device_properties2]
[log] Supported instance extension [VK_KHR_get_surface_capabilities2]
[log] Supported instance extension [VK_KHR_external_memory_capabilities]
[log] Supported instance extension [VK_KHR_device_group_creation]
[log] Supported instance extension [VK_KHR_external_semaphore_capabilities]
[log] Supported instance extension [VK_KHR_external_fence_capabilities]
[log] Supported instance extension [VK_EXT_debug_report]
[log] Supported instance extension [VK_EXT_debug_utils]
[log] Supported instance extension [VK_EXT_swapchain_colorspace]
[log] Supported instance extension [VK_KHR_portability_enumeration]
[log] Supported instance extension [VK_LUNARG_direct_driver_loading]
Thread 0, Frame 0:
vkCreateInstance(pCreateInfo, pAllocator, pInstance) returns VkResult[gfxrecon] INFO - Initializing GFXReconstruct capture layer
[gfxrecon] INFO - GFXReconstruct Version 1.0.5 (614fbd3) RelWithDebInfo
[gfxrecon] INFO - Recording graphics API capture to gfxrecon_capture_20251218T202050.gfxr
[gfxrecon] INFO - Vulkan Header Version 1.4.328
00:00:00.000 CDL INFO: Version 1.4.328 enabled. Start time tag: 2025-12-18-202050
VK_SUCCESS (0):
pCreateInfo: const VkInstanceCreateInfo* = 000000ADBFFCAE40:
sType: VkStructureType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO (1)
pNext: const void* = VkDebugUtilsMessengerCreateInfoEXT
flags: VkInstanceCreateFlags = 0
pApplicationInfo: const VkApplicationInfo* = 000001B4FFD98D50:
sType: VkStructureType = VK_STRUCTURE_TYPE_APPLICATION_INFO (0)
pNext: const void* = NULL
pApplicationName: const char* = “VulkanBook”
applicationVersion: uint32_t = 1
pEngineName: const char* = “VulkanBook”
engineVersion: uint32_t = 0
apiVersion: uint32_t = 4210688 (1.4.0)
enabledLayerCount: uint32_t = 10
ppEnabledLayerNames: const char* const* = 000001B4FFD55820
ppEnabledLayerNames[0]: const char* = “VK_LAYER_AMD_switchable_graphics”
ppEnabledLayerNames[1]: const char* = “VK_LAYER_LUNARG_api_dump”
ppEnabledLayerNames[2]: const char* = “VK_LAYER_LUNARG_gfxreconstruct”
ppEnabledLayerNames[3]: const char* = “VK_LAYER_KHRONOS_synchronization2”
ppEnabledLayerNames[4]: const char* = “VK_LAYER_KHRONOS_validation”
ppEnabledLayerNames[5]: const char* = “VK_LAYER_LUNARG_monitor”
ppEnabledLayerNames[6]: const char* = “VK_LAYER_LUNARG_screenshot”
ppEnabledLayerNames[7]: const char* = “VK_LAYER_KHRONOS_profiles”
ppEnabledLayerNames[8]: const char* = “VK_LAYER_KHRONOS_shader_object”
ppEnabledLayerNames[9]: const char* = “VK_LAYER_LUNARG_crash_diagnostic”
enabledExtensionCount: uint32_t = 3
ppEnabledExtensionNames: const char* const* = 000001B4FFD40830
ppEnabledExtensionNames[0]: const char* = “VK_KHR_surface”
ppEnabledExtensionNames[1]: const char* = “VK_KHR_win32_surface”
ppEnabledExtensionNames[2]: const char* = “VK_EXT_debug_utils”
pNext: VkDebugUtilsMessengerCreateInfoEXT = 000001B4FFE353B0:
sType: VkStructureType = VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT (1000128004)
pNext: const void* = NULL
flags: VkDebugUtilsMessengerCreateFlagsEXT = 0
messageSeverity: VkDebugUtilsMessageSeverityFlagsEXT = 4352 (VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT | VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT)
messageType: VkDebugUtilsMessageTypeFlagsEXT = 7 (VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT | VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT | VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT)
pfnUserCallback: PFN_vkDebugUtilsMessengerCallbackEXT = 000000ADBFFCA800
pUserData: void* = NULL
pAllocator: const VkAllocationCallbacks* = NULL
pInstance: VkInstance* = 000001B4FFDEC740
Thread 0, Frame 0:
vkCreateDebugUtilsMessengerEXT(instance, pCreateInfo, pAllocator, pMessenger) returns VkResult VK_SUCCESS (0):
instance: VkInstance = 000001B4FFDEC740
pCreateInfo: const VkDebugUtilsMessengerCreateInfoEXT* = 000001B4FFE353B0:
sType: VkStructureType = VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT (1000128004)
[log] VkDebugUtilsCallback, {}, Layer VK_LAYER_AMD_switchable_graphics uses API version 1.2 which is older than the application specified API version of 1.4. May cause issues.
pNext: const void* = NULL
flags: VkDebugUtilsMessengerCreateFlagsEXT = 0
messageSeverity: VkDebugUtilsMessageSeverityFlagsEXT = 4352 (VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT | VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT)
messageType: VkDebugUtilsMessageTypeFlagsEXT = 7 (VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT | VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT | VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT)
pfnUserCallback: PFN_vkDebugUtilsMessengerCallbackEXT = 000000ADBFFCE220
pUserData: void* = NULL
pAllocator: const VkAllocationCallbacks* = NULL
pMessenger: VkDebugUtilsMessengerEXT* = 0000010000000001
Thread 0, Frame 0:
vkEnumeratePhysicalDevices(instance, pPhysicalDeviceCount, pPhysicalDevices) returns VkResult VK_SUCCESS (0):
instance: VkInstance = 000001B4FFDEC740
pPhysicalDeviceCount: uint32_t* = 2
pPhysicalDevices: VkPhysicalDevice* = NULL
Thread 0, Frame 0:
vkEnumeratePhysicalDevices(instance, pPhysicalDeviceCount, pPhysicalDevices) returns VkResult VK_SUCCESS (0):
instance: VkInstance = 000001B4FFDEC740
pPhysicalDeviceCount: uint32_t* = 2
pPhysicalDevices: VkPhysicalDevice* = 000001B488291718
pPhysicalDevices[0]: VkPhysicalDevice = 000001B4FFDD08D0
pPhysicalDevices[1]: VkPhysicalDevice = 000001B4FFDD09D0
Thread 0, Frame 0:
vkGetPhysicalDeviceProperties(physicalDevice, pProperties) returns void:
physicalDevice: VkPhysicalDevice = 000001B4FFDD08D0
pProperties: VkPhysicalDeviceProperties* = 000001B488C51338:
apiVersion: uint32_t = 4206807 (1.3.215)
driverVersion: uint32_t = 1656919
vendorID: uint32_t = 32902
deviceID: uint32_t = 22807
deviceType: VkPhysicalDeviceType = VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU (1)
deviceName: char[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE] = “Intel(R) UHD Graphics 620”
pipelineCacheUUID: uint8_t[VK_UUID_SIZE] = 000001B488C5144C
pipelineCacheUUID[0]: uint8_t = 102
pipelineCacheUUID[1]: uint8_t = 61
pipelineCacheUUID[2]: uint8_t = 100
pipelineCacheUUID[3]: uint8_t = 48
pipelineCacheUUID[4]: uint8_t = 111
pipelineCacheUUID[5]: uint8_t = 50
pipelineCacheUUID[6]: uint8_t = 81
pipelineCacheUUID[7]: uint8_t = 50
pipelineCacheUUID[8]: uint8_t = 110
pipelineCacheUUID[9]: uint8_t = 63
pipelineCacheUUID[10]: uint8_t = 109
pipelineCacheUUID[11]: uint8_t = 49
pipelineCacheUUID[12]: uint8_t = 106
pipelineCacheUUID[13]: uint8_t = 53
pipelineCacheUUID[14]: uint8_t = 104
pipelineCacheUUID[15]: uint8_t = 1
limits: VkPhysicalDeviceLimits = 0000000000000000:
maxImageDimension1D: uint32_t = 16384
maxImageDimension2D: uint32_t = 16384
maxImageDimension3D: uint32_t = 2048
maxImageDimensionCube: uint32_t = 16384
maxImageArrayLayers: uint32_t = 2048
maxTexelBufferElements: uint32_t = 134217728
maxUniformBufferRange: uint32_t = 134217724
maxStorageBufferRange: uint32_t = 1073741820
maxPushConstantsSize: uint32_t = 256
maxMemoryAllocationCount: uint32_t = 4210249
maxSamplerAllocationCount: uint32_t = 4000
bufferImageGranularity: VkDeviceSize = 1
sparseAddressSpaceSize: VkDeviceSize = 17523466567680
maxBoundDescriptorSets: uint32_t = 32
maxPerStageDescriptorSamplers: uint32_t = 64
maxPerStageDescriptorUniformBuffers: uint32_t = 200
maxPerStageDescriptorStorageBuffers: uint32_t = 200
maxPerStageDescriptorSampledImages: uint32_t = 200
maxPerStageDescriptorStorageImages: uint32_t = 16
maxPerStageDescriptorInputAttachments: uint32_t = 8
maxPerStageResources: uint32_t = 200
maxDescriptorSetSamplers: uint32_t = 576
maxDescriptorSetUniformBuffers: uint32_t = 1800
maxDescriptorSetUniformBuffersDynamic: uint32_t = 16
maxDescriptorSetStorageBuffers: uint32_t = 1800
maxDescriptorSetStorageBuffersDynamic: uint32_t = 16
maxDescriptorSetSampledImages: uint32_t = 1800
maxDescriptorSetStorageImages: uint32_t = 144
maxDescriptorSetInputAttachments: uint32_t = 8
maxVertexInputAttributes: uint32_t = 32
maxVertexInputBindings: uint32_t = 32
maxVertexInputAttributeOffset: uint32_t = 2047
maxVertexInputBindingStride: uint32_t = 4095
maxVertexOutputComponents: uint32_t = 128
maxTessellationGenerationLevel: uint32_t = 64
maxTessellationPatchSize: uint32_t = 32
maxTessellationControlPerVertexInputComponents: uint32_t = 128
maxTessellationControlPerVertexOutputComponents: uint32_t = 128
maxTessellationControlPerPatchOutputComponents: uint32_t = 120
maxTessellationControlTotalOutputComponents: uint32_t = 4096
maxTessellationEvaluationInputComponents: uint32_t = 128
maxTessellationEvaluationOutputComponents: uint32_t = 128
maxGeometryShaderInvocations: uint32_t = 32
maxGeometryInputComponents: uint32_t = 128
maxGeometryOutputComponents: uint32_t = 128
maxGeometryOutputVertices: uint32_t = 256
maxGeometryTotalOutputComponents: uint32_t = 1024
maxFragmentInputComponents: uint32_t = 128
maxFragmentOutputAttachments: uint32_t = 8
maxFragmentDualSrcAttachments: uint32_t = 1
maxFragmentCombinedOutputResources: uint32_t = 16
maxComputeSharedMemorySize: uint32_t = 32768
maxComputeWorkGroupCount: uint32_t[3] = 000001B488C5153C
maxComputeWorkGroupCount[0]: uint32_t = 65536
maxComputeWorkGroupCount[1]: uint32_t = 65536
maxComputeWorkGroupCount[2]: uint32_t = 65536
maxComputeWorkGroupInvocations: uint32_t = 1024
maxComputeWorkGroupSize: uint32_t[3] = 000001B488C5154C
maxComputeWorkGroupSize[0]: uint32_t = 1024
maxComputeWorkGroupSize[1]: uint32_t = 1024
maxComputeWorkGroupSize[2]: uint32_t = 64
subPixelPrecisionBits: uint32_t = 8
subTexelPrecisionBits: uint32_t = 8
mipmapPrecisionBits: uint32_t = 8
maxDrawIndexedIndexValue: uint32_t = 4294967295
maxDrawIndirectCount: uint32_t = 4294967295
maxSamplerLodBias: float = 16
maxSamplerAnisotropy: float = 16
maxViewports: uint32_t = 16
maxViewportDimensions: uint32_t[2] = 000001B488C51578
maxViewportDimensions[0]: uint32_t = 32768
maxViewportDimensions[1]: uint32_t = 32768
viewportBoundsRange: float[2] = 000001B488C51580
viewportBoundsRange[0]: float = -65536
viewportBoundsRange[1]: float = 65535
viewportSubPixelBits: uint32_t = 8
minMemoryMapAlignment: size_t = 64
minTexelBufferOffsetAlignment: VkDeviceSize = 64
minUniformBufferOffsetAlignment: VkDeviceSize = 64
minStorageBufferOffsetAlignment: VkDeviceSize = 64
minTexelOffset: int32_t = -8
maxTexelOffset: uint32_t = 7
minTexelGatherOffset: int32_t = -32
maxTexelGatherOffset: uint32_t = 31
minInterpolationOffset: float = -0.5
maxInterpolationOffset: float = 0.4375
subPixelInterpolationOffsetBits: uint32_t = 4
maxFramebufferWidth: uint32_t = 16384
maxFramebufferHeight: uint32_t = 16384
maxFramebufferLayers: uint32_t = 2048
framebufferColorSampleCounts: VkSampleCountFlags = 31 (VK_SAMPLE_COUNT_1_BIT | VK_SAMPLE_COUNT_2_BIT | VK_SAMPLE_COUNT_4_BIT | VK_SAMPLE_COUNT_8_BIT | VK_SAMPLE_COUNT_16_BIT)
framebufferDepthSampleCounts: VkSampleCountFlags = 31 (VK_SAMPLE_COUNT_1_BIT | VK_SAMPLE_COUNT_2_BIT | VK_SAMPLE_COUNT_4_BIT | VK_SAMPLE_COUNT_8_BIT | VK_SAMPLE_COUNT_16_BIT)
framebufferStencilSampleCounts: VkSampleCountFlags = 31 (VK_SAMPLE_COUNT_1_BIT | VK_SAMPLE_COUNT_2_BIT | VK_SAMPLE_COUNT_4_BIT | VK_SAMPLE_COUNT_8_BIT | VK_SAMPLE_COUNT_16_BIT)
framebufferNoAttachmentsSampleCounts: VkSampleCountFlags = 31 (VK_SAMPLE_COUNT_1_BIT | VK_SAMPLE_COUNT_2_BIT | VK_SAMPLE_COUNT_4_BIT | VK_SAMPLE_COUNT_8_BIT | VK_SAMPLE_COUNT_16_BIT)
maxColorAttachments: uint32_t = 8
sampledImageColorSampleCounts: VkSampleCountFlags = 31 (VK_SAMPLE_COUNT_1_BIT | VK_SAMPLE_COUNT_2_BIT | VK_SAMPLE_COUNT_4_BIT | VK_SAMPLE_COUNT_8_BIT | VK_SAMPLE_COUNT_16_BIT)
sampledImageIntegerSampleCounts: VkSampleCountFlags = 31 (VK_SAMPLE_COUNT_1_BIT | VK_SAMPLE_COUNT_2_BIT | VK_SAMPLE_COUNT_4_BIT | VK_SAMPLE_COUNT_8_BIT | VK_SAMPLE_COUNT_16_BIT)
sampledImageDepthSampleCounts: VkSampleCountFlags = 31 (VK_SAMPLE_COUNT_1_BIT | VK_SAMPLE_COUNT_2_BIT | VK_SAMPLE_COUNT_4_BIT | VK_SAMPLE_COUNT_8_BIT | VK_SAMPLE_COUNT_16_BIT)
sampledImageStencilSampleCounts: VkSampleCountFlags = 31 (VK_SAMPLE_COUNT_1_BIT | VK_SAMPLE_COUNT_2_BIT | VK_SAMPLE_COUNT_4_BIT | VK_SAMPLE_COUNT_8_BIT | VK_SAMPLE_COUNT_16_BIT)
storageImageSampleCounts: VkSampleCountFlags = 31 (VK_SAMPLE_COUNT_1_BIT | VK_SAMPLE_COUNT_2_BIT | VK_SAMPLE_COUNT_4_BIT | VK_SAMPLE_COUNT_8_BIT | VK_SAMPLE_COUNT_16_BIT)
maxSampleMaskWords: uint32_t = 1
timestampComputeAndGraphics: VkBool32 = 1
timestampPeriod: float = 83.333
maxClipDistances: uint32_t = 8
maxCullDistances: uint32_t = 8
maxCombinedClipAndCullDistances: uint32_t = 8
discreteQueuePriorities: uint32_t = 2
pointSizeRange: float[2] = 000001B488C5161C
pointSizeRange[0]: float = 0.125
pointSizeRange[1]: float = 255.875
lineWidthRange: float[2] = 000001B488C51624
lineWidthRange[0]: float = 0
lineWidthRange[1]: float = 7.99219
pointSizeGranularity: float = 0.125
lineWidthGranularity: float = 0.0078125
strictLines: VkBool32 = 0
standardSampleLocations: VkBool32 = 1
optimalBufferCopyOffsetAlignment: VkDeviceSize = 64
optimalBufferCopyRowPitchAlignment: VkDeviceSize = 64
nonCoherentAtomSize: VkDeviceSize = 1
sparseProperties: VkPhysicalDeviceSparseProperties = 0000000000000000:
residencyStandard2DBlockShape: VkBool32 = 1
residencyStandard2DMultisampleBlockShape: VkBool32 = 1
residencyStandard3DBlockShape: VkBool32 = 1
residencyAlignedMipSize: VkBool32 = 0
residencyNonResidentStrict: VkBool32 = 0
Thread 0, Frame 0:
vkGetPhysicalDeviceProperties(physicalDevice, pProperties) returns void:
physicalDevice: VkPhysicalDevice = 000001B4FFDD09D0
pProperties: VkPhysicalDeviceProperties* = 000001B488C51670:
apiVersion: uint32_t = 4202629 (1.2.133)
driverVersion: uint32_t = 8388745
vendorID: uint32_t = 4098
deviceID: uint32_t = 27039
deviceType: VkPhysicalDeviceType = VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU (2)
deviceName: char[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE] = “AMD Radeon™ RX 540”
pipelineCacheUUID: uint8_t[VK_UUID_SIZE] = 000001B488C51784
pipelineCacheUUID[0]: uint8_t = 128
pipelineCacheUUID[1]: uint8_t = 225
pipelineCacheUUID[2]: uint8_t = 208
pipelineCacheUUID[3]: uint8_t = 121
pipelineCacheUUID[4]: uint8_t = 69
pipelineCacheUUID[5]: uint8_t = 88
pipelineCacheUUID[6]: uint8_t = 180
pipelineCacheUUID[7]: uint8_t = 65
pipelineCacheUUID[8]: uint8_t = 31
pipelineCacheUUID[9]: uint8_t = 79
pipelineCacheUUID[10]: uint8_t = 23
pipelineCacheUUID[11]: uint8_t = 183
pipelineCacheUUID[12]: uint8_t = 191
pipelineCacheUUID[13]: uint8_t = 165
pipelineCacheUUID[14]: uint8_t = 30
pipelineCacheUUID[15]: uint8_t = 64
limits: VkPhysicalDeviceLimits = 0000000000000000:
maxImageDimension1D: uint32_t = 16384
maxImageDimension2D: uint32_t = 16384
maxImageDimension3D: uint32_t = 2048
maxImageDimensionCube: uint32_t = 16384
maxImageArrayLayers: uint32_t = 2048
maxTexelBufferElements: uint32_t = 4294967295
maxUniformBufferRange: uint32_t = 4294967295
maxStorageBufferRange: uint32_t = 4294967295
maxPushConstantsSize: uint32_t = 128
maxMemoryAllocationCount: uint32_t = 4096
maxSamplerAllocationCount: uint32_t = 1048576
bufferImageGranularity: VkDeviceSize = 1
sparseAddressSpaceSize: VkDeviceSize = 1086626725888
maxBoundDescriptorSets: uint32_t = 32
maxPerStageDescriptorSamplers: uint32_t = 4294967295
maxPerStageDescriptorUniformBuffers: uint32_t = 4294967295
maxPerStageDescriptorStorageBuffers: uint32_t = 4294967295
maxPerStageDescriptorSampledImages: uint32_t = 4294967295
maxPerStageDescriptorStorageImages: uint32_t = 4294967295
maxPerStageDescriptorInputAttachments: uint32_t = 4294967295
maxPerStageResources: uint32_t = 4294967295
maxDescriptorSetSamplers: uint32_t = 4294967295
maxDescriptorSetUniformBuffers: uint32_t = 4294967295
maxDescriptorSetUniformBuffersDynamic: uint32_t = 8
maxDescriptorSetStorageBuffers: uint32_t = 4294967295
maxDescriptorSetStorageBuffersDynamic: uint32_t = 8
maxDescriptorSetSampledImages: uint32_t = 4294967295
maxDescriptorSetStorageImages: uint32_t = 4294967295
maxDescriptorSetInputAttachments: uint32_t = 4294967295
maxVertexInputAttributes: uint32_t = 64
maxVertexInputBindings: uint32_t = 32
maxVertexInputAttributeOffset: uint32_t = 4294967295
maxVertexInputBindingStride: uint32_t = 16383
maxVertexOutputComponents: uint32_t = 128
maxTessellationGenerationLevel: uint32_t = 64
maxTessellationPatchSize: uint32_t = 32
maxTessellationControlPerVertexInputComponents: uint32_t = 128
maxTessellationControlPerVertexOutputComponents: uint32_t = 128
maxTessellationControlPerPatchOutputComponents: uint32_t = 120
maxTessellationControlTotalOutputComponents: uint32_t = 4096
maxTessellationEvaluationInputComponents: uint32_t = 128
maxTessellationEvaluationOutputComponents: uint32_t = 128
maxGeometryShaderInvocations: uint32_t = 127
maxGeometryInputComponents: uint32_t = 128
maxGeometryOutputComponents: uint32_t = 128
maxGeometryOutputVertices: uint32_t = 1024
maxGeometryTotalOutputComponents: uint32_t = 16384
maxFragmentInputComponents: uint32_t = 128
maxFragmentOutputAttachments: uint32_t = 8
maxFragmentDualSrcAttachments: uint32_t = 1
maxFragmentCombinedOutputResources: uint32_t = 4294967295
maxComputeSharedMemorySize: uint32_t = 32768
maxComputeWorkGroupCount: uint32_t[3] = 000001B488C51874
maxComputeWorkGroupCount[0]: uint32_t = 65535
maxComputeWorkGroupCount[1]: uint32_t = 65535
maxComputeWorkGroupCount[2]: uint32_t = 65535
maxComputeWorkGroupInvocations: uint32_t = 1024
maxComputeWorkGroupSize: uint32_t[3] = 000001B488C51884
maxComputeWorkGroupSize[0]: uint32_t = 1024
maxComputeWorkGroupSize[1]: uint32_t = 1024
maxComputeWorkGroupSize[2]: uint32_t = 1024
subPixelPrecisionBits: uint32_t = 8
subTexelPrecisionBits: uint32_t = 8
mipmapPrecisionBits: uint32_t = 8
maxDrawIndexedIndexValue: uint32_t = 4294967295
maxDrawIndirectCount: uint32_t = 4294967295
maxSamplerLodBias: float = 15.9961
maxSamplerAnisotropy: float = 16
maxViewports: uint32_t = 16
maxViewportDimensions: uint32_t[2] = 000001B488C518B0
maxViewportDimensions[0]: uint32_t = 16384
maxViewportDimensions[1]: uint32_t = 16384
viewportBoundsRange: float[2] = 000001B488C518B8
viewportBoundsRange[0]: float = -32768
viewportBoundsRange[1]: float = 32767
viewportSubPixelBits: uint32_t = 8
minMemoryMapAlignment: size_t = 64
minTexelBufferOffsetAlignment: VkDeviceSize = 4
minUniformBufferOffsetAlignment: VkDeviceSize = 16
minStorageBufferOffsetAlignment: VkDeviceSize = 4
minTexelOffset: int32_t = -64
maxTexelOffset: uint32_t = 63
minTexelGatherOffset: int32_t = -32
maxTexelGatherOffset: uint32_t = 31
minInterpolationOffset: float = -2
maxInterpolationOffset: float = 2
subPixelInterpolationOffsetBits: uint32_t = 8
maxFramebufferWidth: uint32_t = 16384
maxFramebufferHeight: uint32_t = 16384
maxFramebufferLayers: uint32_t = 2048
framebufferColorSampleCounts: VkSampleCountFlags = 15 (VK_SAMPLE_COUNT_1_BIT | VK_SAMPLE_COUNT_2_BIT | VK_SAMPLE_COUNT_4_BIT | VK_SAMPLE_COUNT_8_BIT)
framebufferDepthSampleCounts: VkSampleCountFlags = 15 (VK_SAMPLE_COUNT_1_BIT | VK_SAMPLE_COUNT_2_BIT | VK_SAMPLE_COUNT_4_BIT | VK_SAMPLE_COUNT_8_BIT)
framebufferStencilSampleCounts: VkSampleCountFlags = 15 (VK_SAMPLE_COUNT_1_BIT | VK_SAMPLE_COUNT_2_BIT | VK_SAMPLE_COUNT_4_BIT | VK_SAMPLE_COUNT_8_BIT)
framebufferNoAttachmentsSampleCounts: VkSampleCountFlags = 15 (VK_SAMPLE_COUNT_1_BIT | VK_SAMPLE_COUNT_2_BIT | VK_SAMPLE_COUNT_4_BIT | VK_SAMPLE_COUNT_8_BIT)
maxColorAttachments: uint32_t = 8
sampledImageColorSampleCounts: VkSampleCountFlags = 15 (VK_SAMPLE_COUNT_1_BIT | VK_SAMPLE_COUNT_2_BIT | VK_SAMPLE_COUNT_4_BIT | VK_SAMPLE_COUNT_8_BIT)
sampledImageIntegerSampleCounts: VkSampleCountFlags = 15 (VK_SAMPLE_COUNT_1_BIT | VK_SAMPLE_COUNT_2_BIT | VK_SAMPLE_COUNT_4_BIT | VK_SAMPLE_COUNT_8_BIT)
sampledImageDepthSampleCounts: VkSampleCountFlags = 15 (VK_SAMPLE_COUNT_1_BIT | VK_SAMPLE_COUNT_2_BIT | VK_SAMPLE_COUNT_4_BIT | VK_SAMPLE_COUNT_8_BIT)
sampledImageStencilSampleCounts: VkSampleCountFlags = 15 (VK_SAMPLE_COUNT_1_BIT | VK_SAMPLE_COUNT_2_BIT | VK_SAMPLE_COUNT_4_BIT | VK_SAMPLE_COUNT_8_BIT)
storageImageSampleCounts: VkSampleCountFlags = 15 (VK_SAMPLE_COUNT_1_BIT | VK_SAMPLE_COUNT_2_BIT | VK_SAMPLE_COUNT_4_BIT | VK_SAMPLE_COUNT_8_BIT)
maxSampleMaskWords: uint32_t = 1
timestampComputeAndGraphics: VkBool32 = 1
timestampPeriod: float = 40
maxClipDistances: uint32_t = 8
maxCullDistances: uint32_t = 8
maxCombinedClipAndCullDistances: uint32_t = 8
discreteQueuePriorities: uint32_t = 2
pointSizeRange: float[2] = 000001B488C51954
pointSizeRange[0]: float = 0
pointSizeRange[1]: float = 8191.88
lineWidthRange: float[2] = 000001B488C5195C
lineWidthRange[0]: float = 0
lineWidthRange[1]: float = 8191.88
pointSizeGranularity: float = 0.125
lineWidthGranularity: float = 0.125
strictLines: VkBool32 = 0
standardSampleLocations: VkBool32 = 1
optimalBufferCopyOffsetAlignment: VkDeviceSize = 1
optimalBufferCopyRowPitchAlignment: VkDeviceSize = 1
nonCoherentAtomSize: VkDeviceSize = 128
sparseProperties: VkPhysicalDeviceSparseProperties = 0000000000000000:
residencyStandard2DBlockShape: VkBool32 = 1
residencyStandard2DMultisampleBlockShape: VkBool32 = 0
residencyStandard3DBlockShape: VkBool32 = 0
residencyAlignedMipSize: VkBool32 = 0
residencyNonResidentStrict: VkBool32 = 1
Thread 0, Frame 0:
vkEnumeratePhysicalDevices(instance, pPhysicalDeviceCount, pPhysicalDevices) returns VkResult VK_INCOMPLETE (5):
instance: VkInstance = 000001B4FFDEC740
pPhysicalDeviceCount: uint32_t* = 1
pPhysicalDevices: VkPhysicalDevice* = 000001B4FFDD0938
pPhysicalDevices[0]: VkPhysicalDevice = 000001B4FFDD08D0
It is very strange that vulkan correctly enumerate 2 GPU, but pPhysicalDeviceCount returns only 1.