Commit Graph

445 Commits

Author SHA1 Message Date
Daniel Kirchner
05586ce4a2 Don't destroy null-objects in UniqueHandle (Fixes #171). 2018-01-14 10:38:05 +01:00
Andreas Süßenbach
c548ea4bf2 Remove constructors for "returnedonly" structures; introduce member inialization for pNext and sType, instead. (#168) 2018-01-05 09:25:38 +01:00
Andreas Süßenbach
c4fcc08e95 Reshape alias handling according to new alias usage in vk.xml. (#167) 2018-01-04 10:51:17 +01:00
Andreas Süßenbach
15ac21442d Refactor into the newly introduced class VulkanHppGenerator. (#164) 2017-12-21 07:40:48 -04:00
Andreas Süßenbach
25ad869b15 Extend checks on attributes, introduce checks on elements (#161) 2017-12-13 22:57:40 +01:00
Andreas Süßenbach
6be84edcd9 Improve error handling by validating attributes and give more meaningful error messages 2017-12-07 08:46:58 +01:00
Samuel Williams
977da9e304 Tidy up README.md, add "See Also" and "License". (#159)
- Fix indentation of titles.
- Fix usage of code fences.
- Add missing code fences.
- Add missing language declarations.
- Move project description above header.
- Fix some minor typos.
- Add See Also (fixes #112)
- Add inline license according to LICENSE.txt.
2017-12-05 16:33:37 +01:00
Markus Tavenrath
047961e987 Update to Vulkan 1.0.66 (#158)
- Add support for the new alias tag
2017-12-04 14:27:47 +01:00
Markus Tavenrath
05bd56f8c5 Fix issue #147. Do not assert on negative result codes when throwing an exception. There're cases where vendors are non-standard conform and return positive return codes and it's also possible that new success codes could be introduced which require special handling. For the latter case it's legit to throw an exception which a positive result code. (#156) 2017-11-30 15:18:58 +01:00
Markus Tavenrath
b8b1b4db63 Fix issue #151: Add functions to get the parent & allocator or pool from a UniqueHandle (#155) 2017-11-29 16:51:35 +01:00
Markus Tavenrath
4da433e279 Fix issue #133: Add explicit conversion from C-style Vulkan flags to Vulkan-Hpp flags (#154) 2017-11-29 14:56:03 +01:00
Markus Tavenrath
1a32a6c072 Add constructors for readonly structures (#153) 2017-11-29 14:53:57 +01:00
Andreas Süßenbach
509a3df5bb Use generated enumeration for sType in struct constructor, instead of generating that value out of the structure's name
- Fixes issues on IOS and MacOS platform
- Added some checks on vendorids, tags, and some types.
2017-11-29 10:09:32 +01:00
Markus Tavenrath
6e12cceb37
Fix issue #146. Remove constexpr to bring back support for VS 2013. (#149) 2017-11-24 11:14:03 +01:00
Markus Tavenrath
e464d695dd Fix issue mentioned in PR #137. There's no technical reason not to allow vk::UniquePtr with exceptions are disabled. (#142) 2017-10-24 16:35:31 +02:00
Andreas Süßenbach
cb55e77f53 Adjustments for Vulkan 1.0.64 (#140) 2017-10-24 16:15:43 +02:00
Karl Schultz
d62cb5d199 Add Travis-CI badge to README.md (#88)
Show Travis-CI build status in the README.md so that it is easily seen while viewing the GitHub repo.
2017-10-09 17:22:01 +02:00
Markus Tavenrath
5ee30d3ce1 Update to Vulkan 1.0.62 (#136) 2017-10-09 17:21:32 +02:00
Markus Tavenrath
6681979254 Allow passing allocator object as parameter when using custom allocators for std::vector return types (#132) 2017-09-28 23:37:27 +02:00
Andreas Süßenbach
0b8ab65be2 Adjustments to changes with Vulkan 1.0.61 (#131)
To generate Vulkan.hpp version 1.0.61 change line 5336 in vk.xml from
        <command>
to
        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY">
2017-09-28 11:49:17 +02:00
Markus Tavenrath
8da778cfb3 Bump Visual Studio requirement to VS2015 and add UnqiuePtr documentation. (#130) 2017-09-28 10:21:35 +02:00
Markus Tavenrath
b4694d931c Make Vulkan-Hpp namespace configurable. (#129) 2017-09-19 14:55:47 +02:00
Samuel Williams
daae0b6194 Add UniqueHandle non-const accessors, ensure all by reference. (#123)
* Add UniqueHandle non-const accessors, ensure all by reference.

- Add `Type * operator->()`
- Fix `Type get() const` to `const Type & get() const`
- Add `Type & get()`

* Add support for structure pointer chains was missing some generator code.

* Update vulkan.hpp with changes.
2017-09-14 15:22:47 +02:00
Markus Tavenrath
bca6564dac Add support for structure pointer chains & bump version to 1.0.57 (#119) 2017-08-16 11:46:45 +02:00
Andreas Süßenbach
a50ea7dc6c Update to Vulkan 1.0.55 (#116) 2017-07-19 09:35:28 +02:00
Andreas Süßenbach
195479de01 bracket the exception definitions by "#ifndef VULKAN_HPP_NO_EXCEPTIONS" (#114) 2017-06-26 15:25:53 +02:00
Andreas Süßenbach
c71fcac937 Update to Vulkan 1.0.51 (#111) 2017-06-16 15:52:34 +02:00
Markus Tavenrath
8f21dfa0f5 Use string templates in more places (#106) 2017-05-16 15:32:14 +02:00
Markus Tavenrath
850e77938f Add support for template strings in code generator to make the code generator more readable. (#103)
Update to Vulkan 1.0.48
2017-05-11 18:21:14 +02:00
Andreas Süßenbach
cd9d4f1388 Unify long string literals to use raw string literals. (#101) 2017-04-28 18:49:59 +02:00
Damian Dyńdo
6e9d9b5111 Introduce custom exceptions for Vulkan-Hpp (#97) (#99) 2017-04-26 09:30:24 +02:00
Andreas Süßenbach
bea247fd4e Cleanup and commenting on the writing part. (#98) 2017-04-24 09:30:02 +02:00
Andreas Süßenbach
6f37c62592 Update to version 1.0.46 (#96)
+ extend enum value handling to handle names with multiple extension tags.
2017-04-06 14:36:03 +02:00
Dylan McGannon
93fca3b8d9 Removed extra back tick. (#94) 2017-03-20 19:18:08 +01:00
Andreas Süßenbach
7b37d72dd3 Cleanup and some comments on reading. (#90) 2017-03-08 14:14:01 +01:00
Markus Tavenrath
512ab0b85e Update to version 1.0.42 (#89) 2017-02-27 15:34:11 +01:00
Markus Tavenrath
a167d626b8 Remove clang from travis build until libc++/libstd++ issues have been sorted out. (#87) 2017-02-27 14:54:06 +01:00
Karl Schultz
61b349876a Add Travis CI config file (#84) 2017-02-21 12:02:41 +01:00
Andreas Süßenbach
8e3dd21d42 Add missing "std::" to nullptr_t. (#83)
Fixes issue #81.
2017-02-16 16:20:24 +01:00
Andreas Süßenbach
413dfd8f12 Introduce explicit constructors of handle-wrappers from raw handles in case of non-typesafe conversion (#82)
Resolves issue #70.
2017-02-15 17:07:50 +01:00
Andreas Süßenbach
9e8f233557 Update to Vulkan 1.0.40; added handling of types and commands from disabled extensions (#80) 2017-02-14 18:28:05 +01:00
Andreas Süßenbach
f0eff17d9b Introduce constructor and assignment operator on nullptr_t (#77)
Fix issue #77
2017-02-14 13:56:11 +01:00
Andreas Süßenbach
43b2c5ef66 Changed *Deleter classes to not hold a pointer to the controlling object, but hold a copy of it. (#76) 2017-02-13 09:23:35 +01:00
Andreas Süßenbach
3b31847126 Cleanup on data structures and more: (#74)
- CommandData now holds it's full function name (without "vk") and it's reduced function name (used as member function name);
- CommandData now holds the name of the owning handle (class), if it is owned by one;
- EnumData now holds the name of that enum;
- for consistency reasons, "Arguments" have been renamed to "Params"
- some functions have been changed to output to std::ostream (instead of std::ofstream), to detect and filter equal function bodies for enhanced/non-enhanced mode;
- changed some functions to use std::algorithms and lambdas instead of explicit loops
2017-02-08 13:56:06 +01:00
Andreas Süßenbach
6243e6deaa Made UniqueHandle constructor explicit. (#72)
Fix issue #67
2017-02-06 13:26:43 +01:00
Andreas Süßenbach
bdbf7fef28 Prevent warning on multiple defined macro VULKAN_HPP_TYPESAFE_CONVERSION in 32 bit. (#71) 2017-02-01 10:15:52 -08:00
Andreas Süßenbach
f7cf7eeb3e re-run generation on Vulkan version 1.0.39 with Structure::setSType() functions filtered out. (#65) 2017-02-01 10:15:05 -08:00
Andreas Süßenbach
43ec5d8ea9 Update to Vulkan 1.0.39 (#63) 2017-01-30 08:09:29 -08:00
Andreas Süßenbach
02404f397d Filter out functions Structure::setSType(), as the structure types are supposed to be immutable. (#60) 2017-01-30 08:08:49 -08:00
Andreas Süßenbach
ae2e22e506 Introduce helper class UniqueHandle; add creation functions returning UniqueHandles (#59) 2017-01-27 06:15:50 -08:00