-
Notifications
You must be signed in to change notification settings - Fork 669
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Convert markdown documentation to asciidoc #765
Merged
marty-johnson59
merged 20 commits into
KhronosGroup:main
from
SaschaWillems:asciidoc_conversion
Aug 14, 2023
Merged
Changes from 18 commits
Commits
Show all changes
20 commits
Select commit
Hold shift + click to select a range
7b94e8c
Converted markdown to asciidoc
SaschaWillems c951e85
Corrected links from .md to .adoc
SaschaWillems d7a6025
Remove conversion script
SaschaWillems 9c1eb2f
Replaced markdown in sample template with asciidoc
SaschaWillems 55a6a76
Fix link to sample creation
SaschaWillems 4737934
Fixed broken link to AMD presentation
SaschaWillems 6b150bc
Revert conversion of pull request template from markdown to asciidoc
SaschaWillems 67c4c78
Fix asciidoc formatting issues
SaschaWillems 118132a
Fix asciidoc formatting issues
SaschaWillems 17d3bdb
Fixed link
SaschaWillems d010d8d
Fixed copyrights
SaschaWillems 55f8f64
Merge branch 'main' into asciidoc_conversion
SaschaWillems 0519282
Applied latest markdown changes to asciidoc files
SaschaWillems 6da06f6
Adjust image links
SaschaWillems 28d2fe0
Adjust image links
SaschaWillems 8a44db3
Adjust image links
SaschaWillems 8d81196
Adjust image links
SaschaWillems d464319
Adjust image links
SaschaWillems 50fbcd8
Fixed images
SaschaWillems 18bc1c5
Fix link to proposal
SaschaWillems File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,152 @@ | ||
//// | ||
- Copyright (c) 2019-2023, Arm Limited and Contributors | ||
- | ||
- SPDX-License-Identifier: Apache-2.0 | ||
- | ||
- Licensed under the Apache License, Version 2.0 the "License"; | ||
- you may not use this file except in compliance with the License. | ||
- You may obtain a copy of the License at | ||
- | ||
- http://www.apache.org/licenses/LICENSE-2.0 | ||
- | ||
- Unless required by applicable law or agreed to in writing, software | ||
- distributed under the License is distributed on an "AS IS" BASIS, | ||
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
- See the License for the specific language governing permissions and | ||
- limitations under the License. | ||
- | ||
//// | ||
= Contributing | ||
:pp: {plus}{plus} | ||
|
||
Contributions are encouraged! | ||
This repository welcomes samples of the following types: | ||
|
||
* Vulkan API Usage | ||
* Vulkan Extension Usage | ||
* Vulkan Best Practices and/or Performance Guidance | ||
* Unique Vulkan use case or project | ||
|
||
If you have a sample that demonstrates Vulkan like any of the above points, then consider contributing to the Vulkan samples repository. | ||
|
||
Before you start, check out the requirements and guidelines below. | ||
Following these guidelines can help ensure that your contribution ends up being approved by reviewers and most importantly becomes a valuable addition to the Vulkan Samples repository. | ||
|
||
== Repository Structure | ||
|
||
|=== | ||
| folder | description | ||
|
||
| `/samples/api/` | ||
| folder containing samples that demonstrate API usage | ||
|
||
| `/samples/extensions/` | ||
| folder containing samples that demonstrate API Extensions usage | ||
|
||
| `/samples/performance/` | ||
| folder containing samples that demonstrate performance best-practices | ||
|
||
| `/shaders/` | ||
| folder containing shaders used by the samples | ||
|
||
| `/assets/` | ||
| GIT sub-module with models, scenes and fonts | ||
|
||
| `/third_party/` | ||
| folder with commonly used external libraries | ||
|=== | ||
|
||
== Creating a sample | ||
|
||
Follow xref:docs/create_sample.adoc[this guide] to create a dummy sample and associated build files automatically. | ||
This new sample will be based on the framework of wrapper classes that provide an optimized and convenient system to manage Vulkan objects. | ||
|
||
== General Requirements | ||
|
||
* Sample folder and description: | ||
** Each sample must be placed in a separate sub-folder within `/samples/api/`, `/samples/performance/` or `/samples/extensions/`. | ||
** Each sample should use a short folder name, using snake_case, that best describes the sample. | ||
** Each sample must be well-documented, include a README.adoc file and ideally include a tutorial file in the root of the sample's folder with a detailed explanation of the sample and a 'best-practice' summary if applicable. | ||
Any images used in the tutorial should be stored in an images/ sub-folder in the sample folder. | ||
* Vendor samples: | ||
** By default each sample is assumed to run on all supported platforms. | ||
Otherwise note any platform restrictions in the sample's documentation. | ||
** If a sample is vendor-specific (i.e. | ||
only runs on certain hardware) please add a `TAG` with the vendor's name in the sample's `CMakeLists.txt`. | ||
* Framework: | ||
** Make use of the available framework whenever possible. | ||
** Do not introduce any new wrapper code. | ||
If what you need is not already a part of the framework, please extend it rather than introduce anything new. | ||
** Alternatively you may use raw Vulkan API calls. | ||
* Code and assets: | ||
** Single source file samples with minimal build complexity are encouraged to make porting to different platforms easier. | ||
** Compiling the sample with the highest warning level and warnings-as-errors (-Wall -Wextra -Werror, or /Wall /WX) is highly recommended. | ||
** Shaders are saved in the `/shaders/` folder, in a separate sub-folder with the same name as the sample sub-folder in `/samples/api/`, `/samples/performance/` or `/samples/extensions/`. | ||
** Assets should be saved in https://github.com/KhronosGroup/Vulkan-Samples-Assets[vulkan-samples-assets]. | ||
* License: | ||
** Samples are licensed under the link:LICENSE[LICENSE] file in the root folder. | ||
** The current Contributor License Agreement (CLA) only allows samples to be licensed under the Apache 2.0 license. | ||
** Every source code file must have a Copyright notice and license at the top of the file as described below. | ||
** Assets must have their own license. | ||
* Third party libraries: | ||
** A sample may not depend on a separate installation of a third party library. | ||
** Any third party library that is used needs to be available under a compatible open source license i.e. | ||
MIT or Apache 2.0. | ||
** Any third party library that is used must be included as a sub-module in the `/third_party/` folder. | ||
|
||
== Copyright Notice and License Template | ||
|
||
To apply the Apache 2.0 License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information for the copyright year or years. | ||
_Don't include the brackets!_ The text should be enclosed in the appropriate comment syntax for the file format. | ||
We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. | ||
When contributing to an existing file you may add a new copyright year line under the existing ones. | ||
|
||
.... | ||
Copyright [yyyy] [name of copyright owner] | ||
|
||
Licensed under the Apache License, Version 2.0 (the "License"); | ||
you may not use this file except in compliance with the License. | ||
You may obtain a copy of the License at | ||
|
||
http://www.apache.org/licenses/LICENSE-2.0 | ||
|
||
Unless required by applicable law or agreed to in writing, software | ||
distributed under the License is distributed on an "AS IS" BASIS, | ||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
See the License for the specific language governing permissions and | ||
limitations under the License. | ||
.... | ||
|
||
== Code Style | ||
|
||
A common code style like, for instance, the one described by the https://google.github.io/styleguide/cppguide.html[Google C{pp} Style Guide] is recommended. | ||
A sample must consistently apply a single code style. | ||
|
||
A `.clang-format` file is included with this repository, please use `clang-format -style=file` to verify the code style. | ||
Ensure that you are using clang-format 8. | ||
|
||
== Procedure for Contributing | ||
|
||
. Fork the KhronosGroup/Vulkan-Samples repository. | ||
. Add the contribution to the new fork (see <<creating-a-sample,Creating a sample>>). | ||
. Make sure the above requirements are met. | ||
. Make sure the sample is in compliance with the Vulkan specification. | ||
. Make sure the sample code builds and runs on Windows, Linux, macOS and Android. | ||
If you cannot verify on all these target platforms, please note platform restrictions in the sample's README. | ||
. Verify the sample against a recent version of the Vulkan validation layers, either built from source or from the most recent available Vulkan SDK. | ||
. Submit a <<creating-a-pull-request,pull request>> for the contribution, including electronically signing the Khronos Contributor License Agreement (CLA) for the repository using CLA-Assistant. | ||
|
||
== Creating a Pull Request | ||
|
||
When you create your pull request, ensure the description is created with xref:docs/pull_request_template.md[this template], and then fill out the relative information. | ||
|
||
== Code Reviews | ||
|
||
All submissions, including those by project members, are subject to a code review by the Khronos Membership. | ||
GitHub pull requests are used to facilitate the review process, please submit a pull request with your contribution ready for review. | ||
For more information on the review process visit this https://github.com/KhronosGroup/Vulkan-Samples/wiki/Review-Process[link]. | ||
|
||
== Maintenance | ||
|
||
Once a new sample is merged the author is expected to maintain it whenever possible. | ||
Otherwise they should identify a new maintainer that has agreed to take on the responsibility. |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is clang-format 8 still the correct version?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure. This is just a conversion (and some minor fixes) of the current documentation. If this is outdated it would be best to fix it with the current markdown and I'll merge that change.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
15 is the correct version. We should do a documentation pass separate to this PR