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@collabora.com>
Co-authored-by: Daniel Stone <daniels@collabora.com>
Co-authored-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Acked-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7565>
This commit is contained in:
Jesse Natalie
2020-11-06 17:09:30 +01:00
committed by Marge Bot
parent 1885e356e6
commit ff05da7f8d
21 changed files with 9215 additions and 11 deletions

View File

@@ -261,6 +261,13 @@ option(
value : false,
description : 'Enable GLVND support.'
)
option(
'microsoft-clc',
type : 'combo',
value : 'auto',
choices : ['auto', 'true', 'false'],
description : 'Build support for the Microsoft CLC to DXIL compiler'
)
option(
'glx-read-only-text',
type : 'boolean',