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 disableAnisotropicFiltering = { 43 "disableAnisotropicFiltering", 44 FeatureCategory::FrontendWorkarounds, 45 &members, 46 }; 47 48 FeatureInfo allowCompressedFormats = { 49 "allowCompressedFormats", 50 FeatureCategory::FrontendWorkarounds, 51 &members, 52 }; 53 54 FeatureInfo singleThreadedTextureDecompression = { 55 "singleThreadedTextureDecompression", 56 FeatureCategory::FrontendWorkarounds, 57 &members, 58 }; 59 60 FeatureInfo forceDepthAttachmentInitOnClear = { 61 "forceDepthAttachmentInitOnClear", 62 FeatureCategory::FrontendWorkarounds, 63 &members, 64 }; 65 66 FeatureInfo enableCaptureLimits = { 67 "enableCaptureLimits", 68 FeatureCategory::FrontendFeatures, 69 &members, 70 }; 71 72 FeatureInfo forceRobustResourceInit = { 73 "forceRobustResourceInit", 74 FeatureCategory::FrontendFeatures, 75 &members, 76 }; 77 78 FeatureInfo forceInitShaderVariables = { 79 "forceInitShaderVariables", 80 FeatureCategory::FrontendFeatures, 81 &members, 82 }; 83 84 FeatureInfo enableProgramBinaryForCapture = { 85 "enableProgramBinaryForCapture", 86 FeatureCategory::FrontendFeatures, 87 &members, 88 }; 89 90 FeatureInfo forceGlErrorChecking = { 91 "forceGlErrorChecking", 92 FeatureCategory::FrontendFeatures, 93 &members, 94 }; 95 96 FeatureInfo emulatePixelLocalStorage = { 97 "emulatePixelLocalStorage", 98 FeatureCategory::FrontendFeatures, 99 &members, 100 }; 101 102 FeatureInfo cacheCompiledShader = { 103 "cacheCompiledShader", 104 FeatureCategory::FrontendFeatures, 105 &members, 106 }; 107 108 FeatureInfo dumpShaderSource = { 109 "dumpShaderSource", 110 FeatureCategory::FrontendFeatures, 111 &members, 112 }; 113 114 FeatureInfo enableShaderSubstitution = { 115 "enableShaderSubstitution", 116 FeatureCategory::FrontendWorkarounds, 117 &members, 118 }; 119 120 FeatureInfo disableProgramCaching = { 121 "disableProgramCaching", 122 FeatureCategory::FrontendFeatures, 123 &members, 124 }; 125 126 FeatureInfo dumpTranslatedShaders = { 127 "dumpTranslatedShaders", 128 FeatureCategory::FrontendFeatures, 129 &members, 130 }; 131 132 FeatureInfo enableTranslatedShaderSubstitution = { 133 "enableTranslatedShaderSubstitution", 134 FeatureCategory::FrontendWorkarounds, 135 &members, 136 }; 137 138 FeatureInfo compileJobIsThreadSafe = { 139 "compileJobIsThreadSafe", 140 FeatureCategory::FrontendFeatures, 141 &members, 142 }; 143 144 FeatureInfo linkJobIsThreadSafe = { 145 "linkJobIsThreadSafe", 146 FeatureCategory::FrontendFeatures, 147 &members, 148 }; 149 150 FeatureInfo alwaysRunLinkSubJobsThreaded = { 151 "alwaysRunLinkSubJobsThreaded", 152 FeatureCategory::FrontendFeatures, 153 &members, 154 }; 155 156 FeatureInfo uncurrentEglSurfaceUponSurfaceDestroy = { 157 "uncurrentEglSurfaceUponSurfaceDestroy", 158 FeatureCategory::FrontendWorkarounds, 159 &members, 160 }; 161 162 FeatureInfo forceMinimumMaxVertexAttributes = { 163 "forceMinimumMaxVertexAttributes", 164 FeatureCategory::FrontendFeatures, 165 &members, 166 }; 167 168 FeatureInfo forceFlushAfterDrawcallUsingShadowmap = { 169 "forceFlushAfterDrawcallUsingShadowmap", 170 FeatureCategory::FrontendWorkarounds, 171 &members, 172 }; 173 174 FeatureInfo rejectWebglShadersWithUndefinedBehavior = { 175 "rejectWebglShadersWithUndefinedBehavior", 176 FeatureCategory::FrontendWorkarounds, 177 &members, 178 }; 179 180 FeatureInfo alwaysEnableEmulatedMultidrawExtensions = { 181 "alwaysEnableEmulatedMultidrawExtensions", 182 FeatureCategory::FrontendWorkarounds, 183 &members, 184 }; 185 186 }; 187 188 inline FrontendFeatures::FrontendFeatures() = default; 189 inline FrontendFeatures::~FrontendFeatures() = default; 190 191 } // namespace angle 192 193 #endif // ANGLE_PLATFORM_AUTOGEN_FRONTENDFEATURES_H_ 194