You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

103 lines
4.1 KiB

/*
This file is part of Magnum.
Copyright © 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019,
2020, 2021 Vladimír Vondruš <mosra@centrum.cz>
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
*/
namespace Magnum {
/** @page vulkan Vuulkan
@brief State of Vulkan support, version and extension requirements.
6 years ago
@m_since_latest
The following table maps Vulkan function names to Magnum API, useful for
developers with existing Vulkan background. Note that, as reverse mapping, each
function documentation also contains list of Vulkan functions used. You can
also use the search functionality to find out which Vulkan API corresponds to
which Magnum function, class or enum value. Just enter name of an Vulkan
function, define or GLSL name into the search box.
- @subpage vulkan-mapping
State of implementation of particular Vulkan versions and extensions is in the
following table.
- @subpage vulkan-support
@section vulkan-required-extensions Version and extension requirements
The engine can work on unextended Vulkan 1.0, but some specific functionality
has greater requirements. Following are lists of features requiring specific
Vulkan version. In most cases it is also specified which extension is required,
so if a particular driver supports the required extension, it doesn't need to
have required Vulkan version too (e.g. @vk_extension{KHR,sampler_mirror_clamp_to_edge}
is usually supported everywhere, even if the drivers don't have Vulkan 1.2).
- @subpage requires-vk11
- @subpage requires-vk12
- @subpage requires-vk-extension
- @subpage requires-vk-feature
*/
/** @page requires-vk11 Functionality requiring Vulkan 1.1
@m_footernavigation
@m_since_latest
APIs listed here require a particular Vulkan version to be supported by the
instance / device or, if specified, an extension to be supported and enabled on
the instance / device using @ref Vk::InstanceCreateInfo::addEnabledExtensions()
/ @ref Vk::DeviceCreateInfo::addEnabledExtensions().
*/
/** @page requires-vk12 Functionality requiring Vulkan 1.2
@m_footernavigation
@m_since_latest
APIs listed here require a particular Vulkan version to be supported by the
instance / device or, if specified, an extension to be supported and enabled on
the instance / device using @ref Vk::InstanceCreateInfo::addEnabledExtensions()
/ @ref Vk::DeviceCreateInfo::addEnabledExtensions().
*/
/** @page requires-vk-extension Functionality requiring a specific Vulkan extension
@m_footernavigation
@m_since_latest
APIs listed here require a Vulkan extension to be supported and enabled on the
instance / device using @ref Vk::InstanceCreateInfo::addEnabledExtensions() /
@ref Vk::DeviceCreateInfo::addEnabledExtensions().
*/
/**
@page requires-vk-feature Functionality requiring a specific Vulkan feature
@m_footernavigation
@m_since_latest
APIs listed here require a Vulkan feature to be supported and enabled on the
device using @ref Vk::DeviceCreateInfo::setEnabledFeatures(). Note that some
features are coming from extensions and thus require also the corresponding
extension to be enabled.
*/
}