VkRunner ported to Rust

Neil Roberts bpeeluk at yahoo.co.uk
Tue Feb 21 08:46:32 UTC 2023


Alejandro Piñeiro <apinheiro at igalia.com> writes:

> I have been trying to find a time slot to learn Rust too. If you have
> issues around with pending features perhaps one of these days I join
> your initiative.

Great! I’ll have to have a brainstorm for things that need implementing.
The main thing at the moment is that there is still no support for
images and textures. That’s probably quite a big task. Otherwise maybe
if you find yourself needing to implement a test for something that
VkRunner can’t support yet that might be a good place to start.

Otherwise for some really small tasks it might be good to have a look
through the Clippy output. Clippy is a rust linter. It’s easier to run
using Cargo so you could make a trivial Cargo.toml build file like this:

[package]
name = "vkrunner"
version = "0.1.0"
edition = "2021"

[lib]
path = "vkrunner/lib.rs"

And then run “cargo clippy” to see the output.

Another option could be to add some more unit tests. I think the
coverage is already quite good but there’s probably some things missing
that could be worth testing.

> If the rust-based vkrunner has the same features and can run the same 
> kind of tests that the original c-based vkrunner, I think that using a 
> memory-safe language is an advantage that goes beyond just a warm fuzzy 
> feeling.
>
> If that is the case, I think that it is a good idea to replace one with 
> the other.

Cool. Yeah, it is feature complete with the old VkRunner so it should be
able to run the same scripts. I tried it with the current Piglit tests
and it works fine. If no one disagrees it might be nice to merge the
branch back into the official repo at Igalia’s github. I’m not sure if
the CI system automatically updates to the lastest version but if so
it’d be worth checking whether it can cope with switching from CMake to
Meson+Rust first.

Maybe in the long run it would be nice to host the repo on Freedesktop’s
gitlab.

Regards,
– Neil


More information about the mesa-dev mailing list