Add support for VK_KHR_portability_subset extension.
Remove support for VK_EXTX_portability_subset extension.
This commit is contained in:
parent
122c15b696
commit
76828818ce
@ -273,6 +273,7 @@ In addition to core *Vulkan* functionality, **MoltenVK** also supports the foll
|
|||||||
- `VK_KHR_maintenance2`
|
- `VK_KHR_maintenance2`
|
||||||
- `VK_KHR_maintenance3`
|
- `VK_KHR_maintenance3`
|
||||||
- `VK_KHR_multiview`
|
- `VK_KHR_multiview`
|
||||||
|
- `VK_KHR_portability_subset`
|
||||||
- `VK_KHR_push_descriptor`
|
- `VK_KHR_push_descriptor`
|
||||||
- `VK_KHR_relaxed_block_layout`
|
- `VK_KHR_relaxed_block_layout`
|
||||||
- `VK_KHR_sampler_mirror_clamp_to_edge` *(macOS)*
|
- `VK_KHR_sampler_mirror_clamp_to_edge` *(macOS)*
|
||||||
@ -302,7 +303,6 @@ In addition to core *Vulkan* functionality, **MoltenVK** also supports the foll
|
|||||||
- `VK_EXT_swapchain_colorspace`
|
- `VK_EXT_swapchain_colorspace`
|
||||||
- `VK_EXT_vertex_attribute_divisor`
|
- `VK_EXT_vertex_attribute_divisor`
|
||||||
- `VK_EXT_texel_buffer_alignment` *(requires Metal 2.0)*
|
- `VK_EXT_texel_buffer_alignment` *(requires Metal 2.0)*
|
||||||
- `VK_EXTX_portability_subset`
|
|
||||||
- `VK_MVK_ios_surface` *(iOS) (Obsolete. Use `VK_EXT_metal_surface` instead.)*
|
- `VK_MVK_ios_surface` *(iOS) (Obsolete. Use `VK_EXT_metal_surface` instead.)*
|
||||||
- `VK_MVK_macos_surface` *(macOS) (Obsolete. Use `VK_EXT_metal_surface` instead.)*
|
- `VK_MVK_macos_surface` *(macOS) (Obsolete. Use `VK_EXT_metal_surface` instead.)*
|
||||||
- `VK_MVK_moltenvk`
|
- `VK_MVK_moltenvk`
|
||||||
|
@ -25,6 +25,7 @@ Released 2020/09/28
|
|||||||
- A feature struct for `VK_KHR_shader_draw_parameters`
|
- A feature struct for `VK_KHR_shader_draw_parameters`
|
||||||
- All extensions that were promoted to core in Vulkan 1.1
|
- All extensions that were promoted to core in Vulkan 1.1
|
||||||
- Add support for extensions:
|
- Add support for extensions:
|
||||||
|
- `VK_KHR_portability_subset`
|
||||||
- `VK_KHR_create_renderpass2`
|
- `VK_KHR_create_renderpass2`
|
||||||
- `VK_KHR_external_fence` (non-functional groundwork for future extensions,
|
- `VK_KHR_external_fence` (non-functional groundwork for future extensions,
|
||||||
including support for GCD and Mach semaphores)
|
including support for GCD and Mach semaphores)
|
||||||
@ -35,6 +36,7 @@ Released 2020/09/28
|
|||||||
- `VK_KHR_external_semaphore_capabilities` (non-functional groundwork for
|
- `VK_KHR_external_semaphore_capabilities` (non-functional groundwork for
|
||||||
future `MTLSharedEvent` Vulkan extension)
|
future `MTLSharedEvent` Vulkan extension)
|
||||||
- `VK_KHR_multiview`
|
- `VK_KHR_multiview`
|
||||||
|
- Remove support for obsolete `VK_EXTX_portability_subset` extension.
|
||||||
- Improve performance of tessellation control pipeline stage by processing multiple
|
- Improve performance of tessellation control pipeline stage by processing multiple
|
||||||
patches per workgroup.
|
patches per workgroup.
|
||||||
- `vkCmdBindDescriptorSets` order `pDynamicOffsets` by descriptor binding number
|
- `vkCmdBindDescriptorSets` order `pDynamicOffsets` by descriptor binding number
|
||||||
|
@ -1 +0,0 @@
|
|||||||
53be040f04ce55463d0e5b25fd132f45f003e903
|
|
@ -571,7 +571,6 @@
|
|||||||
A9E53DFE21064F84002781DD /* MTLRenderPipelineDescriptor+MoltenVK.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "MTLRenderPipelineDescriptor+MoltenVK.h"; sourceTree = "<group>"; };
|
A9E53DFE21064F84002781DD /* MTLRenderPipelineDescriptor+MoltenVK.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "MTLRenderPipelineDescriptor+MoltenVK.h"; sourceTree = "<group>"; };
|
||||||
A9F0429D1FB4CF82009FCCB8 /* MVKCommonEnvironment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKCommonEnvironment.h; sourceTree = "<group>"; };
|
A9F0429D1FB4CF82009FCCB8 /* MVKCommonEnvironment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKCommonEnvironment.h; sourceTree = "<group>"; };
|
||||||
A9F0429E1FB4CF82009FCCB8 /* MVKLogging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKLogging.h; sourceTree = "<group>"; };
|
A9F0429E1FB4CF82009FCCB8 /* MVKLogging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKLogging.h; sourceTree = "<group>"; };
|
||||||
A9F2559121F96814008C7785 /* vulkan-portability */ = {isa = PBXFileReference; lastKnownFileType = folder; path = "vulkan-portability"; sourceTree = "<group>"; };
|
|
||||||
A9F3D9D924732A4C00745190 /* MVKSmallVectorAllocator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKSmallVectorAllocator.h; sourceTree = "<group>"; };
|
A9F3D9D924732A4C00745190 /* MVKSmallVectorAllocator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKSmallVectorAllocator.h; sourceTree = "<group>"; };
|
||||||
A9F3D9DB24732A4D00745190 /* MVKSmallVector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKSmallVector.h; sourceTree = "<group>"; };
|
A9F3D9DB24732A4D00745190 /* MVKSmallVector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKSmallVector.h; sourceTree = "<group>"; };
|
||||||
/* End PBXFileReference section */
|
/* End PBXFileReference section */
|
||||||
@ -750,7 +749,6 @@
|
|||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
A9AD67C72054DD6C00ED3C08 /* vulkan */,
|
A9AD67C72054DD6C00ED3C08 /* vulkan */,
|
||||||
A9F2559121F96814008C7785 /* vulkan-portability */,
|
|
||||||
);
|
);
|
||||||
path = include;
|
path = include;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
|
@ -35,6 +35,8 @@
|
|||||||
|
|
||||||
#define VK_USE_PLATFORM_METAL_EXT 1
|
#define VK_USE_PLATFORM_METAL_EXT 1
|
||||||
|
|
||||||
|
#define VK_ENABLE_BETA_EXTENSIONS 1 // VK_KHR_portability_subset
|
||||||
|
|
||||||
#ifdef __IPHONE_OS_VERSION_MAX_ALLOWED
|
#ifdef __IPHONE_OS_VERSION_MAX_ALLOWED
|
||||||
# define VK_USE_PLATFORM_IOS_MVK 1
|
# define VK_USE_PLATFORM_IOS_MVK 1
|
||||||
#endif
|
#endif
|
||||||
@ -44,6 +46,5 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include <vulkan-portability/vk_extx_portability_subset.h>
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -362,7 +362,6 @@ protected:
|
|||||||
void initPipelineCacheUUID();
|
void initPipelineCacheUUID();
|
||||||
uint32_t getHighestMTLFeatureSet();
|
uint32_t getHighestMTLFeatureSet();
|
||||||
uint64_t getMoltenVKGitRevision();
|
uint64_t getMoltenVKGitRevision();
|
||||||
bool getImageViewIsSupported(const VkPhysicalDeviceImageFormatInfo2 *pImageFormatInfo);
|
|
||||||
void populate(VkPhysicalDeviceIDProperties* pDevIdProps);
|
void populate(VkPhysicalDeviceIDProperties* pDevIdProps);
|
||||||
void logGPUInfo();
|
void logGPUInfo();
|
||||||
|
|
||||||
@ -678,7 +677,7 @@ public:
|
|||||||
const VkPhysicalDeviceScalarBlockLayoutFeaturesEXT _enabledScalarLayoutFeatures;
|
const VkPhysicalDeviceScalarBlockLayoutFeaturesEXT _enabledScalarLayoutFeatures;
|
||||||
const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT _enabledTexelBuffAlignFeatures;
|
const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT _enabledTexelBuffAlignFeatures;
|
||||||
const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT _enabledVtxAttrDivFeatures;
|
const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT _enabledVtxAttrDivFeatures;
|
||||||
const VkPhysicalDevicePortabilitySubsetFeaturesEXTX _enabledPortabilityFeatures;
|
const VkPhysicalDevicePortabilitySubsetFeaturesKHR _enabledPortabilityFeatures;
|
||||||
|
|
||||||
/** The list of Vulkan extensions, indicating whether each has been enabled by the app for this device. */
|
/** The list of Vulkan extensions, indicating whether each has been enabled by the app for this device. */
|
||||||
const MVKExtensionList _enabledExtensions;
|
const MVKExtensionList _enabledExtensions;
|
||||||
|
@ -164,13 +164,24 @@ void MVKPhysicalDevice::getFeatures(VkPhysicalDeviceFeatures2* features) {
|
|||||||
divisorFeatures->vertexAttributeInstanceRateZeroDivisor = true;
|
divisorFeatures->vertexAttributeInstanceRateZeroDivisor = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_EXTX: {
|
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR: {
|
||||||
auto* portabilityFeatures = (VkPhysicalDevicePortabilitySubsetFeaturesEXTX*)next;
|
auto* portabilityFeatures = (VkPhysicalDevicePortabilitySubsetFeaturesKHR*)next;
|
||||||
portabilityFeatures->triangleFans = false;
|
portabilityFeatures->constantAlphaColorBlendFactors = true;
|
||||||
portabilityFeatures->separateStencilMaskRef = true;
|
|
||||||
portabilityFeatures->events = true;
|
portabilityFeatures->events = true;
|
||||||
portabilityFeatures->standardImageViews = _mvkInstance->getMoltenVKConfiguration()->fullImageViewSwizzle || _metalFeatures.nativeTextureSwizzle;
|
portabilityFeatures->imageViewFormatReinterpretation = true;
|
||||||
|
portabilityFeatures->imageViewFormatSwizzle = (_metalFeatures.nativeTextureSwizzle ||
|
||||||
|
_mvkInstance->getMoltenVKConfiguration()->fullImageViewSwizzle);
|
||||||
|
portabilityFeatures->imageView2DOn3DImage = false;
|
||||||
|
portabilityFeatures->multisampleArrayImage = _metalFeatures.multisampleArrayTextures;
|
||||||
|
portabilityFeatures->mutableComparisonSamplers = _metalFeatures.depthSampleCompare;
|
||||||
|
portabilityFeatures->pointPolygons = false;
|
||||||
portabilityFeatures->samplerMipLodBias = false;
|
portabilityFeatures->samplerMipLodBias = false;
|
||||||
|
portabilityFeatures->separateStencilMaskRef = true;
|
||||||
|
portabilityFeatures->shaderSampleRateInterpolationFunctions = false;
|
||||||
|
portabilityFeatures->tessellationIsolines = false;
|
||||||
|
portabilityFeatures->tessellationPointMode = false;
|
||||||
|
portabilityFeatures->triangleFans = false;
|
||||||
|
portabilityFeatures->vertexAttributeAccessBeyondStride = true; // Costs additional buffers. Should make configuration switch.
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL: {
|
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL: {
|
||||||
@ -298,8 +309,8 @@ void MVKPhysicalDevice::getProperties(VkPhysicalDeviceProperties2* properties) {
|
|||||||
divisorProps->maxVertexAttribDivisor = kMVKUndefinedLargeUInt32;
|
divisorProps->maxVertexAttribDivisor = kMVKUndefinedLargeUInt32;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_EXTX: {
|
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR: {
|
||||||
auto* portabilityProps = (VkPhysicalDevicePortabilitySubsetPropertiesEXTX*)next;
|
auto* portabilityProps = (VkPhysicalDevicePortabilitySubsetPropertiesKHR*)next;
|
||||||
portabilityProps->minVertexInputBindingStrideAlignment = (uint32_t)_metalFeatures.vertexStrideAlignment;
|
portabilityProps->minVertexInputBindingStrideAlignment = (uint32_t)_metalFeatures.vertexStrideAlignment;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -542,52 +553,12 @@ VkResult MVKPhysicalDevice::getImageFormatProperties(const VkPhysicalDeviceImage
|
|||||||
|
|
||||||
if ( !_pixelFormats.isSupported(pImageFormatInfo->format) ) { return VK_ERROR_FORMAT_NOT_SUPPORTED; }
|
if ( !_pixelFormats.isSupported(pImageFormatInfo->format) ) { return VK_ERROR_FORMAT_NOT_SUPPORTED; }
|
||||||
|
|
||||||
if ( !getImageViewIsSupported(pImageFormatInfo) ) { return VK_ERROR_FORMAT_NOT_SUPPORTED; }
|
|
||||||
|
|
||||||
return getImageFormatProperties(pImageFormatInfo->format, pImageFormatInfo->type,
|
return getImageFormatProperties(pImageFormatInfo->format, pImageFormatInfo->type,
|
||||||
pImageFormatInfo->tiling, pImageFormatInfo->usage,
|
pImageFormatInfo->tiling, pImageFormatInfo->usage,
|
||||||
pImageFormatInfo->flags,
|
pImageFormatInfo->flags,
|
||||||
&pImageFormatProperties->imageFormatProperties);
|
&pImageFormatProperties->imageFormatProperties);
|
||||||
}
|
}
|
||||||
|
|
||||||
// If the image format info links portability image view info, test if an image view of that configuration is supported
|
|
||||||
bool MVKPhysicalDevice::getImageViewIsSupported(const VkPhysicalDeviceImageFormatInfo2 *pImageFormatInfo) {
|
|
||||||
for (const auto* next = (VkBaseInStructure*)pImageFormatInfo->pNext; next; next = next->pNext) {
|
|
||||||
switch ((uint32_t)next->sType) {
|
|
||||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_SUPPORT_EXTX: {
|
|
||||||
auto* portImgViewInfo = (VkPhysicalDeviceImageViewSupportEXTX*)next;
|
|
||||||
|
|
||||||
// Create an image view and test whether it could be configured
|
|
||||||
VkImageViewCreateInfo viewInfo = {
|
|
||||||
.sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO,
|
|
||||||
.pNext = portImgViewInfo->pNext,
|
|
||||||
.flags = portImgViewInfo->flags,
|
|
||||||
.image = nullptr,
|
|
||||||
.viewType = portImgViewInfo->viewType,
|
|
||||||
.format = portImgViewInfo->format,
|
|
||||||
.components = portImgViewInfo->components,
|
|
||||||
.subresourceRange = {
|
|
||||||
.aspectMask = portImgViewInfo->aspectMask,
|
|
||||||
.baseMipLevel = 0,
|
|
||||||
.levelCount = 1,
|
|
||||||
.baseArrayLayer = 0,
|
|
||||||
.layerCount = 1},
|
|
||||||
};
|
|
||||||
MTLPixelFormat mtlPixFmt = _pixelFormats.getMTLPixelFormat(viewInfo.format);
|
|
||||||
bool useSwizzle;
|
|
||||||
return (MVKImageView::validateSwizzledMTLPixelFormat(&viewInfo, this,
|
|
||||||
_metalFeatures.nativeTextureSwizzle,
|
|
||||||
_mvkInstance->getMoltenVKConfiguration()->fullImageViewSwizzle,
|
|
||||||
mtlPixFmt, useSwizzle) == VK_SUCCESS);
|
|
||||||
}
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
void MVKPhysicalDevice::getExternalBufferProperties(const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
|
void MVKPhysicalDevice::getExternalBufferProperties(const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
|
||||||
VkExternalBufferProperties* pExternalBufferProperties) {
|
VkExternalBufferProperties* pExternalBufferProperties) {
|
||||||
pExternalBufferProperties->externalMemoryProperties = getExternalBufferProperties(pExternalBufferInfo->handleType);
|
pExternalBufferProperties->externalMemoryProperties = getExternalBufferProperties(pExternalBufferInfo->handleType);
|
||||||
@ -3171,8 +3142,8 @@ void MVKDevice::enableFeatures(const VkDeviceCreateInfo* pCreateInfo) {
|
|||||||
mvkClear(&_enabledPortabilityFeatures);
|
mvkClear(&_enabledPortabilityFeatures);
|
||||||
|
|
||||||
// Fetch the available physical device features.
|
// Fetch the available physical device features.
|
||||||
VkPhysicalDevicePortabilitySubsetFeaturesEXTX pdPortabilityFeatures;
|
VkPhysicalDevicePortabilitySubsetFeaturesKHR pdPortabilityFeatures;
|
||||||
pdPortabilityFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_EXTX;
|
pdPortabilityFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR;
|
||||||
pdPortabilityFeatures.pNext = NULL;
|
pdPortabilityFeatures.pNext = NULL;
|
||||||
|
|
||||||
VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT pdVtxAttrDivFeatures;
|
VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT pdVtxAttrDivFeatures;
|
||||||
@ -3318,11 +3289,11 @@ void MVKDevice::enableFeatures(const VkDeviceCreateInfo* pCreateInfo) {
|
|||||||
&pdVtxAttrDivFeatures.vertexAttributeInstanceRateDivisor, 2);
|
&pdVtxAttrDivFeatures.vertexAttributeInstanceRateDivisor, 2);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_EXTX: {
|
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR: {
|
||||||
auto* requestedFeatures = (VkPhysicalDevicePortabilitySubsetFeaturesEXTX*)next;
|
auto* requestedFeatures = (VkPhysicalDevicePortabilitySubsetFeaturesKHR*)next;
|
||||||
enableFeatures(&_enabledPortabilityFeatures.triangleFans,
|
enableFeatures(&_enabledPortabilityFeatures.triangleFans,
|
||||||
&requestedFeatures->triangleFans,
|
&requestedFeatures->triangleFans,
|
||||||
&pdPortabilityFeatures.triangleFans, 5);
|
&pdPortabilityFeatures.triangleFans, 15);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
|
@ -62,6 +62,7 @@ MVK_EXTENSION(KHR_maintenance1, KHR_MAINTENANCE1, DEVICE)
|
|||||||
MVK_EXTENSION(KHR_maintenance2, KHR_MAINTENANCE2, DEVICE)
|
MVK_EXTENSION(KHR_maintenance2, KHR_MAINTENANCE2, DEVICE)
|
||||||
MVK_EXTENSION(KHR_maintenance3, KHR_MAINTENANCE3, DEVICE)
|
MVK_EXTENSION(KHR_maintenance3, KHR_MAINTENANCE3, DEVICE)
|
||||||
MVK_EXTENSION(KHR_multiview, KHR_MULTIVIEW, DEVICE)
|
MVK_EXTENSION(KHR_multiview, KHR_MULTIVIEW, DEVICE)
|
||||||
|
MVK_EXTENSION(KHR_portability_subset, KHR_PORTABILITY_SUBSET, DEVICE)
|
||||||
MVK_EXTENSION(KHR_push_descriptor, KHR_PUSH_DESCRIPTOR, DEVICE)
|
MVK_EXTENSION(KHR_push_descriptor, KHR_PUSH_DESCRIPTOR, DEVICE)
|
||||||
MVK_EXTENSION(KHR_relaxed_block_layout, KHR_RELAXED_BLOCK_LAYOUT, DEVICE)
|
MVK_EXTENSION(KHR_relaxed_block_layout, KHR_RELAXED_BLOCK_LAYOUT, DEVICE)
|
||||||
MVK_EXTENSION(KHR_sampler_mirror_clamp_to_edge, KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE, DEVICE)
|
MVK_EXTENSION(KHR_sampler_mirror_clamp_to_edge, KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE, DEVICE)
|
||||||
@ -92,7 +93,6 @@ MVK_EXTENSION(EXT_shader_viewport_index_layer, EXT_SHADER_VIEWPORT_INDEX_LAYER,
|
|||||||
MVK_EXTENSION(EXT_swapchain_colorspace, EXT_SWAPCHAIN_COLOR_SPACE, INSTANCE)
|
MVK_EXTENSION(EXT_swapchain_colorspace, EXT_SWAPCHAIN_COLOR_SPACE, INSTANCE)
|
||||||
MVK_EXTENSION(EXT_texel_buffer_alignment, EXT_TEXEL_BUFFER_ALIGNMENT, DEVICE)
|
MVK_EXTENSION(EXT_texel_buffer_alignment, EXT_TEXEL_BUFFER_ALIGNMENT, DEVICE)
|
||||||
MVK_EXTENSION(EXT_vertex_attribute_divisor, EXT_VERTEX_ATTRIBUTE_DIVISOR, DEVICE)
|
MVK_EXTENSION(EXT_vertex_attribute_divisor, EXT_VERTEX_ATTRIBUTE_DIVISOR, DEVICE)
|
||||||
MVK_EXTENSION(EXTX_portability_subset, EXTX_PORTABILITY_SUBSET, DEVICE)
|
|
||||||
MVK_EXTENSION(MVK_ios_surface, MVK_IOS_SURFACE, INSTANCE)
|
MVK_EXTENSION(MVK_ios_surface, MVK_IOS_SURFACE, INSTANCE)
|
||||||
MVK_EXTENSION(MVK_macos_surface, MVK_MACOS_SURFACE, INSTANCE)
|
MVK_EXTENSION(MVK_macos_surface, MVK_MACOS_SURFACE, INSTANCE)
|
||||||
MVK_EXTENSION(MVK_moltenvk, MVK_MOLTENVK, INSTANCE)
|
MVK_EXTENSION(MVK_moltenvk, MVK_MOLTENVK, INSTANCE)
|
||||||
|
@ -1 +0,0 @@
|
|||||||
../../External/Vulkan-Portability/include/vulkan
|
|
@ -256,18 +256,6 @@ else
|
|||||||
update_repo ${REPO_NAME} ${REPO_URL} ${REPO_REV}
|
update_repo ${REPO_NAME} ${REPO_URL} ${REPO_REV}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ----------------- Vulkan-Portability -------------------
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo ========== Vulkan-Portability ==========
|
|
||||||
echo
|
|
||||||
|
|
||||||
REPO_NAME=Vulkan-Portability
|
|
||||||
REPO_URL="https://github.com/KhronosGroup/${REPO_NAME}.git"
|
|
||||||
REPO_REV=$(cat "${EXT_REV_DIR}/${REPO_NAME}_repo_revision")
|
|
||||||
|
|
||||||
update_repo ${REPO_NAME} ${REPO_URL} ${REPO_REV}
|
|
||||||
|
|
||||||
|
|
||||||
# ----------------- SPIRV-Cross -------------------
|
# ----------------- SPIRV-Cross -------------------
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user