On 01/12/17 04:28, Eduardo Lima Mitev wrote:
Hello,

This is the second version of the series providing initial support for 
ARB_gl_spirv and ARB_spirv_extensions in Mesa and i965.

First version of the series can be found at 
<https://lists.freedesktop.org/archives/mesa-dev/2017-November/177004.html>.

In this series we hope we have addressed all issues detected during the initial 
review. Thank you all who participated!

Taking the nitpicks and minor fixes apart, most important changes compared to 
the first version are:

* A dedicated 'spirv' flag was removed from gl_shader struct. Now we use the 
nulness of 'spirv_data' member for the same purpose.

* The per-program 'spirv' flag was moved out of this series, but will likely be 
re-introduced in the next delivery, because it will become necessary.

* We enforce one SPIR-V shader per stage, and fail linking if this condition is 
not met.

Sorry can you point me to the patch that contains this I couldn't find it when skimming over the series. Thanks.


* 'SpirVCapabilities' struct of GL context constants is no longer a pointer but 
a static struct.

As usual, a tree of this series can be found at 
<https://github.com/Igalia/mesa/commits/arb_gl_spirv-series1-v2>.

A tree of the larger WIP branch from which this series is taken: 
<https://github.com/Igalia/mesa/commits/wip/igalia/arb_gl_spirv>.

Thanks in advance for the reviews!

cheers,
Eduardo

Alejandro Piñeiro (9):
   spirv_extensions: rename nir_spirv_supported_extensions
   mesa: move nir_spirv_supported_capabilities definition
   i965: initialize SPIR-V capabilities
   spirv_extensions: add GL_ARB_spirv_extensions boilerplate
   spirv_extensions: add list of extensions and to_string method
   spirv_extensions: define spirv_extensions_supported
   spirv_extensions: add spirv_supported_extensions on gl_constants
   spirv_extensions: i965: initialize SPIR-V extensions
   nir/spirv: add gl_spirv_validation method

Eduardo Lima Mitev (8):
   mesa/glspirv: Add struct gl_shader_spirv_data
   mesa/glspirv: Add a _mesa_spirv_link_shaders() placeholder
   mesa/program: Link SPIR-V shaders using the SPIR-V code-path
   mesa: Add a reference to gl_shader_spirv_data to gl_linked_shader
   mesa/glspirv: Create gl_linked_shader objects for a SPIR-V program
   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

Neil Roberts (1):
   mesa: Add boilerplate for the GL 4.6 alias of glSpecializeShaderARB

Nicolai Hähnle (7):
   mesa: add GL_ARB_gl_spirv boilerplate
   mesa/glspirv: Add struct gl_spirv_module
   mesa: implement SPIR-V loading in glShaderBinary
   mesa/shaderapi: add a getter for GL_SPIR_V_BINARY_ARB
   mesa: refuse to compile SPIR-V shaders or link mixed shaders
   mesa: add gl_constants::SpirVCapabilities
   mesa: Implement glSpecializeShaderARB

  src/amd/vulkan/radv_shader.c                |   4 +-
  src/compiler/Makefile.sources               |   2 +
  src/compiler/spirv/nir_spirv.h              |  21 +-
  src/compiler/spirv/spirv_extensions.c       |  77 +++++++
  src/compiler/spirv/spirv_extensions.h       |  63 ++++++
  src/compiler/spirv/spirv_to_nir.c           | 160 +++++++++++++-
  src/compiler/spirv/vtn_private.h            |   2 +-
  src/intel/vulkan/anv_pipeline.c             |   4 +-
  src/mapi/glapi/gen/ARB_gl_spirv.xml         |  21 ++
  src/mapi/glapi/gen/ARB_spirv_extensions.xml |  13 ++
  src/mapi/glapi/gen/GL4x.xml                 |  11 +
  src/mapi/glapi/gen/Makefile.am              |   2 +
  src/mapi/glapi/gen/gl_API.xml               |   8 +
  src/mapi/glapi/gen/gl_genexec.py            |   1 +
  src/mapi/glapi/gen/meson.build              |   2 +
  src/mesa/Makefile.sources                   |   4 +
  src/mesa/drivers/dri/i965/brw_context.c     |  26 +++
  src/mesa/drivers/dri/i965/brw_link.cpp      |   3 +-
  src/mesa/drivers/dri/i965/brw_program.c     |  14 +-
  src/mesa/main/context.c                     |   2 +
  src/mesa/main/extensions_table.h            |   2 +
  src/mesa/main/get.c                         |   7 +
  src/mesa/main/get_hash_params.py            |   3 +
  src/mesa/main/getstring.c                   |  12 +
  src/mesa/main/glspirv.c                     | 331 ++++++++++++++++++++++++++++
  src/mesa/main/glspirv.h                     | 108 +++++++++
  src/mesa/main/mtypes.h                      |  31 +++
  src/mesa/main/shaderapi.c                   |  60 ++++-
  src/mesa/main/shaderobj.c                   |   3 +
  src/mesa/main/spirv_extensions.c            |  60 +++++
  src/mesa/main/spirv_extensions.h            |  49 ++++
  src/mesa/main/tests/dispatch_sanity.cpp     |   3 +
  src/mesa/meson.build                        |   4 +
  src/mesa/program/ir_to_mesa.cpp             |  23 +-
  34 files changed, 1098 insertions(+), 38 deletions(-)
  create mode 100644 src/compiler/spirv/spirv_extensions.c
  create mode 100644 src/compiler/spirv/spirv_extensions.h
  create mode 100644 src/mapi/glapi/gen/ARB_gl_spirv.xml
  create mode 100644 src/mapi/glapi/gen/ARB_spirv_extensions.xml
  create mode 100644 src/mesa/main/glspirv.c
  create mode 100644 src/mesa/main/glspirv.h
  create mode 100644 src/mesa/main/spirv_extensions.c
  create mode 100644 src/mesa/main/spirv_extensions.h

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to