blob: ced79b6c9d99533f963910be8df1b037c4602d21 [file] [log] [blame]
{
"description": [
"Copyright 2022 The ANGLE Project Authors. All rights reserved.",
"Use of this source code is governed by a BSD-style license that can be",
"found in the LICENSE file.",
"",
"frontend_features.json: Features/workarounds for driver bugs and other behaviors seen",
"on all platforms."
],
"features": [
{
"name": "lose_context_on_out_of_memory",
"category": "Workarounds",
"description": [
"Some users rely on a lost context notification if a GL_OUT_OF_MEMORY error occurs"
]
},
{
"name": "disable_program_caching_for_transform_feedback",
"category": "Workarounds",
"description": [
"On some GPUs, program binaries don't contain transform feedback varyings"
]
},
{
"name": "disable_program_binary",
"category": "Features",
"description": [
"Disable support for GL_OES_get_program_binary"
],
"issue": "http://anglebug.com/5007"
},
{
"name": "disable_draw_buffers_indexed",
"category": "Features",
"description": [
"Disable support for OES_draw_buffers_indexed and EXT_draw_buffers_indexed"
],
"issue": "http://anglebug.com/7724"
},
{
"name": "disable_anisotropic_filtering",
"category": "Workarounds",
"description": [
"Disable support for anisotropic filtering"
]
},
{
"name": "allow_compressed_formats",
"category": "Workarounds",
"description": [
"Allow compressed formats"
]
},
{
"name": "single_threaded_texture_decompression",
"category": "Workarounds",
"description": [
"Disables multi-threaded decompression of compressed texture formats"
]
},
{
"name": "force_depth_attachment_init_on_clear",
"category": "Workarounds",
"description": [
"Force depth attachment initialization on clear ops"
],
"issue": "https://anglebug.com/7246"
},
{
"name": "enable_capture_limits",
"category": "Features",
"description": [
"Set the context limits like frame capturing was enabled"
],
"issue": "http://anglebug.com/5750"
},
{
"name": "force_robust_resource_init",
"category": "Features",
"description": [
"Force-enable robust resource init"
],
"issue": "http://anglebug.com/6041"
},
{
"name": "force_init_shader_variables",
"category": "Features",
"description": [
"Force-enable shader variable initialization"
]
},
{
"name": "enable_program_binary_for_capture",
"category": "Features",
"description": [
"Even if FrameCapture is enabled, enable GL_OES_get_program_binary"
],
"issue": "http://anglebug.com/5658"
},
{
"name": "force_gl_error_checking",
"category": "Features",
"description": [
"Force GL error checking (i.e. prevent applications from disabling error checking"
],
"issue": "https://issuetracker.google.com/220069903"
},
{
"name": "emulate_pixel_local_storage",
"category": "Features",
"description": [
"Emulate ANGLE_shader_pixel_local_storage using shader images"
],
"issue": "http://anglebug.com/7279"
},
{
"name": "cache_compiled_shader",
"category": "Features",
"description": [
"Enable to cache compiled shaders"
],
"issue": "http://anglebug.com/7036"
},
{
"name": "dump_shader_source",
"category": "Features",
"description": [
"Write shader source to temp directory"
],
"issue": "http://anglebug.com/7760"
},
{
"name": "enable_shader_substitution",
"category": "Workarounds",
"description": [
"Check the filesystem for shaders to use instead of those provided through glShaderSource"
],
"issue": "http://anglebug.com/7761"
},
{
"name": "disable_program_caching",
"category": "Features",
"description": [
"Disables saving programs to the cache"
],
"issue": "http://anglebug.com/1423136"
},
{
"name": "dump_translated_shaders",
"category": "Features",
"description": [
"Write translated shaders to temp directory"
],
"issue": "http://anglebug.com/8280"
},
{
"name": "enable_translated_shader_substitution",
"category": "Workarounds",
"description": [
"Check the filesystem for translated shaders to use instead of the shader translator's"
],
"issue": "http://anglebug.com/8280"
},
{
"name": "compile_job_is_thread_safe",
"category": "Features",
"description": [
"If false, parts of the compile job cannot be parallelized"
],
"issue": "http://anglebug.com/8297"
},
{
"name": "link_job_is_thread_safe",
"category": "Features",
"description": [
"If false, parts of the link job cannot be parallelized"
],
"issue": "http://anglebug.com/8297"
},
{
"name": "always_run_link_sub_jobs_threaded",
"category": "Features",
"description": [
"If true, sub tasks of the link job are always threaded, regardless of GL_KHR_parallel_shader_compile"
],
"issue": "http://anglebug.com/8417"
},
{
"name": "uncurrent_egl_surface_upon_surface_destroy",
"category": "Workarounds",
"description": [
"Make egl surface uncurrent when calling eglDestroySurface(), if the surface is still bound by the context of current render thread"
],
"issue": "https://issuetracker.google.com/292285899"
},
{
"name": "force_minimum_max_vertex_attributes",
"category": "Features",
"description": [
"Force the minimum GL_MAX_VERTEX_ATTRIBS that the context's client version allows."
],
"issue": ""
}
]
}