On 12/01/2017 04:54 AM, Timothy Arceri wrote: > 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. >
Ohh, I'm very sorry. The revised patch got lost during rebase. I have just sent a v3 of "[PATCH v2 22/25] mesa/glspirv: Create gl_linked_shader objects for a SPIR-V program" that includes the check in question. Thanks for catching this! Eduardo >> >> * '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