blob: 8e212e375eee56aad98de423f9a4aafe3ceebee1 [file] [log] [blame]
// GENERATED FILE - DO NOT EDIT.
// Generated by gen_features.py using data from *_features.json.
//
// Copyright 2022 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// angle_features_autogen.h: List of ANGLE features to help enable/disable them in tests.
#ifndef ANGLE_SRC_TESTS_TEST_UTIL_AUTOGEN_ANGLE_FEATURES_AUTOGEN_H_
#define ANGLE_SRC_TESTS_TEST_UTIL_AUTOGEN_ANGLE_FEATURES_AUTOGEN_H_
#include "../util_export.h"
namespace angle
{
enum class Feature
{
AddAndTrueToLoopCondition,
AddMockTextureNoRenderTarget,
AdjustClearColorPrecision,
AdjustSrcDstRegionForBlitFramebuffer,
AllocateNonZeroMemory,
AllowAstcFormats,
AllowBufferReadWrite,
AllowClearForRobustResourceInit,
AllowCompressedFormats,
AllowES3OnFL100,
AllowETCFormats,
AllowGenerateMipmapWithCompute,
AllowGenMultipleMipsPerPass,
AllowHostImageCopyDespiteNonIdenticalLayout,
AllowInlineConstVertexData,
AllowMultisampledRenderToTextureEmulation,
AllowMultisampleStoreAndResolve,
AllowPipelineStatisticsForPrimitivesGeneratedQuery,
AllowRenderpassWithoutAttachment,
AllowRuntimeSamplerCompareMode,
AllowSamplerCompareGradient,
AllowSeparateDepthStencilBuffers,
AllowTranslateUniformBlockToStructuredBuffer,
AlwaysCallUseProgramAfterLink,
AlwaysEnableEmulatedMultidrawExtensions,
AlwaysPreferStagedTextureUploads,
AlwaysRunLinkSubJobsThreaded,
AlwaysUnbindFramebufferTexture2D,
AlwaysUseManagedStorageModeForBuffers,
AlwaysUseSharedStorageModeForBuffers,
AlwaysUseStagedBufferUpdates,
AppendAliasedMemoryDecorations,
AsyncCommandBufferResetAndGarbageCleanup,
Avoid1BitAlphaTextureFormats,
AvoidBindFragDataLocation,
AvoidOpSelectWithMismatchingRelaxedPrecision,
AvoidStencilTextureSwizzle,
BgraTexImageFormatsBroken,
BindCompleteFramebufferForTimerQueries,
BindTransformFeedbackBufferBeforeBindBufferRange,
BorderColorSrgb,
BottomLeftOriginPresentRegionRectangles,
BresenhamLineRasterization,
CacheCompiledShader,
CallClearTwice,
ClampArrayAccess,
ClampFragDepth,
ClampMscRate,
ClampPointSize,
ClDumpVkSpirv,
ClearsWithGapsNeedFlush,
ClearToZeroOrOneBroken,
ClipSrcRegionForBlitFramebuffer,
CompileJobIsThreadSafe,
CompressVertexData,
CopyIOSurfaceToNonIOSurfaceForReadOptimization,
CopyTextureToBufferForReadOptimization,
CorruptProgramBinaryForTesting,
DecodeEncodeSRGBForGenerateMipmap,
DepthStencilBlitExtraCopy,
DescriptorSetCache,
DestroyOldSwapchainInSharedPresentMode,
DisableAnisotropicFiltering,
DisableB5G6R5Support,
DisableBaseInstanceVertex,
DisableBlendEquationAdvanced,
DisableBlendFuncExtended,
DisableClipControl,
DisableDepthStencilResolveThroughAttachment,
DisableDrawBuffersIndexed,
DisableFlippingBlitWithCommand,
DisableGPUSwitchingSupport,
DisableMetalOnNvidia,
DisableMultisampledRenderToTexture,
DisableNativeParallelCompile,
DisablePipelineCacheLoadForTesting,
DisableProgramBinary,
DisableProgramCaching,
DisableProgramCachingForTransformFeedback,
DisableProgrammableBlending,
DisableRasterizerOrderViews,
DisableRasterOrderGroups,
DisableRenderSnorm,
DisableRWTextureTier2Support,
DisableSemaphoreFd,
DisableSeparateShaderObjects,
DisableStagedInitializationOfPackedTextureFormats,
DisableSyncControlSupport,
DisableTextureClampToBorder,
DisableTextureMirrorClampToEdge,
DisableTiledRendering,
DisableTimestampQueries,
DisallowMixedDepthStencilLoadOpNoneAndLoad,
DoesSRGBClearsOnLinearFramebufferAttachments,
DontInitializeUninitializedLocals,
DontUseLoopsToInitializeVariables,
DoubleDepthBiasConstantFactor,
DoWhileGLSLCausesGPUHang,
DumpShaderSource,
DumpTranslatedShaders,
EglColorspaceAttributePassthrough,
EmulateAbsIntFunction,
EmulateAdvancedBlendEquations,
EmulateAlphaToCoverage,
EmulateAtan2Float,
EmulateClipDistanceState,
EmulateClipOrigin,
EmulateCopyTexImage2D,
EmulateCopyTexImage2DFromRenderbuffers,
EmulateDithering,
EmulateDontCareLoadWithRandomClear,
EmulatedPrerotation180,
EmulatedPrerotation270,
EmulatedPrerotation90,
EmulateImmutableCompressedTexture3D,
EmulateIsnanFloat,
EmulateMaxVertexAttribStride,
EmulatePackSkipRowsAndPackSkipPixels,
EmulatePixelLocalStorage,
EmulatePrimitiveRestartFixedIndex,
EmulateR32fImageAtomicExchange,
EmulateRGB10,
EmulateTinyStencilTextures,
EmulateTransformFeedback,
EnableAdditionalBlendFactorsForDithering,
EnableAsyncPipelineCacheCompression,
EnableCaptureLimits,
EnableInMemoryMtlLibraryCache,
EnableMergeClientAttribBuffer,
EnableMultisampledRenderToTexture,
EnableMultisampledRenderToTextureOnNonTilers,
EnableParallelCompileAndLink,
EnableParallelMtlLibraryCompilation,
EnablePipelineCacheDataCompression,
EnablePortabilityEnumeration,
EnablePrecisionQualifiers,
EnablePreRotateSurfaces,
EnableProgramBinaryForCapture,
EnableShaderSubstitution,
EnableTimestampQueries,
EnableTranslatedShaderSubstitution,
EnsureNonEmptyBufferIsBoundForDraw,
ExpandIntegerPowExpressions,
ExplicitFragmentLocations,
ExplicitlyCastMediumpFloatTo16Bit,
ExplicitlyEnablePerSampleShading,
ExposeES32ForTesting,
ExposeNonConformantExtensionsAndVersions,
FinishDoesNotCauseQueriesToBeAvailable,
FlushAfterEndingTransformFeedback,
FlushAfterStreamVertexData,
FlushBeforeDeleteTextureIfCopiedTo,
FlushOnFramebufferChange,
ForceAtomicValueResolution,
ForceBufferGPUStorage,
ForceContinuousRefreshOnSharedPresent,
ForceD16TexFilter,
ForceD24S8AsUnsupported,
ForceDepthAttachmentInitOnClear,
ForceDisableFullScreenExclusive,
ForceFallbackFormat,
ForceFlushAfterDrawcallUsingShadowmap,
ForceFragmentShaderPrecisionHighpToMediump,
ForceGlErrorChecking,
ForceInitShaderVariables,
ForceMaxCombinedShaderOutputResources,
ForceMaxUniformBufferSize16KB,
ForceMinimumMaxVertexAttributes,
ForceNearestFiltering,
ForceNearestMipFiltering,
ForceNonCSBaseMipmapGeneration,
ForceRobustResourceInit,
ForceSampleUsageForAhbBackedImages,
ForceSubmitImmutableTextureUpdates,
ForceTextureLodOffset1,
ForceTextureLodOffset2,
ForceTextureLodOffset3,
ForceTextureLodOffset4,
ForceWaitForSubmissionToCompleteForQueryResult,
GenerateFragmentShadingRateAttchementWithCpu,
GenerateShareableShaders,
GetDimensionsIgnoresBaseLevel,
HasBaseVertexInstancedDraw,
HasBlobCacheThatEvictsOldItemsFirst,
HasCheapRenderPass,
HasDepthAutoResolve,
HasEvents,
HasExplicitMemBarrier,
HasNonUniformDispatch,
HasShaderStencilOutput,
HasStencilAutoResolve,
HasTextureSwizzle,
InitFragmentOutputVariables,
InitializeCurrentVertexAttributes,
InjectAsmStatementIntoLoopBodies,
IntelDisableFastMath,
IntelExplicitBoolCastWorkaround,
KeepBufferShadowCopy,
LimitMax3dArrayTextureSizeTo1024,
LimitMaxColorTargetBitsForTesting,
LimitMaxDrawBuffersForTesting,
LimitMaxMSAASamplesTo4,
LimitMaxStorageBufferSize,
LimitSampleCountTo2,
LimitWebglMaxTextureSizeTo4096,
LimitWebglMaxTextureSizeTo8192,
LinkJobIsThreadSafe,
LogMemoryReportCallbacks,
LogMemoryReportStats,
LoseContextOnOutOfMemory,
MapUnspecifiedColorSpaceToPassThrough,
MergeProgramPipelineCachesToGlobalCache,
MrtPerfWorkaround,
MultisampleColorFormatShaderReadWorkaround,
MutableMipmapTextureUpload,
OverrideSurfaceFormatRGB8ToRGBA8,
PackLastRowSeparatelyForPaddingInclusion,
PackOverlappingRowsSeparatelyPackBuffer,
PadBuffersToMaxVertexAttribStride,
PassHighpToPackUnormSnormBuiltins,
PerFrameWindowSizeQuery,
PermanentlySwitchToFramebufferFetchMode,
PersistentlyMappedBuffers,
PreAddTexelFetchOffsets,
PreemptivelyStartProvokingVertexCommandBuffer,
PreferAggregateBarrierCalls,
PreferCachedNoncoherentForDynamicStreamBufferUsage,
PreferCpuForBuffersubdata,
PreferCPUForBufferSubData,
PreferDeviceLocalMemoryHostVisible,
PreferDoubleBufferSwapchainOnFifoMode,
PreferDrawClearOverVkCmdClearAttachments,
PreferDriverUniformOverSpecConst,
PreferDynamicRendering,
PreferHostCachedForNonStaticBufferUsage,
PreferLinearFilterForYUV,
PreferMonolithicPipelinesOverLibraries,
PreferMSRTSSFlagByDefault,
PreferSkippingInvalidateForEmulatedFormats,
PreferSubmitAtFBOBoundary,
PreferSubmitOnAnySamplesPassedQueryEnd,
PreTransformTextureCubeGradDerivatives,
PromotePackedFormatsTo8BitPerChannel,
ProvokingVertex,
QueryCounterBitsGeneratesErrors,
ReadPixelsUsingImplementationColorReadFormatForNorm16,
ReapplyUBOBindingsAfterUsingBinaryProgram,
RegenerateStructNames,
RejectWebglShadersWithUndefinedBehavior,
RemoveDynamicIndexingOfSwizzledVector,
RemoveInvariantAndCentroidForESSL3,
RequireGpuFamily2,
RescopeGlobalVariables,
ResetTexImage2DBaseLevel,
ResyncDepthRangeOnClipControl,
RetainSPIRVDebugInfo,
RewriteFloatUnaryMinusOperator,
RewriteRepeatedAssignToSwizzled,
RewriteRowMajorMatrices,
RewriteUnaryMinusOperator,
RGBA4IsNotSupportedForColorRendering,
RGBDXT1TexturesSampleZeroAlpha,
RoundOutputAfterDithering,
SanitizeAMDGPURendererString,
ScalarizeVecAndMatConstructorArgs,
SelectViewInGeometryShader,
SetDataFasterThanImageUpload,
SetPrimitiveRestartFixedIndexForDrawArrays,
SetZeroLevelBeforeGenerateMipmap,
ShiftInstancedArrayDataWithOffset,
SingleThreadedTextureDecompression,
SkipPipelineCacheSerialization,
SkipVSConstantRegisterZero,
SlowDownMonolithicPipelineCreationForTesting,
SrgbBlendingBroken,
Supports16BitInputOutput,
Supports16BitPushConstant,
Supports16BitStorageBuffer,
Supports16BitUniformAndStorageBuffer,
Supports8BitPushConstant,
Supports8BitStorageBuffer,
Supports8BitUniformAndStorageBuffer,
SupportsAndroidHardwareBuffer,
SupportsAndroidNativeFenceSync,
SupportsAngleRgbxInternalFormat,
SupportsAppleClipDistance,
SupportsAstcSliced3d,
SupportsBindMemory2,
SupportsBlendOperationAdvanced,
SupportsBlendOperationAdvancedCoherent,
SupportsColorWriteEnable,
SupportsComputeTranscodeEtcToBc,
SupportsCustomBorderColor,
SupportsDenormFtzFp16,
SupportsDenormFtzFp32,
SupportsDenormFtzFp64,
SupportsDenormPreserveFp16,
SupportsDenormPreserveFp32,
SupportsDenormPreserveFp64,
SupportsDepthClampZeroOne,
SupportsDepthClipControl,
SupportsDepthStencilIndependentResolveNone,
SupportsDepthStencilResolve,
SupportsDeviceFault,
SupportsDynamicRendering,
SupportsDynamicRenderingLocalRead,
SupportsExtendedDynamicState,
SupportsExtendedDynamicState2,
SupportsExternalFenceCapabilities,
SupportsExternalFenceFd,
SupportsExternalFormatResolve,
SupportsExternalMemoryDmaBufAndModifiers,
SupportsExternalMemoryFd,
SupportsExternalMemoryFuchsia,
SupportsExternalMemoryHost,
SupportsExternalSemaphoreCapabilities,
SupportsExternalSemaphoreFd,
SupportsExternalSemaphoreFuchsia,
SupportsFormatFeatureFlags2,
SupportsFoveatedRendering,
SupportsFragmentShaderInterlockARB,
SupportsFragmentShaderInterlockNV,
SupportsFragmentShaderOrderingINTEL,
SupportsFragmentShaderPixelInterlock,
SupportsFragmentShadingRate,
SupportsFullScreenExclusive,
SupportsGeometryStreamsCapability,
SupportsGetMemoryRequirements2,
SupportsGraphicsPipelineLibrary,
SupportsHostImageCopy,
SupportsHostQueryReset,
SupportsImage2dViewOf3d,
SupportsImageCompressionControl,
SupportsImageCompressionControlSwapchain,
SupportsImageCubeArray,
SupportsImageFormatList,
SupportsImagelessFramebuffer,
SupportsIncrementalPresent,
SupportsIndexTypeUint8,
SupportsLegacyDithering,
SupportsLockSurfaceExtension,
SupportsLogicOpDynamicState,
SupportsMaintenance5,
SupportsMemoryBudget,
SupportsMultiDrawIndirect,
SupportsMultisampledRenderToSingleSampled,
SupportsMultiview,
SupportsNonConstantLoopIndexing,
SupportsPipelineCreationFeedback,
SupportsPipelineProtectedAccess,
SupportsPipelineRobustness,
SupportsPipelineStatisticsQuery,
SupportsPortabilityEnumeration,
SupportsPresentation,
SupportsPrimitivesGeneratedQuery,
SupportsPrimitiveTopologyListRestart,
SupportsProtectedMemory,
SupportsRasterizationOrderAttachmentAccess,
SupportsRenderpass2,
SupportsRenderPassLoadStoreOpNone,
SupportsRenderPassStoreOpNone,
SupportsRoundingModeRteFp16,
SupportsRoundingModeRteFp32,
SupportsRoundingModeRteFp64,
SupportsRoundingModeRtzFp16,
SupportsRoundingModeRtzFp32,
SupportsRoundingModeRtzFp64,
SupportsSampler2dViewOf3d,
SupportsSamplerMirrorClampToEdge,
SupportsShaderFloat16,
SupportsShaderFloat64,
SupportsShaderFramebufferFetch,
SupportsShaderFramebufferFetchDepthStencil,
SupportsShaderFramebufferFetchEXT,
SupportsShaderFramebufferFetchNonCoherent,
SupportsShaderFramebufferFetchNonCoherentEXT,
SupportsShaderInt8,
SupportsShaderNonSemanticInfo,
SupportsShaderStencilExport,
SupportsSharedPresentableImageExtension,
SupportsSignedZeroInfNanPreserveFp16,
SupportsSignedZeroInfNanPreserveFp32,
SupportsSignedZeroInfNanPreserveFp64,
SupportsSPIRV14,
SupportsSurfaceCapabilities2Extension,
SupportsSurfacelessQueryExtension,
SupportsSurfaceMaintenance1,
SupportsSurfaceProtectedCapabilitiesExtension,
SupportsSurfaceProtectedSwapchains,
SupportsSwapchainMaintenance1,
SupportsSwapchainMutableFormat,
SupportsSynchronization2,
SupportsTextureCompressionAstcHdr,
SupportsTimelineSemaphore,
SupportsTimestampSurfaceAttribute,
SupportsTransformFeedbackExtension,
SupportsUniformBufferStandardLayout,
SupportsVertexInputDynamicState,
SupportsYUVSamplerConversion,
SupportsYuvTarget,
SwapbuffersOnFlushOrFinishWithSingleBuffer,
SyncAllVertexArraysToDefault,
SyncDefaultVertexArraysToDefault,
SyncMonolithicPipelinesToBlobCache,
UnbindFBOBeforeSwitchingContext,
UncurrentEglSurfaceUponSurfaceDestroy,
UnfoldShortCircuits,
UnpackLastRowSeparatelyForPaddingInclusion,
UnpackOverlappingRowsSeparatelyUnpackBuffer,
UnsizedSRGBReadPixelsDoesntTransform,
UploadDataToIosurfacesWithStagingBuffers,
UploadTextureDataInChunks,
UseCullModeDynamicState,
UseDepthBiasEnableDynamicState,
UseDepthCompareOpDynamicState,
UseDepthTestEnableDynamicState,
UseDepthWriteEnableDynamicState,
UseDualPipelineBlobCacheSlots,
UseEmptyBlobsToEraseOldPipelineCacheFromBlobCache,
UseFrontFaceDynamicState,
UseIntermediateTextureForGenerateMipmap,
UseMultipleDescriptorsForExternalFormats,
UseNonZeroStencilWriteMaskStaticState,
UsePrimitiveRestartEnableDynamicState,
UseRasterizerDiscardEnableDynamicState,
UseResetCommandBufferBitForSecondaryPools,
UseShadowBuffersWhenAppropriate,
UsesNativeBuiltinClKernel,
UseStencilOpDynamicState,
UseStencilTestEnableDynamicState,
UseSystemMemoryForConstantBuffers,
UseUnusedBlocksWithStandardOrSharedLayout,
UseVertexInputBindingStrideDynamicState,
UseVkEventForBufferBarrier,
UseVkEventForImageBarrier,
UseVmaForImageSuballocation,
VaryingsRequireMatchingPrecisionInSpirv,
VerifyPipelineCacheInBlobCache,
VertexIDDoesNotIncludeBaseVertex,
WaitIdleBeforeSwapchainRecreation,
WarmUpPipelineCacheAtLink,
WrapSwitchInIfTrue,
WriteHelperSampleMask,
ZeroMaxLodWorkaround,
InvalidEnum,
EnumCount = InvalidEnum,
};
ANGLE_UTIL_EXPORT extern const char *GetFeatureName(Feature feature);
} // namespace angle
#endif // ANGLE_SRC_TESTS_TEST_UTIL_AUTOGEN_ANGLE_FEATURES_AUTOGEN_H_