// GENERATED FILE - DO NOT EDIT. // Generated by gen_features.py using data from vk_features.json. // // Copyright 2022 The ANGLE Project Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // // FeaturesVk_autogen.h: Optional features for the Vulkan renderer. #ifndef ANGLE_PLATFORM_AUTOGEN_FEATURESVK_H_ #define ANGLE_PLATFORM_AUTOGEN_FEATURESVK_H_ #include "platform/Feature.h" namespace angle { struct FeaturesVk : FeatureSetBase { FeaturesVk(); ~FeaturesVk(); FeatureInfo appendAliasedMemoryDecorations = { "appendAliasedMemoryDecorations", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo allowPipelineStatisticsForPrimitivesGeneratedQuery = { "allowPipelineStatisticsForPrimitivesGeneratedQuery", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo bresenhamLineRasterization = { "bresenhamLineRasterization", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo provokingVertex = { "provokingVertex", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo forceFallbackFormat = { "forceFallbackFormat", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo forceRenderableFallbackFormat = { "forceRenderableFallbackFormat", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo clampPointSize = { "clampPointSize", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo supportsDepthClampZeroOne = { "supportsDepthClampZeroOne", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo clampFragDepth = { "clampFragDepth", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo mutableMipmapTextureUpload = { "mutableMipmapTextureUpload", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo useVmaForImageSuballocation = { "useVmaForImageSuballocation", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsMemoryBudget = { "supportsMemoryBudget", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo useLargeSizeForDynamicBuffers = { "useLargeSizeForDynamicBuffers", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo supportsRenderpass2 = { "supportsRenderpass2", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsIncrementalPresent = { "supportsIncrementalPresent", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsAndroidHardwareBuffer = { "supportsAndroidHardwareBuffer", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsExternalMemoryFd = { "supportsExternalMemoryFd", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsExternalMemoryFuchsia = { "supportsExternalMemoryFuchsia", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsExternalFenceCapabilities = { "supportsExternalFenceCapabilities", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsExternalSemaphoreCapabilities = { "supportsExternalSemaphoreCapabilities", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsExternalSemaphoreFd = { "supportsExternalSemaphoreFd", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsExternalSemaphoreFuchsia = { "supportsExternalSemaphoreFuchsia", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsExternalFenceFd = { "supportsExternalFenceFd", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsAndroidNativeFenceSync = { "supportsAndroidNativeFenceSync", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsImageCubeArray = { "supportsImageCubeArray", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsPipelineStatisticsQuery = { "supportsPipelineStatisticsQuery", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsShaderStencilExport = { "supportsShaderStencilExport", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo preferGlobalPipelineCache = { "preferGlobalPipelineCache", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsYUVSamplerConversion = { "supportsYUVSamplerConversion", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo emulateTransformFeedback = { "emulateTransformFeedback", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsTransformFeedbackExtension = { "supportsTransformFeedbackExtension", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsGeometryStreamsCapability = { "supportsGeometryStreamsCapability", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsIndexTypeUint8 = { "supportsIndexTypeUint8", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsCustomBorderColor = { "supportsCustomBorderColor", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo usesSecondComponentForStencilBorderColor = { "usesSecondComponentForStencilBorderColor", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsMultiDrawIndirect = { "supportsMultiDrawIndirect", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsDepthStencilResolve = { "supportsDepthStencilResolve", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsDepthStencilIndependentResolveNone = { "supportsDepthStencilIndependentResolveNone", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsMultisampledRenderToSingleSampled = { "supportsMultisampledRenderToSingleSampled", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo preferMSRTSSFlagByDefault = { "preferMSRTSSFlagByDefault", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsDeviceFault = { "supportsDeviceFault", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsMultiview = { "supportsMultiview", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsMultiviewMultisampleRenderToTexture = { "supportsMultiviewMultisampleRenderToTexture", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo forceD16TexFilter = { "forceD16TexFilter", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo avoidInvisibleWindowSwapchainRecreate = { "avoidInvisibleWindowSwapchainRecreate", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo padBuffersToMaxVertexAttribStride = { "padBuffersToMaxVertexAttribStride", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo supportsExternalMemoryDmaBuf = { "supportsExternalMemoryDmaBuf", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsImageDrmFormatModifier = { "supportsImageDrmFormatModifier", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsExternalMemoryHost = { "supportsExternalMemoryHost", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo allocateNonZeroMemory = { "allocateNonZeroMemory", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo logMemoryReportCallbacks = { "logMemoryReportCallbacks", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo logMemoryReportStats = { "logMemoryReportStats", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo preferCPUForBufferSubData = { "preferCPUForBufferSubData", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo preferGPUForCopyBufferSubData = { "preferGPUForCopyBufferSubData", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo persistentlyMappedBuffers = { "persistentlyMappedBuffers", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo enablePrecisionQualifiers = { "enablePrecisionQualifiers", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo varyingsRequireMatchingPrecisionInSpirv = { "varyingsRequireMatchingPrecisionInSpirv", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo preferAggregateBarrierCalls = { "preferAggregateBarrierCalls", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo preferSkippingInvalidateForEmulatedFormats = { "preferSkippingInvalidateForEmulatedFormats", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo supportsShaderFloat16 = { "supportsShaderFloat16", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsShaderInt8 = { "supportsShaderInt8", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsShaderFloat64 = { "supportsShaderFloat64", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo allowGenerateMipmapWithCompute = { "allowGenerateMipmapWithCompute", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsRenderPassStoreOpNone = { "supportsRenderPassStoreOpNone", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsRenderPassLoadStoreOpNone = { "supportsRenderPassLoadStoreOpNone", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo disallowMixedDepthStencilLoadOpNoneAndLoad = { "disallowMixedDepthStencilLoadOpNoneAndLoad", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo supportsDepthClipControl = { "supportsDepthClipControl", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsPrimitiveTopologyListRestart = { "supportsPrimitiveTopologyListRestart", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsBlendOperationAdvanced = { "supportsBlendOperationAdvanced", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsBlendOperationAdvancedCoherent = { "supportsBlendOperationAdvancedCoherent", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo forceMaxUniformBufferSize16KB = { "forceMaxUniformBufferSize16KB", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo supportsImageFormatList = { "supportsImageFormatList", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo allowMultisampledRenderToTextureEmulation = { "allowMultisampledRenderToTextureEmulation", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo enableMultisampledRenderToTexture = { "enableMultisampledRenderToTexture", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo destroyOldSwapchainInSharedPresentMode = { "destroyOldSwapchainInSharedPresentMode", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo disableSubmitCommandsOnSyncStatusCheckForTesting = { "disableSubmitCommandsOnSyncStatusCheckForTesting", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo forceTextureLodOffset1 = { "forceTextureLodOffset1", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo forceTextureLodOffset2 = { "forceTextureLodOffset2", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo forceTextureLodOffset3 = { "forceTextureLodOffset3", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo forceTextureLodOffset4 = { "forceTextureLodOffset4", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo forceNearestFiltering = { "forceNearestFiltering", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo forceNearestMipFiltering = { "forceNearestMipFiltering", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo preferDrawClearOverVkCmdClearAttachments = { "preferDrawClearOverVkCmdClearAttachments", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo emulatedPrerotation90 = { "emulatedPrerotation90", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo emulatedPrerotation180 = { "emulatedPrerotation180", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo emulatedPrerotation270 = { "emulatedPrerotation270", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo exposeNonConformantExtensionsAndVersions = { "exposeNonConformantExtensionsAndVersions", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo exposeES32ForTesting = { "exposeES32ForTesting", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo emulateR32fImageAtomicExchange = { "emulateR32fImageAtomicExchange", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo preferSubmitAtFBOBoundary = { "preferSubmitAtFBOBoundary", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo forceSubmitExceptionsAtFBOBoundary = { "forceSubmitExceptionsAtFBOBoundary", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo useMultipleDescriptorsForExternalFormats = { "useMultipleDescriptorsForExternalFormats", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo supportsProtectedMemory = { "supportsProtectedMemory", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsHostQueryReset = { "supportsHostQueryReset", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsPipelineCreationFeedback = { "supportsPipelineCreationFeedback", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsPrimitivesGeneratedQuery = { "supportsPrimitivesGeneratedQuery", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsSurfaceCapabilities2Extension = { "supportsSurfaceCapabilities2Extension", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsSurfaceProtectedCapabilitiesExtension = { "supportsSurfaceProtectedCapabilitiesExtension", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsSurfacelessQueryExtension = { "supportsSurfacelessQueryExtension", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsSurfaceProtectedSwapchains = { "supportsSurfaceProtectedSwapchains", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo overrideSurfaceFormatRGB8ToRGBA8 = { "overrideSurfaceFormatRGB8ToRGBA8", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo supportsSharedPresentableImageExtension = { "supportsSharedPresentableImageExtension", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsShaderFramebufferFetch = { "supportsShaderFramebufferFetch", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsShaderFramebufferFetchNonCoherent = { "supportsShaderFramebufferFetchNonCoherent", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsShaderFramebufferFetchDepthStencil = { "supportsShaderFramebufferFetchDepthStencil", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo permanentlySwitchToFramebufferFetchMode = { "permanentlySwitchToFramebufferFetchMode", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsLockSurfaceExtension = { "supportsLockSurfaceExtension", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo swapbuffersOnFlushOrFinishWithSingleBuffer = { "swapbuffersOnFlushOrFinishWithSingleBuffer", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo emulateDithering = { "emulateDithering", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo roundOutputAfterDithering = { "roundOutputAfterDithering", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo adjustClearColorPrecision = { "adjustClearColorPrecision", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo emulateAdvancedBlendEquations = { "emulateAdvancedBlendEquations", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo doubleDepthBiasConstantFactor = { "doubleDepthBiasConstantFactor", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo bottomLeftOriginPresentRegionRectangles = { "bottomLeftOriginPresentRegionRectangles", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo forceSubmitImmutableTextureUpdates = { "forceSubmitImmutableTextureUpdates", FeatureCategory::VulkanAppWorkarounds, &members, }; FeatureInfo supportsSPIRV14 = { "supportsSPIRV14", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo retainSPIRVDebugInfo = { "retainSPIRVDebugInfo", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo warmUpPipelineCacheAtLink = { "warmUpPipelineCacheAtLink", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo preferDeviceLocalMemoryHostVisible = { "preferDeviceLocalMemoryHostVisible", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsExtendedDynamicState = { "supportsExtendedDynamicState", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo useVertexInputBindingStrideDynamicState = { "useVertexInputBindingStrideDynamicState", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo useCullModeDynamicState = { "useCullModeDynamicState", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo useFrontFaceDynamicState = { "useFrontFaceDynamicState", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo usePrimitiveTopologyDynamicState = { "usePrimitiveTopologyDynamicState", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo useDepthTestEnableDynamicState = { "useDepthTestEnableDynamicState", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo useDepthWriteEnableDynamicState = { "useDepthWriteEnableDynamicState", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo useDepthCompareOpDynamicState = { "useDepthCompareOpDynamicState", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo useStencilTestEnableDynamicState = { "useStencilTestEnableDynamicState", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo useStencilOpDynamicState = { "useStencilOpDynamicState", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo supportsExtendedDynamicState2 = { "supportsExtendedDynamicState2", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo usePrimitiveRestartEnableDynamicState = { "usePrimitiveRestartEnableDynamicState", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo useRasterizerDiscardEnableDynamicState = { "useRasterizerDiscardEnableDynamicState", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo useDepthBiasEnableDynamicState = { "useDepthBiasEnableDynamicState", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo supportsLogicOpDynamicState = { "supportsLogicOpDynamicState", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsFragmentShadingRate = { "supportsFragmentShadingRate", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsPrimitiveFragmentShadingRate = { "supportsPrimitiveFragmentShadingRate", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsFoveatedRendering = { "supportsFoveatedRendering", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo generateFragmentShadingRateAttchementWithCpu = { "generateFragmentShadingRateAttchementWithCpu", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsFragmentShaderPixelInterlock = { "supportsFragmentShaderPixelInterlock", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo explicitlyEnablePerSampleShading = { "explicitlyEnablePerSampleShading", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo forceContinuousRefreshOnSharedPresent = { "forceContinuousRefreshOnSharedPresent", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsImage2dViewOf3d = { "supportsImage2dViewOf3d", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsSampler2dViewOf3d = { "supportsSampler2dViewOf3d", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsImagelessFramebuffer = { "supportsImagelessFramebuffer", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo preferLinearFilterForYUV = { "preferLinearFilterForYUV", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsYuvTarget = { "supportsYuvTarget", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo useNonZeroStencilWriteMaskStaticState = { "useNonZeroStencilWriteMaskStaticState", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo mapUnspecifiedColorSpaceToPassThrough = { "mapUnspecifiedColorSpaceToPassThrough", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsTimestampSurfaceAttribute = { "supportsTimestampSurfaceAttribute", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsRasterizationOrderAttachmentAccess = { "supportsRasterizationOrderAttachmentAccess", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo eglColorspaceAttributePassthrough = { "eglColorspaceAttributePassthrough", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsPipelineRobustness = { "supportsPipelineRobustness", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsVertexInputDynamicState = { "supportsVertexInputDynamicState", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsColorWriteEnable = { "supportsColorWriteEnable", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsPresentation = { "supportsPresentation", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsComputeTranscodeEtcToBc = { "supportsComputeTranscodeEtcToBc", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsGraphicsPipelineLibrary = { "supportsGraphicsPipelineLibrary", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo preferMonolithicPipelinesOverLibraries = { "preferMonolithicPipelinesOverLibraries", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo slowDownMonolithicPipelineCreationForTesting = { "slowDownMonolithicPipelineCreationForTesting", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo disablePipelineCacheLoadForTesting = { "disablePipelineCacheLoadForTesting", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo syncMonolithicPipelinesToBlobCache = { "syncMonolithicPipelinesToBlobCache", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo mergeProgramPipelineCachesToGlobalCache = { "mergeProgramPipelineCachesToGlobalCache", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo skipPipelineCacheSerialization = { "skipPipelineCacheSerialization", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo enableAsyncPipelineCacheCompression = { "enableAsyncPipelineCacheCompression", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo syncPipelineCacheToBlobCacheEveryFrame = { "syncPipelineCacheToBlobCacheEveryFrame", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo enableExtraSubmitFence = { "enableExtraSubmitFence", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo supportsPipelineProtectedAccess = { "supportsPipelineProtectedAccess", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsMaintenance5 = { "supportsMaintenance5", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsSurfaceMaintenance1 = { "supportsSurfaceMaintenance1", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsSwapchainMaintenance1 = { "supportsSwapchainMaintenance1", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsGetMemoryRequirements2 = { "supportsGetMemoryRequirements2", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsBindMemory2 = { "supportsBindMemory2", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsSamplerMirrorClampToEdge = { "supportsSamplerMirrorClampToEdge", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo preferSubmitOnAnySamplesPassedQueryEnd = { "preferSubmitOnAnySamplesPassedQueryEnd", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo forceWaitForSubmissionToCompleteForQueryResult = { "forceWaitForSubmissionToCompleteForQueryResult", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo asyncGarbageCleanup = { "asyncGarbageCleanup", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo asyncCommandBufferReset = { "asyncCommandBufferReset", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo useResetCommandBufferBitForSecondaryPools = { "useResetCommandBufferBitForSecondaryPools", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo enablePipelineCacheDataCompression = { "enablePipelineCacheDataCompression", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsLegacyDithering = { "supportsLegacyDithering", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo limitSampleCountTo2 = { "limitSampleCountTo2", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo supportsFullScreenExclusive = { "supportsFullScreenExclusive", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo forceDisableFullScreenExclusive = { "forceDisableFullScreenExclusive", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo supportsPortabilityEnumeration = { "supportsPortabilityEnumeration", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo enablePortabilityEnumeration = { "enablePortabilityEnumeration", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo supportsTimelineSemaphore = { "supportsTimelineSemaphore", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsFormatFeatureFlags2 = { "supportsFormatFeatureFlags2", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsHostImageCopy = { "supportsHostImageCopy", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo allowHostImageCopyDespiteNonIdenticalLayout = { "allowHostImageCopyDespiteNonIdenticalLayout", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo forceHostImageCopyForLuma = { "forceHostImageCopyForLuma", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo allowHostImageCopyAfterInitialUpload = { "allowHostImageCopyAfterInitialUpload", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo enableParallelCompileAndLink = { "enableParallelCompileAndLink", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo preferHostCachedForNonStaticBufferUsage = { "preferHostCachedForNonStaticBufferUsage", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsExternalFormatResolve = { "supportsExternalFormatResolve", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo disableSeparateShaderObjects = { "disableSeparateShaderObjects", FeatureCategory::VulkanAppWorkarounds, &members, }; FeatureInfo forceSampleUsageForAhbBackedImages = { "forceSampleUsageForAhbBackedImages", FeatureCategory::VulkanAppWorkarounds, &members, }; FeatureInfo avoidOpSelectWithMismatchingRelaxedPrecision = { "avoidOpSelectWithMismatchingRelaxedPrecision", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo wrapSwitchInIfTrue = { "wrapSwitchInIfTrue", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo disableDepthStencilResolveThroughAttachment = { "disableDepthStencilResolveThroughAttachment", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo limitMaxStorageBufferSize = { "limitMaxStorageBufferSize", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo clDumpVkSpirv = { "clDumpVkSpirv", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo enableAdditionalBlendFactorsForDithering = { "enableAdditionalBlendFactorsForDithering", FeatureCategory::VulkanAppWorkarounds, &members, }; FeatureInfo enableMergeClientAttribBuffer = { "enableMergeClientAttribBuffer", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsShaderNonSemanticInfo = { "supportsShaderNonSemanticInfo", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supports8BitStorageBuffer = { "supports8BitStorageBuffer", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supports8BitUniformAndStorageBuffer = { "supports8BitUniformAndStorageBuffer", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supports8BitPushConstant = { "supports8BitPushConstant", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supports16BitStorageBuffer = { "supports16BitStorageBuffer", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supports16BitUniformAndStorageBuffer = { "supports16BitUniformAndStorageBuffer", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supports16BitPushConstant = { "supports16BitPushConstant", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supports16BitInputOutput = { "supports16BitInputOutput", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo useVkEventForImageBarrier = { "useVkEventForImageBarrier", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo useVkEventForBufferBarrier = { "useVkEventForBufferBarrier", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo isVertexSyncDeferred = { "isVertexSyncDeferred", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo recycleVkEvent = { "recycleVkEvent", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsSynchronization2 = { "supportsSynchronization2", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsDynamicRendering = { "supportsDynamicRendering", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsDynamicRenderingLocalRead = { "supportsDynamicRenderingLocalRead", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo preferDynamicRendering = { "preferDynamicRendering", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo preferCachedNoncoherentForDynamicStreamBufferUsage = { "preferCachedNoncoherentForDynamicStreamBufferUsage", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsRoundingModeRteFp16 = { "supportsRoundingModeRteFp16", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsRoundingModeRteFp32 = { "supportsRoundingModeRteFp32", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsRoundingModeRteFp64 = { "supportsRoundingModeRteFp64", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsRoundingModeRtzFp16 = { "supportsRoundingModeRtzFp16", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsRoundingModeRtzFp32 = { "supportsRoundingModeRtzFp32", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsRoundingModeRtzFp64 = { "supportsRoundingModeRtzFp64", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsDenormPreserveFp16 = { "supportsDenormPreserveFp16", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsDenormPreserveFp32 = { "supportsDenormPreserveFp32", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsDenormPreserveFp64 = { "supportsDenormPreserveFp64", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsDenormFtzFp16 = { "supportsDenormFtzFp16", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsDenormFtzFp32 = { "supportsDenormFtzFp32", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsDenormFtzFp64 = { "supportsDenormFtzFp64", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsSignedZeroInfNanPreserveFp16 = { "supportsSignedZeroInfNanPreserveFp16", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsSignedZeroInfNanPreserveFp32 = { "supportsSignedZeroInfNanPreserveFp32", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsSignedZeroInfNanPreserveFp64 = { "supportsSignedZeroInfNanPreserveFp64", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo preferDoubleBufferSwapchainOnFifoMode = { "preferDoubleBufferSwapchainOnFifoMode", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo useDualPipelineBlobCacheSlots = { "useDualPipelineBlobCacheSlots", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo useEmptyBlobsToEraseOldPipelineCacheFromBlobCache = { "useEmptyBlobsToEraseOldPipelineCacheFromBlobCache", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo hasBlobCacheThatEvictsOldItemsFirst = { "hasBlobCacheThatEvictsOldItemsFirst", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo verifyPipelineCacheInBlobCache = { "verifyPipelineCacheInBlobCache", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo descriptorSetCache = { "descriptorSetCache", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsImageCompressionControl = { "supportsImageCompressionControl", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsAstcSliced3d = { "supportsAstcSliced3d", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsTextureCompressionAstcHdr = { "supportsTextureCompressionAstcHdr", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsAstcDecodeMode = { "supportsAstcDecodeMode", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsAstcDecodeModeRgb9e5 = { "supportsAstcDecodeModeRgb9e5", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsAstcHdr3dTextures = { "supportsAstcHdr3dTextures", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsAstc3d = { "supportsAstc3d", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsImageCompressionControlSwapchain = { "supportsImageCompressionControlSwapchain", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsAngleRgbxInternalFormat = { "supportsAngleRgbxInternalFormat", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsAppleClipDistance = { "supportsAppleClipDistance", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsUniformBufferStandardLayout = { "supportsUniformBufferStandardLayout", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo usesNativeBuiltinClKernel = { "usesNativeBuiltinClKernel", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsSwapchainMutableFormat = { "supportsSwapchainMutableFormat", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsClipCullDistanceInGSAndTS = { "supportsClipCullDistanceInGSAndTS", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsMaintenance9 = { "supportsMaintenance9", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsShaderIntegerDotProduct = { "supportsShaderIntegerDotProduct", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo convertLowpAndMediumpFloatUniformsTo16Bits = { "convertLowpAndMediumpFloatUniformsTo16Bits", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsUnifiedImageLayouts = { "supportsUnifiedImageLayouts", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsGlobalPriority = { "supportsGlobalPriority", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsGlobalPriorityQuery = { "supportsGlobalPriorityQuery", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsBufferDeviceAddress = { "supportsBufferDeviceAddress", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo preferBGR565ToRGB565 = { "preferBGR565ToRGB565", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo clSerializedExecution = { "clSerializedExecution", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo externallySynchronizePipelineCacheAccess = { "externallySynchronizePipelineCacheAccess", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo supportShaderPixelLocalStorageAngle = { "supportShaderPixelLocalStorageAngle", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo debugClDumpCommandStream = { "debugClDumpCommandStream", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsShaderAtomicInt64 = { "supportsShaderAtomicInt64", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsBindVertexBuffers2 = { "supportsBindVertexBuffers2", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo forceSizePointerForBoundVertexBuffers = { "forceSizePointerForBoundVertexBuffers", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportFragmentShadingRateExtExtensions = { "supportFragmentShadingRateExtExtensions", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo dropDepthStencilClearOnInvalidate = { "dropDepthStencilClearOnInvalidate", FeatureCategory::VulkanWorkarounds, &members, }; FeatureInfo supportsTileMemoryHeap = { "supportsTileMemoryHeap", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo simulateTileMemoryForTesting = { "simulateTileMemoryForTesting", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsClKhrSubgroups = { "supportsClKhrSubgroups", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo clBestUniformFitWGS = { "clBestUniformFitWGS", FeatureCategory::VulkanFeatures, &members, }; FeatureInfo supportsShaderDemoteToHelperInvocation = { "supportsShaderDemoteToHelperInvocation", FeatureCategory::VulkanFeatures, &members, }; }; inline FeaturesVk::FeaturesVk() = default; inline FeaturesVk::~FeaturesVk() = default; } // namespace angle #endif // ANGLE_PLATFORM_AUTOGEN_FEATURESVK_H_