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

Commit 25a286fd authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge changes I66c13b20,I0f1cc83c,I653d0d8a

* changes:
  vulkan: Implement usage flags query for KHR_shared_presentable_image
  vulkan: Implement KHR_get_surface_capabilities2
  vulkan: Update header for KHR_get_surface_capabilities2
parents f9e6033e 06bc009c
Loading
Loading
Loading
Loading
+57 −0
Original line number Diff line number Diff line
@@ -320,6 +320,10 @@ define NULL_HANDLE 0
@extension("VK_KHR_shared_presentable_image") define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1
@extension("VK_KHR_shared_presentable_image") define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image"

// 119
@extension("VK_KHR_get_surface_capabilities2") define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1
@extension("VK_KHR_get_surface_capabilities2") define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2"

// 123
@extension("VK_MVK_ios_surface") define VK_MVK_IOS_SURFACE_SPEC_VERSION 1
@extension("VK_MVK_ios_surface") define VK_MVK_IOS_SURFACE_EXTENSION_NAME "VK_MVK_ios_surface"
@@ -1082,6 +1086,14 @@ enum VkStructureType {
    //@extension("VK_EXT_hdr_metadata") // 106
    VK_STRUCTURE_TYPE_HDR_METADATA_EXT                          = 1000105000,

    //@extension("VK_KHR_shared_presentable_image") // 111
    VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR   = 1000111000,

    //@extension("VK_KHR_get_surface_capabilities2") // 119
    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR        = 1000119000,
    VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR                = 1000119001,
    VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR                      = 1000119002,

    //@extension("VK_MVK_ios_surface") // 123
    VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK               = 1000122000,

@@ -4245,6 +4257,34 @@ class VkHdrMetadataEXT {
    f32                                             maxFrameAverageLightLevel
}

@extension("VK_KHR_shared_presentable_image") // 111
class VkSharedPresentSurfaceCapabilitiesKHR {
    VkStructureType                                 sType
    const void*                                     pNext
    VkImageUsageFlags                               sharedPresentSupportedUsageFlags
}

@extension("VK_KHR_get_surface_capabilities2") // 119
class VkPhysicalDeviceSurfaceInfo2KHR {
    VkStructureType                                 sType
    const void*                                     pNext
    VkSurfaceKHR                                    surface
}

@extension("VK_KHR_get_surface_capabilities2") // 119
class VkSurfaceCapabilities2KHR {
    VkStructureType                                 sType
    void*                                           pNext
    VkSurfaceCapabilitiesKHR                        surfaceCapabilities
}

@extension("VK_KHR_get_surface_capabilities2") // 119
class VkSurfaceFormat2KHR {
    VkStructureType                                 sType
    void*                                           pNext
    VkSurfaceFormatKHR                              surfaceFormat
}

@extension("VK_MVK_ios_surface") // 123
class VkIOSSurfaceCreateInfoMVK {
    VkStructureType                                 sType
@@ -7418,6 +7458,23 @@ cmd VkResult vkGetSwapchainStatusKHR(
    return ?
}

@extension("VK_KHR_get_surface_capabilities2") // 119
cmd VkResult vkGetPhysicalDeviceSurfaceCapabilities2KHR(
        VkPhysicalDevice                            physicalDevice,
        const VkPhysicalDeviceSurfaceInfo2KHR*      pSurfaceInfo,
        VkSurfaceCapabilities2KHR*                  pSurfaceCapabilities) {
    return ?
}

@extension("VK_KHR_get_surface_capabilities2") // 119
cmd VkResult vkGetPhysicalDeviceSurfaceFormats2KHR(
        VkPhysicalDevice                            physicalDevice,
        const VkPhysicalDeviceSurfaceInfo2KHR*      pSurfaceInfo,
        u32*                                        pSurfaceFormatCount,
        VkSurfaceFormat2KHR*                        pSurfaceFormats) {
    return ?
}

@extension("VK_MVK_ios_surface") // 123
cmd VkResult vkCreateIOSSurfaceMVK(
        VkInstance                                  instance,
+51 −0
Original line number Diff line number Diff line
@@ -301,6 +301,10 @@ typedef enum VkStructureType {
    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000,
    VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001,
    VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000,
    VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000,
    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000,
    VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001,
    VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002,
    VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000,
    VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000,
    VK_STRUCTURE_TYPE_BEGIN_RANGE = VK_STRUCTURE_TYPE_APPLICATION_INFO,
@@ -5766,6 +5770,13 @@ VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT(
#define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1
#define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image"

typedef struct VkSharedPresentSurfaceCapabilitiesKHR {
    VkStructureType      sType;
    void*                pNext;
    VkImageUsageFlags    sharedPresentSupportedUsageFlags;
} VkSharedPresentSurfaceCapabilitiesKHR;


typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain);

#ifndef VK_NO_PROTOTYPES
@@ -5774,6 +5785,46 @@ VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR(
    VkSwapchainKHR                              swapchain);
#endif

#define VK_KHR_get_surface_capabilities2 1
#define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1
#define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2"

typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
    VkStructureType    sType;
    const void*        pNext;
    VkSurfaceKHR       surface;
} VkPhysicalDeviceSurfaceInfo2KHR;

typedef struct VkSurfaceCapabilities2KHR {
    VkStructureType             sType;
    void*                       pNext;
    VkSurfaceCapabilitiesKHR    surfaceCapabilities;
} VkSurfaceCapabilities2KHR;

typedef struct VkSurfaceFormat2KHR {
    VkStructureType       sType;
    void*                 pNext;
    VkSurfaceFormatKHR    surfaceFormat;
} VkSurfaceFormat2KHR;


typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats);

#ifndef VK_NO_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR(
    VkPhysicalDevice                            physicalDevice,
    const VkPhysicalDeviceSurfaceInfo2KHR*      pSurfaceInfo,
    VkSurfaceCapabilities2KHR*                  pSurfaceCapabilities);

VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR(
    VkPhysicalDevice                            physicalDevice,
    const VkPhysicalDeviceSurfaceInfo2KHR*      pSurfaceInfo,
    uint32_t*                                   pSurfaceFormatCount,
    VkSurfaceFormat2KHR*                        pSurfaceFormats);
#endif



#ifdef VK_USE_PLATFORM_IOS_MVK
#define VK_MVK_ios_surface 1
+3 −1
Original line number Diff line number Diff line
@@ -110,7 +110,7 @@ VKAPI_ATTR VkResult disabledCreateAndroidSurfaceKHR(VkInstance instance, const V

// clang-format on

}  // anonymous
}  // namespace

bool InitDispatchTable(
    VkInstance instance,
@@ -473,7 +473,9 @@ VKAPI_ATTR PFN_vkVoidFunction GetDeviceProcAddr(VkDevice device, const char* pNa
        "vkGetPhysicalDeviceQueueFamilyProperties2KHR",
        "vkGetPhysicalDeviceSparseImageFormatProperties",
        "vkGetPhysicalDeviceSparseImageFormatProperties2KHR",
        "vkGetPhysicalDeviceSurfaceCapabilities2KHR",
        "vkGetPhysicalDeviceSurfaceCapabilitiesKHR",
        "vkGetPhysicalDeviceSurfaceFormats2KHR",
        "vkGetPhysicalDeviceSurfaceFormatsKHR",
        "vkGetPhysicalDeviceSurfacePresentModesKHR",
        "vkGetPhysicalDeviceSurfaceSupportKHR",
+1 −1
Original line number Diff line number Diff line
@@ -19,8 +19,8 @@
#ifndef LIBVULKAN_API_GEN_H
#define LIBVULKAN_API_GEN_H

#include <bitset>
#include <vulkan/vulkan.h>
#include <bitset>
#include "driver_gen.h"

namespace vulkan {
+1 −0
Original line number Diff line number Diff line
@@ -690,6 +690,7 @@ VK_KHR_incremental_present
VK_KHR_shared_presentable_image
VK_KHR_surface
VK_KHR_swapchain
VK_KHR_get_surface_capabilities2
{{end}}


Loading