Comments (12)
Creating wrapper for Python is a great idea, but I'm afraid that creating wrappers for programming languages other than C++ is out of scope of this project. External contributions of this type are welcomed.
I would recommend to wait with creating such wrapper until new version 2.0.0-alpha.3 is released, which should happen pretty soon. It brings a lot of changes.
from vulkanmemoryallocator.
Thanks @adam-sawicki-amd for your answer.
I agree with you that creating a wrapper is out of scope of this project. However, creating a file that describes the API may be a good idea. Like you said, it takes time to do it and we have to wait the version 2-alpha3.
I can create the wrapper without the description file so it's not a big problem but it's more convenient with it.
from vulkanmemoryallocator.
I pushed version 2.0.0-alpha.3. Can you try to prepare Python wrapper for it?
from vulkanmemoryallocator.
Thanks @adam-sawicki-amd, can you give me instruction to compile the code as a static library ?
from vulkanmemoryallocator.
If you mean Windows and Visual Studio platform, in order to compile VMA as static library:
- Create new project of type "Static library".
- Add
vk_mem_alloc.h
file to it. - Create
vk_mem_alloc.cpp
file and place following code there:
#define VMA_IMPLEMENTATION
#include "vk_mem_alloc.h"
from vulkanmemoryallocator.
Sorry, I forgot to tell you that I work on Linux (Ubuntu). So do you know how to do it on linux ?
from vulkanmemoryallocator.
I just saw that all is in one file vk_mem_alloc.h
, nice!
Is mathfu
mandatory ?
from vulkanmemoryallocator.
Yes, the whole library is in file vk_mem_alloc.h
. It depends only on Vulkan and standard C/C++ library. When included as-is, it works as a header. When included after #define VMA_IMPLEMENTATION
from some CPP file, it adds whole implementation, so you should do it just once. All the rest is just testing app, including MathFu.
from vulkanmemoryallocator.
Ok very nice, I love well designed library. I'm starting the wrapper.
from vulkanmemoryallocator.
@realitix Are you making the vma.xml file or directly for python?
I would love a spec aswell to make a version of KhronosGroup/Vulkan-Hpp for this repo
So I can use this library like this:
auto memReq = vma::AllocationCreateInfo({}, vma::MemoryUsage::eGpuOnly)
.setPool(&pool);
etc..
from vulkanmemoryallocator.
@FlayaN I am directly doing the python wrapper for testing.
If it's good, we should capitalize on the xml file.
I'm currently locked by this: #10
from vulkanmemoryallocator.
Here the Python Wrapper (WIP): https://github.com/realitix/pyvma
from vulkanmemoryallocator.
Related Issues (20)
- missing VMA_LEN_IF_NOT_NULL in vmaCopyMemoryToAllocation/vmaCopyAllocationToMemory HOT 1
- Buggy mapping hysteresis optimization HOT 2
- Asserts on Android 9 wth vkGetPhysicalDeviceMemoryProperties2KHR HOT 2
- no support for `VkBufferUsageFlags2CreateInfoKHR` HOT 2
- Specify in documentation that individual pools can be individually used w/o external synchronization HOT 1
- Compatibility issue with Vulkan 1.2.198 on OSX HOT 3
- Can I batch all allocations in one function call to VMA if I know my memory requirements upfront? HOT 2
- Building VulkanMemoryAllocator for C HOT 2
- Changes to PFN_vmaAllocateDeviceMemoryFunction HOT 1
- do not create a dummy buffer and destroy when call vmaFindMemoryTypeIndexForBufferInfo HOT 2
- Validation layer error in sample application HOT 5
- Problem when running tests of sample application on NVIDIA RTX 3090 HOT 5
- Use vkSetDebugUtilsObjectNameEXT to make debugging easier
- Question about 'Advanced data uploading' in the docs HOT 5
- C++20 module HOT 1
- VmaAllocator_T::Map illegal use of [[fallthough]] HOT 1
- Remove unused BasicTestBuddyAllocator()? HOT 3
- Write a new test which covers 'advanced data uploading' from docs HOT 5
- Clarify docs and improve pool API thread-safety guarantees if possible HOT 2
- Introduce a CMake option which allows VMA_DEBUG_LOG to be enabled easily HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vulkanmemoryallocator.