[Mesa-dev] [PATCH v5 00/21] Introducing SPIR-V support to clover
Karol Herbst
kherbst at redhat.com
Mon Jul 16 06:31:58 UTC 2018
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
>
More information about the mesa-dev
mailing list