[Mesa-dev] [PATCH 00/15] ARB_gl_spirv series 4: support for XFB and Geometry Streams
Alejandro Piñeiro
apinheiro at igalia.com
Fri Jul 20 15:08:29 UTC 2018
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
More information about the mesa-dev
mailing list