[Mesa-dev] [PATCH v5 00/21] Introducing SPIR-V support to clover

Pierre Moreau address=pierre.morrow at free.fr
Mon Jul 16 15:57:14 UTC 2018


I have no idea how, but it seems I messed up the commit message for that one,
since the ML version (https://patchwork.freedesktop.org/patch/212834/) has a Rb
tag from me and has "v5: Fix return type of
clCreateCommandQueueWithProperties", whereas the version I have on GitHub does
not have the Rb tag and instead of v5 in the previous message, it says v6
(there never was a v6 for that patch).

I’ll go through all commits in all their different revisions to see if I can
spot and fix other similar errors.

On 2018-07-16 — 08:31, Karol Herbst wrote:
> the second patch also lacks review: "clover: update ICD table to
> support everything up to 2.2"
> 
> On Sun, Jul 15, 2018 at 9:26 PM, Pierre Moreau <pierre.morrow at free.fr> wrote:
> > Hello,
> >
> > I would appreciate if the following patches could be reviewed:
> > * Patch 07 (latest: v6): 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 a Rb.
> > * Patch 14 (latest: v7): clover/llvm: Allow translating from SPIR-V to LLVM IR
> > * Patch 16 (latest: v8): clover/spirv: Add functions for validating SPIR-V binaries
> > * Patch 17 (latest: v5): clover: Implement clCreateProgramWithILKHR;
> >
> > The latest version of the whole series can be found at
> > https://github.com/pierremoreau/mesa/commits/clover_spirv_series_v8
> >
> > Thank you in advance,
> > Pierre
> >
> >
> > On 2018-05-23 — 23:58, Pierre Moreau wrote:
> >> 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 at lists.freedesktop.org
> >> > https://lists.freedesktop.org/mailman/listinfo/mesa-dev
> >
> >
> >
> >> _______________________________________________
> >> mesa-dev mailing list
> >> mesa-dev at lists.freedesktop.org
> >> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
> >
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180716/ae6744b1/attachment-0001.sig>


More information about the mesa-dev mailing list