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 AllowPipelineStatisticsForPrimitivesGeneratedQuery, 37 AllowRenderpassWithoutAttachment, 38 AllowRuntimeSamplerCompareMode, 39 AllowSamplerCompareGradient, 40 AllowSeparateDepthStencilBuffers, 41 AllowTranslateUniformBlockToStructuredBuffer, 42 AlwaysCallUseProgramAfterLink, 43 AlwaysEnableEmulatedMultidrawExtensions, 44 AlwaysPreferStagedTextureUploads, 45 AlwaysRunLinkSubJobsThreaded, 46 AlwaysUnbindFramebufferTexture2D, 47 AlwaysUseManagedStorageModeForBuffers, 48 AlwaysUseSharedStorageModeForBuffers, 49 AlwaysUseStagedBufferUpdates, 50 AppendAliasedMemoryDecorations, 51 AsyncCommandBufferResetAndGarbageCleanup, 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 CompressVertexData, 74 CopyIOSurfaceToNonIOSurfaceForReadOptimization, 75 CopyTextureToBufferForReadOptimization, 76 CorruptProgramBinaryForTesting, 77 DecodeEncodeSRGBForGenerateMipmap, 78 DepthStencilBlitExtraCopy, 79 DescriptorSetCache, 80 DestroyOldSwapchainInSharedPresentMode, 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 ForceMaxCombinedShaderOutputResources, 185 ForceMaxUniformBufferSize16KB, 186 ForceMinimumMaxVertexAttributes, 187 ForceNearestFiltering, 188 ForceNearestMipFiltering, 189 ForceNonCSBaseMipmapGeneration, 190 ForceRobustResourceInit, 191 ForceSampleUsageForAhbBackedImages, 192 ForceSubmitImmutableTextureUpdates, 193 ForceTextureLodOffset1, 194 ForceTextureLodOffset2, 195 ForceTextureLodOffset3, 196 ForceTextureLodOffset4, 197 ForceWaitForSubmissionToCompleteForQueryResult, 198 GenerateFragmentShadingRateAttchementWithCpu, 199 GenerateShareableShaders, 200 GetDimensionsIgnoresBaseLevel, 201 HasBaseVertexInstancedDraw, 202 HasBlobCacheThatEvictsOldItemsFirst, 203 HasCheapRenderPass, 204 HasDepthAutoResolve, 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 LogMemoryReportCallbacks, 227 LogMemoryReportStats, 228 LoseContextOnOutOfMemory, 229 MapUnspecifiedColorSpaceToPassThrough, 230 MergeProgramPipelineCachesToGlobalCache, 231 MrtPerfWorkaround, 232 MultisampleColorFormatShaderReadWorkaround, 233 MutableMipmapTextureUpload, 234 OverrideSurfaceFormatRGB8ToRGBA8, 235 PackLastRowSeparatelyForPaddingInclusion, 236 PackOverlappingRowsSeparatelyPackBuffer, 237 PadBuffersToMaxVertexAttribStride, 238 PassHighpToPackUnormSnormBuiltins, 239 PerFrameWindowSizeQuery, 240 PermanentlySwitchToFramebufferFetchMode, 241 PersistentlyMappedBuffers, 242 PreAddTexelFetchOffsets, 243 PreemptivelyStartProvokingVertexCommandBuffer, 244 PreferAggregateBarrierCalls, 245 PreferCachedNoncoherentForDynamicStreamBufferUsage, 246 PreferCpuForBuffersubdata, 247 PreferCPUForBufferSubData, 248 PreferDeviceLocalMemoryHostVisible, 249 PreferDoubleBufferSwapchainOnFifoMode, 250 PreferDrawClearOverVkCmdClearAttachments, 251 PreferDriverUniformOverSpecConst, 252 PreferDynamicRendering, 253 PreferHostCachedForNonStaticBufferUsage, 254 PreferLinearFilterForYUV, 255 PreferMonolithicPipelinesOverLibraries, 256 PreferMSRTSSFlagByDefault, 257 PreferSkippingInvalidateForEmulatedFormats, 258 PreferSubmitAtFBOBoundary, 259 PreferSubmitOnAnySamplesPassedQueryEnd, 260 PreTransformTextureCubeGradDerivatives, 261 PromotePackedFormatsTo8BitPerChannel, 262 ProvokingVertex, 263 QueryCounterBitsGeneratesErrors, 264 ReadPixelsUsingImplementationColorReadFormatForNorm16, 265 ReapplyUBOBindingsAfterUsingBinaryProgram, 266 RegenerateStructNames, 267 RejectWebglShadersWithUndefinedBehavior, 268 RemoveDynamicIndexingOfSwizzledVector, 269 RemoveInvariantAndCentroidForESSL3, 270 RequireGpuFamily2, 271 RescopeGlobalVariables, 272 ResetTexImage2DBaseLevel, 273 ResyncDepthRangeOnClipControl, 274 RetainSPIRVDebugInfo, 275 RewriteFloatUnaryMinusOperator, 276 RewriteRepeatedAssignToSwizzled, 277 RewriteRowMajorMatrices, 278 RewriteUnaryMinusOperator, 279 RGBA4IsNotSupportedForColorRendering, 280 RGBDXT1TexturesSampleZeroAlpha, 281 RoundOutputAfterDithering, 282 SanitizeAMDGPURendererString, 283 ScalarizeVecAndMatConstructorArgs, 284 SelectViewInGeometryShader, 285 SetDataFasterThanImageUpload, 286 SetPrimitiveRestartFixedIndexForDrawArrays, 287 SetZeroLevelBeforeGenerateMipmap, 288 ShiftInstancedArrayDataWithOffset, 289 SingleThreadedTextureDecompression, 290 SkipPipelineCacheSerialization, 291 SkipVSConstantRegisterZero, 292 SlowDownMonolithicPipelineCreationForTesting, 293 SrgbBlendingBroken, 294 Supports16BitInputOutput, 295 Supports16BitPushConstant, 296 Supports16BitStorageBuffer, 297 Supports16BitUniformAndStorageBuffer, 298 Supports8BitPushConstant, 299 Supports8BitStorageBuffer, 300 Supports8BitUniformAndStorageBuffer, 301 SupportsAndroidHardwareBuffer, 302 SupportsAndroidNativeFenceSync, 303 SupportsAngleRgbxInternalFormat, 304 SupportsAppleClipDistance, 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 SupportsDeviceFault, 323 SupportsDynamicRendering, 324 SupportsDynamicRenderingLocalRead, 325 SupportsExtendedDynamicState, 326 SupportsExtendedDynamicState2, 327 SupportsExternalFenceCapabilities, 328 SupportsExternalFenceFd, 329 SupportsExternalFormatResolve, 330 SupportsExternalMemoryDmaBufAndModifiers, 331 SupportsExternalMemoryFd, 332 SupportsExternalMemoryFuchsia, 333 SupportsExternalMemoryHost, 334 SupportsExternalSemaphoreCapabilities, 335 SupportsExternalSemaphoreFd, 336 SupportsExternalSemaphoreFuchsia, 337 SupportsFormatFeatureFlags2, 338 SupportsFoveatedRendering, 339 SupportsFragmentShaderInterlockARB, 340 SupportsFragmentShaderInterlockNV, 341 SupportsFragmentShaderOrderingINTEL, 342 SupportsFragmentShaderPixelInterlock, 343 SupportsFragmentShadingRate, 344 SupportsFullScreenExclusive, 345 SupportsGeometryStreamsCapability, 346 SupportsGetMemoryRequirements2, 347 SupportsGraphicsPipelineLibrary, 348 SupportsHostImageCopy, 349 SupportsHostQueryReset, 350 SupportsImage2dViewOf3d, 351 SupportsImageCompressionControl, 352 SupportsImageCompressionControlSwapchain, 353 SupportsImageCubeArray, 354 SupportsImageFormatList, 355 SupportsImagelessFramebuffer, 356 SupportsIncrementalPresent, 357 SupportsIndexTypeUint8, 358 SupportsLegacyDithering, 359 SupportsLockSurfaceExtension, 360 SupportsLogicOpDynamicState, 361 SupportsMaintenance5, 362 SupportsMemoryBudget, 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 SupportsSwapchainMutableFormat, 410 SupportsSynchronization2, 411 SupportsTextureCompressionAstcHdr, 412 SupportsTimelineSemaphore, 413 SupportsTimestampSurfaceAttribute, 414 SupportsTransformFeedbackExtension, 415 SupportsUniformBufferStandardLayout, 416 SupportsVertexInputDynamicState, 417 SupportsYUVSamplerConversion, 418 SupportsYuvTarget, 419 SwapbuffersOnFlushOrFinishWithSingleBuffer, 420 SyncAllVertexArraysToDefault, 421 SyncDefaultVertexArraysToDefault, 422 SyncMonolithicPipelinesToBlobCache, 423 UnbindFBOBeforeSwitchingContext, 424 UncurrentEglSurfaceUponSurfaceDestroy, 425 UnfoldShortCircuits, 426 UnpackLastRowSeparatelyForPaddingInclusion, 427 UnpackOverlappingRowsSeparatelyUnpackBuffer, 428 UnsizedSRGBReadPixelsDoesntTransform, 429 UploadDataToIosurfacesWithStagingBuffers, 430 UploadTextureDataInChunks, 431 UseCullModeDynamicState, 432 UseDepthBiasEnableDynamicState, 433 UseDepthCompareOpDynamicState, 434 UseDepthTestEnableDynamicState, 435 UseDepthWriteEnableDynamicState, 436 UseDualPipelineBlobCacheSlots, 437 UseEmptyBlobsToEraseOldPipelineCacheFromBlobCache, 438 UseFrontFaceDynamicState, 439 UseIntermediateTextureForGenerateMipmap, 440 UseMultipleDescriptorsForExternalFormats, 441 UseNonZeroStencilWriteMaskStaticState, 442 UsePrimitiveRestartEnableDynamicState, 443 UseRasterizerDiscardEnableDynamicState, 444 UseResetCommandBufferBitForSecondaryPools, 445 UseShadowBuffersWhenAppropriate, 446 UsesNativeBuiltinClKernel, 447 UseStencilOpDynamicState, 448 UseStencilTestEnableDynamicState, 449 UseSystemMemoryForConstantBuffers, 450 UseUnusedBlocksWithStandardOrSharedLayout, 451 UseVertexInputBindingStrideDynamicState, 452 UseVkEventForBufferBarrier, 453 UseVkEventForImageBarrier, 454 UseVmaForImageSuballocation, 455 VaryingsRequireMatchingPrecisionInSpirv, 456 VerifyPipelineCacheInBlobCache, 457 VertexIDDoesNotIncludeBaseVertex, 458 WaitIdleBeforeSwapchainRecreation, 459 WarmUpPipelineCacheAtLink, 460 WrapSwitchInIfTrue, 461 WriteHelperSampleMask, 462 ZeroMaxLodWorkaround, 463 464 InvalidEnum, 465 EnumCount = InvalidEnum, 466 }; 467 468 ANGLE_UTIL_EXPORT extern const char *GetFeatureName(Feature feature); 469 470 } // namespace angle 471 472 #endif // ANGLE_SRC_TESTS_TEST_UTIL_AUTOGEN_ANGLE_FEATURES_AUTOGEN_H_ 473