Vulkan Validation Layers Repository Management

Open Source Project – Objectives

  • Alignment with the Vulkan Specification
    • The goal is for validation layer behavior to enforce the vulkan specification on applications. Questions on specification interpretations may require consulting with the Khronos Vulkan Workgroup for resolution
  • ISV Enablement
    • Updates of validation layer functionality should be available in a timely fashion
    • Every effort will be made to be responsive to ISV issues with validation layers
  • Cross Platform Compatibility
    • Google and LunarG collaboration:
      • Google: Monitor for Android
      • LunarG: Monitor for desktop (Windows and Linux)
      • Continuous Integration: HW test farms operated by Google and LunarG monitor various hardware/software platforms
  • Repo Quality
    • Repo remains in healthy state with all tests passing and good-quality, consistent codebase
    • Continuous Integration: Along with Github, HW test farms operated by Google and LunarG perform pre-commit cloud testing on pull-requests

Roles and Definitions

  • Contributor, Commenter, User
    • Submitting contributions, creating issues, or using the contents of the repository
  • Approver
    • Experienced project members who have made significant technical contributions
    • Write control: Approve pull/merge requests (verify submissions vs. acceptance criteria)
  • Technical Project Leads
    • Lead the project in terms of versioning, quality assurance, and overarching objectives
    • Monitor github issues and drive timely resolution
    • Designate new approvers
    • Ensure project information such as the Readme, Contributing docs, wiki, etc., kept up-to-date
    • Act as a facilitator in resolving technical conflicts
    • Is a point-of-contact for project-related questions

The technical project leads for this repository are:

Acceptance Criteria and Process

  • All source code to include Khronos copyright and license (Apache 2.0).
    • Additional copyrights of contributors appended
  • Contributions are via pull requests
    • Project leads will assigning approvers to contributor pull requests
    • Approvers can self-assign their reviewers
    • For complex or invasive contributions, Project Leads may request approval from specific reviewers
    • At least one review approval is required to complete a pull request
    • The goal is to be responsive to contributors while ensuring acceptance criteria is met and to facilitate their submissions
    • Approval is dependent upon adherence to the guidelines in CONTRIBUTING.md, and alignment with repository goals of maintainability, completeness, and quality
    • Conflicts or questions will ultimately be resolved by the project leads