Fix a few compiler warnings and startup/validation issues at runtime (#1193)
* Add error recovery to trianglevulkan13 and fix missing "override" compiler warnings * Look for vkGetPhysicalDeviceFormatProperties2KHR in hostimagecopy example * Enable fragmentStoresAndAtomics feature to avoid VVL warning in subpasses example
This commit is contained in:
parent
02ed0eebb3
commit
d14be3b787
3 changed files with 11 additions and 1 deletions
|
|
@ -419,7 +419,7 @@ public:
|
||||||
// Get the function pointers required host image copies
|
// Get the function pointers required host image copies
|
||||||
vkCopyMemoryToImageEXT = reinterpret_cast<PFN_vkCopyMemoryToImageEXT>(vkGetDeviceProcAddr(device, "vkCopyMemoryToImageEXT"));
|
vkCopyMemoryToImageEXT = reinterpret_cast<PFN_vkCopyMemoryToImageEXT>(vkGetDeviceProcAddr(device, "vkCopyMemoryToImageEXT"));
|
||||||
vkTransitionImageLayoutEXT = reinterpret_cast<PFN_vkTransitionImageLayoutEXT>(vkGetDeviceProcAddr(device, "vkTransitionImageLayoutEXT"));
|
vkTransitionImageLayoutEXT = reinterpret_cast<PFN_vkTransitionImageLayoutEXT>(vkGetDeviceProcAddr(device, "vkTransitionImageLayoutEXT"));
|
||||||
vkGetPhysicalDeviceFormatProperties2 = reinterpret_cast<PFN_vkGetPhysicalDeviceFormatProperties2>(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceFormatProperties2"));
|
vkGetPhysicalDeviceFormatProperties2 = reinterpret_cast<PFN_vkGetPhysicalDeviceFormatProperties2>(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceFormatProperties2KHR"));
|
||||||
|
|
||||||
loadAssets();
|
loadAssets();
|
||||||
loadTexture();
|
loadTexture();
|
||||||
|
|
|
||||||
|
|
@ -99,6 +99,8 @@ public:
|
||||||
camera.setRotation(glm::vec3(0.5f, 210.05f, 0.0f));
|
camera.setRotation(glm::vec3(0.5f, 210.05f, 0.0f));
|
||||||
camera.setPerspective(60.0f, (float)width / (float)height, 0.1f, 256.0f);
|
camera.setPerspective(60.0f, (float)width / (float)height, 0.1f, 256.0f);
|
||||||
ui.subpass = 2;
|
ui.subpass = 2;
|
||||||
|
|
||||||
|
enabledFeatures.fragmentStoresAndAtomics = VK_TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
~VulkanExample()
|
~VulkanExample()
|
||||||
|
|
|
||||||
|
|
@ -140,6 +140,14 @@ public:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
virtual void getEnabledFeatures() override
|
||||||
|
{
|
||||||
|
// Vulkan 1.3 device support is required for this example
|
||||||
|
if (deviceProperties.apiVersion < VK_API_VERSION_1_3) {
|
||||||
|
vks::tools::exitFatal("Selected GPU does not support support Vulkan 1.3", VK_ERROR_INCOMPATIBLE_DRIVER);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// This function is used to request a device memory type that supports all the property flags we request (e.g. device local, host visible)
|
// This function is used to request a device memory type that supports all the property flags we request (e.g. device local, host visible)
|
||||||
// Upon success it will return the index of the memory type that fits our requested memory properties
|
// Upon success it will return the index of the memory type that fits our requested memory properties
|
||||||
// This is necessary as implementations can offer an arbitrary number of memory types with different memory properties
|
// This is necessary as implementations can offer an arbitrary number of memory types with different memory properties
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue