mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-05 15:18:49 +00:00
add missing vulkan video constants
This commit is contained in:
+30
-2
@@ -47,9 +47,9 @@ def no_vk(t):
|
|||||||
t = t.replace('PFN_', 'Proc')
|
t = t.replace('PFN_', 'Proc')
|
||||||
|
|
||||||
t = re.sub('(?:Vk|VK_)?(\w+)', '\\1', t)
|
t = re.sub('(?:Vk|VK_)?(\w+)', '\\1', t)
|
||||||
# Vulkan Video
|
|
||||||
|
|
||||||
t = re.sub('(?:Std|STD_)?(\w+)', '\\1', t)
|
# Vulkan Video
|
||||||
|
t = re.sub('(?:Std|STD_|VK_STD)?(\w+)', '\\1', t)
|
||||||
return t
|
return t
|
||||||
|
|
||||||
OPAQUE_STRUCTS = """
|
OPAQUE_STRUCTS = """
|
||||||
@@ -282,6 +282,16 @@ def parse_constants(f):
|
|||||||
for name, value in vulkan_video_data:
|
for name, value in vulkan_video_data:
|
||||||
f.write("{}{} :: {}\n".format(name, "".rjust(max_len-len(name)), value))
|
f.write("{}{} :: {}\n".format(name, "".rjust(max_len-len(name)), value))
|
||||||
|
|
||||||
|
f.write("\n// Vulkan Video Codec Constants\n")
|
||||||
|
vulkan_video_codec_allowed_suffixes = (
|
||||||
|
"_EXTENSION_NAME",
|
||||||
|
)
|
||||||
|
vulkan_video_codec_data = re.findall(r"#define VK_STD_(\w+)\s*(.*?)U?\n", src, re.S)
|
||||||
|
vulkan_video_codec_allowed_data = [nv for nv in vulkan_video_codec_data if nv[0].endswith(vulkan_video_codec_allowed_suffixes)]
|
||||||
|
max_len = max(len(name) for name, value in vulkan_video_codec_allowed_data)
|
||||||
|
for name, value in vulkan_video_codec_allowed_data:
|
||||||
|
f.write("{}{} :: {}\n".format(name, "".rjust(max_len-len(name)), value))
|
||||||
|
|
||||||
f.write("\n// Vendor Constants\n")
|
f.write("\n// Vendor Constants\n")
|
||||||
fixes = '|'.join(ext_suffixes)
|
fixes = '|'.join(ext_suffixes)
|
||||||
inner = r"((?:(?:" + fixes + r")\w+)|(?:\w+" + fixes + r"))"
|
inner = r"((?:(?:" + fixes + r")\w+)|(?:\w+" + fixes + r"))"
|
||||||
@@ -798,6 +808,7 @@ package vulkan
|
|||||||
with open("../core.odin", 'w', encoding='utf-8') as f:
|
with open("../core.odin", 'w', encoding='utf-8') as f:
|
||||||
f.write(BASE)
|
f.write(BASE)
|
||||||
f.write("""
|
f.write("""
|
||||||
|
// Core API
|
||||||
API_VERSION_1_0 :: (1<<22) | (0<<12) | (0)
|
API_VERSION_1_0 :: (1<<22) | (0<<12) | (0)
|
||||||
API_VERSION_1_1 :: (1<<22) | (1<<12) | (0)
|
API_VERSION_1_1 :: (1<<22) | (1<<12) | (0)
|
||||||
API_VERSION_1_2 :: (1<<22) | (2<<12) | (0)
|
API_VERSION_1_2 :: (1<<22) | (2<<12) | (0)
|
||||||
@@ -848,6 +859,23 @@ MAX_GLOBAL_PRIORITY_SIZE :: 16
|
|||||||
MAX_GLOBAL_PRIORITY_SIZE_EXT :: MAX_GLOBAL_PRIORITY_SIZE
|
MAX_GLOBAL_PRIORITY_SIZE_EXT :: MAX_GLOBAL_PRIORITY_SIZE
|
||||||
QUEUE_FAMILY_EXTERNAL :: MAX_QUEUE_FAMILY_EXTERNAL
|
QUEUE_FAMILY_EXTERNAL :: MAX_QUEUE_FAMILY_EXTERNAL
|
||||||
|
|
||||||
|
// Vulkan Video API Constants
|
||||||
|
VULKAN_VIDEO_CODEC_AV1_DECODE_API_VERSION_1_0_0 :: (1<<22) | (0<<12) | (0)
|
||||||
|
VULKAN_VIDEO_CODEC_AV1_ENCODE_API_VERSION_1_0_0 :: (1<<22) | (0<<12) | (0)
|
||||||
|
VULKAN_VIDEO_CODEC_H264_ENCODE_API_VERSION_1_0_0 :: (1<<22) | (0<<12) | (0)
|
||||||
|
VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_1_0_0 :: (1<<22) | (0<<12) | (0)
|
||||||
|
VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_1_0_0 :: (1<<22) | (0<<12) | (0)
|
||||||
|
VULKAN_VIDEO_CODEC_H265_ENCODE_API_VERSION_1_0_0 :: (1<<22) | (0<<12) | (0)
|
||||||
|
|
||||||
|
VULKAN_VIDEO_CODEC_AV1_DECODE_SPEC_VERSION :: VULKAN_VIDEO_CODEC_AV1_DECODE_API_VERSION_1_0_0
|
||||||
|
VULKAN_VIDEO_CODEC_AV1_ENCODE_SPEC_VERSION :: VULKAN_VIDEO_CODEC_AV1_ENCODE_API_VERSION_1_0_0
|
||||||
|
VULKAN_VIDEO_CODEC_H264_ENCODE_SPEC_VERSION :: VULKAN_VIDEO_CODEC_H264_ENCODE_API_VERSION_1_0_0
|
||||||
|
VULKAN_VIDEO_CODEC_H264_DECODE_SPEC_VERSION :: VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_1_0_0
|
||||||
|
VULKAN_VIDEO_CODEC_H265_DECODE_SPEC_VERSION :: VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_1_0_0
|
||||||
|
VULKAN_VIDEO_CODEC_H265_ENCODE_SPEC_VERSION :: VULKAN_VIDEO_CODEC_H265_ENCODE_API_VERSION_1_0_0
|
||||||
|
|
||||||
|
MAKE_VIDEO_STD_VERSION :: MAKE_VERSION
|
||||||
|
|
||||||
"""[1::])
|
"""[1::])
|
||||||
parse_constants(f)
|
parse_constants(f)
|
||||||
parse_handles_def(f)
|
parse_handles_def(f)
|
||||||
|
|||||||
Vendored
+26
@@ -2,6 +2,7 @@
|
|||||||
// Vulkan wrapper generated from "https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/master/include/vulkan/vulkan_core.h"
|
// Vulkan wrapper generated from "https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/master/include/vulkan/vulkan_core.h"
|
||||||
//
|
//
|
||||||
package vulkan
|
package vulkan
|
||||||
|
// Core API
|
||||||
API_VERSION_1_0 :: (1<<22) | (0<<12) | (0)
|
API_VERSION_1_0 :: (1<<22) | (0<<12) | (0)
|
||||||
API_VERSION_1_1 :: (1<<22) | (1<<12) | (0)
|
API_VERSION_1_1 :: (1<<22) | (1<<12) | (0)
|
||||||
API_VERSION_1_2 :: (1<<22) | (2<<12) | (0)
|
API_VERSION_1_2 :: (1<<22) | (2<<12) | (0)
|
||||||
@@ -52,6 +53,23 @@ MAX_GLOBAL_PRIORITY_SIZE :: 16
|
|||||||
MAX_GLOBAL_PRIORITY_SIZE_EXT :: MAX_GLOBAL_PRIORITY_SIZE
|
MAX_GLOBAL_PRIORITY_SIZE_EXT :: MAX_GLOBAL_PRIORITY_SIZE
|
||||||
QUEUE_FAMILY_EXTERNAL :: MAX_QUEUE_FAMILY_EXTERNAL
|
QUEUE_FAMILY_EXTERNAL :: MAX_QUEUE_FAMILY_EXTERNAL
|
||||||
|
|
||||||
|
// Vulkan Video API Constants
|
||||||
|
VULKAN_VIDEO_CODEC_AV1_DECODE_API_VERSION_1_0_0 :: (1<<22) | (0<<12) | (0)
|
||||||
|
VULKAN_VIDEO_CODEC_AV1_ENCODE_API_VERSION_1_0_0 :: (1<<22) | (0<<12) | (0)
|
||||||
|
VULKAN_VIDEO_CODEC_H264_ENCODE_API_VERSION_1_0_0 :: (1<<22) | (0<<12) | (0)
|
||||||
|
VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_1_0_0 :: (1<<22) | (0<<12) | (0)
|
||||||
|
VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_1_0_0 :: (1<<22) | (0<<12) | (0)
|
||||||
|
VULKAN_VIDEO_CODEC_H265_ENCODE_API_VERSION_1_0_0 :: (1<<22) | (0<<12) | (0)
|
||||||
|
|
||||||
|
VULKAN_VIDEO_CODEC_AV1_DECODE_SPEC_VERSION :: VULKAN_VIDEO_CODEC_AV1_DECODE_API_VERSION_1_0_0
|
||||||
|
VULKAN_VIDEO_CODEC_AV1_ENCODE_SPEC_VERSION :: VULKAN_VIDEO_CODEC_AV1_ENCODE_API_VERSION_1_0_0
|
||||||
|
VULKAN_VIDEO_CODEC_H264_ENCODE_SPEC_VERSION :: VULKAN_VIDEO_CODEC_H264_ENCODE_API_VERSION_1_0_0
|
||||||
|
VULKAN_VIDEO_CODEC_H264_DECODE_SPEC_VERSION :: VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_1_0_0
|
||||||
|
VULKAN_VIDEO_CODEC_H265_DECODE_SPEC_VERSION :: VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_1_0_0
|
||||||
|
VULKAN_VIDEO_CODEC_H265_ENCODE_SPEC_VERSION :: VULKAN_VIDEO_CODEC_H265_ENCODE_API_VERSION_1_0_0
|
||||||
|
|
||||||
|
MAKE_VIDEO_STD_VERSION :: MAKE_VERSION
|
||||||
|
|
||||||
// General Constants
|
// General Constants
|
||||||
HEADER_VERSION :: 303
|
HEADER_VERSION :: 303
|
||||||
MAX_DRIVER_NAME_SIZE :: 256
|
MAX_DRIVER_NAME_SIZE :: 256
|
||||||
@@ -113,6 +131,14 @@ VIDEO_H265_MAX_DELTA_POC :: 48
|
|||||||
VIDEO_H265_NO_REFERENCE_PICTURE :: 0xFF
|
VIDEO_H265_NO_REFERENCE_PICTURE :: 0xFF
|
||||||
VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE :: 8
|
VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE :: 8
|
||||||
|
|
||||||
|
// Vulkan Video Codec Constants
|
||||||
|
VULKAN_VIDEO_CODEC_AV1_DECODE_EXTENSION_NAME :: "VK_STD_vulkan_video_codec_av1_decode"
|
||||||
|
VULKAN_VIDEO_CODEC_AV1_ENCODE_EXTENSION_NAME :: "VK_STD_vulkan_video_codec_av1_encode"
|
||||||
|
VULKAN_VIDEO_CODEC_H264_DECODE_EXTENSION_NAME :: "VK_STD_vulkan_video_codec_h264_decode"
|
||||||
|
VULKAN_VIDEO_CODEC_H264_ENCODE_EXTENSION_NAME :: "VK_STD_vulkan_video_codec_h264_encode"
|
||||||
|
VULKAN_VIDEO_CODEC_H265_DECODE_EXTENSION_NAME :: "VK_STD_vulkan_video_codec_h265_decode"
|
||||||
|
VULKAN_VIDEO_CODEC_H265_ENCODE_EXTENSION_NAME :: "VK_STD_vulkan_video_codec_h265_encode"
|
||||||
|
|
||||||
// Vendor Constants
|
// Vendor Constants
|
||||||
KHR_surface :: 1
|
KHR_surface :: 1
|
||||||
KHR_SURFACE_SPEC_VERSION :: 25
|
KHR_SURFACE_SPEC_VERSION :: 25
|
||||||
|
|||||||
Reference in New Issue
Block a user