From 39721a7476a85f80084cb1d0a1d2b572a9153ed6 Mon Sep 17 00:00:00 2001 From: Karol Herbst Date: Sat, 23 Sep 2023 12:01:28 +0200 Subject: [PATCH] rusticl/mesa/screen: handle get_timestamp not set by driver Reviewed-by: Iago Toral Quiroga Part-of: --- src/gallium/frontends/rusticl/mesa/pipe/screen.rs | 4 +--- src/gallium/frontends/rusticl/rusticl_mesa_bindings.h | 1 + 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/gallium/frontends/rusticl/mesa/pipe/screen.rs b/src/gallium/frontends/rusticl/mesa/pipe/screen.rs index faa9ad3bda2..4ccfd991478 100644 --- a/src/gallium/frontends/rusticl/mesa/pipe/screen.rs +++ b/src/gallium/frontends/rusticl/mesa/pipe/screen.rs @@ -389,11 +389,10 @@ impl PipeScreen { } pub fn get_timestamp(&self) -> u64 { - // We have get_timestamp in has_required_cbs, so it will exist unsafe { self.screen() .get_timestamp - .expect("get_timestamp should be required")(self.screen.as_ptr()) + .unwrap_or(u_default_get_timestamp)(self.screen.as_ptr()) } } @@ -478,7 +477,6 @@ fn has_required_cbs(screen: *mut pipe_screen) -> bool { & has_required_feature!(screen, get_name) & has_required_feature!(screen, get_param) & has_required_feature!(screen, get_shader_param) - & has_required_feature!(screen, get_timestamp) & has_required_feature!(screen, is_format_supported) & has_required_feature!(screen, resource_create) } diff --git a/src/gallium/frontends/rusticl/rusticl_mesa_bindings.h b/src/gallium/frontends/rusticl/rusticl_mesa_bindings.h index f6a73b9ae0d..7bf2573d58f 100644 --- a/src/gallium/frontends/rusticl/rusticl_mesa_bindings.h +++ b/src/gallium/frontends/rusticl/rusticl_mesa_bindings.h @@ -24,6 +24,7 @@ #include "util/u_upload_mgr.h" #include "util/u_printf.h" #include "util/u_sampler.h" +#include "util/u_screen.h" #include "util/u_surface.h" #include "util/u_transfer.h"