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

Commit 2e12cb80 authored by Chris Forbes's avatar Chris Forbes
Browse files

vulkan: Add KHR_swapchain_front_buffered to header and api

This is tacked in by hand since the extension MR hasn't landed yet in
the Khronos repo.

Test: build
Change-Id: Iccfce0032f27fca982cdb4e9ee414df036f01613
parent 27d40795
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -150,6 +150,9 @@ define NULL_HANDLE 0
@extension("VK_NVX_device_generated_commands") define VK_NVX_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 1
@extension("VK_NVX_device_generated_commands") define VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NVX_device_generated_commands"

@extension("VK_KHR_swapchain_front_buffered") define VK_KHR_SWAPCHAIN_FRONT_BUFFERED_SPEC_VERSION 2
@extension("VK_KHR_swapchain_front_buffered") define VK_KHR_SWAPCHAIN_FRONT_BUFFERED_EXTENSION_NAME "VK_KHR_swapchain_front_buffered"



/////////////
@@ -924,6 +927,10 @@ enum VkPresentModeKHR {
    VK_PRESENT_MODE_MAILBOX_KHR                             = 0x00000001,
    VK_PRESENT_MODE_FIFO_KHR                                = 0x00000002,
    VK_PRESENT_MODE_FIFO_RELAXED_KHR                        = 0x00000003,
    //@extension("VK_KHR_swapchain_front_buffered")
    VK_PRESENT_MODE_FRONT_BUFFERED_DEMAND_REFRESH_KHR       = 1000111000,
    //@extension("VK_KHR_swapchain_front_buffered")
    VK_PRESENT_MODE_FRONT_BUFFERED_CONTINUOUS_REFRESH_KHR   = 1000111001,
}

@extension("VK_KHR_surface")
@@ -6109,6 +6116,13 @@ cmd void vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX(
        VkDeviceGeneratedCommandsLimitsNVX*         pLimits) {
}

@extension("VK_KHR_swapchain_front_buffered")
cmd VkResult vkGetSwapchainStatusKHR(
        VkDevice                                    device,
        VkSwapchainKHR                              swapchain) {
    return ?
}


////////////////
// Validation //
+14 −0
Original line number Diff line number Diff line
@@ -3228,6 +3228,8 @@ typedef enum VkPresentModeKHR {
    VK_PRESENT_MODE_MAILBOX_KHR = 1,
    VK_PRESENT_MODE_FIFO_KHR = 2,
    VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3,
    VK_PRESENT_MODE_FRONT_BUFFERED_DEMAND_REFRESH_KHR = 1000111000,
    VK_PRESENT_MODE_FRONT_BUFFERED_CONTINUOUS_REFRESH_KHR = 1000111001,
    VK_PRESENT_MODE_BEGIN_RANGE_KHR = VK_PRESENT_MODE_IMMEDIATE_KHR,
    VK_PRESENT_MODE_END_RANGE_KHR = VK_PRESENT_MODE_FIFO_RELAXED_KHR,
    VK_PRESENT_MODE_RANGE_SIZE_KHR = (VK_PRESENT_MODE_FIFO_RELAXED_KHR - VK_PRESENT_MODE_IMMEDIATE_KHR + 1),
@@ -3884,6 +3886,18 @@ typedef struct VkPresentRegionsKHR {
    const VkPresentRegionKHR* pRegions;
} VkPresentRegionsKHR;

#define VK_KHR_swapchain_front_buffered 1
#define VK_KHR_SWAPCHAIN_FRONT_BUFFERED_SPEC_VERSION 2
#define VK_KHR_SWAPCHAIN_FRONT_BUFFERED_EXTENSION_NAME "VK_KHR_swapchain_front_buffered"

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

#ifndef VK_NO_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR(
    VkDevice                                    device,
    VkSwapchainKHR                              swapchain);
#endif

#define VK_EXT_debug_report 1
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)