Package club.doki7.vulkan.bitmask
package club.doki7.vulkan.bitmask
Bitmask (flags) types of Vulkan API.
Quick start
In vulkan4j ecosystem, we don't use Java class types to represent bitmask types.
We will be still using Java integers (int or long), also
club.doki7.ffm.ptr types when representing pointer to or array of bitmasks.
In order to tell what bitmask type an integral value represents, we use the annotation
@EnumType. For example:
public record VkBufferCreateInfo(MemorySegment segment) {
@Bitmask(VkBufferUsageFlags.class) int usage() {
// implementation omitted
}
void usage(@Bitmask(VkBufferUsageFlags.class) int value) {
// implementation omitted
}
// ...
}
The @EnumType annotation provides useful in-IDE and
JavaDoc links, so you can Ctrl-Click on the annotation argument to jump to the definition of the
bitmask type.
Also, there's a handy explain function to explain a bitmask integral value. For example:
VkBufferUsageFlags.explain(someFlags)
-
ClassesClassDescription