Hash :
8712495d
Author :
Date :
2021-10-05T11:56:32
Capture/Replay: Don't handle void pointers as const TL;DR: glReadPixels needs a non-const pointer if a pack buffer is bound, so change the code generation to keep TvoidPointer non-const and regenerate the entry points. Long version: When no pack buffer is bound, then in WriteCppReplayForCall param.readBufferSizeBytes is non-zero and the cast of the read buffer pointer is using the type passed by the parameter (TvoidPionter) to write the typecast by calling ParamTypeToString directly, which returns "void *". If. OTOH, a pack buffer is bound, then param.readBufferSizeBytes is zero, and the default WriteParamCaptureReplay is called. This autogenerated function forwards the call to WriteParamValueReplay by using an explicit type specification, and the autogeneration code was translating TvoidPointer to call WriteParamValueReplay<ParamType::TvoidConstPointer> which would then translate to "const void *" in the parameter type cast, and this would lead to a compilation failure, because the parameter must be a non-const pointer. Change the autogeneration code so that TvoidPointer is not forced to be a const pointer and regenerate the entry points. Bug: angleproject:6521 Change-Id: I673c77f803a284fb7dfc08a2e0918aebdf698194 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3204959 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
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
{
"scripts/cl.xml":
"f923201d4ea3e1130763b19fa7faa7a2",
"scripts/egl.xml":
"013c552e6c523abdcf268268ea47e9fe",
"scripts/egl_angle_ext.xml":
"5bcc01462b355d933cf3ada15198fb68",
"scripts/entry_point_packed_egl_enums.json":
"0175304f39aec0f1816760c6460b6d62",
"scripts/entry_point_packed_gl_enums.json":
"e651b622b5ab1241ab7bc273d0114e19",
"scripts/generate_entry_points.py":
"f9a113db7222b9517555a8781da42c18",
"scripts/gl.xml":
"a442a7aeff3a2f0a1fba52ee08089500",
"scripts/gl_angle_ext.xml":
"b39cf42f4ac168d1ae40888e59c51f7b",
"scripts/registry_xml.py":
"7e9a66850b966c79f2f4d5036a5bd8b0",
"scripts/wgl.xml":
"c36001431919e1c435f1215a85f7e1db",
"src/common/entry_points_enum_autogen.cpp":
"27f3d578b169ebbcc712db24a8f60f7d",
"src/common/entry_points_enum_autogen.h":
"065eb85f320236ef14392d9f7ebf8d38",
"src/libANGLE/Context_gl_1_autogen.h":
"115d224fd28b0bc2b2800354bb57fcf3",
"src/libANGLE/Context_gl_2_autogen.h":
"d6e875a405946a968dc565e58c13c8c0",
"src/libANGLE/Context_gl_3_autogen.h":
"cf9b149f033b1349409c0b4ee4042bdd",
"src/libANGLE/Context_gl_4_autogen.h":
"428a1039756f64e034812188f11f585f",
"src/libANGLE/Context_gles_1_0_autogen.h":
"51fce95acbf8de72d21255adbbe0e8cd",
"src/libANGLE/Context_gles_2_0_autogen.h":
"443d00d45de147d1d1e3b66846ea0c29",
"src/libANGLE/Context_gles_3_0_autogen.h":
"6c07c41ebd6f1d0ff9d97894332c9e1a",
"src/libANGLE/Context_gles_3_1_autogen.h":
"bb8198422232ca9ceaa06a5d37c3cd92",
"src/libANGLE/Context_gles_3_2_autogen.h":
"48567dca16fd881dfe6d61fee0e3106f",
"src/libANGLE/Context_gles_ext_autogen.h":
"25437a4c24d4a975c4a91a4aec54a0f1",
"src/libANGLE/capture/capture_gles_1_0_autogen.cpp":
"7ec7ef8f779b809a45d74b97502c419b",
"src/libANGLE/capture/capture_gles_1_0_autogen.h":
"141838b474dda3d9a6122e73d3621972",
"src/libANGLE/capture/capture_gles_2_0_autogen.cpp":
"8d1c4534e00a4b373a409704e5d6a0c5",
"src/libANGLE/capture/capture_gles_2_0_autogen.h":
"5d5fb0985b28b67ed094e1a4dcc17211",
"src/libANGLE/capture/capture_gles_3_0_autogen.cpp":
"c4fd6b2e604d8bb30953d5ba6021b683",
"src/libANGLE/capture/capture_gles_3_0_autogen.h":
"0f617befef65c1884072ec1244eca0ef",
"src/libANGLE/capture/capture_gles_3_1_autogen.cpp":
"22d19a77da41f82785cb7f580e39b3db",
"src/libANGLE/capture/capture_gles_3_1_autogen.h":
"d39d7cb1086dfeb870d0496c0d7cb79d",
"src/libANGLE/capture/capture_gles_3_2_autogen.cpp":
"1b836129d15ec1f64241b6cfcda61785",
"src/libANGLE/capture/capture_gles_3_2_autogen.h":
"74ed7366af3a46c0661397cfa29ec6fc",
"src/libANGLE/capture/capture_gles_ext_autogen.cpp":
"1c4e147e004ee4d96acb152aa50a4114",
"src/libANGLE/capture/capture_gles_ext_autogen.h":
"0970835f65609eb56d8a225e4db0ca36",
"src/libANGLE/capture/frame_capture_replay_autogen.cpp":
"35a7d96b9718ce40285eea0f6355caa3",
"src/libANGLE/capture/frame_capture_utils_autogen.cpp":
"1f6acde257210668956a1b277567440b",
"src/libANGLE/capture/frame_capture_utils_autogen.h":
"b4950440946481455bd7862af34171a4",
"src/libANGLE/validationCL_autogen.h":
"0022d0cdb6a9e2ef4a59b71164f62333",
"src/libANGLE/validationEGL_autogen.h":
"3927fa260ad183fd9193d65b3f8d82c5",
"src/libANGLE/validationES1_autogen.h":
"c8edb0a5b26303bf7c4692b9d0b05c1f",
"src/libANGLE/validationES2_autogen.h":
"1fc4c7017ae5949160ac2561e6d2e22e",
"src/libANGLE/validationES31_autogen.h":
"ed9066cbf406b6f782c058019895c65e",
"src/libANGLE/validationES32_autogen.h":
"522779ad8b54ead483b1c1ec2182f6f8",
"src/libANGLE/validationES3_autogen.h":
"7435b9caddf8787b937c71a54dda96e1",
"src/libANGLE/validationESEXT_autogen.h":
"6958c227c85a19de60d0dea37fc0ff53",
"src/libANGLE/validationGL1_autogen.h":
"7eba2a8c5ae7f22bd0e1f432c20cfc0b",
"src/libANGLE/validationGL2_autogen.h":
"287405881447aff5c6c05d99799c0a63",
"src/libANGLE/validationGL3_autogen.h":
"967a8367b8ed2330cd942f714840491e",
"src/libANGLE/validationGL4_autogen.h":
"db77968c46394c58896f085265182ffa",
"src/libEGL/libEGL_autogen.cpp":
"7a1e13d8394f75591947f5ec23a17b66",
"src/libEGL/libEGL_autogen.def":
"3f504d6280dc1d847bc2dedc51fa2640",
"src/libGL/entry_points_gl_1_autogen.cpp":
"7d77da3ed6f5e1b35aa67b9178b3bdff",
"src/libGL/entry_points_gl_1_autogen.h":
"f5d504daaf2434ca7d0b8a6bb1afc61a",
"src/libGL/entry_points_gl_2_autogen.cpp":
"2dbb939ef95c1896f38db585e060ebf1",
"src/libGL/entry_points_gl_2_autogen.h":
"6d3e89c9fa3cb69203153c6cfab9e120",
"src/libGL/entry_points_gl_3_autogen.cpp":
"0be17864bf8a6f46c546f568403e355f",
"src/libGL/entry_points_gl_3_autogen.h":
"2dbae6f95a4f72417e50844e45e6f313",
"src/libGL/entry_points_gl_4_autogen.cpp":
"36be27fb77891bf029fa32694e11df70",
"src/libGL/entry_points_gl_4_autogen.h":
"859b5ca20dbbadd7dbb947df91bc09af",
"src/libGL/libGL_autogen.cpp":
"acd2e1984277482df9cc937a83a5df05",
"src/libGL/libGL_autogen.def":
"2789d87b05eea9f53d52e2aff499b785",
"src/libGLESv2/cl_stubs_autogen.h":
"6d880c6b65284192b5842f0e42ad2741",
"src/libGLESv2/egl_ext_stubs_autogen.h":
"2ef3b8d087f2a97f7270b96077c93856",
"src/libGLESv2/egl_get_labeled_object_data.json":
"2f4148b2ddf34e62670e32c5e6da4937",
"src/libGLESv2/egl_stubs_autogen.h":
"6439daa350c1663e71dd0af37dcc91df",
"src/libGLESv2/entry_points_cl_autogen.cpp":
"da26d01245459eb04827b8e0d7f0e58a",
"src/libGLESv2/entry_points_cl_autogen.h":
"dde2f94c3004874a7da995dae69da811",
"src/libGLESv2/entry_points_egl_autogen.cpp":
"e7b708af1c8de435532058eb165d421e",
"src/libGLESv2/entry_points_egl_autogen.h":
"3bc7a8df9deadd7cfd615d0cfad0c6a8",
"src/libGLESv2/entry_points_egl_ext_autogen.cpp":
"5386f7567505e1eceb3b82440d22508b",
"src/libGLESv2/entry_points_egl_ext_autogen.h":
"5ae83ea21ee98991b68847f66793553f",
"src/libGLESv2/entry_points_gles_1_0_autogen.cpp":
"1afe5067e82a30fbf62979c39ccc16f3",
"src/libGLESv2/entry_points_gles_1_0_autogen.h":
"1d3aef77845a416497070985a8e9cb31",
"src/libGLESv2/entry_points_gles_2_0_autogen.cpp":
"19d90121ace06dcba086e38b37287b19",
"src/libGLESv2/entry_points_gles_2_0_autogen.h":
"e682cd8f55110969f68d6a59573e0312",
"src/libGLESv2/entry_points_gles_3_0_autogen.cpp":
"388b421eaadeb3cd752c02dd81091775",
"src/libGLESv2/entry_points_gles_3_0_autogen.h":
"3ae6c2e3e9791a9c7491c1181a46abab",
"src/libGLESv2/entry_points_gles_3_1_autogen.cpp":
"9f553918b3c44a40339546bf9a1ff570",
"src/libGLESv2/entry_points_gles_3_1_autogen.h":
"0cadd684407fad3e288654da30527f78",
"src/libGLESv2/entry_points_gles_3_2_autogen.cpp":
"1de19dab9aa98e399bbe3c405ca9f13e",
"src/libGLESv2/entry_points_gles_3_2_autogen.h":
"647f932a299cdb4726b60bbba059f0d2",
"src/libGLESv2/entry_points_gles_ext_autogen.cpp":
"27e5a7ae3d7f349cd335d32f3c2a63f5",
"src/libGLESv2/entry_points_gles_ext_autogen.h":
"09bcc14b41c711b8be8d7caa4bb43e45",
"src/libGLESv2/libGLESv2_autogen.cpp":
"ec8af97079faaccbaf7980d8c4a5b9fb",
"src/libGLESv2/libGLESv2_autogen.def":
"f379900c61e3eab00caf22455afa555b",
"src/libGLESv2/libGLESv2_no_capture_autogen.def":
"9556485e5b5fe4a8c1aab7d62e5f817a",
"src/libGLESv2/libGLESv2_with_capture_autogen.def":
"076ef0dcd7bd6d864094bff1ee4ded28",
"src/libOpenCL/libOpenCL_autogen.cpp":
"10849978c910dc1af5dd4f0c815d1581"
}