Updated Vulkan headers to 1.0.46
This commit is contained in:
parent
e672eac3a0
commit
8d06cc563a
10 changed files with 728 additions and 322 deletions
34
external/vulkan/spirv.h
vendored
34
external/vulkan/spirv.h
vendored
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
** Copyright (c) 2014-2016 The Khronos Group Inc.
|
||||
** Copyright (c) 2014-2017 The Khronos Group Inc.
|
||||
**
|
||||
** Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
** of this software and/or associated documentation files (the "Materials"),
|
||||
|
|
@ -51,11 +51,11 @@
|
|||
typedef unsigned int SpvId;
|
||||
|
||||
#define SPV_VERSION 0x10100
|
||||
#define SPV_REVISION 4
|
||||
#define SPV_REVISION 6
|
||||
|
||||
static const unsigned int SpvMagicNumber = 0x07230203;
|
||||
static const unsigned int SpvVersion = 0x00010100;
|
||||
static const unsigned int SpvRevision = 4;
|
||||
static const unsigned int SpvRevision = 6;
|
||||
static const unsigned int SpvOpCodeMask = 0xffff;
|
||||
static const unsigned int SpvWordCountShift = 16;
|
||||
|
||||
|
|
@ -383,6 +383,10 @@ typedef enum SpvDecoration_ {
|
|||
SpvDecorationInputAttachmentIndex = 43,
|
||||
SpvDecorationAlignment = 44,
|
||||
SpvDecorationMaxByteOffset = 45,
|
||||
SpvDecorationOverrideCoverageNV = 5248,
|
||||
SpvDecorationPassthroughNV = 5250,
|
||||
SpvDecorationViewportRelativeNV = 5252,
|
||||
SpvDecorationSecondaryViewportRelativeNV = 5256,
|
||||
SpvDecorationMax = 0x7fffffff,
|
||||
} SpvDecoration;
|
||||
|
||||
|
|
@ -436,6 +440,13 @@ typedef enum SpvBuiltIn_ {
|
|||
SpvBuiltInBaseVertex = 4424,
|
||||
SpvBuiltInBaseInstance = 4425,
|
||||
SpvBuiltInDrawIndex = 4426,
|
||||
SpvBuiltInDeviceIndex = 4438,
|
||||
SpvBuiltInViewIndex = 4440,
|
||||
SpvBuiltInViewportMaskNV = 5253,
|
||||
SpvBuiltInSecondaryPositionNV = 5257,
|
||||
SpvBuiltInSecondaryViewportMaskNV = 5258,
|
||||
SpvBuiltInPositionPerViewNV = 5261,
|
||||
SpvBuiltInViewportMaskPerViewNV = 5262,
|
||||
SpvBuiltInMax = 0x7fffffff,
|
||||
} SpvBuiltIn;
|
||||
|
||||
|
|
@ -620,6 +631,19 @@ typedef enum SpvCapability_ {
|
|||
SpvCapabilityPipeStorage = 60,
|
||||
SpvCapabilitySubgroupBallotKHR = 4423,
|
||||
SpvCapabilityDrawParameters = 4427,
|
||||
SpvCapabilitySubgroupVoteKHR = 4431,
|
||||
SpvCapabilityStorageUniformBufferBlock16 = 4433,
|
||||
SpvCapabilityStorageUniform16 = 4434,
|
||||
SpvCapabilityStoragePushConstant16 = 4435,
|
||||
SpvCapabilityStorageInputOutput16 = 4436,
|
||||
SpvCapabilityDeviceGroup = 4437,
|
||||
SpvCapabilityMultiView = 4439,
|
||||
SpvCapabilitySampleMaskOverrideCoverageNV = 5249,
|
||||
SpvCapabilityGeometryShaderPassthroughNV = 5251,
|
||||
SpvCapabilityShaderViewportIndexLayerNV = 5254,
|
||||
SpvCapabilityShaderViewportMaskNV = 5255,
|
||||
SpvCapabilityShaderStereoViewNV = 5259,
|
||||
SpvCapabilityPerViewAttributesNV = 5260,
|
||||
SpvCapabilityMax = 0x7fffffff,
|
||||
} SpvCapability;
|
||||
|
||||
|
|
@ -930,6 +954,10 @@ typedef enum SpvOp_ {
|
|||
SpvOpModuleProcessed = 330,
|
||||
SpvOpSubgroupBallotKHR = 4421,
|
||||
SpvOpSubgroupFirstInvocationKHR = 4422,
|
||||
SpvOpSubgroupAllKHR = 4428,
|
||||
SpvOpSubgroupAnyKHR = 4429,
|
||||
SpvOpSubgroupAllEqualKHR = 4430,
|
||||
SpvOpSubgroupReadInvocationKHR = 4432,
|
||||
SpvOpMax = 0x7fffffff,
|
||||
} SpvOp;
|
||||
|
||||
|
|
|
|||
34
external/vulkan/spirv.hpp
vendored
34
external/vulkan/spirv.hpp
vendored
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright (c) 2014-2016 The Khronos Group Inc.
|
||||
// Copyright (c) 2014-2017 The Khronos Group Inc.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and/or associated documentation files (the "Materials"),
|
||||
|
|
@ -47,11 +47,11 @@ namespace spv {
|
|||
typedef unsigned int Id;
|
||||
|
||||
#define SPV_VERSION 0x10100
|
||||
#define SPV_REVISION 4
|
||||
#define SPV_REVISION 6
|
||||
|
||||
static const unsigned int MagicNumber = 0x07230203;
|
||||
static const unsigned int Version = 0x00010100;
|
||||
static const unsigned int Revision = 4;
|
||||
static const unsigned int Revision = 6;
|
||||
static const unsigned int OpCodeMask = 0xffff;
|
||||
static const unsigned int WordCountShift = 16;
|
||||
|
||||
|
|
@ -379,6 +379,10 @@ enum Decoration {
|
|||
DecorationInputAttachmentIndex = 43,
|
||||
DecorationAlignment = 44,
|
||||
DecorationMaxByteOffset = 45,
|
||||
DecorationOverrideCoverageNV = 5248,
|
||||
DecorationPassthroughNV = 5250,
|
||||
DecorationViewportRelativeNV = 5252,
|
||||
DecorationSecondaryViewportRelativeNV = 5256,
|
||||
DecorationMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
|
|
@ -432,6 +436,13 @@ enum BuiltIn {
|
|||
BuiltInBaseVertex = 4424,
|
||||
BuiltInBaseInstance = 4425,
|
||||
BuiltInDrawIndex = 4426,
|
||||
BuiltInDeviceIndex = 4438,
|
||||
BuiltInViewIndex = 4440,
|
||||
BuiltInViewportMaskNV = 5253,
|
||||
BuiltInSecondaryPositionNV = 5257,
|
||||
BuiltInSecondaryViewportMaskNV = 5258,
|
||||
BuiltInPositionPerViewNV = 5261,
|
||||
BuiltInViewportMaskPerViewNV = 5262,
|
||||
BuiltInMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
|
|
@ -616,6 +627,19 @@ enum Capability {
|
|||
CapabilityPipeStorage = 60,
|
||||
CapabilitySubgroupBallotKHR = 4423,
|
||||
CapabilityDrawParameters = 4427,
|
||||
CapabilitySubgroupVoteKHR = 4431,
|
||||
CapabilityStorageUniformBufferBlock16 = 4433,
|
||||
CapabilityStorageUniform16 = 4434,
|
||||
CapabilityStoragePushConstant16 = 4435,
|
||||
CapabilityStorageInputOutput16 = 4436,
|
||||
CapabilityDeviceGroup = 4437,
|
||||
CapabilityMultiView = 4439,
|
||||
CapabilitySampleMaskOverrideCoverageNV = 5249,
|
||||
CapabilityGeometryShaderPassthroughNV = 5251,
|
||||
CapabilityShaderViewportIndexLayerNV = 5254,
|
||||
CapabilityShaderViewportMaskNV = 5255,
|
||||
CapabilityShaderStereoViewNV = 5259,
|
||||
CapabilityPerViewAttributesNV = 5260,
|
||||
CapabilityMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
|
|
@ -926,6 +950,10 @@ enum Op {
|
|||
OpModuleProcessed = 330,
|
||||
OpSubgroupBallotKHR = 4421,
|
||||
OpSubgroupFirstInvocationKHR = 4422,
|
||||
OpSubgroupAllKHR = 4428,
|
||||
OpSubgroupAnyKHR = 4429,
|
||||
OpSubgroupAllEqualKHR = 4430,
|
||||
OpSubgroupReadInvocationKHR = 4432,
|
||||
OpMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
|
|
|
|||
34
external/vulkan/spirv.hpp11
vendored
34
external/vulkan/spirv.hpp11
vendored
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright (c) 2014-2016 The Khronos Group Inc.
|
||||
// Copyright (c) 2014-2017 The Khronos Group Inc.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and/or associated documentation files (the "Materials"),
|
||||
|
|
@ -47,11 +47,11 @@ namespace spv {
|
|||
typedef unsigned int Id;
|
||||
|
||||
#define SPV_VERSION 0x10100
|
||||
#define SPV_REVISION 4
|
||||
#define SPV_REVISION 6
|
||||
|
||||
static const unsigned int MagicNumber = 0x07230203;
|
||||
static const unsigned int Version = 0x00010100;
|
||||
static const unsigned int Revision = 4;
|
||||
static const unsigned int Revision = 6;
|
||||
static const unsigned int OpCodeMask = 0xffff;
|
||||
static const unsigned int WordCountShift = 16;
|
||||
|
||||
|
|
@ -379,6 +379,10 @@ enum class Decoration : unsigned {
|
|||
InputAttachmentIndex = 43,
|
||||
Alignment = 44,
|
||||
MaxByteOffset = 45,
|
||||
OverrideCoverageNV = 5248,
|
||||
PassthroughNV = 5250,
|
||||
ViewportRelativeNV = 5252,
|
||||
SecondaryViewportRelativeNV = 5256,
|
||||
Max = 0x7fffffff,
|
||||
};
|
||||
|
||||
|
|
@ -432,6 +436,13 @@ enum class BuiltIn : unsigned {
|
|||
BaseVertex = 4424,
|
||||
BaseInstance = 4425,
|
||||
DrawIndex = 4426,
|
||||
DeviceIndex = 4438,
|
||||
ViewIndex = 4440,
|
||||
ViewportMaskNV = 5253,
|
||||
SecondaryPositionNV = 5257,
|
||||
SecondaryViewportMaskNV = 5258,
|
||||
PositionPerViewNV = 5261,
|
||||
ViewportMaskPerViewNV = 5262,
|
||||
Max = 0x7fffffff,
|
||||
};
|
||||
|
||||
|
|
@ -616,6 +627,19 @@ enum class Capability : unsigned {
|
|||
PipeStorage = 60,
|
||||
SubgroupBallotKHR = 4423,
|
||||
DrawParameters = 4427,
|
||||
SubgroupVoteKHR = 4431,
|
||||
StorageUniformBufferBlock16 = 4433,
|
||||
StorageUniform16 = 4434,
|
||||
StoragePushConstant16 = 4435,
|
||||
StorageInputOutput16 = 4436,
|
||||
DeviceGroup = 4437,
|
||||
MultiView = 4439,
|
||||
SampleMaskOverrideCoverageNV = 5249,
|
||||
GeometryShaderPassthroughNV = 5251,
|
||||
ShaderViewportIndexLayerNV = 5254,
|
||||
ShaderViewportMaskNV = 5255,
|
||||
ShaderStereoViewNV = 5259,
|
||||
PerViewAttributesNV = 5260,
|
||||
Max = 0x7fffffff,
|
||||
};
|
||||
|
||||
|
|
@ -926,6 +950,10 @@ enum class Op : unsigned {
|
|||
OpModuleProcessed = 330,
|
||||
OpSubgroupBallotKHR = 4421,
|
||||
OpSubgroupFirstInvocationKHR = 4422,
|
||||
OpSubgroupAllKHR = 4428,
|
||||
OpSubgroupAnyKHR = 4429,
|
||||
OpSubgroupAllEqualKHR = 4430,
|
||||
OpSubgroupReadInvocationKHR = 4432,
|
||||
Max = 0x7fffffff,
|
||||
};
|
||||
|
||||
|
|
|
|||
40
external/vulkan/spirv.json
vendored
40
external/vulkan/spirv.json
vendored
|
|
@ -6,7 +6,7 @@
|
|||
"Comment":
|
||||
[
|
||||
[
|
||||
"Copyright (c) 2014-2016 The Khronos Group Inc.",
|
||||
"Copyright (c) 2014-2017 The Khronos Group Inc.",
|
||||
"",
|
||||
"Permission is hereby granted, free of charge, to any person obtaining a copy",
|
||||
"of this software and/or associated documentation files (the \"Materials\"),",
|
||||
|
|
@ -52,7 +52,7 @@
|
|||
],
|
||||
"MagicNumber": 119734787,
|
||||
"Version": 65792,
|
||||
"Revision": 4,
|
||||
"Revision": 6,
|
||||
"OpCodeMask": 65535,
|
||||
"WordCountShift": 16
|
||||
},
|
||||
|
|
@ -418,7 +418,11 @@
|
|||
"NoContraction": 42,
|
||||
"InputAttachmentIndex": 43,
|
||||
"Alignment": 44,
|
||||
"MaxByteOffset": 45
|
||||
"MaxByteOffset": 45,
|
||||
"OverrideCoverageNV": 5248,
|
||||
"PassthroughNV": 5250,
|
||||
"ViewportRelativeNV": 5252,
|
||||
"SecondaryViewportRelativeNV": 5256
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
@ -474,7 +478,14 @@
|
|||
"SubgroupLtMaskKHR": 4420,
|
||||
"BaseVertex": 4424,
|
||||
"BaseInstance": 4425,
|
||||
"DrawIndex": 4426
|
||||
"DrawIndex": 4426,
|
||||
"DeviceIndex": 4438,
|
||||
"ViewIndex": 4440,
|
||||
"ViewportMaskNV": 5253,
|
||||
"SecondaryPositionNV": 5257,
|
||||
"SecondaryViewportMaskNV": 5258,
|
||||
"PositionPerViewNV": 5261,
|
||||
"ViewportMaskPerViewNV": 5262
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
@ -640,7 +651,20 @@
|
|||
"NamedBarrier": 59,
|
||||
"PipeStorage": 60,
|
||||
"SubgroupBallotKHR": 4423,
|
||||
"DrawParameters": 4427
|
||||
"DrawParameters": 4427,
|
||||
"SubgroupVoteKHR": 4431,
|
||||
"StorageUniformBufferBlock16": 4433,
|
||||
"StorageUniform16": 4434,
|
||||
"StoragePushConstant16": 4435,
|
||||
"StorageInputOutput16": 4436,
|
||||
"DeviceGroup": 4437,
|
||||
"MultiView": 4439,
|
||||
"SampleMaskOverrideCoverageNV": 5249,
|
||||
"GeometryShaderPassthroughNV": 5251,
|
||||
"ShaderViewportIndexLayerNV": 5254,
|
||||
"ShaderViewportMaskNV": 5255,
|
||||
"ShaderStereoViewNV": 5259,
|
||||
"PerViewAttributesNV": 5260
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
@ -953,7 +977,11 @@
|
|||
"OpMemoryNamedBarrier": 329,
|
||||
"OpModuleProcessed": 330,
|
||||
"OpSubgroupBallotKHR": 4421,
|
||||
"OpSubgroupFirstInvocationKHR": 4422
|
||||
"OpSubgroupFirstInvocationKHR": 4422,
|
||||
"OpSubgroupAllKHR": 4428,
|
||||
"OpSubgroupAnyKHR": 4429,
|
||||
"OpSubgroupAllEqualKHR": 4430,
|
||||
"OpSubgroupReadInvocationKHR": 4432
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
|||
32
external/vulkan/spirv.lua
vendored
32
external/vulkan/spirv.lua
vendored
|
|
@ -1,4 +1,4 @@
|
|||
-- Copyright (c) 2014-2016 The Khronos Group Inc.
|
||||
-- Copyright (c) 2014-2017 The Khronos Group Inc.
|
||||
--
|
||||
-- Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
-- of this software and/or associated documentation files (the "Materials"),
|
||||
|
|
@ -42,7 +42,7 @@
|
|||
spv = {
|
||||
MagicNumber = 0x07230203,
|
||||
Version = 0x00010100,
|
||||
Revision = 4,
|
||||
Revision = 6,
|
||||
OpCodeMask = 0xffff,
|
||||
WordCountShift = 16,
|
||||
|
||||
|
|
@ -352,6 +352,10 @@ spv = {
|
|||
InputAttachmentIndex = 43,
|
||||
Alignment = 44,
|
||||
MaxByteOffset = 45,
|
||||
OverrideCoverageNV = 5248,
|
||||
PassthroughNV = 5250,
|
||||
ViewportRelativeNV = 5252,
|
||||
SecondaryViewportRelativeNV = 5256,
|
||||
},
|
||||
|
||||
BuiltIn = {
|
||||
|
|
@ -404,6 +408,13 @@ spv = {
|
|||
BaseVertex = 4424,
|
||||
BaseInstance = 4425,
|
||||
DrawIndex = 4426,
|
||||
DeviceIndex = 4438,
|
||||
ViewIndex = 4440,
|
||||
ViewportMaskNV = 5253,
|
||||
SecondaryPositionNV = 5257,
|
||||
SecondaryViewportMaskNV = 5258,
|
||||
PositionPerViewNV = 5261,
|
||||
ViewportMaskPerViewNV = 5262,
|
||||
},
|
||||
|
||||
SelectionControlShift = {
|
||||
|
|
@ -578,6 +589,19 @@ spv = {
|
|||
PipeStorage = 60,
|
||||
SubgroupBallotKHR = 4423,
|
||||
DrawParameters = 4427,
|
||||
SubgroupVoteKHR = 4431,
|
||||
StorageUniformBufferBlock16 = 4433,
|
||||
StorageUniform16 = 4434,
|
||||
StoragePushConstant16 = 4435,
|
||||
StorageInputOutput16 = 4436,
|
||||
DeviceGroup = 4437,
|
||||
MultiView = 4439,
|
||||
SampleMaskOverrideCoverageNV = 5249,
|
||||
GeometryShaderPassthroughNV = 5251,
|
||||
ShaderViewportIndexLayerNV = 5254,
|
||||
ShaderViewportMaskNV = 5255,
|
||||
ShaderStereoViewNV = 5259,
|
||||
PerViewAttributesNV = 5260,
|
||||
},
|
||||
|
||||
Op = {
|
||||
|
|
@ -887,6 +911,10 @@ spv = {
|
|||
OpModuleProcessed = 330,
|
||||
OpSubgroupBallotKHR = 4421,
|
||||
OpSubgroupFirstInvocationKHR = 4422,
|
||||
OpSubgroupAllKHR = 4428,
|
||||
OpSubgroupAnyKHR = 4429,
|
||||
OpSubgroupAllEqualKHR = 4430,
|
||||
OpSubgroupReadInvocationKHR = 4432,
|
||||
},
|
||||
|
||||
}
|
||||
|
|
|
|||
32
external/vulkan/spirv.py
vendored
32
external/vulkan/spirv.py
vendored
|
|
@ -1,4 +1,4 @@
|
|||
# Copyright (c) 2014-2016 The Khronos Group Inc.
|
||||
# Copyright (c) 2014-2017 The Khronos Group Inc.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and/or associated documentation files (the "Materials"),
|
||||
|
|
@ -42,7 +42,7 @@
|
|||
spv = {
|
||||
'MagicNumber' : 0x07230203,
|
||||
'Version' : 0x00010100,
|
||||
'Revision' : 4,
|
||||
'Revision' : 6,
|
||||
'OpCodeMask' : 0xffff,
|
||||
'WordCountShift' : 16,
|
||||
|
||||
|
|
@ -352,6 +352,10 @@ spv = {
|
|||
'InputAttachmentIndex' : 43,
|
||||
'Alignment' : 44,
|
||||
'MaxByteOffset' : 45,
|
||||
'OverrideCoverageNV' : 5248,
|
||||
'PassthroughNV' : 5250,
|
||||
'ViewportRelativeNV' : 5252,
|
||||
'SecondaryViewportRelativeNV' : 5256,
|
||||
},
|
||||
|
||||
'BuiltIn' : {
|
||||
|
|
@ -404,6 +408,13 @@ spv = {
|
|||
'BaseVertex' : 4424,
|
||||
'BaseInstance' : 4425,
|
||||
'DrawIndex' : 4426,
|
||||
'DeviceIndex' : 4438,
|
||||
'ViewIndex' : 4440,
|
||||
'ViewportMaskNV' : 5253,
|
||||
'SecondaryPositionNV' : 5257,
|
||||
'SecondaryViewportMaskNV' : 5258,
|
||||
'PositionPerViewNV' : 5261,
|
||||
'ViewportMaskPerViewNV' : 5262,
|
||||
},
|
||||
|
||||
'SelectionControlShift' : {
|
||||
|
|
@ -578,6 +589,19 @@ spv = {
|
|||
'PipeStorage' : 60,
|
||||
'SubgroupBallotKHR' : 4423,
|
||||
'DrawParameters' : 4427,
|
||||
'SubgroupVoteKHR' : 4431,
|
||||
'StorageUniformBufferBlock16' : 4433,
|
||||
'StorageUniform16' : 4434,
|
||||
'StoragePushConstant16' : 4435,
|
||||
'StorageInputOutput16' : 4436,
|
||||
'DeviceGroup' : 4437,
|
||||
'MultiView' : 4439,
|
||||
'SampleMaskOverrideCoverageNV' : 5249,
|
||||
'GeometryShaderPassthroughNV' : 5251,
|
||||
'ShaderViewportIndexLayerNV' : 5254,
|
||||
'ShaderViewportMaskNV' : 5255,
|
||||
'ShaderStereoViewNV' : 5259,
|
||||
'PerViewAttributesNV' : 5260,
|
||||
},
|
||||
|
||||
'Op' : {
|
||||
|
|
@ -887,6 +911,10 @@ spv = {
|
|||
'OpModuleProcessed' : 330,
|
||||
'OpSubgroupBallotKHR' : 4421,
|
||||
'OpSubgroupFirstInvocationKHR' : 4422,
|
||||
'OpSubgroupAllKHR' : 4428,
|
||||
'OpSubgroupAnyKHR' : 4429,
|
||||
'OpSubgroupAllEqualKHR' : 4430,
|
||||
'OpSubgroupReadInvocationKHR' : 4432,
|
||||
},
|
||||
|
||||
}
|
||||
|
|
|
|||
1
external/vulkan/vk_icd.h
vendored
1
external/vulkan/vk_icd.h
vendored
|
|
@ -24,6 +24,7 @@
|
|||
#define VKICD_H
|
||||
|
||||
#include "vulkan.h"
|
||||
#include <stdbool.h>
|
||||
|
||||
// Loader-ICD version negotiation API. Versions add the following features:
|
||||
// Version 0 - Initial. Doesn't support vk_icdGetInstanceProcAddr
|
||||
|
|
|
|||
269
external/vulkan/vk_layer.h
vendored
269
external/vulkan/vk_layer.h
vendored
|
|
@ -2,9 +2,9 @@
|
|||
// File: vk_layer.h
|
||||
//
|
||||
/*
|
||||
* Copyright (c) 2015-2016 The Khronos Group Inc.
|
||||
* Copyright (c) 2015-2016 Valve Corporation
|
||||
* Copyright (c) 2015-2016 LunarG, Inc.
|
||||
* Copyright (c) 2015-2017 The Khronos Group Inc.
|
||||
* Copyright (c) 2015-2017 Valve Corporation
|
||||
* Copyright (c) 2015-2017 LunarG, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
@ -35,6 +35,9 @@
|
|||
#define VK_LAYER_EXPORT
|
||||
#endif
|
||||
|
||||
// Definition for VkLayerDispatchTable and VkLayerInstanceDispatchTable now appear in externally generated header
|
||||
#include "vk_layer_dispatch_table.h"
|
||||
|
||||
#define MAX_NUM_UNKNOWN_EXTS 250
|
||||
|
||||
// Loader-Layer version negotiation API. Versions add the following features:
|
||||
|
|
@ -45,9 +48,6 @@
|
|||
#define CURRENT_LOADER_LAYER_INTERFACE_VERSION 2
|
||||
#define MIN_SUPPORTED_LOADER_LAYER_INTERFACE_VERSION 1
|
||||
|
||||
// Internal function
|
||||
typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_GetPhysicalDeviceProcAddr)(VkInstance instance, const char* pName);
|
||||
|
||||
// Version negotiation values
|
||||
typedef enum VkNegotiateLayerStructType {
|
||||
LAYER_NEGOTIATE_UNINTIALIZED = 0,
|
||||
|
|
@ -70,263 +70,6 @@ typedef VkResult (VKAPI_PTR *PFN_vkNegotiateLoaderLayerInterfaceVersion)(VkNegot
|
|||
// Function prototype for unknown physical device extension command
|
||||
typedef VkResult(VKAPI_PTR *PFN_PhysDevExt)(VkPhysicalDevice phys_device, ...);
|
||||
|
||||
typedef struct VkLayerDispatchTable_ {
|
||||
PFN_vkGetDeviceProcAddr GetDeviceProcAddr;
|
||||
PFN_vkDestroyDevice DestroyDevice;
|
||||
PFN_vkGetDeviceQueue GetDeviceQueue;
|
||||
PFN_vkQueueSubmit QueueSubmit;
|
||||
PFN_vkQueueWaitIdle QueueWaitIdle;
|
||||
PFN_vkDeviceWaitIdle DeviceWaitIdle;
|
||||
PFN_vkAllocateMemory AllocateMemory;
|
||||
PFN_vkFreeMemory FreeMemory;
|
||||
PFN_vkMapMemory MapMemory;
|
||||
PFN_vkUnmapMemory UnmapMemory;
|
||||
PFN_vkFlushMappedMemoryRanges FlushMappedMemoryRanges;
|
||||
PFN_vkInvalidateMappedMemoryRanges InvalidateMappedMemoryRanges;
|
||||
PFN_vkGetDeviceMemoryCommitment GetDeviceMemoryCommitment;
|
||||
PFN_vkGetImageSparseMemoryRequirements GetImageSparseMemoryRequirements;
|
||||
PFN_vkGetImageMemoryRequirements GetImageMemoryRequirements;
|
||||
PFN_vkGetBufferMemoryRequirements GetBufferMemoryRequirements;
|
||||
PFN_vkBindImageMemory BindImageMemory;
|
||||
PFN_vkBindBufferMemory BindBufferMemory;
|
||||
PFN_vkQueueBindSparse QueueBindSparse;
|
||||
PFN_vkCreateFence CreateFence;
|
||||
PFN_vkDestroyFence DestroyFence;
|
||||
PFN_vkGetFenceStatus GetFenceStatus;
|
||||
PFN_vkResetFences ResetFences;
|
||||
PFN_vkWaitForFences WaitForFences;
|
||||
PFN_vkCreateSemaphore CreateSemaphore;
|
||||
PFN_vkDestroySemaphore DestroySemaphore;
|
||||
PFN_vkCreateEvent CreateEvent;
|
||||
PFN_vkDestroyEvent DestroyEvent;
|
||||
PFN_vkGetEventStatus GetEventStatus;
|
||||
PFN_vkSetEvent SetEvent;
|
||||
PFN_vkResetEvent ResetEvent;
|
||||
PFN_vkCreateQueryPool CreateQueryPool;
|
||||
PFN_vkDestroyQueryPool DestroyQueryPool;
|
||||
PFN_vkGetQueryPoolResults GetQueryPoolResults;
|
||||
PFN_vkCreateBuffer CreateBuffer;
|
||||
PFN_vkDestroyBuffer DestroyBuffer;
|
||||
PFN_vkCreateBufferView CreateBufferView;
|
||||
PFN_vkDestroyBufferView DestroyBufferView;
|
||||
PFN_vkCreateImage CreateImage;
|
||||
PFN_vkDestroyImage DestroyImage;
|
||||
PFN_vkGetImageSubresourceLayout GetImageSubresourceLayout;
|
||||
PFN_vkCreateImageView CreateImageView;
|
||||
PFN_vkDestroyImageView DestroyImageView;
|
||||
PFN_vkCreateShaderModule CreateShaderModule;
|
||||
PFN_vkDestroyShaderModule DestroyShaderModule;
|
||||
PFN_vkCreatePipelineCache CreatePipelineCache;
|
||||
PFN_vkDestroyPipelineCache DestroyPipelineCache;
|
||||
PFN_vkGetPipelineCacheData GetPipelineCacheData;
|
||||
PFN_vkMergePipelineCaches MergePipelineCaches;
|
||||
PFN_vkCreateGraphicsPipelines CreateGraphicsPipelines;
|
||||
PFN_vkCreateComputePipelines CreateComputePipelines;
|
||||
PFN_vkDestroyPipeline DestroyPipeline;
|
||||
PFN_vkCreatePipelineLayout CreatePipelineLayout;
|
||||
PFN_vkDestroyPipelineLayout DestroyPipelineLayout;
|
||||
PFN_vkCreateSampler CreateSampler;
|
||||
PFN_vkDestroySampler DestroySampler;
|
||||
PFN_vkCreateDescriptorSetLayout CreateDescriptorSetLayout;
|
||||
PFN_vkDestroyDescriptorSetLayout DestroyDescriptorSetLayout;
|
||||
PFN_vkCreateDescriptorPool CreateDescriptorPool;
|
||||
PFN_vkDestroyDescriptorPool DestroyDescriptorPool;
|
||||
PFN_vkResetDescriptorPool ResetDescriptorPool;
|
||||
PFN_vkAllocateDescriptorSets AllocateDescriptorSets;
|
||||
PFN_vkFreeDescriptorSets FreeDescriptorSets;
|
||||
PFN_vkUpdateDescriptorSets UpdateDescriptorSets;
|
||||
PFN_vkCreateFramebuffer CreateFramebuffer;
|
||||
PFN_vkDestroyFramebuffer DestroyFramebuffer;
|
||||
PFN_vkCreateRenderPass CreateRenderPass;
|
||||
PFN_vkDestroyRenderPass DestroyRenderPass;
|
||||
PFN_vkGetRenderAreaGranularity GetRenderAreaGranularity;
|
||||
PFN_vkCreateCommandPool CreateCommandPool;
|
||||
PFN_vkDestroyCommandPool DestroyCommandPool;
|
||||
PFN_vkResetCommandPool ResetCommandPool;
|
||||
PFN_vkAllocateCommandBuffers AllocateCommandBuffers;
|
||||
PFN_vkFreeCommandBuffers FreeCommandBuffers;
|
||||
PFN_vkBeginCommandBuffer BeginCommandBuffer;
|
||||
PFN_vkEndCommandBuffer EndCommandBuffer;
|
||||
PFN_vkResetCommandBuffer ResetCommandBuffer;
|
||||
PFN_vkCmdBindPipeline CmdBindPipeline;
|
||||
PFN_vkCmdBindDescriptorSets CmdBindDescriptorSets;
|
||||
PFN_vkCmdBindVertexBuffers CmdBindVertexBuffers;
|
||||
PFN_vkCmdBindIndexBuffer CmdBindIndexBuffer;
|
||||
PFN_vkCmdSetViewport CmdSetViewport;
|
||||
PFN_vkCmdSetScissor CmdSetScissor;
|
||||
PFN_vkCmdSetLineWidth CmdSetLineWidth;
|
||||
PFN_vkCmdSetDepthBias CmdSetDepthBias;
|
||||
PFN_vkCmdSetBlendConstants CmdSetBlendConstants;
|
||||
PFN_vkCmdSetDepthBounds CmdSetDepthBounds;
|
||||
PFN_vkCmdSetStencilCompareMask CmdSetStencilCompareMask;
|
||||
PFN_vkCmdSetStencilWriteMask CmdSetStencilWriteMask;
|
||||
PFN_vkCmdSetStencilReference CmdSetStencilReference;
|
||||
PFN_vkCmdDraw CmdDraw;
|
||||
PFN_vkCmdDrawIndexed CmdDrawIndexed;
|
||||
PFN_vkCmdDrawIndirect CmdDrawIndirect;
|
||||
PFN_vkCmdDrawIndexedIndirect CmdDrawIndexedIndirect;
|
||||
PFN_vkCmdDispatch CmdDispatch;
|
||||
PFN_vkCmdDispatchIndirect CmdDispatchIndirect;
|
||||
PFN_vkCmdCopyBuffer CmdCopyBuffer;
|
||||
PFN_vkCmdCopyImage CmdCopyImage;
|
||||
PFN_vkCmdBlitImage CmdBlitImage;
|
||||
PFN_vkCmdCopyBufferToImage CmdCopyBufferToImage;
|
||||
PFN_vkCmdCopyImageToBuffer CmdCopyImageToBuffer;
|
||||
PFN_vkCmdUpdateBuffer CmdUpdateBuffer;
|
||||
PFN_vkCmdFillBuffer CmdFillBuffer;
|
||||
PFN_vkCmdClearColorImage CmdClearColorImage;
|
||||
PFN_vkCmdClearDepthStencilImage CmdClearDepthStencilImage;
|
||||
PFN_vkCmdClearAttachments CmdClearAttachments;
|
||||
PFN_vkCmdResolveImage CmdResolveImage;
|
||||
PFN_vkCmdSetEvent CmdSetEvent;
|
||||
PFN_vkCmdResetEvent CmdResetEvent;
|
||||
PFN_vkCmdWaitEvents CmdWaitEvents;
|
||||
PFN_vkCmdPipelineBarrier CmdPipelineBarrier;
|
||||
PFN_vkCmdBeginQuery CmdBeginQuery;
|
||||
PFN_vkCmdEndQuery CmdEndQuery;
|
||||
PFN_vkCmdResetQueryPool CmdResetQueryPool;
|
||||
PFN_vkCmdWriteTimestamp CmdWriteTimestamp;
|
||||
PFN_vkCmdCopyQueryPoolResults CmdCopyQueryPoolResults;
|
||||
PFN_vkCmdPushConstants CmdPushConstants;
|
||||
PFN_vkCmdBeginRenderPass CmdBeginRenderPass;
|
||||
PFN_vkCmdNextSubpass CmdNextSubpass;
|
||||
PFN_vkCmdEndRenderPass CmdEndRenderPass;
|
||||
PFN_vkCmdExecuteCommands CmdExecuteCommands;
|
||||
PFN_vkCreateSwapchainKHR CreateSwapchainKHR;
|
||||
PFN_vkDestroySwapchainKHR DestroySwapchainKHR;
|
||||
PFN_vkGetSwapchainImagesKHR GetSwapchainImagesKHR;
|
||||
PFN_vkAcquireNextImageKHR AcquireNextImageKHR;
|
||||
PFN_vkQueuePresentKHR QueuePresentKHR;
|
||||
PFN_vkCmdDrawIndirectCountAMD CmdDrawIndirectCountAMD;
|
||||
PFN_vkCmdDrawIndexedIndirectCountAMD CmdDrawIndexedIndirectCountAMD;
|
||||
#ifdef VK_USE_PLATFORM_WIN32_KHR
|
||||
PFN_vkGetMemoryWin32HandleNV GetMemoryWin32HandleNV;
|
||||
#endif
|
||||
PFN_vkCreateSharedSwapchainsKHR CreateSharedSwapchainsKHR;
|
||||
PFN_vkDebugMarkerSetObjectTagEXT DebugMarkerSetObjectTagEXT;
|
||||
PFN_vkDebugMarkerSetObjectNameEXT DebugMarkerSetObjectNameEXT;
|
||||
PFN_vkCmdDebugMarkerBeginEXT CmdDebugMarkerBeginEXT;
|
||||
PFN_vkCmdDebugMarkerEndEXT CmdDebugMarkerEndEXT;
|
||||
PFN_vkCmdDebugMarkerInsertEXT CmdDebugMarkerInsertEXT;
|
||||
// KHR_maintenance1
|
||||
PFN_vkTrimCommandPoolKHR TrimCommandPoolKHR;
|
||||
// EXT_display_control
|
||||
PFN_vkDisplayPowerControlEXT DisplayPowerControlEXT;
|
||||
PFN_vkRegisterDeviceEventEXT RegisterDeviceEventEXT;
|
||||
PFN_vkRegisterDisplayEventEXT RegisterDisplayEventEXT;
|
||||
PFN_vkGetSwapchainCounterEXT GetSwapchainCounterEXT;
|
||||
// NVX_device_generated_commands
|
||||
PFN_vkCmdProcessCommandsNVX CmdProcessCommandsNVX;
|
||||
PFN_vkCmdReserveSpaceForCommandsNVX CmdReserveSpaceForCommandsNVX;
|
||||
PFN_vkCreateIndirectCommandsLayoutNVX CreateIndirectCommandsLayoutNVX;
|
||||
PFN_vkDestroyIndirectCommandsLayoutNVX DestroyIndirectCommandsLayoutNVX;
|
||||
PFN_vkCreateObjectTableNVX CreateObjectTableNVX;
|
||||
PFN_vkDestroyObjectTableNVX DestroyObjectTableNVX;
|
||||
PFN_vkRegisterObjectsNVX RegisterObjectsNVX;
|
||||
PFN_vkUnregisterObjectsNVX UnregisterObjectsNVX;
|
||||
} VkLayerDispatchTable;
|
||||
|
||||
typedef struct VkLayerInstanceDispatchTable_ {
|
||||
PFN_vkGetInstanceProcAddr GetInstanceProcAddr;
|
||||
PFN_GetPhysicalDeviceProcAddr GetPhysicalDeviceProcAddr;
|
||||
PFN_vkDestroyInstance DestroyInstance;
|
||||
PFN_vkEnumeratePhysicalDevices EnumeratePhysicalDevices;
|
||||
PFN_vkGetPhysicalDeviceFeatures GetPhysicalDeviceFeatures;
|
||||
PFN_vkGetPhysicalDeviceImageFormatProperties
|
||||
GetPhysicalDeviceImageFormatProperties;
|
||||
PFN_vkGetPhysicalDeviceFormatProperties GetPhysicalDeviceFormatProperties;
|
||||
PFN_vkGetPhysicalDeviceSparseImageFormatProperties
|
||||
GetPhysicalDeviceSparseImageFormatProperties;
|
||||
PFN_vkGetPhysicalDeviceProperties GetPhysicalDeviceProperties;
|
||||
PFN_vkGetPhysicalDeviceQueueFamilyProperties
|
||||
GetPhysicalDeviceQueueFamilyProperties;
|
||||
PFN_vkGetPhysicalDeviceMemoryProperties GetPhysicalDeviceMemoryProperties;
|
||||
PFN_vkEnumerateDeviceExtensionProperties EnumerateDeviceExtensionProperties;
|
||||
PFN_vkEnumerateDeviceLayerProperties EnumerateDeviceLayerProperties;
|
||||
PFN_vkDestroySurfaceKHR DestroySurfaceKHR;
|
||||
PFN_vkGetPhysicalDeviceSurfaceSupportKHR GetPhysicalDeviceSurfaceSupportKHR;
|
||||
PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR
|
||||
GetPhysicalDeviceSurfaceCapabilitiesKHR;
|
||||
PFN_vkGetPhysicalDeviceSurfaceFormatsKHR GetPhysicalDeviceSurfaceFormatsKHR;
|
||||
PFN_vkGetPhysicalDeviceSurfacePresentModesKHR
|
||||
GetPhysicalDeviceSurfacePresentModesKHR;
|
||||
#ifdef VK_USE_PLATFORM_MIR_KHR
|
||||
PFN_vkCreateMirSurfaceKHR CreateMirSurfaceKHR;
|
||||
PFN_vkGetPhysicalDeviceMirPresentationSupportKHR
|
||||
GetPhysicalDeviceMirPresentationSupportKHR;
|
||||
#endif
|
||||
#ifdef VK_USE_PLATFORM_WAYLAND_KHR
|
||||
PFN_vkCreateWaylandSurfaceKHR CreateWaylandSurfaceKHR;
|
||||
PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR
|
||||
GetPhysicalDeviceWaylandPresentationSupportKHR;
|
||||
#endif
|
||||
#ifdef VK_USE_PLATFORM_WIN32_KHR
|
||||
PFN_vkCreateWin32SurfaceKHR CreateWin32SurfaceKHR;
|
||||
PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR
|
||||
GetPhysicalDeviceWin32PresentationSupportKHR;
|
||||
#endif
|
||||
#ifdef VK_USE_PLATFORM_XCB_KHR
|
||||
PFN_vkCreateXcbSurfaceKHR CreateXcbSurfaceKHR;
|
||||
PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR
|
||||
GetPhysicalDeviceXcbPresentationSupportKHR;
|
||||
#endif
|
||||
#ifdef VK_USE_PLATFORM_XLIB_KHR
|
||||
PFN_vkCreateXlibSurfaceKHR CreateXlibSurfaceKHR;
|
||||
PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR
|
||||
GetPhysicalDeviceXlibPresentationSupportKHR;
|
||||
#endif
|
||||
#ifdef VK_USE_PLATFORM_ANDROID_KHR
|
||||
PFN_vkCreateAndroidSurfaceKHR CreateAndroidSurfaceKHR;
|
||||
#endif
|
||||
PFN_vkGetPhysicalDeviceDisplayPropertiesKHR
|
||||
GetPhysicalDeviceDisplayPropertiesKHR;
|
||||
PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR
|
||||
GetPhysicalDeviceDisplayPlanePropertiesKHR;
|
||||
PFN_vkGetDisplayPlaneSupportedDisplaysKHR
|
||||
GetDisplayPlaneSupportedDisplaysKHR;
|
||||
PFN_vkGetDisplayModePropertiesKHR
|
||||
GetDisplayModePropertiesKHR;
|
||||
PFN_vkCreateDisplayModeKHR
|
||||
CreateDisplayModeKHR;
|
||||
PFN_vkGetDisplayPlaneCapabilitiesKHR
|
||||
GetDisplayPlaneCapabilitiesKHR;
|
||||
PFN_vkCreateDisplayPlaneSurfaceKHR
|
||||
CreateDisplayPlaneSurfaceKHR;
|
||||
// KHR_get_physical_device_properties2
|
||||
PFN_vkGetPhysicalDeviceFeatures2KHR GetPhysicalDeviceFeatures2KHR;
|
||||
PFN_vkGetPhysicalDeviceProperties2KHR GetPhysicalDeviceProperties2KHR;
|
||||
PFN_vkGetPhysicalDeviceFormatProperties2KHR
|
||||
GetPhysicalDeviceFormatProperties2KHR;
|
||||
PFN_vkGetPhysicalDeviceImageFormatProperties2KHR
|
||||
GetPhysicalDeviceImageFormatProperties2KHR;
|
||||
PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR
|
||||
GetPhysicalDeviceQueueFamilyProperties2KHR;
|
||||
PFN_vkGetPhysicalDeviceMemoryProperties2KHR
|
||||
GetPhysicalDeviceMemoryProperties2KHR;
|
||||
PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR
|
||||
GetPhysicalDeviceSparseImageFormatProperties2KHR;
|
||||
#ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT
|
||||
// EXT_acquire_xlib_display
|
||||
PFN_vkAcquireXlibDisplayEXT AcquireXlibDisplayEXT;
|
||||
PFN_vkGetRandROutputDisplayEXT GetRandROutputDisplayEXT;
|
||||
#endif
|
||||
// EXT_debug_report
|
||||
PFN_vkCreateDebugReportCallbackEXT CreateDebugReportCallbackEXT;
|
||||
PFN_vkDestroyDebugReportCallbackEXT DestroyDebugReportCallbackEXT;
|
||||
PFN_vkDebugReportMessageEXT DebugReportMessageEXT;
|
||||
// EXT_direct_mode_display
|
||||
PFN_vkReleaseDisplayEXT ReleaseDisplayEXT;
|
||||
// EXT_display_surface_counter
|
||||
PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT
|
||||
GetPhysicalDeviceSurfaceCapabilities2EXT;
|
||||
// NV_external_memory_capabilities
|
||||
PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV
|
||||
GetPhysicalDeviceExternalImageFormatPropertiesNV;
|
||||
// NVX_device_generated_commands (phys dev commands)
|
||||
PFN_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX
|
||||
GetPhysicalDeviceGeneratedCommandsPropertiesNVX;
|
||||
} VkLayerInstanceDispatchTable;
|
||||
|
||||
// ------------------------------------------------------------------------------------------------
|
||||
// CreateInstance and CreateDevice support structures
|
||||
|
||||
|
|
|
|||
403
external/vulkan/vk_layer_dispatch_table.h
vendored
Normal file
403
external/vulkan/vk_layer_dispatch_table.h
vendored
Normal file
|
|
@ -0,0 +1,403 @@
|
|||
// *** THIS FILE IS GENERATED - DO NOT EDIT ***
|
||||
// See loader_extension_generator.py for modifications
|
||||
|
||||
/*
|
||||
* Copyright (c) 2015-2017 The Khronos Group Inc.
|
||||
* Copyright (c) 2015-2017 Valve Corporation
|
||||
* Copyright (c) 2015-2017 LunarG, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
* Author: Mark Lobodzinski <mark@lunarg.com>
|
||||
* Author: Mark Young <marky@lunarg.com>
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_GetPhysicalDeviceProcAddr)(VkInstance instance, const char* pName);
|
||||
|
||||
// Instance function pointer dispatch table
|
||||
typedef struct VkLayerInstanceDispatchTable_ {
|
||||
// Manually add in GetPhysicalDeviceProcAddr entry
|
||||
PFN_GetPhysicalDeviceProcAddr GetPhysicalDeviceProcAddr;
|
||||
|
||||
// ---- Core 1_0 commands
|
||||
PFN_vkCreateInstance CreateInstance;
|
||||
PFN_vkDestroyInstance DestroyInstance;
|
||||
PFN_vkEnumeratePhysicalDevices EnumeratePhysicalDevices;
|
||||
PFN_vkGetPhysicalDeviceFeatures GetPhysicalDeviceFeatures;
|
||||
PFN_vkGetPhysicalDeviceFormatProperties GetPhysicalDeviceFormatProperties;
|
||||
PFN_vkGetPhysicalDeviceImageFormatProperties GetPhysicalDeviceImageFormatProperties;
|
||||
PFN_vkGetPhysicalDeviceProperties GetPhysicalDeviceProperties;
|
||||
PFN_vkGetPhysicalDeviceQueueFamilyProperties GetPhysicalDeviceQueueFamilyProperties;
|
||||
PFN_vkGetPhysicalDeviceMemoryProperties GetPhysicalDeviceMemoryProperties;
|
||||
PFN_vkGetInstanceProcAddr GetInstanceProcAddr;
|
||||
PFN_vkCreateDevice CreateDevice;
|
||||
PFN_vkEnumerateInstanceExtensionProperties EnumerateInstanceExtensionProperties;
|
||||
PFN_vkEnumerateDeviceExtensionProperties EnumerateDeviceExtensionProperties;
|
||||
PFN_vkEnumerateInstanceLayerProperties EnumerateInstanceLayerProperties;
|
||||
PFN_vkEnumerateDeviceLayerProperties EnumerateDeviceLayerProperties;
|
||||
PFN_vkGetPhysicalDeviceSparseImageFormatProperties GetPhysicalDeviceSparseImageFormatProperties;
|
||||
|
||||
// ---- VK_KHR_surface extension commands
|
||||
PFN_vkDestroySurfaceKHR DestroySurfaceKHR;
|
||||
PFN_vkGetPhysicalDeviceSurfaceSupportKHR GetPhysicalDeviceSurfaceSupportKHR;
|
||||
PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR GetPhysicalDeviceSurfaceCapabilitiesKHR;
|
||||
PFN_vkGetPhysicalDeviceSurfaceFormatsKHR GetPhysicalDeviceSurfaceFormatsKHR;
|
||||
PFN_vkGetPhysicalDeviceSurfacePresentModesKHR GetPhysicalDeviceSurfacePresentModesKHR;
|
||||
|
||||
// ---- VK_KHR_display extension commands
|
||||
PFN_vkGetPhysicalDeviceDisplayPropertiesKHR GetPhysicalDeviceDisplayPropertiesKHR;
|
||||
PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR GetPhysicalDeviceDisplayPlanePropertiesKHR;
|
||||
PFN_vkGetDisplayPlaneSupportedDisplaysKHR GetDisplayPlaneSupportedDisplaysKHR;
|
||||
PFN_vkGetDisplayModePropertiesKHR GetDisplayModePropertiesKHR;
|
||||
PFN_vkCreateDisplayModeKHR CreateDisplayModeKHR;
|
||||
PFN_vkGetDisplayPlaneCapabilitiesKHR GetDisplayPlaneCapabilitiesKHR;
|
||||
PFN_vkCreateDisplayPlaneSurfaceKHR CreateDisplayPlaneSurfaceKHR;
|
||||
|
||||
// ---- VK_KHR_xlib_surface extension commands
|
||||
#ifdef VK_USE_PLATFORM_XLIB_KHR
|
||||
PFN_vkCreateXlibSurfaceKHR CreateXlibSurfaceKHR;
|
||||
#endif // VK_USE_PLATFORM_XLIB_KHR
|
||||
#ifdef VK_USE_PLATFORM_XLIB_KHR
|
||||
PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR GetPhysicalDeviceXlibPresentationSupportKHR;
|
||||
#endif // VK_USE_PLATFORM_XLIB_KHR
|
||||
|
||||
// ---- VK_KHR_xcb_surface extension commands
|
||||
#ifdef VK_USE_PLATFORM_XCB_KHR
|
||||
PFN_vkCreateXcbSurfaceKHR CreateXcbSurfaceKHR;
|
||||
#endif // VK_USE_PLATFORM_XCB_KHR
|
||||
#ifdef VK_USE_PLATFORM_XCB_KHR
|
||||
PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR GetPhysicalDeviceXcbPresentationSupportKHR;
|
||||
#endif // VK_USE_PLATFORM_XCB_KHR
|
||||
|
||||
// ---- VK_KHR_wayland_surface extension commands
|
||||
#ifdef VK_USE_PLATFORM_WAYLAND_KHR
|
||||
PFN_vkCreateWaylandSurfaceKHR CreateWaylandSurfaceKHR;
|
||||
#endif // VK_USE_PLATFORM_WAYLAND_KHR
|
||||
#ifdef VK_USE_PLATFORM_WAYLAND_KHR
|
||||
PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR GetPhysicalDeviceWaylandPresentationSupportKHR;
|
||||
#endif // VK_USE_PLATFORM_WAYLAND_KHR
|
||||
|
||||
// ---- VK_KHR_mir_surface extension commands
|
||||
#ifdef VK_USE_PLATFORM_MIR_KHR
|
||||
PFN_vkCreateMirSurfaceKHR CreateMirSurfaceKHR;
|
||||
#endif // VK_USE_PLATFORM_MIR_KHR
|
||||
#ifdef VK_USE_PLATFORM_MIR_KHR
|
||||
PFN_vkGetPhysicalDeviceMirPresentationSupportKHR GetPhysicalDeviceMirPresentationSupportKHR;
|
||||
#endif // VK_USE_PLATFORM_MIR_KHR
|
||||
|
||||
// ---- VK_KHR_android_surface extension commands
|
||||
#ifdef VK_USE_PLATFORM_ANDROID_KHR
|
||||
PFN_vkCreateAndroidSurfaceKHR CreateAndroidSurfaceKHR;
|
||||
#endif // VK_USE_PLATFORM_ANDROID_KHR
|
||||
|
||||
// ---- VK_KHR_win32_surface extension commands
|
||||
#ifdef VK_USE_PLATFORM_WIN32_KHR
|
||||
PFN_vkCreateWin32SurfaceKHR CreateWin32SurfaceKHR;
|
||||
#endif // VK_USE_PLATFORM_WIN32_KHR
|
||||
#ifdef VK_USE_PLATFORM_WIN32_KHR
|
||||
PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR GetPhysicalDeviceWin32PresentationSupportKHR;
|
||||
#endif // VK_USE_PLATFORM_WIN32_KHR
|
||||
|
||||
// ---- VK_KHR_get_physical_device_properties2 extension commands
|
||||
PFN_vkGetPhysicalDeviceFeatures2KHR GetPhysicalDeviceFeatures2KHR;
|
||||
PFN_vkGetPhysicalDeviceProperties2KHR GetPhysicalDeviceProperties2KHR;
|
||||
PFN_vkGetPhysicalDeviceFormatProperties2KHR GetPhysicalDeviceFormatProperties2KHR;
|
||||
PFN_vkGetPhysicalDeviceImageFormatProperties2KHR GetPhysicalDeviceImageFormatProperties2KHR;
|
||||
PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR GetPhysicalDeviceQueueFamilyProperties2KHR;
|
||||
PFN_vkGetPhysicalDeviceMemoryProperties2KHR GetPhysicalDeviceMemoryProperties2KHR;
|
||||
PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR GetPhysicalDeviceSparseImageFormatProperties2KHR;
|
||||
|
||||
// ---- VK_EXT_debug_report extension commands
|
||||
PFN_vkCreateDebugReportCallbackEXT CreateDebugReportCallbackEXT;
|
||||
PFN_vkDestroyDebugReportCallbackEXT DestroyDebugReportCallbackEXT;
|
||||
PFN_vkDebugReportMessageEXT DebugReportMessageEXT;
|
||||
|
||||
// ---- VK_NV_external_memory_capabilities extension commands
|
||||
PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV GetPhysicalDeviceExternalImageFormatPropertiesNV;
|
||||
|
||||
// ---- VK_KHX_device_group extension commands
|
||||
PFN_vkGetPhysicalDevicePresentRectanglesKHX GetPhysicalDevicePresentRectanglesKHX;
|
||||
|
||||
// ---- VK_NN_vi_surface extension commands
|
||||
#ifdef VK_USE_PLATFORM_VI_NN
|
||||
PFN_vkCreateViSurfaceNN CreateViSurfaceNN;
|
||||
#endif // VK_USE_PLATFORM_VI_NN
|
||||
|
||||
// ---- VK_KHX_device_group_creation extension commands
|
||||
PFN_vkEnumeratePhysicalDeviceGroupsKHX EnumeratePhysicalDeviceGroupsKHX;
|
||||
|
||||
// ---- VK_KHX_external_memory_capabilities extension commands
|
||||
PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHX GetPhysicalDeviceExternalBufferPropertiesKHX;
|
||||
|
||||
// ---- VK_KHX_external_semaphore_capabilities extension commands
|
||||
PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHX GetPhysicalDeviceExternalSemaphorePropertiesKHX;
|
||||
|
||||
// ---- VK_NVX_device_generated_commands extension commands
|
||||
PFN_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX GetPhysicalDeviceGeneratedCommandsPropertiesNVX;
|
||||
|
||||
// ---- VK_EXT_direct_mode_display extension commands
|
||||
PFN_vkReleaseDisplayEXT ReleaseDisplayEXT;
|
||||
|
||||
// ---- VK_EXT_acquire_xlib_display extension commands
|
||||
#ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT
|
||||
PFN_vkAcquireXlibDisplayEXT AcquireXlibDisplayEXT;
|
||||
#endif // VK_USE_PLATFORM_XLIB_XRANDR_EXT
|
||||
#ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT
|
||||
PFN_vkGetRandROutputDisplayEXT GetRandROutputDisplayEXT;
|
||||
#endif // VK_USE_PLATFORM_XLIB_XRANDR_EXT
|
||||
|
||||
// ---- VK_EXT_display_surface_counter extension commands
|
||||
PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT GetPhysicalDeviceSurfaceCapabilities2EXT;
|
||||
|
||||
// ---- VK_MVK_ios_surface extension commands
|
||||
#ifdef VK_USE_PLATFORM_IOS_MVK
|
||||
PFN_vkCreateIOSSurfaceMVK CreateIOSSurfaceMVK;
|
||||
#endif // VK_USE_PLATFORM_IOS_MVK
|
||||
|
||||
// ---- VK_MVK_macos_surface extension commands
|
||||
#ifdef VK_USE_PLATFORM_MACOS_MVK
|
||||
PFN_vkCreateMacOSSurfaceMVK CreateMacOSSurfaceMVK;
|
||||
#endif // VK_USE_PLATFORM_MACOS_MVK
|
||||
} VkLayerInstanceDispatchTable;
|
||||
|
||||
// Device function pointer dispatch table
|
||||
typedef struct VkLayerDispatchTable_ {
|
||||
|
||||
// ---- Core 1_0 commands
|
||||
PFN_vkGetDeviceProcAddr GetDeviceProcAddr;
|
||||
PFN_vkDestroyDevice DestroyDevice;
|
||||
PFN_vkGetDeviceQueue GetDeviceQueue;
|
||||
PFN_vkQueueSubmit QueueSubmit;
|
||||
PFN_vkQueueWaitIdle QueueWaitIdle;
|
||||
PFN_vkDeviceWaitIdle DeviceWaitIdle;
|
||||
PFN_vkAllocateMemory AllocateMemory;
|
||||
PFN_vkFreeMemory FreeMemory;
|
||||
PFN_vkMapMemory MapMemory;
|
||||
PFN_vkUnmapMemory UnmapMemory;
|
||||
PFN_vkFlushMappedMemoryRanges FlushMappedMemoryRanges;
|
||||
PFN_vkInvalidateMappedMemoryRanges InvalidateMappedMemoryRanges;
|
||||
PFN_vkGetDeviceMemoryCommitment GetDeviceMemoryCommitment;
|
||||
PFN_vkBindBufferMemory BindBufferMemory;
|
||||
PFN_vkBindImageMemory BindImageMemory;
|
||||
PFN_vkGetBufferMemoryRequirements GetBufferMemoryRequirements;
|
||||
PFN_vkGetImageMemoryRequirements GetImageMemoryRequirements;
|
||||
PFN_vkGetImageSparseMemoryRequirements GetImageSparseMemoryRequirements;
|
||||
PFN_vkQueueBindSparse QueueBindSparse;
|
||||
PFN_vkCreateFence CreateFence;
|
||||
PFN_vkDestroyFence DestroyFence;
|
||||
PFN_vkResetFences ResetFences;
|
||||
PFN_vkGetFenceStatus GetFenceStatus;
|
||||
PFN_vkWaitForFences WaitForFences;
|
||||
PFN_vkCreateSemaphore CreateSemaphore;
|
||||
PFN_vkDestroySemaphore DestroySemaphore;
|
||||
PFN_vkCreateEvent CreateEvent;
|
||||
PFN_vkDestroyEvent DestroyEvent;
|
||||
PFN_vkGetEventStatus GetEventStatus;
|
||||
PFN_vkSetEvent SetEvent;
|
||||
PFN_vkResetEvent ResetEvent;
|
||||
PFN_vkCreateQueryPool CreateQueryPool;
|
||||
PFN_vkDestroyQueryPool DestroyQueryPool;
|
||||
PFN_vkGetQueryPoolResults GetQueryPoolResults;
|
||||
PFN_vkCreateBuffer CreateBuffer;
|
||||
PFN_vkDestroyBuffer DestroyBuffer;
|
||||
PFN_vkCreateBufferView CreateBufferView;
|
||||
PFN_vkDestroyBufferView DestroyBufferView;
|
||||
PFN_vkCreateImage CreateImage;
|
||||
PFN_vkDestroyImage DestroyImage;
|
||||
PFN_vkGetImageSubresourceLayout GetImageSubresourceLayout;
|
||||
PFN_vkCreateImageView CreateImageView;
|
||||
PFN_vkDestroyImageView DestroyImageView;
|
||||
PFN_vkCreateShaderModule CreateShaderModule;
|
||||
PFN_vkDestroyShaderModule DestroyShaderModule;
|
||||
PFN_vkCreatePipelineCache CreatePipelineCache;
|
||||
PFN_vkDestroyPipelineCache DestroyPipelineCache;
|
||||
PFN_vkGetPipelineCacheData GetPipelineCacheData;
|
||||
PFN_vkMergePipelineCaches MergePipelineCaches;
|
||||
PFN_vkCreateGraphicsPipelines CreateGraphicsPipelines;
|
||||
PFN_vkCreateComputePipelines CreateComputePipelines;
|
||||
PFN_vkDestroyPipeline DestroyPipeline;
|
||||
PFN_vkCreatePipelineLayout CreatePipelineLayout;
|
||||
PFN_vkDestroyPipelineLayout DestroyPipelineLayout;
|
||||
PFN_vkCreateSampler CreateSampler;
|
||||
PFN_vkDestroySampler DestroySampler;
|
||||
PFN_vkCreateDescriptorSetLayout CreateDescriptorSetLayout;
|
||||
PFN_vkDestroyDescriptorSetLayout DestroyDescriptorSetLayout;
|
||||
PFN_vkCreateDescriptorPool CreateDescriptorPool;
|
||||
PFN_vkDestroyDescriptorPool DestroyDescriptorPool;
|
||||
PFN_vkResetDescriptorPool ResetDescriptorPool;
|
||||
PFN_vkAllocateDescriptorSets AllocateDescriptorSets;
|
||||
PFN_vkFreeDescriptorSets FreeDescriptorSets;
|
||||
PFN_vkUpdateDescriptorSets UpdateDescriptorSets;
|
||||
PFN_vkCreateFramebuffer CreateFramebuffer;
|
||||
PFN_vkDestroyFramebuffer DestroyFramebuffer;
|
||||
PFN_vkCreateRenderPass CreateRenderPass;
|
||||
PFN_vkDestroyRenderPass DestroyRenderPass;
|
||||
PFN_vkGetRenderAreaGranularity GetRenderAreaGranularity;
|
||||
PFN_vkCreateCommandPool CreateCommandPool;
|
||||
PFN_vkDestroyCommandPool DestroyCommandPool;
|
||||
PFN_vkResetCommandPool ResetCommandPool;
|
||||
PFN_vkAllocateCommandBuffers AllocateCommandBuffers;
|
||||
PFN_vkFreeCommandBuffers FreeCommandBuffers;
|
||||
PFN_vkBeginCommandBuffer BeginCommandBuffer;
|
||||
PFN_vkEndCommandBuffer EndCommandBuffer;
|
||||
PFN_vkResetCommandBuffer ResetCommandBuffer;
|
||||
PFN_vkCmdBindPipeline CmdBindPipeline;
|
||||
PFN_vkCmdSetViewport CmdSetViewport;
|
||||
PFN_vkCmdSetScissor CmdSetScissor;
|
||||
PFN_vkCmdSetLineWidth CmdSetLineWidth;
|
||||
PFN_vkCmdSetDepthBias CmdSetDepthBias;
|
||||
PFN_vkCmdSetBlendConstants CmdSetBlendConstants;
|
||||
PFN_vkCmdSetDepthBounds CmdSetDepthBounds;
|
||||
PFN_vkCmdSetStencilCompareMask CmdSetStencilCompareMask;
|
||||
PFN_vkCmdSetStencilWriteMask CmdSetStencilWriteMask;
|
||||
PFN_vkCmdSetStencilReference CmdSetStencilReference;
|
||||
PFN_vkCmdBindDescriptorSets CmdBindDescriptorSets;
|
||||
PFN_vkCmdBindIndexBuffer CmdBindIndexBuffer;
|
||||
PFN_vkCmdBindVertexBuffers CmdBindVertexBuffers;
|
||||
PFN_vkCmdDraw CmdDraw;
|
||||
PFN_vkCmdDrawIndexed CmdDrawIndexed;
|
||||
PFN_vkCmdDrawIndirect CmdDrawIndirect;
|
||||
PFN_vkCmdDrawIndexedIndirect CmdDrawIndexedIndirect;
|
||||
PFN_vkCmdDispatch CmdDispatch;
|
||||
PFN_vkCmdDispatchIndirect CmdDispatchIndirect;
|
||||
PFN_vkCmdCopyBuffer CmdCopyBuffer;
|
||||
PFN_vkCmdCopyImage CmdCopyImage;
|
||||
PFN_vkCmdBlitImage CmdBlitImage;
|
||||
PFN_vkCmdCopyBufferToImage CmdCopyBufferToImage;
|
||||
PFN_vkCmdCopyImageToBuffer CmdCopyImageToBuffer;
|
||||
PFN_vkCmdUpdateBuffer CmdUpdateBuffer;
|
||||
PFN_vkCmdFillBuffer CmdFillBuffer;
|
||||
PFN_vkCmdClearColorImage CmdClearColorImage;
|
||||
PFN_vkCmdClearDepthStencilImage CmdClearDepthStencilImage;
|
||||
PFN_vkCmdClearAttachments CmdClearAttachments;
|
||||
PFN_vkCmdResolveImage CmdResolveImage;
|
||||
PFN_vkCmdSetEvent CmdSetEvent;
|
||||
PFN_vkCmdResetEvent CmdResetEvent;
|
||||
PFN_vkCmdWaitEvents CmdWaitEvents;
|
||||
PFN_vkCmdPipelineBarrier CmdPipelineBarrier;
|
||||
PFN_vkCmdBeginQuery CmdBeginQuery;
|
||||
PFN_vkCmdEndQuery CmdEndQuery;
|
||||
PFN_vkCmdResetQueryPool CmdResetQueryPool;
|
||||
PFN_vkCmdWriteTimestamp CmdWriteTimestamp;
|
||||
PFN_vkCmdCopyQueryPoolResults CmdCopyQueryPoolResults;
|
||||
PFN_vkCmdPushConstants CmdPushConstants;
|
||||
PFN_vkCmdBeginRenderPass CmdBeginRenderPass;
|
||||
PFN_vkCmdNextSubpass CmdNextSubpass;
|
||||
PFN_vkCmdEndRenderPass CmdEndRenderPass;
|
||||
PFN_vkCmdExecuteCommands CmdExecuteCommands;
|
||||
|
||||
// ---- VK_KHR_swapchain extension commands
|
||||
PFN_vkCreateSwapchainKHR CreateSwapchainKHR;
|
||||
PFN_vkDestroySwapchainKHR DestroySwapchainKHR;
|
||||
PFN_vkGetSwapchainImagesKHR GetSwapchainImagesKHR;
|
||||
PFN_vkAcquireNextImageKHR AcquireNextImageKHR;
|
||||
PFN_vkQueuePresentKHR QueuePresentKHR;
|
||||
|
||||
// ---- VK_KHR_display_swapchain extension commands
|
||||
PFN_vkCreateSharedSwapchainsKHR CreateSharedSwapchainsKHR;
|
||||
|
||||
// ---- VK_KHR_maintenance1 extension commands
|
||||
PFN_vkTrimCommandPoolKHR TrimCommandPoolKHR;
|
||||
|
||||
// ---- VK_KHR_push_descriptor extension commands
|
||||
PFN_vkCmdPushDescriptorSetKHR CmdPushDescriptorSetKHR;
|
||||
|
||||
// ---- VK_KHR_descriptor_update_template extension commands
|
||||
PFN_vkCreateDescriptorUpdateTemplateKHR CreateDescriptorUpdateTemplateKHR;
|
||||
PFN_vkDestroyDescriptorUpdateTemplateKHR DestroyDescriptorUpdateTemplateKHR;
|
||||
PFN_vkUpdateDescriptorSetWithTemplateKHR UpdateDescriptorSetWithTemplateKHR;
|
||||
PFN_vkCmdPushDescriptorSetWithTemplateKHR CmdPushDescriptorSetWithTemplateKHR;
|
||||
|
||||
// ---- VK_EXT_debug_marker extension commands
|
||||
PFN_vkDebugMarkerSetObjectTagEXT DebugMarkerSetObjectTagEXT;
|
||||
PFN_vkDebugMarkerSetObjectNameEXT DebugMarkerSetObjectNameEXT;
|
||||
PFN_vkCmdDebugMarkerBeginEXT CmdDebugMarkerBeginEXT;
|
||||
PFN_vkCmdDebugMarkerEndEXT CmdDebugMarkerEndEXT;
|
||||
PFN_vkCmdDebugMarkerInsertEXT CmdDebugMarkerInsertEXT;
|
||||
|
||||
// ---- VK_AMD_draw_indirect_count extension commands
|
||||
PFN_vkCmdDrawIndirectCountAMD CmdDrawIndirectCountAMD;
|
||||
PFN_vkCmdDrawIndexedIndirectCountAMD CmdDrawIndexedIndirectCountAMD;
|
||||
|
||||
// ---- VK_NV_external_memory_win32 extension commands
|
||||
#ifdef VK_USE_PLATFORM_WIN32_KHR
|
||||
PFN_vkGetMemoryWin32HandleNV GetMemoryWin32HandleNV;
|
||||
#endif // VK_USE_PLATFORM_WIN32_KHR
|
||||
|
||||
// ---- VK_KHX_device_group extension commands
|
||||
PFN_vkGetDeviceGroupPeerMemoryFeaturesKHX GetDeviceGroupPeerMemoryFeaturesKHX;
|
||||
PFN_vkBindBufferMemory2KHX BindBufferMemory2KHX;
|
||||
PFN_vkBindImageMemory2KHX BindImageMemory2KHX;
|
||||
PFN_vkCmdSetDeviceMaskKHX CmdSetDeviceMaskKHX;
|
||||
PFN_vkGetDeviceGroupPresentCapabilitiesKHX GetDeviceGroupPresentCapabilitiesKHX;
|
||||
PFN_vkGetDeviceGroupSurfacePresentModesKHX GetDeviceGroupSurfacePresentModesKHX;
|
||||
PFN_vkAcquireNextImage2KHX AcquireNextImage2KHX;
|
||||
PFN_vkCmdDispatchBaseKHX CmdDispatchBaseKHX;
|
||||
|
||||
// ---- VK_KHX_external_memory_win32 extension commands
|
||||
#ifdef VK_USE_PLATFORM_WIN32_KHX
|
||||
PFN_vkGetMemoryWin32HandleKHX GetMemoryWin32HandleKHX;
|
||||
#endif // VK_USE_PLATFORM_WIN32_KHX
|
||||
#ifdef VK_USE_PLATFORM_WIN32_KHX
|
||||
PFN_vkGetMemoryWin32HandlePropertiesKHX GetMemoryWin32HandlePropertiesKHX;
|
||||
#endif // VK_USE_PLATFORM_WIN32_KHX
|
||||
|
||||
// ---- VK_KHX_external_memory_fd extension commands
|
||||
PFN_vkGetMemoryFdKHX GetMemoryFdKHX;
|
||||
PFN_vkGetMemoryFdPropertiesKHX GetMemoryFdPropertiesKHX;
|
||||
|
||||
// ---- VK_KHX_external_semaphore_win32 extension commands
|
||||
#ifdef VK_USE_PLATFORM_WIN32_KHX
|
||||
PFN_vkImportSemaphoreWin32HandleKHX ImportSemaphoreWin32HandleKHX;
|
||||
#endif // VK_USE_PLATFORM_WIN32_KHX
|
||||
#ifdef VK_USE_PLATFORM_WIN32_KHX
|
||||
PFN_vkGetSemaphoreWin32HandleKHX GetSemaphoreWin32HandleKHX;
|
||||
#endif // VK_USE_PLATFORM_WIN32_KHX
|
||||
|
||||
// ---- VK_KHX_external_semaphore_fd extension commands
|
||||
PFN_vkImportSemaphoreFdKHX ImportSemaphoreFdKHX;
|
||||
PFN_vkGetSemaphoreFdKHX GetSemaphoreFdKHX;
|
||||
|
||||
// ---- VK_NVX_device_generated_commands extension commands
|
||||
PFN_vkCmdProcessCommandsNVX CmdProcessCommandsNVX;
|
||||
PFN_vkCmdReserveSpaceForCommandsNVX CmdReserveSpaceForCommandsNVX;
|
||||
PFN_vkCreateIndirectCommandsLayoutNVX CreateIndirectCommandsLayoutNVX;
|
||||
PFN_vkDestroyIndirectCommandsLayoutNVX DestroyIndirectCommandsLayoutNVX;
|
||||
PFN_vkCreateObjectTableNVX CreateObjectTableNVX;
|
||||
PFN_vkDestroyObjectTableNVX DestroyObjectTableNVX;
|
||||
PFN_vkRegisterObjectsNVX RegisterObjectsNVX;
|
||||
PFN_vkUnregisterObjectsNVX UnregisterObjectsNVX;
|
||||
|
||||
// ---- VK_NV_clip_space_w_scaling extension commands
|
||||
PFN_vkCmdSetViewportWScalingNV CmdSetViewportWScalingNV;
|
||||
|
||||
// ---- VK_EXT_display_control extension commands
|
||||
PFN_vkDisplayPowerControlEXT DisplayPowerControlEXT;
|
||||
PFN_vkRegisterDeviceEventEXT RegisterDeviceEventEXT;
|
||||
PFN_vkRegisterDisplayEventEXT RegisterDisplayEventEXT;
|
||||
PFN_vkGetSwapchainCounterEXT GetSwapchainCounterEXT;
|
||||
|
||||
// ---- VK_GOOGLE_display_timing extension commands
|
||||
PFN_vkGetRefreshCycleDurationGOOGLE GetRefreshCycleDurationGOOGLE;
|
||||
PFN_vkGetPastPresentationTimingGOOGLE GetPastPresentationTimingGOOGLE;
|
||||
|
||||
// ---- VK_EXT_discard_rectangles extension commands
|
||||
PFN_vkCmdSetDiscardRectangleEXT CmdSetDiscardRectangleEXT;
|
||||
|
||||
// ---- VK_EXT_hdr_metadata extension commands
|
||||
PFN_vkSetHdrMetadataEXT SetHdrMetadataEXT;
|
||||
} VkLayerDispatchTable;
|
||||
|
||||
|
||||
171
external/vulkan/vulkan.h
vendored
171
external/vulkan/vulkan.h
vendored
|
|
@ -43,7 +43,7 @@ extern "C" {
|
|||
#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff)
|
||||
#define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff)
|
||||
// Version of this file
|
||||
#define VK_HEADER_VERSION 42
|
||||
#define VK_HEADER_VERSION 46
|
||||
|
||||
|
||||
#define VK_NULL_HANDLE 0
|
||||
|
|
@ -281,6 +281,7 @@ typedef enum VkStructureType {
|
|||
VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHX = 1000078002,
|
||||
VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHX = 1000079000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000,
|
||||
VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000,
|
||||
VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = 1000085000,
|
||||
VK_STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX = 1000086000,
|
||||
VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX = 1000086001,
|
||||
|
|
@ -294,10 +295,12 @@ typedef enum VkStructureType {
|
|||
VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001,
|
||||
VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002,
|
||||
VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003,
|
||||
VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000,
|
||||
VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000,
|
||||
VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001,
|
||||
VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000,
|
||||
VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000,
|
||||
VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000,
|
||||
VK_STRUCTURE_TYPE_BEGIN_RANGE = VK_STRUCTURE_TYPE_APPLICATION_INFO,
|
||||
|
|
@ -3296,6 +3299,19 @@ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)
|
|||
|
||||
typedef enum VkColorSpaceKHR {
|
||||
VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0,
|
||||
VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001,
|
||||
VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002,
|
||||
VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = 1000104003,
|
||||
VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004,
|
||||
VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005,
|
||||
VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006,
|
||||
VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007,
|
||||
VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008,
|
||||
VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009,
|
||||
VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010,
|
||||
VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011,
|
||||
VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012,
|
||||
VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013,
|
||||
VK_COLOR_SPACE_BEGIN_RANGE_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
|
||||
VK_COLOR_SPACE_END_RANGE_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
|
||||
VK_COLOR_SPACE_RANGE_SIZE_KHR = (VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - VK_COLOR_SPACE_SRGB_NONLINEAR_KHR + 1),
|
||||
|
|
@ -3703,7 +3719,7 @@ VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceXcbPresentationSupportKHR(
|
|||
#define VK_KHR_wayland_surface 1
|
||||
#include <wayland-client.h>
|
||||
|
||||
#define VK_KHR_WAYLAND_SURFACE_SPEC_VERSION 5
|
||||
#define VK_KHR_WAYLAND_SURFACE_SPEC_VERSION 6
|
||||
#define VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME "VK_KHR_wayland_surface"
|
||||
|
||||
typedef VkFlags VkWaylandSurfaceCreateFlagsKHR;
|
||||
|
|
@ -3989,6 +4005,30 @@ VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR(
|
|||
const VkWriteDescriptorSet* pDescriptorWrites);
|
||||
#endif
|
||||
|
||||
#define VK_KHR_incremental_present 1
|
||||
#define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 1
|
||||
#define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present"
|
||||
|
||||
typedef struct VkRectLayerKHR {
|
||||
VkOffset2D offset;
|
||||
VkExtent2D extent;
|
||||
uint32_t layer;
|
||||
} VkRectLayerKHR;
|
||||
|
||||
typedef struct VkPresentRegionKHR {
|
||||
uint32_t rectangleCount;
|
||||
const VkRectLayerKHR* pRectangles;
|
||||
} VkPresentRegionKHR;
|
||||
|
||||
typedef struct VkPresentRegionsKHR {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
uint32_t swapchainCount;
|
||||
const VkPresentRegionKHR* pRegions;
|
||||
} VkPresentRegionsKHR;
|
||||
|
||||
|
||||
|
||||
#define VK_KHR_descriptor_update_template 1
|
||||
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplateKHR)
|
||||
|
||||
|
|
@ -4064,7 +4104,7 @@ VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR(
|
|||
#define VK_EXT_debug_report 1
|
||||
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)
|
||||
|
||||
#define VK_EXT_DEBUG_REPORT_SPEC_VERSION 5
|
||||
#define VK_EXT_DEBUG_REPORT_SPEC_VERSION 6
|
||||
#define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report"
|
||||
#define VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT
|
||||
|
||||
|
|
@ -4103,6 +4143,7 @@ typedef enum VkDebugReportObjectTypeEXT {
|
|||
VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30,
|
||||
VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT = 31,
|
||||
VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT = 32,
|
||||
VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = 1000085000,
|
||||
VK_DEBUG_REPORT_OBJECT_TYPE_BEGIN_RANGE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT,
|
||||
VK_DEBUG_REPORT_OBJECT_TYPE_END_RANGE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT,
|
||||
VK_DEBUG_REPORT_OBJECT_TYPE_RANGE_SIZE_EXT = (VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT - VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT + 1),
|
||||
|
|
@ -4759,7 +4800,7 @@ VKAPI_ATTR VkResult VKAPI_CALL vkCreateViSurfaceNN(
|
|||
|
||||
typedef struct VkPhysicalDeviceGroupPropertiesKHX {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
void* pNext;
|
||||
uint32_t physicalDeviceCount;
|
||||
VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE_KHX];
|
||||
VkBool32 subsetAllocation;
|
||||
|
|
@ -4849,47 +4890,14 @@ typedef struct VkPhysicalDeviceIDPropertiesKHX {
|
|||
VkBool32 deviceLUIDValid;
|
||||
} VkPhysicalDeviceIDPropertiesKHX;
|
||||
|
||||
typedef struct VkPhysicalDeviceProperties2KHX {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkPhysicalDeviceProperties properties;
|
||||
} VkPhysicalDeviceProperties2KHX;
|
||||
|
||||
typedef struct VkImageFormatProperties2KHX {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkImageFormatProperties imageFormatProperties;
|
||||
} VkImageFormatProperties2KHX;
|
||||
|
||||
typedef struct VkPhysicalDeviceImageFormatInfo2KHX {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
VkFormat format;
|
||||
VkImageType type;
|
||||
VkImageTiling tiling;
|
||||
VkImageUsageFlags usage;
|
||||
VkImageCreateFlags flags;
|
||||
} VkPhysicalDeviceImageFormatInfo2KHX;
|
||||
|
||||
|
||||
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHX)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfoKHX* pExternalBufferInfo, VkExternalBufferPropertiesKHX* pExternalBufferProperties);
|
||||
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHX)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2KHX* pProperties);
|
||||
typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHX)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2KHX* pImageFormatInfo, VkImageFormatProperties2KHX* pImageFormatProperties);
|
||||
|
||||
#ifndef VK_NO_PROTOTYPES
|
||||
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHX(
|
||||
VkPhysicalDevice physicalDevice,
|
||||
const VkPhysicalDeviceExternalBufferInfoKHX* pExternalBufferInfo,
|
||||
VkExternalBufferPropertiesKHX* pExternalBufferProperties);
|
||||
|
||||
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHX(
|
||||
VkPhysicalDevice physicalDevice,
|
||||
VkPhysicalDeviceProperties2KHX* pProperties);
|
||||
|
||||
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHX(
|
||||
VkPhysicalDevice physicalDevice,
|
||||
const VkPhysicalDeviceImageFormatInfo2KHX* pImageFormatInfo,
|
||||
VkImageFormatProperties2KHX* pImageFormatProperties);
|
||||
#endif
|
||||
|
||||
#define VK_KHX_external_memory 1
|
||||
|
|
@ -4917,7 +4925,7 @@ typedef struct VkExportMemoryAllocateInfoKHX {
|
|||
|
||||
|
||||
|
||||
#ifdef VK_USE_PLATFORM_WIN32_KHR
|
||||
#ifdef VK_USE_PLATFORM_WIN32_KHX
|
||||
#define VK_KHX_external_memory_win32 1
|
||||
#define VK_KHX_EXTERNAL_MEMORY_WIN32_SPEC_VERSION 1
|
||||
#define VK_KHX_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME "VK_KHX_external_memory_win32"
|
||||
|
|
@ -4960,7 +4968,7 @@ VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryWin32HandlePropertiesKHX(
|
|||
HANDLE handle,
|
||||
VkMemoryWin32HandlePropertiesKHX* pMemoryWin32HandleProperties);
|
||||
#endif
|
||||
#endif /* VK_USE_PLATFORM_WIN32_KHR */
|
||||
#endif /* VK_USE_PLATFORM_WIN32_KHX */
|
||||
|
||||
#define VK_KHX_external_memory_fd 1
|
||||
#define VK_KHX_EXTERNAL_MEMORY_FD_SPEC_VERSION 1
|
||||
|
|
@ -5565,6 +5573,51 @@ VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT(
|
|||
uint64_t* pCounterValue);
|
||||
#endif
|
||||
|
||||
#define VK_GOOGLE_display_timing 1
|
||||
#define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1
|
||||
#define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing"
|
||||
|
||||
typedef struct VkRefreshCycleDurationGOOGLE {
|
||||
uint64_t refreshDuration;
|
||||
} VkRefreshCycleDurationGOOGLE;
|
||||
|
||||
typedef struct VkPastPresentationTimingGOOGLE {
|
||||
uint32_t presentID;
|
||||
uint64_t desiredPresentTime;
|
||||
uint64_t actualPresentTime;
|
||||
uint64_t earliestPresentTime;
|
||||
uint64_t presentMargin;
|
||||
} VkPastPresentationTimingGOOGLE;
|
||||
|
||||
typedef struct VkPresentTimeGOOGLE {
|
||||
uint32_t presentID;
|
||||
uint64_t desiredPresentTime;
|
||||
} VkPresentTimeGOOGLE;
|
||||
|
||||
typedef struct VkPresentTimesInfoGOOGLE {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
uint32_t swapchainCount;
|
||||
const VkPresentTimeGOOGLE* pTimes;
|
||||
} VkPresentTimesInfoGOOGLE;
|
||||
|
||||
|
||||
typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
|
||||
typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings);
|
||||
|
||||
#ifndef VK_NO_PROTOTYPES
|
||||
VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE(
|
||||
VkDevice device,
|
||||
VkSwapchainKHR swapchain,
|
||||
VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
|
||||
|
||||
VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE(
|
||||
VkDevice device,
|
||||
VkSwapchainKHR swapchain,
|
||||
uint32_t* pPresentationTimingCount,
|
||||
VkPastPresentationTimingGOOGLE* pPresentationTimings);
|
||||
#endif
|
||||
|
||||
#define VK_NV_sample_mask_override_coverage 1
|
||||
#define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1
|
||||
#define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage"
|
||||
|
|
@ -5649,7 +5702,7 @@ typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT;
|
|||
|
||||
typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
void* pNext;
|
||||
uint32_t maxDiscardRectangles;
|
||||
} VkPhysicalDeviceDiscardRectanglePropertiesEXT;
|
||||
|
||||
|
|
@ -5673,6 +5726,44 @@ VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT(
|
|||
const VkRect2D* pDiscardRectangles);
|
||||
#endif
|
||||
|
||||
#define VK_EXT_swapchain_colorspace 1
|
||||
#define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 2
|
||||
#define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace"
|
||||
|
||||
|
||||
#define VK_EXT_hdr_metadata 1
|
||||
#define VK_EXT_HDR_METADATA_SPEC_VERSION 1
|
||||
#define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata"
|
||||
|
||||
typedef struct VkXYColorEXT {
|
||||
float x;
|
||||
float y;
|
||||
} VkXYColorEXT;
|
||||
|
||||
typedef struct VkHdrMetadataEXT {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
VkXYColorEXT displayPrimaryRed;
|
||||
VkXYColorEXT displayPrimaryGreen;
|
||||
VkXYColorEXT displayPrimaryBlue;
|
||||
VkXYColorEXT whitePoint;
|
||||
float maxLuminance;
|
||||
float minLuminance;
|
||||
float maxContentLightLevel;
|
||||
float maxFrameAverageLightLevel;
|
||||
} VkHdrMetadataEXT;
|
||||
|
||||
|
||||
typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, uint32_t swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata);
|
||||
|
||||
#ifndef VK_NO_PROTOTYPES
|
||||
VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT(
|
||||
VkDevice device,
|
||||
uint32_t swapchainCount,
|
||||
const VkSwapchainKHR* pSwapchains,
|
||||
const VkHdrMetadataEXT* pMetadata);
|
||||
#endif
|
||||
|
||||
#ifdef VK_USE_PLATFORM_IOS_MVK
|
||||
#define VK_MVK_ios_surface 1
|
||||
#define VK_MVK_IOS_SURFACE_SPEC_VERSION 2
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue