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