Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b1e7d59f authored by Courtney Goeltzenleuchter's avatar Courtney Goeltzenleuchter
Browse files

vkinfo: Add validation layers

Change-Id: Iefd17b622f0d91219b81bd1df09ffeb3397f9553
parent 26d394b8
Loading
Loading
Loading
Loading
+33 −0
Original line number Diff line number Diff line
@@ -168,12 +168,28 @@ void GatherGpuInfo(VkPhysicalDevice gpu, GpuInfo& info) {
        .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 @@ void GatherInfo(VulkanInfo* info) {
            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);