mirror of
https://git.eden-emu.dev/eden-emu/eden.git
synced 2025-10-21 04:08:03 +00:00
renderer_vulkan: Update validation layer name and test before enabling
Update validation layer string to VK_LAYER_KHRONOS_validation. While we are at it, properly check for available validation layers before enabling them.
This commit is contained in:
parent
d3ac9705d2
commit
ec8465e843
3 changed files with 43 additions and 5 deletions
|
@ -153,7 +153,8 @@ void Load(VkDevice device, DeviceDispatch& dld) noexcept {
|
|||
|
||||
bool Load(InstanceDispatch& dld) noexcept {
|
||||
#define X(name) Proc(dld.name, dld, #name)
|
||||
return X(vkCreateInstance) && X(vkEnumerateInstanceExtensionProperties);
|
||||
return X(vkCreateInstance) && X(vkEnumerateInstanceExtensionProperties) &&
|
||||
X(vkEnumerateInstanceLayerProperties);
|
||||
#undef X
|
||||
}
|
||||
|
||||
|
@ -770,4 +771,17 @@ std::optional<std::vector<VkExtensionProperties>> EnumerateInstanceExtensionProp
|
|||
return properties;
|
||||
}
|
||||
|
||||
std::optional<std::vector<VkLayerProperties>> EnumerateInstanceLayerProperties(
|
||||
const InstanceDispatch& dld) {
|
||||
u32 num;
|
||||
if (dld.vkEnumerateInstanceLayerProperties(&num, nullptr) != VK_SUCCESS) {
|
||||
return std::nullopt;
|
||||
}
|
||||
std::vector<VkLayerProperties> properties(num);
|
||||
if (dld.vkEnumerateInstanceLayerProperties(&num, properties.data()) != VK_SUCCESS) {
|
||||
return std::nullopt;
|
||||
}
|
||||
return properties;
|
||||
}
|
||||
|
||||
} // namespace Vulkan::vk
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue