Try / Tempest

API abstraction layer for 3D graphics, UI and sound. Written in C++17 with Vulkan, DX12 and Metal support.
MIT License
107 stars 27 forks source link

Fix SIGSEGV in vkCreateInstance due to improper object lifetime management #28

Closed lmichaelis closed 2 years ago

lmichaelis commented 2 years ago

On Linux when compiling with Clang the extensions variable is optimized away causing createInfo.ppEnabledExtensionNames to contain a pointer to invalid data. This causes the Vulkan backend to crash with a SIGSEGV. Just making extensions a const-reference fixes this issue.

Try commented 2 years ago

Thanks for the fix, merged!