Displacement-MicroMap-Toolkit icon indicating copy to clipboard operation
Displacement-MicroMap-Toolkit copied to clipboard

pfn_vkGetLatencyTimingsNV build error with latest Vulkan SDK

Open pknowlesnv opened this issue 1 year ago • 1 comments

The external/nvpro_core submodule contains code generated from the vulkan SDK, which can conflict when compiling against a different vulkan SDK. Example build errors:

'PFN_vkGetLatencyTimingsNV': too many arguments for call
Displacement-MicroMap-Toolkit/external/nvpro_core/nvvk/extensions_vk.cpp:3263:48:
> error: cannot convert ‘uint32_t*’ {aka ‘unsigned int*’} to
> ‘VkGetLatencyMarkerInfoNV*’ in argument passing
>  3263 |   pfn_vkGetLatencyTimingsNV(device, swapchain, pTimingCount,
> pLatencyMarkerInfo);
>       | ^~~~~~~~~~~~
>       |                                                |
>       |                                                uint32_t* {aka
> unsigned int*}

A workaround may be to re-run the code generation:

python external/nvpro_core/nvvk/extensions_vk.py

pknowlesnv avatar Aug 02 '24 22:08 pknowlesnv

As of nvpro_core version https://github.com/nvpro-samples/nvpro_core/commit/163809b8e92324b338b11ba4f39fde368bb941c3 or later, , nvpro_core now automatically re-runs extensions_vk.py if it can find Python -- if it's feasible to update the nvpro_core version, maybe that would work? Nvpro_core now has this change because it fixes this problem for most users for the span of time between when a new Vulkan SDK is released and when we have a newer version of extensions_vk.cpp in Git.

NBickford-NV avatar Aug 02 '24 23:08 NBickford-NV

Closing due to archiving.

(FYI, there ws a further related nvpro_core update for this issue: https://github.com/nvpro-samples/nvpro_core/commit/eb4d92490a438e168285b0429b48e1d7ef775534)

pknowlesnv avatar Feb 13 '25 03:02 pknowlesnv