Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
vulkan_raw
Usage
-
Almost names are the same as the Vulkan C API. But for some simplification reasons, a little change must be taken. The
enum
variant name is changed to withoutVK_
prefix and enum name. For example theVkFormat.VK_FORMAT_UNDEFINED
is changed toVkFormat::UNDEFINED
. Because of language limitations, some exceptions exist. They are the following:C version Corresponding vulkan_raw version VkImageCreateFlagBits.VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT
VkImageCreateFlagBits::IC_2D_ARRAY_COMPATIBLE_BIT
VkQueryResultFlagBits.VK_QUERY_RESULT_64_BIT
VkQueryResultFlagBits::U64_BIT
VkSampleCountFlagBits.VK_SAMPLE_COUNT_1_BIT
VkSampleCountFlagBits::SC_1_BIT
VkSampleCountFlagBits.VK_SAMPLE_COUNT_2_BIT
VkSampleCountFlagBits::SC_2_BIT
VkSampleCountFlagBits.VK_SAMPLE_COUNT_4_BIT
VkSampleCountFlagBits::SC_4_BIT
VkSampleCountFlagBits.VK_SAMPLE_COUNT_8_BIT
VkSampleCountFlagBits::SC_8_BIT
VkSampleCountFlagBits.VK_SAMPLE_COUNT_16_BIT
VkSampleCountFlagBits::SC_16_BIT
VkSampleCountFlagBits.VK_SAMPLE_COUNT_32_BIT
VkSampleCountFlagBits::SC_32_BIT
VkSampleCountFlagBits.VK_SAMPLE_COUNT_64_BIT
VkSampleCountFlagBits::SC_64_BIT
VkImageType.VK_IMAGE_TYPE_1D
VkImageType::IT_1D
VkImageType.VK_IMAGE_TYPE_2D
VkImageType::IT_2D
VkImageType.VK_IMAGE_TYPE_3D
VkImageType::IT_3D
VkImageViewType.VK_IMAGE_VIEW_TYPE_1D
VkImageViewType::IVT_1D
VkImageViewType.VK_IMAGE_VIEW_TYPE_2D
VkImageViewType::IVT_2D
VkImageViewType.VK_IMAGE_VIEW_TYPE_3D
VkImageViewType::IVT_3D
VkImageViewType.VK_IMAGE_VIEW_TYPE_1D_ARRAY
VkImageViewType::IVT_1D_ARRAY
VkImageViewType.VK_IMAGE_VIEW_TYPE_2D_ARRAY
VkImageViewType::IVT_2D_ARRAY
VkShaderFloatControlsIndependence.VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY
VkShaderFloatControlsIndependence::F32_BIT_ONLY
-
Most functions must need to obtain a corresponding function pointer before use. We provide
InstanceLevelFunctions
object and/orDeviceLevelFunctions
object to do this on every module, each one corresponding to the module's functions set. TheInstanceLevelFunctions
only can be loaded fromVkInstance
, but theDeviceLevelFunctions
also can be loaded fromVkDevice
. -
All structures have
Debug
trait andDefault
trait. You don't need to set thesType
field manually if it contains.
Example
use CStr;
use ptr;
use *;
Supported API
- Vulkan 1.2 core API
- VK_KHR_external_fence_fd(Revision: 1)
- VK_KHR_external_fence_win32(Revision: 1)
- VK_KHR_surface(Revision: 25)
- VK_KHR_swapchain(Revision: 70)
- VK_KHR_win32_surface(Revision: 6)
- VK_KHR_pipeline_library(Revision: 1)
- VK_KHR_deferred_host_operations(Revision: 4)
- VK_KHR_acceleration_structure(Revision: 13)
- VK_KHR_ray_tracing_pipeline(Revision: 1)
- VK_KHR_ray_query(Revision: 1)
- VK_EXT_debug_utils(Revision: 2)
- VK_EXT_index_type_uint8(Revision: 1)
- VK_EXT_memory_budget(Revision: 1)