From bb33dbeeaa76fa55532855d397f851c922b36ed8 Mon Sep 17 00:00:00 2001 From: Karol Herbst Date: Sat, 23 Sep 2023 12:01:05 +0200 Subject: [PATCH] rusticl/mesa/context: handle clear_buffer not set by driver Reviewed-by: Iago Toral Quiroga Part-of: --- src/gallium/frontends/rusticl/mesa/pipe/context.rs | 6 ++++-- src/gallium/frontends/rusticl/rusticl_mesa_bindings.h | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/gallium/frontends/rusticl/mesa/pipe/context.rs b/src/gallium/frontends/rusticl/mesa/pipe/context.rs index 4c205e3f063..5aa4602197f 100644 --- a/src/gallium/frontends/rusticl/mesa/pipe/context.rs +++ b/src/gallium/frontends/rusticl/mesa/pipe/context.rs @@ -114,7 +114,10 @@ impl PipeContext { pub fn clear_buffer(&self, res: &PipeResource, pattern: &[u8], offset: u32, size: u32) { unsafe { - self.pipe.as_ref().clear_buffer.unwrap()( + self.pipe + .as_ref() + .clear_buffer + .unwrap_or(u_default_clear_buffer)( self.pipe.as_ptr(), res.pipe(), offset, @@ -672,7 +675,6 @@ fn has_required_cbs(context: &pipe_context) -> bool { & has_required_feature!(context, buffer_map) & has_required_feature!(context, buffer_subdata) & has_required_feature!(context, buffer_unmap) - & has_required_feature!(context, clear_buffer) & has_required_feature!(context, create_compute_state) & has_required_feature!(context, create_query) & has_required_feature!(context, delete_compute_state) diff --git a/src/gallium/frontends/rusticl/rusticl_mesa_bindings.h b/src/gallium/frontends/rusticl/rusticl_mesa_bindings.h index a617800ed2f..f6a73b9ae0d 100644 --- a/src/gallium/frontends/rusticl/rusticl_mesa_bindings.h +++ b/src/gallium/frontends/rusticl/rusticl_mesa_bindings.h @@ -25,5 +25,6 @@ #include "util/u_printf.h" #include "util/u_sampler.h" #include "util/u_surface.h" +#include "util/u_transfer.h" #include "rusticl_nir.h"