From a4c0f59b5f92e10c4851e7b11512e3c15040c970 Mon Sep 17 00:00:00 2001 From: Karol Herbst Date: Wed, 16 Mar 2022 15:39:14 +0100 Subject: [PATCH] rusticl/program: undefine __IMAGE_SUPPORT__ if images are unsupported Signed-off-by: Karol Herbst Acked-by: Alyssa Rosenzweig Part-of: --- src/gallium/frontends/rusticl/core/program.rs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/gallium/frontends/rusticl/core/program.rs b/src/gallium/frontends/rusticl/core/program.rs index e914d330a7f..e976b018897 100644 --- a/src/gallium/frontends/rusticl/core/program.rs +++ b/src/gallium/frontends/rusticl/core/program.rs @@ -42,7 +42,11 @@ struct ProgramDevBuild { log: String, } -fn prepare_options(options: &str) -> Vec { +fn prepare_options(options: &str, dev: &Device) -> Vec { + let mut options = options.to_owned(); + if !dev.image_supported() { + options.push_str(" -U__IMAGE_SUPPORT__"); + } options .split_whitespace() .map(|a| match a { @@ -126,7 +130,7 @@ impl Program { let mut info = self.build_info(); let d = Self::dev_build_info(&mut info, dev); - let args = prepare_options(&options); + let args = prepare_options(&options, dev); let (spirv, log) = spirv::SPIRVBin::from_clc(&self.src, &args, &Vec::new(), dev.cl_features()); @@ -165,7 +169,7 @@ impl Program { ) -> bool { let mut info = self.build_info(); let d = Self::dev_build_info(&mut info, dev); - let args = prepare_options(&options); + let args = prepare_options(&options, dev); let (spirv, log) = spirv::SPIRVBin::from_clc(&self.src, &args, headers, dev.cl_features());