Advertisement Jump to content
  • Advertisement
  • 03/24/17 03:15 PM
    Sign in to follow this  

    AMD Open Sources Anvil, a Vulkan Wrapper


    • Posted By khawk

    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.

      Report Story
    Sign in to follow this  

    User Feedback

    There are no comments to display.

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

  • 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!