Edit

kc3-lang/angle/src/common/vulkan/vk_headers.h

Branch :

  • Show log

    Commit

  • Author : Shahbaz Youssefi
    Date : 2021-03-30 11:57:44
    Hash : 86a86a7d
    Message : Vulkan: Temporarily use GOOGLEX instead of EXT for MSRTSS Until the driver implementation completes, use a different name for the unreleased extension (tagged with GOOGLEX instead of EXT). Bug: chromium:1088005 Change-Id: I0b948c9c82825681ab130ae3dd91026ea6cb57cf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2795041 Reviewed-by: David Reveman <reveman@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

  • src/common/vulkan/vk_headers.h
  • //
    // Copyright 2016 The ANGLE Project Authors. All rights reserved.
    // Use of this source code is governed by a BSD-style license that can be
    // found in the LICENSE file.
    //
    // vk_headers:
    //    This file should be included to ensure the vulkan headers are included
    //
    
    #ifndef LIBANGLE_RENDERER_VULKAN_VK_HEADERS_H_
    #define LIBANGLE_RENDERER_VULKAN_VK_HEADERS_H_
    
    #if ANGLE_SHARED_LIBVULKAN
    #    include "third_party/volk/volk.h"
    #else
    #    include <vulkan/vulkan.h>
    #endif
    
    // For the unreleased VK_EXT_multisampled_render_to_single_sampled
    #if !defined(VK_EXT_multisampled_render_to_single_sampled)
    #    define VK_EXT_multisampled_render_to_single_sampled 1
    #    define VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_SPEC_VERSION 1
    #    define VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_EXTENSION_NAME \
            "VK_GOOGLEX_multisampled_render_to_single_sampled"
    
    #    define VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT \
            ((VkStructureType)(1000376000))
    #    define VK_STRUCTURE_TYPE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT \
            ((VkStructureType)(1000376001))
    
    typedef struct VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT
    {
        VkStructureType sType;
        const void *pNext;
        VkBool32 multisampledRenderToSingleSampled;
    } VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT;
    
    typedef struct VkMultisampledRenderToSingleSampledInfoEXT
    {
        VkStructureType sType;
        const void *pNext;
        VkBool32 multisampledRenderToSingleSampledEnable;
        VkSampleCountFlagBits rasterizationSamples;
        VkResolveModeFlagBits depthResolveMode;
        VkResolveModeFlagBits stencilResolveMode;
    } VkMultisampledRenderToSingleSampledInfoEXT;
    #endif /* VK_EXT_multisampled_render_to_single_sampled */
    
    #if !defined(ANGLE_SHARED_LIBVULKAN)
    
    namespace rx
    {
    // VK_EXT_debug_utils
    extern PFN_vkCreateDebugUtilsMessengerEXT vkCreateDebugUtilsMessengerEXT;
    extern PFN_vkDestroyDebugUtilsMessengerEXT vkDestroyDebugUtilsMessengerEXT;
    extern PFN_vkCmdBeginDebugUtilsLabelEXT vkCmdBeginDebugUtilsLabelEXT;
    extern PFN_vkCmdEndDebugUtilsLabelEXT vkCmdEndDebugUtilsLabelEXT;
    extern PFN_vkCmdInsertDebugUtilsLabelEXT vkCmdInsertDebugUtilsLabelEXT;
    
    // VK_EXT_debug_report
    extern PFN_vkCreateDebugReportCallbackEXT vkCreateDebugReportCallbackEXT;
    extern PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT;
    
    // VK_KHR_get_physical_device_properties2
    extern PFN_vkGetPhysicalDeviceProperties2KHR vkGetPhysicalDeviceProperties2KHR;
    extern PFN_vkGetPhysicalDeviceFeatures2KHR vkGetPhysicalDeviceFeatures2KHR;
    extern PFN_vkGetPhysicalDeviceMemoryProperties2KHR vkGetPhysicalDeviceMemoryProperties2KHR;
    
    // VK_KHR_external_semaphore_fd
    extern PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHR;
    
    // VK_EXT_external_memory_host
    extern PFN_vkGetMemoryHostPointerPropertiesEXT vkGetMemoryHostPointerPropertiesEXT;
    
    // VK_EXT_transform_feedback
    extern PFN_vkCmdBindTransformFeedbackBuffersEXT vkCmdBindTransformFeedbackBuffersEXT;
    extern PFN_vkCmdBeginTransformFeedbackEXT vkCmdBeginTransformFeedbackEXT;
    extern PFN_vkCmdEndTransformFeedbackEXT vkCmdEndTransformFeedbackEXT;
    extern PFN_vkCmdBeginQueryIndexedEXT vkCmdBeginQueryIndexedEXT;
    extern PFN_vkCmdEndQueryIndexedEXT vkCmdEndQueryIndexedEXT;
    extern PFN_vkCmdDrawIndirectByteCountEXT vkCmdDrawIndirectByteCountEXT;
    
    // VK_KHR_get_memory_requirements2
    extern PFN_vkGetBufferMemoryRequirements2KHR vkGetBufferMemoryRequirements2KHR;
    extern PFN_vkGetImageMemoryRequirements2KHR vkGetImageMemoryRequirements2KHR;
    
    // VK_KHR_bind_memory2
    extern PFN_vkBindBufferMemory2KHR vkBindBufferMemory2KHR;
    extern PFN_vkBindImageMemory2KHR vkBindImageMemory2KHR;
    
    // VK_KHR_external_fence_capabilities
    extern PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR
        vkGetPhysicalDeviceExternalFencePropertiesKHR;
    
    // VK_KHR_external_fence_fd
    extern PFN_vkGetFenceFdKHR vkGetFenceFdKHR;
    extern PFN_vkImportFenceFdKHR vkImportFenceFdKHR;
    
    // VK_KHR_external_semaphore_capabilities
    extern PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR
        vkGetPhysicalDeviceExternalSemaphorePropertiesKHR;
    
    // VK_KHR_sampler_ycbcr_conversion
    extern PFN_vkCreateSamplerYcbcrConversionKHR vkCreateSamplerYcbcrConversionKHR;
    extern PFN_vkDestroySamplerYcbcrConversionKHR vkDestroySamplerYcbcrConversionKHR;
    
    // VK_KHR_create_renderpass2
    extern PFN_vkCreateRenderPass2KHR vkCreateRenderPass2KHR;
    
    #    if defined(ANGLE_PLATFORM_FUCHSIA)
    // VK_FUCHSIA_imagepipe_surface
    extern PFN_vkCreateImagePipeSurfaceFUCHSIA vkCreateImagePipeSurfaceFUCHSIA;
    #    endif
    
    #    if defined(ANGLE_PLATFORM_ANDROID)
    extern PFN_vkGetAndroidHardwareBufferPropertiesANDROID vkGetAndroidHardwareBufferPropertiesANDROID;
    extern PFN_vkGetMemoryAndroidHardwareBufferANDROID vkGetMemoryAndroidHardwareBufferANDROID;
    #    endif
    
    #    if defined(ANGLE_PLATFORM_GGP)
    extern PFN_vkCreateStreamDescriptorSurfaceGGP vkCreateStreamDescriptorSurfaceGGP;
    #    endif  // defined(ANGLE_PLATFORM_GGP)
    
    }  // namespace rx
    
    #endif  // ANGLE_SHARED_LIBVULKAN
    
    #endif  // LIBANGLE_RENDERER_VULKAN_VK_HEADERS_H_