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