[Mesa-dev] [PATCH 00/11] Initial gl_spirv support in Mesa and i965

Alejandro Piñeiro apinheiro at igalia.com
Thu Mar 8 08:19:29 UTC 2018


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



More information about the mesa-dev mailing list