diff --git a/src/gallium/frontends/clover/core/resource.cpp b/src/gallium/frontends/clover/core/resource.cpp index 484e5798639..f3f429f1979 100644 --- a/src/gallium/frontends/clover/core/resource.cpp +++ b/src/gallium/frontends/clover/core/resource.cpp @@ -27,6 +27,7 @@ #include "util/format/u_format.h" #include "util/u_inlines.h" #include "util/u_resource.h" +#include "util/u_surface.h" using namespace clover; @@ -76,7 +77,11 @@ resource::clear(command_queue &q, const vector &origin, const vector ®ion, std::string texture_data; texture_data.reserve(util_format_get_blocksize(pipe->format)); util_format_pack_rgba(pipe->format, &texture_data[0], data.data(), 1); - q.pipe->clear_texture(q.pipe, pipe, 0, box(from, region), texture_data.data()); + if (q.pipe->clear_texture) { + q.pipe->clear_texture(q.pipe, pipe, 0, box(from, region), texture_data.data()); + } else { + u_default_clear_texture(q.pipe, pipe, 0, box(from, region), texture_data.data()); + } } }