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