Hi, this is the fourth series for the ongoing support for ARB_gl_spirv. The main focus of this series is providing support for transform feedback and geometry streams. Those two features are not supported on Vulkan, so most of the patches are spirv/nir. Fortunately the changes there are small, and in the end the bigger patch is the NIR-based linker.
The tree for this series can be found on the following repository: https://github.com/Igalia/mesa/tree/arb_gl_spirv-series4-xfb-v1 And can be tested with the following piglit branch: https://github.com/Igalia/piglit/tree/arb_gl_spirv-series3-xfb-v1 BR Alejandro Piñeiro (4): spirv/nir: allow Stream decoration for structs too compiler/spirv: add XFB and GeometryStreams capability check support arb_gl_spirv: add calls to several nir lowerings i965: enable XFB and GeometryStreams for gen7+ Neil Roberts (11): nir: Add members for the explicit XFB properties to nir_variable spirv: Handle SpvExecutionModeXfb spirv: Handle XFB variable decorations mesa/glspirv: Set last_vert_prog spirv: Handle the SpvDecorationStream decoration spirv/nir: Set info.gs.uses_end_primitive spirv/nir: Fix the stream ID when emitting a primitive or vertex spirv/nir: Set info.gs.uses_streams nir/types: Add a wrapper to access gl_type nir/linker: Add the start of a pure-NIR linker for XFB i965: Link XFB varyings for SPIR-V shaders src/compiler/Makefile.sources | 1 + src/compiler/glsl/gl_nir_link_xfb.c | 289 ++++++++++++++++++++++++++++++++ src/compiler/glsl/gl_nir_linker.h | 3 + src/compiler/glsl/glsl_to_nir.cpp | 4 + src/compiler/glsl/meson.build | 1 + src/compiler/nir/nir.h | 27 ++- src/compiler/nir_types.cpp | 6 + src/compiler/nir_types.h | 2 + src/compiler/shader_info.h | 2 + src/compiler/spirv/spirv_to_nir.c | 35 +++- src/compiler/spirv/vtn_variables.c | 17 +- src/mesa/drivers/dri/i965/brw_context.c | 2 + src/mesa/drivers/dri/i965/brw_link.cpp | 1 + src/mesa/main/glspirv.c | 15 ++ 14 files changed, 394 insertions(+), 11 deletions(-) create mode 100644 src/compiler/glsl/gl_nir_link_xfb.c -- 2.14.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev