🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

AMD Open Sources Anvil, a Vulkan Wrapper

Started by
0 comments, last by khawk 7 years, 3 months ago

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

Admin for GameDev.net.

This topic is closed to new replies.

Advertisement