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

Commit 2ee735c9 authored by Chia-I Wu's avatar Chia-I Wu Committed by Android (Google) Code Review
Browse files

Merge changes Ifeba21da,Ie7982790,I02bb34b7 into nyc-dev

* changes:
  vulkan: silence a warning when layers are enabled
  vulkan: fix "vkinfo -validate"
  vulkan: fix vkinfo with layer extensions
parents 9461b93f 109f8985
Loading
Loading
Loading
Loading
+9 −6
Original line number Diff line number Diff line
@@ -480,17 +480,20 @@ PFN_vkVoidFunction GetInstanceProcAddr(VkInstance instance, const char* pName) {
        if (hook->type == ProcHook::GLOBAL)
            return hook->proc;

        // v0 layers expect
        //
        //   vkGetInstanceProcAddr(VK_NULL_HANDLE, "vkCreateDevice");
        //
        // to work.
        if (strcmp(pName, "vkCreateDevice") == 0)
            return hook->proc;

        ALOGE(
            "Invalid use of vkGetInstanceProcAddr to query %s without an "
            "instance",
            pName);

        // Some naughty layers expect
        //
        //   vkGetInstanceProcAddr(VK_NULL_HANDLE, "vkCreateDevice");
        //
        // to work.
        return (strcmp(pName, "vkCreateDevice") == 0) ? hook->proc : nullptr;
        return nullptr;
    }

    PFN_vkVoidFunction proc;
+17 −12
Original line number Diff line number Diff line
@@ -162,8 +162,11 @@ void GatherGpuInfo(VkPhysicalDevice gpu,
    uint32_t num_extensions = 0;
    for (const auto& desired_ext : kDesiredExtensions) {
        bool available = HasExtension(info.extensions, desired_ext);
        for (size_t i = 0; !available && i < info.layer_extensions.size(); i++)
        if (options.validate) {
            for (size_t i = 0; !available && i < info.layer_extensions.size();
                 i++)
                available = HasExtension(info.layer_extensions[i], desired_ext);
        }
        if (available)
            extensions[num_extensions++] = desired_ext;
    }
@@ -179,12 +182,11 @@ void GatherGpuInfo(VkPhysicalDevice gpu,
    // clang-format off
    const char *kValidationLayers[] = {
        "VK_LAYER_GOOGLE_threading",
        "VK_LAYER_LUNARG_parameter_validation",
        "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_image",
        "VK_LAYER_LUNARG_core_validation",
        "VK_LAYER_LUNARG_swapchain",
        "VK_LAYER_GOOGLE_unique_objects"
    };
@@ -236,8 +238,12 @@ void GatherInfo(VulkanInfo* info, const Options& options) {
    uint32_t num_extensions = 0;
    for (const auto& desired_ext : kDesiredExtensions) {
        bool available = HasExtension(info->extensions, desired_ext);
        for (size_t i = 0; !available && i < info->layer_extensions.size(); i++)
            available = HasExtension(info->layer_extensions[i], desired_ext);
        if (options.validate) {
            for (size_t i = 0; !available && i < info->layer_extensions.size();
                 i++)
                available =
                    HasExtension(info->layer_extensions[i], desired_ext);
        }
        if (available)
            extensions[num_extensions++] = desired_ext;
    }
@@ -245,12 +251,11 @@ void GatherInfo(VulkanInfo* info, const Options& options) {
    // clang-format off
    const char *kValidationLayers[] = {
        "VK_LAYER_GOOGLE_threading",
        "VK_LAYER_LUNARG_parameter_validation",
        "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_image",
        "VK_LAYER_LUNARG_core_validation",
        "VK_LAYER_LUNARG_swapchain",
        "VK_LAYER_GOOGLE_unique_objects"
    };