5c5a00110eMerge pull request #7 from asuessenbach/extentArrayProxy
Markus Tavenrath
2016-07-25 10:30:40 +02:00
c0fb89411eAdd member functions begin(), end(), front(), back(), and empty() to vk::ArrayProxy to make it a better container.
Andreas Süßenbach
2016-07-25 06:04:56 +02:00
65a7d2f644Update to Vulkan 1.0.17, Switch to Apache 2.0 license
Markus Tavenrath
2016-07-14 10:29:16 +02:00
28890d7bc4Merge pull request #2 from asuessenbach/SingularFunctions
Markus Tavenrath
2016-06-30 09:17:14 +02:00
be9beb84acAdded 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.
Andreas Süßenbach
2016-06-22 14:06:14 +02:00
8e66e869dfMerge pull request #1 from asuessenbach/RenameToVulkanHpp
Markus Tavenrath
2016-06-21 13:35:24 +02:00
d2aea04b6cRenamed from VkCpp to VulkanHpp
Andreas Süßenbach
2016-06-21 10:35:47 +02:00
3b96c38a41Merge pull request #123 from asuessenbach/DefaultOnEmptyFlagAsLastArgument
Markus Tavenrath
2016-06-20 22:34:55 +02:00
400c51216fIntroduced 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()
Andreas Süßenbach
2016-06-20 11:15:07 +02:00
3c045ecaa7Merge pull request #122 from asuessenbach/Version13
Markus Tavenrath
2016-06-17 01:55:30 +02:00
9aadad05c0Update to Version 1.0.13
Andreas Süßenbach
2016-06-16 16:30:27 +02:00
af6d55398dMerge pull request #121 from asuessenbach/PrivateSType
Markus Tavenrath
2016-06-16 03:00:15 +02:00
cf0f082f36Merge pull request #120 from asuessenbach/ConstructorWithDefaults
Markus Tavenrath
2016-06-16 02:59:33 +02:00
c27468dc4eChanged from two constructors for structures to just one with some default for each element
Andreas Süßenbach
2016-06-15 15:00:14 +02:00
6056e66a77Made StructureType sType private, as nobody should need to access that.
Andreas Süßenbach
2016-06-15 15:22:09 +02:00
82841a9751Add reference to Sascha Willems samples port from Brad Davis.
Markus Tavenrath
2016-06-07 08:04:07 +02:00
73a3833628Merge pull request #110 from asuessenbach/DataResult
Markus Tavenrath
2016-05-19 15:14:54 +02:00
b81f8ec376Introduced 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.
Andreas Süßenbach
2016-05-17 13:16:34 +02:00
4bf660700dMerge pull request #108 from asuessenbach/Allocator
Markus Tavenrath
2016-05-12 12:05:44 +02:00
dc0354bdc6Extended functions returning a std::vector to get the allocator for that vector as a template argument.
Andreas Süßenbach
2016-05-11 18:08:46 +02:00
954bc6a34eMerge pull request #107 from asuessenbach/FixOptional
Markus Tavenrath
2016-05-11 14:24:25 +02:00
9fe6b2384eAdded nullptr_t-constructor to ArrayProxy, simplifying handling of empty arrays.
Andreas Süßenbach
2016-05-11 11:07:04 +02:00
9c55803341Merge pull request #106 from asuessenbach/DirectAccess
Markus Tavenrath
2016-05-10 16:14:33 +02:00
847b2eebd1Changed 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.
Andreas Süßenbach
2016-05-09 15:15:53 +02:00
59416fdffaMerge pull request #105 from asuessenbach/ArrayProxy
Markus Tavenrath
2016-05-06 10:43:05 +02:00
2c259237dcIntroduce 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>.
Andreas Süßenbach
2016-05-04 16:12:25 +02:00
ecb56f0632Merge pull request #104 from asuessenbach/misc
Markus Tavenrath
2016-05-02 17:25:31 +02:00
4b9e1ae57esome 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
Andreas Süßenbach
2016-05-02 15:27:38 +02:00
d5946f1f81Merge pull request #103 from asuessenbach/version_1_0_11
Markus Tavenrath
2016-05-02 14:41:13 +02:00
3ba0905e26Update to Version 1.0.11: extended writeExceptionCheck to support an arbitrary number of successCodes.
Andreas Süßenbach
2016-04-29 15:24:27 +02:00
8b4b35dc09Merge pull request #100 from asuessenbach/initializer_list
Markus Tavenrath
2016-04-14 10:44:02 +02:00
c5bcc9410cAdded overload of enhanced functions using std::initializer_list instead of std::vector
Andreas Süßenbach
2016-04-13 13:52:09 +02:00
29e7f3ae6bMerge pull request #99 from mtavenrath/usability
asuessenbach
2016-04-12 13:43:17 +02:00
3359b16c39Improve 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
Markus Tavenrath
2016-04-12 11:36:14 +02:00
8f8148bfd2Merge pull request #98 from mtavenrath/Vulkan_Docs
asuessenbach
2016-04-12 10:42:22 +02:00
df1b8eb615Add external Vulkan-Docs to get vk.xml
Markus Tavenrath
2016-04-12 09:32:09 +02:00
cdd70520bcMerge pull request #97 from asuessenbach/version_check
Markus Tavenrath
2016-04-11 15:59:25 +02:00
757d3b7aedMerge pull request #96 from asuessenbach/singular_fix
Markus Tavenrath
2016-04-11 15:57:35 +02:00
976a980afaUpdated version check to new VK_HEADER_VERSION, incompatible with version 1.0.5 and before
Andreas Süßenbach
2016-04-11 14:14:26 +02:00
4d67b6d1a5changed enhanced version of CommandBuffer::pushConstants to be templated by value type, corrected CommandBuffer::pushConstant to be templated by value type as well
Andreas Süßenbach
2016-04-11 11:30:23 +02:00
ab89b93948Merge pull request #93 from asuessenbach/singular
Markus Tavenrath
2016-04-05 22:24:19 -07:00
a287b6db68Merge pull request #92 from asuessenbach/enumTag
Markus Tavenrath
2016-04-05 22:22:41 -07:00
6a8d520ffcIntroduced version of functions handling singular element arguments instead of a std::vector arguments
Andreas Süßenbach
2016-04-01 13:45:20 +02:00
9361a735eeRemove extension tag from extension enum values
Andreas Süßenbach
2016-04-01 10:47:10 +02:00
eb135c594dMerge pull request #91 from asuessenbach/lastOptionalDefault
Markus Tavenrath
2016-03-31 08:27:45 -07:00
a69a47e00eAdded 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::"
Andreas Süßenbach
2016-03-31 12:08:15 +02:00
6976ecfa09Merge pull request #89 from asuessenbach/vk6
Markus Tavenrath
2016-03-30 11:24:20 -07:00
ac2110999fMerge pull request #88 from asuessenbach/enumerate
Markus Tavenrath
2016-03-30 11:23:57 -07:00
30ad5085efAdded support of Attribute "bitpos" for extends of an enum; made generator survive an "usage" element in an extension.
Andreas Süßenbach
2016-03-30 17:41:29 +02:00
3e8964e181Changed functions that could return eIncomplete to loop while incomplete and return the final result.
Andreas Süßenbach
2016-03-30 12:18:19 +02:00
6163c6e8caMerge pull request #85 from asuessenbach/notnot
asuessenbach
2016-03-23 17:56:18 +01:00
e30ca6ffa2fix typo in Optional::operator bool(): needs to be !!, not ! !
Andreas Süßenbach
2016-03-23 17:54:55 +01:00
900744a8caMerge pull request #82 from asuessenbach/issue81
Markus Tavenrath
2016-03-23 16:19:37 +01:00
54fced9dd3changed 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
Andreas Süßenbach
2016-03-23 15:45:46 +01:00
fa4e51b447Merge pull request #80 from asuessenbach/typename_and_to_string
Markus Tavenrath
2016-03-22 09:23:24 +01:00
e4d6945097rename vk::GetString to vk::to_string; remove superfluous typename from friend declaration of RefType in class Optional, remove superfluous std::moves
Andreas Süßenbach
2016-03-21 11:51:22 +01:00
dc41595577Merge pull request #74 from asuessenbach/cleanup
Markus Tavenrath
2016-03-17 14:50:14 +01:00
21b3c321a0Cleanup on reading functions: gathering data into a single structure.
Andreas Süßenbach
2016-03-16 11:20:41 +01:00
a50e7c224cMerge pull request #73 from mtavenrath/issue_68
asuessenbach
2016-03-15 17:53:39 +01:00
eb1c207fa7Fix issue 68, introduce vk::Optional class which to support optional references
Markus Tavenrath
2016-03-14 17:51:10 +01:00
89cc6e0ac8Merge pull request #72 from asuessenbach/correctStrip
Markus Tavenrath
2016-03-14 16:36:36 +01:00
2013e7c7a7Corrected stripping a tag from a string; updated generated vk_cpp.h to Version 1.0.5
Andreas Süßenbach
2016-03-14 11:52:28 +01:00
ae695ba495Merge pull request #65 from asuessenbach/exception
Markus Tavenrath
2016-03-08 10:10:38 +01:00
147f8ee621Changed preliminary vk::Exception to std::system_error.
Andreas Süßenbach
2016-03-07 15:08:31 +01:00
f1127bd013Merge pull request #61 from asuessenbach/cleanup
Markus Tavenrath
2016-03-07 09:35:00 +01:00
06649553bdAdded missing </code> in README.md
Andreas Süßenbach
2016-03-04 13:21:15 +01:00
c66b98b4e8Merge pull request #60 from asuessenbach/copyright
Markus Tavenrath
2016-03-04 11:58:14 +01:00
2f923bda5bMerge pull request #59 from asuessenbach/cleanup
Markus Tavenrath
2016-03-04 11:58:07 +01:00
1f689355c4Cleanup on function body writing
Andreas Süßenbach
2016-02-29 10:07:34 +01:00
23f15ebdd0Added copyright message from <comment> section in vk.xml
Andreas Süßenbach
2016-03-04 10:37:16 +01:00
41baebc373Merge pull request #58 from asuessenbach/fix_const
Markus Tavenrath
2016-03-02 16:00:50 +01:00
dfd3253029Added missing const qualifier for member functions in non-enhanced mode, added some checks agains not defined VK_CPP_ENHANCED_MODE to prevent multiple functions with identical signature
Andreas Süßenbach
2016-03-02 11:56:09 +01:00
72cdec99c0Merge pull request #57 from asuessenbach/member_functions
asuessenbach
2016-03-02 10:03:12 +01:00
73e20c47d4Moved vulkan functions into the wrapper class of its first handle argument, adjusted name and argument list
Andreas Süßenbach
2016-03-01 12:14:18 +01:00
62f7a093c1Merge pull request #56 from asuessenbach/xcb_connection_t
Markus Tavenrath
2016-03-01 09:46:17 +01:00
69cbb6c5e3Fix issue #44: don't change return type of functions that are supposed to return something different from Result
Andreas Süßenbach
2016-02-29 14:41:52 +01:00
6958b89c3bMerge pull request #55 from asuessenbach/version104
Markus Tavenrath
2016-02-29 12:21:31 +01:00
f7029107a9Updates to support vulkan version 1.0.4
Andreas Süßenbach
2016-02-29 11:18:19 +01:00
56eea4a80eMerge pull request #53 from asuessenbach/non_const_getters
Markus Tavenrath
2016-02-26 12:38:39 +01:00
ae7d0fe00bFix issue #45: provide non-const getters
Andreas Süßenbach
2016-02-26 12:20:40 +01:00
fa439aa10fMerge pull request #52 from mtavenrath/issue_34
asuessenbach
2016-02-26 12:06:24 +01:00
9c6888edf3Fix issue #34, provide null() references for structs
Markus Tavenrath
2016-02-26 11:41:21 +01:00
9af3c10574Merge pull request #51 from mtavenrath/issue_49
asuessenbach
2016-02-26 11:09:57 +01:00
cec57bd4ebFix issue #49, unreferenced parameters and local functions
Markus Tavenrath
2016-02-26 10:25:04 +01:00
bb2da85adcMerge pull request #50 from mtavenrath/bool_support
asuessenbach
2016-02-26 10:41:59 +01:00
49c7dc2802Add support for operator bool() and operator!() in handles to support if(handle) and if(!handle)
Markus Tavenrath
2016-02-26 09:59:27 +01:00
83b88eba34Merge pull request #47 from mtavenrath/classes_enhancements
asuessenbach
2016-02-25 18:00:58 +01:00
66627474feAdd copy constructors, assignment operators and cast operators to go forth and back between vkcpp and native vulkan structs and handles.
Markus Tavenrath
2016-02-25 16:48:46 +01:00
6ece7605eeMerge pull request #46 from asuessenbach/vkcpp_classes
Markus Tavenrath
2016-02-25 15:12:32 +01:00
9ca6fc4c9aFix issue #36: enum value names for extensions and vk::Result
Andreas Süßenbach
2016-02-25 14:25:23 +01:00
9ec587bc80Merge pull request #43 from asuessenbach/vkcpp_classes
Markus Tavenrath
2016-02-24 16:21:38 +01:00
217ad3fb66changed vk::cmdUpdateBuffer and vk::getQueryPoolResults to get a templated vector of data.
Andreas Süßenbach
2016-02-24 11:31:50 +01:00
766f69993cMerge pull request #41 from mtavenrath/readme
asuessenbach
2016-02-24 13:54:53 +01:00
fab1131447Update README.md with tiny code samples on how to use the new C++ objects
Markus Tavenrath
2016-02-23 19:26:28 +01:00
cb9a5450b6Merge pull request #38 from asuessenbach/vkcpp_classes
Markus Tavenrath
2016-02-23 13:53:31 +01:00
524ebc9ff9Introduced wrapper classes for handles, moved handle related functions into those classes; introduced exceptions for error handling.
Andreas Süßenbach
2016-02-22 15:27:08 +01:00
fc74dc9214Merge pull request #22 from mtavenrath/scopedEnums
asuessenbach
2016-02-19 15:56:28 +01:00
ba67848d0bAdd scoped enums for flags without enum values to ensure type safety for all enums
Markus Tavenrath
2016-02-19 12:56:38 +01:00
ce702938a8Merge pull request #21 from mtavenrath/getString
Markus Tavenrath
2016-02-18 13:57:36 +01:00