Check out our Monthly Survey Page to see what our users are running.

AMD are continuing their open source push with 'Anvil' a new MIT-licenses wrapper library for Vulkan. Its aim is to reduce the time developers spend to get a working Vulkan application.

Included features:

  • A memory allocator which allocates as little memory as necessary for the specified list of memory regions, miptails, objects or subresources from one or more memory heaps, depending on platform’s capabilities.
  • Automatic object lifetime management, thanks to auto pointers being used across the library.
  • Descriptor sets and descriptor set layouts are automatically generated from user-created descriptor set groups.
  • Helper routines for FP16<->FP32 conversion.
  • Integrated validation support. Validation can be enabled by changing a single argument value at Vulkan instance creation time.
  • Integration with glslang for run-time GLSL -> SPIR-V conversion. Assembly of the result blob can also be retrieved for further analysis.
  • Object tracker which can be used to detect wrapper object leaks.
  • Page tracker, useful for the purpose of tracking memory bindings, if sparse residency is used for buffers or images.
  • Windowing system integration – current support includes XCB and Windows platforms.

It supports AMD-specific Vulkan extensions, but AMD claim it will work with any Vulkan implementation.

You can find Anvil on GitHub.

Article taken from GamingOnLinux.com.
Tags: Toolkit, Vulkan
14 Likes, Who?
We do often include affiliate links to earn us some pennies. We are currently affiliated with GOG, Humble Store and Paradox Interactive. See more here.
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly came back to check on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly.
See more from me
The comments on this article are closed.
5 comments

giamic 24 Mar, 2017
Does this mean that programming with Vulkan + anvil will reintroduce some of the overhead that one abandons when dropping openGL?
tuubi 24 Mar, 2017
giamicDoes this mean that programming with Vulkan + anvil will reintroduce some of the overhead that one abandons when dropping openGL?
Not really. Anvil is not a higher level API that completely abstracts away Vulkan, but basically a set of tools and helpers that make debugging easier and reduce the need to write your own boilerplate. Using AMD's Anvil or Nvidia's VkHLF or indeed any of the available helper libraries will still allow you to thread your workloads effectively and do all kinds of things OpenGL makes difficult.

Also keep in mind that it's entirely possible to write Vulkan code that performs worse than OpenGL. Vulkan is hard. These libraries make it more accessible.


EDIT: I tried to resist fixing that minor typo but I'm weak.


Last edited by tuubi on 24 March 2017 at 5:26 pm UTC
Purple Library Guy 24 Mar, 2017
tuubiEDIT: I tried to resist fixing that minor typo but I'm weak.

I know how that feels.
Beamboom 25 Mar, 2017
It's terminological pedantry, but bear with me: isn't this more a "framework" than a "wrapper"?
Purple Library Guy 26 Mar, 2017
BeamboomIt's terminological pedantry, but bear with me: isn't this more a "framework" than a "wrapper"?

Point taken as far as I'm concerned. I mean, my impression of what a "wrapper" is, is that it pretty much obscures what it wraps--you are now working with the "wrapper" at a higher, or translated, level, instead of working with the lower-level wrapped thing. Whereas with this Anvil thingie, it sounds more like it automates certain relatively predictable but onerous tasks one does in Vulkan while allowing you to still do the core Vulkan programming stuff yourself directly with Vulkan--so it's not really an intervening "wrapper" layer for the most part.
While you're here, please consider supporting GamingOnLinux on Patreon, Liberapay or Paypal. We have no adverts, no paywalls, no timed exclusive articles. Just good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!