blob: 9421d88b8cfb874710ee514f7b464be32b0d4ea0 [file] [log] [blame] [view]
Mark Lobodzinski437e1172018-01-04 14:55:26 -07001## Vulkan Loader and Validation Layers Repository Management
2
3# **Open Source Project – Objectives**
4
5* Alignment with the Vulkan Specification
6 - The goal is for validation layer behavior to enforce the vulkan specification on applications. Questions on specification
Mark Lobodzinskid5e8c222018-01-08 08:05:37 -07007interpretations may require consulting with the Khronos Vulkan Workgroup for resolution
Mark Lobodzinski437e1172018-01-04 14:55:26 -07008 - [Core Specification](https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html)
9 - [Header Files](https://www.khronos.org/registry/vulkan/#headers)
10 - [SDK Resources](https://vulkan.lunarg.com)
11* ISV Enablement
12 - Updates of loader and validation layer functionality should be available in a timely fashion
Mark Lobodzinski437e1172018-01-04 14:55:26 -070013 - Every effort will be made to be responsive to ISV issues with validation layers
14* Cross Platform Compatibility
15 - Google and LunarG collaboration:
16 - Google: Monitor for Android
17 - LunarG: Monitor for desktop (Windows and Linux)
Mark Lobodzinski34cd2e62018-01-04 16:12:41 -070018 - Continuous Integration: HW test farms operated by Google and LunarG monitor various hardware/software platforms
Mark Lobodzinski437e1172018-01-04 14:55:26 -070019* Repo Quality
20 - Repo remains in healthy state with all tests passing and good-quality, consistent codebase
Mark Lobodzinski34cd2e62018-01-04 16:12:41 -070021 - Continuous Integration: Along with Github, HW test farms operated by Google and LunarG perform pre-commit cloud testing
22on pull-requests
Mark Lobodzinski437e1172018-01-04 14:55:26 -070023
24# **Roles and Definitions**
25* Contributor, Commenter, User
Mark Lobodzinski34cd2e62018-01-04 16:12:41 -070026 - Submitting contributions, creating issues, or using the contents of the repository
Mark Lobodzinski437e1172018-01-04 14:55:26 -070027* Approver
Mark Lobodzinskid5e8c222018-01-08 08:05:37 -070028 - Experienced project members who have made significant technical contributions
Mark Lobodzinski34cd2e62018-01-04 16:12:41 -070029 - Write control: Approve pull/merge requests (verify submissions vs. acceptance criteria)
Mark Lobodzinski437e1172018-01-04 14:55:26 -070030* Technical Project Leads
Mark Lobodzinskid5e8c222018-01-08 08:05:37 -070031 - Lead the project in terms of versioning, quality assurance, and overarching objectives
Mark Lobodzinski437e1172018-01-04 14:55:26 -070032 - Monitor github issues and drive timely resolution
Mark Lobodzinskid5e8c222018-01-08 08:05:37 -070033 - Designate new approvers
Mark Lobodzinski437e1172018-01-04 14:55:26 -070034 - Ensure project information such as the Readme, Contributing docs, wiki, etc., kept up-to-date
35 - Act as a facilitator in resolving technical conflicts
36 - Is a point-of-contact for project-related questions
37
38The technical project leads for this repository are:
39* **Mark Lobodzinski** [mark@lunarg.com](mailto:mark@lunarg.com)
40* **Tobin Ehlis** [tobine@google.com](mailto:tobine@google.com)
41
Mark Lobodzinskid5e8c222018-01-08 08:05:37 -070042# **Acceptance Criteria and Process**
43 - All source code to include Khronos copyright and license (Apache 2.0).
44 - Additional copyrights of contributors appended
Mark Lobodzinski437e1172018-01-04 14:55:26 -070045 - Contributions are via pull requests
46 - Project leads will assigning approvers to contributor pull requests
47 - Approvers can self-assign their reviewers
48 - For complex or invasive contributions, Project Leads may request approval from specific reviewers
49 - At least one review approval is required to complete a pull request
50 - The goal is to be responsive to contributors while ensuring acceptance criteria is met and to facilitate their submissions
51 - Approval is dependent upon adherence to the guidelines in [CONTRIBUTING.md](CONTRIBUTING.md), and alignment with
52repository goals of maintainability, completeness, and quality
53 - Conflicts or questions will ultimately be resolved by the project leads