summaryrefslogtreecommitdiff
path: root/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_screen.h
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_screen.h')
-rw-r--r--contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_screen.h108
1 files changed, 108 insertions, 0 deletions
diff --git a/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_screen.h b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_screen.h
new file mode 100644
index 0000000..7e84d4d
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_screen.h
@@ -0,0 +1,108 @@
1#ifndef VULKAN_SCREEN_H_
2#define VULKAN_SCREEN_H_ 1
3
4/*
5** Copyright 2015-2024 The Khronos Group Inc.
6**
7** SPDX-License-Identifier: Apache-2.0
8*/
9
10/*
11** This header is generated from the Khronos Vulkan XML API Registry.
12**
13*/
14
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
20
21
22// VK_QNX_screen_surface is a preprocessor guard. Do not pass it to API calls.
23#define VK_QNX_screen_surface 1
24#define VK_QNX_SCREEN_SURFACE_SPEC_VERSION 1
25#define VK_QNX_SCREEN_SURFACE_EXTENSION_NAME "VK_QNX_screen_surface"
26typedef VkFlags VkScreenSurfaceCreateFlagsQNX;
27typedef struct VkScreenSurfaceCreateInfoQNX {
28 VkStructureType sType;
29 const void* pNext;
30 VkScreenSurfaceCreateFlagsQNX flags;
31 struct _screen_context* context;
32 struct _screen_window* window;
33} VkScreenSurfaceCreateInfoQNX;
34
35typedef VkResult (VKAPI_PTR *PFN_vkCreateScreenSurfaceQNX)(VkInstance instance, const VkScreenSurfaceCreateInfoQNX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
36typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, struct _screen_window* window);
37
38#ifndef VK_NO_PROTOTYPES
39VKAPI_ATTR VkResult VKAPI_CALL vkCreateScreenSurfaceQNX(
40 VkInstance instance,
41 const VkScreenSurfaceCreateInfoQNX* pCreateInfo,
42 const VkAllocationCallbacks* pAllocator,
43 VkSurfaceKHR* pSurface);
44
45VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceScreenPresentationSupportQNX(
46 VkPhysicalDevice physicalDevice,
47 uint32_t queueFamilyIndex,
48 struct _screen_window* window);
49#endif
50
51
52// VK_QNX_external_memory_screen_buffer is a preprocessor guard. Do not pass it to API calls.
53#define VK_QNX_external_memory_screen_buffer 1
54#define VK_QNX_EXTERNAL_MEMORY_SCREEN_BUFFER_SPEC_VERSION 1
55#define VK_QNX_EXTERNAL_MEMORY_SCREEN_BUFFER_EXTENSION_NAME "VK_QNX_external_memory_screen_buffer"
56typedef struct VkScreenBufferPropertiesQNX {
57 VkStructureType sType;
58 void* pNext;
59 VkDeviceSize allocationSize;
60 uint32_t memoryTypeBits;
61} VkScreenBufferPropertiesQNX;
62
63typedef struct VkScreenBufferFormatPropertiesQNX {
64 VkStructureType sType;
65 void* pNext;
66 VkFormat format;
67 uint64_t externalFormat;
68 uint64_t screenUsage;
69 VkFormatFeatureFlags formatFeatures;
70 VkComponentMapping samplerYcbcrConversionComponents;
71 VkSamplerYcbcrModelConversion suggestedYcbcrModel;
72 VkSamplerYcbcrRange suggestedYcbcrRange;
73 VkChromaLocation suggestedXChromaOffset;
74 VkChromaLocation suggestedYChromaOffset;
75} VkScreenBufferFormatPropertiesQNX;
76
77typedef struct VkImportScreenBufferInfoQNX {
78 VkStructureType sType;
79 const void* pNext;
80 struct _screen_buffer* buffer;
81} VkImportScreenBufferInfoQNX;
82
83typedef struct VkExternalFormatQNX {
84 VkStructureType sType;
85 void* pNext;
86 uint64_t externalFormat;
87} VkExternalFormatQNX;
88
89typedef struct VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX {
90 VkStructureType sType;
91 void* pNext;
92 VkBool32 screenBufferImport;
93} VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX;
94
95typedef VkResult (VKAPI_PTR *PFN_vkGetScreenBufferPropertiesQNX)(VkDevice device, const struct _screen_buffer* buffer, VkScreenBufferPropertiesQNX* pProperties);
96
97#ifndef VK_NO_PROTOTYPES
98VKAPI_ATTR VkResult VKAPI_CALL vkGetScreenBufferPropertiesQNX(
99 VkDevice device,
100 const struct _screen_buffer* buffer,
101 VkScreenBufferPropertiesQNX* pProperties);
102#endif
103
104#ifdef __cplusplus
105}
106#endif
107
108#endif