Add a couple of new samples, improved some others: (#414)

new:
- InstanceVersion: print out the instance version
- PhysicalDeviceExtensions: print out the device specific extensions
- PhysicalDeviceFeatures: print out the device specific features
- PhysicalDeviceGroups: print out the device groups (interesting with SLI)
- PhysicalDeviceMemoryProperties: print out the device specific memory properties
- PhysicalDeviceQueueFamilyProperties: print out the device specific queue family properties
- SurfaceCapabilities: print out the surface specific capabilities
- SurfaceFormats: print out the supported surface specific formats
improved:
- InstanceExtensionProperties: print out the instance extensions alphabetically
- InstanceLayerProperties: removed an unused local function
- RayTracing: improved fence usage
This commit is contained in:
Andreas Süßenbach
2019-10-28 15:36:21 +01:00
committed by Markus Tavenrath
parent 178bf4ded7
commit c06a3300f6
23 changed files with 2293 additions and 20 deletions

View File

@@ -28,13 +28,17 @@ int main(int /*argc*/, char ** /*argv*/)
{
/* VULKAN_KEY_START */
std::vector<vk::ExtensionProperties> instanceExtensionProperties = vk::enumerateInstanceExtensionProperties();
std::vector<vk::ExtensionProperties> extensionProperties = vk::enumerateInstanceExtensionProperties();
// sort the extensions alphabetically
std::sort(extensionProperties.begin(), extensionProperties.end(), [](vk::ExtensionProperties const& a, vk::ExtensionProperties const& b) { return strcmp(a.extensionName, b.extensionName) < 0; });
std::cout << "Instance Extensions:" << std::endl;
for (auto const& instanceExtensionProperty : instanceExtensionProperties)
for (auto const& ep : extensionProperties)
{
std::cout << instanceExtensionProperty.extensionName << ":" << std::endl;
std::cout << "\tVersion: " << instanceExtensionProperty.specVersion << std::endl;
std::cout << ep.extensionName << ":" << std::endl;
std::cout << "\tVersion: " << ep.specVersion << std::endl;
std::cout << std::endl;
}