vkEnumeratePhysicalDevices returns VK_INCOMPLETE

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.

It works the first time around when you call it with the expected pattern of first determining the required storage and then fetching the handles.
I don’t know where last call in your log comes from, but it does not look to correspond to the code you posted. It hard codes space for just one device and so VK_INCOMPLETE is appropriate on a system with more than one device.

Yes, the first call to vkEnumeratePhysicalDevices works successfully. But the second call failed and returns VK_INCOMPLETE when I pass pPhysicalDevices to retrieve physical devices. pPhysicalDeviceCount now holds the value 1 instead of 2 as you posted above
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

If I disable validation layers, all will work normally.
It seems that some validation layers make extra calls to vkEnumeratePhysicalDevices and this conflicts to my code