Vulkan-Docs/doc/specs/vulkan/man/vkCreateDevice.txt

67 lines
1.8 KiB
Plaintext
Raw Normal View History

// 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/
2016-02-16 09:53:44 +00:00
vkCreateDevice(3)
=================
2016-02-16 09:53:44 +00:00
Name
----
vkCreateDevice - Create a new device instance.
C Specification
---------------
// refBegin vkCreateDevice Create a new device instance.
A logical device is created as a _connection_ to a physical device. To
create a logical device, call:
2016-02-16 09:53:44 +00:00
include::../protos/vkCreateDevice.txt[]
2016-02-16 09:53:44 +00:00
Parameters
----------
* pname:physicalDevice must: be one of the device handles returned from a
call to fname:vkEnumeratePhysicalDevices (see
<<devsandqueues-physical-device-enumeration, Physical Device
Enumeration>>).
* pname:pCreateInfo is a pointer to a slink:VkDeviceCreateInfo structure
containing information about how to create the device.
* pname:pAllocator controls host memory allocation as described in the
<<memory-allocation, Memory Allocation>> chapter.
* pname:pDevice points to a handle in which the created sname:VkDevice is
returned.
2016-02-16 09:53:44 +00:00
Description
-----------
Multiple logical devices can: be created from the same physical device.
Logical device creation may: fail due to lack of device-specific resources
(in addition to the other errors). If that occurs, fname:vkCreateDevice will
return ename:VK_ERROR_TOO_MANY_OBJECTS.
2016-02-16 09:53:44 +00:00
include::../validity/protos/vkCreateDevice.txt[]
Change log for June 17, 2016 Vulkan 1.0.17 spec update: * Bump API patch number and header version number to 17 for this update. Github Issues: * Update description of vertex shader reuse in <<shaders-vertex-execution>> (public issue 106). * Simplify validity language around pname:ppEnabledExtensionNames and pname:ppEnabledLayerNames (in the <<initialization-instances>> and <<devsandqueues-device-creation>> sections) (public issue 214). * Add missing validity rule to flink:vkCmdBeginRenderPass requiring compatibility between slink:VkAttachmentDescription pname:initalLayout members and the corresponding attached framebuffer images (public issue 233). * Fix Unicode arrows appearing in output instead of relational operators (public issue 239). * Correctly describe the required number of elements for code:TessLevelInner and code:TessLevelOuter arrays in the <<interfaces-builtin-variables,Built-In Variables>> section as two and four, respectively, instead of the other way around, and refer to this section from the <<tessellation,Tessellation>> chapter (public issue 246). Internal Issues: * Document deprecation of ename:VK_COLORSPACE_SRGB_NONLINEAR_KHR in the VK_KHR_surface extension branch, and of ename:VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT in the VK_EXT_debug_report branch (internal issue 328). * Added language to define what a valid usage statement is and should be, with a note about some apparent weirdnesses this might entail (internal issue 357). Other Commits: * Added missing ename:VK_ERROR_DEVICE_LOST error to flink:vkQueueBindSparse.
2016-06-17 22:39:39 +00:00
2016-02-16 09:53:44 +00:00
See Also
--------
slink:VkAllocationCallbacks, slink:VkDevice, slink:VkDeviceCreateInfo, slink:VkPhysicalDevice
Document Notes
--------------
For more information, see the Vulkan Specification at URL
https://www.khronos.org/registry/vulkan/specs/1.0/xhtml/vkspec.html#vkCreateDevice
This page is extracted from the Vulkan Specification.
Fixes and changes should be made to the Specification,not directly.
2016-02-16 09:53:44 +00:00
include::footer.txt[]