зеркало из https://github.com/AvaloniaUI/angle.git
305 строки
20 KiB
C++
305 строки
20 KiB
C++
// GENERATED FILE - DO NOT EDIT.
|
|
// Generated by gen_features.py using data from *_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.
|
|
//
|
|
// angle_features_autogen.cpp: List of ANGLE features to help enable/disable them in tests.
|
|
|
|
#include "angle_features_autogen.h"
|
|
|
|
#include "common/PackedEnums.h"
|
|
|
|
namespace angle
|
|
{
|
|
namespace
|
|
{
|
|
constexpr PackedEnumMap<Feature, const char *> kFeatureNames = {{
|
|
{Feature::AddAndTrueToLoopCondition, "addAndTrueToLoopCondition"},
|
|
{Feature::AddMockTextureNoRenderTarget, "addMockTextureNoRenderTarget"},
|
|
{Feature::AdjustSrcDstRegionForBlitFramebuffer, "adjustSrcDstRegionForBlitFramebuffer"},
|
|
{Feature::AllocateNonZeroMemory, "allocateNonZeroMemory"},
|
|
{Feature::AllowAstcFormats, "allowAstcFormats"},
|
|
{Feature::AllowBufferReadWrite, "allowBufferReadWrite"},
|
|
{Feature::AllowClearForRobustResourceInit, "allowClearForRobustResourceInit"},
|
|
{Feature::AllowCompressedFormats, "allowCompressedFormats"},
|
|
{Feature::AllowES3OnFL100, "allowES3OnFL100"},
|
|
{Feature::AllowETCFormats, "allowETCFormats"},
|
|
{Feature::AllowGenerateMipmapWithCompute, "allowGenerateMipmapWithCompute"},
|
|
{Feature::AllowGenMultipleMipsPerPass, "allowGenMultipleMipsPerPass"},
|
|
{Feature::AllowInlineConstVertexData, "allowInlineConstVertexData"},
|
|
{Feature::AllowMultisampleStoreAndResolve, "allowMultisampleStoreAndResolve"},
|
|
{Feature::AllowRuntimeSamplerCompareMode, "allowRuntimeSamplerCompareMode"},
|
|
{Feature::AllowSamplerCompareGradient, "allowSamplerCompareGradient"},
|
|
{Feature::AllowSamplerCompareLod, "allowSamplerCompareLod"},
|
|
{Feature::AllowSeparateDepthStencilBuffers, "allowSeparateDepthStencilBuffers"},
|
|
{Feature::AllowTranslateUniformBlockToStructuredBuffer,
|
|
"allowTranslateUniformBlockToStructuredBuffer"},
|
|
{Feature::AlwaysCallUseProgramAfterLink, "alwaysCallUseProgramAfterLink"},
|
|
{Feature::AlwaysUnbindFramebufferTexture2D, "alwaysUnbindFramebufferTexture2D"},
|
|
{Feature::AsyncCommandQueue, "asyncCommandQueue"},
|
|
{Feature::Avoid1BitAlphaTextureFormats, "avoid1BitAlphaTextureFormats"},
|
|
{Feature::BindTransformFeedbackBufferBeforeBindBufferRange,
|
|
"bindTransformFeedbackBufferBeforeBindBufferRange"},
|
|
{Feature::BottomLeftOriginPresentRegionRectangles, "bottomLeftOriginPresentRegionRectangles"},
|
|
{Feature::BresenhamLineRasterization, "bresenhamLineRasterization"},
|
|
{Feature::CallClearTwice, "callClearTwice"},
|
|
{Feature::ClampArrayAccess, "clampArrayAccess"},
|
|
{Feature::ClampFragDepth, "clampFragDepth"},
|
|
{Feature::ClampMscRate, "clampMscRate"},
|
|
{Feature::ClampPointSize, "clampPointSize"},
|
|
{Feature::ClearToZeroOrOneBroken, "clearToZeroOrOneBroken"},
|
|
{Feature::ClipSrcRegionForBlitFramebuffer, "clipSrcRegionForBlitFramebuffer"},
|
|
{Feature::CompressVertexData, "compressVertexData"},
|
|
{Feature::CopyIOSurfaceToNonIOSurfaceForReadOptimization,
|
|
"copyIOSurfaceToNonIOSurfaceForReadOptimization"},
|
|
{Feature::CopyTextureToBufferForReadOptimization, "copyTextureToBufferForReadOptimization"},
|
|
{Feature::DecodeEncodeSRGBForGenerateMipmap, "decodeEncodeSRGBForGenerateMipmap"},
|
|
{Feature::DeferFlushUntilEndRenderPass, "deferFlushUntilEndRenderPass"},
|
|
{Feature::DepthClamping, "depthClamping"},
|
|
{Feature::DepthStencilBlitExtraCopy, "depthStencilBlitExtraCopy"},
|
|
{Feature::DirectMetalGeneration, "directMetalGeneration"},
|
|
{Feature::DisableAnisotropicFiltering, "disableAnisotropicFiltering"},
|
|
{Feature::DisableB5G6R5Support, "disableB5G6R5Support"},
|
|
{Feature::DisableBlendFuncExtended, "disableBlendFuncExtended"},
|
|
{Feature::DisableDrawBuffersIndexed, "disableDrawBuffersIndexed"},
|
|
{Feature::DisableFifoPresentMode, "disableFifoPresentMode"},
|
|
{Feature::DisableFlippingBlitWithCommand, "disableFlippingBlitWithCommand"},
|
|
{Feature::DisableGPUSwitchingSupport, "disableGPUSwitchingSupport"},
|
|
{Feature::DisableMultisampledRenderToTexture, "disableMultisampledRenderToTexture"},
|
|
{Feature::DisableNativeParallelCompile, "disableNativeParallelCompile"},
|
|
{Feature::DisableProgramBinary, "disableProgramBinary"},
|
|
{Feature::DisableProgramCachingForTransformFeedback,
|
|
"disableProgramCachingForTransformFeedback"},
|
|
{Feature::DisableSemaphoreFd, "disableSemaphoreFd"},
|
|
{Feature::DisableSyncControlSupport, "disableSyncControlSupport"},
|
|
{Feature::DisableTextureClampToBorder, "disableTextureClampToBorder"},
|
|
{Feature::DisableTimestampQueries, "disableTimestampQueries"},
|
|
{Feature::DisableWorkerContexts, "disableWorkerContexts"},
|
|
{Feature::DisallowMixedDepthStencilLoadOpNoneAndLoad,
|
|
"disallowMixedDepthStencilLoadOpNoneAndLoad"},
|
|
{Feature::DoesSRGBClearsOnLinearFramebufferAttachments,
|
|
"doesSRGBClearsOnLinearFramebufferAttachments"},
|
|
{Feature::DontInitializeUninitializedLocals, "dontInitializeUninitializedLocals"},
|
|
{Feature::DontRelinkProgramsInParallel, "dontRelinkProgramsInParallel"},
|
|
{Feature::DontUseLoopsToInitializeVariables, "dontUseLoopsToInitializeVariables"},
|
|
{Feature::DoWhileGLSLCausesGPUHang, "doWhileGLSLCausesGPUHang"},
|
|
{Feature::EmulateAbsIntFunction, "emulateAbsIntFunction"},
|
|
{Feature::EmulateAdvancedBlendEquations, "emulateAdvancedBlendEquations"},
|
|
{Feature::EmulateAtan2Float, "emulateAtan2Float"},
|
|
{Feature::EmulateCopyTexImage2D, "emulateCopyTexImage2D"},
|
|
{Feature::EmulateCopyTexImage2DFromRenderbuffers, "emulateCopyTexImage2DFromRenderbuffers"},
|
|
{Feature::EmulateDithering, "emulateDithering"},
|
|
{Feature::EmulatedPrerotation180, "emulatedPrerotation180"},
|
|
{Feature::EmulatedPrerotation270, "emulatedPrerotation270"},
|
|
{Feature::EmulatedPrerotation90, "emulatedPrerotation90"},
|
|
{Feature::EmulateImmutableCompressedTexture3D, "emulateImmutableCompressedTexture3D"},
|
|
{Feature::EmulateIsnanFloat, "emulateIsnanFloat"},
|
|
{Feature::EmulateMaxVertexAttribStride, "emulateMaxVertexAttribStride"},
|
|
{Feature::EmulatePackSkipRowsAndPackSkipPixels, "emulatePackSkipRowsAndPackSkipPixels"},
|
|
{Feature::EmulatePixelLocalStorage, "emulatePixelLocalStorage"},
|
|
{Feature::EmulatePrimitiveRestartFixedIndex, "emulatePrimitiveRestartFixedIndex"},
|
|
{Feature::EmulateR32fImageAtomicExchange, "emulateR32fImageAtomicExchange"},
|
|
{Feature::EmulateRGB10, "emulateRGB10"},
|
|
{Feature::EmulateTinyStencilTextures, "emulateTinyStencilTextures"},
|
|
{Feature::EmulateTransformFeedback, "emulateTransformFeedback"},
|
|
{Feature::EnableCaptureLimits, "enableCaptureLimits"},
|
|
{Feature::EnableCompressingPipelineCacheInThreadPool,
|
|
"enableCompressingPipelineCacheInThreadPool"},
|
|
{Feature::EnableMultisampledRenderToTexture, "enableMultisampledRenderToTexture"},
|
|
{Feature::EnablePrecisionQualifiers, "enablePrecisionQualifiers"},
|
|
{Feature::EnablePreRotateSurfaces, "enablePreRotateSurfaces"},
|
|
{Feature::EnableProgramBinaryForCapture, "enableProgramBinaryForCapture"},
|
|
{Feature::ExpandIntegerPowExpressions, "expandIntegerPowExpressions"},
|
|
{Feature::ExplicitlyEnablePerSampleShading, "explicitlyEnablePerSampleShading"},
|
|
{Feature::ExposeNonConformantExtensionsAndVersions, "exposeNonConformantExtensionsAndVersions"},
|
|
{Feature::ExtraBufferLoggingAndChecking, "extraBufferLoggingAndChecking"},
|
|
{Feature::FinishDoesNotCauseQueriesToBeAvailable, "finishDoesNotCauseQueriesToBeAvailable"},
|
|
{Feature::FlushAfterEndingTransformFeedback, "flushAfterEndingTransformFeedback"},
|
|
{Feature::FlushBeforeDeleteTextureIfCopiedTo, "flushBeforeDeleteTextureIfCopiedTo"},
|
|
{Feature::FlushOnFramebufferChange, "flushOnFramebufferChange"},
|
|
{Feature::ForceAtomicValueResolution, "forceAtomicValueResolution"},
|
|
{Feature::ForceBufferGPUStorage, "forceBufferGPUStorage"},
|
|
{Feature::ForceContinuousRefreshOnSharedPresent, "forceContinuousRefreshOnSharedPresent"},
|
|
{Feature::ForceD16TexFilter, "forceD16TexFilter"},
|
|
{Feature::ForceD24S8AsUnsupported, "forceD24S8AsUnsupported"},
|
|
{Feature::ForceDepthAttachmentInitOnClear, "forceDepthAttachmentInitOnClear"},
|
|
{Feature::ForceFallbackFormat, "forceFallbackFormat"},
|
|
{Feature::ForceFragmentShaderPrecisionHighpToMediump,
|
|
"forceFragmentShaderPrecisionHighpToMediump"},
|
|
{Feature::ForceGlErrorChecking, "forceGlErrorChecking"},
|
|
{Feature::ForceInitShaderVariables, "forceInitShaderVariables"},
|
|
{Feature::ForceMaxUniformBufferSize16KB, "forceMaxUniformBufferSize16KB"},
|
|
{Feature::ForceNearestFiltering, "forceNearestFiltering"},
|
|
{Feature::ForceNearestMipFiltering, "forceNearestMipFiltering"},
|
|
{Feature::ForceNonCSBaseMipmapGeneration, "forceNonCSBaseMipmapGeneration"},
|
|
{Feature::ForceRobustResourceInit, "forceRobustResourceInit"},
|
|
{Feature::ForceSubmitImmutableTextureUpdates, "forceSubmitImmutableTextureUpdates"},
|
|
{Feature::ForceTextureLodOffset1, "forceTextureLodOffset1"},
|
|
{Feature::ForceTextureLodOffset2, "forceTextureLodOffset2"},
|
|
{Feature::ForceTextureLodOffset3, "forceTextureLodOffset3"},
|
|
{Feature::ForceTextureLodOffset4, "forceTextureLodOffset4"},
|
|
{Feature::GenerateSPIRVThroughGlslang, "generateSPIRVThroughGlslang"},
|
|
{Feature::GetDimensionsIgnoresBaseLevel, "getDimensionsIgnoresBaseLevel"},
|
|
{Feature::HasBaseVertexInstancedDraw, "hasBaseVertexInstancedDraw"},
|
|
{Feature::HasCheapRenderPass, "hasCheapRenderPass"},
|
|
{Feature::HasDepthAutoResolve, "hasDepthAutoResolve"},
|
|
{Feature::HasEvents, "hasEvents"},
|
|
{Feature::HasExplicitMemBarrier, "hasExplicitMemBarrier"},
|
|
{Feature::HasNonUniformDispatch, "hasNonUniformDispatch"},
|
|
{Feature::HasShaderStencilOutput, "hasShaderStencilOutput"},
|
|
{Feature::HasStencilAutoResolve, "hasStencilAutoResolve"},
|
|
{Feature::HasTextureSwizzle, "hasTextureSwizzle"},
|
|
{Feature::InitFragmentOutputVariables, "initFragmentOutputVariables"},
|
|
{Feature::InitializeCurrentVertexAttributes, "initializeCurrentVertexAttributes"},
|
|
{Feature::IntelDisableFastMath, "intelDisableFastMath"},
|
|
{Feature::IntelExplicitBoolCastWorkaround, "intelExplicitBoolCastWorkaround"},
|
|
{Feature::KeepBufferShadowCopy, "keepBufferShadowCopy"},
|
|
{Feature::LimitMax3dArrayTextureSizeTo1024, "limitMax3dArrayTextureSizeTo1024"},
|
|
{Feature::LimitMaxColorTargetBitsForTesting, "limitMaxColorTargetBitsForTesting"},
|
|
{Feature::LimitMaxDrawBuffersForTesting, "limitMaxDrawBuffersForTesting"},
|
|
{Feature::LimitMaxMSAASamplesTo4, "limitMaxMSAASamplesTo4"},
|
|
{Feature::LimitWebglMaxTextureSizeTo4096, "limitWebglMaxTextureSizeTo4096"},
|
|
{Feature::LogMemoryReportCallbacks, "logMemoryReportCallbacks"},
|
|
{Feature::LogMemoryReportStats, "logMemoryReportStats"},
|
|
{Feature::LoseContextOnOutOfMemory, "loseContextOnOutOfMemory"},
|
|
{Feature::MrtPerfWorkaround, "mrtPerfWorkaround"},
|
|
{Feature::MultisampleColorFormatShaderReadWorkaround,
|
|
"multisampleColorFormatShaderReadWorkaround"},
|
|
{Feature::MutableMipmapTextureUpload, "mutableMipmapTextureUpload"},
|
|
{Feature::OverrideSurfaceFormatRGB8ToRGBA8, "overrideSurfaceFormatRGB8ToRGBA8"},
|
|
{Feature::PackLastRowSeparatelyForPaddingInclusion, "packLastRowSeparatelyForPaddingInclusion"},
|
|
{Feature::PackOverlappingRowsSeparatelyPackBuffer, "packOverlappingRowsSeparatelyPackBuffer"},
|
|
{Feature::PadBuffersToMaxVertexAttribStride, "padBuffersToMaxVertexAttribStride"},
|
|
{Feature::PerFrameWindowSizeQuery, "perFrameWindowSizeQuery"},
|
|
{Feature::PermanentlySwitchToFramebufferFetchMode, "permanentlySwitchToFramebufferFetchMode"},
|
|
{Feature::PersistentlyMappedBuffers, "persistentlyMappedBuffers"},
|
|
{Feature::PreAddTexelFetchOffsets, "preAddTexelFetchOffsets"},
|
|
{Feature::PrecisionSafeDivision, "precisionSafeDivision"},
|
|
{Feature::PreferAggregateBarrierCalls, "preferAggregateBarrierCalls"},
|
|
{Feature::PreferCPUForBufferSubData, "preferCPUForBufferSubData"},
|
|
{Feature::PreferDeviceLocalMemoryHostVisible, "preferDeviceLocalMemoryHostVisible"},
|
|
{Feature::PreferDrawClearOverVkCmdClearAttachments, "preferDrawClearOverVkCmdClearAttachments"},
|
|
{Feature::PreferDriverUniformOverSpecConst, "preferDriverUniformOverSpecConst"},
|
|
{Feature::PreferLinearFilterForYUV, "preferLinearFilterForYUV"},
|
|
{Feature::PreferSkippingInvalidateForEmulatedFormats,
|
|
"preferSkippingInvalidateForEmulatedFormats"},
|
|
{Feature::PreferSubmitAtFBOBoundary, "preferSubmitAtFBOBoundary"},
|
|
{Feature::PromotePackedFormatsTo8BitPerChannel, "promotePackedFormatsTo8BitPerChannel"},
|
|
{Feature::ProvokingVertex, "provokingVertex"},
|
|
{Feature::QueryCounterBitsGeneratesErrors, "queryCounterBitsGeneratesErrors"},
|
|
{Feature::ReadPixelsUsingImplementationColorReadFormatForNorm16,
|
|
"readPixelsUsingImplementationColorReadFormatForNorm16"},
|
|
{Feature::ReapplyUBOBindingsAfterUsingBinaryProgram,
|
|
"reapplyUBOBindingsAfterUsingBinaryProgram"},
|
|
{Feature::RegenerateStructNames, "regenerateStructNames"},
|
|
{Feature::RemoveDynamicIndexingOfSwizzledVector, "removeDynamicIndexingOfSwizzledVector"},
|
|
{Feature::RemoveInvariantAndCentroidForESSL3, "removeInvariantAndCentroidForESSL3"},
|
|
{Feature::ResetTexImage2DBaseLevel, "resetTexImage2DBaseLevel"},
|
|
{Feature::RetainSPIRVDebugInfo, "retainSPIRVDebugInfo"},
|
|
{Feature::RewriteFloatUnaryMinusOperator, "rewriteFloatUnaryMinusOperator"},
|
|
{Feature::RewriteRepeatedAssignToSwizzled, "rewriteRepeatedAssignToSwizzled"},
|
|
{Feature::RewriteRowMajorMatrices, "rewriteRowMajorMatrices"},
|
|
{Feature::RewriteUnaryMinusOperator, "rewriteUnaryMinusOperator"},
|
|
{Feature::RGBA4IsNotSupportedForColorRendering, "RGBA4IsNotSupportedForColorRendering"},
|
|
{Feature::RGBDXT1TexturesSampleZeroAlpha, "RGBDXT1TexturesSampleZeroAlpha"},
|
|
{Feature::RoundOutputAfterDithering, "roundOutputAfterDithering"},
|
|
{Feature::SanitizeAMDGPURendererString, "sanitizeAMDGPURendererString"},
|
|
{Feature::ScalarizeVecAndMatConstructorArgs, "scalarizeVecAndMatConstructorArgs"},
|
|
{Feature::SelectViewInGeometryShader, "selectViewInGeometryShader"},
|
|
{Feature::SetDataFasterThanImageUpload, "setDataFasterThanImageUpload"},
|
|
{Feature::SetPrimitiveRestartFixedIndexForDrawArrays,
|
|
"setPrimitiveRestartFixedIndexForDrawArrays"},
|
|
{Feature::SetZeroLevelBeforeGenerateMipmap, "setZeroLevelBeforeGenerateMipmap"},
|
|
{Feature::ShadowBuffers, "shadowBuffers"},
|
|
{Feature::ShiftInstancedArrayDataWithOffset, "shiftInstancedArrayDataWithOffset"},
|
|
{Feature::SkipVSConstantRegisterZero, "skipVSConstantRegisterZero"},
|
|
{Feature::SupportsAndroidHardwareBuffer, "supportsAndroidHardwareBuffer"},
|
|
{Feature::SupportsAndroidNativeFenceSync, "supportsAndroidNativeFenceSync"},
|
|
{Feature::SupportsBlendOperationAdvanced, "supportsBlendOperationAdvanced"},
|
|
{Feature::SupportsCustomBorderColor, "supportsCustomBorderColor"},
|
|
{Feature::SupportsDepthClipControl, "supportsDepthClipControl"},
|
|
{Feature::SupportsDepthStencilResolve, "supportsDepthStencilResolve"},
|
|
{Feature::SupportsExtendedDynamicState, "supportsExtendedDynamicState"},
|
|
{Feature::SupportsExtendedDynamicState2, "supportsExtendedDynamicState2"},
|
|
{Feature::SupportsExternalFenceCapabilities, "supportsExternalFenceCapabilities"},
|
|
{Feature::SupportsExternalFenceFd, "supportsExternalFenceFd"},
|
|
{Feature::SupportsExternalMemoryDmaBufAndModifiers, "supportsExternalMemoryDmaBufAndModifiers"},
|
|
{Feature::SupportsExternalMemoryFd, "supportsExternalMemoryFd"},
|
|
{Feature::SupportsExternalMemoryFuchsia, "supportsExternalMemoryFuchsia"},
|
|
{Feature::SupportsExternalMemoryHost, "supportsExternalMemoryHost"},
|
|
{Feature::SupportsExternalSemaphoreCapabilities, "supportsExternalSemaphoreCapabilities"},
|
|
{Feature::SupportsExternalSemaphoreFd, "supportsExternalSemaphoreFd"},
|
|
{Feature::SupportsExternalSemaphoreFuchsia, "supportsExternalSemaphoreFuchsia"},
|
|
{Feature::SupportsFilteringPrecision, "supportsFilteringPrecision"},
|
|
{Feature::SupportsFragmentShaderInterlockARB, "supportsFragmentShaderInterlockARB"},
|
|
{Feature::SupportsFragmentShaderInterlockNV, "supportsFragmentShaderInterlockNV"},
|
|
{Feature::SupportsFragmentShaderOrderingINTEL, "supportsFragmentShaderOrderingINTEL"},
|
|
{Feature::SupportsFragmentShadingRate, "supportsFragmentShadingRate"},
|
|
{Feature::SupportsGeometryStreamsCapability, "supportsGeometryStreamsCapability"},
|
|
{Feature::SupportsGGPFrameToken, "supportsGGPFrameToken"},
|
|
{Feature::SupportsHostQueryReset, "supportsHostQueryReset"},
|
|
{Feature::SupportsImage2dViewOf3d, "supportsImage2dViewOf3d"},
|
|
{Feature::SupportsImageCubeArray, "supportsImageCubeArray"},
|
|
{Feature::SupportsImageFormatList, "supportsImageFormatList"},
|
|
{Feature::SupportsIncrementalPresent, "supportsIncrementalPresent"},
|
|
{Feature::SupportsIndexTypeUint8, "supportsIndexTypeUint8"},
|
|
{Feature::SupportsLockSurfaceExtension, "supportsLockSurfaceExtension"},
|
|
{Feature::SupportsMultiDrawIndirect, "supportsMultiDrawIndirect"},
|
|
{Feature::SupportsMultisampledRenderToSingleSampled,
|
|
"supportsMultisampledRenderToSingleSampled"},
|
|
{Feature::SupportsMultiview, "supportsMultiview"},
|
|
{Feature::SupportsNegativeViewport, "supportsNegativeViewport"},
|
|
{Feature::SupportsPipelineCreationCacheControl, "supportsPipelineCreationCacheControl"},
|
|
{Feature::SupportsPipelineCreationFeedback, "supportsPipelineCreationFeedback"},
|
|
{Feature::SupportsPipelineStatisticsQuery, "supportsPipelineStatisticsQuery"},
|
|
{Feature::SupportsProtectedMemory, "supportsProtectedMemory"},
|
|
{Feature::SupportsRenderpass2, "supportsRenderpass2"},
|
|
{Feature::SupportsRenderPassLoadStoreOpNone, "supportsRenderPassLoadStoreOpNone"},
|
|
{Feature::SupportsRenderPassStoreOpNone, "supportsRenderPassStoreOpNone"},
|
|
{Feature::SupportsShaderFloat16, "supportsShaderFloat16"},
|
|
{Feature::SupportsShaderFramebufferFetch, "supportsShaderFramebufferFetch"},
|
|
{Feature::SupportsShaderFramebufferFetchNonCoherent,
|
|
"supportsShaderFramebufferFetchNonCoherent"},
|
|
{Feature::SupportsShaderStencilExport, "supportsShaderStencilExport"},
|
|
{Feature::SupportsSharedPresentableImageExtension, "supportsSharedPresentableImageExtension"},
|
|
{Feature::SupportsSurfaceCapabilities2Extension, "supportsSurfaceCapabilities2Extension"},
|
|
{Feature::SupportsSurfacelessQueryExtension, "supportsSurfacelessQueryExtension"},
|
|
{Feature::SupportsSurfaceProtectedCapabilitiesExtension,
|
|
"supportsSurfaceProtectedCapabilitiesExtension"},
|
|
{Feature::SupportsSurfaceProtectedSwapchains, "supportsSurfaceProtectedSwapchains"},
|
|
{Feature::SupportsTransformFeedbackExtension, "supportsTransformFeedbackExtension"},
|
|
{Feature::SupportsYUVSamplerConversion, "supportsYUVSamplerConversion"},
|
|
{Feature::SupportsYuvTarget, "supportsYuvTarget"},
|
|
{Feature::SwapbuffersOnFlushOrFinishWithSingleBuffer,
|
|
"swapbuffersOnFlushOrFinishWithSingleBuffer"},
|
|
{Feature::SyncVertexArraysToDefault, "syncVertexArraysToDefault"},
|
|
{Feature::UnbindFBOBeforeSwitchingContext, "unbindFBOBeforeSwitchingContext"},
|
|
{Feature::UnfoldShortCircuits, "unfoldShortCircuits"},
|
|
{Feature::UnpackLastRowSeparatelyForPaddingInclusion,
|
|
"unpackLastRowSeparatelyForPaddingInclusion"},
|
|
{Feature::UnpackOverlappingRowsSeparatelyUnpackBuffer,
|
|
"unpackOverlappingRowsSeparatelyUnpackBuffer"},
|
|
{Feature::UnsizedSRGBReadPixelsDoesntTransform, "unsizedSRGBReadPixelsDoesntTransform"},
|
|
{Feature::UploadTextureDataInChunks, "uploadTextureDataInChunks"},
|
|
{Feature::UseInstancedPointSpriteEmulation, "useInstancedPointSpriteEmulation"},
|
|
{Feature::UseMultipleDescriptorsForExternalFormats, "useMultipleDescriptorsForExternalFormats"},
|
|
{Feature::UseNonZeroStencilWriteMaskStaticState, "useNonZeroStencilWriteMaskStaticState"},
|
|
{Feature::UseSystemMemoryForConstantBuffers, "useSystemMemoryForConstantBuffers"},
|
|
{Feature::UseUnusedBlocksWithStandardOrSharedLayout,
|
|
"useUnusedBlocksWithStandardOrSharedLayout"},
|
|
{Feature::VertexIDDoesNotIncludeBaseVertex, "vertexIDDoesNotIncludeBaseVertex"},
|
|
{Feature::WaitIdleBeforeSwapchainRecreation, "waitIdleBeforeSwapchainRecreation"},
|
|
{Feature::WarmUpPipelineCacheAtLink, "warmUpPipelineCacheAtLink"},
|
|
{Feature::ZeroMaxLodWorkaround, "zeroMaxLodWorkaround"},
|
|
}};
|
|
} // anonymous namespace
|
|
|
|
const char *GetFeatureName(Feature feature)
|
|
{
|
|
return kFeatureNames[feature];
|
|
}
|
|
|
|
} // namespace angle
|