Mesa (master): microsoft: Add CLC frontend and kernel/compute support to DXIL converter

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Nov 18 04:25:34 UTC 2020


Module: Mesa
Branch: master
Commit: ff05da7f8dc4aa531704d48f718514e3b1fff45d
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ff05da7f8dc4aa531704d48f718514e3b1fff45d

Author: Jesse Natalie <jenatali at microsoft.com>
Date:   Fri Nov  6 17:09:30 2020 +0100

microsoft: Add CLC frontend and kernel/compute support to DXIL converter

This adds a standalone library which can convert through the pipeline of
OpenCL C -> SPIR -> SPIR-V -> NIR -> DXIL. It can add in the libclc
implementations of various library functions in the NIR phase, and
also massages the NIR to shift it more towards graphics-style compute.

This is leveraged by the out-of-tree OpenCLOn12 runtime
(https://github.com/microsoft/OpenCLOn12).

This is the combination of a lot of commits from our development branch,
containing code by several authors.

Co-authored-by: Boris Brezillon <boris.brezillon at collabora.com>
Co-authored-by: Daniel Stone <daniels at collabora.com>
Co-authored-by: Erik Faye-Lund <erik.faye-lund at collabora.com>
Acked-by: Jason Ekstrand <jason at jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7565>

---

 meson.build                             |   33 +-
 meson_options.txt                       |    7 +
 src/compiler/nir/nir_intrinsics.py      |   36 +
 src/meson.build                         |    2 +-
 src/microsoft/clc/clc_compiler.c        | 1447 ++++++++++++++++++++
 src/microsoft/clc/clc_compiler.h        |  266 ++++
 src/microsoft/clc/clc_compiler_test.cpp | 2187 +++++++++++++++++++++++++++++++
 src/microsoft/clc/clc_helpers.cpp       |  811 ++++++++++++
 src/microsoft/clc/clc_helpers.h         |   81 ++
 src/microsoft/clc/clc_nir.c             |  388 ++++++
 src/microsoft/clc/clc_nir.h             |   40 +
 src/microsoft/clc/clglon12compiler.def  |   12 +
 src/microsoft/clc/compute_test.cpp      |  880 +++++++++++++
 src/microsoft/clc/compute_test.h        |  324 +++++
 src/microsoft/clc/meson.build           |   59 +
 src/microsoft/compiler/dxcapi.h         |  676 ++++++++++
 src/microsoft/compiler/dxil_nir.c       | 1222 +++++++++++++++++
 src/microsoft/compiler/dxil_nir.h       |    8 +
 src/microsoft/compiler/nir_to_dxil.c    |  743 ++++++++++-
 src/microsoft/compiler/nir_to_dxil.h    |    1 +
 src/microsoft/meson.build               |    3 +
 21 files changed, 9215 insertions(+), 11 deletions(-)

Diff:   http://cgit.freedesktop.org/mesa/mesa/diff/?id=ff05da7f8dc4aa531704d48f718514e3b1fff45d


More information about the mesa-commit mailing list