mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-06 07:38:48 +00:00
+19
-9
@@ -7,14 +7,15 @@ import os.path
|
|||||||
import math
|
import math
|
||||||
|
|
||||||
file_and_urls = [
|
file_and_urls = [
|
||||||
("vk_platform.h", 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vulkan/vk_platform.h', True),
|
("vk_platform.h", 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vulkan/vk_platform.h', True),
|
||||||
("vulkan_core.h", 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vulkan/vulkan_core.h', False),
|
("vulkan_core.h", 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vulkan/vulkan_core.h', False),
|
||||||
("vk_layer.h", 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vulkan/vk_layer.h', True),
|
("vk_layer.h", 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vulkan/vk_layer.h', True),
|
||||||
("vk_icd.h", 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vulkan/vk_icd.h', True),
|
("vk_icd.h", 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vulkan/vk_icd.h', True),
|
||||||
("vulkan_win32.h", 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vulkan/vulkan_win32.h', False),
|
("vulkan_win32.h", 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vulkan/vulkan_win32.h', False),
|
||||||
("vulkan_metal.h", 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vulkan/vulkan_metal.h', False),
|
("vulkan_metal.h", 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vulkan/vulkan_metal.h', False),
|
||||||
("vulkan_macos.h", 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vulkan/vulkan_macos.h', False),
|
("vulkan_macos.h", 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vulkan/vulkan_macos.h', False),
|
||||||
("vulkan_ios.h", 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vulkan/vulkan_ios.h', False),
|
("vulkan_ios.h", 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vulkan/vulkan_ios.h', False),
|
||||||
|
("vulkan_wayland.h", 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vulkan/vulkan_wayland.h', False),
|
||||||
]
|
]
|
||||||
|
|
||||||
for file, url, _ in file_and_urls:
|
for file, url, _ in file_and_urls:
|
||||||
@@ -38,6 +39,11 @@ def no_vk(t):
|
|||||||
t = t.replace('VK_', '')
|
t = t.replace('VK_', '')
|
||||||
return t
|
return t
|
||||||
|
|
||||||
|
OPAQUE_STRUCTS = """
|
||||||
|
wl_surface :: struct {} // Opaque struct defined by Wayland
|
||||||
|
wl_display :: struct {} // Opaque struct defined by Wayland
|
||||||
|
"""
|
||||||
|
|
||||||
def convert_type(t, prev_name, curr_name):
|
def convert_type(t, prev_name, curr_name):
|
||||||
table = {
|
table = {
|
||||||
"Bool32": 'b32',
|
"Bool32": 'b32',
|
||||||
@@ -66,8 +72,10 @@ def convert_type(t, prev_name, curr_name):
|
|||||||
"const AccelerationStructureBuildRangeInfoKHR* const*": "^[^]AccelerationStructureBuildRangeInfoKHR",
|
"const AccelerationStructureBuildRangeInfoKHR* const*": "^[^]AccelerationStructureBuildRangeInfoKHR",
|
||||||
"struct BaseOutStructure": "BaseOutStructure",
|
"struct BaseOutStructure": "BaseOutStructure",
|
||||||
"struct BaseInStructure": "BaseInStructure",
|
"struct BaseInStructure": "BaseInStructure",
|
||||||
|
"struct wl_display": "wl_display",
|
||||||
|
"struct wl_surface": "wl_surface",
|
||||||
'v': '',
|
'v': '',
|
||||||
}
|
}
|
||||||
|
|
||||||
if t in table.keys():
|
if t in table.keys():
|
||||||
return table[t]
|
return table[t]
|
||||||
@@ -431,6 +439,8 @@ def parse_structs(f):
|
|||||||
|
|
||||||
f.write("}\n\n")
|
f.write("}\n\n")
|
||||||
|
|
||||||
|
f.write("// Opaque structs\n")
|
||||||
|
f.write(OPAQUE_STRUCTS)
|
||||||
|
|
||||||
f.write("// Aliases\n")
|
f.write("// Aliases\n")
|
||||||
data = re.findall(r"typedef Vk(\w+?) Vk(\w+?);", src, re.S)
|
data = re.findall(r"typedef Vk(\w+?) Vk(\w+?);", src, re.S)
|
||||||
|
|||||||
Vendored
+54
@@ -0,0 +1,54 @@
|
|||||||
|
#ifndef VULKAN_WAYLAND_H_
|
||||||
|
#define VULKAN_WAYLAND_H_ 1
|
||||||
|
|
||||||
|
/*
|
||||||
|
** Copyright 2015-2023 The Khronos Group Inc.
|
||||||
|
**
|
||||||
|
** SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
** This header is generated from the Khronos Vulkan XML API Registry.
|
||||||
|
**
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#define VK_KHR_wayland_surface 1
|
||||||
|
#define VK_KHR_WAYLAND_SURFACE_SPEC_VERSION 6
|
||||||
|
#define VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME "VK_KHR_wayland_surface"
|
||||||
|
typedef VkFlags VkWaylandSurfaceCreateFlagsKHR;
|
||||||
|
typedef struct VkWaylandSurfaceCreateInfoKHR {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
VkWaylandSurfaceCreateFlagsKHR flags;
|
||||||
|
struct wl_display* display;
|
||||||
|
struct wl_surface* surface;
|
||||||
|
} VkWaylandSurfaceCreateInfoKHR;
|
||||||
|
|
||||||
|
typedef VkResult (VKAPI_PTR *PFN_vkCreateWaylandSurfaceKHR)(VkInstance instance, const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
|
||||||
|
typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, struct wl_display* display);
|
||||||
|
|
||||||
|
#ifndef VK_NO_PROTOTYPES
|
||||||
|
VKAPI_ATTR VkResult VKAPI_CALL vkCreateWaylandSurfaceKHR(
|
||||||
|
VkInstance instance,
|
||||||
|
const VkWaylandSurfaceCreateInfoKHR* pCreateInfo,
|
||||||
|
const VkAllocationCallbacks* pAllocator,
|
||||||
|
VkSurfaceKHR* pSurface);
|
||||||
|
|
||||||
|
VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceWaylandPresentationSupportKHR(
|
||||||
|
VkPhysicalDevice physicalDevice,
|
||||||
|
uint32_t queueFamilyIndex,
|
||||||
|
struct wl_display* display);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
Vendored
+837
-834
File diff suppressed because it is too large
Load Diff
Vendored
+3181
-3179
File diff suppressed because it is too large
Load Diff
Vendored
+3342
-3334
File diff suppressed because it is too large
Load Diff
Vendored
+5877
-5865
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user