@shopify/react-native-skia 2.0.5 → 2.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/CMakeLists.txt +10 -0
- package/android/build.gradle +2 -1
- package/apple/SkiaCVPixelBufferUtils.mm +8 -4
- package/cpp/api/JsiSkCanvas.h +10 -8
- package/cpp/api/JsiSkFont.h +14 -18
- package/cpp/api/JsiSkPath.h +4 -2
- package/cpp/api/JsiSkPathEffectFactory.h +2 -2
- package/cpp/api/JsiSkTextBlobFactory.h +5 -3
- package/cpp/api/JsiSkTypeface.h +5 -4
- package/cpp/api/recorder/Drawings.h +26 -20
- package/cpp/api/recorder/PathEffects.h +3 -2
- package/cpp/skia/include/android/SkAndroidFrameworkUtils.h +1 -1
- package/cpp/skia/include/android/SkImageAndroid.h +1 -8
- package/cpp/skia/include/config/SkUserConfig.h +9 -0
- package/cpp/skia/include/core/SkCPUContext.h +31 -0
- package/cpp/skia/include/core/SkCPURecorder.h +69 -0
- package/cpp/skia/include/core/SkCanvas.h +57 -13
- package/cpp/skia/include/core/SkContourMeasure.h +1 -1
- package/cpp/skia/include/core/SkData.h +63 -37
- package/cpp/skia/include/core/SkFont.h +94 -65
- package/cpp/skia/include/core/SkImage.h +10 -9
- package/cpp/skia/include/core/SkImageGenerator.h +3 -0
- package/cpp/skia/include/core/SkMatrix.h +102 -116
- package/cpp/skia/include/core/SkMilestone.h +1 -1
- package/cpp/skia/include/core/SkPath.h +163 -60
- package/cpp/skia/include/core/SkPathBuilder.h +713 -30
- package/cpp/skia/include/core/SkPathTypes.h +5 -1
- package/cpp/skia/include/core/SkPictureRecorder.h +6 -6
- package/cpp/skia/include/core/SkRecorder.h +35 -0
- package/cpp/skia/include/core/SkRect.h +57 -27
- package/cpp/skia/include/core/SkRegion.h +1 -1
- package/cpp/skia/include/core/SkSurface.h +8 -1
- package/cpp/skia/include/core/SkTextBlob.h +50 -6
- package/cpp/skia/include/core/SkTraceMemoryDump.h +7 -0
- package/cpp/skia/include/core/SkTypeface.h +53 -26
- package/cpp/skia/include/core/SkTypes.h +6 -0
- package/cpp/skia/include/effects/SkDashPathEffect.h +9 -3
- package/cpp/skia/include/effects/SkRuntimeEffect.h +1 -1
- package/cpp/skia/include/encode/SkEncoder.h +1 -1
- package/cpp/skia/include/encode/SkICC.h +1 -1
- package/cpp/skia/include/gpu/ganesh/GrDirectContext.h +23 -0
- package/cpp/skia/include/gpu/ganesh/GrRecordingContext.h +12 -0
- package/cpp/skia/include/gpu/graphite/Context.h +32 -8
- package/cpp/skia/include/gpu/graphite/ContextOptions.h +22 -4
- package/cpp/skia/include/gpu/graphite/GraphiteTypes.h +21 -4
- package/cpp/skia/include/gpu/graphite/PrecompileContext.h +16 -2
- package/cpp/skia/include/gpu/graphite/Recorder.h +30 -10
- package/cpp/skia/include/gpu/graphite/Recording.h +7 -3
- package/cpp/skia/include/gpu/graphite/TextureInfo.h +3 -3
- package/cpp/skia/include/gpu/graphite/precompile/PaintOptions.h +15 -0
- package/cpp/skia/include/gpu/graphite/precompile/PrecompileShader.h +89 -13
- package/cpp/skia/include/gpu/graphite/vk/precompile/VulkanPrecompileShader.h +39 -0
- package/cpp/skia/include/gpu/vk/VulkanBackendContext.h +1 -1
- package/cpp/skia/include/gpu/vk/VulkanPreferredFeatures.h +214 -0
- package/cpp/skia/include/pathops/SkPathOps.h +7 -111
- package/cpp/skia/include/ports/SkFontMgr_fontconfig.h +3 -0
- package/cpp/skia/include/private/SkGainmapShader.h +10 -4
- package/cpp/skia/include/private/SkPathRef.h +6 -2
- package/cpp/skia/include/private/base/SkAlign.h +11 -0
- package/cpp/skia/include/private/gpu/ganesh/GrTypesPriv.h +1 -1
- package/cpp/skia/include/third_party/vulkan/vulkan/vk_icd.h +255 -0
- package/cpp/skia/include/third_party/vulkan/vulkan/vk_layer.h +203 -0
- package/cpp/skia/include/third_party/vulkan/vulkan/vk_platform.h +1 -2
- package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_av1std.h +390 -0
- package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_av1std_decode.h +106 -0
- package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_av1std_encode.h +140 -0
- package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h264std.h +1 -1
- package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h264std_decode.h +1 -1
- package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h264std_encode.h +144 -0
- package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h265std.h +1 -1
- package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h265std_decode.h +1 -1
- package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h265std_encode.h +158 -0
- package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codecs_common.h +1 -1
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan.h +1 -1
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_android.h +1 -1
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_beta.h +242 -0
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_core.h +10094 -5707
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_directfb.h +55 -0
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_fuchsia.h +288 -0
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_ggp.h +59 -0
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_ios.h +1 -1
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_macos.h +1 -1
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_metal.h +238 -0
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_screen.h +110 -0
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_vi.h +47 -0
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_wayland.h +55 -0
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_win32.h +1 -1
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_xcb.h +1 -1
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_xlib.h +60 -0
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_xlib_xrandr.h +46 -0
- package/cpp/skia/modules/pathops/include/SkPathOps.h +121 -0
- package/cpp/skia/modules/skcms/src/skcms_internals.h +10 -2
- package/cpp/skia/modules/skcms/src/skcms_public.h +39 -10
- package/libs/android/arm64-v8a/libpathops.a +0 -0
- package/libs/android/arm64-v8a/libskia.a +0 -0
- package/libs/android/arm64-v8a/libskottie.a +0 -0
- package/libs/android/arm64-v8a/libskparagraph.a +0 -0
- package/libs/android/arm64-v8a/libsksg.a +0 -0
- package/libs/android/arm64-v8a/libskshaper.a +0 -0
- package/libs/android/arm64-v8a/libskunicode_icu.a +0 -0
- package/libs/android/arm64-v8a/libsvg.a +0 -0
- package/libs/android/armeabi-v7a/libpathops.a +0 -0
- package/libs/android/armeabi-v7a/libskia.a +0 -0
- package/libs/android/armeabi-v7a/libskottie.a +0 -0
- package/libs/android/armeabi-v7a/libskparagraph.a +0 -0
- package/libs/android/armeabi-v7a/libsksg.a +0 -0
- package/libs/android/armeabi-v7a/libskshaper.a +0 -0
- package/libs/android/armeabi-v7a/libskunicode_icu.a +0 -0
- package/libs/android/armeabi-v7a/libsvg.a +0 -0
- package/libs/android/x86/libpathops.a +0 -0
- package/libs/android/x86/libskia.a +0 -0
- package/libs/android/x86/libskottie.a +0 -0
- package/libs/android/x86/libskparagraph.a +0 -0
- package/libs/android/x86/libsksg.a +0 -0
- package/libs/android/x86/libskshaper.a +0 -0
- package/libs/android/x86/libskunicode_icu.a +0 -0
- package/libs/android/x86/libsvg.a +0 -0
- package/libs/android/x86_64/libpathops.a +0 -0
- package/libs/android/x86_64/libskia.a +0 -0
- package/libs/android/x86_64/libskottie.a +0 -0
- package/libs/android/x86_64/libskparagraph.a +0 -0
- package/libs/android/x86_64/libsksg.a +0 -0
- package/libs/android/x86_64/libskshaper.a +0 -0
- package/libs/android/x86_64/libskunicode_icu.a +0 -0
- package/libs/android/x86_64/libsvg.a +0 -0
- package/libs/apple/libpathops.xcframework/Info.plist +94 -0
- package/libs/apple/libpathops.xcframework/ios-arm64_arm64e/libpathops.a +0 -0
- package/libs/apple/libpathops.xcframework/ios-arm64_arm64e_x86_64-simulator/libpathops.a +0 -0
- package/libs/apple/libpathops.xcframework/macos-arm64_x86_64/libpathops.a +0 -0
- package/libs/apple/libpathops.xcframework/tvos-arm64_arm64e/libpathops.a +0 -0
- package/libs/apple/libpathops.xcframework/tvos-arm64_arm64e_x86_64-simulator/libpathops.a +0 -0
- package/libs/apple/libskia.xcframework/Info.plist +7 -7
- package/libs/apple/libskia.xcframework/ios-arm64_arm64e/libskia.a +0 -0
- package/libs/apple/libskia.xcframework/ios-arm64_arm64e_x86_64-simulator/libskia.a +0 -0
- package/libs/apple/libskia.xcframework/macos-arm64_x86_64/libskia.a +0 -0
- package/libs/apple/libskia.xcframework/tvos-arm64_arm64e/libskia.a +0 -0
- package/libs/apple/libskia.xcframework/tvos-arm64_arm64e_x86_64-simulator/libskia.a +0 -0
- package/libs/apple/libskottie.xcframework/Info.plist +10 -10
- package/libs/apple/libskottie.xcframework/ios-arm64_arm64e/libskottie.a +0 -0
- package/libs/apple/libskottie.xcframework/ios-arm64_arm64e_x86_64-simulator/libskottie.a +0 -0
- package/libs/apple/libskottie.xcframework/macos-arm64_x86_64/libskottie.a +0 -0
- package/libs/apple/libskottie.xcframework/tvos-arm64_arm64e/libskottie.a +0 -0
- package/libs/apple/libskottie.xcframework/tvos-arm64_arm64e_x86_64-simulator/libskottie.a +0 -0
- package/libs/apple/libskparagraph.xcframework/Info.plist +13 -13
- package/libs/apple/libskparagraph.xcframework/ios-arm64_arm64e/libskparagraph.a +0 -0
- package/libs/apple/libskparagraph.xcframework/ios-arm64_arm64e_x86_64-simulator/libskparagraph.a +0 -0
- package/libs/apple/libskparagraph.xcframework/macos-arm64_x86_64/libskparagraph.a +0 -0
- package/libs/apple/libskparagraph.xcframework/tvos-arm64_arm64e/libskparagraph.a +0 -0
- package/libs/apple/libskparagraph.xcframework/tvos-arm64_arm64e_x86_64-simulator/libskparagraph.a +0 -0
- package/libs/apple/libsksg.xcframework/Info.plist +11 -11
- package/libs/apple/libsksg.xcframework/ios-arm64_arm64e/libsksg.a +0 -0
- package/libs/apple/libsksg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsksg.a +0 -0
- package/libs/apple/libsksg.xcframework/macos-arm64_x86_64/libsksg.a +0 -0
- package/libs/apple/libsksg.xcframework/tvos-arm64_arm64e/libsksg.a +0 -0
- package/libs/apple/libsksg.xcframework/tvos-arm64_arm64e_x86_64-simulator/libsksg.a +0 -0
- package/libs/apple/libskshaper.xcframework/Info.plist +12 -12
- package/libs/apple/libskshaper.xcframework/ios-arm64_arm64e/libskshaper.a +0 -0
- package/libs/apple/libskshaper.xcframework/ios-arm64_arm64e_x86_64-simulator/libskshaper.a +0 -0
- package/libs/apple/libskshaper.xcframework/macos-arm64_x86_64/libskshaper.a +0 -0
- package/libs/apple/libskshaper.xcframework/tvos-arm64_arm64e/libskshaper.a +0 -0
- package/libs/apple/libskshaper.xcframework/tvos-arm64_arm64e_x86_64-simulator/libskshaper.a +0 -0
- package/libs/apple/libskunicode_core.xcframework/Info.plist +14 -14
- package/libs/apple/libskunicode_core.xcframework/ios-arm64_arm64e_x86_64-simulator/libskunicode_core.a +0 -0
- package/libs/apple/libskunicode_core.xcframework/macos-arm64_x86_64/libskunicode_core.a +0 -0
- package/libs/apple/libskunicode_core.xcframework/tvos-arm64_arm64e_x86_64-simulator/libskunicode_core.a +0 -0
- package/libs/apple/libskunicode_libgrapheme.xcframework/Info.plist +13 -13
- package/libs/apple/libskunicode_libgrapheme.xcframework/ios-arm64_arm64e/libskunicode_libgrapheme.a +0 -0
- package/libs/apple/libskunicode_libgrapheme.xcframework/ios-arm64_arm64e_x86_64-simulator/libskunicode_libgrapheme.a +0 -0
- package/libs/apple/libskunicode_libgrapheme.xcframework/macos-arm64_x86_64/libskunicode_libgrapheme.a +0 -0
- package/libs/apple/libskunicode_libgrapheme.xcframework/tvos-arm64_arm64e/libskunicode_libgrapheme.a +0 -0
- package/libs/apple/libskunicode_libgrapheme.xcframework/tvos-arm64_arm64e_x86_64-simulator/libskunicode_libgrapheme.a +0 -0
- package/libs/apple/libsvg.xcframework/Info.plist +17 -17
- package/libs/apple/libsvg.xcframework/ios-arm64_arm64e/libsvg.a +0 -0
- package/libs/apple/libsvg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsvg.a +0 -0
- package/libs/apple/libsvg.xcframework/macos-arm64_x86_64/libsvg.a +0 -0
- package/libs/apple/libsvg.xcframework/tvos-arm64_arm64e/libsvg.a +0 -0
- package/libs/apple/libsvg.xcframework/tvos-arm64_arm64e_x86_64-simulator/libsvg.a +0 -0
- package/package.json +1 -1
- package/react-native-skia.podspec +2 -1
- package/src/renderer/__tests__/e2e/BackdropFilters.spec.tsx +23 -0
@@ -0,0 +1,55 @@
|
|
1
|
+
#ifndef VULKAN_DIRECTFB_H_
|
2
|
+
#define VULKAN_DIRECTFB_H_ 1
|
3
|
+
|
4
|
+
/*
|
5
|
+
** Copyright 2015-2025 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
|
+
#ifdef __cplusplus
|
16
|
+
extern "C" {
|
17
|
+
#endif
|
18
|
+
|
19
|
+
// VK_EXT_directfb_surface is a preprocessor guard. Do not pass it to API calls.
|
20
|
+
#define VK_EXT_directfb_surface 1
|
21
|
+
#define VK_EXT_DIRECTFB_SURFACE_SPEC_VERSION 1
|
22
|
+
#define VK_EXT_DIRECTFB_SURFACE_EXTENSION_NAME "VK_EXT_directfb_surface"
|
23
|
+
typedef VkFlags VkDirectFBSurfaceCreateFlagsEXT;
|
24
|
+
typedef struct VkDirectFBSurfaceCreateInfoEXT {
|
25
|
+
VkStructureType sType;
|
26
|
+
const void* pNext;
|
27
|
+
VkDirectFBSurfaceCreateFlagsEXT flags;
|
28
|
+
IDirectFB* dfb;
|
29
|
+
IDirectFBSurface* surface;
|
30
|
+
} VkDirectFBSurfaceCreateInfoEXT;
|
31
|
+
|
32
|
+
typedef VkResult(VKAPI_PTR* PFN_vkCreateDirectFBSurfaceEXT)(
|
33
|
+
VkInstance instance,
|
34
|
+
const VkDirectFBSurfaceCreateInfoEXT* pCreateInfo,
|
35
|
+
const VkAllocationCallbacks* pAllocator,
|
36
|
+
VkSurfaceKHR* pSurface);
|
37
|
+
typedef VkBool32(VKAPI_PTR* PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT)(
|
38
|
+
VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, IDirectFB* dfb);
|
39
|
+
|
40
|
+
#ifndef VK_NO_PROTOTYPES
|
41
|
+
VKAPI_ATTR VkResult VKAPI_CALL
|
42
|
+
vkCreateDirectFBSurfaceEXT(VkInstance instance,
|
43
|
+
const VkDirectFBSurfaceCreateInfoEXT* pCreateInfo,
|
44
|
+
const VkAllocationCallbacks* pAllocator,
|
45
|
+
VkSurfaceKHR* pSurface);
|
46
|
+
|
47
|
+
VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceDirectFBPresentationSupportEXT(
|
48
|
+
VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, IDirectFB* dfb);
|
49
|
+
#endif
|
50
|
+
|
51
|
+
#ifdef __cplusplus
|
52
|
+
}
|
53
|
+
#endif
|
54
|
+
|
55
|
+
#endif
|
@@ -0,0 +1,288 @@
|
|
1
|
+
#ifndef VULKAN_FUCHSIA_H_
|
2
|
+
#define VULKAN_FUCHSIA_H_ 1
|
3
|
+
|
4
|
+
/*
|
5
|
+
** Copyright 2015-2025 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
|
+
#ifdef __cplusplus
|
16
|
+
extern "C" {
|
17
|
+
#endif
|
18
|
+
|
19
|
+
// VK_FUCHSIA_imagepipe_surface is a preprocessor guard. Do not pass it to API calls.
|
20
|
+
#define VK_FUCHSIA_imagepipe_surface 1
|
21
|
+
#define VK_FUCHSIA_IMAGEPIPE_SURFACE_SPEC_VERSION 1
|
22
|
+
#define VK_FUCHSIA_IMAGEPIPE_SURFACE_EXTENSION_NAME "VK_FUCHSIA_imagepipe_surface"
|
23
|
+
typedef VkFlags VkImagePipeSurfaceCreateFlagsFUCHSIA;
|
24
|
+
typedef struct VkImagePipeSurfaceCreateInfoFUCHSIA {
|
25
|
+
VkStructureType sType;
|
26
|
+
const void* pNext;
|
27
|
+
VkImagePipeSurfaceCreateFlagsFUCHSIA flags;
|
28
|
+
zx_handle_t imagePipeHandle;
|
29
|
+
} VkImagePipeSurfaceCreateInfoFUCHSIA;
|
30
|
+
|
31
|
+
typedef VkResult(VKAPI_PTR* PFN_vkCreateImagePipeSurfaceFUCHSIA)(
|
32
|
+
VkInstance instance,
|
33
|
+
const VkImagePipeSurfaceCreateInfoFUCHSIA* pCreateInfo,
|
34
|
+
const VkAllocationCallbacks* pAllocator,
|
35
|
+
VkSurfaceKHR* pSurface);
|
36
|
+
|
37
|
+
#ifndef VK_NO_PROTOTYPES
|
38
|
+
VKAPI_ATTR VkResult VKAPI_CALL
|
39
|
+
vkCreateImagePipeSurfaceFUCHSIA(VkInstance instance,
|
40
|
+
const VkImagePipeSurfaceCreateInfoFUCHSIA* pCreateInfo,
|
41
|
+
const VkAllocationCallbacks* pAllocator,
|
42
|
+
VkSurfaceKHR* pSurface);
|
43
|
+
#endif
|
44
|
+
|
45
|
+
// VK_FUCHSIA_external_memory is a preprocessor guard. Do not pass it to API calls.
|
46
|
+
#define VK_FUCHSIA_external_memory 1
|
47
|
+
#define VK_FUCHSIA_EXTERNAL_MEMORY_SPEC_VERSION 1
|
48
|
+
#define VK_FUCHSIA_EXTERNAL_MEMORY_EXTENSION_NAME "VK_FUCHSIA_external_memory"
|
49
|
+
typedef struct VkImportMemoryZirconHandleInfoFUCHSIA {
|
50
|
+
VkStructureType sType;
|
51
|
+
const void* pNext;
|
52
|
+
VkExternalMemoryHandleTypeFlagBits handleType;
|
53
|
+
zx_handle_t handle;
|
54
|
+
} VkImportMemoryZirconHandleInfoFUCHSIA;
|
55
|
+
|
56
|
+
typedef struct VkMemoryZirconHandlePropertiesFUCHSIA {
|
57
|
+
VkStructureType sType;
|
58
|
+
void* pNext;
|
59
|
+
uint32_t memoryTypeBits;
|
60
|
+
} VkMemoryZirconHandlePropertiesFUCHSIA;
|
61
|
+
|
62
|
+
typedef struct VkMemoryGetZirconHandleInfoFUCHSIA {
|
63
|
+
VkStructureType sType;
|
64
|
+
const void* pNext;
|
65
|
+
VkDeviceMemory memory;
|
66
|
+
VkExternalMemoryHandleTypeFlagBits handleType;
|
67
|
+
} VkMemoryGetZirconHandleInfoFUCHSIA;
|
68
|
+
|
69
|
+
typedef VkResult(VKAPI_PTR* PFN_vkGetMemoryZirconHandleFUCHSIA)(
|
70
|
+
VkDevice device,
|
71
|
+
const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo,
|
72
|
+
zx_handle_t* pZirconHandle);
|
73
|
+
typedef VkResult(VKAPI_PTR* PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA)(
|
74
|
+
VkDevice device,
|
75
|
+
VkExternalMemoryHandleTypeFlagBits handleType,
|
76
|
+
zx_handle_t zirconHandle,
|
77
|
+
VkMemoryZirconHandlePropertiesFUCHSIA* pMemoryZirconHandleProperties);
|
78
|
+
|
79
|
+
#ifndef VK_NO_PROTOTYPES
|
80
|
+
VKAPI_ATTR VkResult VKAPI_CALL
|
81
|
+
vkGetMemoryZirconHandleFUCHSIA(VkDevice device,
|
82
|
+
const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo,
|
83
|
+
zx_handle_t* pZirconHandle);
|
84
|
+
|
85
|
+
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryZirconHandlePropertiesFUCHSIA(
|
86
|
+
VkDevice device,
|
87
|
+
VkExternalMemoryHandleTypeFlagBits handleType,
|
88
|
+
zx_handle_t zirconHandle,
|
89
|
+
VkMemoryZirconHandlePropertiesFUCHSIA* pMemoryZirconHandleProperties);
|
90
|
+
#endif
|
91
|
+
|
92
|
+
// VK_FUCHSIA_external_semaphore is a preprocessor guard. Do not pass it to API calls.
|
93
|
+
#define VK_FUCHSIA_external_semaphore 1
|
94
|
+
#define VK_FUCHSIA_EXTERNAL_SEMAPHORE_SPEC_VERSION 1
|
95
|
+
#define VK_FUCHSIA_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_FUCHSIA_external_semaphore"
|
96
|
+
typedef struct VkImportSemaphoreZirconHandleInfoFUCHSIA {
|
97
|
+
VkStructureType sType;
|
98
|
+
const void* pNext;
|
99
|
+
VkSemaphore semaphore;
|
100
|
+
VkSemaphoreImportFlags flags;
|
101
|
+
VkExternalSemaphoreHandleTypeFlagBits handleType;
|
102
|
+
zx_handle_t zirconHandle;
|
103
|
+
} VkImportSemaphoreZirconHandleInfoFUCHSIA;
|
104
|
+
|
105
|
+
typedef struct VkSemaphoreGetZirconHandleInfoFUCHSIA {
|
106
|
+
VkStructureType sType;
|
107
|
+
const void* pNext;
|
108
|
+
VkSemaphore semaphore;
|
109
|
+
VkExternalSemaphoreHandleTypeFlagBits handleType;
|
110
|
+
} VkSemaphoreGetZirconHandleInfoFUCHSIA;
|
111
|
+
|
112
|
+
typedef VkResult(VKAPI_PTR* PFN_vkImportSemaphoreZirconHandleFUCHSIA)(
|
113
|
+
VkDevice device,
|
114
|
+
const VkImportSemaphoreZirconHandleInfoFUCHSIA* pImportSemaphoreZirconHandleInfo);
|
115
|
+
typedef VkResult(VKAPI_PTR* PFN_vkGetSemaphoreZirconHandleFUCHSIA)(
|
116
|
+
VkDevice device,
|
117
|
+
const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo,
|
118
|
+
zx_handle_t* pZirconHandle);
|
119
|
+
|
120
|
+
#ifndef VK_NO_PROTOTYPES
|
121
|
+
VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreZirconHandleFUCHSIA(
|
122
|
+
VkDevice device,
|
123
|
+
const VkImportSemaphoreZirconHandleInfoFUCHSIA* pImportSemaphoreZirconHandleInfo);
|
124
|
+
|
125
|
+
VKAPI_ATTR VkResult VKAPI_CALL
|
126
|
+
vkGetSemaphoreZirconHandleFUCHSIA(VkDevice device,
|
127
|
+
const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo,
|
128
|
+
zx_handle_t* pZirconHandle);
|
129
|
+
#endif
|
130
|
+
|
131
|
+
// VK_FUCHSIA_buffer_collection is a preprocessor guard. Do not pass it to API calls.
|
132
|
+
#define VK_FUCHSIA_buffer_collection 1
|
133
|
+
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferCollectionFUCHSIA)
|
134
|
+
#define VK_FUCHSIA_BUFFER_COLLECTION_SPEC_VERSION 2
|
135
|
+
#define VK_FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME "VK_FUCHSIA_buffer_collection"
|
136
|
+
typedef VkFlags VkImageFormatConstraintsFlagsFUCHSIA;
|
137
|
+
|
138
|
+
typedef enum VkImageConstraintsInfoFlagBitsFUCHSIA {
|
139
|
+
VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIA = 0x00000001,
|
140
|
+
VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIA = 0x00000002,
|
141
|
+
VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIA = 0x00000004,
|
142
|
+
VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIA = 0x00000008,
|
143
|
+
VK_IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIA = 0x00000010,
|
144
|
+
VK_IMAGE_CONSTRAINTS_INFO_FLAG_BITS_MAX_ENUM_FUCHSIA = 0x7FFFFFFF
|
145
|
+
} VkImageConstraintsInfoFlagBitsFUCHSIA;
|
146
|
+
typedef VkFlags VkImageConstraintsInfoFlagsFUCHSIA;
|
147
|
+
typedef struct VkBufferCollectionCreateInfoFUCHSIA {
|
148
|
+
VkStructureType sType;
|
149
|
+
const void* pNext;
|
150
|
+
zx_handle_t collectionToken;
|
151
|
+
} VkBufferCollectionCreateInfoFUCHSIA;
|
152
|
+
|
153
|
+
typedef struct VkImportMemoryBufferCollectionFUCHSIA {
|
154
|
+
VkStructureType sType;
|
155
|
+
const void* pNext;
|
156
|
+
VkBufferCollectionFUCHSIA collection;
|
157
|
+
uint32_t index;
|
158
|
+
} VkImportMemoryBufferCollectionFUCHSIA;
|
159
|
+
|
160
|
+
typedef struct VkBufferCollectionImageCreateInfoFUCHSIA {
|
161
|
+
VkStructureType sType;
|
162
|
+
const void* pNext;
|
163
|
+
VkBufferCollectionFUCHSIA collection;
|
164
|
+
uint32_t index;
|
165
|
+
} VkBufferCollectionImageCreateInfoFUCHSIA;
|
166
|
+
|
167
|
+
typedef struct VkBufferCollectionConstraintsInfoFUCHSIA {
|
168
|
+
VkStructureType sType;
|
169
|
+
const void* pNext;
|
170
|
+
uint32_t minBufferCount;
|
171
|
+
uint32_t maxBufferCount;
|
172
|
+
uint32_t minBufferCountForCamping;
|
173
|
+
uint32_t minBufferCountForDedicatedSlack;
|
174
|
+
uint32_t minBufferCountForSharedSlack;
|
175
|
+
} VkBufferCollectionConstraintsInfoFUCHSIA;
|
176
|
+
|
177
|
+
typedef struct VkBufferConstraintsInfoFUCHSIA {
|
178
|
+
VkStructureType sType;
|
179
|
+
const void* pNext;
|
180
|
+
VkBufferCreateInfo createInfo;
|
181
|
+
VkFormatFeatureFlags requiredFormatFeatures;
|
182
|
+
VkBufferCollectionConstraintsInfoFUCHSIA bufferCollectionConstraints;
|
183
|
+
} VkBufferConstraintsInfoFUCHSIA;
|
184
|
+
|
185
|
+
typedef struct VkBufferCollectionBufferCreateInfoFUCHSIA {
|
186
|
+
VkStructureType sType;
|
187
|
+
const void* pNext;
|
188
|
+
VkBufferCollectionFUCHSIA collection;
|
189
|
+
uint32_t index;
|
190
|
+
} VkBufferCollectionBufferCreateInfoFUCHSIA;
|
191
|
+
|
192
|
+
typedef struct VkSysmemColorSpaceFUCHSIA {
|
193
|
+
VkStructureType sType;
|
194
|
+
const void* pNext;
|
195
|
+
uint32_t colorSpace;
|
196
|
+
} VkSysmemColorSpaceFUCHSIA;
|
197
|
+
|
198
|
+
typedef struct VkBufferCollectionPropertiesFUCHSIA {
|
199
|
+
VkStructureType sType;
|
200
|
+
void* pNext;
|
201
|
+
uint32_t memoryTypeBits;
|
202
|
+
uint32_t bufferCount;
|
203
|
+
uint32_t createInfoIndex;
|
204
|
+
uint64_t sysmemPixelFormat;
|
205
|
+
VkFormatFeatureFlags formatFeatures;
|
206
|
+
VkSysmemColorSpaceFUCHSIA sysmemColorSpaceIndex;
|
207
|
+
VkComponentMapping samplerYcbcrConversionComponents;
|
208
|
+
VkSamplerYcbcrModelConversion suggestedYcbcrModel;
|
209
|
+
VkSamplerYcbcrRange suggestedYcbcrRange;
|
210
|
+
VkChromaLocation suggestedXChromaOffset;
|
211
|
+
VkChromaLocation suggestedYChromaOffset;
|
212
|
+
} VkBufferCollectionPropertiesFUCHSIA;
|
213
|
+
|
214
|
+
typedef struct VkImageFormatConstraintsInfoFUCHSIA {
|
215
|
+
VkStructureType sType;
|
216
|
+
const void* pNext;
|
217
|
+
VkImageCreateInfo imageCreateInfo;
|
218
|
+
VkFormatFeatureFlags requiredFormatFeatures;
|
219
|
+
VkImageFormatConstraintsFlagsFUCHSIA flags;
|
220
|
+
uint64_t sysmemPixelFormat;
|
221
|
+
uint32_t colorSpaceCount;
|
222
|
+
const VkSysmemColorSpaceFUCHSIA* pColorSpaces;
|
223
|
+
} VkImageFormatConstraintsInfoFUCHSIA;
|
224
|
+
|
225
|
+
typedef struct VkImageConstraintsInfoFUCHSIA {
|
226
|
+
VkStructureType sType;
|
227
|
+
const void* pNext;
|
228
|
+
uint32_t formatConstraintsCount;
|
229
|
+
const VkImageFormatConstraintsInfoFUCHSIA* pFormatConstraints;
|
230
|
+
VkBufferCollectionConstraintsInfoFUCHSIA bufferCollectionConstraints;
|
231
|
+
VkImageConstraintsInfoFlagsFUCHSIA flags;
|
232
|
+
} VkImageConstraintsInfoFUCHSIA;
|
233
|
+
|
234
|
+
typedef VkResult(VKAPI_PTR* PFN_vkCreateBufferCollectionFUCHSIA)(
|
235
|
+
VkDevice device,
|
236
|
+
const VkBufferCollectionCreateInfoFUCHSIA* pCreateInfo,
|
237
|
+
const VkAllocationCallbacks* pAllocator,
|
238
|
+
VkBufferCollectionFUCHSIA* pCollection);
|
239
|
+
typedef VkResult(VKAPI_PTR* PFN_vkSetBufferCollectionImageConstraintsFUCHSIA)(
|
240
|
+
VkDevice device,
|
241
|
+
VkBufferCollectionFUCHSIA collection,
|
242
|
+
const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo);
|
243
|
+
typedef VkResult(VKAPI_PTR* PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA)(
|
244
|
+
VkDevice device,
|
245
|
+
VkBufferCollectionFUCHSIA collection,
|
246
|
+
const VkBufferConstraintsInfoFUCHSIA* pBufferConstraintsInfo);
|
247
|
+
typedef void(VKAPI_PTR* PFN_vkDestroyBufferCollectionFUCHSIA)(
|
248
|
+
VkDevice device,
|
249
|
+
VkBufferCollectionFUCHSIA collection,
|
250
|
+
const VkAllocationCallbacks* pAllocator);
|
251
|
+
typedef VkResult(VKAPI_PTR* PFN_vkGetBufferCollectionPropertiesFUCHSIA)(
|
252
|
+
VkDevice device,
|
253
|
+
VkBufferCollectionFUCHSIA collection,
|
254
|
+
VkBufferCollectionPropertiesFUCHSIA* pProperties);
|
255
|
+
|
256
|
+
#ifndef VK_NO_PROTOTYPES
|
257
|
+
VKAPI_ATTR VkResult VKAPI_CALL
|
258
|
+
vkCreateBufferCollectionFUCHSIA(VkDevice device,
|
259
|
+
const VkBufferCollectionCreateInfoFUCHSIA* pCreateInfo,
|
260
|
+
const VkAllocationCallbacks* pAllocator,
|
261
|
+
VkBufferCollectionFUCHSIA* pCollection);
|
262
|
+
|
263
|
+
VKAPI_ATTR VkResult VKAPI_CALL vkSetBufferCollectionImageConstraintsFUCHSIA(
|
264
|
+
VkDevice device,
|
265
|
+
VkBufferCollectionFUCHSIA collection,
|
266
|
+
const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo);
|
267
|
+
|
268
|
+
VKAPI_ATTR VkResult VKAPI_CALL vkSetBufferCollectionBufferConstraintsFUCHSIA(
|
269
|
+
VkDevice device,
|
270
|
+
VkBufferCollectionFUCHSIA collection,
|
271
|
+
const VkBufferConstraintsInfoFUCHSIA* pBufferConstraintsInfo);
|
272
|
+
|
273
|
+
VKAPI_ATTR void VKAPI_CALL
|
274
|
+
vkDestroyBufferCollectionFUCHSIA(VkDevice device,
|
275
|
+
VkBufferCollectionFUCHSIA collection,
|
276
|
+
const VkAllocationCallbacks* pAllocator);
|
277
|
+
|
278
|
+
VKAPI_ATTR VkResult VKAPI_CALL
|
279
|
+
vkGetBufferCollectionPropertiesFUCHSIA(VkDevice device,
|
280
|
+
VkBufferCollectionFUCHSIA collection,
|
281
|
+
VkBufferCollectionPropertiesFUCHSIA* pProperties);
|
282
|
+
#endif
|
283
|
+
|
284
|
+
#ifdef __cplusplus
|
285
|
+
}
|
286
|
+
#endif
|
287
|
+
|
288
|
+
#endif
|
@@ -0,0 +1,59 @@
|
|
1
|
+
#ifndef VULKAN_GGP_H_
|
2
|
+
#define VULKAN_GGP_H_ 1
|
3
|
+
|
4
|
+
/*
|
5
|
+
** Copyright 2015-2025 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
|
+
#ifdef __cplusplus
|
16
|
+
extern "C" {
|
17
|
+
#endif
|
18
|
+
|
19
|
+
// VK_GGP_stream_descriptor_surface is a preprocessor guard. Do not pass it to API calls.
|
20
|
+
#define VK_GGP_stream_descriptor_surface 1
|
21
|
+
#define VK_GGP_STREAM_DESCRIPTOR_SURFACE_SPEC_VERSION 1
|
22
|
+
#define VK_GGP_STREAM_DESCRIPTOR_SURFACE_EXTENSION_NAME "VK_GGP_stream_descriptor_surface"
|
23
|
+
typedef VkFlags VkStreamDescriptorSurfaceCreateFlagsGGP;
|
24
|
+
typedef struct VkStreamDescriptorSurfaceCreateInfoGGP {
|
25
|
+
VkStructureType sType;
|
26
|
+
const void* pNext;
|
27
|
+
VkStreamDescriptorSurfaceCreateFlagsGGP flags;
|
28
|
+
GgpStreamDescriptor streamDescriptor;
|
29
|
+
} VkStreamDescriptorSurfaceCreateInfoGGP;
|
30
|
+
|
31
|
+
typedef VkResult(VKAPI_PTR* PFN_vkCreateStreamDescriptorSurfaceGGP)(
|
32
|
+
VkInstance instance,
|
33
|
+
const VkStreamDescriptorSurfaceCreateInfoGGP* pCreateInfo,
|
34
|
+
const VkAllocationCallbacks* pAllocator,
|
35
|
+
VkSurfaceKHR* pSurface);
|
36
|
+
|
37
|
+
#ifndef VK_NO_PROTOTYPES
|
38
|
+
VKAPI_ATTR VkResult VKAPI_CALL
|
39
|
+
vkCreateStreamDescriptorSurfaceGGP(VkInstance instance,
|
40
|
+
const VkStreamDescriptorSurfaceCreateInfoGGP* pCreateInfo,
|
41
|
+
const VkAllocationCallbacks* pAllocator,
|
42
|
+
VkSurfaceKHR* pSurface);
|
43
|
+
#endif
|
44
|
+
|
45
|
+
// VK_GGP_frame_token is a preprocessor guard. Do not pass it to API calls.
|
46
|
+
#define VK_GGP_frame_token 1
|
47
|
+
#define VK_GGP_FRAME_TOKEN_SPEC_VERSION 1
|
48
|
+
#define VK_GGP_FRAME_TOKEN_EXTENSION_NAME "VK_GGP_frame_token"
|
49
|
+
typedef struct VkPresentFrameTokenGGP {
|
50
|
+
VkStructureType sType;
|
51
|
+
const void* pNext;
|
52
|
+
GgpFrameToken frameToken;
|
53
|
+
} VkPresentFrameTokenGGP;
|
54
|
+
|
55
|
+
#ifdef __cplusplus
|
56
|
+
}
|
57
|
+
#endif
|
58
|
+
|
59
|
+
#endif
|
@@ -0,0 +1,238 @@
|
|
1
|
+
#ifndef VULKAN_METAL_H_
|
2
|
+
#define VULKAN_METAL_H_ 1
|
3
|
+
|
4
|
+
/*
|
5
|
+
** Copyright 2015-2025 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
|
+
#ifdef __cplusplus
|
16
|
+
extern "C" {
|
17
|
+
#endif
|
18
|
+
|
19
|
+
// VK_EXT_metal_surface is a preprocessor guard. Do not pass it to API calls.
|
20
|
+
#define VK_EXT_metal_surface 1
|
21
|
+
#ifdef __OBJC__
|
22
|
+
@class CAMetalLayer;
|
23
|
+
#else
|
24
|
+
typedef void CAMetalLayer;
|
25
|
+
#endif
|
26
|
+
|
27
|
+
#define VK_EXT_METAL_SURFACE_SPEC_VERSION 1
|
28
|
+
#define VK_EXT_METAL_SURFACE_EXTENSION_NAME "VK_EXT_metal_surface"
|
29
|
+
typedef VkFlags VkMetalSurfaceCreateFlagsEXT;
|
30
|
+
typedef struct VkMetalSurfaceCreateInfoEXT {
|
31
|
+
VkStructureType sType;
|
32
|
+
const void* pNext;
|
33
|
+
VkMetalSurfaceCreateFlagsEXT flags;
|
34
|
+
const CAMetalLayer* pLayer;
|
35
|
+
} VkMetalSurfaceCreateInfoEXT;
|
36
|
+
|
37
|
+
typedef VkResult(VKAPI_PTR* PFN_vkCreateMetalSurfaceEXT)(
|
38
|
+
VkInstance instance,
|
39
|
+
const VkMetalSurfaceCreateInfoEXT* pCreateInfo,
|
40
|
+
const VkAllocationCallbacks* pAllocator,
|
41
|
+
VkSurfaceKHR* pSurface);
|
42
|
+
|
43
|
+
#ifndef VK_NO_PROTOTYPES
|
44
|
+
VKAPI_ATTR VkResult VKAPI_CALL
|
45
|
+
vkCreateMetalSurfaceEXT(VkInstance instance,
|
46
|
+
const VkMetalSurfaceCreateInfoEXT* pCreateInfo,
|
47
|
+
const VkAllocationCallbacks* pAllocator,
|
48
|
+
VkSurfaceKHR* pSurface);
|
49
|
+
#endif
|
50
|
+
|
51
|
+
// VK_EXT_metal_objects is a preprocessor guard. Do not pass it to API calls.
|
52
|
+
#define VK_EXT_metal_objects 1
|
53
|
+
#ifdef __OBJC__
|
54
|
+
@protocol MTLDevice;
|
55
|
+
typedef __unsafe_unretained id<MTLDevice> MTLDevice_id;
|
56
|
+
#else
|
57
|
+
typedef void* MTLDevice_id;
|
58
|
+
#endif
|
59
|
+
|
60
|
+
#ifdef __OBJC__
|
61
|
+
@protocol MTLCommandQueue;
|
62
|
+
typedef __unsafe_unretained id<MTLCommandQueue> MTLCommandQueue_id;
|
63
|
+
#else
|
64
|
+
typedef void* MTLCommandQueue_id;
|
65
|
+
#endif
|
66
|
+
|
67
|
+
#ifdef __OBJC__
|
68
|
+
@protocol MTLBuffer;
|
69
|
+
typedef __unsafe_unretained id<MTLBuffer> MTLBuffer_id;
|
70
|
+
#else
|
71
|
+
typedef void* MTLBuffer_id;
|
72
|
+
#endif
|
73
|
+
|
74
|
+
#ifdef __OBJC__
|
75
|
+
@protocol MTLTexture;
|
76
|
+
typedef __unsafe_unretained id<MTLTexture> MTLTexture_id;
|
77
|
+
#else
|
78
|
+
typedef void* MTLTexture_id;
|
79
|
+
#endif
|
80
|
+
|
81
|
+
typedef struct __IOSurface* IOSurfaceRef;
|
82
|
+
#ifdef __OBJC__
|
83
|
+
@protocol MTLSharedEvent;
|
84
|
+
typedef __unsafe_unretained id<MTLSharedEvent> MTLSharedEvent_id;
|
85
|
+
#else
|
86
|
+
typedef void* MTLSharedEvent_id;
|
87
|
+
#endif
|
88
|
+
|
89
|
+
#define VK_EXT_METAL_OBJECTS_SPEC_VERSION 2
|
90
|
+
#define VK_EXT_METAL_OBJECTS_EXTENSION_NAME "VK_EXT_metal_objects"
|
91
|
+
|
92
|
+
typedef enum VkExportMetalObjectTypeFlagBitsEXT {
|
93
|
+
VK_EXPORT_METAL_OBJECT_TYPE_METAL_DEVICE_BIT_EXT = 0x00000001,
|
94
|
+
VK_EXPORT_METAL_OBJECT_TYPE_METAL_COMMAND_QUEUE_BIT_EXT = 0x00000002,
|
95
|
+
VK_EXPORT_METAL_OBJECT_TYPE_METAL_BUFFER_BIT_EXT = 0x00000004,
|
96
|
+
VK_EXPORT_METAL_OBJECT_TYPE_METAL_TEXTURE_BIT_EXT = 0x00000008,
|
97
|
+
VK_EXPORT_METAL_OBJECT_TYPE_METAL_IOSURFACE_BIT_EXT = 0x00000010,
|
98
|
+
VK_EXPORT_METAL_OBJECT_TYPE_METAL_SHARED_EVENT_BIT_EXT = 0x00000020,
|
99
|
+
VK_EXPORT_METAL_OBJECT_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
|
100
|
+
} VkExportMetalObjectTypeFlagBitsEXT;
|
101
|
+
typedef VkFlags VkExportMetalObjectTypeFlagsEXT;
|
102
|
+
typedef struct VkExportMetalObjectCreateInfoEXT {
|
103
|
+
VkStructureType sType;
|
104
|
+
const void* pNext;
|
105
|
+
VkExportMetalObjectTypeFlagBitsEXT exportObjectType;
|
106
|
+
} VkExportMetalObjectCreateInfoEXT;
|
107
|
+
|
108
|
+
typedef struct VkExportMetalObjectsInfoEXT {
|
109
|
+
VkStructureType sType;
|
110
|
+
const void* pNext;
|
111
|
+
} VkExportMetalObjectsInfoEXT;
|
112
|
+
|
113
|
+
typedef struct VkExportMetalDeviceInfoEXT {
|
114
|
+
VkStructureType sType;
|
115
|
+
const void* pNext;
|
116
|
+
MTLDevice_id mtlDevice;
|
117
|
+
} VkExportMetalDeviceInfoEXT;
|
118
|
+
|
119
|
+
typedef struct VkExportMetalCommandQueueInfoEXT {
|
120
|
+
VkStructureType sType;
|
121
|
+
const void* pNext;
|
122
|
+
VkQueue queue;
|
123
|
+
MTLCommandQueue_id mtlCommandQueue;
|
124
|
+
} VkExportMetalCommandQueueInfoEXT;
|
125
|
+
|
126
|
+
typedef struct VkExportMetalBufferInfoEXT {
|
127
|
+
VkStructureType sType;
|
128
|
+
const void* pNext;
|
129
|
+
VkDeviceMemory memory;
|
130
|
+
MTLBuffer_id mtlBuffer;
|
131
|
+
} VkExportMetalBufferInfoEXT;
|
132
|
+
|
133
|
+
typedef struct VkImportMetalBufferInfoEXT {
|
134
|
+
VkStructureType sType;
|
135
|
+
const void* pNext;
|
136
|
+
MTLBuffer_id mtlBuffer;
|
137
|
+
} VkImportMetalBufferInfoEXT;
|
138
|
+
|
139
|
+
typedef struct VkExportMetalTextureInfoEXT {
|
140
|
+
VkStructureType sType;
|
141
|
+
const void* pNext;
|
142
|
+
VkImage image;
|
143
|
+
VkImageView imageView;
|
144
|
+
VkBufferView bufferView;
|
145
|
+
VkImageAspectFlagBits plane;
|
146
|
+
MTLTexture_id mtlTexture;
|
147
|
+
} VkExportMetalTextureInfoEXT;
|
148
|
+
|
149
|
+
typedef struct VkImportMetalTextureInfoEXT {
|
150
|
+
VkStructureType sType;
|
151
|
+
const void* pNext;
|
152
|
+
VkImageAspectFlagBits plane;
|
153
|
+
MTLTexture_id mtlTexture;
|
154
|
+
} VkImportMetalTextureInfoEXT;
|
155
|
+
|
156
|
+
typedef struct VkExportMetalIOSurfaceInfoEXT {
|
157
|
+
VkStructureType sType;
|
158
|
+
const void* pNext;
|
159
|
+
VkImage image;
|
160
|
+
IOSurfaceRef ioSurface;
|
161
|
+
} VkExportMetalIOSurfaceInfoEXT;
|
162
|
+
|
163
|
+
typedef struct VkImportMetalIOSurfaceInfoEXT {
|
164
|
+
VkStructureType sType;
|
165
|
+
const void* pNext;
|
166
|
+
IOSurfaceRef ioSurface;
|
167
|
+
} VkImportMetalIOSurfaceInfoEXT;
|
168
|
+
|
169
|
+
typedef struct VkExportMetalSharedEventInfoEXT {
|
170
|
+
VkStructureType sType;
|
171
|
+
const void* pNext;
|
172
|
+
VkSemaphore semaphore;
|
173
|
+
VkEvent event;
|
174
|
+
MTLSharedEvent_id mtlSharedEvent;
|
175
|
+
} VkExportMetalSharedEventInfoEXT;
|
176
|
+
|
177
|
+
typedef struct VkImportMetalSharedEventInfoEXT {
|
178
|
+
VkStructureType sType;
|
179
|
+
const void* pNext;
|
180
|
+
MTLSharedEvent_id mtlSharedEvent;
|
181
|
+
} VkImportMetalSharedEventInfoEXT;
|
182
|
+
|
183
|
+
typedef void(VKAPI_PTR* PFN_vkExportMetalObjectsEXT)(
|
184
|
+
VkDevice device, VkExportMetalObjectsInfoEXT* pMetalObjectsInfo);
|
185
|
+
|
186
|
+
#ifndef VK_NO_PROTOTYPES
|
187
|
+
VKAPI_ATTR void VKAPI_CALL vkExportMetalObjectsEXT(VkDevice device,
|
188
|
+
VkExportMetalObjectsInfoEXT* pMetalObjectsInfo);
|
189
|
+
#endif
|
190
|
+
|
191
|
+
// VK_EXT_external_memory_metal is a preprocessor guard. Do not pass it to API calls.
|
192
|
+
#define VK_EXT_external_memory_metal 1
|
193
|
+
#define VK_EXT_EXTERNAL_MEMORY_METAL_SPEC_VERSION 1
|
194
|
+
#define VK_EXT_EXTERNAL_MEMORY_METAL_EXTENSION_NAME "VK_EXT_external_memory_metal"
|
195
|
+
typedef struct VkImportMemoryMetalHandleInfoEXT {
|
196
|
+
VkStructureType sType;
|
197
|
+
const void* pNext;
|
198
|
+
VkExternalMemoryHandleTypeFlagBits handleType;
|
199
|
+
void* handle;
|
200
|
+
} VkImportMemoryMetalHandleInfoEXT;
|
201
|
+
|
202
|
+
typedef struct VkMemoryMetalHandlePropertiesEXT {
|
203
|
+
VkStructureType sType;
|
204
|
+
void* pNext;
|
205
|
+
uint32_t memoryTypeBits;
|
206
|
+
} VkMemoryMetalHandlePropertiesEXT;
|
207
|
+
|
208
|
+
typedef struct VkMemoryGetMetalHandleInfoEXT {
|
209
|
+
VkStructureType sType;
|
210
|
+
const void* pNext;
|
211
|
+
VkDeviceMemory memory;
|
212
|
+
VkExternalMemoryHandleTypeFlagBits handleType;
|
213
|
+
} VkMemoryGetMetalHandleInfoEXT;
|
214
|
+
|
215
|
+
typedef VkResult(VKAPI_PTR* PFN_vkGetMemoryMetalHandleEXT)(
|
216
|
+
VkDevice device, const VkMemoryGetMetalHandleInfoEXT* pGetMetalHandleInfo, void** pHandle);
|
217
|
+
typedef VkResult(VKAPI_PTR* PFN_vkGetMemoryMetalHandlePropertiesEXT)(
|
218
|
+
VkDevice device,
|
219
|
+
VkExternalMemoryHandleTypeFlagBits handleType,
|
220
|
+
const void* pHandle,
|
221
|
+
VkMemoryMetalHandlePropertiesEXT* pMemoryMetalHandleProperties);
|
222
|
+
|
223
|
+
#ifndef VK_NO_PROTOTYPES
|
224
|
+
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryMetalHandleEXT(
|
225
|
+
VkDevice device, const VkMemoryGetMetalHandleInfoEXT* pGetMetalHandleInfo, void** pHandle);
|
226
|
+
|
227
|
+
VKAPI_ATTR VkResult VKAPI_CALL
|
228
|
+
vkGetMemoryMetalHandlePropertiesEXT(VkDevice device,
|
229
|
+
VkExternalMemoryHandleTypeFlagBits handleType,
|
230
|
+
const void* pHandle,
|
231
|
+
VkMemoryMetalHandlePropertiesEXT* pMemoryMetalHandleProperties);
|
232
|
+
#endif
|
233
|
+
|
234
|
+
#ifdef __cplusplus
|
235
|
+
}
|
236
|
+
#endif
|
237
|
+
|
238
|
+
#endif
|