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.
Loading
196 Bytes
Loading
214 Bytes
Loading
194 Bytes
Loading
Loading
Loading

0 commit comments

Comments
 (0)