[meta] Improve documentation of Mesa basics for new contributors
We could definitely make some improvements to our documentations when it comes to "first steps for someone who know how to write code but doesn't know Mesa".
As @alyssa mentioned on IRC, dEQP's documentation isn't exactly beginner-friendly either, so we could include a simple version of that, as well as piglit and other test suites.
Content ideas:
- how to build and run tests, to verify changes: dEQP and piglit at least, and anholt's parallel runners (including how to get a drivers' skip/fail/flake lists, so contributors can tell apart their own bugs from pre-existing issues); mention how to use
meson devenv
and/or how to set up env vars for non-system installs - explanation of common code vs driver code: how it's organised in gallium and in vulkan, src/compiler/ vs src/vendor/compiler/, where different kinds of changes should be done
- how to use drm-shim to work on compiler changes when you don't have the hardware
- ...
Each driver should also try to document:
- its main components (compiler, helper libs, vulkan driver, gl driver)
- where the hardware documentation can be found (if applicable
🤞 )
Parts of the above are themselves beginner-friendly tasks (for some value of $beginner
); contributions to our documentation are always welcome, so don't hesitate to post an MR explaining to the next person what you just figured out how to do :)
Our documentation is in docs/
in this repo, and is published on docs.mesa3d.org. Feel free to ping me (by including @eric
in your MR or a comment) if you don't know who else to ping for review.