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_draw_buffers_indexed", 35 "category": "Features", 36 "description": [ 37 "Disable support for OES_draw_buffers_indexed and EXT_draw_buffers_indexed" 38 ], 39 "issue": "http://anglebug.com/42266194" 40 }, 41 { 42 "name": "disable_anisotropic_filtering", 43 "category": "Workarounds", 44 "description": [ 45 "Disable support for anisotropic filtering" 46 ] 47 }, 48 { 49 "name": "allow_compressed_formats", 50 "category": "Workarounds", 51 "description": [ 52 "Allow compressed formats" 53 ] 54 }, 55 { 56 "name": "single_threaded_texture_decompression", 57 "category": "Workarounds", 58 "description": [ 59 "Disables multi-threaded decompression of compressed texture formats" 60 ] 61 }, 62 { 63 "name": "force_depth_attachment_init_on_clear", 64 "category": "Workarounds", 65 "description": [ 66 "Force depth attachment initialization on clear ops" 67 ], 68 "issue": "https://anglebug.com/42265720" 69 }, 70 { 71 "name": "enable_capture_limits", 72 "category": "Features", 73 "description": [ 74 "Set the context limits like frame capturing was enabled" 75 ], 76 "issue": "http://anglebug.com/42264287" 77 }, 78 { 79 "name": "force_robust_resource_init", 80 "category": "Features", 81 "description": [ 82 "Force-enable robust resource init" 83 ], 84 "issue": "http://anglebug.com/42264571" 85 }, 86 { 87 "name": "force_init_shader_variables", 88 "category": "Features", 89 "description": [ 90 "Force-enable shader variable initialization" 91 ] 92 }, 93 { 94 "name": "enable_program_binary_for_capture", 95 "category": "Features", 96 "description": [ 97 "Even if FrameCapture is enabled, enable GL_OES_get_program_binary" 98 ], 99 "issue": "http://anglebug.com/42264193" 100 }, 101 { 102 "name": "force_gl_error_checking", 103 "category": "Features", 104 "description": [ 105 "Force GL error checking (i.e. prevent applications from disabling error checking" 106 ], 107 "issue": "https://issuetracker.google.com/220069903" 108 }, 109 { 110 "name": "emulate_pixel_local_storage", 111 "category": "Features", 112 "description": [ 113 "Emulate ANGLE_shader_pixel_local_storage using shader images" 114 ], 115 "issue": "http://anglebug.com/40096838" 116 }, 117 { 118 "name": "cache_compiled_shader", 119 "category": "Features", 120 "description": [ 121 "Enable to cache compiled shaders" 122 ], 123 "issue": "http://anglebug.com/42265509" 124 }, 125 { 126 "name": "dump_shader_source", 127 "category": "Features", 128 "description": [ 129 "Write shader source to temp directory" 130 ], 131 "issue": "http://anglebug.com/42266231" 132 }, 133 { 134 "name": "enable_shader_substitution", 135 "category": "Workarounds", 136 "description": [ 137 "Check the filesystem for shaders to use instead of those provided through glShaderSource" 138 ], 139 "issue": "http://anglebug.com/42266232" 140 }, 141 { 142 "name": "disable_program_caching", 143 "category": "Features", 144 "description": [ 145 "Disables saving programs to the cache" 146 ], 147 "issue": "http://anglebug.com/1423136" 148 }, 149 { 150 "name": "dump_translated_shaders", 151 "category": "Features", 152 "description": [ 153 "Write translated shaders to temp directory" 154 ], 155 "issue": "http://anglebug.com/40644912" 156 }, 157 { 158 "name": "enable_translated_shader_substitution", 159 "category": "Workarounds", 160 "description": [ 161 "Check the filesystem for translated shaders to use instead of the shader translator's" 162 ], 163 "issue": "http://anglebug.com/40644912" 164 }, 165 { 166 "name": "compile_job_is_thread_safe", 167 "category": "Features", 168 "description": [ 169 "If false, parts of the compile job cannot be parallelized" 170 ], 171 "issue": "http://anglebug.com/41488637" 172 }, 173 { 174 "name": "link_job_is_thread_safe", 175 "category": "Features", 176 "description": [ 177 "If false, parts of the link job cannot be parallelized" 178 ], 179 "issue": "http://anglebug.com/41488637" 180 }, 181 { 182 "name": "always_run_link_sub_jobs_threaded", 183 "category": "Features", 184 "description": [ 185 "If true, sub tasks of the link job are always threaded, regardless of GL_KHR_parallel_shader_compile" 186 ], 187 "issue": "http://anglebug.com/42266842" 188 }, 189 { 190 "name": "uncurrent_egl_surface_upon_surface_destroy", 191 "category": "Workarounds", 192 "description": [ 193 "Make egl surface uncurrent when calling eglDestroySurface(), if the surface is still bound by the context of current render thread" 194 ], 195 "issue": "https://issuetracker.google.com/292285899" 196 }, 197 { 198 "name": "force_minimum_max_vertex_attributes", 199 "category": "Features", 200 "description": [ 201 "Force the minimum GL_MAX_VERTEX_ATTRIBS that the context's client version allows." 202 ], 203 "issue": "" 204 }, 205 { 206 "name": "force_flush_after_drawcall_using_shadowmap", 207 "category": "Workarounds", 208 "description": [ 209 "Force flush after drawcall use shadow map for intel device." 210 ], 211 "issue": "https://issuetracker.google.com/349489248" 212 }, 213 { 214 "name": "reject_webgl_shaders_with_undefined_behavior", 215 "category": "Workarounds", 216 "description": [ 217 "Attempts to detect undefined behavior when in WebGL mode and reject shaders if any detected." 218 ], 219 "issue": "http://crbug.com/350528343" 220 }, 221 { 222 "name": "always_enable_emulated_multidraw_extensions", 223 "category": "Workarounds", 224 "description": [ 225 "Enable multi-draw and base vertex base instance extensions for non-WebGL contexts if they are emulated." 226 ], 227 "issue": "http://anglebug.com/355645824" 228 } 229 ] 230} 231