blob: a393218428571f481b13c36ef367daf85372995b [file] [log] [blame] [edit]
{
"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/42263580"
},
{
"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/42265720"
},
{
"name": "enable_capture_limits",
"category": "Features",
"description": [
"Set the context limits like frame capturing was enabled"
],
"issue": "http://anglebug.com/42264287"
},
{
"name": "force_robust_resource_init",
"category": "Features",
"description": [
"Force-enable robust resource init"
],
"issue": "http://anglebug.com/42264571"
},
{
"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/42264193"
},
{
"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/40096838"
},
{
"name": "cache_compiled_shader",
"category": "Features",
"description": [
"Enable to cache compiled shaders"
],
"issue": "http://anglebug.com/42265509"
},
{
"name": "dump_shader_source",
"category": "Features",
"description": [
"Write shader source to temp directory"
],
"issue": "http://anglebug.com/42266231"
},
{
"name": "enable_shader_substitution",
"category": "Workarounds",
"description": [
"Check the filesystem for shaders to use instead of those provided through glShaderSource"
],
"issue": "http://anglebug.com/42266232"
},
{
"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/40644912"
},
{
"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/40644912"
},
{
"name": "compile_job_is_thread_safe",
"category": "Features",
"description": [
"If false, parts of the compile job cannot be parallelized"
],
"issue": "http://anglebug.com/41488637"
},
{
"name": "link_job_is_thread_safe",
"category": "Features",
"description": [
"If false, parts of the link job cannot be parallelized"
],
"issue": "http://anglebug.com/41488637"
},
{
"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/42266842"
},
{
"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": ""
},
{
"name": "force_flush_after_drawcall_using_shadowmap",
"category": "Workarounds",
"description": [
"Force flush after drawcall use shadow map for intel device."
],
"issue": "https://issuetracker.google.com/349489248"
},
{
"name": "reject_webgl_shaders_with_undefined_behavior",
"category": "Workarounds",
"description": [
"Attempts to detect undefined behavior when in WebGL mode and reject shaders if any detected."
],
"issue": "http://crbug.com/350528343"
},
{
"name": "always_enable_emulated_multidraw_extensions",
"category": "Workarounds",
"description": [
"Enable multi-draw and base vertex base instance extensions for non-WebGL contexts if they are emulated."
],
"issue": "http://anglebug.com/355645824"
},
{
"name": "force_passthrough_shaders",
"category": "Features",
"description": [
"Parse shaders for reflection but do not translate them."
],
"issue": "https://anglebug.com/398857482"
},
{
"name": "clip_cull_distance_broken_with_passthrough_shaders",
"category": "Features",
"description": [
"GL_EXT_clip_cull_distance requires shader transformations to function at all on some drivers."
],
"issue": "https://anglebug.com/398857482"
},
{
"name": "noperspective_interpolation_broken_with_passthrough_shaders",
"category": "Features",
"description": [
"GL_NV_shader_noperspective_interpolation requires shader transformations to function at all on some drivers."
],
"issue": "https://anglebug.com/398857482"
},
{
"name": "force_debug_contexts",
"category": "Features",
"description": [
"Force every context into debug mode as if EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR was used."
],
"issue": "https://anglebug.com/423956139"
}
]
}