rfc | title | author | discussions-to | status |
---|---|---|---|---|
3 |
Removing support for Vulkan |
Colin Davidson <colin.davidson@codeplay.com> |
draft |
Table of Contents
* Table of Contents {:toc}Vulkan API is incomplete and requires installing Vulkan SDK, as well as being enabled by default. It has a maintenance and design overhead and is not being used, as well as leading to customer confusion. It is proposed that it should be removed in its entirety.
Support for Vulkan is incomplete and cannot be used for full Vulkan support. It
is not being used anywhere at present and leads to requirement on installing the
Vulkan SDK in order to build OCK. This is also enabled by default and has led to
confusion among users of OCK, particularly in the requirements for building. It also
leads to strange dependency such as the mutex which doesn't really belong in the
compiler_pipeline
passes.
By removing it altogether this avoids any confusion on the part of the user and reduces the maintenance overhead.
Remove everything under source/vk and from all documentation that refers to it, as well as any github workflow or docker requirements such as installing the vulkan SDK. This should also be reflected in the CHANGELOG.md file ready for the release notes.
Since the Vulkan API will no longer be supported, there will be no backward compatibility in this regard. However the default build will still work for the OpenCL API, so current customers are unlikely to be affected.
None
This should be added to the next release notes.
The reference implementation is here. Note this makes the majority of the changes necessary, but is not complete and there are some TODOs to check.
We could keep it as is but have it disabled by default and only test it in our nightly testing. Although this has its merits, the author feels that Vulkan is of little benefit as is and we would get an overall lowering of our maintenance by dropping it altogether. Having something but not testing it leads to bitrot and inability to know whether a change breaks anything. We could do a very specific test overnight though as a possibility if we want to keep it disabled by default.
None
None
This document is placed in the public domain or under the CC0-1.0-Universal license, whichever is more permissive.