Advertisement Jump to content
Sign in to follow this  

AMD Open Sources Anvil, a Vulkan Wrapper

This topic is 663 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

AMD has open sourced Anvil through their GPUOpen initiative. Anvil is a wrapper for Vulkan 1.0 that AMD has been using internally to develop Vulkan applications and is intended to make it easier for bring-up new Vulkan applications. The MIT licensed C++ wrapper is similar to other open source Vulkan wrappers but adds a few additional features, including:

  • memory allocator
  • automatic object lifetime management
  • helper routines for FP16 to/from FP32
  • automatic generation of descriptor sets
  • integrated validation support
  • runtime GLSL to SPIR-V conversion
  • object tracking
  • page tracker
  • and windowing system integration for XCB and Windows

    From the Github page:

    Anvil was designed with the following goals in mind:

    • Provide object-oriented Vulkan solution.
    • Reduce the amount of code the developer needs to write in order to start using Vulkan, without hiding the API behind thick abstraction layers.
    • Simplify validation layer usage. All you have to do is specify which function you would like to be called if a debug call-back is made, and that's it.
    • Provide a reasonable level of deferred approach to baking objects, in order to emulate mutability of certain Vulkan objects to a certain degree. Note that this is an optional feature - you are free to request baking of any object at any time, in ordre to ensure it will never happen at draw time.
    • Provide a simple cross-platform implementation for areas unrelated to Vulkan (eg. window management)

      Anvil can be thought of as a toolbox. You are free to use any of its parts you like, and write your own code for everything else. Any Anvil wrapper for an actual Vulkan object can be queried to retrieve the raw Vulkan handle.

    View full story

Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Advertisement

Important Information

By using, you agree to our community Guidelines, Terms of Use, and Privacy Policy. is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!