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

Commit f9fa9a50 authored by Jesse Hall's avatar Jesse Hall
Browse files

vulkan: Update from version 0.210.1 to 0.213.0

Change-Id: I441a2ddf872298a5415b40299fc1143c879c5e86
(cherry picked from commit 842515ca8d8705627e3ce7c196405cac60707629)
parent 6e4ab316
Loading
Loading
Loading
Loading
+133 −26
Original line number Diff line number Diff line
@@ -27,8 +27,8 @@ import platform "platform.api"

// API version (major.minor.patch)
define VERSION_MAJOR 0
define VERSION_MINOR 210
define VERSION_PATCH 1
define VERSION_MINOR 213
define VERSION_PATCH 0

// API limits
define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256
@@ -61,15 +61,15 @@ define NULL_HANDLE 0
@extension("VK_KHR_display_swapchain") define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NUMBER 4
@extension("VK_KHR_display_swapchain") define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME   "VK_KHR_display_swapchain"

@extension("VK_KHR_xlib_surface") define VK_KHR_XLIB_SURFACE_REVISION           5
@extension("VK_KHR_xlib_surface") define VK_KHR_XLIB_SURFACE_REVISION           6
@extension("VK_KHR_xlib_surface") define VK_KHR_XLIB_SURFACE_NUMBER             5
@extension("VK_KHR_xlib_surface") define VK_KHR_XLIB_SURFACE_NAME               "VK_KHR_xlib_surface"

@extension("VK_KHR_xcb_surface") define VK_KHR_XCB_SURFACE_REVISION             5
@extension("VK_KHR_xcb_surface") define VK_KHR_XCB_SURFACE_REVISION             6
@extension("VK_KHR_xcb_surface") define VK_KHR_XCB_SURFACE_NUMBER               6
@extension("VK_KHR_xcb_surface") define VK_KHR_XCB_SURFACE_NAME                 "VK_KHR_xcb_surface"

@extension("VK_KHR_wayland_surface") define VK_KHR_WAYLAND_SURFACE_REVISION     4
@extension("VK_KHR_wayland_surface") define VK_KHR_WAYLAND_SURFACE_REVISION     5
@extension("VK_KHR_wayland_surface") define VK_KHR_WAYLAND_SURFACE_NUMBER       7
@extension("VK_KHR_wayland_surface") define VK_KHR_WAYLAND_SURFACE_NAME         "VK_KHR_wayland_surface"

@@ -77,11 +77,11 @@ define NULL_HANDLE 0
@extension("VK_KHR_mir_surface") define VK_KHR_MIR_SURFACE_NUMBER               8
@extension("VK_KHR_mir_surface") define VK_KHR_MIR_SURFACE_NAME                 "VK_KHR_mir_surface"

@extension("VK_KHR_android_surface") define VK_KHR_ANDROID_SURFACE_REVISION     4
@extension("VK_KHR_android_surface") define VK_KHR_ANDROID_SURFACE_REVISION     5
@extension("VK_KHR_android_surface") define VK_KHR_ANDROID_SURFACE_NUMBER       8
@extension("VK_KHR_android_surface") define VK_KHR_ANDROID_SURFACE_NAME         "VK_KHR_android_surface"

@extension("VK_KHR_win32_surface") define VK_KHR_WIN32_SURFACE_REVISION         4
@extension("VK_KHR_win32_surface") define VK_KHR_WIN32_SURFACE_REVISION         5
@extension("VK_KHR_win32_surface") define VK_KHR_WIN32_SURFACE_NUMBER           9
@extension("VK_KHR_win32_surface") define VK_KHR_WIN32_SURFACE_NAME             "VK_KHR_win32_surface"

@@ -632,6 +632,24 @@ enum VkStructureType {

    //@extension("VK_KHR_display_swapchain")
    VK_STRUCTURE_TYPE_DISPLAY_DISPLAY_PRESENT_INFO_KHR          = 1000003000,

    //@extension("VK_KHR_xlib_surface")
    VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR              = 1000004000,

    //@extension("VK_KHR_xcb_surface")
    VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR               = 1000005000,

    //@extension("VK_KHR_wayland_surface")
    VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR           = 1000006000,

    //@extension("VK_KHR_mir_surface")
    VK_STRUCTURE_TYPE_MIR_SURFACE_CREATE_INFO_KHR               = 1000007000,

    //@extension("VK_KHR_android_surface")
    VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR           = 1000008000,

    //@extension("VK_KHR_win32_surface")
    VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR             = 1000009000,
}

enum VkSubpassContents {
@@ -1147,7 +1165,7 @@ bitfield VkCullModeFlagBits {
type VkFlags VkSurfaceTransformFlagsKHR
@extension("VK_KHR_surface")
bitfield VkSurfaceTransformFlagBitsKHR {
    VK_SURFACE_TRANSFORM_NONE_BIT_KHR                           = 0x00000001,
    VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR                       = 0x00000001,
    VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR                      = 0x00000002,
    VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR                     = 0x00000004,
    VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR                     = 0x00000008,
@@ -1196,6 +1214,42 @@ type VkFlags VkDisplayModeCreateFlagsKHR
//bitfield VkDisplayModeCreateFlagBitsKHR {
//}

@extension("VK_KHR_xlib_surface")
type VkFlags VkXlibSurfaceCreateFlagsKHR
//@extension("VK_KHR_xlib_surface")
//bitfield VkXlibSurfaceCreateFlagBitsKHR {
//}

@extension("VK_KHR_xcb_surface")
type VkFlags VkXcbSurfaceCreateFlagsKHR
//@extension("VK_KHR_xcb_surface")
//bitfield VkXcbSurfaceCreateFlagBitsKHR {
//}

@extension("VK_KHR_wayland_surface")
type VkFlags VkWaylandSurfaceCreateFlagsKHR
//@extension("VK_KHR_wayland_surface")
//bitfield VkWaylandSurfaceCreateFlagBitsKHR {
//}

@extension("VK_KHR_mir_surface")
type VkFlags VkMirSurfaceCreateFlagsKHR
//@extension("VK_KHR_mir_surface")
//bitfield VkMirSurfaceCreateFlagBitsKHR {
//}

@extension("VK_KHR_android_surface")
type VkFlags VkAndroidSurfaceCreateFlagsKHR
//@extension("VK_KHR_android_surface")
//bitfield VkAndroidSurfaceCreateFlagBitsKHR {
//}

@extension("VK_KHR_win32_surface")
type VkFlags VkWin32SurfaceCreateFlagsKHR
//@extension("VK_KHR_win32_surface")
//bitfield VkWin32SurfaceCreateFlagBitsKHR {
//}


//////////////////
//  Structures  //
@@ -1372,7 +1426,7 @@ class VkSparseImageFormatProperties {

class VkSparseImageMemoryRequirements {
    VkSparseImageFormatProperties               formatProperties
    u32                                         imageMipTailStartLod
    u32                                         imageMipTailFirstLod
    VkDeviceSize                                imageMipTailSize           /// Specified in bytes, must be a multiple of image block size / alignment
    VkDeviceSize                                imageMipTailOffset         /// Specified in bytes, must be a multiple of image block size / alignment
    VkDeviceSize                                imageMipTailStride         /// Specified in bytes, must be a multiple of image block size / alignment
@@ -1914,6 +1968,7 @@ class VkSamplerCreateInfo {
    VkSamplerAddressMode                        addressModeV
    VkSamplerAddressMode                        addressModeW
    f32                                         mipLodBias
    VkBool32                                    anisotropyEnable
    f32                                         maxAnisotropy
    VkBool32                                    compareEnable
    VkCompareOp                                 compareOp
@@ -2104,6 +2159,7 @@ class VkPhysicalDeviceFeatures {
    VkBool32                                    sparseResidency16Samples                  /// Sparse resources support: GPU can access partially resident MSAA 2D images with 16 samples
    VkBool32                                    sparseResidencyAliased                    /// Sparse resources support: GPU can correctly access data aliased into multiple locations (opt-in)
    VkBool32                                    variableMultisampleRate
    VkBool32                                    inheritedQueries
}

class VkPhysicalDeviceLimits {
@@ -2214,6 +2270,7 @@ class VkPhysicalDeviceLimits {
    VkSampleCountFlags                          sampledImageStencilSampleCounts
    VkSampleCountFlags                          storageImageSampleCounts
    u32                                         maxSampleMaskWords                        /// max num of sample mask words
    VkBool32                                    timestampComputeAndGraphics

    f32                                         timestampPeriod

@@ -2418,6 +2475,59 @@ class VkDisplayPresentInfoKHR {
    VkBool32                                    persistent
}

@extension("VK_KHR_xlib_surface")
class VkXlibSurfaceCreateInfoKHR {
    VkStructureType                             sType
    const void*                                 pNext
    VkXlibSurfaceCreateFlagsKHR                 flags
    platform.Display*                           dpy
    platform.Window                             window
}

@extension("VK_KHR_xcb_surface")
class VkXcbSurfaceCreateInfoKHR {
    VkStructureType                             sType
    const void*                                 pNext
    VkXcbSurfaceCreateFlagsKHR                  flags
    platform.xcb_connection_t*                  connection
    platform.xcb_window_t                       window
}

@extension("VK_KHR_wayland_surface")
class VkWaylandSurfaceCreateInfoKHR {
    VkStructureType                             sType
    const void*                                 pNext
    VkWaylandSurfaceCreateFlagsKHR              flags
    platform.wl_display*                        display
    platform.wl_surface*                        surface
}

@extension("VK_KHR_mir_surface")
class VkMirSurfaceCreateInfoKHR {
    VkStructureType                             sType
    const void*                                 pNext
    VkMirSurfaceCreateFlagsKHR                  flags
    platform.MirConnection*                     connection
    platform.MirSurface*                        mirSurface
}

@extension("VK_KHR_android_surface")
class VkAndroidSurfaceCreateInfoKHR {
    VkStructureType                             sType
    const void*                                 pNext
    VkAndroidSurfaceCreateFlagsKHR              flags
    platform.ANativeWindow*                     window
}

@extension("VK_KHR_win32_surface")
class VkWin32SurfaceCreateInfoKHR {
    VkStructureType                             sType
    const void*                                 pNext
    VkWin32SurfaceCreateFlagsKHR                flags
    platform.HINSTANCE                          hinstance
    platform.HWND                               hwnd
}


////////////////
//  Commands  //
@@ -3204,7 +3314,7 @@ cmd void vkDestroyQueryPool(
cmd VkResult vkGetQueryPoolResults(
        VkDevice                                    device,
        VkQueryPool                                 queryPool,
        u32                                         startQuery,
        u32                                         firstQuery,
        u32                                         queryCount,
        platform.size_t                             dataSize,
        void*                                       pData,
@@ -3928,6 +4038,7 @@ cmd void vkCmdBindPipeline(
@threadSafety("app")
cmd void vkCmdSetViewport(
        VkCommandBuffer                             commandBuffer,
        u32                                         firstViewport,
        u32                                         viewportCount,
        const VkViewport*                           pViewports) {
    commandBufferObject := GetCommandBuffer(commandBuffer)
@@ -3937,6 +4048,7 @@ cmd void vkCmdSetViewport(
@threadSafety("app")
cmd void vkCmdSetScissor(
        VkCommandBuffer                             commandBuffer,
        u32                                         firstScissor,
        u32                                         scissorCount,
        const VkRect2D*                             pScissors) {
    commandBufferObject := GetCommandBuffer(commandBuffer)
@@ -4057,13 +4169,13 @@ cmd void vkCmdBindIndexBuffer(
@threadSafety("app")
cmd void vkCmdBindVertexBuffers(
        VkCommandBuffer                             commandBuffer,
        u32                                         startBinding,
        u32                                         firstBinding,
        u32                                         bindingCount,
        const VkBuffer*                             pBuffers,
        const VkDeviceSize*                         pOffsets) {
    commandBufferObject := GetCommandBuffer(commandBuffer)

    // TODO: check if not [startBinding:startBinding+bindingCount]
    // TODO: check if not [firstBinding:firstBinding+bindingCount]
    buffers := pBuffers[0:bindingCount]
    offsets := pOffsets[0:bindingCount]
    for i in (0 .. bindingCount) {
@@ -4519,7 +4631,7 @@ cmd void vkCmdEndQuery(
cmd void vkCmdResetQueryPool(
        VkCommandBuffer                             commandBuffer,
        VkQueryPool                                 queryPool,
        u32                                         startQuery,
        u32                                         firstQuery,
        u32                                         queryCount) {
    commandBufferObject := GetCommandBuffer(commandBuffer)
    queryPoolObject := GetQueryPool(queryPool)
@@ -4541,7 +4653,7 @@ cmd void vkCmdWriteTimestamp(
cmd void vkCmdCopyQueryPoolResults(
        VkCommandBuffer                             commandBuffer,
        VkQueryPool                                 queryPool,
        u32                                         startQuery,
        u32                                         firstQuery,
        u32                                         queryCount,
        VkBuffer                                    dstBuffer,
        VkDeviceSize                                dstOffset,
@@ -4842,8 +4954,7 @@ cmd VkResult vkCreateSharedSwapchainsKHR(
@extension("VK_KHR_xlib_surface")
cmd VkResult vkCreateXlibSurfaceKHR(
        VkInstance                              instance,
        platform.Display*                       dpy,
        platform.Window                         window,
        const VkXlibSurfaceCreateInfoKHR*       pCreateInfo,
        const VkAllocationCallbacks*            pAllocator,
        VkSurfaceKHR*                           pSurface) {
    instanceObject := GetInstance(instance)
@@ -4861,10 +4972,9 @@ cmd VkBool32 vkGetPhysicalDeviceXlibPresentationSupportKHR(
}

@extension("VK_KHR_xcb_surface")
cmd VkResult vkCreateXCBSurfaceKHR(
cmd VkResult vkCreateXcbSurfaceKHR(
        VkInstance                              instance,
        platform.xcb_connection_t*              connection,
        platform.xcb_window_t                   window,
        const VkXcbSurfaceCreateInfoKHR*        pCreateInfo,
        const VkAllocationCallbacks*            pAllocator,
        VkSurfaceKHR*                           pSurface) {
    instanceObject := GetInstance(instance)
@@ -4884,8 +4994,7 @@ cmd VkBool32 vkGetPhysicalDeviceXcbPresentationSupportKHR(
@extension("VK_KHR_wayland_surface")
cmd VkResult vkCreateWaylandSurfaceKHR(
        VkInstance                              instance,
        platform.wl_display*                    display,
        platform.wl_surface*                    surface,
        const VkWaylandSurfaceCreateInfoKHR*    pCreateInfo,
        const VkAllocationCallbacks*            pAllocator,
        VkSurfaceKHR*                           pSurface) {
    instanceObject := GetInstance(instance)
@@ -4904,8 +5013,7 @@ cmd VkBool32 vkGetPhysicalDeviceWaylandPresentationSupportKHR(
@extension("VK_KHR_mir_surface")
cmd VkResult vkCreateMirSurfaceKHR(
        VkInstance                              instance,
        platform.MirConnection*                 connection,
        platform.MirSurface*                    mirSurface,
        const VkMirSurfaceCreateInfoKHR*        pCreateInfo,
        const VkAllocationCallbacks*            pAllocator,
        VkSurfaceKHR*                           pSurface) {
    instanceObject := GetInstance(instance)
@@ -4924,7 +5032,7 @@ cmd VkBool32 vkGetPhysicalDeviceMirPresentationSupportKHR(
@extension("VK_KHR_android_surface")
cmd VkResult vkCreateAndroidSurfaceKHR(
        VkInstance                              instance,
        platform.ANativeWindow*                 window,
        const VkAndroidSurfaceCreateInfoKHR*    pCreateInfo,
        const VkAllocationCallbacks*            pAllocator,
        VkSurfaceKHR*                           pSurface) {
    instanceObject := GetInstance(instance)
@@ -4934,8 +5042,7 @@ cmd VkResult vkCreateAndroidSurfaceKHR(
@extension("VK_KHR_win32_surface")
cmd VkResult vkCreateWin32SurfaceKHR(
        VkInstance                              instance,
        platform.HINSTANCE                      hinstance,
        platform.HWND                           hwnd,
        const VkWin32SurfaceCreateInfoKHR*      pCreateInfo,
        const VkAllocationCallbacks*            pAllocator,
        VkSurfaceKHR*                           pSurface) {
    instanceObject := GetInstance(instance)
+131 −60

File changed.

Preview size limit exceeded, changes collapsed.

+14 −14
Original line number Diff line number Diff line
@@ -1540,8 +1540,8 @@ VKAPI_ATTR void vkDestroyQueryPool(VkDevice device, VkQueryPool queryPool, const
}

__attribute__((visibility("default")))
VKAPI_ATTR VkResult vkGetQueryPoolResults(VkDevice device, VkQueryPool queryPool, uint32_t startQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags) {
    return GetDispatchTable(device).GetQueryPoolResults(device, queryPool, startQuery, queryCount, dataSize, pData, stride, flags);
VKAPI_ATTR VkResult vkGetQueryPoolResults(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags) {
    return GetDispatchTable(device).GetQueryPoolResults(device, queryPool, firstQuery, queryCount, dataSize, pData, stride, flags);
}

__attribute__((visibility("default")))
@@ -1765,13 +1765,13 @@ VKAPI_ATTR void vkCmdBindPipeline(VkCommandBuffer commandBuffer, VkPipelineBindP
}

__attribute__((visibility("default")))
VKAPI_ATTR void vkCmdSetViewport(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports) {
    GetDispatchTable(commandBuffer).CmdSetViewport(commandBuffer, viewportCount, pViewports);
VKAPI_ATTR void vkCmdSetViewport(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports) {
    GetDispatchTable(commandBuffer).CmdSetViewport(commandBuffer, firstViewport, viewportCount, pViewports);
}

__attribute__((visibility("default")))
VKAPI_ATTR void vkCmdSetScissor(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors) {
    GetDispatchTable(commandBuffer).CmdSetScissor(commandBuffer, scissorCount, pScissors);
VKAPI_ATTR void vkCmdSetScissor(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors) {
    GetDispatchTable(commandBuffer).CmdSetScissor(commandBuffer, firstScissor, scissorCount, pScissors);
}

__attribute__((visibility("default")))
@@ -1820,8 +1820,8 @@ VKAPI_ATTR void vkCmdBindIndexBuffer(VkCommandBuffer commandBuffer, VkBuffer buf
}

__attribute__((visibility("default")))
VKAPI_ATTR void vkCmdBindVertexBuffers(VkCommandBuffer commandBuffer, uint32_t startBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets) {
    GetDispatchTable(commandBuffer).CmdBindVertexBuffers(commandBuffer, startBinding, bindingCount, pBuffers, pOffsets);
VKAPI_ATTR void vkCmdBindVertexBuffers(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets) {
    GetDispatchTable(commandBuffer).CmdBindVertexBuffers(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets);
}

__attribute__((visibility("default")))
@@ -1940,8 +1940,8 @@ VKAPI_ATTR void vkCmdEndQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPo
}

__attribute__((visibility("default")))
VKAPI_ATTR void vkCmdResetQueryPool(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t startQuery, uint32_t queryCount) {
    GetDispatchTable(commandBuffer).CmdResetQueryPool(commandBuffer, queryPool, startQuery, queryCount);
VKAPI_ATTR void vkCmdResetQueryPool(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) {
    GetDispatchTable(commandBuffer).CmdResetQueryPool(commandBuffer, queryPool, firstQuery, queryCount);
}

__attribute__((visibility("default")))
@@ -1950,8 +1950,8 @@ VKAPI_ATTR void vkCmdWriteTimestamp(VkCommandBuffer commandBuffer, VkPipelineSta
}

__attribute__((visibility("default")))
VKAPI_ATTR void vkCmdCopyQueryPoolResults(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t startQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags) {
    GetDispatchTable(commandBuffer).CmdCopyQueryPoolResults(commandBuffer, queryPool, startQuery, queryCount, dstBuffer, dstOffset, stride, flags);
VKAPI_ATTR void vkCmdCopyQueryPoolResults(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags) {
    GetDispatchTable(commandBuffer).CmdCopyQueryPoolResults(commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags);
}

__attribute__((visibility("default")))
@@ -2030,8 +2030,8 @@ VKAPI_ATTR VkResult vkQueuePresentKHR(VkQueue queue, const VkPresentInfoKHR* pPr
}

__attribute__((visibility("default")))
VKAPI_ATTR VkResult vkCreateAndroidSurfaceKHR(VkInstance instance, struct ANativeWindow* window, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) {
    return GetDispatchTable(instance).CreateAndroidSurfaceKHR(instance, window, pAllocator, pSurface);
VKAPI_ATTR VkResult vkCreateAndroidSurfaceKHR(VkInstance instance, const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) {
    return GetDispatchTable(instance).CreateAndroidSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface);
}

// clang-format on
+1 −1
Original line number Diff line number Diff line
@@ -104,7 +104,7 @@ const DriverDispatchTable& GetDriverDispatch(VkQueue queue);
// swapchain.cpp

// clang-format off
VKAPI_ATTR VkResult CreateAndroidSurfaceKHR_Bottom(VkInstance instance, ANativeWindow* window, const VkAllocationCallbacks* allocator, VkSurfaceKHR* surface);
VKAPI_ATTR VkResult CreateAndroidSurfaceKHR_Bottom(VkInstance instance, const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* allocator, VkSurfaceKHR* surface);
VKAPI_ATTR void DestroySurfaceKHR_Bottom(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* allocator);
VKAPI_ATTR VkResult GetPhysicalDeviceSurfaceSupportKHR_Bottom(VkPhysicalDevice pdev, uint32_t queue_family, VkSurfaceKHR surface, VkBool32* pSupported);
VKAPI_ATTR VkResult GetPhysicalDeviceSurfaceCapabilitiesKHR_Bottom(VkPhysicalDevice pdev, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* capabilities);
+9 −8
Original line number Diff line number Diff line
@@ -148,8 +148,9 @@ Swapchain* SwapchainFromHandle(VkSwapchainKHR handle) {
namespace vulkan {

VKAPI_ATTR
VkResult CreateAndroidSurfaceKHR_Bottom(VkInstance instance,
                                        ANativeWindow* window,
VkResult CreateAndroidSurfaceKHR_Bottom(
    VkInstance instance,
    const VkAndroidSurfaceCreateInfoKHR* pCreateInfo,
    const VkAllocationCallbacks* allocator,
    VkSurfaceKHR* out_surface) {
    if (!allocator)
@@ -161,7 +162,7 @@ VkResult CreateAndroidSurfaceKHR_Bottom(VkInstance instance,
        return VK_ERROR_OUT_OF_HOST_MEMORY;
    Surface* surface = new (mem) Surface;

    surface->window = InitSharedPtr(instance, window);
    surface->window = InitSharedPtr(instance, pCreateInfo->window);

    // TODO(jessehall): Create and use NATIVE_WINDOW_API_VULKAN.
    int err =
@@ -238,10 +239,10 @@ VkResult GetPhysicalDeviceSurfaceCapabilitiesKHR_Bottom(

    // TODO(jessehall): We can support all transforms, fix this once
    // implemented.
    capabilities->supportedTransforms = VK_SURFACE_TRANSFORM_NONE_BIT_KHR;
    capabilities->supportedTransforms = VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR;

    // TODO(jessehall): Implement based on NATIVE_WINDOW_TRANSFORM_HINT.
    capabilities->currentTransform = VK_SURFACE_TRANSFORM_NONE_BIT_KHR;
    capabilities->currentTransform = VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR;

    capabilities->maxImageArrayLayers = 1;

@@ -330,7 +331,7 @@ VkResult CreateSwapchainKHR_Bottom(VkDevice device,
             "color spaces other than SRGB_NONLINEAR not yet implemented");
    ALOGE_IF(create_info->oldSwapchain,
             "swapchain re-creation not yet implemented");
    ALOGE_IF(create_info->preTransform != VK_SURFACE_TRANSFORM_NONE_BIT_KHR,
    ALOGE_IF(create_info->preTransform != VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR,
             "swapchain preTransform not yet implemented");
    ALOGE_IF(create_info->presentMode != VK_PRESENT_MODE_FIFO_KHR,
             "present modes other than FIFO are not yet implemented");
Loading