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 "Some users rely on a lost context notification if a GL_OUT_OF_MEMORY error occurs", 28 &members, 29 }; 30 31 FeatureInfo disableProgramCachingForTransformFeedback = { 32 "disableProgramCachingForTransformFeedback", 33 FeatureCategory::FrontendWorkarounds, 34 "On some GPUs, program binaries don't contain transform feedback varyings", 35 &members, 36 }; 37 38 FeatureInfo disableProgramBinary = { 39 "disableProgramBinary", 40 FeatureCategory::FrontendFeatures, 41 "Disable support for GL_OES_get_program_binary", 42 &members, "http://anglebug.com/5007" 43 }; 44 45 FeatureInfo disableDrawBuffersIndexed = { 46 "disableDrawBuffersIndexed", 47 FeatureCategory::FrontendFeatures, 48 "Disable support for OES_draw_buffers_indexed and EXT_draw_buffers_indexed", 49 &members, "http://anglebug.com/7724" 50 }; 51 52 FeatureInfo disableAnisotropicFiltering = { 53 "disableAnisotropicFiltering", 54 FeatureCategory::FrontendWorkarounds, 55 "Disable support for anisotropic filtering", 56 &members, 57 }; 58 59 FeatureInfo allowCompressedFormats = { 60 "allowCompressedFormats", 61 FeatureCategory::FrontendWorkarounds, 62 "Allow compressed formats", 63 &members, 64 }; 65 66 FeatureInfo singleThreadedTextureDecompression = { 67 "singleThreadedTextureDecompression", 68 FeatureCategory::FrontendWorkarounds, 69 "Disables multi-threaded decompression of compressed texture formats", 70 &members, 71 }; 72 73 FeatureInfo forceDepthAttachmentInitOnClear = { 74 "forceDepthAttachmentInitOnClear", 75 FeatureCategory::FrontendWorkarounds, 76 "Force depth attachment initialization on clear ops", 77 &members, "https://anglebug.com/7246" 78 }; 79 80 FeatureInfo enableCaptureLimits = { 81 "enableCaptureLimits", 82 FeatureCategory::FrontendFeatures, 83 "Set the context limits like frame capturing was enabled", 84 &members, "http://anglebug.com/5750" 85 }; 86 87 FeatureInfo forceRobustResourceInit = { 88 "forceRobustResourceInit", 89 FeatureCategory::FrontendFeatures, 90 "Force-enable robust resource init", 91 &members, "http://anglebug.com/6041" 92 }; 93 94 FeatureInfo forceInitShaderVariables = { 95 "forceInitShaderVariables", 96 FeatureCategory::FrontendFeatures, 97 "Force-enable shader variable initialization", 98 &members, 99 }; 100 101 FeatureInfo enableProgramBinaryForCapture = { 102 "enableProgramBinaryForCapture", 103 FeatureCategory::FrontendFeatures, 104 "Even if FrameCapture is enabled, enable GL_OES_get_program_binary", 105 &members, "http://anglebug.com/5658" 106 }; 107 108 FeatureInfo forceGlErrorChecking = { 109 "forceGlErrorChecking", 110 FeatureCategory::FrontendFeatures, 111 "Force GL error checking (i.e. prevent applications from disabling error checking", 112 &members, "https://issuetracker.google.com/220069903" 113 }; 114 115 FeatureInfo emulatePixelLocalStorage = { 116 "emulatePixelLocalStorage", 117 FeatureCategory::FrontendFeatures, 118 "Emulate ANGLE_shader_pixel_local_storage using shader images", 119 &members, "http://anglebug.com/7279" 120 }; 121 122 FeatureInfo cacheCompiledShader = { 123 "cacheCompiledShader", 124 FeatureCategory::FrontendFeatures, 125 "Enable to cache compiled shaders", 126 &members, "http://anglebug.com/7036" 127 }; 128 129 FeatureInfo dumpShaderSource = { 130 "dumpShaderSource", 131 FeatureCategory::FrontendFeatures, 132 "Write shader source to temp directory", 133 &members, "http://anglebug.com/7760" 134 }; 135 136 FeatureInfo enableShaderSubstitution = { 137 "enableShaderSubstitution", 138 FeatureCategory::FrontendWorkarounds, 139 "Check the filesystem for shaders to use instead of those provided through glShaderSource", 140 &members, "http://anglebug.com/7761" 141 }; 142 143 FeatureInfo disableProgramCaching = { 144 "disableProgramCaching", 145 FeatureCategory::FrontendFeatures, 146 "Disables saving programs to the cache", 147 &members, "http://anglebug.com/1423136" 148 }; 149 150 FeatureInfo dumpTranslatedShaders = { 151 "dumpTranslatedShaders", 152 FeatureCategory::FrontendFeatures, 153 "Write translated shaders to temp directory", 154 &members, "http://anglebug.com/8280" 155 }; 156 157 FeatureInfo enableTranslatedShaderSubstitution = { 158 "enableTranslatedShaderSubstitution", 159 FeatureCategory::FrontendWorkarounds, 160 "Check the filesystem for translated shaders to use instead of the shader translator's", 161 &members, "http://anglebug.com/8280" 162 }; 163 164 }; 165 166 inline FrontendFeatures::FrontendFeatures() = default; 167 inline FrontendFeatures::~FrontendFeatures() = default; 168 169 } // namespace angle 170 171 #endif // ANGLE_PLATFORM_AUTOGEN_FRONTENDFEATURES_H_ 172