Edit

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

Branch :

  • Show log

    Commit

  • Author : Shahbaz Youssefi
    Date : 2020-09-17 22:40:42
    Hash : a76b6836
    Message : Vulkan: Support MSRTT depth/stencil resolve VK_KHR_depth_stencil_resolve is used by this change to resolve depth/stencil multisampled-render-to-texture renderbuffers. This extension is not widely supported yet. If it's not present, the depth/stencil resolve operation is silently ignored and the renderbuffer acts as a normal multisampled one. This is not correct, but our primary user (Chrome), and most applications don't care for the resolved depth/stencil data. In fact, it's recommended for the depth/stencil attachment to be invalidated after rendering. Exposing EXT_multisampled_render_to_texture even in the absence of depth/stencil resolve allows the majority of the applications to still take advantage of MSRTT color attachments. Bug: angleproject:4836 Change-Id: I6ba4187344a0c9330d2c77bdc5e2c6fc5483c299 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2417645 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>

  • 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
    
    #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_