From a85301784d695f563a9e1e7c694ff1368a62fda9 Mon Sep 17 00:00:00 2001 From: Karol Herbst Date: Thu, 15 Feb 2024 13:57:33 +0100 Subject: [PATCH] rusticl/program: fix CL_PROGRAM_BINARIES for devs with no builds Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10611 Fixes: e028baa1772 ("rusticl/program: implement clCreateProgramWithBinary") Signed-off-by: Karol Herbst Part-of: (cherry picked from commit a4f77ce2d417f0a7b445d51b7bfe33c5b6fe4322) --- .pick_status.json | 2 +- src/gallium/frontends/rusticl/core/program.rs | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index deec463d46f..baa2c3f0468 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -3084,7 +3084,7 @@ "description": "rusticl/program: fix CL_PROGRAM_BINARIES for devs with no builds", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "e028baa1772eeaa55393b1d01d5e5fb217474f95", "notes": null diff --git a/src/gallium/frontends/rusticl/core/program.rs b/src/gallium/frontends/rusticl/core/program.rs index eeb9c113538..68abe86aa4c 100644 --- a/src/gallium/frontends/rusticl/core/program.rs +++ b/src/gallium/frontends/rusticl/core/program.rs @@ -505,7 +505,12 @@ impl Program { for (i, d) in self.devs.iter().enumerate() { let mut ptr = ptrs[i]; let info = lock.dev_build(d); - let spirv = info.spirv.as_ref().unwrap().to_bin(); + + // no spirv means nothing to write + let Some(spirv) = info.spirv.as_ref() else { + continue; + }; + let spirv = spirv.to_bin(); unsafe { // 1. binary format version