Convert VkPhysicalDevice to uint64_t* adapterId

I am trying to work up a vulkan based graphics plugin for Unity and could some of your help.

Unity has got the following interface, where I need to convert the VkPhysicalDevice to uint64_t* adapterId

/// Get the adapter LUID, etc. for the adapter connected to the preferred XR SDK plugin.
///
/// @param[in] userData User specified data.
/// @param[in] renderer The graphics renderer type that is being initialized.
/// @param[in] rendererData Graphics renderer specific information needed for initialization.
/// @param[out] adapterId Returns the LUID/VkPhysicalDevice/id[MTLDevice] for the connected graphics adapter.
/// @return true on success, false on failure.
bool(UNITY_INTERFACE_API * GetGraphicsAdapterId)(void* userData, UnityXRPreInitRenderer renderer, uint64_t rendererData, uint64_t* adapterId);

I assumed that I could pass the vkPhysicalDeviceProperties.deviceID here, but apparently not! Results in fault addr 0x0 from Unity. Any ideas how I should go about this?

Never mind! Casting the device handle itself to uint64_t* works.

Based on the description you posted, adapterId is an output parameter, so you have to call it like this:

uint64_t adapterId;
GetGraphicsAdapterId(…, &adapterId);