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:
@@ -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)
|
||||
|
@@ -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");
|
||||
|
@@ -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");
|
||||
|
@@ -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"),
|
||||
|
Reference in New Issue
Block a user