Modify README.md to direct developers to Vulkan SDK.

This commit is contained in:
Bill Hollings 2019-02-08 19:36:52 -05:00
parent 94404ae0da
commit 677f2cb9be

View File

@ -17,37 +17,47 @@ For best results, use a Markdown reader.*
Table of Contents Table of Contents
----------------- -----------------
- [About This Document](#about_this) - [Developing Vulkan Applications on macOS and iOS](#developing_vulkan)
- [Introduction](#intro) - [Introduction to **MoltenVK**](#intro)
- [Installing **MoltenVK**](#install) - [Fetching **MoltenVK** Source Code](#install)
- [Building **MoltenVK**](#building) - [Building **MoltenVK**](#building)
- [Running the **MoltenVK** Demo Applications](#demos) - [Running the **MoltenVK** Demo Applications](#demos)
- [Using **MoltenVK** in Your Application](#using) - [Using **MoltenVK** in Your Application](#using)
- [**MoltenVK** and *Vulkan* Compliance](#compliance) - [**MoltenVK** and *Vulkan* Compliance](#compliance)
- [Reporting Issues](#issues)
- [Contributing to **MoltenVK** Development](#contributing) - [Contributing to **MoltenVK** Development](#contributing)
<a name="about_this"></a> <a name="developing_vulkan"></a>
About This Document Developing Vulkan Applications for macOS and iOS
------------------- ------------------------------------------------
This document describes how to use the **MoltenVK** open-source repository to build a **MoltenVK** The recommended method for developing a *Vulkan* application for *macOS* is to use the
runtime distribution package. [*Vulkan SDK*](https://vulkan.lunarg.com/sdk/home).
To learn how to integrate the **MoltenVK** runtime into a game or application, see the The *Vulkan SDK* includes a **MoltenVK** runtime library for *macOS*. *Vulkan* is a layered
[`Docs/MoltenVK_Runtime_UserGuide.md `](Docs/MoltenVK_Runtime_UserGuide.md) document in the `Docs` directory. architecture that allows applications to add additional functionality without modifying the
application itself. The *Validation Layers* included in the *Vulkan SDK* are an essential debugging
tool for application developers because they identify inappropriate use of the *Vulkan API*.
If you are developing a *Vulkan* application for *macOS*, it is highly recommended that you use the
[*Vulkan SDK*](https://vulkan.lunarg.com/sdk/home) and the **MoltenVK** library included in it.
If you are just looking for a pre-built **MoltenVK** runtime binary, you can download it as part of the If you are developing a *Vulkan* application for *iOS*, or are developing a *Vulkan* application for
[*LunarG SDK*](https://vulkan.lunarg.com). *macOS* and want to use a different **MoltenVK** runtime library than provided in the *macOS Vulkan SDK*,
you can use this document to learn how to build a **MoltenVK** runtime library from source code.
To learn how to integrate the **MoltenVK** runtime library into a game or application,
see the [`MoltenVK_Runtime_UserGuide.md `](Docs/MoltenVK_Runtime_UserGuide.md)
document in the `Docs` directory.
<a name="intro"></a> <a name="intro"></a>
Introduction Introduction to MoltenVK
------------ ------------------------
**MoltenVK** is an implementation of the [*Vulkan 1.0*](https://www.khronos.org/vulkan) **MoltenVK** is a driver-level implementation of the [*Vulkan 1.0*](https://www.khronos.org/vulkan)
graphics and compute API, that runs on Apple's [*Metal*](https://developer.apple.com/metal) graphics and compute API, that runs on Apple's [*Metal*](https://developer.apple.com/metal)
graphics and compute framework on both *iOS* and *macOS*. graphics and compute framework on both *iOS* and *macOS*.
@ -64,9 +74,9 @@ publicly available API's, including *Metal*. **MoltenVK** does **_not_** use any
undocumented API calls or features, so your app will be compatible with all standard distribution undocumented API calls or features, so your app will be compatible with all standard distribution
channels, including *Apple's App Store*. channels, including *Apple's App Store*.
**MoltenVK** contains two products: The **MoltenVK** runtime package contains two products:
- **MoltenVK** is an implementation of the [*Vulkan 1.0*](https://www.khronos.org/vulkan) - **MoltenVK** is a driver-level implementation of the [*Vulkan 1.0*](https://www.khronos.org/vulkan)
graphics and compute API. graphics and compute API.
- **MoltenVKShaderConverter** converts *SPIR-V* shader code to *Metal Shading Language (MSL)* - **MoltenVKShaderConverter** converts *SPIR-V* shader code to *Metal Shading Language (MSL)*
@ -79,12 +89,12 @@ channels, including *Apple's App Store*.
<a name="install"></a> <a name="install"></a>
Installing **MoltenVK** Fetching **MoltenVK** Source Code
----------------------- ---------------------------------
To install **MoltenVK**, clone this `MoltenVK` repository, and then run the To fetch **MoltenVK** source code, clone this `MoltenVK` repository, and then run the
`fetchDependencies` script to retrieve and build several external `fetchDependencies` script to retrieve and build several external open-source libraries
open-source libraries on which **MoltenVK** relies: on which **MoltenVK** relies:
1. Ensure you have `cmake` and `python3` installed: 1. Ensure you have `cmake` and `python3` installed:
@ -237,7 +247,7 @@ native driver on *macOS* and *iOS* platforms. *Vulkan* compliance may fall into
there is no practical, or reasonably performant, mechanism to implement a *Vulkan* capability in *Metal*. there is no practical, or reasonably performant, mechanism to implement a *Vulkan* capability in *Metal*.
Because of design differences between *Vulkan* and *Metal*, a very small amount of capability falls into this Because of design differences between *Vulkan* and *Metal*, a very small amount of capability falls into this
category, and at present **MoltenVK** is **_not_** fully compliant with the *Vulkan* specification. A list of category, and at present **MoltenVK** is **_not_** fully compliant with the *Vulkan* specification. A list of
known limitations is documented in the [`Docs/MoltenVK_Runtime_UserGuide.md`](Docs/MoltenVK_Runtime_UserGuide.md#limitations) known limitations is documented in the [`MoltenVK_Runtime_UserGuide.md`](Docs/MoltenVK_Runtime_UserGuide.md#limitations)
document in the `Docs` directory. document in the `Docs` directory.
The **MoltenVK** development team welcomes you to [post Issues](https://github.com/KhronosGroup/MoltenVK/issues) The **MoltenVK** development team welcomes you to [post Issues](https://github.com/KhronosGroup/MoltenVK/issues)
@ -251,6 +261,19 @@ their *Vulkan* apps for maximum cross-platform compatibility and portability, in
<a name="issues"></a>
Reporting Issues
----------------
- If you encounter an issue with the behaviour of **MoltenVK**, you can report it in the
[*MoltenVK Issues List*](https://github.com/KhronosGroup/MoltenVK/issues).
- If you encounter an issue with the *Vulkan SDK*, including the *Validation Layers*, you can report it in the
[*Vulkan SDK Issues List*](https://vulkan.lunarg.com/issue/home).
<a name="contributing"></a> <a name="contributing"></a>
Contributing to **MoltenVK** Development Contributing to **MoltenVK** Development