112 lines
4.5 KiB
Plaintext
112 lines
4.5 KiB
Plaintext
// Copyright (c) 2014-2016 Khronos Group. This work is licensed under a
|
|
// Creative Commons Attribution 4.0 International License; see
|
|
// http://creativecommons.org/licenses/by/4.0/
|
|
|
|
VkImageCreateInfo(3)
|
|
====================
|
|
|
|
Name
|
|
----
|
|
VkImageCreateInfo - Structure specifying the parameters of a newly created image object.
|
|
|
|
C Specification
|
|
---------------
|
|
|
|
// refBegin VkImageCreateInfo Structure specifying the parameters of a newly created image object.
|
|
|
|
The sname:VkImageCreateInfo structure is defined as:
|
|
|
|
include::../api/structs/VkImageCreateInfo.txt[]
|
|
|
|
|
|
Members
|
|
-------
|
|
|
|
* pname:sType is the type of this structure.
|
|
* pname:pNext is `NULL` or a pointer to an extension-specific structure.
|
|
* pname:flags is a bitmask describing additional parameters of the image.
|
|
See elink:VkImageCreateFlagBits below for a description of the supported
|
|
bits.
|
|
* pname:imageType is a elink:VkImageType specifying the basic
|
|
dimensionality of the image, as described below. Layers in array
|
|
textures do not count as a dimension for the purposes of the image type.
|
|
* pname:format is a elink:VkFormat describing the format and type of the
|
|
data elements that will be contained in the image.
|
|
* pname:extent is a slink:VkExtent3D describing the number of data
|
|
elements in each dimension of the base level.
|
|
* pname:mipLevels describes the number of levels of detail available for
|
|
minified sampling of the image.
|
|
* pname:arrayLayers is the number of layers in the image.
|
|
* pname:samples is the number of sub-data element samples in the image as
|
|
defined in elink:VkSampleCountFlagBits. See
|
|
<<primsrast-multisampling,Multisampling>>.
|
|
* pname:tiling is a elink:VkImageTiling specifying the tiling arrangement
|
|
of the data elements in memory, as described below.
|
|
* pname:usage is a bitmask describing the intended usage of the image.
|
|
See elink:VkImageUsageFlagBits below for a description of the supported
|
|
bits.
|
|
* pname:sharingMode is the sharing mode of the image when it will be
|
|
accessed by multiple queue families, and must: be one of the values
|
|
described for elink:VkSharingMode in the <<resources-sharing,Resource
|
|
Sharing>> section below.
|
|
* pname:queueFamilyIndexCount is the number of entries in the
|
|
pname:pQueueFamilyIndices array.
|
|
* pname:pQueueFamilyIndices is a list of queue families that will
|
|
access this image (ignored if pname:sharingMode is not
|
|
ename:VK_SHARING_MODE_CONCURRENT).
|
|
* pname:initialLayout selects the initial elink:VkImageLayout state of all
|
|
image subresources of the image. See <<resources-image-layouts,Image
|
|
Layouts>>. pname:initialLayout must: be ename:VK_IMAGE_LAYOUT_UNDEFINED
|
|
or ename:VK_IMAGE_LAYOUT_PREINITIALIZED.
|
|
|
|
|
|
Description
|
|
-----------
|
|
|
|
Valid limits for the image pname:extent, pname:mipLevels, pname:arrayLayers
|
|
and pname:samples members are queried with the
|
|
flink:vkGetPhysicalDeviceImageFormatProperties command.
|
|
|
|
Images created with pname:tiling equal to ename:VK_IMAGE_TILING_LINEAR have
|
|
further restrictions on their limits and capabilities compared to images
|
|
created with pname:tiling equal to ename:VK_IMAGE_TILING_OPTIMAL. Creation
|
|
of images with tiling ename:VK_IMAGE_TILING_LINEAR may: not be supported
|
|
unless other parameters meet all of the constraints:
|
|
|
|
* pname:imageType is ename:VK_IMAGE_TYPE_2D
|
|
* pname:format is not a depth/stencil format
|
|
* pname:mipLevels is 1
|
|
* pname:arrayLayers is 1
|
|
* pname:samples is ename:VK_SAMPLE_COUNT_1_BIT
|
|
* pname:usage only includes ename:VK_IMAGE_USAGE_TRANSFER_SRC_BIT
|
|
and/or ename:VK_IMAGE_USAGE_TRANSFER_DST_BIT
|
|
|
|
Implementations may: support additional limits and capabilities beyond those
|
|
listed above. To determine the specific capabilities of an implementation,
|
|
query the valid pname:usage bits by calling
|
|
flink:vkGetPhysicalDeviceFormatProperties and the valid limits for
|
|
pname:mipLevels and pname:arrayLayers by calling
|
|
flink:vkGetPhysicalDeviceImageFormatProperties.
|
|
|
|
include::../validity/structs/VkImageCreateInfo.txt[]
|
|
|
|
|
|
See Also
|
|
--------
|
|
|
|
slink:VkExtent3D, elink:VkFormat, elink:VkImageCreateFlags, elink:VkImageLayout, elink:VkImageTiling, elink:VkImageType, elink:VkImageUsageFlags, elink:VkSampleCountFlagBits, elink:VkSharingMode, elink:VkStructureType, flink:vkCreateImage
|
|
|
|
|
|
Document Notes
|
|
--------------
|
|
|
|
For more information, see the Vulkan Specification at URL
|
|
|
|
https://www.khronos.org/registry/vulkan/specs/1.0/xhtml/vkspec.html#VkImageCreateInfo
|
|
|
|
This page is extracted from the Vulkan Specification.
|
|
Fixes and changes should be made to the Specification,not directly.
|
|
|
|
include::footer.txt[]
|
|
|