Module: Mesa
Branch: main
Commit: 6c444ac12f621b3699880254733a3798dde8eafd
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=6c444ac12f621b3699880254733a3798dde8eafd

Author: Italo Nicola <[email protected]>
Date:   Wed Jun 21 14:46:02 2023 +0000

rusticl: use fallback path when pipe->clear_texture is not available

Signed-off-by: Italo Nicola <[email protected]>
Reviewed-by: Alyssa Rosenzweig <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23735>

---

 src/gallium/frontends/rusticl/mesa/pipe/context.rs    | 8 ++++++--
 src/gallium/frontends/rusticl/rusticl_mesa_bindings.h | 1 +
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/gallium/frontends/rusticl/mesa/pipe/context.rs 
b/src/gallium/frontends/rusticl/mesa/pipe/context.rs
index 90edc2a6612..e65f3447c60 100644
--- a/src/gallium/frontends/rusticl/mesa/pipe/context.rs
+++ b/src/gallium/frontends/rusticl/mesa/pipe/context.rs
@@ -160,7 +160,12 @@ impl PipeContext {
 
     pub fn clear_texture(&self, res: &PipeResource, pattern: &[u32], bx: 
&pipe_box) {
         unsafe {
-            self.pipe.as_ref().clear_texture.unwrap()(
+            let clear_texture = self
+                .pipe
+                .as_ref()
+                .clear_texture
+                .unwrap_or(u_default_clear_texture);
+            clear_texture(
                 self.pipe.as_ptr(),
                 res.pipe(),
                 0,
@@ -571,7 +576,6 @@ fn has_required_cbs(context: &pipe_context) -> bool {
         & has_required_feature!(context, buffer_subdata)
         & has_required_feature!(context, buffer_unmap)
         & has_required_feature!(context, clear_buffer)
-        & has_required_feature!(context, clear_texture)
         & has_required_feature!(context, create_compute_state)
         & has_required_feature!(context, delete_compute_state)
         & has_required_feature!(context, delete_sampler_state)
diff --git a/src/gallium/frontends/rusticl/rusticl_mesa_bindings.h 
b/src/gallium/frontends/rusticl/rusticl_mesa_bindings.h
index e96efdaf2b9..43b4fc1e0fe 100644
--- a/src/gallium/frontends/rusticl/rusticl_mesa_bindings.h
+++ b/src/gallium/frontends/rusticl/rusticl_mesa_bindings.h
@@ -21,5 +21,6 @@
 #include "util/sha1/sha1.h"
 #include "util/u_printf.h"
 #include "util/u_sampler.h"
+#include "util/u_surface.h"
 
 #include "rusticl_nir.h"

Reply via email to