@@ -80,6 +80,41 @@ namespace magma
80
80
}
81
81
};
82
82
83
+ // /
84
+ // / \brief Constructs a CreateInfo struct using the given arguments
85
+ // /
86
+ // / If present, `stype` and `pnext` are auto-filled by vulkan-hpp, and should not be given
87
+ // / Lists are automaticly decomposed into a (size, pointer) pair
88
+ // / Supported list types are:
89
+ // / - std::array
90
+ // / - std::vector
91
+ // / - magma::SingleValListRef (should be created using asListRef)
92
+ // / - magma::EmptyList (passes (0, nullptr))
93
+ // /
94
+ template <class CreateInfo , class ... T>
95
+ constexpr CreateInfo makeCreateInfo (T &&... args)
96
+ {
97
+ return StructBuilder<CreateInfo>::make (std::forward<T>(args)...);
98
+ }
99
+
100
+ // /
101
+ // / \brief Constructs a CreateInfo struct using the given arguments
102
+ // /
103
+ // / If present, `stype` and `pnext` are auto-filled by vulkan-hpp, and should not be given
104
+ // / `flags` is set to `{}` (aka 0 in the C API) contrary to `magma::makeCreateInfo`
105
+ // / Lists are automaticly decomposed into a (size, pointer) pair
106
+ // / Supported list types are:
107
+ // / - std::array
108
+ // / - std::vector
109
+ // / - magma::SingleValListRef (should be created using asListRef)
110
+ // / - magma::EmptyList (passes (0, nullptr))
111
+ // /
112
+ template <class CreateInfo , class ... T>
113
+ constexpr CreateInfo makeCreateInfoNoFlags (T &&... args)
114
+ {
115
+ return StructBuilder<CreateInfo, true >::make (std::forward<T>(args)...);
116
+ }
117
+
83
118
template <class T >
84
119
constexpr auto asListRef (T const &val) noexcept
85
120
{
0 commit comments