Hash :
18657894
Author :
Date :
2023-01-25T13:05:56
Add features to dump and replace shader source. dump_shader_source writes shader source strings to files named with the hash of the source and shader type. enable_shader_substitution allows subsituting the shader source with the strings contained in a file. The same file naming scheme as dump_shader_source is used so shaders can be dumped in one run, modified and subsititued in the next run. Use the ANGLE_SHADER_DUMP_PATH and debug.angle.shader_dump_path environment variables to control where files are written. If they are unspecified, write to the temp directory. Based upon Cody's CLs: https://chromium-review.googlesource.com/c/angle/angle/+/2755841 https://chromium-review.googlesource.com/c/angle/angle/+/3961670 Bug: angleproject:7760, chromium:1385510 Change-Id: I43b9827b977079b88daa794e867637f7a126b080 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4192347 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150
{
"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": "scalarize_vec_and_mat_constructor_args",
"category": "Workarounds",
"description": [
"Always rewrite vec/mat constructors to be consistent"
],
"issue": "http://crbug.com/1165751"
},
{
"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"
}
]
}