1{ 2 "description": [ 3 "Copyright 2022 The ANGLE Project Authors. All rights reserved.", 4 "Use of this source code is governed by a BSD-style license that can be", 5 "found in the LICENSE file.", 6 "", 7 "frontend_features.json: Features/workarounds for driver bugs and other behaviors seen", 8 "on all platforms." 9 ], 10 "features": [ 11 { 12 "name": "lose_context_on_out_of_memory", 13 "category": "Workarounds", 14 "description": [ 15 "Some users rely on a lost context notification if a GL_OUT_OF_MEMORY error occurs" 16 ] 17 }, 18 { 19 "name": "disable_program_caching_for_transform_feedback", 20 "category": "Workarounds", 21 "description": [ 22 "On some GPUs, program binaries don't contain transform feedback varyings" 23 ] 24 }, 25 { 26 "name": "disable_program_binary", 27 "category": "Features", 28 "description": [ 29 "Disable support for GL_OES_get_program_binary" 30 ], 31 "issue": "http://anglebug.com/42263580" 32 }, 33 { 34 "name": "disable_anisotropic_filtering", 35 "category": "Workarounds", 36 "description": [ 37 "Disable support for anisotropic filtering" 38 ] 39 }, 40 { 41 "name": "allow_compressed_formats", 42 "category": "Workarounds", 43 "description": [ 44 "Allow compressed formats" 45 ] 46 }, 47 { 48 "name": "single_threaded_texture_decompression", 49 "category": "Workarounds", 50 "description": [ 51 "Disables multi-threaded decompression of compressed texture formats" 52 ] 53 }, 54 { 55 "name": "force_depth_attachment_init_on_clear", 56 "category": "Workarounds", 57 "description": [ 58 "Force depth attachment initialization on clear ops" 59 ], 60 "issue": "https://anglebug.com/42265720" 61 }, 62 { 63 "name": "enable_capture_limits", 64 "category": "Features", 65 "description": [ 66 "Set the context limits like frame capturing was enabled" 67 ], 68 "issue": "http://anglebug.com/42264287" 69 }, 70 { 71 "name": "force_robust_resource_init", 72 "category": "Features", 73 "description": [ 74 "Force-enable robust resource init" 75 ], 76 "issue": "http://anglebug.com/42264571" 77 }, 78 { 79 "name": "force_init_shader_variables", 80 "category": "Features", 81 "description": [ 82 "Force-enable shader variable initialization" 83 ] 84 }, 85 { 86 "name": "enable_program_binary_for_capture", 87 "category": "Features", 88 "description": [ 89 "Even if FrameCapture is enabled, enable GL_OES_get_program_binary" 90 ], 91 "issue": "http://anglebug.com/42264193" 92 }, 93 { 94 "name": "force_gl_error_checking", 95 "category": "Features", 96 "description": [ 97 "Force GL error checking (i.e. prevent applications from disabling error checking" 98 ], 99 "issue": "https://issuetracker.google.com/220069903" 100 }, 101 { 102 "name": "emulate_pixel_local_storage", 103 "category": "Features", 104 "description": [ 105 "Emulate ANGLE_shader_pixel_local_storage using shader images" 106 ], 107 "issue": "http://anglebug.com/40096838" 108 }, 109 { 110 "name": "cache_compiled_shader", 111 "category": "Features", 112 "description": [ 113 "Enable to cache compiled shaders" 114 ], 115 "issue": "http://anglebug.com/42265509" 116 }, 117 { 118 "name": "dump_shader_source", 119 "category": "Features", 120 "description": [ 121 "Write shader source to temp directory" 122 ], 123 "issue": "http://anglebug.com/42266231" 124 }, 125 { 126 "name": "enable_shader_substitution", 127 "category": "Workarounds", 128 "description": [ 129 "Check the filesystem for shaders to use instead of those provided through glShaderSource" 130 ], 131 "issue": "http://anglebug.com/42266232" 132 }, 133 { 134 "name": "disable_program_caching", 135 "category": "Features", 136 "description": [ 137 "Disables saving programs to the cache" 138 ], 139 "issue": "http://anglebug.com/1423136" 140 }, 141 { 142 "name": "dump_translated_shaders", 143 "category": "Features", 144 "description": [ 145 "Write translated shaders to temp directory" 146 ], 147 "issue": "http://anglebug.com/40644912" 148 }, 149 { 150 "name": "enable_translated_shader_substitution", 151 "category": "Workarounds", 152 "description": [ 153 "Check the filesystem for translated shaders to use instead of the shader translator's" 154 ], 155 "issue": "http://anglebug.com/40644912" 156 }, 157 { 158 "name": "compile_job_is_thread_safe", 159 "category": "Features", 160 "description": [ 161 "If false, parts of the compile job cannot be parallelized" 162 ], 163 "issue": "http://anglebug.com/41488637" 164 }, 165 { 166 "name": "link_job_is_thread_safe", 167 "category": "Features", 168 "description": [ 169 "If false, parts of the link job cannot be parallelized" 170 ], 171 "issue": "http://anglebug.com/41488637" 172 }, 173 { 174 "name": "always_run_link_sub_jobs_threaded", 175 "category": "Features", 176 "description": [ 177 "If true, sub tasks of the link job are always threaded, regardless of GL_KHR_parallel_shader_compile" 178 ], 179 "issue": "http://anglebug.com/42266842" 180 }, 181 { 182 "name": "uncurrent_egl_surface_upon_surface_destroy", 183 "category": "Workarounds", 184 "description": [ 185 "Make egl surface uncurrent when calling eglDestroySurface(), if the surface is still bound by the context of current render thread" 186 ], 187 "issue": "https://issuetracker.google.com/292285899" 188 }, 189 { 190 "name": "force_minimum_max_vertex_attributes", 191 "category": "Features", 192 "description": [ 193 "Force the minimum GL_MAX_VERTEX_ATTRIBS that the context's client version allows." 194 ], 195 "issue": "" 196 }, 197 { 198 "name": "force_flush_after_drawcall_using_shadowmap", 199 "category": "Workarounds", 200 "description": [ 201 "Force flush after drawcall use shadow map for intel device." 202 ], 203 "issue": "https://issuetracker.google.com/349489248" 204 }, 205 { 206 "name": "reject_webgl_shaders_with_undefined_behavior", 207 "category": "Workarounds", 208 "description": [ 209 "Attempts to detect undefined behavior when in WebGL mode and reject shaders if any detected." 210 ], 211 "issue": "http://crbug.com/350528343" 212 }, 213 { 214 "name": "always_enable_emulated_multidraw_extensions", 215 "category": "Workarounds", 216 "description": [ 217 "Enable multi-draw and base vertex base instance extensions for non-WebGL contexts if they are emulated." 218 ], 219 "issue": "http://anglebug.com/355645824" 220 } 221 ] 222} 223