page.title=Vulkan
@jd:body

<!--
    Copyright 2016 The Android Open Source Project

    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.
-->
<div id="qv-wrapper">
  <div id="qv">
    <h2>In this document</h2>
    <ol id="auto-toc">
    </ol>
  </div>
</div>

<p>Android 7.0 adds support for
<a href="https://www.khronos.org/vulkan/">Vulkan</a>, a low-overhead,
cross-platform API for high-performance 3D graphics. Like OpenGL ES, Vulkan
provides tools for creating high-quality, real-time graphics in applications.
Vulkan advantages include reductions in CPU overhead and support for the
<a href="https://www.khronos.org/spir">SPIR-V Binary Intermediate</a> language.
</p>

<p>System on chip vendors (SoCs) such as GPU Independent Hardware Vendors (IHVs)
can write Vulkan drivers for Android; OEMs simply need to integrate these
drivers for specific devices. For details on how a Vulkan driver interacts with
the system, how GPU-specific tools should be installed, and Android-specific
requirements, see <a href="{@docRoot}devices/graphics/implement-vulkan.html">Implementing
Vulkan.</a></p>

<p>Application developers can take advantage of Vulkan to create apps that
execute commands on the GPU with significantly reduced overhead. Vulkan also
provides a more direct mapping to the capabilities found in current graphics
hardware, minimizing opportunities for driver bugs and reducing developer
testing time (e.g. less time required to troubleshoot Vulkan bugs).</p>

<p>For general information on Vulkan, refer to the
<a href="http://khr.io/vulkanlaunchoverview">Vulkan Overview</a> or see the list
of <a href="#resources">Resources</a> below.</p>

<h2 id=vulkan_components>Vulkan components</h2>
<p>Vulkan support includes the following components:</p>
<p><img src="{@docRoot}devices/graphics/images/ape_graphics_vulkan.png"></p>
<p class=img-caption>Figure 1: Vulkan components</p>

<ul>
<li><strong>Vulkan Validation Layers</strong> (<em>provided in the Android
NDK</em>). A set of libraries used by developers during the development of
Vulkan apps. The Vulkan runtime library and the Vulkan driver from graphics
vendors do not contain runtime error-checking to keep Vulkan runtime efficient.
Instead, the validation libraries are used (only during development) to find
errors in an application's use of the Vulkan API. The Vulkan Validation
libraries are linked into the app during development and perform this error
checking. After all API usage issues are found, the aplication no longer needs
to include these libraries in the app.</li>
<li><strong>Vulkan Runtime </strong><em>(provided by Android)</em>. A native
library <code>(libvulkan.so</code>) that provides a new public native API
called <a href="https://www.khronos.org/vulkan">Vulkan</a>. Most functionality
is implemented by a driver provided by the GPU vendor; the runtime wraps the
driver, provides API interception capabilities (for debugging and other
developer tools), and manages the interaction between the driver and platform
dependencies such as BufferQueue.</li>
<li><strong>Vulkan Driver </strong><em>(provided by SoC)</em>. Maps the Vulkan
API onto hardware-specific GPU commands and interactions with the kernel
graphics driver.</li>
</ul>

<h2 id=modified_components>Modified components</h2>
<p>Android 7.0 modifies the following existing graphics components to support
Vulkan:</p>

<ul>
<li><strong>BufferQueue</strong>. The Vulkan Runtime interacts with the existing
BufferQueue component via the existing <code>ANativeWindow</code> interface.
Includes minor modifications (new enum values and new methods) to
<code>ANativeWindow</code> and BufferQueue, but no architectural changes.</li>
<li><strong>Gralloc HAL</strong>. Includes a new, optional interface for
discovering whether a given format can be used for a particular
producer/consumer combination without actually allocating a buffer.</li>
</ul>

<p>For details on these components, see
<a href="{@docRoot}devices/graphics/arch-bq-gralloc.html">BufferQueue and
gralloc</a> (for details on <code>ANativeWindow</code>, see
<a href="{@docRoot}devices/graphics/arch-egl-opengl.html">EGLSurface and OpenGL
ES</a>).

<h2 id=apis>Vulkan API</h2>
<p>The Android platform includes an
<a href="https://developer.android.com/ndk/guides/graphics/index.html">Android-specific
implementation</a> of the <a href="https://www.khronos.org/vulkan/">Vulkan API
specification</a> from the Khronos Group. Android applications must use the
<a href="{@docRoot}devices/graphics/implement-vulkan.html#wsi">Window System
Integration (WSI) extensions</a> to output their rendering.</p>

<h2 id=resources>Resources</h2>
<p>Use the following resources to learn more about Vulkan:</p>
<ul>

<li>
<a href="https://googleplex-android.git.corp.google.com/platform/frameworks/native/+/nyc-dr1-release/vulkan/#">Vulkan
Loader </a>(libvulkan.so) at <code>platform/frameworks/native/vulkan</code>.
Contains Android's Vulkan loader, as well as some Vulkan-related tools useful to
platform developers.</li>

<li><a href="https://android.googlesource.com/platform/frameworks/native/+/master/vulkan/doc/implementors_guide/implementors_guide.html">Vulkan
Implementor's Guide</a>. Intended for GPU IHVs writing Vulkan drivers for
Android and OEMs integrating those drivers for specific devices. It describes
how a Vulkan driver interacts with the system, how GPU-specific tools should be
installed, and Android-specific requirements.</li>

<li><a href="https://developer.android.com/ndk/guides/graphics/index.html">Vulkan
Graphics API Guide</a>. Includes information on getting started with using
Vulkan in an Android app, details on Vulkan design guidelines on the Android
platform, how to use Vulkan's shader compilers, and how to use use validation
layers to help assure stability in apps using Vulkan.</li>

<li><a href="https://www.khronos.org/#slider_vulkan">Vulkan News</a>. Covers
events, patches, tutorials, and more Vulkan-related news articles.</li>
</ul>
