vkinfo: Add validation layers
Change-Id: Iefd17b622f0d91219b81bd1df09ffeb3397f9553
diff --git a/vulkan/tools/vkinfo.cpp b/vulkan/tools/vkinfo.cpp
index 42bdb9d..d8dd01b 100644
--- a/vulkan/tools/vkinfo.cpp
+++ b/vulkan/tools/vkinfo.cpp
@@ -168,12 +168,28 @@
.queueCount = 1,
queue_priorities
};
+ // clang-format off
+ const char *kValidationLayers[] = {
+ "VK_LAYER_GOOGLE_threading",
+ "VK_LAYER_LUNARG_device_limits",
+ "VK_LAYER_LUNARG_draw_state",
+ "VK_LAYER_LUNARG_image",
+ "VK_LAYER_LUNARG_mem_tracker",
+ "VK_LAYER_LUNARG_object_tracker",
+ "VK_LAYER_LUNARG_param_checker",
+ "VK_LAYER_LUNARG_swapchain",
+ "VK_LAYER_GOOGLE_unique_objects"
+ };
+ // clang-format on
+ uint32_t num_layers = sizeof(kValidationLayers) / sizeof(char*);
const VkDeviceCreateInfo create_info = {
.sType = VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO,
.queueCreateInfoCount = 1,
.pQueueCreateInfos = &queue_create_info,
.enabledExtensionCount = num_extensions,
.ppEnabledExtensionNames = extensions,
+ .enabledLayerCount = num_layers,
+ .ppEnabledLayerNames = kValidationLayers,
.pEnabledFeatures = &info.features,
};
result = vkCreateDevice(gpu, &create_info, nullptr, &device);
@@ -218,10 +234,27 @@
extensions[num_extensions++] = desired_ext;
}
+ // clang-format off
+ const char *kValidationLayers[] = {
+ "VK_LAYER_GOOGLE_threading",
+ "VK_LAYER_LUNARG_device_limits",
+ "VK_LAYER_LUNARG_draw_state",
+ "VK_LAYER_LUNARG_image",
+ "VK_LAYER_LUNARG_mem_tracker",
+ "VK_LAYER_LUNARG_object_tracker",
+ "VK_LAYER_LUNARG_param_checker",
+ "VK_LAYER_LUNARG_swapchain",
+ "VK_LAYER_GOOGLE_unique_objects"
+ };
+ // clang-format on
+ uint32_t num_layers = sizeof(kValidationLayers) / sizeof(char*);
+
const VkInstanceCreateInfo create_info = {
.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO,
.enabledExtensionCount = num_extensions,
.ppEnabledExtensionNames = extensions,
+ .enabledLayerCount = num_layers,
+ .ppEnabledLayerNames = kValidationLayers,
};
VkInstance instance;
result = vkCreateInstance(&create_info, nullptr, &instance);