GithubHelp home page GithubHelp logo

Comments (4)

adam-sawicki-a avatar adam-sawicki-a commented on May 31, 2024

Please provide more information so I can reproduce the bug. Also please check documentation to make sure you use the library properly.

How do you allocate memory? If you do it using functions vmaCreateBuffer, vmaCreateImage, then you get two objects from each function - VkBuffer/VkImage and VmaAllocation and you need to pass them both to vmaDestroyBuffer, vmaDestroyImage. There is no need to call vmaFreeMemory next to that.

from vulkanmemoryallocator.

Zino2201 avatar Zino2201 commented on May 31, 2024

Okay,

So first I checked the documentation and I do everything right normally:

NOTE: It's a persistant mapped uniform buffer

  • First I'm creating the Buffer using vmaCreateBuffer
  • After every frame I memcpy to it's data
  • At the end I vmaDestroyBuffer and vmaFreeMemory

So first, I removed the vmaFreeMemory thanks by the way for the info!
But now the assert message is

Assertion failed: m_Metadata.IsEmpty() && "Some allocations were not freed before destruction of this memory block!", file c:\users\zino2201\documents\vulkanlearn\project\include\thirdparty\vma\vkmemalloc.h, line 6291

which I don't understand correctly because I am sure to vmaDestroyBuffer all buffers and allocations in my code. If needed, I can send you the code.

Thanks alot for the help, I really appreciate this library.

from vulkanmemoryallocator.

adam-sawicki-a avatar adam-sawicki-a commented on May 31, 2024

Please make sure that you free every VmaAllocation that you create using vmaCreateImage or vmaCreateBuffer, by calling appropriate vmaDestroyImage, vmaDestroyBuffer. Make sure that you pass non-null allocation to them. You can also attach string names to your allocations and then print the list of all allocations to JSON format. Try to do it before you destroy allocator object, or use debugger to identify which allocation remains unfreed.

from vulkanmemoryallocator.

Zino2201 avatar Zino2201 commented on May 31, 2024

Okay after some research I found that I don't have destroyed a staged buffer... A very stupid mistake! Thanks for your help!

from vulkanmemoryallocator.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.