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