Hash :
7d4c6d1d
Author :
Date :
2023-05-09T12:19:54
Allow glDelete* while PLS is active Banning glDelete* is extremely dangerous. It will almost definitely cause memory leaks in client code, and it makes JS garbage collection needlessly complex. Instead, specify that PLS is implicity deactivated if the client deletes anything that is attached to the current draw framebuffer during a PLS rendering pass. Bug: chromium:1421437 Change-Id: I3a18ee6b5d5567431e6fa3eccea58cb049845502 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4521436 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Chris Dalton <chris@rive.app>
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 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195
{
"scripts/egl_angle_ext.xml":
"bee532d3939bddbb2bb823645e2a5ab9",
"scripts/entry_point_packed_egl_enums.json":
"a72ae855c6b403912103b519139951a1",
"scripts/entry_point_packed_gl_enums.json":
"1c6b036918aabb9822a638fbf33f87f4",
"scripts/generate_entry_points.py":
"af2e7b9911842300f7cbdd3230e279cb",
"scripts/gl_angle_ext.xml":
"758f78e8bf6447f118643421110728b7",
"scripts/registry_xml.py":
"2175daaec34d2e6fe763d0c3efa93dea",
"src/common/entry_points_enum_autogen.cpp":
"9b818507180794d2c4a389d2260b40f5",
"src/common/entry_points_enum_autogen.h":
"344e665a9078882621b4b7b6f578a675",
"src/common/frame_capture_utils_autogen.cpp":
"cfb63f4c08a0f519a2f84f34f2f95060",
"src/common/frame_capture_utils_autogen.h":
"ee154690fc771e60fe7c7a9276e14d24",
"src/libANGLE/Context_gl_1_autogen.h":
"47775529739b839b2e58db334050cfb0",
"src/libANGLE/Context_gl_2_autogen.h":
"d6e875a405946a968dc565e58c13c8c0",
"src/libANGLE/Context_gl_3_autogen.h":
"cf9b149f033b1349409c0b4ee4042bdd",
"src/libANGLE/Context_gl_4_autogen.h":
"8142ae403fde3bffe4feb18643297544",
"src/libANGLE/Context_gles_1_0_autogen.h":
"51fce95acbf8de72d21255adbbe0e8cd",
"src/libANGLE/Context_gles_2_0_autogen.h":
"b1321cf0207870029cb759bd603e9267",
"src/libANGLE/Context_gles_3_0_autogen.h":
"3a4b261be12c9eb28c38da34c008a3f7",
"src/libANGLE/Context_gles_3_1_autogen.h":
"e26ffdad1be7d4a4aabecf7bfb40bf3f",
"src/libANGLE/Context_gles_3_2_autogen.h":
"48567dca16fd881dfe6d61fee0e3106f",
"src/libANGLE/Context_gles_ext_autogen.h":
"95a6c31138fd76ceee2c2e37f1a88167",
"src/libANGLE/capture/capture_egl_autogen.cpp":
"a5b8f710309de8deab29f2e9d6414cd5",
"src/libANGLE/capture/capture_egl_autogen.h":
"b5564406be15ee732325225fadc5b8ff",
"src/libANGLE/capture/capture_gl_1_autogen.cpp":
"b99498721b4a7b1094ce7e37f9a7481c",
"src/libANGLE/capture/capture_gl_1_autogen.h":
"f4e2d346cf9d0eaf541f3912ce0e635f",
"src/libANGLE/capture/capture_gl_2_autogen.cpp":
"5117dda94f2bbe25625b675f228ffe52",
"src/libANGLE/capture/capture_gl_2_autogen.h":
"1e5b7623566fe1282567e3b31cddbee1",
"src/libANGLE/capture/capture_gl_3_autogen.cpp":
"a113c2fc738f031704e79c46fe3784e3",
"src/libANGLE/capture/capture_gl_3_autogen.h":
"32e061964a2bccfc27dc95eb1a69558e",
"src/libANGLE/capture/capture_gl_4_autogen.cpp":
"91733fd9c3e87cd7a7867cf006b9ed8d",
"src/libANGLE/capture/capture_gl_4_autogen.h":
"82443f9fe7783ae63128e6785b466f61",
"src/libANGLE/capture/capture_gles_1_0_autogen.cpp":
"d203de86be595ac05578ef01b362380a",
"src/libANGLE/capture/capture_gles_1_0_autogen.h":
"141838b474dda3d9a6122e73d3621972",
"src/libANGLE/capture/capture_gles_2_0_autogen.cpp":
"94f04888c6130a39539bcd7cef1244ff",
"src/libANGLE/capture/capture_gles_2_0_autogen.h":
"73d813905e7e938cf11d1722f98de84b",
"src/libANGLE/capture/capture_gles_3_0_autogen.cpp":
"6705cab4f78501fcbca133b169671037",
"src/libANGLE/capture/capture_gles_3_0_autogen.h":
"5b8aacc112d422326de384edc9425326",
"src/libANGLE/capture/capture_gles_3_1_autogen.cpp":
"a266d12eab9874144d2c948755ee1b76",
"src/libANGLE/capture/capture_gles_3_1_autogen.h":
"414b92fe8db95146d8af3c13830e3685",
"src/libANGLE/capture/capture_gles_3_2_autogen.cpp":
"7e6560b176108a579e281f727d75c410",
"src/libANGLE/capture/capture_gles_3_2_autogen.h":
"74ed7366af3a46c0661397cfa29ec6fc",
"src/libANGLE/capture/capture_gles_ext_autogen.cpp":
"544c69a74a68eb1ee46a32ff707ae584",
"src/libANGLE/capture/capture_gles_ext_autogen.h":
"f9233670a035b6281d72a2a8fa8f4a75",
"src/libANGLE/validationCL_autogen.h":
"0022d0cdb6a9e2ef4a59b71164f62333",
"src/libANGLE/validationEGL_autogen.h":
"4f7072f08216e8002aab76616c691d38",
"src/libANGLE/validationES1_autogen.h":
"99af5e328690ae78d7724a80e94cfac5",
"src/libANGLE/validationES2_autogen.h":
"b8d463545b6f53f3fd11f020e2dbaf02",
"src/libANGLE/validationES31_autogen.h":
"38e169b05cafd2692466653579ae44e7",
"src/libANGLE/validationES32_autogen.h":
"d0c353bad157ce2297adaedb9ff3e003",
"src/libANGLE/validationES3_autogen.h":
"ffffaca63434b2b419614ddb25a57149",
"src/libANGLE/validationESEXT_autogen.h":
"47ddd7781adf5e7f4654b26666033803",
"src/libANGLE/validationGL1_autogen.h":
"31ab724bc94d19745c4783a4ab12bc4f",
"src/libANGLE/validationGL2_autogen.h":
"597c9ee483495310a8c5d9a433128a92",
"src/libANGLE/validationGL3_autogen.h":
"d44457c3b3bc40fc7db904a4bb433966",
"src/libANGLE/validationGL4_autogen.h":
"bf8566233cb2da63fbc2afbb4ffc4834",
"src/libEGL/libEGL_autogen.cpp":
"3bf53ca292b19b0e21b9201740d52b69",
"src/libEGL/libEGL_autogen.def":
"f021ca1ad124333ef618080890f13582",
"src/libGLESv2/cl_stubs_autogen.h":
"6d880c6b65284192b5842f0e42ad2741",
"src/libGLESv2/egl_ext_stubs_autogen.h":
"1826fdc1676e19ebf86a20ec76ea51c0",
"src/libGLESv2/egl_get_labeled_object_data.json":
"2f4148b2ddf34e62670e32c5e6da4937",
"src/libGLESv2/egl_stubs_autogen.h":
"66ee6957861e78ae4090ef6dd735202a",
"src/libGLESv2/entry_points_cl_autogen.cpp":
"9d5320f3b59bb43408aa2646019ceaa0",
"src/libGLESv2/entry_points_cl_autogen.h":
"dde2f94c3004874a7da995dae69da811",
"src/libGLESv2/entry_points_egl_autogen.cpp":
"dbb7a09d338d2fb0809abddd62b2578f",
"src/libGLESv2/entry_points_egl_autogen.h":
"3bc7a8df9deadd7cfd615d0cfad0c6a8",
"src/libGLESv2/entry_points_egl_ext_autogen.cpp":
"bff96d039ef189414bec3451c8bb379b",
"src/libGLESv2/entry_points_egl_ext_autogen.h":
"5a212372e378e0890d2d3ac96c1a3765",
"src/libGLESv2/entry_points_gl_1_autogen.cpp":
"19032ff73d0152f7db98f1330dc01781",
"src/libGLESv2/entry_points_gl_1_autogen.h":
"fc92166806eac5dc285f6a3f06e89d2b",
"src/libGLESv2/entry_points_gl_2_autogen.cpp":
"0595cae52905c686957b77d775b36ae7",
"src/libGLESv2/entry_points_gl_2_autogen.h":
"ff42b86b47d77aeb902b6f0f5bd31758",
"src/libGLESv2/entry_points_gl_3_autogen.cpp":
"ab839153edf0629ee62b4ad04b3abda4",
"src/libGLESv2/entry_points_gl_3_autogen.h":
"88fcf08e2c1aa73819067f28c0fd1eba",
"src/libGLESv2/entry_points_gl_4_autogen.cpp":
"3115231a86c2c06e67798c350df227a3",
"src/libGLESv2/entry_points_gl_4_autogen.h":
"ec1171de9a494598d53bce149ba7b26d",
"src/libGLESv2/entry_points_gles_1_0_autogen.cpp":
"2286a4658be7e361d3a3d0982405ce40",
"src/libGLESv2/entry_points_gles_1_0_autogen.h":
"1d3aef77845a416497070985a8e9cb31",
"src/libGLESv2/entry_points_gles_2_0_autogen.cpp":
"0a4061235c23281170a779ab89d5ea94",
"src/libGLESv2/entry_points_gles_2_0_autogen.h":
"691c60c2dfed9beca68aa1f32aa2c71b",
"src/libGLESv2/entry_points_gles_3_0_autogen.cpp":
"dba836d09dcfacfceb03acbed55117a7",
"src/libGLESv2/entry_points_gles_3_0_autogen.h":
"4ac2582759cdc6a30f78f83ab684d555",
"src/libGLESv2/entry_points_gles_3_1_autogen.cpp":
"eab6c2e40e05a0f87f5fa7e73e95a31b",
"src/libGLESv2/entry_points_gles_3_1_autogen.h":
"a7327c330a91665fc31accbb78793b42",
"src/libGLESv2/entry_points_gles_3_2_autogen.cpp":
"435d43ca254719c09bd429c8ba0f022a",
"src/libGLESv2/entry_points_gles_3_2_autogen.h":
"647f932a299cdb4726b60bbba059f0d2",
"src/libGLESv2/entry_points_gles_ext_autogen.cpp":
"e6695455270bbda7da7e4f30838905d2",
"src/libGLESv2/entry_points_gles_ext_autogen.h":
"a410e5f079226a62a48222243c91231b",
"src/libGLESv2/libGLESv2_autogen.cpp":
"deba7e2f57d77c229da03fdae13a28b1",
"src/libGLESv2/libGLESv2_autogen.def":
"82c15ed192f3f1289933d596d676051e",
"src/libGLESv2/libGLESv2_no_capture_autogen.def":
"7c2fe1db4397dee08d6440e9d6b9ee86",
"src/libGLESv2/libGLESv2_with_capture_autogen.def":
"c76dbf922e89d476689fc6bf82a47b99",
"src/libOpenCL/libOpenCL_autogen.cpp":
"10849978c910dc1af5dd4f0c815d1581",
"third_party/EGL-Registry/src/api/egl.xml":
"2056d54ea07156f1988ca1366bdee21a",
"third_party/OpenCL-Docs/src/xml/cl.xml":
"6d0bf09e20a8f8c3ae440d79eda08bf9",
"third_party/OpenGL-Registry/src/xml/gl.xml":
"49f0afe5cac23951c74420e457b0cb23",
"third_party/OpenGL-Registry/src/xml/glx.xml":
"94f3eee4b076801d117804eb466714b7",
"third_party/OpenGL-Registry/src/xml/wgl.xml":
"eae784bf4d1b983a42af5671b140b7c4",
"util/capture/frame_capture_replay_autogen.cpp":
"af9fe33e00cf0f9269aad5bec76fb7dc"
}