• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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     AllowSamplerCompareLod,
40     AllowSeparateDepthStencilBuffers,
41     AllowTranslateUniformBlockToStructuredBuffer,
42     AlwaysCallUseProgramAfterLink,
43     AlwaysPreferStagedTextureUploads,
44     AlwaysResolveMultisampleRenderBuffers,
45     AlwaysRunLinkSubJobsThreaded,
46     AlwaysUnbindFramebufferTexture2D,
47     AlwaysUseManagedStorageModeForBuffers,
48     AlwaysUseSharedStorageModeForBuffers,
49     AlwaysUseStagedBufferUpdates,
50     AppendAliasedMemoryDecorations,
51     AsyncCommandBufferReset,
52     AsyncCommandQueue,
53     Avoid1BitAlphaTextureFormats,
54     AvoidOpSelectWithMismatchingRelaxedPrecision,
55     AvoidStencilTextureSwizzle,
56     BindCompleteFramebufferForTimerQueries,
57     BindTransformFeedbackBufferBeforeBindBufferRange,
58     BorderColorSrgb,
59     BottomLeftOriginPresentRegionRectangles,
60     BresenhamLineRasterization,
61     CacheCompiledShader,
62     CallClearTwice,
63     ClampArrayAccess,
64     ClampFragDepth,
65     ClampMscRate,
66     ClampPointSize,
67     ClDumpVkSpirv,
68     ClearsWithGapsNeedFlush,
69     ClearToZeroOrOneBroken,
70     ClipSrcRegionForBlitFramebuffer,
71     CompileJobIsThreadSafe,
72     CompileMetalShaders,
73     CompressVertexData,
74     CopyIOSurfaceToNonIOSurfaceForReadOptimization,
75     CopyTextureToBufferForReadOptimization,
76     CorruptProgramBinaryForTesting,
77     DecodeEncodeSRGBForGenerateMipmap,
78     DepthStencilBlitExtraCopy,
79     DisableAnisotropicFiltering,
80     DisableB5G6R5Support,
81     DisableBaseInstanceVertex,
82     DisableBlendFuncExtended,
83     DisableClipControl,
84     DisableDepthStencilResolveThroughAttachment,
85     DisableDrawBuffersIndexed,
86     DisableFlippingBlitWithCommand,
87     DisableGPUSwitchingSupport,
88     DisableMetalOnNvidia,
89     DisableMultisampledRenderToTexture,
90     DisableNativeParallelCompile,
91     DisablePipelineCacheLoadForTesting,
92     DisableProgramBinary,
93     DisableProgramCaching,
94     DisableProgramCachingForTransformFeedback,
95     DisableProgrammableBlending,
96     DisableRasterizerOrderViews,
97     DisableRasterOrderGroups,
98     DisableRenderSnorm,
99     DisableRWTextureTier2Support,
100     DisableSemaphoreFd,
101     DisableSeparateShaderObjects,
102     DisableStagedInitializationOfPackedTextureFormats,
103     DisableSyncControlSupport,
104     DisableTextureClampToBorder,
105     DisableTextureMirrorClampToEdge,
106     DisableTimestampQueries,
107     DisallowMixedDepthStencilLoadOpNoneAndLoad,
108     DoesSRGBClearsOnLinearFramebufferAttachments,
109     DontInitializeUninitializedLocals,
110     DontUseLoopsToInitializeVariables,
111     DoubleDepthBiasConstantFactor,
112     DoWhileGLSLCausesGPUHang,
113     DumpShaderSource,
114     DumpTranslatedShaders,
115     EglColorspaceAttributePassthrough,
116     EmulateAbsIntFunction,
117     EmulateAdvancedBlendEquations,
118     EmulateAlphaToCoverage,
119     EmulateAtan2Float,
120     EmulateClipDistanceState,
121     EmulateClipOrigin,
122     EmulateCopyTexImage2D,
123     EmulateCopyTexImage2DFromRenderbuffers,
124     EmulateDithering,
125     EmulatedPrerotation180,
126     EmulatedPrerotation270,
127     EmulatedPrerotation90,
128     EmulateImmutableCompressedTexture3D,
129     EmulateIsnanFloat,
130     EmulateMaxVertexAttribStride,
131     EmulatePackSkipRowsAndPackSkipPixels,
132     EmulatePixelLocalStorage,
133     EmulatePrimitiveRestartFixedIndex,
134     EmulateR32fImageAtomicExchange,
135     EmulateRGB10,
136     EmulateTinyStencilTextures,
137     EmulateTransformFeedback,
138     EnableAdditionalBlendFactorsForDithering,
139     EnableAsyncPipelineCacheCompression,
140     EnableCaptureLimits,
141     EnableInMemoryMtlLibraryCache,
142     EnableMergeClientAttribBuffer,
143     EnableMultisampledRenderToTexture,
144     EnableParallelCompileAndLink,
145     EnableParallelMtlLibraryCompilation,
146     EnablePipelineCacheDataCompression,
147     EnablePortabilityEnumeration,
148     EnablePrecisionQualifiers,
149     EnablePreRotateSurfaces,
150     EnableProgramBinaryForCapture,
151     EnableShaderSubstitution,
152     EnableTimestampQueries,
153     EnableTranslatedShaderSubstitution,
154     EnsureNonEmptyBufferIsBoundForDraw,
155     ExpandIntegerPowExpressions,
156     ExplicitFragmentLocations,
157     ExplicitlyCastMediumpFloatTo16Bit,
158     ExplicitlyEnablePerSampleShading,
159     ExposeNonConformantExtensionsAndVersions,
160     FinishDoesNotCauseQueriesToBeAvailable,
161     FlushAfterEndingTransformFeedback,
162     FlushAfterStreamVertexData,
163     FlushBeforeDeleteTextureIfCopiedTo,
164     FlushOnFramebufferChange,
165     ForceAtomicValueResolution,
166     ForceBufferGPUStorage,
167     ForceContinuousRefreshOnSharedPresent,
168     ForceD16TexFilter,
169     ForceD24S8AsUnsupported,
170     ForceDepthAttachmentInitOnClear,
171     ForceDisableFullScreenExclusive,
172     ForceFallbackFormat,
173     ForceFragmentShaderPrecisionHighpToMediump,
174     ForceGlErrorChecking,
175     ForceInitShaderVariables,
176     ForceMaxUniformBufferSize16KB,
177     ForceMinimumMaxVertexAttributes,
178     ForceNearestFiltering,
179     ForceNearestMipFiltering,
180     ForceNonCSBaseMipmapGeneration,
181     ForceRobustResourceInit,
182     ForceSampleUsageForAhbBackedImages,
183     ForceSubmitImmutableTextureUpdates,
184     ForceTextureLodOffset1,
185     ForceTextureLodOffset2,
186     ForceTextureLodOffset3,
187     ForceTextureLodOffset4,
188     ForceWaitForSubmissionToCompleteForQueryResult,
189     GenerateShareableShaders,
190     GetDimensionsIgnoresBaseLevel,
191     HasBaseVertexInstancedDraw,
192     HasCheapRenderPass,
193     HasDepthAutoResolve,
194     HasEffectivePipelineCacheSerialization,
195     HasEvents,
196     HasExplicitMemBarrier,
197     HasNonUniformDispatch,
198     HasShaderStencilOutput,
199     HasStencilAutoResolve,
200     HasTextureSwizzle,
201     InitFragmentOutputVariables,
202     InitializeCurrentVertexAttributes,
203     InjectAsmStatementIntoLoopBodies,
204     IntelDisableFastMath,
205     IntelExplicitBoolCastWorkaround,
206     KeepBufferShadowCopy,
207     LimitMax3dArrayTextureSizeTo1024,
208     LimitMaxColorTargetBitsForTesting,
209     LimitMaxDrawBuffersForTesting,
210     LimitMaxMSAASamplesTo4,
211     LimitMaxStorageBufferSize,
212     LimitSampleCountTo2,
213     LimitWebglMaxTextureSizeTo4096,
214     LimitWebglMaxTextureSizeTo8192,
215     LinkJobIsThreadSafe,
216     LoadMetalShadersFromBlobCache,
217     LogMemoryReportCallbacks,
218     LogMemoryReportStats,
219     LoseContextOnOutOfMemory,
220     MapUnspecifiedColorSpaceToPassThrough,
221     MergeProgramPipelineCachesToGlobalCache,
222     MrtPerfWorkaround,
223     MultisampleColorFormatShaderReadWorkaround,
224     MutableMipmapTextureUpload,
225     OverrideSurfaceFormatRGB8ToRGBA8,
226     PackLastRowSeparatelyForPaddingInclusion,
227     PackOverlappingRowsSeparatelyPackBuffer,
228     PadBuffersToMaxVertexAttribStride,
229     PassHighpToPackUnormSnormBuiltins,
230     PerFrameWindowSizeQuery,
231     PermanentlySwitchToFramebufferFetchMode,
232     PersistentlyMappedBuffers,
233     PreAddTexelFetchOffsets,
234     PreemptivelyStartProvokingVertexCommandBuffer,
235     PreferAggregateBarrierCalls,
236     PreferCpuForBuffersubdata,
237     PreferCPUForBufferSubData,
238     PreferDeviceLocalMemoryHostVisible,
239     PreferDrawClearOverVkCmdClearAttachments,
240     PreferDriverUniformOverSpecConst,
241     PreferDynamicRendering,
242     PreferHostCachedForNonStaticBufferUsage,
243     PreferLinearFilterForYUV,
244     PreferMonolithicPipelinesOverLibraries,
245     PreferMSRTSSFlagByDefault,
246     PreferSkippingInvalidateForEmulatedFormats,
247     PreferSubmitAtFBOBoundary,
248     PreferSubmitOnAnySamplesPassedQueryEnd,
249     PreTransformTextureCubeGradDerivatives,
250     PrintMetalShaders,
251     PromotePackedFormatsTo8BitPerChannel,
252     ProvokingVertex,
253     QueryCounterBitsGeneratesErrors,
254     ReadPixelsUsingImplementationColorReadFormatForNorm16,
255     ReapplyUBOBindingsAfterUsingBinaryProgram,
256     RegenerateStructNames,
257     RemoveDynamicIndexingOfSwizzledVector,
258     RemoveInvariantAndCentroidForESSL3,
259     RequireGpuFamily2,
260     RequireMsl21,
261     RescopeGlobalVariables,
262     ResetTexImage2DBaseLevel,
263     ResyncDepthRangeOnClipControl,
264     RetainSPIRVDebugInfo,
265     RewriteFloatUnaryMinusOperator,
266     RewriteRepeatedAssignToSwizzled,
267     RewriteRowMajorMatrices,
268     RewriteUnaryMinusOperator,
269     RGBA4IsNotSupportedForColorRendering,
270     RGBDXT1TexturesSampleZeroAlpha,
271     RoundOutputAfterDithering,
272     SanitizeAMDGPURendererString,
273     ScalarizeVecAndMatConstructorArgs,
274     SelectViewInGeometryShader,
275     SetDataFasterThanImageUpload,
276     SetPrimitiveRestartFixedIndexForDrawArrays,
277     SetZeroLevelBeforeGenerateMipmap,
278     ShiftInstancedArrayDataWithOffset,
279     SingleThreadedTextureDecompression,
280     SkipVSConstantRegisterZero,
281     SlowAsyncCommandQueueForTesting,
282     SlowDownMonolithicPipelineCreationForTesting,
283     Supports16BitInputOutput,
284     Supports16BitPushConstant,
285     Supports16BitStorageBuffer,
286     Supports16BitUniformAndStorageBuffer,
287     Supports8BitPushConstant,
288     Supports8BitStorageBuffer,
289     Supports8BitUniformAndStorageBuffer,
290     SupportsAndroidHardwareBuffer,
291     SupportsAndroidNativeFenceSync,
292     SupportsBindMemory2,
293     SupportsBlendOperationAdvanced,
294     SupportsColorWriteEnable,
295     SupportsComputeTranscodeEtcToBc,
296     SupportsCustomBorderColor,
297     SupportsDepthClampZeroOne,
298     SupportsDepthClipControl,
299     SupportsDepthStencilIndependentResolveNone,
300     SupportsDepthStencilResolve,
301     SupportsDynamicRendering,
302     SupportsDynamicRenderingLocalRead,
303     SupportsExtendedDynamicState,
304     SupportsExtendedDynamicState2,
305     SupportsExternalFenceCapabilities,
306     SupportsExternalFenceFd,
307     SupportsExternalFormatResolve,
308     SupportsExternalMemoryDmaBufAndModifiers,
309     SupportsExternalMemoryFd,
310     SupportsExternalMemoryFuchsia,
311     SupportsExternalMemoryHost,
312     SupportsExternalSemaphoreCapabilities,
313     SupportsExternalSemaphoreFd,
314     SupportsExternalSemaphoreFuchsia,
315     SupportsFormatFeatureFlags2,
316     SupportsFoveatedRendering,
317     SupportsFragmentShaderInterlockARB,
318     SupportsFragmentShaderInterlockNV,
319     SupportsFragmentShaderOrderingINTEL,
320     SupportsFragmentShaderPixelInterlock,
321     SupportsFragmentShadingRate,
322     SupportsFullScreenExclusive,
323     SupportsGeometryStreamsCapability,
324     SupportsGetMemoryRequirements2,
325     SupportsGGPFrameToken,
326     SupportsGraphicsPipelineLibrary,
327     SupportsHostImageCopy,
328     SupportsHostQueryReset,
329     SupportsImage2dViewOf3d,
330     SupportsImageCubeArray,
331     SupportsImageFormatList,
332     SupportsImagelessFramebuffer,
333     SupportsIncrementalPresent,
334     SupportsIndexTypeUint8,
335     SupportsLegacyDithering,
336     SupportsLockSurfaceExtension,
337     SupportsLogicOpDynamicState,
338     SupportsMemoryBudget,
339     SupportsMixedReadWriteDepthStencilLayouts,
340     SupportsMultiDrawIndirect,
341     SupportsMultisampledRenderToSingleSampled,
342     SupportsMultiview,
343     SupportsNonConstantLoopIndexing,
344     SupportsPipelineCreationFeedback,
345     SupportsPipelineProtectedAccess,
346     SupportsPipelineRobustness,
347     SupportsPipelineStatisticsQuery,
348     SupportsPortabilityEnumeration,
349     SupportsPresentation,
350     SupportsPrimitivesGeneratedQuery,
351     SupportsPrimitiveTopologyListRestart,
352     SupportsProtectedMemory,
353     SupportsRasterizationOrderAttachmentAccess,
354     SupportsRenderpass2,
355     SupportsRenderPassLoadStoreOpNone,
356     SupportsRenderPassStoreOpNone,
357     SupportsSampler2dViewOf3d,
358     SupportsSamplerMirrorClampToEdge,
359     SupportsShaderFloat16,
360     SupportsShaderFramebufferFetch,
361     SupportsShaderFramebufferFetchEXT,
362     SupportsShaderFramebufferFetchNonCoherent,
363     SupportsShaderFramebufferFetchNonCoherentEXT,
364     SupportsShaderNonSemanticInfo,
365     SupportsShaderPixelLocalStorageEXT,
366     SupportsShaderStencilExport,
367     SupportsSharedPresentableImageExtension,
368     SupportsSPIRV14,
369     SupportsSurfaceCapabilities2Extension,
370     SupportsSurfacelessQueryExtension,
371     SupportsSurfaceMaintenance1,
372     SupportsSurfaceProtectedCapabilitiesExtension,
373     SupportsSurfaceProtectedSwapchains,
374     SupportsSwapchainMaintenance1,
375     SupportsSynchronization2,
376     SupportsTimelineSemaphore,
377     SupportsTimestampSurfaceAttribute,
378     SupportsTransformFeedbackExtension,
379     SupportsVertexInputDynamicState,
380     SupportsYUVSamplerConversion,
381     SupportsYuvTarget,
382     SwapbuffersOnFlushOrFinishWithSingleBuffer,
383     SyncMonolithicPipelinesToBlobCache,
384     SyncVertexArraysToDefault,
385     UnbindFBOBeforeSwitchingContext,
386     UncurrentEglSurfaceUponSurfaceDestroy,
387     UnfoldShortCircuits,
388     UnpackLastRowSeparatelyForPaddingInclusion,
389     UnpackOverlappingRowsSeparatelyUnpackBuffer,
390     UnsizedSRGBReadPixelsDoesntTransform,
391     UploadDataToIosurfacesWithStagingBuffers,
392     UploadTextureDataInChunks,
393     UseCullModeDynamicState,
394     UseDepthBiasEnableDynamicState,
395     UseDepthCompareOpDynamicState,
396     UseDepthTestEnableDynamicState,
397     UseDepthWriteEnableDynamicState,
398     UseFrontFaceDynamicState,
399     UseInstancedPointSpriteEmulation,
400     UseIntermediateTextureForGenerateMipmap,
401     UseMultipleDescriptorsForExternalFormats,
402     UseNonZeroStencilWriteMaskStaticState,
403     UsePrimitiveRestartEnableDynamicState,
404     UseRasterizerDiscardEnableDynamicState,
405     UseResetCommandBufferBitForSecondaryPools,
406     UseShadowBuffersWhenAppropriate,
407     UseStencilOpDynamicState,
408     UseStencilTestEnableDynamicState,
409     UseSystemMemoryForConstantBuffers,
410     UseUnusedBlocksWithStandardOrSharedLayout,
411     UseVertexInputBindingStrideDynamicState,
412     UseVkEventForImageBarrier,
413     UseVmaForImageSuballocation,
414     VaryingsRequireMatchingPrecisionInSpirv,
415     VertexIDDoesNotIncludeBaseVertex,
416     WaitIdleBeforeSwapchainRecreation,
417     WarmUpPipelineCacheAtLink,
418     WriteHelperSampleMask,
419     ZeroMaxLodWorkaround,
420 
421     InvalidEnum,
422     EnumCount = InvalidEnum,
423 };
424 
425 ANGLE_UTIL_EXPORT extern const char *GetFeatureName(Feature feature);
426 
427 }  // namespace angle
428 
429 #endif  // ANGLE_SRC_TESTS_TEST_UTIL_AUTOGEN_ANGLE_FEATURES_AUTOGEN_H_
430