Skip to content

Commit b0920f9

Browse files
Merge branch 'v2_release'
2 parents a68c01c + 2609a1d commit b0920f9

File tree

11 files changed

+282
-6
lines changed

11 files changed

+282
-6
lines changed

CHANGELOG.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
1-
# 2.0.0-alpha (2017-09-12)
1+
# 2.0.0 (2018-03-19)
22

33
A major release with many compatibility-breaking changes.
44

5-
This code is work in progress and subject to changes.
6-
75
Notable new features:
86

97
- Introduction of `VmaAllocation` handle that you must retrieve from allocation functions and pass to deallocation functions next to normal `VkBuffer` and `VkImage`.
108
- Introduction of `VmaAllocationInfo` structure that you can retrieve from `VmaAllocation` handle to access parameters of the allocation (like `VkDeviceMemory` and offset) instead of retrieving them directly from allocation functions.
11-
- Support for persistently mapped allocations - see `VMA_MEMORY_REQUIREMENT_PERSISTENT_MAP_BIT`.
12-
- Support for custom memory pools - `VmaPool` handle, `VmaPoolCreateInfo` structure, `vmaCreatePool` function.
9+
- Support for reference-counted mapping and persistently mapped allocations - see `vmaMapMemory`, `VMA_ALLOCATION_CREATE_MAPPED_BIT`.
10+
- Support for custom memory pools - see `VmaPool` handle, `VmaPoolCreateInfo` structure, `vmaCreatePool` function.
1311
- Support for defragmentation (compaction) of allocations - see function `vmaDefragment` and related structures.
1412
- Support for "lost allocations" - see appropriate chapter on documentation Main Page.
1513

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ Additional features:
4848
- Statistics: Obtain detailed statistics about the amount of memory used, unused, number of allocated blocks, number of allocations etc. - globally, per memory heap, and per memory type.
4949
- Debug annotations: Associate string with name or opaque pointer to your own data with every allocation.
5050
- JSON dump: Obtain a string in JSON format with detailed map of internal state, including list of allocations and gaps between them.
51+
- Convert this JSON dump into a picture to visualize your memory. See [tools/VmaDumpVis](tools/VmaDumpVis/README.md).
5152

5253
# Prequisites
5354

src/vk_mem_alloc.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ extern "C" {
2929

3030
/** \mainpage Vulkan Memory Allocator
3131
32-
<b>Version 2.0.0-alpha.8</b> (2018-03-05)
32+
<b>Version 2.0.0</b> (2018-03-19)
3333
3434
Copyright (c) 2017-2018 Advanced Micro Devices, Inc. All rights reserved. \n
3535
License: MIT

tools/VmaDumpVis/README.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# VMA Dump Vis
2+
3+
Vulkan Memory Allocator Dump Visualization. It is an auxiliary tool that can visualize internal state of [Vulkan Memory Allocator](../../README.md) library on a picture. It is a Python script that must be launched from command line with appropriate parameters.
4+
5+
## Requirements
6+
7+
- Python 3 installed
8+
- [Pillow](http://python-pillow.org/) - Python Imaging Library (Fork) installed
9+
10+
## Usage
11+
12+
```
13+
python VmaDumpVis.py -o OUTPUT_FILE INPUT_FILE
14+
```
15+
16+
* `INPUT_FILE` - path to source file to be read, containing dump of internal state of the VMA library in JSON format (encoding: UTF-8), generated using `vmaBuildStatsString()` function.
17+
* `OUTPUT_FILE` - path to destination file to be written that will contain generated image. Image format is automatically recognized based on file extension. List of supported formats can be found [here](http://pillow.readthedocs.io/en/latest/handbook/image-file-formats.html) and includes: BMP, GIF, JPEG, PNG, TGA.
18+
19+
You can also use typical options:
20+
21+
* `-h` - to see help on command line syntax
22+
* `-v` - to see program version number
23+
24+
## Example output
25+
26+
![Example output](README_files/ExampleOutput.png "Example output")
27+
28+
## Legend
29+
30+
* ![Free space](README_files/Legend_Bkg.png "Free space") Light gray without border - a space in Vulkan device memory block unused by any allocation.
31+
* ![Buffer](README_files/Legend_Buffer.png "Buffer") Yellow rectangle - buffer.
32+
* ![Image Optimal](README_files/Legend_ImageOptimal.png "Image Optimal") Aqua rectangle - image with TILING_OPTIMAL.
33+
* ![Image Linear](README_files/Legend_ImageLinear.png "Image Linear") Green rectangle - image with TILING_LINEAR.
34+
* ![Details](README_files/Legend_Details.png "Details") Black bar or rectangle - one or more allocations of any kind too small to be visualized as filled rectangles.
63 KB
Loading
196 Bytes
Loading
214 Bytes
Loading
194 Bytes
Loading
214 Bytes
Loading
215 Bytes
Loading

0 commit comments

Comments
 (0)