Hash :
8797714c
Author :
Date :
2020-12-01T11:39:25
Vulkan: Support OES_shader_io_blocks Enables OES/EXT_shader_io_blocks extensions in Vulkan backends. With shader I/O blocks, the varyings can now be an array of struct (the block itself) of struct (nested in the block). This change is missing a number of features. In particular, if the shader I/O block has a location decoration in the middle of the block, that is not handled yet. Based on changes from m.maiya@samsung.com and jmadill@chromium.org. Bug: angleproject:3580 Tests: dEQP-GLES31.functional.shaders.linkage.es31.io_block.* dEQP-GLES31.functional.separate_shader.validation.es31.io_blocks.* dEQP-GLES31.functional.program_interface_query.program_input.* dEQP-GLES31.functional.program_interface_query.program_output.* Change-Id: I593840475d2365ff6c9ce7b2290f5ee462a30dfb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2567645 Reviewed-by: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@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 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165
{
"scripts/egl.xml":
"4e5911cfe91274cc5112ff2f70092376",
"scripts/egl_angle_ext.xml":
"91f7718effe50d444f8d81ce285721db",
"scripts/entry_point_packed_egl_enums.json":
"0175304f39aec0f1816760c6460b6d62",
"scripts/entry_point_packed_gl_enums.json":
"846be5dc8cb36076207699b025633fcc",
"scripts/generate_entry_points.py":
"5b3752c3e021d3a5cd76a6ccaf5263d7",
"scripts/gl.xml":
"f66967f3f3d696b5d8306fd80bbd49a8",
"scripts/gl_angle_ext.xml":
"0b4f3476d76a5ccc40af342d6c08739d",
"scripts/registry_xml.py":
"0058f2d8ea65a736d6bd201f6d579090",
"scripts/wgl.xml":
"c36001431919e1c435f1215a85f7e1db",
"src/common/entry_points_enum_autogen.cpp":
"03ba77bead4d849bf18f68d98b629ea2",
"src/common/entry_points_enum_autogen.h":
"ec4412660757ad500bf4c4aa5872b5b8",
"src/libANGLE/Context_gl_1_autogen.h":
"6be1391ee21b3754d9e9c512255d4c5d",
"src/libANGLE/Context_gl_2_autogen.h":
"d6e875a405946a968dc565e58c13c8c0",
"src/libANGLE/Context_gl_3_autogen.h":
"cf9b149f033b1349409c0b4ee4042bdd",
"src/libANGLE/Context_gl_4_autogen.h":
"9da23209dab55973211922dea50d7754",
"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":
"fe61c2c821816d9561dcb4fe1fef74e5",
"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":
"94221f19abdc0b2ded03c52a73f5f2e0",
"src/libANGLE/capture_gles_1_0_autogen.cpp":
"0655870b47c6839e46c4e8b0b89be1f9",
"src/libANGLE/capture_gles_1_0_autogen.h":
"546173090c85ad28a580ca76cd117484",
"src/libANGLE/capture_gles_2_0_autogen.cpp":
"78701e22a3fa82c18f02b3a1951f62bf",
"src/libANGLE/capture_gles_2_0_autogen.h":
"6985d5e3d0126bc8e02dd982267a904f",
"src/libANGLE/capture_gles_3_0_autogen.cpp":
"b8809b1ebaa98564194144113e27a39d",
"src/libANGLE/capture_gles_3_0_autogen.h":
"b963fec070e0becdcf4af69216cd1c7b",
"src/libANGLE/capture_gles_3_1_autogen.cpp":
"af353035ef38dd953f35630fb6e1d3ae",
"src/libANGLE/capture_gles_3_1_autogen.h":
"3d363f4de97b47ecff61e29939dcf11a",
"src/libANGLE/capture_gles_3_2_autogen.cpp":
"110d08a5368399511f8ef4f3aed5461b",
"src/libANGLE/capture_gles_3_2_autogen.h":
"3d8f561944c8e5c06c7c9e68559ff364",
"src/libANGLE/capture_gles_ext_autogen.cpp":
"75ee3aaae546f2ac9bd9da7da7fdcc2b",
"src/libANGLE/capture_gles_ext_autogen.h":
"d3413434c110d69fdeb14ff37df249ae",
"src/libANGLE/frame_capture_replay_autogen.cpp":
"e5492a4ebe8a616db1a4a9397c7fff1c",
"src/libANGLE/frame_capture_utils_autogen.cpp":
"442ed8cd644833c56ff5e50083e3d94d",
"src/libANGLE/frame_capture_utils_autogen.h":
"652b821a877d6eb2c62ba8d151157eea",
"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":
"86ba503835328438158d9a464943f3bd",
"src/libANGLE/validationESEXT_autogen.h":
"726dc1a04187595c5f3fe854c1f2d711",
"src/libANGLE/validationGL1_autogen.h":
"439f8ea26dc37ee6608100f4c6f9205c",
"src/libANGLE/validationGL2_autogen.h":
"287405881447aff5c6c05d99799c0a63",
"src/libANGLE/validationGL3_autogen.h":
"967a8367b8ed2330cd942f714840491e",
"src/libANGLE/validationGL4_autogen.h":
"db77968c46394c58896f085265182ffa",
"src/libEGL/libEGL_autogen.cpp":
"e6a94332f3bbea212b9a5df9654b59f8",
"src/libEGL/libEGL_autogen.def":
"3f504d6280dc1d847bc2dedc51fa2640",
"src/libGL/entry_points_gl_1_autogen.cpp":
"827d821f0407ac8d66f9ed50e4083bb7",
"src/libGL/entry_points_gl_1_autogen.h":
"26f196b4412e307437b84ac3381adc39",
"src/libGL/entry_points_gl_2_autogen.cpp":
"305ddc110465738e107ab07a37fab35e",
"src/libGL/entry_points_gl_2_autogen.h":
"d512384dffb856027ce8d540e9a123c4",
"src/libGL/entry_points_gl_3_autogen.cpp":
"b38fccb10394497cc85d5b3e67779370",
"src/libGL/entry_points_gl_3_autogen.h":
"8c86d5aa9a4e3e45e99739b6d9b112bd",
"src/libGL/entry_points_gl_4_autogen.cpp":
"cb37e88a5fdc673986d02feead963bdf",
"src/libGL/entry_points_gl_4_autogen.h":
"e97607aa7f86ce8797fd688d7f6e8337",
"src/libGL/libGL_autogen.cpp":
"7156393fba9b86b40e8d20c68d7a4013",
"src/libGL/libGL_autogen.def":
"2789d87b05eea9f53d52e2aff499b785",
"src/libGLESv2/egl_ext_stubs_autogen.h":
"aeb007419aaab7b5e52b084d83dda77c",
"src/libGLESv2/egl_get_labeled_object_data.json":
"2f4148b2ddf34e62670e32c5e6da4937",
"src/libGLESv2/egl_stubs_autogen.h":
"6439daa350c1663e71dd0af37dcc91df",
"src/libGLESv2/entry_points_egl_autogen.cpp":
"ba9796b20452dbbe4180480aae02b8a3",
"src/libGLESv2/entry_points_egl_autogen.h":
"3bc7a8df9deadd7cfd615d0cfad0c6a8",
"src/libGLESv2/entry_points_egl_ext_autogen.cpp":
"5397ab40e9cbe1d7aa3faf91154a837a",
"src/libGLESv2/entry_points_egl_ext_autogen.h":
"9154781afd9bd6354ec6fc201b43c790",
"src/libGLESv2/entry_points_gles_1_0_autogen.cpp":
"7d62e6f5a013b303c11a6b78b39ff3fb",
"src/libGLESv2/entry_points_gles_1_0_autogen.h":
"899dcff9383465380f94fbdfe5bcf0a0",
"src/libGLESv2/entry_points_gles_2_0_autogen.cpp":
"f65e421cc249831c0da2c70836156a78",
"src/libGLESv2/entry_points_gles_2_0_autogen.h":
"26387e27cbddf5e34d6cd9f850cb8b64",
"src/libGLESv2/entry_points_gles_3_0_autogen.cpp":
"c631759ce4615b8ec9465bf13870e8eb",
"src/libGLESv2/entry_points_gles_3_0_autogen.h":
"0d246024379fbf55b87204db5d6a37e3",
"src/libGLESv2/entry_points_gles_3_1_autogen.cpp":
"12c36295425182cd450dfabc9ab0df3d",
"src/libGLESv2/entry_points_gles_3_1_autogen.h":
"69bae5c94ed4665836a8464b6c353f9a",
"src/libGLESv2/entry_points_gles_3_2_autogen.cpp":
"e7009132df507f893f95f70a44d06dae",
"src/libGLESv2/entry_points_gles_3_2_autogen.h":
"5798aa0a73af1d4ba5dfe99b6217a247",
"src/libGLESv2/entry_points_gles_ext_autogen.cpp":
"58543bb9346ee378d7fe1208a6d47b38",
"src/libGLESv2/entry_points_gles_ext_autogen.h":
"406ab16858ba2b542d54706d83a9c841",
"src/libGLESv2/libGLESv2_autogen.cpp":
"d5847c9ac3691fca405033596b9caf35",
"src/libGLESv2/libGLESv2_autogen.def":
"e3926b9fab47b7e1a6c9f769a804b177",
"src/libGLESv2/libGLESv2_no_capture_autogen.def":
"ee1fb302eb1817dce5b71a7780d34b3a",
"src/libGLESv2/libGLESv2_with_capture_autogen.def":
"443fbdd24a036f2580cb2f40ee2d0be8"
}