xref: /aosp_15_r20/external/angle/util/autogen/angle_features_autogen.cpp (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1*8975f5c5SAndroid Build Coastguard Worker // GENERATED FILE - DO NOT EDIT.
2*8975f5c5SAndroid Build Coastguard Worker // Generated by gen_features.py using data from *_features.json.
3*8975f5c5SAndroid Build Coastguard Worker //
4*8975f5c5SAndroid Build Coastguard Worker // Copyright 2022 The ANGLE Project Authors. All rights reserved.
5*8975f5c5SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be
6*8975f5c5SAndroid Build Coastguard Worker // found in the LICENSE file.
7*8975f5c5SAndroid Build Coastguard Worker //
8*8975f5c5SAndroid Build Coastguard Worker // angle_features_autogen.cpp: List of ANGLE features to help enable/disable them in tests.
9*8975f5c5SAndroid Build Coastguard Worker 
10*8975f5c5SAndroid Build Coastguard Worker #include "angle_features_autogen.h"
11*8975f5c5SAndroid Build Coastguard Worker 
12*8975f5c5SAndroid Build Coastguard Worker #include "common/PackedEnums.h"
13*8975f5c5SAndroid Build Coastguard Worker 
14*8975f5c5SAndroid Build Coastguard Worker namespace angle
15*8975f5c5SAndroid Build Coastguard Worker {
16*8975f5c5SAndroid Build Coastguard Worker namespace
17*8975f5c5SAndroid Build Coastguard Worker {
18*8975f5c5SAndroid Build Coastguard Worker constexpr PackedEnumMap<Feature, const char *> kFeatureNames = {{
19*8975f5c5SAndroid Build Coastguard Worker     {Feature::AddAndTrueToLoopCondition, "addAndTrueToLoopCondition"},
20*8975f5c5SAndroid Build Coastguard Worker     {Feature::AddMockTextureNoRenderTarget, "addMockTextureNoRenderTarget"},
21*8975f5c5SAndroid Build Coastguard Worker     {Feature::AdjustClearColorPrecision, "adjustClearColorPrecision"},
22*8975f5c5SAndroid Build Coastguard Worker     {Feature::AdjustSrcDstRegionForBlitFramebuffer, "adjustSrcDstRegionForBlitFramebuffer"},
23*8975f5c5SAndroid Build Coastguard Worker     {Feature::AllocateNonZeroMemory, "allocateNonZeroMemory"},
24*8975f5c5SAndroid Build Coastguard Worker     {Feature::AllowAstcFormats, "allowAstcFormats"},
25*8975f5c5SAndroid Build Coastguard Worker     {Feature::AllowBufferReadWrite, "allowBufferReadWrite"},
26*8975f5c5SAndroid Build Coastguard Worker     {Feature::AllowClearForRobustResourceInit, "allowClearForRobustResourceInit"},
27*8975f5c5SAndroid Build Coastguard Worker     {Feature::AllowCompressedFormats, "allowCompressedFormats"},
28*8975f5c5SAndroid Build Coastguard Worker     {Feature::AllowES3OnFL100, "allowES3OnFL100"},
29*8975f5c5SAndroid Build Coastguard Worker     {Feature::AllowETCFormats, "allowETCFormats"},
30*8975f5c5SAndroid Build Coastguard Worker     {Feature::AllowGenerateMipmapWithCompute, "allowGenerateMipmapWithCompute"},
31*8975f5c5SAndroid Build Coastguard Worker     {Feature::AllowGenMultipleMipsPerPass, "allowGenMultipleMipsPerPass"},
32*8975f5c5SAndroid Build Coastguard Worker     {Feature::AllowHostImageCopyDespiteNonIdenticalLayout, "allowHostImageCopyDespiteNonIdenticalLayout"},
33*8975f5c5SAndroid Build Coastguard Worker     {Feature::AllowInlineConstVertexData, "allowInlineConstVertexData"},
34*8975f5c5SAndroid Build Coastguard Worker     {Feature::AllowMultisampledRenderToTextureEmulation, "allowMultisampledRenderToTextureEmulation"},
35*8975f5c5SAndroid Build Coastguard Worker     {Feature::AllowMultisampleStoreAndResolve, "allowMultisampleStoreAndResolve"},
36*8975f5c5SAndroid Build Coastguard Worker     {Feature::AllowRenderpassWithoutAttachment, "allowRenderpassWithoutAttachment"},
37*8975f5c5SAndroid Build Coastguard Worker     {Feature::AllowRuntimeSamplerCompareMode, "allowRuntimeSamplerCompareMode"},
38*8975f5c5SAndroid Build Coastguard Worker     {Feature::AllowSamplerCompareGradient, "allowSamplerCompareGradient"},
39*8975f5c5SAndroid Build Coastguard Worker     {Feature::AllowSeparateDepthStencilBuffers, "allowSeparateDepthStencilBuffers"},
40*8975f5c5SAndroid Build Coastguard Worker     {Feature::AllowTranslateUniformBlockToStructuredBuffer, "allowTranslateUniformBlockToStructuredBuffer"},
41*8975f5c5SAndroid Build Coastguard Worker     {Feature::AlwaysCallUseProgramAfterLink, "alwaysCallUseProgramAfterLink"},
42*8975f5c5SAndroid Build Coastguard Worker     {Feature::AlwaysEnableEmulatedMultidrawExtensions, "alwaysEnableEmulatedMultidrawExtensions"},
43*8975f5c5SAndroid Build Coastguard Worker     {Feature::AlwaysPreferStagedTextureUploads, "alwaysPreferStagedTextureUploads"},
44*8975f5c5SAndroid Build Coastguard Worker     {Feature::AlwaysRunLinkSubJobsThreaded, "alwaysRunLinkSubJobsThreaded"},
45*8975f5c5SAndroid Build Coastguard Worker     {Feature::AlwaysUnbindFramebufferTexture2D, "alwaysUnbindFramebufferTexture2D"},
46*8975f5c5SAndroid Build Coastguard Worker     {Feature::AlwaysUseManagedStorageModeForBuffers, "alwaysUseManagedStorageModeForBuffers"},
47*8975f5c5SAndroid Build Coastguard Worker     {Feature::AlwaysUseSharedStorageModeForBuffers, "alwaysUseSharedStorageModeForBuffers"},
48*8975f5c5SAndroid Build Coastguard Worker     {Feature::AlwaysUseStagedBufferUpdates, "alwaysUseStagedBufferUpdates"},
49*8975f5c5SAndroid Build Coastguard Worker     {Feature::AppendAliasedMemoryDecorations, "appendAliasedMemoryDecorations"},
50*8975f5c5SAndroid Build Coastguard Worker     {Feature::AsyncCommandBufferResetAndGarbageCleanup, "asyncCommandBufferResetAndGarbageCleanup"},
51*8975f5c5SAndroid Build Coastguard Worker     {Feature::AsyncCommandQueue, "asyncCommandQueue"},
52*8975f5c5SAndroid Build Coastguard Worker     {Feature::Avoid1BitAlphaTextureFormats, "avoid1BitAlphaTextureFormats"},
53*8975f5c5SAndroid Build Coastguard Worker     {Feature::AvoidBindFragDataLocation, "avoidBindFragDataLocation"},
54*8975f5c5SAndroid Build Coastguard Worker     {Feature::AvoidOpSelectWithMismatchingRelaxedPrecision, "avoidOpSelectWithMismatchingRelaxedPrecision"},
55*8975f5c5SAndroid Build Coastguard Worker     {Feature::AvoidStencilTextureSwizzle, "avoidStencilTextureSwizzle"},
56*8975f5c5SAndroid Build Coastguard Worker     {Feature::BgraTexImageFormatsBroken, "bgraTexImageFormatsBroken"},
57*8975f5c5SAndroid Build Coastguard Worker     {Feature::BindCompleteFramebufferForTimerQueries, "bindCompleteFramebufferForTimerQueries"},
58*8975f5c5SAndroid Build Coastguard Worker     {Feature::BindTransformFeedbackBufferBeforeBindBufferRange, "bindTransformFeedbackBufferBeforeBindBufferRange"},
59*8975f5c5SAndroid Build Coastguard Worker     {Feature::BorderColorSrgb, "borderColorSrgb"},
60*8975f5c5SAndroid Build Coastguard Worker     {Feature::BottomLeftOriginPresentRegionRectangles, "bottomLeftOriginPresentRegionRectangles"},
61*8975f5c5SAndroid Build Coastguard Worker     {Feature::BresenhamLineRasterization, "bresenhamLineRasterization"},
62*8975f5c5SAndroid Build Coastguard Worker     {Feature::CacheCompiledShader, "cacheCompiledShader"},
63*8975f5c5SAndroid Build Coastguard Worker     {Feature::CallClearTwice, "callClearTwice"},
64*8975f5c5SAndroid Build Coastguard Worker     {Feature::ClampArrayAccess, "clampArrayAccess"},
65*8975f5c5SAndroid Build Coastguard Worker     {Feature::ClampFragDepth, "clampFragDepth"},
66*8975f5c5SAndroid Build Coastguard Worker     {Feature::ClampMscRate, "clampMscRate"},
67*8975f5c5SAndroid Build Coastguard Worker     {Feature::ClampPointSize, "clampPointSize"},
68*8975f5c5SAndroid Build Coastguard Worker     {Feature::ClDumpVkSpirv, "clDumpVkSpirv"},
69*8975f5c5SAndroid Build Coastguard Worker     {Feature::ClearsWithGapsNeedFlush, "clearsWithGapsNeedFlush"},
70*8975f5c5SAndroid Build Coastguard Worker     {Feature::ClearToZeroOrOneBroken, "clearToZeroOrOneBroken"},
71*8975f5c5SAndroid Build Coastguard Worker     {Feature::ClipSrcRegionForBlitFramebuffer, "clipSrcRegionForBlitFramebuffer"},
72*8975f5c5SAndroid Build Coastguard Worker     {Feature::CompileJobIsThreadSafe, "compileJobIsThreadSafe"},
73*8975f5c5SAndroid Build Coastguard Worker     {Feature::CompileMetalShaders, "compileMetalShaders"},
74*8975f5c5SAndroid Build Coastguard Worker     {Feature::CompressVertexData, "compressVertexData"},
75*8975f5c5SAndroid Build Coastguard Worker     {Feature::CopyIOSurfaceToNonIOSurfaceForReadOptimization, "copyIOSurfaceToNonIOSurfaceForReadOptimization"},
76*8975f5c5SAndroid Build Coastguard Worker     {Feature::CopyTextureToBufferForReadOptimization, "copyTextureToBufferForReadOptimization"},
77*8975f5c5SAndroid Build Coastguard Worker     {Feature::CorruptProgramBinaryForTesting, "corruptProgramBinaryForTesting"},
78*8975f5c5SAndroid Build Coastguard Worker     {Feature::DecodeEncodeSRGBForGenerateMipmap, "decodeEncodeSRGBForGenerateMipmap"},
79*8975f5c5SAndroid Build Coastguard Worker     {Feature::DepthStencilBlitExtraCopy, "depthStencilBlitExtraCopy"},
80*8975f5c5SAndroid Build Coastguard Worker     {Feature::DescriptorSetCache, "descriptorSetCache"},
81*8975f5c5SAndroid Build Coastguard Worker     {Feature::DisableAnisotropicFiltering, "disableAnisotropicFiltering"},
82*8975f5c5SAndroid Build Coastguard Worker     {Feature::DisableB5G6R5Support, "disableB5G6R5Support"},
83*8975f5c5SAndroid Build Coastguard Worker     {Feature::DisableBaseInstanceVertex, "disableBaseInstanceVertex"},
84*8975f5c5SAndroid Build Coastguard Worker     {Feature::DisableBlendEquationAdvanced, "disableBlendEquationAdvanced"},
85*8975f5c5SAndroid Build Coastguard Worker     {Feature::DisableBlendFuncExtended, "disableBlendFuncExtended"},
86*8975f5c5SAndroid Build Coastguard Worker     {Feature::DisableClipControl, "disableClipControl"},
87*8975f5c5SAndroid Build Coastguard Worker     {Feature::DisableDepthStencilResolveThroughAttachment, "disableDepthStencilResolveThroughAttachment"},
88*8975f5c5SAndroid Build Coastguard Worker     {Feature::DisableDrawBuffersIndexed, "disableDrawBuffersIndexed"},
89*8975f5c5SAndroid Build Coastguard Worker     {Feature::DisableFlippingBlitWithCommand, "disableFlippingBlitWithCommand"},
90*8975f5c5SAndroid Build Coastguard Worker     {Feature::DisableGPUSwitchingSupport, "disableGPUSwitchingSupport"},
91*8975f5c5SAndroid Build Coastguard Worker     {Feature::DisableMetalOnNvidia, "disableMetalOnNvidia"},
92*8975f5c5SAndroid Build Coastguard Worker     {Feature::DisableMultisampledRenderToTexture, "disableMultisampledRenderToTexture"},
93*8975f5c5SAndroid Build Coastguard Worker     {Feature::DisableNativeParallelCompile, "disableNativeParallelCompile"},
94*8975f5c5SAndroid Build Coastguard Worker     {Feature::DisablePipelineCacheLoadForTesting, "disablePipelineCacheLoadForTesting"},
95*8975f5c5SAndroid Build Coastguard Worker     {Feature::DisableProgramBinary, "disableProgramBinary"},
96*8975f5c5SAndroid Build Coastguard Worker     {Feature::DisableProgramCaching, "disableProgramCaching"},
97*8975f5c5SAndroid Build Coastguard Worker     {Feature::DisableProgramCachingForTransformFeedback, "disableProgramCachingForTransformFeedback"},
98*8975f5c5SAndroid Build Coastguard Worker     {Feature::DisableProgrammableBlending, "disableProgrammableBlending"},
99*8975f5c5SAndroid Build Coastguard Worker     {Feature::DisableRasterizerOrderViews, "disableRasterizerOrderViews"},
100*8975f5c5SAndroid Build Coastguard Worker     {Feature::DisableRasterOrderGroups, "disableRasterOrderGroups"},
101*8975f5c5SAndroid Build Coastguard Worker     {Feature::DisableRenderSnorm, "disableRenderSnorm"},
102*8975f5c5SAndroid Build Coastguard Worker     {Feature::DisableRWTextureTier2Support, "disableRWTextureTier2Support"},
103*8975f5c5SAndroid Build Coastguard Worker     {Feature::DisableSemaphoreFd, "disableSemaphoreFd"},
104*8975f5c5SAndroid Build Coastguard Worker     {Feature::DisableSeparateShaderObjects, "disableSeparateShaderObjects"},
105*8975f5c5SAndroid Build Coastguard Worker     {Feature::DisableStagedInitializationOfPackedTextureFormats, "disableStagedInitializationOfPackedTextureFormats"},
106*8975f5c5SAndroid Build Coastguard Worker     {Feature::DisableSyncControlSupport, "disableSyncControlSupport"},
107*8975f5c5SAndroid Build Coastguard Worker     {Feature::DisableTextureClampToBorder, "disableTextureClampToBorder"},
108*8975f5c5SAndroid Build Coastguard Worker     {Feature::DisableTextureMirrorClampToEdge, "disableTextureMirrorClampToEdge"},
109*8975f5c5SAndroid Build Coastguard Worker     {Feature::DisableTiledRendering, "disableTiledRendering"},
110*8975f5c5SAndroid Build Coastguard Worker     {Feature::DisableTimestampQueries, "disableTimestampQueries"},
111*8975f5c5SAndroid Build Coastguard Worker     {Feature::DisallowMixedDepthStencilLoadOpNoneAndLoad, "disallowMixedDepthStencilLoadOpNoneAndLoad"},
112*8975f5c5SAndroid Build Coastguard Worker     {Feature::DoesSRGBClearsOnLinearFramebufferAttachments, "doesSRGBClearsOnLinearFramebufferAttachments"},
113*8975f5c5SAndroid Build Coastguard Worker     {Feature::DontInitializeUninitializedLocals, "dontInitializeUninitializedLocals"},
114*8975f5c5SAndroid Build Coastguard Worker     {Feature::DontUseLoopsToInitializeVariables, "dontUseLoopsToInitializeVariables"},
115*8975f5c5SAndroid Build Coastguard Worker     {Feature::DoubleDepthBiasConstantFactor, "doubleDepthBiasConstantFactor"},
116*8975f5c5SAndroid Build Coastguard Worker     {Feature::DoWhileGLSLCausesGPUHang, "doWhileGLSLCausesGPUHang"},
117*8975f5c5SAndroid Build Coastguard Worker     {Feature::DumpShaderSource, "dumpShaderSource"},
118*8975f5c5SAndroid Build Coastguard Worker     {Feature::DumpTranslatedShaders, "dumpTranslatedShaders"},
119*8975f5c5SAndroid Build Coastguard Worker     {Feature::EglColorspaceAttributePassthrough, "eglColorspaceAttributePassthrough"},
120*8975f5c5SAndroid Build Coastguard Worker     {Feature::EmulateAbsIntFunction, "emulateAbsIntFunction"},
121*8975f5c5SAndroid Build Coastguard Worker     {Feature::EmulateAdvancedBlendEquations, "emulateAdvancedBlendEquations"},
122*8975f5c5SAndroid Build Coastguard Worker     {Feature::EmulateAlphaToCoverage, "emulateAlphaToCoverage"},
123*8975f5c5SAndroid Build Coastguard Worker     {Feature::EmulateAtan2Float, "emulateAtan2Float"},
124*8975f5c5SAndroid Build Coastguard Worker     {Feature::EmulateClipDistanceState, "emulateClipDistanceState"},
125*8975f5c5SAndroid Build Coastguard Worker     {Feature::EmulateClipOrigin, "emulateClipOrigin"},
126*8975f5c5SAndroid Build Coastguard Worker     {Feature::EmulateCopyTexImage2D, "emulateCopyTexImage2D"},
127*8975f5c5SAndroid Build Coastguard Worker     {Feature::EmulateCopyTexImage2DFromRenderbuffers, "emulateCopyTexImage2DFromRenderbuffers"},
128*8975f5c5SAndroid Build Coastguard Worker     {Feature::EmulateDithering, "emulateDithering"},
129*8975f5c5SAndroid Build Coastguard Worker     {Feature::EmulateDontCareLoadWithRandomClear, "emulateDontCareLoadWithRandomClear"},
130*8975f5c5SAndroid Build Coastguard Worker     {Feature::EmulatedPrerotation180, "emulatedPrerotation180"},
131*8975f5c5SAndroid Build Coastguard Worker     {Feature::EmulatedPrerotation270, "emulatedPrerotation270"},
132*8975f5c5SAndroid Build Coastguard Worker     {Feature::EmulatedPrerotation90, "emulatedPrerotation90"},
133*8975f5c5SAndroid Build Coastguard Worker     {Feature::EmulateImmutableCompressedTexture3D, "emulateImmutableCompressedTexture3D"},
134*8975f5c5SAndroid Build Coastguard Worker     {Feature::EmulateIsnanFloat, "emulateIsnanFloat"},
135*8975f5c5SAndroid Build Coastguard Worker     {Feature::EmulateMaxVertexAttribStride, "emulateMaxVertexAttribStride"},
136*8975f5c5SAndroid Build Coastguard Worker     {Feature::EmulatePackSkipRowsAndPackSkipPixels, "emulatePackSkipRowsAndPackSkipPixels"},
137*8975f5c5SAndroid Build Coastguard Worker     {Feature::EmulatePixelLocalStorage, "emulatePixelLocalStorage"},
138*8975f5c5SAndroid Build Coastguard Worker     {Feature::EmulatePrimitiveRestartFixedIndex, "emulatePrimitiveRestartFixedIndex"},
139*8975f5c5SAndroid Build Coastguard Worker     {Feature::EmulateR32fImageAtomicExchange, "emulateR32fImageAtomicExchange"},
140*8975f5c5SAndroid Build Coastguard Worker     {Feature::EmulateRGB10, "emulateRGB10"},
141*8975f5c5SAndroid Build Coastguard Worker     {Feature::EmulateTinyStencilTextures, "emulateTinyStencilTextures"},
142*8975f5c5SAndroid Build Coastguard Worker     {Feature::EmulateTransformFeedback, "emulateTransformFeedback"},
143*8975f5c5SAndroid Build Coastguard Worker     {Feature::EnableAdditionalBlendFactorsForDithering, "enableAdditionalBlendFactorsForDithering"},
144*8975f5c5SAndroid Build Coastguard Worker     {Feature::EnableAsyncPipelineCacheCompression, "enableAsyncPipelineCacheCompression"},
145*8975f5c5SAndroid Build Coastguard Worker     {Feature::EnableCaptureLimits, "enableCaptureLimits"},
146*8975f5c5SAndroid Build Coastguard Worker     {Feature::EnableInMemoryMtlLibraryCache, "enableInMemoryMtlLibraryCache"},
147*8975f5c5SAndroid Build Coastguard Worker     {Feature::EnableMergeClientAttribBuffer, "enableMergeClientAttribBuffer"},
148*8975f5c5SAndroid Build Coastguard Worker     {Feature::EnableMultisampledRenderToTexture, "enableMultisampledRenderToTexture"},
149*8975f5c5SAndroid Build Coastguard Worker     {Feature::EnableMultisampledRenderToTextureOnNonTilers, "enableMultisampledRenderToTextureOnNonTilers"},
150*8975f5c5SAndroid Build Coastguard Worker     {Feature::EnableParallelCompileAndLink, "enableParallelCompileAndLink"},
151*8975f5c5SAndroid Build Coastguard Worker     {Feature::EnableParallelMtlLibraryCompilation, "enableParallelMtlLibraryCompilation"},
152*8975f5c5SAndroid Build Coastguard Worker     {Feature::EnablePipelineCacheDataCompression, "enablePipelineCacheDataCompression"},
153*8975f5c5SAndroid Build Coastguard Worker     {Feature::EnablePortabilityEnumeration, "enablePortabilityEnumeration"},
154*8975f5c5SAndroid Build Coastguard Worker     {Feature::EnablePrecisionQualifiers, "enablePrecisionQualifiers"},
155*8975f5c5SAndroid Build Coastguard Worker     {Feature::EnablePreRotateSurfaces, "enablePreRotateSurfaces"},
156*8975f5c5SAndroid Build Coastguard Worker     {Feature::EnableProgramBinaryForCapture, "enableProgramBinaryForCapture"},
157*8975f5c5SAndroid Build Coastguard Worker     {Feature::EnableShaderSubstitution, "enableShaderSubstitution"},
158*8975f5c5SAndroid Build Coastguard Worker     {Feature::EnableTimestampQueries, "enableTimestampQueries"},
159*8975f5c5SAndroid Build Coastguard Worker     {Feature::EnableTranslatedShaderSubstitution, "enableTranslatedShaderSubstitution"},
160*8975f5c5SAndroid Build Coastguard Worker     {Feature::EnsureNonEmptyBufferIsBoundForDraw, "ensureNonEmptyBufferIsBoundForDraw"},
161*8975f5c5SAndroid Build Coastguard Worker     {Feature::ExpandIntegerPowExpressions, "expandIntegerPowExpressions"},
162*8975f5c5SAndroid Build Coastguard Worker     {Feature::ExplicitFragmentLocations, "explicitFragmentLocations"},
163*8975f5c5SAndroid Build Coastguard Worker     {Feature::ExplicitlyCastMediumpFloatTo16Bit, "explicitlyCastMediumpFloatTo16Bit"},
164*8975f5c5SAndroid Build Coastguard Worker     {Feature::ExplicitlyEnablePerSampleShading, "explicitlyEnablePerSampleShading"},
165*8975f5c5SAndroid Build Coastguard Worker     {Feature::ExposeES32ForTesting, "exposeES32ForTesting"},
166*8975f5c5SAndroid Build Coastguard Worker     {Feature::ExposeNonConformantExtensionsAndVersions, "exposeNonConformantExtensionsAndVersions"},
167*8975f5c5SAndroid Build Coastguard Worker     {Feature::FinishDoesNotCauseQueriesToBeAvailable, "finishDoesNotCauseQueriesToBeAvailable"},
168*8975f5c5SAndroid Build Coastguard Worker     {Feature::FlushAfterEndingTransformFeedback, "flushAfterEndingTransformFeedback"},
169*8975f5c5SAndroid Build Coastguard Worker     {Feature::FlushAfterStreamVertexData, "flushAfterStreamVertexData"},
170*8975f5c5SAndroid Build Coastguard Worker     {Feature::FlushBeforeDeleteTextureIfCopiedTo, "flushBeforeDeleteTextureIfCopiedTo"},
171*8975f5c5SAndroid Build Coastguard Worker     {Feature::FlushOnFramebufferChange, "flushOnFramebufferChange"},
172*8975f5c5SAndroid Build Coastguard Worker     {Feature::ForceAtomicValueResolution, "forceAtomicValueResolution"},
173*8975f5c5SAndroid Build Coastguard Worker     {Feature::ForceBufferGPUStorage, "forceBufferGPUStorage"},
174*8975f5c5SAndroid Build Coastguard Worker     {Feature::ForceContinuousRefreshOnSharedPresent, "forceContinuousRefreshOnSharedPresent"},
175*8975f5c5SAndroid Build Coastguard Worker     {Feature::ForceD16TexFilter, "forceD16TexFilter"},
176*8975f5c5SAndroid Build Coastguard Worker     {Feature::ForceD24S8AsUnsupported, "forceD24S8AsUnsupported"},
177*8975f5c5SAndroid Build Coastguard Worker     {Feature::ForceDepthAttachmentInitOnClear, "forceDepthAttachmentInitOnClear"},
178*8975f5c5SAndroid Build Coastguard Worker     {Feature::ForceDisableFullScreenExclusive, "forceDisableFullScreenExclusive"},
179*8975f5c5SAndroid Build Coastguard Worker     {Feature::ForceFallbackFormat, "forceFallbackFormat"},
180*8975f5c5SAndroid Build Coastguard Worker     {Feature::ForceFlushAfterDrawcallUsingShadowmap, "forceFlushAfterDrawcallUsingShadowmap"},
181*8975f5c5SAndroid Build Coastguard Worker     {Feature::ForceFragmentShaderPrecisionHighpToMediump, "forceFragmentShaderPrecisionHighpToMediump"},
182*8975f5c5SAndroid Build Coastguard Worker     {Feature::ForceGlErrorChecking, "forceGlErrorChecking"},
183*8975f5c5SAndroid Build Coastguard Worker     {Feature::ForceInitShaderVariables, "forceInitShaderVariables"},
184*8975f5c5SAndroid Build Coastguard Worker     {Feature::ForceMaxUniformBufferSize16KB, "forceMaxUniformBufferSize16KB"},
185*8975f5c5SAndroid Build Coastguard Worker     {Feature::ForceMinimumMaxVertexAttributes, "forceMinimumMaxVertexAttributes"},
186*8975f5c5SAndroid Build Coastguard Worker     {Feature::ForceNearestFiltering, "forceNearestFiltering"},
187*8975f5c5SAndroid Build Coastguard Worker     {Feature::ForceNearestMipFiltering, "forceNearestMipFiltering"},
188*8975f5c5SAndroid Build Coastguard Worker     {Feature::ForceNonCSBaseMipmapGeneration, "forceNonCSBaseMipmapGeneration"},
189*8975f5c5SAndroid Build Coastguard Worker     {Feature::ForceRobustResourceInit, "forceRobustResourceInit"},
190*8975f5c5SAndroid Build Coastguard Worker     {Feature::ForceSampleUsageForAhbBackedImages, "forceSampleUsageForAhbBackedImages"},
191*8975f5c5SAndroid Build Coastguard Worker     {Feature::ForceSubmitImmutableTextureUpdates, "forceSubmitImmutableTextureUpdates"},
192*8975f5c5SAndroid Build Coastguard Worker     {Feature::ForceTextureLodOffset1, "forceTextureLodOffset1"},
193*8975f5c5SAndroid Build Coastguard Worker     {Feature::ForceTextureLodOffset2, "forceTextureLodOffset2"},
194*8975f5c5SAndroid Build Coastguard Worker     {Feature::ForceTextureLodOffset3, "forceTextureLodOffset3"},
195*8975f5c5SAndroid Build Coastguard Worker     {Feature::ForceTextureLodOffset4, "forceTextureLodOffset4"},
196*8975f5c5SAndroid Build Coastguard Worker     {Feature::ForceWaitForSubmissionToCompleteForQueryResult, "forceWaitForSubmissionToCompleteForQueryResult"},
197*8975f5c5SAndroid Build Coastguard Worker     {Feature::GenerateFragmentShadingRateAttchementWithCpu, "generateFragmentShadingRateAttchementWithCpu"},
198*8975f5c5SAndroid Build Coastguard Worker     {Feature::GenerateShareableShaders, "generateShareableShaders"},
199*8975f5c5SAndroid Build Coastguard Worker     {Feature::GetDimensionsIgnoresBaseLevel, "getDimensionsIgnoresBaseLevel"},
200*8975f5c5SAndroid Build Coastguard Worker     {Feature::HasBaseVertexInstancedDraw, "hasBaseVertexInstancedDraw"},
201*8975f5c5SAndroid Build Coastguard Worker     {Feature::HasBlobCacheThatEvictsOldItemsFirst, "hasBlobCacheThatEvictsOldItemsFirst"},
202*8975f5c5SAndroid Build Coastguard Worker     {Feature::HasCheapRenderPass, "hasCheapRenderPass"},
203*8975f5c5SAndroid Build Coastguard Worker     {Feature::HasDepthAutoResolve, "hasDepthAutoResolve"},
204*8975f5c5SAndroid Build Coastguard Worker     {Feature::HasEffectivePipelineCacheSerialization, "hasEffectivePipelineCacheSerialization"},
205*8975f5c5SAndroid Build Coastguard Worker     {Feature::HasEvents, "hasEvents"},
206*8975f5c5SAndroid Build Coastguard Worker     {Feature::HasExplicitMemBarrier, "hasExplicitMemBarrier"},
207*8975f5c5SAndroid Build Coastguard Worker     {Feature::HasNonUniformDispatch, "hasNonUniformDispatch"},
208*8975f5c5SAndroid Build Coastguard Worker     {Feature::HasShaderStencilOutput, "hasShaderStencilOutput"},
209*8975f5c5SAndroid Build Coastguard Worker     {Feature::HasStencilAutoResolve, "hasStencilAutoResolve"},
210*8975f5c5SAndroid Build Coastguard Worker     {Feature::HasTextureSwizzle, "hasTextureSwizzle"},
211*8975f5c5SAndroid Build Coastguard Worker     {Feature::InitFragmentOutputVariables, "initFragmentOutputVariables"},
212*8975f5c5SAndroid Build Coastguard Worker     {Feature::InitializeCurrentVertexAttributes, "initializeCurrentVertexAttributes"},
213*8975f5c5SAndroid Build Coastguard Worker     {Feature::InjectAsmStatementIntoLoopBodies, "injectAsmStatementIntoLoopBodies"},
214*8975f5c5SAndroid Build Coastguard Worker     {Feature::IntelDisableFastMath, "intelDisableFastMath"},
215*8975f5c5SAndroid Build Coastguard Worker     {Feature::IntelExplicitBoolCastWorkaround, "intelExplicitBoolCastWorkaround"},
216*8975f5c5SAndroid Build Coastguard Worker     {Feature::KeepBufferShadowCopy, "keepBufferShadowCopy"},
217*8975f5c5SAndroid Build Coastguard Worker     {Feature::LimitMax3dArrayTextureSizeTo1024, "limitMax3dArrayTextureSizeTo1024"},
218*8975f5c5SAndroid Build Coastguard Worker     {Feature::LimitMaxColorTargetBitsForTesting, "limitMaxColorTargetBitsForTesting"},
219*8975f5c5SAndroid Build Coastguard Worker     {Feature::LimitMaxDrawBuffersForTesting, "limitMaxDrawBuffersForTesting"},
220*8975f5c5SAndroid Build Coastguard Worker     {Feature::LimitMaxMSAASamplesTo4, "limitMaxMSAASamplesTo4"},
221*8975f5c5SAndroid Build Coastguard Worker     {Feature::LimitMaxStorageBufferSize, "limitMaxStorageBufferSize"},
222*8975f5c5SAndroid Build Coastguard Worker     {Feature::LimitSampleCountTo2, "limitSampleCountTo2"},
223*8975f5c5SAndroid Build Coastguard Worker     {Feature::LimitWebglMaxTextureSizeTo4096, "limitWebglMaxTextureSizeTo4096"},
224*8975f5c5SAndroid Build Coastguard Worker     {Feature::LimitWebglMaxTextureSizeTo8192, "limitWebglMaxTextureSizeTo8192"},
225*8975f5c5SAndroid Build Coastguard Worker     {Feature::LinkJobIsThreadSafe, "linkJobIsThreadSafe"},
226*8975f5c5SAndroid Build Coastguard Worker     {Feature::LoadMetalShadersFromBlobCache, "loadMetalShadersFromBlobCache"},
227*8975f5c5SAndroid Build Coastguard Worker     {Feature::LogMemoryReportCallbacks, "logMemoryReportCallbacks"},
228*8975f5c5SAndroid Build Coastguard Worker     {Feature::LogMemoryReportStats, "logMemoryReportStats"},
229*8975f5c5SAndroid Build Coastguard Worker     {Feature::LoseContextOnOutOfMemory, "loseContextOnOutOfMemory"},
230*8975f5c5SAndroid Build Coastguard Worker     {Feature::MapUnspecifiedColorSpaceToPassThrough, "mapUnspecifiedColorSpaceToPassThrough"},
231*8975f5c5SAndroid Build Coastguard Worker     {Feature::MergeProgramPipelineCachesToGlobalCache, "mergeProgramPipelineCachesToGlobalCache"},
232*8975f5c5SAndroid Build Coastguard Worker     {Feature::MrtPerfWorkaround, "mrtPerfWorkaround"},
233*8975f5c5SAndroid Build Coastguard Worker     {Feature::MultisampleColorFormatShaderReadWorkaround, "multisampleColorFormatShaderReadWorkaround"},
234*8975f5c5SAndroid Build Coastguard Worker     {Feature::MutableMipmapTextureUpload, "mutableMipmapTextureUpload"},
235*8975f5c5SAndroid Build Coastguard Worker     {Feature::OverrideSurfaceFormatRGB8ToRGBA8, "overrideSurfaceFormatRGB8ToRGBA8"},
236*8975f5c5SAndroid Build Coastguard Worker     {Feature::PackLastRowSeparatelyForPaddingInclusion, "packLastRowSeparatelyForPaddingInclusion"},
237*8975f5c5SAndroid Build Coastguard Worker     {Feature::PackOverlappingRowsSeparatelyPackBuffer, "packOverlappingRowsSeparatelyPackBuffer"},
238*8975f5c5SAndroid Build Coastguard Worker     {Feature::PadBuffersToMaxVertexAttribStride, "padBuffersToMaxVertexAttribStride"},
239*8975f5c5SAndroid Build Coastguard Worker     {Feature::PassHighpToPackUnormSnormBuiltins, "passHighpToPackUnormSnormBuiltins"},
240*8975f5c5SAndroid Build Coastguard Worker     {Feature::PerFrameWindowSizeQuery, "perFrameWindowSizeQuery"},
241*8975f5c5SAndroid Build Coastguard Worker     {Feature::PermanentlySwitchToFramebufferFetchMode, "permanentlySwitchToFramebufferFetchMode"},
242*8975f5c5SAndroid Build Coastguard Worker     {Feature::PersistentlyMappedBuffers, "persistentlyMappedBuffers"},
243*8975f5c5SAndroid Build Coastguard Worker     {Feature::PreAddTexelFetchOffsets, "preAddTexelFetchOffsets"},
244*8975f5c5SAndroid Build Coastguard Worker     {Feature::PreemptivelyStartProvokingVertexCommandBuffer, "preemptivelyStartProvokingVertexCommandBuffer"},
245*8975f5c5SAndroid Build Coastguard Worker     {Feature::PreferAggregateBarrierCalls, "preferAggregateBarrierCalls"},
246*8975f5c5SAndroid Build Coastguard Worker     {Feature::PreferCachedNoncoherentForDynamicStreamBufferUsage, "preferCachedNoncoherentForDynamicStreamBufferUsage"},
247*8975f5c5SAndroid Build Coastguard Worker     {Feature::PreferCpuForBuffersubdata, "preferCpuForBuffersubdata"},
248*8975f5c5SAndroid Build Coastguard Worker     {Feature::PreferCPUForBufferSubData, "preferCPUForBufferSubData"},
249*8975f5c5SAndroid Build Coastguard Worker     {Feature::PreferDeviceLocalMemoryHostVisible, "preferDeviceLocalMemoryHostVisible"},
250*8975f5c5SAndroid Build Coastguard Worker     {Feature::PreferDoubleBufferSwapchainOnFifoMode, "preferDoubleBufferSwapchainOnFifoMode"},
251*8975f5c5SAndroid Build Coastguard Worker     {Feature::PreferDrawClearOverVkCmdClearAttachments, "preferDrawClearOverVkCmdClearAttachments"},
252*8975f5c5SAndroid Build Coastguard Worker     {Feature::PreferDriverUniformOverSpecConst, "preferDriverUniformOverSpecConst"},
253*8975f5c5SAndroid Build Coastguard Worker     {Feature::PreferDynamicRendering, "preferDynamicRendering"},
254*8975f5c5SAndroid Build Coastguard Worker     {Feature::PreferHostCachedForNonStaticBufferUsage, "preferHostCachedForNonStaticBufferUsage"},
255*8975f5c5SAndroid Build Coastguard Worker     {Feature::PreferLinearFilterForYUV, "preferLinearFilterForYUV"},
256*8975f5c5SAndroid Build Coastguard Worker     {Feature::PreferMonolithicPipelinesOverLibraries, "preferMonolithicPipelinesOverLibraries"},
257*8975f5c5SAndroid Build Coastguard Worker     {Feature::PreferMSRTSSFlagByDefault, "preferMSRTSSFlagByDefault"},
258*8975f5c5SAndroid Build Coastguard Worker     {Feature::PreferSkippingInvalidateForEmulatedFormats, "preferSkippingInvalidateForEmulatedFormats"},
259*8975f5c5SAndroid Build Coastguard Worker     {Feature::PreferSubmitAtFBOBoundary, "preferSubmitAtFBOBoundary"},
260*8975f5c5SAndroid Build Coastguard Worker     {Feature::PreferSubmitOnAnySamplesPassedQueryEnd, "preferSubmitOnAnySamplesPassedQueryEnd"},
261*8975f5c5SAndroid Build Coastguard Worker     {Feature::PreTransformTextureCubeGradDerivatives, "preTransformTextureCubeGradDerivatives"},
262*8975f5c5SAndroid Build Coastguard Worker     {Feature::PrintMetalShaders, "printMetalShaders"},
263*8975f5c5SAndroid Build Coastguard Worker     {Feature::PromotePackedFormatsTo8BitPerChannel, "promotePackedFormatsTo8BitPerChannel"},
264*8975f5c5SAndroid Build Coastguard Worker     {Feature::ProvokingVertex, "provokingVertex"},
265*8975f5c5SAndroid Build Coastguard Worker     {Feature::QueryCounterBitsGeneratesErrors, "queryCounterBitsGeneratesErrors"},
266*8975f5c5SAndroid Build Coastguard Worker     {Feature::ReadPixelsUsingImplementationColorReadFormatForNorm16, "readPixelsUsingImplementationColorReadFormatForNorm16"},
267*8975f5c5SAndroid Build Coastguard Worker     {Feature::ReapplyUBOBindingsAfterUsingBinaryProgram, "reapplyUBOBindingsAfterUsingBinaryProgram"},
268*8975f5c5SAndroid Build Coastguard Worker     {Feature::RegenerateStructNames, "regenerateStructNames"},
269*8975f5c5SAndroid Build Coastguard Worker     {Feature::RejectWebglShadersWithUndefinedBehavior, "rejectWebglShadersWithUndefinedBehavior"},
270*8975f5c5SAndroid Build Coastguard Worker     {Feature::RemoveDynamicIndexingOfSwizzledVector, "removeDynamicIndexingOfSwizzledVector"},
271*8975f5c5SAndroid Build Coastguard Worker     {Feature::RemoveInvariantAndCentroidForESSL3, "removeInvariantAndCentroidForESSL3"},
272*8975f5c5SAndroid Build Coastguard Worker     {Feature::RequireGpuFamily2, "requireGpuFamily2"},
273*8975f5c5SAndroid Build Coastguard Worker     {Feature::RescopeGlobalVariables, "rescopeGlobalVariables"},
274*8975f5c5SAndroid Build Coastguard Worker     {Feature::ResetTexImage2DBaseLevel, "resetTexImage2DBaseLevel"},
275*8975f5c5SAndroid Build Coastguard Worker     {Feature::ResyncDepthRangeOnClipControl, "resyncDepthRangeOnClipControl"},
276*8975f5c5SAndroid Build Coastguard Worker     {Feature::RetainSPIRVDebugInfo, "retainSPIRVDebugInfo"},
277*8975f5c5SAndroid Build Coastguard Worker     {Feature::RewriteFloatUnaryMinusOperator, "rewriteFloatUnaryMinusOperator"},
278*8975f5c5SAndroid Build Coastguard Worker     {Feature::RewriteRepeatedAssignToSwizzled, "rewriteRepeatedAssignToSwizzled"},
279*8975f5c5SAndroid Build Coastguard Worker     {Feature::RewriteRowMajorMatrices, "rewriteRowMajorMatrices"},
280*8975f5c5SAndroid Build Coastguard Worker     {Feature::RewriteUnaryMinusOperator, "rewriteUnaryMinusOperator"},
281*8975f5c5SAndroid Build Coastguard Worker     {Feature::RGBA4IsNotSupportedForColorRendering, "RGBA4IsNotSupportedForColorRendering"},
282*8975f5c5SAndroid Build Coastguard Worker     {Feature::RGBDXT1TexturesSampleZeroAlpha, "RGBDXT1TexturesSampleZeroAlpha"},
283*8975f5c5SAndroid Build Coastguard Worker     {Feature::RoundOutputAfterDithering, "roundOutputAfterDithering"},
284*8975f5c5SAndroid Build Coastguard Worker     {Feature::SanitizeAMDGPURendererString, "sanitizeAMDGPURendererString"},
285*8975f5c5SAndroid Build Coastguard Worker     {Feature::ScalarizeVecAndMatConstructorArgs, "scalarizeVecAndMatConstructorArgs"},
286*8975f5c5SAndroid Build Coastguard Worker     {Feature::SelectViewInGeometryShader, "selectViewInGeometryShader"},
287*8975f5c5SAndroid Build Coastguard Worker     {Feature::SetDataFasterThanImageUpload, "setDataFasterThanImageUpload"},
288*8975f5c5SAndroid Build Coastguard Worker     {Feature::SetPrimitiveRestartFixedIndexForDrawArrays, "setPrimitiveRestartFixedIndexForDrawArrays"},
289*8975f5c5SAndroid Build Coastguard Worker     {Feature::SetZeroLevelBeforeGenerateMipmap, "setZeroLevelBeforeGenerateMipmap"},
290*8975f5c5SAndroid Build Coastguard Worker     {Feature::ShiftInstancedArrayDataWithOffset, "shiftInstancedArrayDataWithOffset"},
291*8975f5c5SAndroid Build Coastguard Worker     {Feature::SingleThreadedTextureDecompression, "singleThreadedTextureDecompression"},
292*8975f5c5SAndroid Build Coastguard Worker     {Feature::SkipVSConstantRegisterZero, "skipVSConstantRegisterZero"},
293*8975f5c5SAndroid Build Coastguard Worker     {Feature::SlowAsyncCommandQueueForTesting, "slowAsyncCommandQueueForTesting"},
294*8975f5c5SAndroid Build Coastguard Worker     {Feature::SlowDownMonolithicPipelineCreationForTesting, "slowDownMonolithicPipelineCreationForTesting"},
295*8975f5c5SAndroid Build Coastguard Worker     {Feature::SrgbBlendingBroken, "srgbBlendingBroken"},
296*8975f5c5SAndroid Build Coastguard Worker     {Feature::Supports16BitInputOutput, "supports16BitInputOutput"},
297*8975f5c5SAndroid Build Coastguard Worker     {Feature::Supports16BitPushConstant, "supports16BitPushConstant"},
298*8975f5c5SAndroid Build Coastguard Worker     {Feature::Supports16BitStorageBuffer, "supports16BitStorageBuffer"},
299*8975f5c5SAndroid Build Coastguard Worker     {Feature::Supports16BitUniformAndStorageBuffer, "supports16BitUniformAndStorageBuffer"},
300*8975f5c5SAndroid Build Coastguard Worker     {Feature::Supports8BitPushConstant, "supports8BitPushConstant"},
301*8975f5c5SAndroid Build Coastguard Worker     {Feature::Supports8BitStorageBuffer, "supports8BitStorageBuffer"},
302*8975f5c5SAndroid Build Coastguard Worker     {Feature::Supports8BitUniformAndStorageBuffer, "supports8BitUniformAndStorageBuffer"},
303*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsAndroidHardwareBuffer, "supportsAndroidHardwareBuffer"},
304*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsAndroidNativeFenceSync, "supportsAndroidNativeFenceSync"},
305*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsAstcSliced3d, "supportsAstcSliced3d"},
306*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsBindMemory2, "supportsBindMemory2"},
307*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsBlendOperationAdvanced, "supportsBlendOperationAdvanced"},
308*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsBlendOperationAdvancedCoherent, "supportsBlendOperationAdvancedCoherent"},
309*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsColorWriteEnable, "supportsColorWriteEnable"},
310*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsComputeTranscodeEtcToBc, "supportsComputeTranscodeEtcToBc"},
311*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsCustomBorderColor, "supportsCustomBorderColor"},
312*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsDenormFtzFp16, "supportsDenormFtzFp16"},
313*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsDenormFtzFp32, "supportsDenormFtzFp32"},
314*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsDenormFtzFp64, "supportsDenormFtzFp64"},
315*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsDenormPreserveFp16, "supportsDenormPreserveFp16"},
316*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsDenormPreserveFp32, "supportsDenormPreserveFp32"},
317*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsDenormPreserveFp64, "supportsDenormPreserveFp64"},
318*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsDepthClampZeroOne, "supportsDepthClampZeroOne"},
319*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsDepthClipControl, "supportsDepthClipControl"},
320*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsDepthStencilIndependentResolveNone, "supportsDepthStencilIndependentResolveNone"},
321*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsDepthStencilResolve, "supportsDepthStencilResolve"},
322*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsDynamicRendering, "supportsDynamicRendering"},
323*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsDynamicRenderingLocalRead, "supportsDynamicRenderingLocalRead"},
324*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsExtendedDynamicState, "supportsExtendedDynamicState"},
325*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsExtendedDynamicState2, "supportsExtendedDynamicState2"},
326*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsExternalFenceCapabilities, "supportsExternalFenceCapabilities"},
327*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsExternalFenceFd, "supportsExternalFenceFd"},
328*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsExternalFormatResolve, "supportsExternalFormatResolve"},
329*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsExternalMemoryDmaBufAndModifiers, "supportsExternalMemoryDmaBufAndModifiers"},
330*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsExternalMemoryFd, "supportsExternalMemoryFd"},
331*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsExternalMemoryFuchsia, "supportsExternalMemoryFuchsia"},
332*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsExternalMemoryHost, "supportsExternalMemoryHost"},
333*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsExternalSemaphoreCapabilities, "supportsExternalSemaphoreCapabilities"},
334*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsExternalSemaphoreFd, "supportsExternalSemaphoreFd"},
335*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsExternalSemaphoreFuchsia, "supportsExternalSemaphoreFuchsia"},
336*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsFormatFeatureFlags2, "supportsFormatFeatureFlags2"},
337*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsFoveatedRendering, "supportsFoveatedRendering"},
338*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsFragmentShaderInterlockARB, "supportsFragmentShaderInterlockARB"},
339*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsFragmentShaderInterlockNV, "supportsFragmentShaderInterlockNV"},
340*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsFragmentShaderOrderingINTEL, "supportsFragmentShaderOrderingINTEL"},
341*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsFragmentShaderPixelInterlock, "supportsFragmentShaderPixelInterlock"},
342*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsFragmentShadingRate, "supportsFragmentShadingRate"},
343*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsFullScreenExclusive, "supportsFullScreenExclusive"},
344*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsGeometryStreamsCapability, "supportsGeometryStreamsCapability"},
345*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsGetMemoryRequirements2, "supportsGetMemoryRequirements2"},
346*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsGGPFrameToken, "supportsGGPFrameToken"},
347*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsGraphicsPipelineLibrary, "supportsGraphicsPipelineLibrary"},
348*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsHostImageCopy, "supportsHostImageCopy"},
349*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsHostQueryReset, "supportsHostQueryReset"},
350*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsImage2dViewOf3d, "supportsImage2dViewOf3d"},
351*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsImageCompressionControl, "supportsImageCompressionControl"},
352*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsImageCubeArray, "supportsImageCubeArray"},
353*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsImageFormatList, "supportsImageFormatList"},
354*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsImagelessFramebuffer, "supportsImagelessFramebuffer"},
355*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsIncrementalPresent, "supportsIncrementalPresent"},
356*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsIndexTypeUint8, "supportsIndexTypeUint8"},
357*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsLegacyDithering, "supportsLegacyDithering"},
358*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsLockSurfaceExtension, "supportsLockSurfaceExtension"},
359*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsLogicOpDynamicState, "supportsLogicOpDynamicState"},
360*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsMaintenance5, "supportsMaintenance5"},
361*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsMemoryBudget, "supportsMemoryBudget"},
362*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsMixedReadWriteDepthStencilLayouts, "supportsMixedReadWriteDepthStencilLayouts"},
363*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsMultiDrawIndirect, "supportsMultiDrawIndirect"},
364*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsMultisampledRenderToSingleSampled, "supportsMultisampledRenderToSingleSampled"},
365*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsMultiview, "supportsMultiview"},
366*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsNonConstantLoopIndexing, "supportsNonConstantLoopIndexing"},
367*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsPipelineCreationFeedback, "supportsPipelineCreationFeedback"},
368*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsPipelineProtectedAccess, "supportsPipelineProtectedAccess"},
369*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsPipelineRobustness, "supportsPipelineRobustness"},
370*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsPipelineStatisticsQuery, "supportsPipelineStatisticsQuery"},
371*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsPortabilityEnumeration, "supportsPortabilityEnumeration"},
372*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsPresentation, "supportsPresentation"},
373*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsPrimitivesGeneratedQuery, "supportsPrimitivesGeneratedQuery"},
374*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsPrimitiveTopologyListRestart, "supportsPrimitiveTopologyListRestart"},
375*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsProtectedMemory, "supportsProtectedMemory"},
376*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsRasterizationOrderAttachmentAccess, "supportsRasterizationOrderAttachmentAccess"},
377*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsRenderpass2, "supportsRenderpass2"},
378*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsRenderPassLoadStoreOpNone, "supportsRenderPassLoadStoreOpNone"},
379*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsRenderPassStoreOpNone, "supportsRenderPassStoreOpNone"},
380*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsRoundingModeRteFp16, "supportsRoundingModeRteFp16"},
381*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsRoundingModeRteFp32, "supportsRoundingModeRteFp32"},
382*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsRoundingModeRteFp64, "supportsRoundingModeRteFp64"},
383*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsRoundingModeRtzFp16, "supportsRoundingModeRtzFp16"},
384*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsRoundingModeRtzFp32, "supportsRoundingModeRtzFp32"},
385*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsRoundingModeRtzFp64, "supportsRoundingModeRtzFp64"},
386*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsSampler2dViewOf3d, "supportsSampler2dViewOf3d"},
387*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsSamplerMirrorClampToEdge, "supportsSamplerMirrorClampToEdge"},
388*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsShaderFloat16, "supportsShaderFloat16"},
389*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsShaderFloat64, "supportsShaderFloat64"},
390*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsShaderFramebufferFetch, "supportsShaderFramebufferFetch"},
391*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsShaderFramebufferFetchDepthStencil, "supportsShaderFramebufferFetchDepthStencil"},
392*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsShaderFramebufferFetchEXT, "supportsShaderFramebufferFetchEXT"},
393*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsShaderFramebufferFetchNonCoherent, "supportsShaderFramebufferFetchNonCoherent"},
394*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsShaderFramebufferFetchNonCoherentEXT, "supportsShaderFramebufferFetchNonCoherentEXT"},
395*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsShaderInt8, "supportsShaderInt8"},
396*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsShaderNonSemanticInfo, "supportsShaderNonSemanticInfo"},
397*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsShaderStencilExport, "supportsShaderStencilExport"},
398*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsSharedPresentableImageExtension, "supportsSharedPresentableImageExtension"},
399*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsSignedZeroInfNanPreserveFp16, "supportsSignedZeroInfNanPreserveFp16"},
400*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsSignedZeroInfNanPreserveFp32, "supportsSignedZeroInfNanPreserveFp32"},
401*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsSignedZeroInfNanPreserveFp64, "supportsSignedZeroInfNanPreserveFp64"},
402*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsSPIRV14, "supportsSPIRV14"},
403*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsSurfaceCapabilities2Extension, "supportsSurfaceCapabilities2Extension"},
404*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsSurfacelessQueryExtension, "supportsSurfacelessQueryExtension"},
405*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsSurfaceMaintenance1, "supportsSurfaceMaintenance1"},
406*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsSurfaceProtectedCapabilitiesExtension, "supportsSurfaceProtectedCapabilitiesExtension"},
407*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsSurfaceProtectedSwapchains, "supportsSurfaceProtectedSwapchains"},
408*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsSwapchainMaintenance1, "supportsSwapchainMaintenance1"},
409*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsSynchronization2, "supportsSynchronization2"},
410*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsTextureCompressionAstcHdr, "supportsTextureCompressionAstcHdr"},
411*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsTimelineSemaphore, "supportsTimelineSemaphore"},
412*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsTimestampSurfaceAttribute, "supportsTimestampSurfaceAttribute"},
413*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsTransformFeedbackExtension, "supportsTransformFeedbackExtension"},
414*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsVertexInputDynamicState, "supportsVertexInputDynamicState"},
415*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsYUVSamplerConversion, "supportsYUVSamplerConversion"},
416*8975f5c5SAndroid Build Coastguard Worker     {Feature::SupportsYuvTarget, "supportsYuvTarget"},
417*8975f5c5SAndroid Build Coastguard Worker     {Feature::SwapbuffersOnFlushOrFinishWithSingleBuffer, "swapbuffersOnFlushOrFinishWithSingleBuffer"},
418*8975f5c5SAndroid Build Coastguard Worker     {Feature::SyncAllVertexArraysToDefault, "syncAllVertexArraysToDefault"},
419*8975f5c5SAndroid Build Coastguard Worker     {Feature::SyncDefaultVertexArraysToDefault, "syncDefaultVertexArraysToDefault"},
420*8975f5c5SAndroid Build Coastguard Worker     {Feature::SyncMonolithicPipelinesToBlobCache, "syncMonolithicPipelinesToBlobCache"},
421*8975f5c5SAndroid Build Coastguard Worker     {Feature::UnbindFBOBeforeSwitchingContext, "unbindFBOBeforeSwitchingContext"},
422*8975f5c5SAndroid Build Coastguard Worker     {Feature::UncurrentEglSurfaceUponSurfaceDestroy, "uncurrentEglSurfaceUponSurfaceDestroy"},
423*8975f5c5SAndroid Build Coastguard Worker     {Feature::UnfoldShortCircuits, "unfoldShortCircuits"},
424*8975f5c5SAndroid Build Coastguard Worker     {Feature::UnpackLastRowSeparatelyForPaddingInclusion, "unpackLastRowSeparatelyForPaddingInclusion"},
425*8975f5c5SAndroid Build Coastguard Worker     {Feature::UnpackOverlappingRowsSeparatelyUnpackBuffer, "unpackOverlappingRowsSeparatelyUnpackBuffer"},
426*8975f5c5SAndroid Build Coastguard Worker     {Feature::UnsizedSRGBReadPixelsDoesntTransform, "unsizedSRGBReadPixelsDoesntTransform"},
427*8975f5c5SAndroid Build Coastguard Worker     {Feature::UploadDataToIosurfacesWithStagingBuffers, "uploadDataToIosurfacesWithStagingBuffers"},
428*8975f5c5SAndroid Build Coastguard Worker     {Feature::UploadTextureDataInChunks, "uploadTextureDataInChunks"},
429*8975f5c5SAndroid Build Coastguard Worker     {Feature::UseCullModeDynamicState, "useCullModeDynamicState"},
430*8975f5c5SAndroid Build Coastguard Worker     {Feature::UseDepthBiasEnableDynamicState, "useDepthBiasEnableDynamicState"},
431*8975f5c5SAndroid Build Coastguard Worker     {Feature::UseDepthCompareOpDynamicState, "useDepthCompareOpDynamicState"},
432*8975f5c5SAndroid Build Coastguard Worker     {Feature::UseDepthTestEnableDynamicState, "useDepthTestEnableDynamicState"},
433*8975f5c5SAndroid Build Coastguard Worker     {Feature::UseDepthWriteEnableDynamicState, "useDepthWriteEnableDynamicState"},
434*8975f5c5SAndroid Build Coastguard Worker     {Feature::UseDualPipelineBlobCacheSlots, "useDualPipelineBlobCacheSlots"},
435*8975f5c5SAndroid Build Coastguard Worker     {Feature::UseEmptyBlobsToEraseOldPipelineCacheFromBlobCache, "useEmptyBlobsToEraseOldPipelineCacheFromBlobCache"},
436*8975f5c5SAndroid Build Coastguard Worker     {Feature::UseFrontFaceDynamicState, "useFrontFaceDynamicState"},
437*8975f5c5SAndroid Build Coastguard Worker     {Feature::UseIntermediateTextureForGenerateMipmap, "useIntermediateTextureForGenerateMipmap"},
438*8975f5c5SAndroid Build Coastguard Worker     {Feature::UseMultipleDescriptorsForExternalFormats, "useMultipleDescriptorsForExternalFormats"},
439*8975f5c5SAndroid Build Coastguard Worker     {Feature::UseNonZeroStencilWriteMaskStaticState, "useNonZeroStencilWriteMaskStaticState"},
440*8975f5c5SAndroid Build Coastguard Worker     {Feature::UsePrimitiveRestartEnableDynamicState, "usePrimitiveRestartEnableDynamicState"},
441*8975f5c5SAndroid Build Coastguard Worker     {Feature::UseRasterizerDiscardEnableDynamicState, "useRasterizerDiscardEnableDynamicState"},
442*8975f5c5SAndroid Build Coastguard Worker     {Feature::UseResetCommandBufferBitForSecondaryPools, "useResetCommandBufferBitForSecondaryPools"},
443*8975f5c5SAndroid Build Coastguard Worker     {Feature::UseShadowBuffersWhenAppropriate, "useShadowBuffersWhenAppropriate"},
444*8975f5c5SAndroid Build Coastguard Worker     {Feature::UseStencilOpDynamicState, "useStencilOpDynamicState"},
445*8975f5c5SAndroid Build Coastguard Worker     {Feature::UseStencilTestEnableDynamicState, "useStencilTestEnableDynamicState"},
446*8975f5c5SAndroid Build Coastguard Worker     {Feature::UseSystemMemoryForConstantBuffers, "useSystemMemoryForConstantBuffers"},
447*8975f5c5SAndroid Build Coastguard Worker     {Feature::UseUnusedBlocksWithStandardOrSharedLayout, "useUnusedBlocksWithStandardOrSharedLayout"},
448*8975f5c5SAndroid Build Coastguard Worker     {Feature::UseVertexInputBindingStrideDynamicState, "useVertexInputBindingStrideDynamicState"},
449*8975f5c5SAndroid Build Coastguard Worker     {Feature::UseVkEventForImageBarrier, "useVkEventForImageBarrier"},
450*8975f5c5SAndroid Build Coastguard Worker     {Feature::UseVmaForImageSuballocation, "useVmaForImageSuballocation"},
451*8975f5c5SAndroid Build Coastguard Worker     {Feature::VaryingsRequireMatchingPrecisionInSpirv, "varyingsRequireMatchingPrecisionInSpirv"},
452*8975f5c5SAndroid Build Coastguard Worker     {Feature::VerifyPipelineCacheInBlobCache, "verifyPipelineCacheInBlobCache"},
453*8975f5c5SAndroid Build Coastguard Worker     {Feature::VertexIDDoesNotIncludeBaseVertex, "vertexIDDoesNotIncludeBaseVertex"},
454*8975f5c5SAndroid Build Coastguard Worker     {Feature::WaitIdleBeforeSwapchainRecreation, "waitIdleBeforeSwapchainRecreation"},
455*8975f5c5SAndroid Build Coastguard Worker     {Feature::WarmUpPipelineCacheAtLink, "warmUpPipelineCacheAtLink"},
456*8975f5c5SAndroid Build Coastguard Worker     {Feature::WrapSwitchInIfTrue, "wrapSwitchInIfTrue"},
457*8975f5c5SAndroid Build Coastguard Worker     {Feature::WriteHelperSampleMask, "writeHelperSampleMask"},
458*8975f5c5SAndroid Build Coastguard Worker     {Feature::ZeroMaxLodWorkaround, "zeroMaxLodWorkaround"},
459*8975f5c5SAndroid Build Coastguard Worker }};
460*8975f5c5SAndroid Build Coastguard Worker }  // anonymous namespace
461*8975f5c5SAndroid Build Coastguard Worker 
GetFeatureName(Feature feature)462*8975f5c5SAndroid Build Coastguard Worker const char *GetFeatureName(Feature feature)
463*8975f5c5SAndroid Build Coastguard Worker {
464*8975f5c5SAndroid Build Coastguard Worker     return kFeatureNames[feature];
465*8975f5c5SAndroid Build Coastguard Worker }
466*8975f5c5SAndroid Build Coastguard Worker 
467*8975f5c5SAndroid Build Coastguard Worker }  // namespace angle
468