Hello everyone, I updated a few patches of the series to have it use the new official SPIR-V <-> LLVM translator, that can be found at https://github.com/KhronosGroup/SPIRV-LLVM-Translator.
The whole series, rebased on the current Mesa HEAD, can be found at https://github.com/pierremoreau/mesa/tree/clover_spirv_series_v7. A few patches are still missing reviews: * Patch 07: clover/api: Rework the validation of devices for building; @Francisco: I made the modifications you asked for, but I am not sure whether the “LGTM” should be translated as an Ack or an Rb. * Patch 17: clover: Implement clCreateProgramWithILKHR; * and the three patches I just resent as v7. Thank you. Pierre On 2018-03-25 — 20:02, Pierre Moreau wrote: > Hello, > > This has only minor changes compared to the previous version, but as it > introduces a new patch, I preferred to resend the whole series, as patch > numbering would be messed up otherwise. > > As is_valid_spirv will be also used by the SPIR-V backend, I moved that > function away from api/program.cpp and into spirv/invocation.cpp, to avoid > introducing it in one place in this series, and moving it around in the next > series. > > The current repository for llvm-spirv is temporary, and should be replaced by > an official one during next week. I’ll send an update to patch 13 when that > happens. > > The series is accessible at > https://github.com/pierremoreau/mesa/tree/clover_spirv_series_v5. > > Thanks in advance for the reviews and comments. > Pierre > > > v5: > * Update patch 02 to return the proper type for > clCreateCommandQueueWithProperties; > * Add a comment in patch 13 to indicate where to find llvm-spirv; > * Move the is_spirv_valid function to spirv/invocation.cpp and improve it to > take an OpenCL version as argument, which is used to configure the SPIR-V > validator, instead of hardcoding OpenCL 1.2: new patch 16; > * Edit patch 17 to use SPIR-V functions from the backend. > > Missing reviews/acks for: > * Patch 07: “clover/api: Rework the validation of devices for building”; > * Patch 14: “clover/llvm: Allow translating from SPIR-V to LLVM IR”; > * Patch 18: “clover: Handle CL_PROGRAM_IL in clGetProgramInfo” > > > Karol Herbst (1): > clover: update ICD table to support everything up to 2.2 > > Pierre Moreau (20): > include/CL: Update to the latest OpenCL 2.2 headers > clover/api: Fix tab indentation to spaces > clover: Remove the TGSI backend as unused > clover: Add an helper for checking if an IR is supported > clover/device: Replace usage of "1 << PIPE_SHADER_IR_*" with > supports_ir > clover/api: Rework the validation of devices for building > clover/api: Fail if trying to build a non-executable binary > clover: Disallow creating libraries from other libraries > clover: Track flags per module section > clover: Move device extensions definitions to core/device.cpp > clover: Move platform extensions definitions to clover/platform.cpp > configure.ac,meson: Check for SPIRV-Tools and llvm-spirv > clover/llvm: Allow translating from SPIR-V to LLVM IR > include/CL: Add cl_khr_il_program > clover/spirv: Add functions for validating SPIR-V binaries > clover: Implement clCreateProgramWithILKHR > clover: Handle CL_PROGRAM_IL in clGetProgramInfo > clover/api: Implement CL_DEVICE_IL_VERSION > clover: Advertise cl_khr_il_program > clover: Implement clCreateProgramWithIL from OpenCL 2.1 > > configure.ac | 18 + > include/CL/cl.h | 472 +++++++-- > include/CL/cl_d3d10.h | 7 +- > include/CL/cl_d3d11.h | 7 +- > include/CL/cl_dx9_media_sharing.h | 9 +- > include/CL/cl_dx9_media_sharing_intel.h | 182 ++++ > include/CL/cl_egl.h | 9 +- > include/CL/cl_ext.h | 338 +++++- > include/CL/cl_ext_intel.h | 429 ++++++++ > include/CL/cl_gl.h | 7 +- > include/CL/cl_gl_ext.h | 7 +- > include/CL/cl_platform.h | 328 ++++-- > include/CL/cl_va_api_media_sharing_intel.h | 172 ++++ > include/CL/opencl.h | 7 +- > meson.build | 8 + > src/gallium/state_trackers/clover/Makefile.am | 22 +- > src/gallium/state_trackers/clover/Makefile.sources | 6 +- > src/gallium/state_trackers/clover/api/device.cpp | 20 +- > src/gallium/state_trackers/clover/api/dispatch.cpp | 29 +- > src/gallium/state_trackers/clover/api/dispatch.hpp | 194 ++++ > src/gallium/state_trackers/clover/api/platform.cpp | 6 +- > src/gallium/state_trackers/clover/api/program.cpp | 124 ++- > src/gallium/state_trackers/clover/core/device.cpp | 32 +- > src/gallium/state_trackers/clover/core/device.hpp | 2 + > src/gallium/state_trackers/clover/core/module.cpp | 1 + > src/gallium/state_trackers/clover/core/module.hpp | 13 +- > .../state_trackers/clover/core/platform.cpp | 5 + > .../state_trackers/clover/core/platform.hpp | 2 + > src/gallium/state_trackers/clover/core/program.cpp | 55 +- > src/gallium/state_trackers/clover/core/program.hpp | 12 + > .../state_trackers/clover/llvm/codegen/bitcode.cpp | 3 +- > .../state_trackers/clover/llvm/codegen/common.cpp | 2 +- > .../state_trackers/clover/llvm/invocation.cpp | 29 + > .../state_trackers/clover/llvm/invocation.hpp | 6 + > src/gallium/state_trackers/clover/meson.build | 19 +- > .../state_trackers/clover/spirv/invocation.cpp | 138 +++ > .../clover/{tgsi => spirv}/invocation.hpp | 26 +- > src/gallium/state_trackers/clover/spirv/spirv.hpp | 1081 > ++++++++++++++++++++ > .../state_trackers/clover/tgsi/compiler.cpp | 120 --- > 39 files changed, 3547 insertions(+), 398 deletions(-) > create mode 100644 include/CL/cl_dx9_media_sharing_intel.h > create mode 100644 include/CL/cl_ext_intel.h > create mode 100644 include/CL/cl_va_api_media_sharing_intel.h > create mode 100644 src/gallium/state_trackers/clover/spirv/invocation.cpp > rename src/gallium/state_trackers/clover/{tgsi => spirv}/invocation.hpp (56%) > delete mode 100644 src/gallium/state_trackers/clover/tgsi/compiler.cpp > > -- > 2.16.3 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev
signature.asc
Description: PGP signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev