VirtualBox

source: vbox/trunk/src/libs/dxvk-native-1.9.2a/include/vulkan/vulkan_native.h@ 104448

Last change on this file since 104448 was 96497, checked in by vboxsync, 2 years ago

libs/dxvk-native-1.9.2a: export to OSE

  • Property svn:eol-style set to native
File size: 3.9 KB
Line 
1#ifndef VULKAN_NATIVE_H_
2#define VULKAN_NATIVE_H_ 1
3
4#include <cstdint>
5#include <windows.h>
6
7/* This definitions in this file are an extract of vulkan_win32.h
8 * under the following license: */
9/*
10** Copyright (c) 2015-2019 The Khronos Group Inc.
11**
12** Licensed under the Apache License, Version 2.0 (the "License");
13** you may not use this file except in compliance with the License.
14** You may obtain a copy of the License at
15**
16** http://www.apache.org/licenses/LICENSE-2.0
17**
18** Unless required by applicable law or agreed to in writing, software
19** distributed under the License is distributed on an "AS IS" BASIS,
20** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21** See the License for the specific language governing permissions and
22** limitations under the License.
23*/
24
25#ifdef __cplusplus
26extern "C" {
27#endif
28
29#define VK_EXT_full_screen_exclusive 1
30#define VK_EXT_FULL_SCREEN_EXCLUSIVE_SPEC_VERSION 4
31#define VK_EXT_FULL_SCREEN_EXCLUSIVE_EXTENSION_NAME "VK_EXT_full_screen_exclusive"
32
33typedef enum VkFullScreenExclusiveEXT {
34 VK_FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT = 0,
35 VK_FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT = 1,
36 VK_FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT = 2,
37 VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT = 3,
38 VK_FULL_SCREEN_EXCLUSIVE_BEGIN_RANGE_EXT = VK_FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT,
39 VK_FULL_SCREEN_EXCLUSIVE_END_RANGE_EXT = VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT,
40 VK_FULL_SCREEN_EXCLUSIVE_RANGE_SIZE_EXT = (VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT - VK_FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT + 1),
41 VK_FULL_SCREEN_EXCLUSIVE_MAX_ENUM_EXT = 0x7FFFFFFF
42} VkFullScreenExclusiveEXT;
43typedef struct VkSurfaceFullScreenExclusiveInfoEXT {
44 VkStructureType sType;
45 void* pNext;
46 VkFullScreenExclusiveEXT fullScreenExclusive;
47} VkSurfaceFullScreenExclusiveInfoEXT;
48
49typedef struct VkSurfaceCapabilitiesFullScreenExclusiveEXT {
50 VkStructureType sType;
51 void* pNext;
52 VkBool32 fullScreenExclusiveSupported;
53} VkSurfaceCapabilitiesFullScreenExclusiveEXT;
54
55typedef struct VkSurfaceFullScreenExclusiveWin32InfoEXT {
56 VkStructureType sType;
57 const void* pNext;
58 HMONITOR hmonitor;
59} VkSurfaceFullScreenExclusiveWin32InfoEXT;
60
61typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes);
62typedef VkResult (VKAPI_PTR *PFN_vkAcquireFullScreenExclusiveModeEXT)(VkDevice device, VkSwapchainKHR swapchain);
63typedef VkResult (VKAPI_PTR *PFN_vkReleaseFullScreenExclusiveModeEXT)(VkDevice device, VkSwapchainKHR swapchain);
64typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModes2EXT)(VkDevice device, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkDeviceGroupPresentModeFlagsKHR* pModes);
65
66#ifndef VK_NO_PROTOTYPES
67VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModes2EXT(
68 VkPhysicalDevice physicalDevice,
69 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
70 uint32_t* pPresentModeCount,
71 VkPresentModeKHR* pPresentModes);
72
73VKAPI_ATTR VkResult VKAPI_CALL vkAcquireFullScreenExclusiveModeEXT(
74 VkDevice device,
75 VkSwapchainKHR swapchain);
76
77VKAPI_ATTR VkResult VKAPI_CALL vkReleaseFullScreenExclusiveModeEXT(
78 VkDevice device,
79 VkSwapchainKHR swapchain);
80
81VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModes2EXT(
82 VkDevice device,
83 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
84 VkDeviceGroupPresentModeFlagsKHR* pModes);
85#endif
86
87#ifdef __cplusplus
88}
89#endif
90
91#endif
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette