1 // GENERATED FILE - DO NOT EDIT. 2 // Generated by gen_features.py using data from frontend_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 // FrontendFeatures_autogen.h: Features/workarounds for driver bugs and other behaviors seen 9 // on all platforms. 10 11 #ifndef ANGLE_PLATFORM_AUTOGEN_FRONTENDFEATURES_H_ 12 #define ANGLE_PLATFORM_AUTOGEN_FRONTENDFEATURES_H_ 13 14 #include "platform/Feature.h" 15 16 namespace angle 17 { 18 19 struct FrontendFeatures : FeatureSetBase 20 { 21 FrontendFeatures(); 22 ~FrontendFeatures(); 23 24 FeatureInfo loseContextOnOutOfMemory = { 25 "loseContextOnOutOfMemory", 26 FeatureCategory::FrontendWorkarounds, 27 &members, 28 }; 29 30 FeatureInfo disableProgramCachingForTransformFeedback = { 31 "disableProgramCachingForTransformFeedback", 32 FeatureCategory::FrontendWorkarounds, 33 &members, 34 }; 35 36 FeatureInfo disableProgramBinary = { 37 "disableProgramBinary", 38 FeatureCategory::FrontendFeatures, 39 &members, 40 }; 41 42 FeatureInfo disableDrawBuffersIndexed = { 43 "disableDrawBuffersIndexed", 44 FeatureCategory::FrontendFeatures, 45 &members, 46 }; 47 48 FeatureInfo disableAnisotropicFiltering = { 49 "disableAnisotropicFiltering", 50 FeatureCategory::FrontendWorkarounds, 51 &members, 52 }; 53 54 FeatureInfo allowCompressedFormats = { 55 "allowCompressedFormats", 56 FeatureCategory::FrontendWorkarounds, 57 &members, 58 }; 59 60 FeatureInfo singleThreadedTextureDecompression = { 61 "singleThreadedTextureDecompression", 62 FeatureCategory::FrontendWorkarounds, 63 &members, 64 }; 65 66 FeatureInfo forceDepthAttachmentInitOnClear = { 67 "forceDepthAttachmentInitOnClear", 68 FeatureCategory::FrontendWorkarounds, 69 &members, 70 }; 71 72 FeatureInfo enableCaptureLimits = { 73 "enableCaptureLimits", 74 FeatureCategory::FrontendFeatures, 75 &members, 76 }; 77 78 FeatureInfo forceRobustResourceInit = { 79 "forceRobustResourceInit", 80 FeatureCategory::FrontendFeatures, 81 &members, 82 }; 83 84 FeatureInfo forceInitShaderVariables = { 85 "forceInitShaderVariables", 86 FeatureCategory::FrontendFeatures, 87 &members, 88 }; 89 90 FeatureInfo enableProgramBinaryForCapture = { 91 "enableProgramBinaryForCapture", 92 FeatureCategory::FrontendFeatures, 93 &members, 94 }; 95 96 FeatureInfo forceGlErrorChecking = { 97 "forceGlErrorChecking", 98 FeatureCategory::FrontendFeatures, 99 &members, 100 }; 101 102 FeatureInfo emulatePixelLocalStorage = { 103 "emulatePixelLocalStorage", 104 FeatureCategory::FrontendFeatures, 105 &members, 106 }; 107 108 FeatureInfo cacheCompiledShader = { 109 "cacheCompiledShader", 110 FeatureCategory::FrontendFeatures, 111 &members, 112 }; 113 114 FeatureInfo dumpShaderSource = { 115 "dumpShaderSource", 116 FeatureCategory::FrontendFeatures, 117 &members, 118 }; 119 120 FeatureInfo enableShaderSubstitution = { 121 "enableShaderSubstitution", 122 FeatureCategory::FrontendWorkarounds, 123 &members, 124 }; 125 126 FeatureInfo disableProgramCaching = { 127 "disableProgramCaching", 128 FeatureCategory::FrontendFeatures, 129 &members, 130 }; 131 132 FeatureInfo dumpTranslatedShaders = { 133 "dumpTranslatedShaders", 134 FeatureCategory::FrontendFeatures, 135 &members, 136 }; 137 138 FeatureInfo enableTranslatedShaderSubstitution = { 139 "enableTranslatedShaderSubstitution", 140 FeatureCategory::FrontendWorkarounds, 141 &members, 142 }; 143 144 FeatureInfo compileJobIsThreadSafe = { 145 "compileJobIsThreadSafe", 146 FeatureCategory::FrontendFeatures, 147 &members, 148 }; 149 150 FeatureInfo linkJobIsThreadSafe = { 151 "linkJobIsThreadSafe", 152 FeatureCategory::FrontendFeatures, 153 &members, 154 }; 155 156 FeatureInfo alwaysRunLinkSubJobsThreaded = { 157 "alwaysRunLinkSubJobsThreaded", 158 FeatureCategory::FrontendFeatures, 159 &members, 160 }; 161 162 FeatureInfo uncurrentEglSurfaceUponSurfaceDestroy = { 163 "uncurrentEglSurfaceUponSurfaceDestroy", 164 FeatureCategory::FrontendWorkarounds, 165 &members, 166 }; 167 168 FeatureInfo forceMinimumMaxVertexAttributes = { 169 "forceMinimumMaxVertexAttributes", 170 FeatureCategory::FrontendFeatures, 171 &members, 172 }; 173 174 FeatureInfo forceFlushAfterDrawcallUsingShadowmap = { 175 "forceFlushAfterDrawcallUsingShadowmap", 176 FeatureCategory::FrontendWorkarounds, 177 &members, 178 }; 179 180 FeatureInfo rejectWebglShadersWithUndefinedBehavior = { 181 "rejectWebglShadersWithUndefinedBehavior", 182 FeatureCategory::FrontendWorkarounds, 183 &members, 184 }; 185 186 FeatureInfo alwaysEnableEmulatedMultidrawExtensions = { 187 "alwaysEnableEmulatedMultidrawExtensions", 188 FeatureCategory::FrontendWorkarounds, 189 &members, 190 }; 191 192 }; 193 194 inline FrontendFeatures::FrontendFeatures() = default; 195 inline FrontendFeatures::~FrontendFeatures() = default; 196 197 } // namespace angle 198 199 #endif // ANGLE_PLATFORM_AUTOGEN_FRONTENDFEATURES_H_ 200