xref: /aosp_15_r20/external/angle/util/autogen/angle_features_autogen.h (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1 // GENERATED FILE - DO NOT EDIT.
2 // Generated by gen_features.py using data from *_features.json.
3 //
4 // Copyright 2022 The ANGLE Project Authors. All rights reserved.
5 // Use of this source code is governed by a BSD-style license that can be
6 // found in the LICENSE file.
7 //
8 // angle_features_autogen.h: List of ANGLE features to help enable/disable them in tests.
9 
10 #ifndef ANGLE_SRC_TESTS_TEST_UTIL_AUTOGEN_ANGLE_FEATURES_AUTOGEN_H_
11 #define ANGLE_SRC_TESTS_TEST_UTIL_AUTOGEN_ANGLE_FEATURES_AUTOGEN_H_
12 
13 #include "../util_export.h"
14 
15 namespace angle
16 {
17 enum class Feature
18 {
19     AddAndTrueToLoopCondition,
20     AddMockTextureNoRenderTarget,
21     AdjustClearColorPrecision,
22     AdjustSrcDstRegionForBlitFramebuffer,
23     AllocateNonZeroMemory,
24     AllowAstcFormats,
25     AllowBufferReadWrite,
26     AllowClearForRobustResourceInit,
27     AllowCompressedFormats,
28     AllowES3OnFL100,
29     AllowETCFormats,
30     AllowGenerateMipmapWithCompute,
31     AllowGenMultipleMipsPerPass,
32     AllowHostImageCopyDespiteNonIdenticalLayout,
33     AllowInlineConstVertexData,
34     AllowMultisampledRenderToTextureEmulation,
35     AllowMultisampleStoreAndResolve,
36     AllowRenderpassWithoutAttachment,
37     AllowRuntimeSamplerCompareMode,
38     AllowSamplerCompareGradient,
39     AllowSeparateDepthStencilBuffers,
40     AllowTranslateUniformBlockToStructuredBuffer,
41     AlwaysCallUseProgramAfterLink,
42     AlwaysEnableEmulatedMultidrawExtensions,
43     AlwaysPreferStagedTextureUploads,
44     AlwaysRunLinkSubJobsThreaded,
45     AlwaysUnbindFramebufferTexture2D,
46     AlwaysUseManagedStorageModeForBuffers,
47     AlwaysUseSharedStorageModeForBuffers,
48     AlwaysUseStagedBufferUpdates,
49     AppendAliasedMemoryDecorations,
50     AsyncCommandBufferResetAndGarbageCleanup,
51     AsyncCommandQueue,
52     Avoid1BitAlphaTextureFormats,
53     AvoidBindFragDataLocation,
54     AvoidOpSelectWithMismatchingRelaxedPrecision,
55     AvoidStencilTextureSwizzle,
56     BgraTexImageFormatsBroken,
57     BindCompleteFramebufferForTimerQueries,
58     BindTransformFeedbackBufferBeforeBindBufferRange,
59     BorderColorSrgb,
60     BottomLeftOriginPresentRegionRectangles,
61     BresenhamLineRasterization,
62     CacheCompiledShader,
63     CallClearTwice,
64     ClampArrayAccess,
65     ClampFragDepth,
66     ClampMscRate,
67     ClampPointSize,
68     ClDumpVkSpirv,
69     ClearsWithGapsNeedFlush,
70     ClearToZeroOrOneBroken,
71     ClipSrcRegionForBlitFramebuffer,
72     CompileJobIsThreadSafe,
73     CompileMetalShaders,
74     CompressVertexData,
75     CopyIOSurfaceToNonIOSurfaceForReadOptimization,
76     CopyTextureToBufferForReadOptimization,
77     CorruptProgramBinaryForTesting,
78     DecodeEncodeSRGBForGenerateMipmap,
79     DepthStencilBlitExtraCopy,
80     DescriptorSetCache,
81     DisableAnisotropicFiltering,
82     DisableB5G6R5Support,
83     DisableBaseInstanceVertex,
84     DisableBlendEquationAdvanced,
85     DisableBlendFuncExtended,
86     DisableClipControl,
87     DisableDepthStencilResolveThroughAttachment,
88     DisableDrawBuffersIndexed,
89     DisableFlippingBlitWithCommand,
90     DisableGPUSwitchingSupport,
91     DisableMetalOnNvidia,
92     DisableMultisampledRenderToTexture,
93     DisableNativeParallelCompile,
94     DisablePipelineCacheLoadForTesting,
95     DisableProgramBinary,
96     DisableProgramCaching,
97     DisableProgramCachingForTransformFeedback,
98     DisableProgrammableBlending,
99     DisableRasterizerOrderViews,
100     DisableRasterOrderGroups,
101     DisableRenderSnorm,
102     DisableRWTextureTier2Support,
103     DisableSemaphoreFd,
104     DisableSeparateShaderObjects,
105     DisableStagedInitializationOfPackedTextureFormats,
106     DisableSyncControlSupport,
107     DisableTextureClampToBorder,
108     DisableTextureMirrorClampToEdge,
109     DisableTiledRendering,
110     DisableTimestampQueries,
111     DisallowMixedDepthStencilLoadOpNoneAndLoad,
112     DoesSRGBClearsOnLinearFramebufferAttachments,
113     DontInitializeUninitializedLocals,
114     DontUseLoopsToInitializeVariables,
115     DoubleDepthBiasConstantFactor,
116     DoWhileGLSLCausesGPUHang,
117     DumpShaderSource,
118     DumpTranslatedShaders,
119     EglColorspaceAttributePassthrough,
120     EmulateAbsIntFunction,
121     EmulateAdvancedBlendEquations,
122     EmulateAlphaToCoverage,
123     EmulateAtan2Float,
124     EmulateClipDistanceState,
125     EmulateClipOrigin,
126     EmulateCopyTexImage2D,
127     EmulateCopyTexImage2DFromRenderbuffers,
128     EmulateDithering,
129     EmulateDontCareLoadWithRandomClear,
130     EmulatedPrerotation180,
131     EmulatedPrerotation270,
132     EmulatedPrerotation90,
133     EmulateImmutableCompressedTexture3D,
134     EmulateIsnanFloat,
135     EmulateMaxVertexAttribStride,
136     EmulatePackSkipRowsAndPackSkipPixels,
137     EmulatePixelLocalStorage,
138     EmulatePrimitiveRestartFixedIndex,
139     EmulateR32fImageAtomicExchange,
140     EmulateRGB10,
141     EmulateTinyStencilTextures,
142     EmulateTransformFeedback,
143     EnableAdditionalBlendFactorsForDithering,
144     EnableAsyncPipelineCacheCompression,
145     EnableCaptureLimits,
146     EnableInMemoryMtlLibraryCache,
147     EnableMergeClientAttribBuffer,
148     EnableMultisampledRenderToTexture,
149     EnableMultisampledRenderToTextureOnNonTilers,
150     EnableParallelCompileAndLink,
151     EnableParallelMtlLibraryCompilation,
152     EnablePipelineCacheDataCompression,
153     EnablePortabilityEnumeration,
154     EnablePrecisionQualifiers,
155     EnablePreRotateSurfaces,
156     EnableProgramBinaryForCapture,
157     EnableShaderSubstitution,
158     EnableTimestampQueries,
159     EnableTranslatedShaderSubstitution,
160     EnsureNonEmptyBufferIsBoundForDraw,
161     ExpandIntegerPowExpressions,
162     ExplicitFragmentLocations,
163     ExplicitlyCastMediumpFloatTo16Bit,
164     ExplicitlyEnablePerSampleShading,
165     ExposeES32ForTesting,
166     ExposeNonConformantExtensionsAndVersions,
167     FinishDoesNotCauseQueriesToBeAvailable,
168     FlushAfterEndingTransformFeedback,
169     FlushAfterStreamVertexData,
170     FlushBeforeDeleteTextureIfCopiedTo,
171     FlushOnFramebufferChange,
172     ForceAtomicValueResolution,
173     ForceBufferGPUStorage,
174     ForceContinuousRefreshOnSharedPresent,
175     ForceD16TexFilter,
176     ForceD24S8AsUnsupported,
177     ForceDepthAttachmentInitOnClear,
178     ForceDisableFullScreenExclusive,
179     ForceFallbackFormat,
180     ForceFlushAfterDrawcallUsingShadowmap,
181     ForceFragmentShaderPrecisionHighpToMediump,
182     ForceGlErrorChecking,
183     ForceInitShaderVariables,
184     ForceMaxUniformBufferSize16KB,
185     ForceMinimumMaxVertexAttributes,
186     ForceNearestFiltering,
187     ForceNearestMipFiltering,
188     ForceNonCSBaseMipmapGeneration,
189     ForceRobustResourceInit,
190     ForceSampleUsageForAhbBackedImages,
191     ForceSubmitImmutableTextureUpdates,
192     ForceTextureLodOffset1,
193     ForceTextureLodOffset2,
194     ForceTextureLodOffset3,
195     ForceTextureLodOffset4,
196     ForceWaitForSubmissionToCompleteForQueryResult,
197     GenerateFragmentShadingRateAttchementWithCpu,
198     GenerateShareableShaders,
199     GetDimensionsIgnoresBaseLevel,
200     HasBaseVertexInstancedDraw,
201     HasBlobCacheThatEvictsOldItemsFirst,
202     HasCheapRenderPass,
203     HasDepthAutoResolve,
204     HasEffectivePipelineCacheSerialization,
205     HasEvents,
206     HasExplicitMemBarrier,
207     HasNonUniformDispatch,
208     HasShaderStencilOutput,
209     HasStencilAutoResolve,
210     HasTextureSwizzle,
211     InitFragmentOutputVariables,
212     InitializeCurrentVertexAttributes,
213     InjectAsmStatementIntoLoopBodies,
214     IntelDisableFastMath,
215     IntelExplicitBoolCastWorkaround,
216     KeepBufferShadowCopy,
217     LimitMax3dArrayTextureSizeTo1024,
218     LimitMaxColorTargetBitsForTesting,
219     LimitMaxDrawBuffersForTesting,
220     LimitMaxMSAASamplesTo4,
221     LimitMaxStorageBufferSize,
222     LimitSampleCountTo2,
223     LimitWebglMaxTextureSizeTo4096,
224     LimitWebglMaxTextureSizeTo8192,
225     LinkJobIsThreadSafe,
226     LoadMetalShadersFromBlobCache,
227     LogMemoryReportCallbacks,
228     LogMemoryReportStats,
229     LoseContextOnOutOfMemory,
230     MapUnspecifiedColorSpaceToPassThrough,
231     MergeProgramPipelineCachesToGlobalCache,
232     MrtPerfWorkaround,
233     MultisampleColorFormatShaderReadWorkaround,
234     MutableMipmapTextureUpload,
235     OverrideSurfaceFormatRGB8ToRGBA8,
236     PackLastRowSeparatelyForPaddingInclusion,
237     PackOverlappingRowsSeparatelyPackBuffer,
238     PadBuffersToMaxVertexAttribStride,
239     PassHighpToPackUnormSnormBuiltins,
240     PerFrameWindowSizeQuery,
241     PermanentlySwitchToFramebufferFetchMode,
242     PersistentlyMappedBuffers,
243     PreAddTexelFetchOffsets,
244     PreemptivelyStartProvokingVertexCommandBuffer,
245     PreferAggregateBarrierCalls,
246     PreferCachedNoncoherentForDynamicStreamBufferUsage,
247     PreferCpuForBuffersubdata,
248     PreferCPUForBufferSubData,
249     PreferDeviceLocalMemoryHostVisible,
250     PreferDoubleBufferSwapchainOnFifoMode,
251     PreferDrawClearOverVkCmdClearAttachments,
252     PreferDriverUniformOverSpecConst,
253     PreferDynamicRendering,
254     PreferHostCachedForNonStaticBufferUsage,
255     PreferLinearFilterForYUV,
256     PreferMonolithicPipelinesOverLibraries,
257     PreferMSRTSSFlagByDefault,
258     PreferSkippingInvalidateForEmulatedFormats,
259     PreferSubmitAtFBOBoundary,
260     PreferSubmitOnAnySamplesPassedQueryEnd,
261     PreTransformTextureCubeGradDerivatives,
262     PrintMetalShaders,
263     PromotePackedFormatsTo8BitPerChannel,
264     ProvokingVertex,
265     QueryCounterBitsGeneratesErrors,
266     ReadPixelsUsingImplementationColorReadFormatForNorm16,
267     ReapplyUBOBindingsAfterUsingBinaryProgram,
268     RegenerateStructNames,
269     RejectWebglShadersWithUndefinedBehavior,
270     RemoveDynamicIndexingOfSwizzledVector,
271     RemoveInvariantAndCentroidForESSL3,
272     RequireGpuFamily2,
273     RescopeGlobalVariables,
274     ResetTexImage2DBaseLevel,
275     ResyncDepthRangeOnClipControl,
276     RetainSPIRVDebugInfo,
277     RewriteFloatUnaryMinusOperator,
278     RewriteRepeatedAssignToSwizzled,
279     RewriteRowMajorMatrices,
280     RewriteUnaryMinusOperator,
281     RGBA4IsNotSupportedForColorRendering,
282     RGBDXT1TexturesSampleZeroAlpha,
283     RoundOutputAfterDithering,
284     SanitizeAMDGPURendererString,
285     ScalarizeVecAndMatConstructorArgs,
286     SelectViewInGeometryShader,
287     SetDataFasterThanImageUpload,
288     SetPrimitiveRestartFixedIndexForDrawArrays,
289     SetZeroLevelBeforeGenerateMipmap,
290     ShiftInstancedArrayDataWithOffset,
291     SingleThreadedTextureDecompression,
292     SkipVSConstantRegisterZero,
293     SlowAsyncCommandQueueForTesting,
294     SlowDownMonolithicPipelineCreationForTesting,
295     SrgbBlendingBroken,
296     Supports16BitInputOutput,
297     Supports16BitPushConstant,
298     Supports16BitStorageBuffer,
299     Supports16BitUniformAndStorageBuffer,
300     Supports8BitPushConstant,
301     Supports8BitStorageBuffer,
302     Supports8BitUniformAndStorageBuffer,
303     SupportsAndroidHardwareBuffer,
304     SupportsAndroidNativeFenceSync,
305     SupportsAstcSliced3d,
306     SupportsBindMemory2,
307     SupportsBlendOperationAdvanced,
308     SupportsBlendOperationAdvancedCoherent,
309     SupportsColorWriteEnable,
310     SupportsComputeTranscodeEtcToBc,
311     SupportsCustomBorderColor,
312     SupportsDenormFtzFp16,
313     SupportsDenormFtzFp32,
314     SupportsDenormFtzFp64,
315     SupportsDenormPreserveFp16,
316     SupportsDenormPreserveFp32,
317     SupportsDenormPreserveFp64,
318     SupportsDepthClampZeroOne,
319     SupportsDepthClipControl,
320     SupportsDepthStencilIndependentResolveNone,
321     SupportsDepthStencilResolve,
322     SupportsDynamicRendering,
323     SupportsDynamicRenderingLocalRead,
324     SupportsExtendedDynamicState,
325     SupportsExtendedDynamicState2,
326     SupportsExternalFenceCapabilities,
327     SupportsExternalFenceFd,
328     SupportsExternalFormatResolve,
329     SupportsExternalMemoryDmaBufAndModifiers,
330     SupportsExternalMemoryFd,
331     SupportsExternalMemoryFuchsia,
332     SupportsExternalMemoryHost,
333     SupportsExternalSemaphoreCapabilities,
334     SupportsExternalSemaphoreFd,
335     SupportsExternalSemaphoreFuchsia,
336     SupportsFormatFeatureFlags2,
337     SupportsFoveatedRendering,
338     SupportsFragmentShaderInterlockARB,
339     SupportsFragmentShaderInterlockNV,
340     SupportsFragmentShaderOrderingINTEL,
341     SupportsFragmentShaderPixelInterlock,
342     SupportsFragmentShadingRate,
343     SupportsFullScreenExclusive,
344     SupportsGeometryStreamsCapability,
345     SupportsGetMemoryRequirements2,
346     SupportsGGPFrameToken,
347     SupportsGraphicsPipelineLibrary,
348     SupportsHostImageCopy,
349     SupportsHostQueryReset,
350     SupportsImage2dViewOf3d,
351     SupportsImageCompressionControl,
352     SupportsImageCubeArray,
353     SupportsImageFormatList,
354     SupportsImagelessFramebuffer,
355     SupportsIncrementalPresent,
356     SupportsIndexTypeUint8,
357     SupportsLegacyDithering,
358     SupportsLockSurfaceExtension,
359     SupportsLogicOpDynamicState,
360     SupportsMaintenance5,
361     SupportsMemoryBudget,
362     SupportsMixedReadWriteDepthStencilLayouts,
363     SupportsMultiDrawIndirect,
364     SupportsMultisampledRenderToSingleSampled,
365     SupportsMultiview,
366     SupportsNonConstantLoopIndexing,
367     SupportsPipelineCreationFeedback,
368     SupportsPipelineProtectedAccess,
369     SupportsPipelineRobustness,
370     SupportsPipelineStatisticsQuery,
371     SupportsPortabilityEnumeration,
372     SupportsPresentation,
373     SupportsPrimitivesGeneratedQuery,
374     SupportsPrimitiveTopologyListRestart,
375     SupportsProtectedMemory,
376     SupportsRasterizationOrderAttachmentAccess,
377     SupportsRenderpass2,
378     SupportsRenderPassLoadStoreOpNone,
379     SupportsRenderPassStoreOpNone,
380     SupportsRoundingModeRteFp16,
381     SupportsRoundingModeRteFp32,
382     SupportsRoundingModeRteFp64,
383     SupportsRoundingModeRtzFp16,
384     SupportsRoundingModeRtzFp32,
385     SupportsRoundingModeRtzFp64,
386     SupportsSampler2dViewOf3d,
387     SupportsSamplerMirrorClampToEdge,
388     SupportsShaderFloat16,
389     SupportsShaderFloat64,
390     SupportsShaderFramebufferFetch,
391     SupportsShaderFramebufferFetchDepthStencil,
392     SupportsShaderFramebufferFetchEXT,
393     SupportsShaderFramebufferFetchNonCoherent,
394     SupportsShaderFramebufferFetchNonCoherentEXT,
395     SupportsShaderInt8,
396     SupportsShaderNonSemanticInfo,
397     SupportsShaderStencilExport,
398     SupportsSharedPresentableImageExtension,
399     SupportsSignedZeroInfNanPreserveFp16,
400     SupportsSignedZeroInfNanPreserveFp32,
401     SupportsSignedZeroInfNanPreserveFp64,
402     SupportsSPIRV14,
403     SupportsSurfaceCapabilities2Extension,
404     SupportsSurfacelessQueryExtension,
405     SupportsSurfaceMaintenance1,
406     SupportsSurfaceProtectedCapabilitiesExtension,
407     SupportsSurfaceProtectedSwapchains,
408     SupportsSwapchainMaintenance1,
409     SupportsSynchronization2,
410     SupportsTextureCompressionAstcHdr,
411     SupportsTimelineSemaphore,
412     SupportsTimestampSurfaceAttribute,
413     SupportsTransformFeedbackExtension,
414     SupportsVertexInputDynamicState,
415     SupportsYUVSamplerConversion,
416     SupportsYuvTarget,
417     SwapbuffersOnFlushOrFinishWithSingleBuffer,
418     SyncAllVertexArraysToDefault,
419     SyncDefaultVertexArraysToDefault,
420     SyncMonolithicPipelinesToBlobCache,
421     UnbindFBOBeforeSwitchingContext,
422     UncurrentEglSurfaceUponSurfaceDestroy,
423     UnfoldShortCircuits,
424     UnpackLastRowSeparatelyForPaddingInclusion,
425     UnpackOverlappingRowsSeparatelyUnpackBuffer,
426     UnsizedSRGBReadPixelsDoesntTransform,
427     UploadDataToIosurfacesWithStagingBuffers,
428     UploadTextureDataInChunks,
429     UseCullModeDynamicState,
430     UseDepthBiasEnableDynamicState,
431     UseDepthCompareOpDynamicState,
432     UseDepthTestEnableDynamicState,
433     UseDepthWriteEnableDynamicState,
434     UseDualPipelineBlobCacheSlots,
435     UseEmptyBlobsToEraseOldPipelineCacheFromBlobCache,
436     UseFrontFaceDynamicState,
437     UseIntermediateTextureForGenerateMipmap,
438     UseMultipleDescriptorsForExternalFormats,
439     UseNonZeroStencilWriteMaskStaticState,
440     UsePrimitiveRestartEnableDynamicState,
441     UseRasterizerDiscardEnableDynamicState,
442     UseResetCommandBufferBitForSecondaryPools,
443     UseShadowBuffersWhenAppropriate,
444     UseStencilOpDynamicState,
445     UseStencilTestEnableDynamicState,
446     UseSystemMemoryForConstantBuffers,
447     UseUnusedBlocksWithStandardOrSharedLayout,
448     UseVertexInputBindingStrideDynamicState,
449     UseVkEventForImageBarrier,
450     UseVmaForImageSuballocation,
451     VaryingsRequireMatchingPrecisionInSpirv,
452     VerifyPipelineCacheInBlobCache,
453     VertexIDDoesNotIncludeBaseVertex,
454     WaitIdleBeforeSwapchainRecreation,
455     WarmUpPipelineCacheAtLink,
456     WrapSwitchInIfTrue,
457     WriteHelperSampleMask,
458     ZeroMaxLodWorkaround,
459 
460     InvalidEnum,
461     EnumCount = InvalidEnum,
462 };
463 
464 ANGLE_UTIL_EXPORT extern const char *GetFeatureName(Feature feature);
465 
466 }  // namespace angle
467 
468 #endif  // ANGLE_SRC_TESTS_TEST_UTIL_AUTOGEN_ANGLE_FEATURES_AUTOGEN_H_
469