How to contribute to MoltenVK codebase as a beginner? #1555
-
Hello everyone, I'm a CS student with a passion in graphic technology, I use MoltenVK frequently and I would love to contribute to MoltenVK but I'm daunted by the codebase. I need someone with more experience to shed me some lights on how to do so. Is it impossible? I'm very comfortable in C++, CS fundamental knowledge but should I be more familiar with objective-c & metal before thinking about doing so? Thank you for everyone that answer to my questions. 😆 |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
We encourage contributions from anyone! If you are concerned about how to start with something you'd like to change or add, feel free to open issues or discussions to address any ideas you have first, and to discuss design approaches before committing it to code. As you can see, most of the code base is C++17, and you need to be conversant and skilled in that. Objective-C is used really only to interact with the Metal API, so you don't need to be an expert there. For our purposes here, the most important point to understand with Objective-C is the When making improvements to graphics or compute behavior, it is important that you understand how Metal works, and in particular how it overlaps and differs from Vulkan. About making the actual changes, from a process perspective, fork this repository, then create a branch to make your changes, then submit your changes as a Pull Request. Once you do submit a PR, other developers will review and make suggestions until it is ready to be merged. |
Beta Was this translation helpful? Give feedback.
We encourage contributions from anyone!
If you are concerned about how to start with something you'd like to change or add, feel free to open issues or discussions to address any ideas you have first, and to discuss design approaches before committing it to code.
As you can see, most of the code base is C++17, and you need to be conversant and skilled in that. Objective-C is used really only to interact with the Metal API, so you don't need to be an expert there. For our purposes here, the most important point to understand with Objective-C is the
retain/release
idiom to memory management, to avoid memory errors and leaks.When making improvements to graphics or compute behavior, it is im…