ErupteD is based on D-Vulkan, but goes further:
* Platform surface extensions
* DerelictLoader for Posix Systems
* With respect to [API without
Secrets](https://software.intel.com/en-us/api-without-secrets-introduction-to-vulkan-part-1) D-Vulkan function loading system is partially broken
Why another project?
I did submit pull requests to D-Vulkan, but so far they are
ignored. However I feel that my edits add value to the bindings.
ErupteD is only partially tested, as I don't have:
1.) any posix system available (or android for that matter)
2.) A Multi-Vulkan-Device System (e.g. APU and GPU)
For the interested reader:
1.) When presenting content to a window vulkan relies on platform
specific sources (or some other platform independent mechanism,
e.g. glfw3). In case of windows these sources can be found in
phobos, but I don't know where to find and how to supply them in
the other cases (posix and android). Hence I just used the same
names found in the vk_platform.h file for imports (more details
in the README.md). Please inform me if those imports point to the
right modules paths, if any.
2.) Vulkan functions can be loaded in two ways, a) through the
instance and b) through the logical device. Former gets all
functions for all found devices, but when calling them they will
be internally dispatched to the proper device. Later gets the
functions for one device, these functions don't have the dispatch
indirection. In theory, loading the functions a second time for a
different logical device should overwrite the functions of the
previously loaded device functions, but as I don't have a
multi-device system I can't be sure. It would be nice if anybody
could test this functionality (again more details in the
README.md) with the supplied devices.d example.
I will open up a discussion thread for that.