Hi, This is the 5rd version of the series adding initial support for ARB_gl_spirv. Although the development branch is bigger (more that 80 patches), as mentioned, we prefer to send small, self-contained series, to make the review process easier.
This series is mostly equal to v4 except: * New version of patch "nir/spirv: add gl_spirv_validation method" after Jason feedback. * New patch: "spirv: add vtn_builder_create". On v4 this code was part of the previous patch. This changes the patches numbering. * Rebased against today master. There were minor rebase changes. So minor that are not mentioned on the commit itself. As with v4, we are splitting the series, so after this series we will send one for ARB_spirv_extensions. Notice also that some patches from version 2 were merged in master. These were already reviewed favorably and were fairly independent from the rest of the series. There are already 5 patches in this new series with a Reviewed-by tag that we didn't merge yet because we consider they should go in with the rest of the series. The patches missing review are 01, 02, 03, 04, 05 and 08. A git tree containing this series can be found here: https://github.com/Igalia/mesa/tree/arb_gl_spirv-series1-v5 The larger, work in progress, and often force-pushed full series can be found here: https://github.com/Igalia/mesa/tree/wip/igalia/arb_gl_spirv Alejandro Piñeiro (3): i965: initialize SPIR-V capabilities spirv: add vtn_builder_create nir/spirv: add gl_spirv_validation method Eduardo Lima Mitev (6): mesa: Add a reference to gl_shader_spirv_data to gl_linked_shader mesa/glspirv: Add _mesa_spirv_link_shaders() function mesa/program: Link SPIR-V shaders using the SPIR-V code-path mesa/glspirv: Add a _mesa_spirv_to_nir() function i965: Call spirv_to_nir() instead of glsl_to_nir() for SPIR-V shaders i965: Don't call process_glsl_ir() for SPIR-V shaders Nicolai Hähnle (2): mesa: add gl_constants::SpirVCapabilities mesa: Implement glSpecializeShaderARB src/compiler/Makefile.sources | 1 + src/compiler/nir/meson.build | 1 + src/compiler/spirv/gl_spirv.c | 268 ++++++++++++++++++++++++++++++++ src/compiler/spirv/nir_spirv.h | 5 + src/compiler/spirv/spirv_to_nir.c | 83 ++++++---- src/compiler/spirv/vtn_private.h | 10 ++ src/mesa/drivers/dri/i965/brw_context.c | 20 +++ src/mesa/drivers/dri/i965/brw_link.cpp | 3 +- src/mesa/drivers/dri/i965/brw_program.c | 10 +- src/mesa/main/glspirv.c | 236 +++++++++++++++++++++++++++- src/mesa/main/glspirv.h | 11 ++ src/mesa/main/mtypes.h | 11 ++ src/mesa/main/shaderobj.c | 1 + src/mesa/program/ir_to_mesa.cpp | 6 +- 14 files changed, 630 insertions(+), 36 deletions(-) create mode 100644 src/compiler/spirv/gl_spirv.c -- 2.14.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev