rusticl: add cl_khr_expect_assume

Reviewed-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Tested-by: Andrey Alekseenko <al42and@gmail.com>
Tested-by: Yifeng Li <tomli@tomli.me>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23115>
This commit is contained in:
norablackcat
2023-05-17 15:51:49 -06:00
committed by Marge Bot
parent 25bc3d2824
commit f744c114d1
4 changed files with 5 additions and 1 deletions

View File

@@ -917,7 +917,7 @@ Rusticl extensions that are not part of any OpenCL version:
cl_khr_device_uuid DONE (iris, llvmpipe, radeonsi)
cl_khr_egl_event not started
cl_khr_egl_image not started
cl_khr_expect_assume in progress
cl_khr_expect_assume in progress (hints are ignored)
cl_khr_extended_async_copies not started
cl_khr_extended_bit_ops in progress
cl_khr_fp16 in progress (llvmpipe, radeonsi, Available with environment variable RUSTICL_FEATURES=fp16)

View File

@@ -803,6 +803,8 @@ clc_compile_to_llvm_module(LLVMContext &llvm_ctx,
};
// llvm handles these extensions differently so we have to pass this flag instead to expose the clc functions
clang_opts.push_back("-Dcl_khr_expect_assume=1");
if (args->features.integer_dot_product) {
clang_opts.push_back("-Dcl_khr_integer_dot_product=1");
clang_opts.push_back("-D__opencl_c_integer_dot_product_input_4x8bit_packed=1");

View File

@@ -541,6 +541,7 @@ impl Device {
add_ext(1, 0, 0, "cl_khr_local_int32_base_atomics");
add_ext(1, 0, 0, "cl_khr_local_int32_extended_atomics");
add_spirv("SPV_KHR_expect_assume");
add_spirv("SPV_KHR_float_controls");
add_spirv("SPV_KHR_integer_dot_product");
add_spirv("SPV_KHR_no_integer_wrap_decoration");

View File

@@ -47,6 +47,7 @@ macro_rules! gen_cl_exts {
gen_cl_exts!([
(1, 0, 0, "cl_khr_byte_addressable_store"),
(1, 0, 0, "cl_khr_create_command_queue"),
(1, 0, 0, "cl_khr_expect_assume"),
(1, 0, 0, "cl_khr_extended_versioning"),
(1, 0, 0, "cl_khr_icd"),
(1, 0, 0, "cl_khr_il_program"),