Markus Tavenrath
3e3c16a0a1
Add constructor to Optional<RefType> which accepts a RefType* in addition RefType& and nullptr. This is required since *nullptr is illegal and writing (ptr == nullptr) ? nullptr : *ptr isn't an efficient solution for the problem. ( #45 )
2016-11-04 09:14:53 +01:00
Andreas Süßenbach
952667d3c0
Add operator~() on Flags<> and FlagBits ( #44 )
...
* Add operator~() on Flags<> and FlagBits
2016-10-26 17:49:58 +09:00
Markus Tavenrath
8236dd0ba9
Update to version 1.0.32 ( #43 )
2016-10-25 16:51:40 +02:00
Markus Tavenrath
bf2cd41450
Add VULKAN_HPP_INLINE to force inlining in all functions which had the inline keyword before. MSVC didn't inline some of the functions including the critical createResult ones. ( #41 )
2016-10-17 10:34:14 +02:00
Markus Tavenrath
938db16ce5
Update to Vulkan 1.0.31 ( #40 )
2016-10-14 18:36:15 +02:00
Markus Tavenrath
1ba3ceaf3f
Add support for std::tie on ResultValues. This allows developers to write ( #39 )
...
vk::Result result;
vk::Image image;
std::tie(result, image) = device.createImage(...);
when using the non-exception mode.
2016-10-14 16:22:14 +02:00
Markus Tavenrath
d2423209f8
Update to Vulkan 1.0.30 ( #38 )
2016-10-07 15:14:24 +02:00
Markus Tavenrath
84a35fc36f
Fix issue_35, update to Vulkan 1.0.29 ( #37 )
2016-10-05 13:50:30 +02:00
Markus Tavenrath
820ec7097a
Add support for operator<
2016-08-16 08:44:04 +02:00
Markus Tavenrath
1b25982cc9
Add operator== and operator!= to handles. Fix issue #20 ( #22 )
2016-08-15 16:10:20 +02:00
Andreas Süßenbach
73857ee1dd
Add security check and resize on vector-returning functions where the size of the vector is queried from vulkan, and the size can potentially change between querying the size and querying the data. ( #18 )
2016-08-09 11:33:30 +02:00
Markus Billeter
40139e1741
Regenerate vulkan.hpp
2016-07-27 14:24:10 +02:00
Markus Tavenrath
02f86eafea
Update to version 1.0.21 ( #12 )
2016-07-27 09:41:47 +02:00
Markus Tavenrath
bc59efe23c
Remove nvidia references
2016-07-26 16:28:30 +02:00
Markus Tavenrath
a31b910628
Fix gcc/clang includes and warnings
2016-07-26 16:16:45 +02:00
Andreas Süßenbach
54eab5414c
Introduce operator== and operator!=() on structs
2016-07-25 20:31:10 +02:00
Andreas Süßenbach
c0fb89411e
Add member functions begin(), end(), front(), back(), and empty() to vk::ArrayProxy to make it a better container.
2016-07-25 06:04:56 +02:00
Markus Tavenrath
65a7d2f644
Update to Vulkan 1.0.17, Switch to Apache 2.0 license
2016-07-14 10:29:16 +02:00
Andreas Süßenbach
be9beb84ac
Added singular version of some functions
...
For functions that would return a vector of stuff, a singular version is introduced returning just on stuff.
Currently, that's just createGraphicsPipeline, createComputePipeline, and createSharedSwapchainKHR.
2016-06-22 14:06:14 +02:00
Andreas Süßenbach
d2aea04b6c
Renamed from VkCpp to VulkanHpp
2016-06-21 10:35:47 +02:00
Andreas Süßenbach
400c51216f
Introduced default for last argument of functions when that argument is a Flag whose corresponding FlagBits has no values.
...
Currently, it's just Device::mapMemory() and Device::resetDescriptorPool()
2016-06-20 11:15:07 +02:00
Andreas Süßenbach
9aadad05c0
Update to Version 1.0.13
2016-06-16 16:30:27 +02:00
Markus Tavenrath
af6d55398d
Merge pull request #121 from asuessenbach/PrivateSType
...
Made StructureType sType private, as nobody should need to access that.
2016-06-16 03:00:15 +02:00
Andreas Süßenbach
c27468dc4e
Changed from two constructors for structures to just one with some default for each element
2016-06-15 17:50:06 +02:00
Andreas Süßenbach
6056e66a77
Made StructureType sType private, as nobody should need to access that.
2016-06-15 15:22:09 +02:00
Andreas Süßenbach
b81f8ec376
Introduced define VK_CPP_NO_EXCEPTIONS, to support calling vk-functions without throwing exceptions on error conditions. Now, depending on that define, some functions can return a struct containing the vk::Result and some generated value.
2016-05-19 11:33:52 +02:00
Andreas Süßenbach
dc0354bdc6
Extended functions returning a std::vector to get the allocator for that vector as a template argument.
2016-05-11 18:08:46 +02:00
Andreas Süßenbach
9fe6b2384e
Added nullptr_t-constructor to ArrayProxy, simplifying handling of empty arrays.
2016-05-11 11:07:04 +02:00
Andreas Süßenbach
847b2eebd1
Changed struct/union wrappers from class to struct/union, directly containing the members of the native struct/union
...
- no accessor functions to those members any more, but just direct access to them available;
- modified "named parameter idiom" to use setter-functions with the prefix "set", continuing with an uppercase letter;
- If the C++11 feature "unrestricted unions" is not supported, unions may hold the native vulkan datatypes, instead of those from the vk-namespace (in fact, it's just the vk::ClearValue that needs handling here). For clang, gcc, and MSVC compiler, the support of/version supporting this feature is checked; for other compilers, you need to check on your own and define VK_CPP_HAS_UNRESTRICTED_UNIONS if appropriate.
2016-05-09 15:26:12 +02:00
Markus Tavenrath
59416fdffa
Merge pull request #105 from asuessenbach/ArrayProxy
...
Introduce helper class vk::ArrayProxy.
replaces std::vector and std::initializers_list replacements of pairs of (count, [const] T*) in the enhanced interface, resulting in fewer function overloads.
has constructors for T, (count, [const] T*), std::array<[const]T,N>, std::vector<[const]T], and std::initializer_list.
2016-05-06 10:43:05 +02:00
Andreas Süßenbach
2c259237dc
Introduce helper class vk::ArrayProxy.
...
- replaces pairs of (count, [const] T*) in the enhanced interface
- has constructor for single T, (count, [const] T*), std::array<[const]T,N>, std::vector<[const]T], and std::initializer_list<const T>.
2016-05-04 16:12:25 +02:00
Andreas Süßenbach
4b9e1ae57e
some adjustments:
...
- to_string of empty enums return "(void)", instead of empty string
- to_string of undefined enum value return "invalid", instead of "unknown"
- to_string of Flags of empty Enums or Flags with no bit set return "{}", instead of empty string
- to_string of Flags embraces the flags with "{", "}"
- all typedefs are replaced with using expressions
2016-05-02 15:27:38 +02:00
Andreas Süßenbach
3ba0905e26
Update to Version 1.0.11: extended writeExceptionCheck to support an arbitrary number of successCodes.
2016-04-29 15:24:27 +02:00
Andreas Süßenbach
c5bcc9410c
Added overload of enhanced functions using std::initializer_list instead of std::vector
2016-04-13 13:52:09 +02:00
Markus Tavenrath
3359b16c39
Improve usability
...
- Enable enhanced mode by default, use VKCPP_DISABLE_ENHANCED_MODE to disable it
- Rename vk_cpp.h to vk_cpp.hpp to be more standard-conform with regards to naming
- Automatically use vk.xml from submodule if no other file has be specified
- Generate header in vulkand folder to avoid copying the file after generating it
- Catch exceptions in generator
2016-04-12 12:19:52 +02:00
Markus Tavenrath
cdd70520bc
Merge pull request #97 from asuessenbach/version_check
...
Updated version check to new VK_HEADER_VERSION, incompatible with ver…
2016-04-11 15:59:25 +02:00
Andreas Süßenbach
976a980afa
Updated version check to new VK_HEADER_VERSION, incompatible with version 1.0.5 and before
2016-04-11 14:14:26 +02:00
Andreas Süßenbach
4d67b6d1a5
changed enhanced version of CommandBuffer::pushConstants to be templated by value type, corrected CommandBuffer::pushConstant to be templated by value type as well
2016-04-11 11:30:23 +02:00
Markus Tavenrath
ab89b93948
Merge pull request #93 from asuessenbach/singular
...
Introduced version of functions handling singular element arguments i…
2016-04-05 22:24:19 -07:00
Andreas Süßenbach
6a8d520ffc
Introduced version of functions handling singular element arguments instead of a std::vector arguments
2016-04-01 13:45:20 +02:00
Andreas Süßenbach
9361a735ee
Remove extension tag from extension enum values
2016-04-01 10:47:10 +02:00
Andreas Süßenbach
a69a47e00e
Added default argument value nullptr for last Optional arguments
...
+ made vk::Flags::operator bool() explicit
+ changed vk::Flags default MaskType from uint32_t to VKFlags
+ removed some unneeded "vk::"
2016-03-31 12:08:15 +02:00
Andreas Süßenbach
3e8964e181
Changed functions that could return eIncomplete to loop while incomplete and return the final result.
2016-03-30 12:18:19 +02:00
Andreas Süßenbach
e30ca6ffa2
fix typo in Optional::operator bool(): needs to be !!, not ! !
2016-03-23 17:54:55 +01:00
Andreas Süßenbach
54fced9dd3
changed functions with optional std::string parameters from "std::string const &" to "vk::Optional<std::string const> const &";
...
moved vk::Optional constructor on std::nullptr_t from private to public;
introduced vk::Optional::operator->() and explicit operator bool();
removed static operator null() on all struct-wrapper classes
2016-03-23 16:08:30 +01:00
Andreas Süßenbach
e4d6945097
rename vk::GetString to vk::to_string; remove superfluous typename from friend declaration of RefType in class Optional, remove superfluous std::moves
2016-03-21 13:56:18 +01:00
Markus Tavenrath
eb1c207fa7
Fix issue 68, introduce vk::Optional class which to support optional references
2016-03-15 17:52:19 +01:00
Andreas Süßenbach
2013e7c7a7
Corrected stripping a tag from a string; updated generated vk_cpp.h to Version 1.0.5
2016-03-14 11:52:28 +01:00
Andreas Süßenbach
147f8ee621
Changed preliminary vk::Exception to std::system_error.
2016-03-08 10:02:07 +01:00
Markus Tavenrath
c66b98b4e8
Merge pull request #60 from asuessenbach/copyright
...
Added copyright message from <comment> section in vk.xml
2016-03-04 11:58:14 +01:00