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_UTILS_ANGLE_FEATURES_AUTOGEN_H_ 11 #define ANGLE_SRC_TESTS_TEST_UTILS_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 AllowBufferReadWrite, 24 AllowClearForRobustResourceInit, 25 AllowCompressedFormats, 26 AllowES3OnFL100, 27 AllowETCFormats, 28 AllowGenerateMipmapWithCompute, 29 AllowGenMultipleMipsPerPass, 30 AllowInlineConstVertexData, 31 AllowMultisampleStoreAndResolve, 32 AllowRuntimeSamplerCompareMode, 33 AllowSamplerCompareGradient, 34 AllowSamplerCompareLod, 35 AllowSeparateDepthStencilBuffers, 36 AllowTranslateUniformBlockToStructuredBuffer, 37 AlwaysCallUseProgramAfterLink, 38 AlwaysUnbindFramebufferTexture2D, 39 AsyncCommandQueue, 40 Avoid1BitAlphaTextureFormats, 41 BasicGLLineRasterization, 42 BindEmptyForUnusedDescriptorSets, 43 BindTransformFeedbackBufferBeforeBindBufferRange, 44 BottomLeftOriginPresentRegionRectangles, 45 BresenhamLineRasterization, 46 CallClearTwice, 47 ClampArrayAccess, 48 ClampFragDepth, 49 ClampMscRate, 50 ClampPointSize, 51 ClearToZeroOrOneBroken, 52 ClipSrcRegionForBlitFramebuffer, 53 CompressVertexData, 54 CopyIOSurfaceToNonIOSurfaceForReadOptimization, 55 CreatePipelineDuringLink, 56 DecodeEncodeSRGBForGenerateMipmap, 57 DeferFlushUntilEndRenderPass, 58 DepthClamping, 59 DepthStencilBlitExtraCopy, 60 DirectMetalGeneration, 61 DisableAnisotropicFiltering, 62 DisableB5G6R5Support, 63 DisableBlendFuncExtended, 64 DisableDrawBuffersIndexed, 65 DisableFifoPresentMode, 66 DisableFlippingBlitWithCommand, 67 DisableGPUSwitchingSupport, 68 DisableMultisampledRenderToTexture, 69 DisableNativeParallelCompile, 70 DisableProgramBinary, 71 DisableProgramCachingForTransformFeedback, 72 DisableSemaphoreFd, 73 DisableSyncControlSupport, 74 DisableTimestampQueries, 75 DisableWorkerContexts, 76 DisallowSeamfulCubeMapEmulation, 77 DoesSRGBClearsOnLinearFramebufferAttachments, 78 DontInitializeUninitializedLocals, 79 DontRelinkProgramsInParallel, 80 DontUseLoopsToInitializeVariables, 81 DoWhileGLSLCausesGPUHang, 82 EmulateAbsIntFunction, 83 EmulateAdvancedBlendEquations, 84 EmulateAtan2Float, 85 EmulateCopyTexImage2DFromRenderbuffers, 86 EmulateDithering, 87 EmulatedPrerotation180, 88 EmulatedPrerotation270, 89 EmulatedPrerotation90, 90 EmulateImmutableCompressedTexture3D, 91 EmulateIsnanFloat, 92 EmulateMaxVertexAttribStride, 93 EmulatePackSkipRowsAndPackSkipPixels, 94 EmulatePrimitiveRestartFixedIndex, 95 EmulateR32fImageAtomicExchange, 96 EmulateRGB10, 97 EmulateTinyStencilTextures, 98 EmulateTransformFeedback, 99 EnableCaptureLimits, 100 EnableCompressingPipelineCacheInThreadPool, 101 EnableMultisampledRenderToTexture, 102 EnablePrecisionQualifiers, 103 EnablePreRotateSurfaces, 104 EnableProgramBinaryForCapture, 105 ExpandIntegerPowExpressions, 106 ExposeNonConformantExtensionsAndVersions, 107 FinishDoesNotCauseQueriesToBeAvailable, 108 FlushAfterEndingTransformFeedback, 109 FlushBeforeDeleteTextureIfCopiedTo, 110 FlushOnFramebufferChange, 111 ForceAtomicValueResolution, 112 ForceBufferGPUStorage, 113 ForceD16TexFilter, 114 ForceD24S8AsUnsupported, 115 ForceDriverUniformOverSpecConst, 116 ForceFallbackFormat, 117 ForceFragmentShaderPrecisionHighpToMediump, 118 ForceGlErrorChecking, 119 ForceInitShaderVariables, 120 ForceMaxUniformBufferSize16KB, 121 ForceNearestFiltering, 122 ForceNearestMipFiltering, 123 ForceNonCSBaseMipmapGeneration, 124 ForceRobustResourceInit, 125 ForceSubmitImmutableTextureUpdates, 126 ForceTextureLodOffset1, 127 ForceTextureLodOffset2, 128 ForceTextureLodOffset3, 129 ForceTextureLodOffset4, 130 GenerateSPIRVThroughGlslang, 131 GetDimensionsIgnoresBaseLevel, 132 HasBaseVertexInstancedDraw, 133 HasCheapRenderPass, 134 HasDepthAutoResolve, 135 HasEvents, 136 HasExplicitMemBarrier, 137 HasNonUniformDispatch, 138 HasShaderStencilOutput, 139 HasStencilAutoResolve, 140 HasTextureSwizzle, 141 InitFragmentOutputVariables, 142 InitializeCurrentVertexAttributes, 143 IntelDisableFastMath, 144 IntelExplicitBoolCastWorkaround, 145 KeepBufferShadowCopy, 146 LimitMax3dArrayTextureSizeTo1024, 147 LimitMaxMSAASamplesTo4, 148 LimitMaxTextureSizeTo4096, 149 LogMemoryReportCallbacks, 150 LogMemoryReportStats, 151 LoseContextOnOutOfMemory, 152 MrtPerfWorkaround, 153 MultisampleColorFormatShaderReadWorkaround, 154 OverrideSurfaceFormatRGB8ToRGBA8, 155 PackLastRowSeparatelyForPaddingInclusion, 156 PackOverlappingRowsSeparatelyPackBuffer, 157 PadBuffersToMaxVertexAttribStride, 158 PerFrameWindowSizeQuery, 159 PersistentlyMappedBuffers, 160 PreAddTexelFetchOffsets, 161 PreferAggregateBarrierCalls, 162 PreferCPUForBufferSubData, 163 PreferDrawClearOverVkCmdClearAttachments, 164 PreferSkippingInvalidateForEmulatedFormats, 165 PreferSubmitAtFBOBoundary, 166 PromotePackedFormatsTo8BitPerChannel, 167 ProvokingVertex, 168 QueryCounterBitsGeneratesErrors, 169 ReadPixelsUsingImplementationColorReadFormatForNorm16, 170 ReapplyUBOBindingsAfterUsingBinaryProgram, 171 RegenerateStructNames, 172 RemoveDynamicIndexingOfSwizzledVector, 173 RemoveInvariantAndCentroidForESSL3, 174 ResetTexImage2DBaseLevel, 175 RetainSPIRVDebugInfo, 176 RewriteFloatUnaryMinusOperator, 177 RewriteRepeatedAssignToSwizzled, 178 RewriteRowMajorMatrices, 179 RewriteUnaryMinusOperator, 180 RGBA4IsNotSupportedForColorRendering, 181 RGBDXT1TexturesSampleZeroAlpha, 182 SanitizeAMDGPURendererString, 183 ScalarizeVecAndMatConstructorArgs, 184 SelectViewInGeometryShader, 185 SetDataFasterThanImageUpload, 186 SetPrimitiveRestartFixedIndexForDrawArrays, 187 SetZeroLevelBeforeGenerateMipmap, 188 ShadowBuffers, 189 ShiftInstancedArrayDataWithOffset, 190 SkipVSConstantRegisterZero, 191 SupportsAndroidHardwareBuffer, 192 SupportsAndroidNativeFenceSync, 193 SupportsBlendOperationAdvanced, 194 SupportsCustomBorderColor, 195 SupportsDepthClipControl, 196 SupportsDepthStencilResolve, 197 SupportsExternalFenceCapabilities, 198 SupportsExternalFenceFd, 199 SupportsExternalMemoryDmaBufAndModifiers, 200 SupportsExternalMemoryFd, 201 SupportsExternalMemoryFuchsia, 202 SupportsExternalMemoryHost, 203 SupportsExternalSemaphoreCapabilities, 204 SupportsExternalSemaphoreFd, 205 SupportsExternalSemaphoreFuchsia, 206 SupportsFilteringPrecision, 207 SupportsGeometryStreamsCapability, 208 SupportsGGPFrameToken, 209 SupportsHostQueryReset, 210 SupportsImageCubeArray, 211 SupportsImageFormatList, 212 SupportsIncrementalPresent, 213 SupportsIndexTypeUint8, 214 SupportsLockSurfaceExtension, 215 SupportsMultiDrawIndirect, 216 SupportsMultisampledRenderToSingleSampled, 217 SupportsMultiview, 218 SupportsNegativeViewport, 219 SupportsPipelineStatisticsQuery, 220 SupportsProtectedMemory, 221 SupportsRenderpass2, 222 SupportsRenderPassLoadStoreOpNone, 223 SupportsRenderPassStoreOpNone, 224 SupportsShaderFloat16, 225 SupportsShaderFramebufferFetch, 226 SupportsShaderFramebufferFetchNonCoherent, 227 SupportsShaderStencilExport, 228 SupportsSharedPresentableImageExtension, 229 SupportsSurfaceCapabilities2Extension, 230 SupportsSurfacelessQueryExtension, 231 SupportsSurfaceProtectedCapabilitiesExtension, 232 SupportsSurfaceProtectedSwapchains, 233 SupportsTransformFeedbackExtension, 234 SupportsYUVSamplerConversion, 235 SwapbuffersOnFlushOrFinishWithSingleBuffer, 236 SyncVertexArraysToDefault, 237 UnbindFBOBeforeSwitchingContext, 238 UnfoldShortCircuits, 239 UnpackLastRowSeparatelyForPaddingInclusion, 240 UnpackOverlappingRowsSeparatelyUnpackBuffer, 241 UnsizedSRGBReadPixelsDoesntTransform, 242 UploadTextureDataInChunks, 243 UseInstancedPointSpriteEmulation, 244 UseMultipleDescriptorsForExternalFormats, 245 UseSystemMemoryForConstantBuffers, 246 UseUnusedBlocksWithStandardOrSharedLayout, 247 VertexIDDoesNotIncludeBaseVertex, 248 WaitIdleBeforeSwapchainRecreation, 249 ZeroMaxLodWorkaround, 250 251 InvalidEnum, 252 EnumCount = InvalidEnum, 253 }; 254 255 ANGLE_UTIL_EXPORT extern const char *GetFeatureName(Feature feature); 256 257 } // namespace angle 258 259 #endif // ANGLE_SRC_TESTS_TEST_UTILS_ANGLE_FEATURES_AUTOGEN_H_ 260