Class VK11
- java.lang.Object
-
- org.lwjgl.vulkan.VK10
-
- org.lwjgl.vulkan.VK11
-
public class VK11 extends VK10
The core Vulkan 1.1 functionality.Vulkan Version 1.1 promoted a number of key extensions into the core API:
KHR_16bit_storageKHR_bind_memory2KHR_dedicated_allocationKHR_descriptor_update_templateKHR_device_groupKHR_device_group_creationKHR_external_memoryKHR_external_memory_capabilitiesKHR_external_semaphoreKHR_external_semaphore_capabilitiesKHR_external_fenceKHR_external_fence_capabilitiesKHR_get_memory_requirements2KHR_get_physical_device_properties2KHR_maintenance1KHR_maintenance2KHR_maintenance3KHR_multiviewKHR_relaxed_block_layoutKHR_sampler_ycbcr_conversionKHR_shader_draw_parametersKHR_storage_buffer_storage_classKHR_variable_pointers
The only changes to the functionality added by these extensions were to
VK_KHR_shader_draw_parameters, which had a feature bit added to determine support in the core API, andvariablePointersStorageBufferfromVK_KHR_variable_pointerswas made optional.Additionally, Vulkan 1.1 added support for
subgroup operations,protected memory, and a new command toenumerate the instance version.
-
-
Field Summary
-
Fields inherited from class org.lwjgl.vulkan.VK10
VK_ACCESS_COLOR_ATTACHMENT_READ_BIT, VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT, VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT, VK_ACCESS_HOST_READ_BIT, VK_ACCESS_HOST_WRITE_BIT, VK_ACCESS_INDEX_READ_BIT, VK_ACCESS_INDIRECT_COMMAND_READ_BIT, VK_ACCESS_INPUT_ATTACHMENT_READ_BIT, VK_ACCESS_MEMORY_READ_BIT, VK_ACCESS_MEMORY_WRITE_BIT, VK_ACCESS_SHADER_READ_BIT, VK_ACCESS_SHADER_WRITE_BIT, VK_ACCESS_TRANSFER_READ_BIT, VK_ACCESS_TRANSFER_WRITE_BIT, VK_ACCESS_UNIFORM_READ_BIT, VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT, VK_API_VERSION_1_0, VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT, VK_ATTACHMENT_LOAD_OP_CLEAR, VK_ATTACHMENT_LOAD_OP_DONT_CARE, VK_ATTACHMENT_LOAD_OP_LOAD, VK_ATTACHMENT_STORE_OP_DONT_CARE, VK_ATTACHMENT_STORE_OP_STORE, VK_ATTACHMENT_UNUSED, VK_BLEND_FACTOR_CONSTANT_ALPHA, VK_BLEND_FACTOR_CONSTANT_COLOR, VK_BLEND_FACTOR_DST_ALPHA, VK_BLEND_FACTOR_DST_COLOR, VK_BLEND_FACTOR_ONE, VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA, VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR, VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA, VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR, VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA, VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR, VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA, VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR, VK_BLEND_FACTOR_SRC_ALPHA, VK_BLEND_FACTOR_SRC_ALPHA_SATURATE, VK_BLEND_FACTOR_SRC_COLOR, VK_BLEND_FACTOR_SRC1_ALPHA, VK_BLEND_FACTOR_SRC1_COLOR, VK_BLEND_FACTOR_ZERO, VK_BLEND_OP_ADD, VK_BLEND_OP_MAX, VK_BLEND_OP_MIN, VK_BLEND_OP_REVERSE_SUBTRACT, VK_BLEND_OP_SUBTRACT, VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK, VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE, VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK, VK_BORDER_COLOR_INT_OPAQUE_BLACK, VK_BORDER_COLOR_INT_OPAQUE_WHITE, VK_BORDER_COLOR_INT_TRANSPARENT_BLACK, VK_BUFFER_CREATE_SPARSE_ALIASED_BIT, VK_BUFFER_CREATE_SPARSE_BINDING_BIT, VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT, VK_BUFFER_USAGE_INDEX_BUFFER_BIT, VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT, VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT, VK_BUFFER_USAGE_TRANSFER_DST_BIT, VK_BUFFER_USAGE_TRANSFER_SRC_BIT, VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT, VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT, VK_BUFFER_USAGE_VERTEX_BUFFER_BIT, VK_COLOR_COMPONENT_A_BIT, VK_COLOR_COMPONENT_B_BIT, VK_COLOR_COMPONENT_G_BIT, VK_COLOR_COMPONENT_R_BIT, VK_COMMAND_BUFFER_LEVEL_PRIMARY, VK_COMMAND_BUFFER_LEVEL_SECONDARY, VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT, VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT, VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT, VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, VK_COMMAND_POOL_CREATE_TRANSIENT_BIT, VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT, VK_COMPARE_OP_ALWAYS, VK_COMPARE_OP_EQUAL, VK_COMPARE_OP_GREATER, VK_COMPARE_OP_GREATER_OR_EQUAL, VK_COMPARE_OP_LESS, VK_COMPARE_OP_LESS_OR_EQUAL, VK_COMPARE_OP_NEVER, VK_COMPARE_OP_NOT_EQUAL, VK_COMPONENT_SWIZZLE_A, VK_COMPONENT_SWIZZLE_B, VK_COMPONENT_SWIZZLE_G, VK_COMPONENT_SWIZZLE_IDENTITY, VK_COMPONENT_SWIZZLE_ONE, VK_COMPONENT_SWIZZLE_R, VK_COMPONENT_SWIZZLE_ZERO, VK_CULL_MODE_BACK_BIT, VK_CULL_MODE_FRONT_AND_BACK, VK_CULL_MODE_FRONT_BIT, VK_CULL_MODE_NONE, VK_DEPENDENCY_BY_REGION_BIT, VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_SAMPLER, VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC, VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER, VK_DYNAMIC_STATE_BLEND_CONSTANTS, VK_DYNAMIC_STATE_DEPTH_BIAS, VK_DYNAMIC_STATE_DEPTH_BOUNDS, VK_DYNAMIC_STATE_LINE_WIDTH, VK_DYNAMIC_STATE_SCISSOR, VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK, VK_DYNAMIC_STATE_STENCIL_REFERENCE, VK_DYNAMIC_STATE_STENCIL_WRITE_MASK, VK_DYNAMIC_STATE_VIEWPORT, VK_ERROR_DEVICE_LOST, VK_ERROR_EXTENSION_NOT_PRESENT, VK_ERROR_FEATURE_NOT_PRESENT, VK_ERROR_FORMAT_NOT_SUPPORTED, VK_ERROR_FRAGMENTED_POOL, VK_ERROR_INCOMPATIBLE_DRIVER, VK_ERROR_INITIALIZATION_FAILED, VK_ERROR_LAYER_NOT_PRESENT, VK_ERROR_MEMORY_MAP_FAILED, VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_OUT_OF_HOST_MEMORY, VK_ERROR_TOO_MANY_OBJECTS, VK_EVENT_RESET, VK_EVENT_SET, VK_FALSE, VK_FENCE_CREATE_SIGNALED_BIT, VK_FILTER_LINEAR, VK_FILTER_NEAREST, VK_FORMAT_A1R5G5B5_UNORM_PACK16, VK_FORMAT_A2B10G10R10_SINT_PACK32, VK_FORMAT_A2B10G10R10_SNORM_PACK32, VK_FORMAT_A2B10G10R10_SSCALED_PACK32, VK_FORMAT_A2B10G10R10_UINT_PACK32, VK_FORMAT_A2B10G10R10_UNORM_PACK32, VK_FORMAT_A2B10G10R10_USCALED_PACK32, VK_FORMAT_A2R10G10B10_SINT_PACK32, VK_FORMAT_A2R10G10B10_SNORM_PACK32, VK_FORMAT_A2R10G10B10_SSCALED_PACK32, VK_FORMAT_A2R10G10B10_UINT_PACK32, VK_FORMAT_A2R10G10B10_UNORM_PACK32, VK_FORMAT_A2R10G10B10_USCALED_PACK32, VK_FORMAT_A8B8G8R8_SINT_PACK32, VK_FORMAT_A8B8G8R8_SNORM_PACK32, VK_FORMAT_A8B8G8R8_SRGB_PACK32, VK_FORMAT_A8B8G8R8_SSCALED_PACK32, VK_FORMAT_A8B8G8R8_UINT_PACK32, VK_FORMAT_A8B8G8R8_UNORM_PACK32, VK_FORMAT_A8B8G8R8_USCALED_PACK32, VK_FORMAT_ASTC_10x10_SRGB_BLOCK, VK_FORMAT_ASTC_10x10_UNORM_BLOCK, VK_FORMAT_ASTC_10x5_SRGB_BLOCK, VK_FORMAT_ASTC_10x5_UNORM_BLOCK, VK_FORMAT_ASTC_10x6_SRGB_BLOCK, VK_FORMAT_ASTC_10x6_UNORM_BLOCK, VK_FORMAT_ASTC_10x8_SRGB_BLOCK, VK_FORMAT_ASTC_10x8_UNORM_BLOCK, VK_FORMAT_ASTC_12x10_SRGB_BLOCK, VK_FORMAT_ASTC_12x10_UNORM_BLOCK, VK_FORMAT_ASTC_12x12_SRGB_BLOCK, VK_FORMAT_ASTC_12x12_UNORM_BLOCK, VK_FORMAT_ASTC_4x4_SRGB_BLOCK, VK_FORMAT_ASTC_4x4_UNORM_BLOCK, VK_FORMAT_ASTC_5x4_SRGB_BLOCK, VK_FORMAT_ASTC_5x4_UNORM_BLOCK, VK_FORMAT_ASTC_5x5_SRGB_BLOCK, VK_FORMAT_ASTC_5x5_UNORM_BLOCK, VK_FORMAT_ASTC_6x5_SRGB_BLOCK, VK_FORMAT_ASTC_6x5_UNORM_BLOCK, VK_FORMAT_ASTC_6x6_SRGB_BLOCK, VK_FORMAT_ASTC_6x6_UNORM_BLOCK, VK_FORMAT_ASTC_8x5_SRGB_BLOCK, VK_FORMAT_ASTC_8x5_UNORM_BLOCK, VK_FORMAT_ASTC_8x6_SRGB_BLOCK, VK_FORMAT_ASTC_8x6_UNORM_BLOCK, VK_FORMAT_ASTC_8x8_SRGB_BLOCK, VK_FORMAT_ASTC_8x8_UNORM_BLOCK, VK_FORMAT_B10G11R11_UFLOAT_PACK32, VK_FORMAT_B4G4R4A4_UNORM_PACK16, VK_FORMAT_B5G5R5A1_UNORM_PACK16, VK_FORMAT_B5G6R5_UNORM_PACK16, VK_FORMAT_B8G8R8_SINT, VK_FORMAT_B8G8R8_SNORM, VK_FORMAT_B8G8R8_SRGB, VK_FORMAT_B8G8R8_SSCALED, VK_FORMAT_B8G8R8_UINT, VK_FORMAT_B8G8R8_UNORM, VK_FORMAT_B8G8R8_USCALED, VK_FORMAT_B8G8R8A8_SINT, VK_FORMAT_B8G8R8A8_SNORM, VK_FORMAT_B8G8R8A8_SRGB, VK_FORMAT_B8G8R8A8_SSCALED, VK_FORMAT_B8G8R8A8_UINT, VK_FORMAT_B8G8R8A8_UNORM, VK_FORMAT_B8G8R8A8_USCALED, VK_FORMAT_BC1_RGB_SRGB_BLOCK, VK_FORMAT_BC1_RGB_UNORM_BLOCK, VK_FORMAT_BC1_RGBA_SRGB_BLOCK, VK_FORMAT_BC1_RGBA_UNORM_BLOCK, VK_FORMAT_BC2_SRGB_BLOCK, VK_FORMAT_BC2_UNORM_BLOCK, VK_FORMAT_BC3_SRGB_BLOCK, VK_FORMAT_BC3_UNORM_BLOCK, VK_FORMAT_BC4_SNORM_BLOCK, VK_FORMAT_BC4_UNORM_BLOCK, VK_FORMAT_BC5_SNORM_BLOCK, VK_FORMAT_BC5_UNORM_BLOCK, VK_FORMAT_BC6H_SFLOAT_BLOCK, VK_FORMAT_BC6H_UFLOAT_BLOCK, VK_FORMAT_BC7_SRGB_BLOCK, VK_FORMAT_BC7_UNORM_BLOCK, VK_FORMAT_D16_UNORM, VK_FORMAT_D16_UNORM_S8_UINT, VK_FORMAT_D24_UNORM_S8_UINT, VK_FORMAT_D32_SFLOAT, VK_FORMAT_D32_SFLOAT_S8_UINT, VK_FORMAT_E5B9G9R9_UFLOAT_PACK32, VK_FORMAT_EAC_R11_SNORM_BLOCK, VK_FORMAT_EAC_R11_UNORM_BLOCK, VK_FORMAT_EAC_R11G11_SNORM_BLOCK, VK_FORMAT_EAC_R11G11_UNORM_BLOCK, VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK, VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK, VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK, VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK, VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK, VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK, VK_FORMAT_FEATURE_BLIT_DST_BIT, VK_FORMAT_FEATURE_BLIT_SRC_BIT, VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT, VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT, VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT, VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT, VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT, VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT, VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT, VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT, VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT, VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT, VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT, VK_FORMAT_R16_SFLOAT, VK_FORMAT_R16_SINT, VK_FORMAT_R16_SNORM, VK_FORMAT_R16_SSCALED, VK_FORMAT_R16_UINT, VK_FORMAT_R16_UNORM, VK_FORMAT_R16_USCALED, VK_FORMAT_R16G16_SFLOAT, VK_FORMAT_R16G16_SINT, VK_FORMAT_R16G16_SNORM, VK_FORMAT_R16G16_SSCALED, VK_FORMAT_R16G16_UINT, VK_FORMAT_R16G16_UNORM, VK_FORMAT_R16G16_USCALED, VK_FORMAT_R16G16B16_SFLOAT, VK_FORMAT_R16G16B16_SINT, VK_FORMAT_R16G16B16_SNORM, VK_FORMAT_R16G16B16_SSCALED, VK_FORMAT_R16G16B16_UINT, VK_FORMAT_R16G16B16_UNORM, VK_FORMAT_R16G16B16_USCALED, VK_FORMAT_R16G16B16A16_SFLOAT, VK_FORMAT_R16G16B16A16_SINT, VK_FORMAT_R16G16B16A16_SNORM, VK_FORMAT_R16G16B16A16_SSCALED, VK_FORMAT_R16G16B16A16_UINT, VK_FORMAT_R16G16B16A16_UNORM, VK_FORMAT_R16G16B16A16_USCALED, VK_FORMAT_R32_SFLOAT, VK_FORMAT_R32_SINT, VK_FORMAT_R32_UINT, VK_FORMAT_R32G32_SFLOAT, VK_FORMAT_R32G32_SINT, VK_FORMAT_R32G32_UINT, VK_FORMAT_R32G32B32_SFLOAT, VK_FORMAT_R32G32B32_SINT, VK_FORMAT_R32G32B32_UINT, VK_FORMAT_R32G32B32A32_SFLOAT, VK_FORMAT_R32G32B32A32_SINT, VK_FORMAT_R32G32B32A32_UINT, VK_FORMAT_R4G4_UNORM_PACK8, VK_FORMAT_R4G4B4A4_UNORM_PACK16, VK_FORMAT_R5G5B5A1_UNORM_PACK16, VK_FORMAT_R5G6B5_UNORM_PACK16, VK_FORMAT_R64_SFLOAT, VK_FORMAT_R64_SINT, VK_FORMAT_R64_UINT, VK_FORMAT_R64G64_SFLOAT, VK_FORMAT_R64G64_SINT, VK_FORMAT_R64G64_UINT, VK_FORMAT_R64G64B64_SFLOAT, VK_FORMAT_R64G64B64_SINT, VK_FORMAT_R64G64B64_UINT, VK_FORMAT_R64G64B64A64_SFLOAT, VK_FORMAT_R64G64B64A64_SINT, VK_FORMAT_R64G64B64A64_UINT, VK_FORMAT_R8_SINT, VK_FORMAT_R8_SNORM, VK_FORMAT_R8_SRGB, VK_FORMAT_R8_SSCALED, VK_FORMAT_R8_UINT, VK_FORMAT_R8_UNORM, VK_FORMAT_R8_USCALED, VK_FORMAT_R8G8_SINT, VK_FORMAT_R8G8_SNORM, VK_FORMAT_R8G8_SRGB, VK_FORMAT_R8G8_SSCALED, VK_FORMAT_R8G8_UINT, VK_FORMAT_R8G8_UNORM, VK_FORMAT_R8G8_USCALED, VK_FORMAT_R8G8B8_SINT, VK_FORMAT_R8G8B8_SNORM, VK_FORMAT_R8G8B8_SRGB, VK_FORMAT_R8G8B8_SSCALED, VK_FORMAT_R8G8B8_UINT, VK_FORMAT_R8G8B8_UNORM, VK_FORMAT_R8G8B8_USCALED, VK_FORMAT_R8G8B8A8_SINT, VK_FORMAT_R8G8B8A8_SNORM, VK_FORMAT_R8G8B8A8_SRGB, VK_FORMAT_R8G8B8A8_SSCALED, VK_FORMAT_R8G8B8A8_UINT, VK_FORMAT_R8G8B8A8_UNORM, VK_FORMAT_R8G8B8A8_USCALED, VK_FORMAT_S8_UINT, VK_FORMAT_UNDEFINED, VK_FORMAT_X8_D24_UNORM_PACK32, VK_FRONT_FACE_CLOCKWISE, VK_FRONT_FACE_COUNTER_CLOCKWISE, VK_HEADER_VERSION, VK_IMAGE_ASPECT_COLOR_BIT, VK_IMAGE_ASPECT_DEPTH_BIT, VK_IMAGE_ASPECT_METADATA_BIT, VK_IMAGE_ASPECT_STENCIL_BIT, VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT, VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT, VK_IMAGE_CREATE_SPARSE_ALIASED_BIT, VK_IMAGE_CREATE_SPARSE_BINDING_BIT, VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_GENERAL, VK_IMAGE_LAYOUT_PREINITIALIZED, VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, VK_IMAGE_LAYOUT_UNDEFINED, VK_IMAGE_TILING_LINEAR, VK_IMAGE_TILING_OPTIMAL, VK_IMAGE_TYPE_1D, VK_IMAGE_TYPE_2D, VK_IMAGE_TYPE_3D, VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT, VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT, VK_IMAGE_USAGE_SAMPLED_BIT, VK_IMAGE_USAGE_STORAGE_BIT, VK_IMAGE_USAGE_TRANSFER_DST_BIT, VK_IMAGE_USAGE_TRANSFER_SRC_BIT, VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT, VK_IMAGE_VIEW_TYPE_1D, VK_IMAGE_VIEW_TYPE_1D_ARRAY, VK_IMAGE_VIEW_TYPE_2D, VK_IMAGE_VIEW_TYPE_2D_ARRAY, VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, VK_INCOMPLETE, VK_INDEX_TYPE_UINT16, VK_INDEX_TYPE_UINT32, VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE, VK_LOD_CLAMP_NONE, VK_LOGIC_OP_AND, VK_LOGIC_OP_AND_INVERTED, VK_LOGIC_OP_AND_REVERSE, VK_LOGIC_OP_CLEAR, VK_LOGIC_OP_COPY, VK_LOGIC_OP_COPY_INVERTED, VK_LOGIC_OP_EQUIVALENT, VK_LOGIC_OP_INVERT, VK_LOGIC_OP_NAND, VK_LOGIC_OP_NO_OP, VK_LOGIC_OP_NOR, VK_LOGIC_OP_OR, VK_LOGIC_OP_OR_INVERTED, VK_LOGIC_OP_OR_REVERSE, VK_LOGIC_OP_SET, VK_LOGIC_OP_XOR, VK_MAX_DESCRIPTION_SIZE, VK_MAX_EXTENSION_NAME_SIZE, VK_MAX_MEMORY_HEAPS, VK_MAX_MEMORY_TYPES, VK_MAX_PHYSICAL_DEVICE_NAME_SIZE, VK_MEMORY_HEAP_DEVICE_LOCAL_BIT, VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT, VK_MEMORY_PROPERTY_HOST_CACHED_BIT, VK_MEMORY_PROPERTY_HOST_COHERENT_BIT, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT, VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT, VK_NOT_READY, VK_NULL_HANDLE, VK_OBJECT_TYPE_BUFFER, VK_OBJECT_TYPE_BUFFER_VIEW, VK_OBJECT_TYPE_COMMAND_BUFFER, VK_OBJECT_TYPE_COMMAND_POOL, VK_OBJECT_TYPE_DESCRIPTOR_POOL, VK_OBJECT_TYPE_DESCRIPTOR_SET, VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT, VK_OBJECT_TYPE_DEVICE, VK_OBJECT_TYPE_DEVICE_MEMORY, VK_OBJECT_TYPE_EVENT, VK_OBJECT_TYPE_FENCE, VK_OBJECT_TYPE_FRAMEBUFFER, VK_OBJECT_TYPE_IMAGE, VK_OBJECT_TYPE_IMAGE_VIEW, VK_OBJECT_TYPE_INSTANCE, VK_OBJECT_TYPE_PHYSICAL_DEVICE, VK_OBJECT_TYPE_PIPELINE, VK_OBJECT_TYPE_PIPELINE_CACHE, VK_OBJECT_TYPE_PIPELINE_LAYOUT, VK_OBJECT_TYPE_QUERY_POOL, VK_OBJECT_TYPE_QUEUE, VK_OBJECT_TYPE_RENDER_PASS, VK_OBJECT_TYPE_SAMPLER, VK_OBJECT_TYPE_SEMAPHORE, VK_OBJECT_TYPE_SHADER_MODULE, VK_OBJECT_TYPE_UNKNOWN, VK_PHYSICAL_DEVICE_TYPE_CPU, VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU, VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU, VK_PHYSICAL_DEVICE_TYPE_OTHER, VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU, VK_PIPELINE_BIND_POINT_COMPUTE, VK_PIPELINE_BIND_POINT_GRAPHICS, VK_PIPELINE_CACHE_HEADER_VERSION_ONE, VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT, VK_PIPELINE_CREATE_DERIVATIVE_BIT, VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT, VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT, VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT, VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT, VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT, VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT, VK_PIPELINE_STAGE_HOST_BIT, VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT, VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT, VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT, VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_VERTEX_INPUT_BIT, VK_PIPELINE_STAGE_VERTEX_SHADER_BIT, VK_POLYGON_MODE_FILL, VK_POLYGON_MODE_LINE, VK_POLYGON_MODE_POINT, VK_PRIMITIVE_TOPOLOGY_LINE_LIST, VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY, VK_PRIMITIVE_TOPOLOGY_LINE_STRIP, VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY, VK_PRIMITIVE_TOPOLOGY_PATCH_LIST, VK_PRIMITIVE_TOPOLOGY_POINT_LIST, VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN, VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST, VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY, VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP, VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY, VK_QUERY_CONTROL_PRECISE_BIT, VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT, VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT, VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT, VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT, VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT, VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT, VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT, VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT, VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT, VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT, VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT, VK_QUERY_RESULT_64_BIT, VK_QUERY_RESULT_PARTIAL_BIT, VK_QUERY_RESULT_WAIT_BIT, VK_QUERY_RESULT_WITH_AVAILABILITY_BIT, VK_QUERY_TYPE_OCCLUSION, VK_QUERY_TYPE_PIPELINE_STATISTICS, VK_QUERY_TYPE_TIMESTAMP, VK_QUEUE_COMPUTE_BIT, VK_QUEUE_FAMILY_IGNORED, VK_QUEUE_GRAPHICS_BIT, VK_QUEUE_SPARSE_BINDING_BIT, VK_QUEUE_TRANSFER_BIT, VK_REMAINING_ARRAY_LAYERS, VK_REMAINING_MIP_LEVELS, VK_SAMPLE_COUNT_1_BIT, VK_SAMPLE_COUNT_16_BIT, VK_SAMPLE_COUNT_2_BIT, VK_SAMPLE_COUNT_32_BIT, VK_SAMPLE_COUNT_4_BIT, VK_SAMPLE_COUNT_64_BIT, VK_SAMPLE_COUNT_8_BIT, VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER, VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE, VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT, VK_SAMPLER_ADDRESS_MODE_REPEAT, VK_SAMPLER_MIPMAP_MODE_LINEAR, VK_SAMPLER_MIPMAP_MODE_NEAREST, VK_SHADER_STAGE_ALL, VK_SHADER_STAGE_ALL_GRAPHICS, VK_SHADER_STAGE_COMPUTE_BIT, VK_SHADER_STAGE_FRAGMENT_BIT, VK_SHADER_STAGE_GEOMETRY_BIT, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT, VK_SHADER_STAGE_VERTEX_BIT, VK_SHARING_MODE_CONCURRENT, VK_SHARING_MODE_EXCLUSIVE, VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT, VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT, VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT, VK_SPARSE_MEMORY_BIND_METADATA_BIT, VK_STENCIL_FACE_BACK_BIT, VK_STENCIL_FACE_FRONT_AND_BACK, VK_STENCIL_FACE_FRONT_BIT, VK_STENCIL_FRONT_AND_BACK, VK_STENCIL_OP_DECREMENT_AND_CLAMP, VK_STENCIL_OP_DECREMENT_AND_WRAP, VK_STENCIL_OP_INCREMENT_AND_CLAMP, VK_STENCIL_OP_INCREMENT_AND_WRAP, VK_STENCIL_OP_INVERT, VK_STENCIL_OP_KEEP, VK_STENCIL_OP_REPLACE, VK_STENCIL_OP_ZERO, VK_STRUCTURE_TYPE_APPLICATION_INFO, VK_STRUCTURE_TYPE_BIND_SPARSE_INFO, VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO, VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER, VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO, VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO, VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO, VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO, VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO, VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO, VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET, VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO, VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO, VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO, VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO, VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO, VK_STRUCTURE_TYPE_EVENT_CREATE_INFO, VK_STRUCTURE_TYPE_FENCE_CREATE_INFO, VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO, VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO, VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO, VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER, VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO, VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO, VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO, VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO, VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE, VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO, VK_STRUCTURE_TYPE_MEMORY_BARRIER, VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO, VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO, VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO, VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO, VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO, VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO, VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO, VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO, VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO, VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO, VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO, VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO, VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO, VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO, VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO, VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO, VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO, VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO, VK_STRUCTURE_TYPE_SUBMIT_INFO, VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET, VK_SUBPASS_CONTENTS_INLINE, VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS, VK_SUBPASS_EXTERNAL, VK_SUCCESS, VK_SYSTEM_ALLOCATION_SCOPE_CACHE, VK_SYSTEM_ALLOCATION_SCOPE_COMMAND, VK_SYSTEM_ALLOCATION_SCOPE_DEVICE, VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE, VK_SYSTEM_ALLOCATION_SCOPE_OBJECT, VK_TIMEOUT, VK_TRUE, VK_UUID_SIZE, VK_VENDOR_ID_KAZAN, VK_VENDOR_ID_VIV, VK_VENDOR_ID_VSI, VK_VERTEX_INPUT_RATE_INSTANCE, VK_VERTEX_INPUT_RATE_VERTEX, VK_WHOLE_SIZE
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static intnvkBindBufferMemory2(VkDevice device, int bindInfoCount, long pBindInfos)Unsafe version of:BindBufferMemory2static intnvkBindImageMemory2(VkDevice device, int bindInfoCount, long pBindInfos)Unsafe version of:BindImageMemory2static intnvkCreateDescriptorUpdateTemplate(VkDevice device, long pCreateInfo, long pAllocator, long pDescriptorUpdateTemplate)Unsafe version of:CreateDescriptorUpdateTemplatestatic intnvkCreateSamplerYcbcrConversion(VkDevice device, long pCreateInfo, long pAllocator, long pYcbcrConversion)Unsafe version of:CreateSamplerYcbcrConversionstatic voidnvkDestroyDescriptorUpdateTemplate(VkDevice device, long descriptorUpdateTemplate, long pAllocator)Unsafe version of:DestroyDescriptorUpdateTemplatestatic voidnvkDestroySamplerYcbcrConversion(VkDevice device, long ycbcrConversion, long pAllocator)Unsafe version of:DestroySamplerYcbcrConversionstatic intnvkEnumerateInstanceVersion(long pApiVersion)Unsafe version of:EnumerateInstanceVersionstatic intnvkEnumeratePhysicalDeviceGroups(VkInstance instance, long pPhysicalDeviceGroupCount, long pPhysicalDeviceGroupProperties)Unsafe version of:EnumeratePhysicalDeviceGroupsstatic voidnvkGetBufferMemoryRequirements2(VkDevice device, long pInfo, long pMemoryRequirements)Unsafe version of:GetBufferMemoryRequirements2static voidnvkGetDescriptorSetLayoutSupport(VkDevice device, long pCreateInfo, long pSupport)Unsafe version of:GetDescriptorSetLayoutSupportstatic voidnvkGetDeviceGroupPeerMemoryFeatures(VkDevice device, int heapIndex, int localDeviceIndex, int remoteDeviceIndex, long pPeerMemoryFeatures)Unsafe version of:GetDeviceGroupPeerMemoryFeaturesstatic voidnvkGetDeviceQueue2(VkDevice device, long pQueueInfo, long pQueue)Unsafe version of:GetDeviceQueue2static voidnvkGetImageMemoryRequirements2(VkDevice device, long pInfo, long pMemoryRequirements)Unsafe version of:GetImageMemoryRequirements2static voidnvkGetImageSparseMemoryRequirements2(VkDevice device, long pInfo, long pSparseMemoryRequirementCount, long pSparseMemoryRequirements)Unsafe version of:GetImageSparseMemoryRequirements2static voidnvkGetPhysicalDeviceExternalBufferProperties(VkPhysicalDevice physicalDevice, long pExternalBufferInfo, long pExternalBufferProperties)Unsafe version of:GetPhysicalDeviceExternalBufferPropertiesstatic voidnvkGetPhysicalDeviceExternalFenceProperties(VkPhysicalDevice physicalDevice, long pExternalFenceInfo, long pExternalFenceProperties)Unsafe version of:GetPhysicalDeviceExternalFencePropertiesstatic voidnvkGetPhysicalDeviceExternalSemaphoreProperties(VkPhysicalDevice physicalDevice, long pExternalSemaphoreInfo, long pExternalSemaphoreProperties)Unsafe version of:GetPhysicalDeviceExternalSemaphorePropertiesstatic voidnvkGetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice, long pFeatures)Unsafe version of:GetPhysicalDeviceFeatures2static voidnvkGetPhysicalDeviceFormatProperties2(VkPhysicalDevice physicalDevice, int format, long pFormatProperties)Unsafe version of:GetPhysicalDeviceFormatProperties2static intnvkGetPhysicalDeviceImageFormatProperties2(VkPhysicalDevice physicalDevice, long pImageFormatInfo, long pImageFormatProperties)Unsafe version of:GetPhysicalDeviceImageFormatProperties2static voidnvkGetPhysicalDeviceMemoryProperties2(VkPhysicalDevice physicalDevice, long pMemoryProperties)Unsafe version of:GetPhysicalDeviceMemoryProperties2static voidnvkGetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice, long pProperties)Unsafe version of:GetPhysicalDeviceProperties2static voidnvkGetPhysicalDeviceQueueFamilyProperties2(VkPhysicalDevice physicalDevice, long pQueueFamilyPropertyCount, long pQueueFamilyProperties)Unsafe version of:GetPhysicalDeviceQueueFamilyProperties2static voidnvkGetPhysicalDeviceSparseImageFormatProperties2(VkPhysicalDevice physicalDevice, long pFormatInfo, long pPropertyCount, long pProperties)Unsafe version of:GetPhysicalDeviceSparseImageFormatProperties2static intvkBindBufferMemory2(VkDevice device, VkBindBufferMemoryInfo.Buffer pBindInfos)Bind device memory to buffer objects.static intvkBindImageMemory2(VkDevice device, VkBindImageMemoryInfo.Buffer pBindInfos)Bind device memory to image objects.static voidvkCmdDispatchBase(VkCommandBuffer commandBuffer, int baseGroupX, int baseGroupY, int baseGroupZ, int groupCountX, int groupCountY, int groupCountZ)Dispatch compute work items.static voidvkCmdSetDeviceMask(VkCommandBuffer commandBuffer, int deviceMask)Modify device mask of a command buffer.static intvkCreateDescriptorUpdateTemplate(VkDevice device, VkDescriptorUpdateTemplateCreateInfo pCreateInfo, VkAllocationCallbacks pAllocator, long[] pDescriptorUpdateTemplate)Array version of:CreateDescriptorUpdateTemplatestatic intvkCreateDescriptorUpdateTemplate(VkDevice device, VkDescriptorUpdateTemplateCreateInfo pCreateInfo, VkAllocationCallbacks pAllocator, java.nio.LongBuffer pDescriptorUpdateTemplate)Create a new descriptor update template.static intvkCreateSamplerYcbcrConversion(VkDevice device, VkSamplerYcbcrConversionCreateInfo pCreateInfo, VkAllocationCallbacks pAllocator, long[] pYcbcrConversion)Array version of:CreateSamplerYcbcrConversionstatic intvkCreateSamplerYcbcrConversion(VkDevice device, VkSamplerYcbcrConversionCreateInfo pCreateInfo, VkAllocationCallbacks pAllocator, java.nio.LongBuffer pYcbcrConversion)Create a new Ycbcr conversion.static voidvkDestroyDescriptorUpdateTemplate(VkDevice device, long descriptorUpdateTemplate, VkAllocationCallbacks pAllocator)Destroy a descriptor update template object.static voidvkDestroySamplerYcbcrConversion(VkDevice device, long ycbcrConversion, VkAllocationCallbacks pAllocator)Destroy a created Y'CbCr conversion.static intvkEnumerateInstanceVersion(int[] pApiVersion)Array version of:EnumerateInstanceVersionstatic intvkEnumerateInstanceVersion(java.nio.IntBuffer pApiVersion)Query instance-level version before instance creation.static intvkEnumeratePhysicalDeviceGroups(VkInstance instance, int[] pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties.Buffer pPhysicalDeviceGroupProperties)Array version of:EnumeratePhysicalDeviceGroupsstatic intvkEnumeratePhysicalDeviceGroups(VkInstance instance, java.nio.IntBuffer pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties.Buffer pPhysicalDeviceGroupProperties)Enumerates groups of physical devices that can be used to create a single logical device.static voidvkGetBufferMemoryRequirements2(VkDevice device, VkBufferMemoryRequirementsInfo2 pInfo, VkMemoryRequirements2 pMemoryRequirements)Returns the memory requirements for specified Vulkan object.static voidvkGetDescriptorSetLayoutSupport(VkDevice device, VkDescriptorSetLayoutCreateInfo pCreateInfo, VkDescriptorSetLayoutSupport pSupport)Query whether a descriptor set layout can be created.static voidvkGetDeviceGroupPeerMemoryFeatures(VkDevice device, int heapIndex, int localDeviceIndex, int remoteDeviceIndex, int[] pPeerMemoryFeatures)Array version of:GetDeviceGroupPeerMemoryFeaturesstatic voidvkGetDeviceGroupPeerMemoryFeatures(VkDevice device, int heapIndex, int localDeviceIndex, int remoteDeviceIndex, java.nio.IntBuffer pPeerMemoryFeatures)Query supported peer memory features of a device.static voidvkGetDeviceQueue2(VkDevice device, VkDeviceQueueInfo2 pQueueInfo, org.lwjgl.PointerBuffer pQueue)Get a queue handle from a device.static voidvkGetImageMemoryRequirements2(VkDevice device, VkImageMemoryRequirementsInfo2 pInfo, VkMemoryRequirements2 pMemoryRequirements)Returns the memory requirements for specified Vulkan object.static voidvkGetImageSparseMemoryRequirements2(VkDevice device, VkImageSparseMemoryRequirementsInfo2 pInfo, int[] pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2.Buffer pSparseMemoryRequirements)Array version of:GetImageSparseMemoryRequirements2static voidvkGetImageSparseMemoryRequirements2(VkDevice device, VkImageSparseMemoryRequirementsInfo2 pInfo, java.nio.IntBuffer pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2.Buffer pSparseMemoryRequirements)Query the memory requirements for a sparse image.static voidvkGetPhysicalDeviceExternalBufferProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceExternalBufferInfo pExternalBufferInfo, VkExternalBufferProperties pExternalBufferProperties)Query external handle types supported by buffers.static voidvkGetPhysicalDeviceExternalFenceProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceExternalFenceInfo pExternalFenceInfo, VkExternalFenceProperties pExternalFenceProperties)Function for querying external fence handle capabilities.static voidvkGetPhysicalDeviceExternalSemaphoreProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceExternalSemaphoreInfo pExternalSemaphoreInfo, VkExternalSemaphoreProperties pExternalSemaphoreProperties)Function for querying external semaphore handle capabilities.static voidvkGetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2 pFeatures)Reports capabilities of a physical device.static voidvkGetPhysicalDeviceFormatProperties2(VkPhysicalDevice physicalDevice, int format, VkFormatProperties2 pFormatProperties)Lists physical device's format capabilities.static intvkGetPhysicalDeviceImageFormatProperties2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceImageFormatInfo2 pImageFormatInfo, VkImageFormatProperties2 pImageFormatProperties)Lists physical device's image format capabilities.static voidvkGetPhysicalDeviceMemoryProperties2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2 pMemoryProperties)Reports memory information for the specified physical device.static voidvkGetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2 pProperties)Returns properties of a physical device.static voidvkGetPhysicalDeviceQueueFamilyProperties2(VkPhysicalDevice physicalDevice, int[] pQueueFamilyPropertyCount, VkQueueFamilyProperties2.Buffer pQueueFamilyProperties)Array version of:GetPhysicalDeviceQueueFamilyProperties2static voidvkGetPhysicalDeviceQueueFamilyProperties2(VkPhysicalDevice physicalDevice, java.nio.IntBuffer pQueueFamilyPropertyCount, VkQueueFamilyProperties2.Buffer pQueueFamilyProperties)Reports properties of the queues of the specified physical device.static voidvkGetPhysicalDeviceSparseImageFormatProperties2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceSparseImageFormatInfo2 pFormatInfo, int[] pPropertyCount, VkSparseImageFormatProperties2.Buffer pProperties)Array version of:GetPhysicalDeviceSparseImageFormatProperties2static voidvkGetPhysicalDeviceSparseImageFormatProperties2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceSparseImageFormatInfo2 pFormatInfo, java.nio.IntBuffer pPropertyCount, VkSparseImageFormatProperties2.Buffer pProperties)Retrieve properties of an image format applied to sparse images.static voidvkTrimCommandPool(VkDevice device, long commandPool, int flags)Trim a command pool.static voidvkUpdateDescriptorSetWithTemplate(VkDevice device, long descriptorSet, long descriptorUpdateTemplate, long pData)Update the contents of a descriptor set object using an update template.-
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from class org.lwjgl.vulkan.VK10
nvkAllocateCommandBuffers, nvkAllocateDescriptorSets, nvkAllocateMemory, nvkBeginCommandBuffer, nvkCmdBeginRenderPass, nvkCmdBindDescriptorSets, nvkCmdBindVertexBuffers, nvkCmdBlitImage, nvkCmdClearAttachments, nvkCmdClearColorImage, nvkCmdClearDepthStencilImage, nvkCmdCopyBuffer, nvkCmdCopyBufferToImage, nvkCmdCopyImage, nvkCmdCopyImageToBuffer, nvkCmdExecuteCommands, nvkCmdPipelineBarrier, nvkCmdPushConstants, nvkCmdResolveImage, nvkCmdSetBlendConstants, nvkCmdSetScissor, nvkCmdSetViewport, nvkCmdUpdateBuffer, nvkCmdWaitEvents, nvkCreateBuffer, nvkCreateBufferView, nvkCreateCommandPool, nvkCreateComputePipelines, nvkCreateDescriptorPool, nvkCreateDescriptorSetLayout, nvkCreateDevice, nvkCreateEvent, nvkCreateFence, nvkCreateFramebuffer, nvkCreateGraphicsPipelines, nvkCreateImage, nvkCreateImageView, nvkCreateInstance, nvkCreatePipelineCache, nvkCreatePipelineLayout, nvkCreateQueryPool, nvkCreateRenderPass, nvkCreateSampler, nvkCreateSemaphore, nvkCreateShaderModule, nvkDestroyBuffer, nvkDestroyBufferView, nvkDestroyCommandPool, nvkDestroyDescriptorPool, nvkDestroyDescriptorSetLayout, nvkDestroyDevice, nvkDestroyEvent, nvkDestroyFence, nvkDestroyFramebuffer, nvkDestroyImage, nvkDestroyImageView, nvkDestroyInstance, nvkDestroyPipeline, nvkDestroyPipelineCache, nvkDestroyPipelineLayout, nvkDestroyQueryPool, nvkDestroyRenderPass, nvkDestroySampler, nvkDestroySemaphore, nvkDestroyShaderModule, nvkEnumerateDeviceExtensionProperties, nvkEnumerateDeviceLayerProperties, nvkEnumerateInstanceExtensionProperties, nvkEnumerateInstanceLayerProperties, nvkEnumeratePhysicalDevices, nvkFlushMappedMemoryRanges, nvkFreeCommandBuffers, nvkFreeDescriptorSets, nvkFreeMemory, nvkGetBufferMemoryRequirements, nvkGetDeviceMemoryCommitment, nvkGetDeviceProcAddr, nvkGetDeviceQueue, nvkGetImageMemoryRequirements, nvkGetImageSparseMemoryRequirements, nvkGetImageSubresourceLayout, nvkGetInstanceProcAddr, nvkGetPhysicalDeviceFeatures, nvkGetPhysicalDeviceFormatProperties, nvkGetPhysicalDeviceImageFormatProperties, nvkGetPhysicalDeviceMemoryProperties, nvkGetPhysicalDeviceProperties, nvkGetPhysicalDeviceQueueFamilyProperties, nvkGetPhysicalDeviceSparseImageFormatProperties, nvkGetPipelineCacheData, nvkGetQueryPoolResults, nvkGetRenderAreaGranularity, nvkInvalidateMappedMemoryRanges, nvkMapMemory, nvkMergePipelineCaches, nvkQueueBindSparse, nvkQueueSubmit, nvkResetFences, nvkUpdateDescriptorSets, nvkWaitForFences, VK_MAKE_VERSION, VK_VERSION_MAJOR, VK_VERSION_MINOR, VK_VERSION_PATCH, vkAllocateCommandBuffers, vkAllocateDescriptorSets, vkAllocateDescriptorSets, vkAllocateMemory, vkAllocateMemory, vkBeginCommandBuffer, vkBindBufferMemory, vkBindImageMemory, vkCmdBeginQuery, vkCmdBeginRenderPass, vkCmdBindDescriptorSets, vkCmdBindDescriptorSets, vkCmdBindIndexBuffer, vkCmdBindPipeline, vkCmdBindVertexBuffers, vkCmdBindVertexBuffers, vkCmdBlitImage, vkCmdClearAttachments, vkCmdClearColorImage, vkCmdClearColorImage, vkCmdClearDepthStencilImage, vkCmdClearDepthStencilImage, vkCmdCopyBuffer, vkCmdCopyBufferToImage, vkCmdCopyImage, vkCmdCopyImageToBuffer, vkCmdCopyQueryPoolResults, vkCmdDispatch, vkCmdDispatchIndirect, vkCmdDraw, vkCmdDrawIndexed, vkCmdDrawIndexedIndirect, vkCmdDrawIndirect, vkCmdEndQuery, vkCmdEndRenderPass, vkCmdExecuteCommands, vkCmdExecuteCommands, vkCmdFillBuffer, vkCmdNextSubpass, vkCmdPipelineBarrier, vkCmdPushConstants, vkCmdPushConstants, vkCmdPushConstants, vkCmdPushConstants, vkCmdPushConstants, vkCmdPushConstants, vkCmdPushConstants, vkCmdPushConstants, vkCmdPushConstants, vkCmdPushConstants, vkCmdPushConstants, vkCmdResetEvent, vkCmdResetQueryPool, vkCmdResolveImage, vkCmdResolveImage, vkCmdSetBlendConstants, vkCmdSetBlendConstants, vkCmdSetDepthBias, vkCmdSetDepthBounds, vkCmdSetEvent, vkCmdSetLineWidth, vkCmdSetScissor, vkCmdSetStencilCompareMask, vkCmdSetStencilReference, vkCmdSetStencilWriteMask, vkCmdSetViewport, vkCmdUpdateBuffer, vkCmdUpdateBuffer, vkCmdUpdateBuffer, vkCmdUpdateBuffer, vkCmdUpdateBuffer, vkCmdUpdateBuffer, vkCmdUpdateBuffer, vkCmdUpdateBuffer, vkCmdUpdateBuffer, vkCmdUpdateBuffer, vkCmdUpdateBuffer, vkCmdWaitEvents, vkCmdWaitEvents, vkCmdWriteTimestamp, vkCreateBuffer, vkCreateBuffer, vkCreateBufferView, vkCreateBufferView, vkCreateCommandPool, vkCreateCommandPool, vkCreateComputePipelines, vkCreateComputePipelines, vkCreateDescriptorPool, vkCreateDescriptorPool, vkCreateDescriptorSetLayout, vkCreateDescriptorSetLayout, vkCreateDevice, vkCreateEvent, vkCreateEvent, vkCreateFence, vkCreateFence, vkCreateFramebuffer, vkCreateFramebuffer, vkCreateGraphicsPipelines, vkCreateGraphicsPipelines, vkCreateImage, vkCreateImage, vkCreateImageView, vkCreateImageView, vkCreateInstance, vkCreatePipelineCache, vkCreatePipelineCache, vkCreatePipelineLayout, vkCreatePipelineLayout, vkCreateQueryPool, vkCreateQueryPool, vkCreateRenderPass, vkCreateRenderPass, vkCreateSampler, vkCreateSampler, vkCreateSemaphore, vkCreateSemaphore, vkCreateShaderModule, vkCreateShaderModule, vkDestroyBuffer, vkDestroyBufferView, vkDestroyCommandPool, vkDestroyDescriptorPool, vkDestroyDescriptorSetLayout, vkDestroyDevice, vkDestroyEvent, vkDestroyFence, vkDestroyFramebuffer, vkDestroyImage, vkDestroyImageView, vkDestroyInstance, vkDestroyPipeline, vkDestroyPipelineCache, vkDestroyPipelineLayout, vkDestroyQueryPool, vkDestroyRenderPass, vkDestroySampler, vkDestroySemaphore, vkDestroyShaderModule, vkDeviceWaitIdle, vkEndCommandBuffer, vkEnumerateDeviceExtensionProperties, vkEnumerateDeviceExtensionProperties, vkEnumerateDeviceExtensionProperties, vkEnumerateDeviceExtensionProperties, vkEnumerateDeviceLayerProperties, vkEnumerateDeviceLayerProperties, vkEnumerateInstanceExtensionProperties, vkEnumerateInstanceExtensionProperties, vkEnumerateInstanceExtensionProperties, vkEnumerateInstanceExtensionProperties, vkEnumerateInstanceLayerProperties, vkEnumerateInstanceLayerProperties, vkEnumeratePhysicalDevices, vkEnumeratePhysicalDevices, vkFlushMappedMemoryRanges, vkFlushMappedMemoryRanges, vkFreeCommandBuffers, vkFreeCommandBuffers, vkFreeDescriptorSets, vkFreeDescriptorSets, vkFreeDescriptorSets, vkFreeMemory, vkGetBufferMemoryRequirements, vkGetDeviceMemoryCommitment, vkGetDeviceMemoryCommitment, vkGetDeviceProcAddr, vkGetDeviceProcAddr, vkGetDeviceQueue, vkGetEventStatus, vkGetFenceStatus, vkGetImageMemoryRequirements, vkGetImageSparseMemoryRequirements, vkGetImageSparseMemoryRequirements, vkGetImageSubresourceLayout, vkGetInstanceProcAddr, vkGetInstanceProcAddr, vkGetPhysicalDeviceFeatures, vkGetPhysicalDeviceFormatProperties, vkGetPhysicalDeviceImageFormatProperties, vkGetPhysicalDeviceMemoryProperties, vkGetPhysicalDeviceProperties, vkGetPhysicalDeviceQueueFamilyProperties, vkGetPhysicalDeviceQueueFamilyProperties, vkGetPhysicalDeviceSparseImageFormatProperties, vkGetPhysicalDeviceSparseImageFormatProperties, vkGetPipelineCacheData, vkGetQueryPoolResults, vkGetQueryPoolResults, vkGetQueryPoolResults, vkGetQueryPoolResults, vkGetQueryPoolResults, vkGetRenderAreaGranularity, vkInvalidateMappedMemoryRanges, vkInvalidateMappedMemoryRanges, vkMapMemory, vkMergePipelineCaches, vkMergePipelineCaches, vkQueueBindSparse, vkQueueBindSparse, vkQueueSubmit, vkQueueSubmit, vkQueueWaitIdle, vkResetCommandBuffer, vkResetCommandPool, vkResetDescriptorPool, vkResetEvent, vkResetFences, vkResetFences, vkResetFences, vkSetEvent, vkUnmapMemory, vkUpdateDescriptorSets, vkWaitForFences, vkWaitForFences, vkWaitForFences
-
-
-
-
Field Detail
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES
ExtendsVkStructureType.
-
VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO, VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO
ExtendsVkStructureType.Enum values:
-
VK_IMAGE_CREATE_ALIAS_BIT
ExtendsVkImageCreateFlagBits.
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES
ExtendsVkStructureType.
-
VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS, VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO
ExtendsVkStructureType.Enum values:
-
VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO, VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO, VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO, VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO, VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO
-
VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT, VK_PIPELINE_CREATE_DISPATCH_BASE
ExtendsVkPipelineCreateFlagBits.Enum values:
-
VK_DEPENDENCY_DEVICE_GROUP_BIT
ExtendsVkDependencyFlagBits.
-
VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO, VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO
ExtendsVkStructureType.Enum values:
-
VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT
ExtendsVkImageCreateFlagBits.
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES, VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO
ExtendsVkStructureType.Enum values:
-
VK_MEMORY_HEAP_MULTI_INSTANCE_BIT
ExtendsVkMemoryHeapFlagBits.
-
VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2, VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2, VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2, VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2, VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2, VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2, VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2, VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2, VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2
ExtendsVkStructureType.Enum values:
STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2STRUCTURE_TYPE_FORMAT_PROPERTIES_2STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2
-
VK_ERROR_OUT_OF_POOL_MEMORY
ExtendsVkResult.
-
VK_FORMAT_FEATURE_TRANSFER_SRC_BIT, VK_FORMAT_FEATURE_TRANSFER_DST_BIT
ExtendsVkFormatFeatureFlagBits.Enum values:
-
VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT
ExtendsVkImageCreateFlagBits.
-
VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT, VK_IMAGE_CREATE_EXTENDED_USAGE_BIT
ExtendsVkImageCreateFlagBits.Enum values:
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES, VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO, VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO, VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO
-
VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL
ExtendsVkImageLayout.Enum values:
-
VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES
ExtendsVkStructureType.Enum values:
-
VK_DEPENDENCY_VIEW_LOCAL_BIT
ExtendsVkDependencyFlagBits.
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES
ExtendsVkStructureType.Enum values:
-
VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES, VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2
-
VK_QUEUE_PROTECTED_BIT
ExtendsVkQueueFlagBits.
-
VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT
ExtendsVkDeviceQueueCreateFlagBits.
-
VK_MEMORY_PROPERTY_PROTECTED_BIT
ExtendsVkMemoryPropertyFlagBits.
-
VK_BUFFER_CREATE_PROTECTED_BIT
ExtendsVkBufferCreateFlagBits.
-
VK_IMAGE_CREATE_PROTECTED_BIT
ExtendsVkImageCreateFlagBits.
-
VK_COMMAND_POOL_CREATE_PROTECTED_BIT
ExtendsVkCommandPoolCreateFlagBits.
-
VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO, VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO, VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO, VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES, VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES
ExtendsVkStructureType.Enum values:
STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFOSTRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFOSTRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFOSTRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFOSTRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURESSTRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES
-
VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION
ExtendsVkObjectType.
-
VK_FORMAT_G8B8G8R8_422_UNORM, VK_FORMAT_B8G8R8G8_422_UNORM, VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM, VK_FORMAT_G8_B8R8_2PLANE_420_UNORM, VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM, VK_FORMAT_G8_B8R8_2PLANE_422_UNORM, VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM, VK_FORMAT_R10X6_UNORM_PACK16, VK_FORMAT_R10X6G10X6_UNORM_2PACK16, VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16, VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16, VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16, VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16, VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16, VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16, VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16, VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16, VK_FORMAT_R12X4_UNORM_PACK16, VK_FORMAT_R12X4G12X4_UNORM_2PACK16, VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16, VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16, VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16, VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16, VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16, VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16, VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16, VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16, VK_FORMAT_G16B16G16R16_422_UNORM, VK_FORMAT_B16G16R16G16_422_UNORM, VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM, VK_FORMAT_G16_B16R16_2PLANE_420_UNORM, VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM, VK_FORMAT_G16_B16R16_2PLANE_422_UNORM, VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM
ExtendsVkFormat.Enum values:
FORMAT_G8B8G8R8_422_UNORMFORMAT_B8G8R8G8_422_UNORMFORMAT_G8_B8_R8_3PLANE_420_UNORMFORMAT_G8_B8R8_2PLANE_420_UNORMFORMAT_G8_B8_R8_3PLANE_422_UNORMFORMAT_G8_B8R8_2PLANE_422_UNORMFORMAT_G8_B8_R8_3PLANE_444_UNORMFORMAT_R10X6_UNORM_PACK16FORMAT_R10X6G10X6_UNORM_2PACK16FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16FORMAT_R12X4_UNORM_PACK16FORMAT_R12X4G12X4_UNORM_2PACK16FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16FORMAT_G16B16G16R16_422_UNORMFORMAT_B16G16R16G16_422_UNORMFORMAT_G16_B16_R16_3PLANE_420_UNORMFORMAT_G16_B16R16_2PLANE_420_UNORMFORMAT_G16_B16_R16_3PLANE_422_UNORMFORMAT_G16_B16R16_2PLANE_422_UNORMFORMAT_G16_B16_R16_3PLANE_444_UNORM
-
VK_IMAGE_ASPECT_PLANE_0_BIT, VK_IMAGE_ASPECT_PLANE_1_BIT, VK_IMAGE_ASPECT_PLANE_2_BIT
ExtendsVkImageAspectFlagBits.Enum values:
-
VK_IMAGE_CREATE_DISJOINT_BIT
ExtendsVkImageCreateFlagBits.
-
VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT, VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT, VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT, VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT, VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT, VK_FORMAT_FEATURE_DISJOINT_BIT, VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT
ExtendsVkFormatFeatureFlagBits.Enum values:
FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BITFORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BITFORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BITFORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BITFORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BITFORMAT_FEATURE_DISJOINT_BITFORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT
-
VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO
ExtendsVkStructureType.
-
VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE
ExtendsVkObjectType.
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO, VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO, VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES
-
VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO, VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO, VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO
ExtendsVkStructureType.Enum values:
-
VK_ERROR_INVALID_EXTERNAL_HANDLE
ExtendsVkResult.
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO, VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES
ExtendsVkStructureType.Enum values:
-
VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO, VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO
ExtendsVkStructureType.
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO, VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES
ExtendsVkStructureType.Enum values:
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES, VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT
ExtendsVkStructureType.Enum values:
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES
ExtendsVkStructureType.Enum values:
-
VK_SUBGROUP_FEATURE_BASIC_BIT, VK_SUBGROUP_FEATURE_VOTE_BIT, VK_SUBGROUP_FEATURE_ARITHMETIC_BIT, VK_SUBGROUP_FEATURE_BALLOT_BIT, VK_SUBGROUP_FEATURE_SHUFFLE_BIT, VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT, VK_SUBGROUP_FEATURE_CLUSTERED_BIT, VK_SUBGROUP_FEATURE_QUAD_BIT
VkSubgroupFeatureFlagBits - Enum describing what subgroup operations are supportedDescription
SUBGROUP_FEATURE_BASIC_BITspecifies the device will accept SPIR-V shader modules that contain theGroupNonUniformcapability.SUBGROUP_FEATURE_VOTE_BITspecifies the device will accept SPIR-V shader modules that contain theGroupNonUniformVotecapability.SUBGROUP_FEATURE_ARITHMETIC_BITspecifies the device will accept SPIR-V shader modules that contain theGroupNonUniformArithmeticcapability.SUBGROUP_FEATURE_BALLOT_BITspecifies the device will accept SPIR-V shader modules that contain theGroupNonUniformBallotcapability.SUBGROUP_FEATURE_SHUFFLE_BITspecifies the device will accept SPIR-V shader modules that contain theGroupNonUniformShufflecapability.SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BITspecifies the device will accept SPIR-V shader modules that contain theGroupNonUniformShuffleRelativecapability.SUBGROUP_FEATURE_CLUSTERED_BITspecifies the device will accept SPIR-V shader modules that contain theGroupNonUniformClusteredcapability.SUBGROUP_FEATURE_QUAD_BITspecifies the device will accept SPIR-V shader modules that contain theGroupNonUniformQuadcapability.SUBGROUP_FEATURE_PARTITIONED_BIT_NVspecifies the device will accept SPIR-V shader modules that contain theGroupNonUniformPartitionedNVcapability.
See Also
VkSubgroupFeatureFlags
-
VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT, VK_PEER_MEMORY_FEATURE_COPY_DST_BIT, VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT, VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT
VkPeerMemoryFeatureFlagBits - Bitmask specifying supported peer memory featuresDescription
PEER_MEMORY_FEATURE_COPY_SRC_BITspecifies that the memory can be accessed as the source of aCmdCopyBuffer,CmdCopyImage,CmdCopyBufferToImage, orCmdCopyImageToBuffercommand.PEER_MEMORY_FEATURE_COPY_DST_BITspecifies that the memory can be accessed as the destination of aCmdCopyBuffer,CmdCopyImage,CmdCopyBufferToImage, orCmdCopyImageToBuffercommand.PEER_MEMORY_FEATURE_GENERIC_SRC_BITspecifies that the memory can be read as any memory access type.PEER_MEMORY_FEATURE_GENERIC_DST_BITspecifies that the memory can be written as any memory access type. Shader atomics are considered to be writes.
Note
The peer memory features of a memory heap also apply to any accesses that may be performed during image layout transitions.
PEER_MEMORY_FEATURE_COPY_DST_BITmust be supported for all host local heaps and for at least one device local heap.If a device does not support a peer memory feature, it is still valid to use a resource that includes both local and peer memory bindings with the corresponding access type as long as only the local bindings are actually accessed. For example, an application doing split-frame rendering would use framebuffer attachments that include both local and peer memory bindings, but would scissor the rendering to only update local memory.
See Also
VkPeerMemoryFeatureFlags
-
VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT
VkMemoryAllocateFlagBits - Bitmask specifying flags for a device memory allocationDescription
MEMORY_ALLOCATE_DEVICE_MASK_BITspecifies that memory will be allocated for the devices inVkMemoryAllocateFlagsInfo::deviceMask.
See Also
VkMemoryAllocateFlags
-
VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES, VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY
VkPointClippingBehavior - Enum specifying the point clipping behaviorDescription
POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANESspecifies that the primitive is discarded if the vertex lies outside any clip plane, including the planes bounding the view volume.POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLYspecifies that the primitive is discarded only if the vertex lies outside any user clip plane.
See Also
-
VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT, VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT
VkTessellationDomainOrigin - Enum describing tessellation domain originDescription
TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFTspecifies that the origin of the domain space is in the upper left corner, as shown in figure Domain parameterization for tessellation primitive modes (upper-left origin).TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFTspecifies that the origin of the domain space is in the lower left corner, as shown in figure Domain parameterization for tessellation primitive modes (lower-left origin).
This enum affects how the
VertexOrderCwandVertexOrderCcwtessellation execution modes are interpreted, since the winding is defined relative to the orientation of the domain.See Also
-
VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY, VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY, VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709, VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601, VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020
VkSamplerYcbcrModelConversion - Color model component of a color spaceDescription
SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITYspecifies that the input values to the conversion are unmodified.SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITYspecifies no model conversion but the inputs are range expanded as for Y’CBCR.SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709specifies the color model conversion from Y’CBCR to R’G’B' defined in BT.709 and described in the “BT.709 Y’CBCR conversion” section of the Khronos Data Format Specification.SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601specifies the color model conversion from Y’CBCR to R’G’B' defined in BT.601 and described in the “BT.601 Y’CBCR conversion” section of the Khronos Data Format Specification.SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020specifies the color model conversion from Y’CBCR to R’G’B' defined in BT.2020 and described in the “BT.2020 Y’CBCR conversion” section of the Khronos Data Format Specification.
In the
VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_*color models, for the input to the sampler Y'CBCR range expansion and model conversion:- the Y (Y' luma) channel corresponds to the G channel of an RGB image.
- the CB (CB or “U” blue color difference) channel corresponds to the B channel of an RGB image.
- the CR (CR or “V” red color difference) channel corresponds to the R channel of an RGB image.
- the alpha channel, if present, is not modified by color model conversion.
These rules reflect the mapping of channels after the channel swizzle operation (controlled by
VkSamplerYcbcrConversionCreateInfo::components).Note
For example, an "
YUVA" 32-bit format comprising four 8-bit channels can be implemented asFORMAT_R8G8B8A8_UNORMwith a component mapping:components.a=COMPONENT_SWIZZLE_IDENTITYcomponents.r=COMPONENT_SWIZZLE_Bcomponents.g=COMPONENT_SWIZZLE_Rcomponents.b=COMPONENT_SWIZZLE_G
See Also
-
VK_SAMPLER_YCBCR_RANGE_ITU_FULL, VK_SAMPLER_YCBCR_RANGE_ITU_NARROW
VkSamplerYcbcrRange - Range of encoded values in a color spaceDescription
SAMPLER_YCBCR_RANGE_ITU_FULLspecifies that the full range of the encoded values are valid and interpreted according to the ITU “full range” quantization rules.SAMPLER_YCBCR_RANGE_ITU_NARROWspecifies that headroom and foot room are reserved in the numerical range of encoded values, and the remaining values are expanded according to the ITU “narrow range” quantization rules.
The formulae for these conversions is described in the Sampler Y'CBCR Range Expansion section of the Image Operations chapter.
No range modification takes place if
ycbcrModelisSAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY; theycbcrRangefield ofVkSamplerYcbcrConversionCreateInfois ignored in this case.See Also
-
VK_CHROMA_LOCATION_COSITED_EVEN, VK_CHROMA_LOCATION_MIDPOINT
VkChromaLocation - Position of downsampled chroma samplesDescription
CHROMA_LOCATION_COSITED_EVENspecifies that downsampled chroma samples are aligned with luma samples with even coordinates.CHROMA_LOCATION_MIDPOINTspecifies that downsampled chroma samples are located half way between each even luma sample and the nearest higher odd luma sample.
See Also
-
VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET
VkDescriptorUpdateTemplateType - Indicates the valid usage of the descriptor update templateDescription
DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SETspecifies that the descriptor update template will be used for descriptor set updates only.DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHRspecifies that the descriptor update template will be used for push descriptor updates only.
See Also
-
VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT, VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT, VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT, VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT, VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT, VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT
VkExternalMemoryHandleTypeFlagBits - Bit specifying external memory handle typesDescription
EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BITspecifies a POSIX file descriptor handle that has only limited valid usage outside of Vulkan and other compatible APIs. It must be compatible with the POSIX system callsdup,dup2,close, and the non-standard system calldup3. Additionally, it must be transportable over a socket using anSCM_RIGHTScontrol message. It owns a reference to the underlying memory resource represented by its Vulkan memory object.EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BITspecifies an NT handle that has only limited valid usage outside of Vulkan and other compatible APIs. It must be compatible with the functionsDuplicateHandle,CloseHandle,CompareObjectHandles,GetHandleInformation, andSetHandleInformation. It owns a reference to the underlying memory resource represented by its Vulkan memory object.EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BITspecifies a global share handle that has only limited valid usage outside of Vulkan and other compatible APIs. It is not compatible with any native APIs. It does not own a reference to the underlying memory resource represented its Vulkan memory object, and will therefore become invalid when all Vulkan memory objects associated with it are destroyed.EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BITspecifies an NT handle returned byIDXGIResource1::CreateSharedHandlereferring to a Direct3D 10 or 11 texture resource. It owns a reference to the memory used by the Direct3D resource.EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BITspecifies a global share handle returned byIDXGIResource::GetSharedHandlereferring to a Direct3D 10 or 11 texture resource. It does not own a reference to the underlying Direct3D resource, and will therefore become invalid when all Vulkan memory objects and Direct3D resources associated with it are destroyed.EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BITspecifies an NT handle returned byID3D12Device::CreateSharedHandlereferring to a Direct3D 12 heap resource. It owns a reference to the resources used by the Direct3D heap.EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BITspecifies an NT handle returned byID3D12Device::CreateSharedHandlereferring to a Direct3D 12 committed resource. It owns a reference to the memory used by the Direct3D resource.EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXTspecifies a host pointer returned by a host memory allocation command. It does not own a reference to the underlying memory resource, and will therefore become invalid if the host memory is freed.EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXTspecifies a host pointer to host mapped foreign memory. It does not own a reference to the underlying memory resource, and will therefore become invalid if the foreign memory is unmapped or otherwise becomes no longer available.EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXTis a file descriptor for a Linux dma_buf. It owns a reference to the underlying memory resource represented by its Vulkan memory object.
Some external memory handle types can only be shared within the same underlying physical device and/or the same driver version, as defined in the following table:
External memory handle types compatibility
Handle type VkPhysicalDeviceIDProperties::driverUUIDVkPhysicalDeviceIDProperties::deviceUUIDEXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BITMust match Must match EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BITMust match Must match EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BITMust match Must match EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BITMust match Must match EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BITMust match Must match EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BITMust match Must match EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BITMust match Must match EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXTNo restriction No restriction EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXTNo restriction No restriction EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXTNo restriction No restriction Note
The above table does not restrict the drivers and devices with which
EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXTandEXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXTmay be shared, as these handle types inherently mean memory that does not come from the same device, as they import memory from the host or a foreign device, respectively.Note
Even though the above table does not restrict the drivers and devices with which
EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXTmay be shared, query mechanisms exist in the Vulkan API that prevent the import of incompatible dma-bufs (such asGetMemoryFdPropertiesKHR) and that prevent incompatible usage of dma-bufs (such asVkPhysicalDeviceExternalBufferInfoandVkPhysicalDeviceExternalImageFormatInfo).See Also
VkExternalMemoryHandleTypeFlags,VkImportMemoryFdInfoKHR,VkImportMemoryHostPointerInfoEXT,VkImportMemoryWin32HandleInfoKHR,VkMemoryGetFdInfoKHR,VkMemoryGetWin32HandleInfoKHR,VkPhysicalDeviceExternalBufferInfo,VkPhysicalDeviceExternalImageFormatInfo,GetMemoryFdPropertiesKHR,GetMemoryHostPointerPropertiesEXT,GetMemoryWin32HandlePropertiesKHR
-
VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT, VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT, VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT
VkExternalMemoryFeatureFlagBits - Bitmask specifying features of an external memory handle typeDescription
EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BITspecifies that images or buffers created with the specified parameters and handle type must use the mechanisms defined byVkMemoryDedicatedRequirementsandVkMemoryDedicatedAllocateInfoto create (or import) a dedicated allocation for the image or buffer.EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BITspecifies that handles of this type can be exported from Vulkan memory objects.EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BITspecifies that handles of this type can be imported as Vulkan memory objects.
Because their semantics in external APIs roughly align with that of an image or buffer with a dedicated allocation in Vulkan, implementations are required: to report
EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BITfor the following external handle types:EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BITEXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BITEXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT
See Also
VkExternalMemoryFeatureFlags
-
VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT, VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT, VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT
VkExternalFenceHandleTypeFlagBits - Bitmask of valid external fence handle typesDescription
EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BITspecifies a POSIX file descriptor handle that has only limited valid usage outside of Vulkan and other compatible APIs. It must be compatible with the POSIX system callsdup,dup2,close, and the non-standard system calldup3. Additionally, it must be transportable over a socket using anSCM_RIGHTScontrol message. It owns a reference to the underlying synchronization primitive represented by its Vulkan fence object.EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BITspecifies an NT handle that has only limited valid usage outside of Vulkan and other compatible APIs. It must be compatible with the functionsDuplicateHandle,CloseHandle,CompareObjectHandles,GetHandleInformation, andSetHandleInformation. It owns a reference to the underlying synchronization primitive represented by its Vulkan fence object.EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BITspecifies a global share handle that has only limited valid usage outside of Vulkan and other compatible APIs. It is not compatible with any native APIs. It does not own a reference to the underlying synchronization primitive represented by its Vulkan fence object, and will therefore become invalid when all Vulkan fence objects associated with it are destroyed.EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BITspecifies a POSIX file descriptor handle to a Linux Sync File or Android Fence. It can be used with any native API accepting a valid sync file or fence as input. It owns a reference to the underlying synchronization primitive associated with the file descriptor. Implementations which support importing this handle type must accept any type of sync or fence FD supported by the native system they are running on.
Some external fence handle types can only be shared within the same underlying physical device and/or the same driver version, as defined in the following table:
External fence handle types compatibility
Handle type VkPhysicalDeviceIDProperties::driverUUIDVkPhysicalDeviceIDProperties::deviceUUIDEXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BITMust match Must match EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BITMust match Must match EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BITMust match Must match EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BITNo restriction No restriction See Also
VkExternalFenceHandleTypeFlags,VkFenceGetFdInfoKHR,VkFenceGetWin32HandleInfoKHR,VkImportFenceFdInfoKHR,VkImportFenceWin32HandleInfoKHR,VkPhysicalDeviceExternalFenceInfo
-
VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT, VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT
VkExternalFenceFeatureFlagBits - Bitfield describing features of an external fence handle typeDescription
EXTERNAL_FENCE_FEATURE_EXPORTABLE_BITspecifies handles of this type can be exported from Vulkan fence objects.EXTERNAL_FENCE_FEATURE_IMPORTABLE_BITspecifies handles of this type can be imported to Vulkan fence objects.
See Also
VkExternalFenceFeatureFlags
-
VK_FENCE_IMPORT_TEMPORARY_BIT
VkFenceImportFlagBits - Bitmask specifying additional parameters of fence payload importDescription
FENCE_IMPORT_TEMPORARY_BITspecifies that the fence payload will be imported only temporarily, as described in Importing Fence Payloads, regardless of the permanence ofhandleType.
See Also
VkFenceImportFlags
-
VK_SEMAPHORE_IMPORT_TEMPORARY_BIT
VkSemaphoreImportFlagBits - Bitmask specifying additional parameters of semaphore payload importDescription
These bits have the following meanings:
SEMAPHORE_IMPORT_TEMPORARY_BITspecifies that the semaphore payload will be imported only temporarily, as described in Importing Semaphore Payloads, regardless of the permanence ofhandleType.
See Also
VkSemaphoreImportFlags
-
VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT, VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT, VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT, VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT
VkExternalSemaphoreHandleTypeFlagBits - Bitmask of valid external semaphore handle typesDescription
EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BITspecifies a POSIX file descriptor handle that has only limited valid usage outside of Vulkan and other compatible APIs. It must be compatible with the POSIX system callsdup,dup2,close, and the non-standard system calldup3. Additionally, it must be transportable over a socket using anSCM_RIGHTScontrol message. It owns a reference to the underlying synchronization primitive represented by its Vulkan semaphore object.EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BITspecifies an NT handle that has only limited valid usage outside of Vulkan and other compatible APIs. It must be compatible with the functionsDuplicateHandle,CloseHandle,CompareObjectHandles,GetHandleInformation, andSetHandleInformation. It owns a reference to the underlying synchronization primitive represented by its Vulkan semaphore object.EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BITspecifies a global share handle that has only limited valid usage outside of Vulkan and other compatible APIs. It is not compatible with any native APIs. It does not own a reference to the underlying synchronization primitive represented its Vulkan semaphore object, and will therefore become invalid when all Vulkan semaphore objects associated with it are destroyed.EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BITspecifies an NT handle returned byID3D12Device::CreateSharedHandlereferring to a Direct3D 12 fence. It owns a reference to the underlying synchronization primitive associated with the Direct3D fence.EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BITspecifies a POSIX file descriptor handle to a Linux Sync File or Android Fence object. It can be used with any native API accepting a valid sync file or fence as input. It owns a reference to the underlying synchronization primitive associated with the file descriptor. Implementations which support importing this handle type must accept any type of sync or fence FD supported by the native system they are running on.
Note
Handles of type
EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BITgenerated by the implementation may represent either Linux Sync Files or Android Fences at the implementation's discretion. Applications should only use operations defined for both types of file descriptors, unless they know via means external to Vulkan the type of the file descriptor, or are prepared to deal with the system-defined operation failures resulting from using the wrong type.Some external semaphore handle types can only be shared within the same underlying physical device and/or the same driver version, as defined in the following table:
External semaphore handle types compatibility
Handle type VkPhysicalDeviceIDProperties::driverUUIDVkPhysicalDeviceIDProperties::deviceUUIDEXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BITMust match Must match EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BITMust match Must match EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BITMust match Must match EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BITMust match Must match EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BITNo restriction No restriction See Also
VkExternalSemaphoreHandleTypeFlags,VkImportSemaphoreFdInfoKHR,VkImportSemaphoreWin32HandleInfoKHR,VkPhysicalDeviceExternalSemaphoreInfo,VkSemaphoreGetFdInfoKHR,VkSemaphoreGetWin32HandleInfoKHR
-
VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT, VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT
VkExternalSemaphoreFeatureFlagBits - Bitfield describing features of an external semaphore handle typeDescription
EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BITspecifies that handles of this type can be exported from Vulkan semaphore objects.EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BITspecifies that handles of this type can be imported as Vulkan semaphore objects.
See Also
VkExternalSemaphoreFeatureFlags
-
VK_API_VERSION_1_1
The API version number for Vulkan 1.1.
-
VK_LUID_SIZE, VK_QUEUE_FAMILY_EXTERNAL, VK_MAX_DEVICE_GROUP_SIZE
API Constants
-
-
Method Detail
-
nvkEnumerateInstanceVersion
public static int nvkEnumerateInstanceVersion(long pApiVersion)
Unsafe version of:EnumerateInstanceVersion
-
vkEnumerateInstanceVersion
public static int vkEnumerateInstanceVersion(java.nio.IntBuffer pApiVersion)
Query instance-level version before instance creation.C Specification
To query the version of instance-level functionality supported by the implementation, call:
VkResult vkEnumerateInstanceVersion( uint32_t* pApiVersion);Valid Usage (Implicit)
pApiVersionmust be a valid pointer to auint32_tvalue
Return Codes
- On success, this command returns
- Parameters:
pApiVersion- points to auint32_t, which is the version of Vulkan supported by instance-level functionality, encoded as described in Version Numbers.
-
nvkBindBufferMemory2
public static int nvkBindBufferMemory2(VkDevice device, int bindInfoCount, long pBindInfos)
Unsafe version of:BindBufferMemory2- Parameters:
bindInfoCount- the number of elements inpBindInfos.
-
vkBindBufferMemory2
public static int vkBindBufferMemory2(VkDevice device, VkBindBufferMemoryInfo.Buffer pBindInfos)
Bind device memory to buffer objects.C Specification
To attach memory to buffer objects for one or more buffers at a time, call:
VkResult vkBindBufferMemory2( VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);or the equivalent command
VkResult vkBindBufferMemory2KHR( VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);Description
On some implementations, it may be more efficient to batch memory bindings into a single command.
Valid Usage (Implicit)
devicemust be a validVkDevicehandlepBindInfosmust be a valid pointer to an array ofbindInfoCountvalidVkBindBufferMemoryInfostructuresbindInfoCountmust be greater than 0
Return Codes
- On success, this command returns
- On failure, this command returns
See Also
- Parameters:
device- the logical device that owns the buffers and memory.pBindInfos- a pointer to an array of structures of typeVkBindBufferMemoryInfo, describing buffers and memory to bind.
-
nvkBindImageMemory2
public static int nvkBindImageMemory2(VkDevice device, int bindInfoCount, long pBindInfos)
Unsafe version of:BindImageMemory2- Parameters:
bindInfoCount- the number of elements inpBindInfos.
-
vkBindImageMemory2
public static int vkBindImageMemory2(VkDevice device, VkBindImageMemoryInfo.Buffer pBindInfos)
Bind device memory to image objects.C Specification
To attach memory to image objects for one or more images at a time, call:
VkResult vkBindImageMemory2( VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);or the equivalent command
VkResult vkBindImageMemory2KHR( VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);Description
On some implementations, it may be more efficient to batch memory bindings into a single command.
Valid Usage (Implicit)
devicemust be a validVkDevicehandlepBindInfosmust be a valid pointer to an array ofbindInfoCountvalidVkBindImageMemoryInfostructuresbindInfoCountmust be greater than 0
Return Codes
- On success, this command returns
- On failure, this command returns
See Also
- Parameters:
device- the logical device that owns the images and memory.pBindInfos- a pointer to an array of structures of typeVkBindImageMemoryInfo, describing images and memory to bind.
-
nvkGetDeviceGroupPeerMemoryFeatures
public static void nvkGetDeviceGroupPeerMemoryFeatures(VkDevice device, int heapIndex, int localDeviceIndex, int remoteDeviceIndex, long pPeerMemoryFeatures)
Unsafe version of:GetDeviceGroupPeerMemoryFeatures
-
vkGetDeviceGroupPeerMemoryFeatures
public static void vkGetDeviceGroupPeerMemoryFeatures(VkDevice device, int heapIndex, int localDeviceIndex, int remoteDeviceIndex, java.nio.IntBuffer pPeerMemoryFeatures)
Query supported peer memory features of a device.C Specification
Peer memory is memory that is allocated for a given physical device and then bound to a resource and accessed by a different physical device, in a logical device that represents multiple physical devices. Some ways of reading and writing peer memory may not be supported by a device.
To determine how peer memory can be accessed, call:
void vkGetDeviceGroupPeerMemoryFeatures( VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);or the equivalent command
void vkGetDeviceGroupPeerMemoryFeaturesKHR( VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);Valid Usage
heapIndexmust be less thanmemoryHeapCountlocalDeviceIndexmust be a valid device indexremoteDeviceIndexmust be a valid device indexlocalDeviceIndexmust not equalremoteDeviceIndex
Valid Usage (Implicit)
devicemust be a validVkDevicehandlepPeerMemoryFeaturesmust be a valid pointer to aVkPeerMemoryFeatureFlagsvalue
- Parameters:
device- the logical device that owns the memory.heapIndex- the index of the memory heap from which the memory is allocated.localDeviceIndex- the device index of the physical device that performs the memory access.remoteDeviceIndex- the device index of the physical device that the memory is allocated for.pPeerMemoryFeatures- a pointer to a bitmask ofVkPeerMemoryFeatureFlagBitsindicating which types of memory accesses are supported for the combination of heap, local, and remote devices.
-
vkCmdSetDeviceMask
public static void vkCmdSetDeviceMask(VkCommandBuffer commandBuffer, int deviceMask)
Modify device mask of a command buffer.C Specification
To update the current device mask of a command buffer, call:
void vkCmdSetDeviceMask( VkCommandBuffer commandBuffer, uint32_t deviceMask);or the equivalent command
void vkCmdSetDeviceMaskKHR( VkCommandBuffer commandBuffer, uint32_t deviceMask);Description
deviceMaskis used to filter out subsequent commands from executing on all physical devices whose bit indices are not set in the mask, except commands beginning a render pass instance, commands transitioning to the next subpass in the render pass instance, and commands ending a render pass instance, which always execute on the set of physical devices whose bit indices are included in thedeviceMaskmember of the instance of theVkDeviceGroupRenderPassBeginInfostructure passed to the command beginning the corresponding render pass instance.Valid Usage
deviceMaskmust be a valid device mask valuedeviceMaskmust not be zerodeviceMaskmust not include any set bits that were not in theVkDeviceGroupCommandBufferBeginInfo::deviceMaskvalue when the command buffer began recording.- If
vkCmdSetDeviceMaskis called inside a render pass instance,deviceMaskmust not include any set bits that were not in theVkDeviceGroupRenderPassBeginInfo::deviceMaskvalue when the render pass instance began recording.
Valid Usage (Implicit)
commandBuffermust be a validVkCommandBufferhandlecommandBuffermust be in the recording state- The
VkCommandPoolthatcommandBufferwas allocated from must support graphics, compute, or transfer operations
Host Synchronization
- Host access to
commandBuffermust be externally synchronized - Host access to the
VkCommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
Command Buffer Levels Render Pass Scope Supported Queue Types Pipeline Type Primary Secondary Both Graphics Compute Transfer - Parameters:
commandBuffer- command buffer whose current device mask is modified.deviceMask- the new value of the current device mask.
-
vkCmdDispatchBase
public static void vkCmdDispatchBase(VkCommandBuffer commandBuffer, int baseGroupX, int baseGroupY, int baseGroupZ, int groupCountX, int groupCountY, int groupCountZ)
Dispatch compute work items.C Specification
To record a dispatch using non-zero base values for the components of
WorkgroupId, call:void vkCmdDispatchBase( VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);or the equivalent command
void vkCmdDispatchBaseKHR( VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);Description
When the command is executed, a global workgroup consisting of
groupCountX × groupCountY × groupCountZlocal workgroups is assembled, withWorkgroupIdvalues ranging from[baseGroup*, baseGroup* + groupCount*)in each component.CmdDispatchis equivalent tovkCmdDispatchBase(0,0,0,groupCountX,groupCountY,groupCountZ).Valid Usage
- If a
VkImageViewis sampled withFILTER_LINEARas a result of this command, then the image view’s format features must containFORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT - If a
VkImageViewis accessed using atomic operations as a result of this command, then the image view’s format features must containFORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT - If a
VkImageViewis sampled withFILTER_CUBIC_EXTas a result of this command, then the image view’s format features must containFORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT - Any
VkImageViewbeing sampled withFILTER_CUBIC_EXTas a result of this command must have aVkImageViewTypeand format that supports cubic filtering, as specified byVkFilterCubicImageViewImageFormatPropertiesEXT::filterCubicreturned byvkGetPhysicalDeviceImageFormatProperties2 - Any
VkImageViewbeing sampled withFILTER_CUBIC_EXTwith a reduction mode of eitherSAMPLER_REDUCTION_MODE_MIN_EXTorSAMPLER_REDUCTION_MODE_MAX_EXTas a result of this command must have aVkImageViewTypeand format that supports cubic filtering together with minmax filtering, as specified byVkFilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmaxreturned byvkGetPhysicalDeviceImageFormatProperties2 - Any
VkImagecreated with aVkImageCreateInfo::flagscontainingIMAGE_CREATE_CORNER_SAMPLED_BIT_NVsampled as a result of this command must only be sampled using aVkSamplerAddressModeofSAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE. - For each set n that is statically used by the
VkPipelinebound to the pipeline bind point used by this command, a descriptor set must have been bound to n at the same pipeline bind point, with aVkPipelineLayoutthat is compatible for set n, with theVkPipelineLayoutused to create the currentVkPipeline, as described in Pipeline Layout Compatibility - For each push constant that is statically used by the
VkPipelinebound to the pipeline bind point used by this command, a push constant value must have been set for the same pipeline bind point, with aVkPipelineLayoutthat is compatible for push constants, with theVkPipelineLayoutused to create the currentVkPipeline, as described in Pipeline Layout Compatibility - Descriptors in each bound descriptor set, specified via
vkCmdBindDescriptorSets, must be valid if they are statically used by theVkPipelinebound to the pipeline bind point used by this command - A valid pipeline must be bound to the pipeline bind point used by this command
- If the
VkPipelineobject bound to the pipeline bind point used by this command requires any dynamic state, that state must have been set forcommandBuffer - If the
VkPipelineobject bound to the pipeline bind point used by this command accesses aVkSamplerobject that uses unnormalized coordinates, that sampler must not be used to sample from anyVkImagewith aVkImageViewof the typeIMAGE_VIEW_TYPE_3D,IMAGE_VIEW_TYPE_CUBE,IMAGE_VIEW_TYPE_1D_ARRAY,IMAGE_VIEW_TYPE_2D_ARRAYorIMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage - If the
VkPipelineobject bound to the pipeline bind point used by this command accesses aVkSamplerobject that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-VOpImageSample*orOpImageSparseSample*instructions withImplicitLod,DreforProjin their name, in any shader stage - If the
VkPipelineobject bound to the pipeline bind point used by this command accesses aVkSamplerobject that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-VOpImageSample*orOpImageSparseSample*instructions that includes a LOD bias or any offset values, in any shader stage - If the robust buffer access feature is not enabled, and if the
VkPipelineobject bound to the pipeline bind point used by this command accesses a uniform buffer, it must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point - If the robust buffer access feature is not enabled, and if the
VkPipelineobject bound to the pipeline bind point used by this command accesses a storage buffer, it must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point - If
commandBufferis an unprotected command buffer, any resource accessed by theVkPipelineobject bound to the pipeline bind point used by this command must not be a protected resource baseGroupXmust be less thanVkPhysicalDeviceLimits::maxComputeWorkGroupCount[0]baseGroupXmust be less thanVkPhysicalDeviceLimits::maxComputeWorkGroupCount[1]baseGroupZmust be less thanVkPhysicalDeviceLimits::maxComputeWorkGroupCount[2]groupCountXmust be less than or equal toVkPhysicalDeviceLimits::maxComputeWorkGroupCount[0] minusbaseGroupXgroupCountYmust be less than or equal toVkPhysicalDeviceLimits::maxComputeWorkGroupCount[1] minusbaseGroupYgroupCountZmust be less than or equal toVkPhysicalDeviceLimits::maxComputeWorkGroupCount[2] minusbaseGroupZ- If any of
baseGroupX,baseGroupY, orbaseGroupZare not zero, then the bound compute pipeline must have been created with thePIPELINE_CREATE_DISPATCH_BASEflag.
Valid Usage (Implicit)
commandBuffermust be a validVkCommandBufferhandlecommandBuffermust be in the recording state- The
VkCommandPoolthatcommandBufferwas allocated from must support compute operations - This command must only be called outside of a render pass instance
Host Synchronization
- Host access to
commandBuffermust be externally synchronized - Host access to the
VkCommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
Command Buffer Levels Render Pass Scope Supported Queue Types Pipeline Type Primary Secondary Outside Compute - Parameters:
commandBuffer- the command buffer into which the command will be recorded.baseGroupX- the start value for the X component ofWorkgroupId.baseGroupY- the start value for the Y component ofWorkgroupId.baseGroupZ- the start value for the Z component ofWorkgroupId.groupCountX- the number of local workgroups to dispatch in the X dimension.groupCountY- the number of local workgroups to dispatch in the Y dimension.groupCountZ- the number of local workgroups to dispatch in the Z dimension.
- If a
-
nvkEnumeratePhysicalDeviceGroups
public static int nvkEnumeratePhysicalDeviceGroups(VkInstance instance, long pPhysicalDeviceGroupCount, long pPhysicalDeviceGroupProperties)
Unsafe version of:EnumeratePhysicalDeviceGroups- Parameters:
pPhysicalDeviceGroupCount- a pointer to an integer related to the number of device groups available or queried, as described below.
-
vkEnumeratePhysicalDeviceGroups
public static int vkEnumeratePhysicalDeviceGroups(VkInstance instance, java.nio.IntBuffer pPhysicalDeviceGroupCount, @Nullable VkPhysicalDeviceGroupProperties.Buffer pPhysicalDeviceGroupProperties)
Enumerates groups of physical devices that can be used to create a single logical device.C Specification
To retrieve a list of the device groups present in the system, call:
VkResult vkEnumeratePhysicalDeviceGroups( VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);or the equivalent command
VkResult vkEnumeratePhysicalDeviceGroupsKHR( VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);Description
If
pPhysicalDeviceGroupPropertiesisNULL, then the number of device groups available is returned inpPhysicalDeviceGroupCount. Otherwise,pPhysicalDeviceGroupCountmust point to a variable set by the user to the number of elements in thepPhysicalDeviceGroupPropertiesarray, and on return the variable is overwritten with the number of structures actually written topPhysicalDeviceGroupProperties. IfpPhysicalDeviceGroupCountis less than the number of device groups available, at mostpPhysicalDeviceGroupCountstructures will be written. IfpPhysicalDeviceGroupCountis smaller than the number of device groups available,INCOMPLETEwill be returned instead ofSUCCESS, to indicate that not all the available device groups were returned.Every physical device must be in exactly one device group.
Valid Usage (Implicit)
instancemust be a validVkInstancehandlepPhysicalDeviceGroupCountmust be a valid pointer to auint32_tvalue- If the value referenced by
pPhysicalDeviceGroupCountis not 0, andpPhysicalDeviceGroupPropertiesis notNULL,pPhysicalDeviceGroupPropertiesmust be a valid pointer to an array ofpPhysicalDeviceGroupCountVkPhysicalDeviceGroupPropertiesstructures
Return Codes
- On success, this command returns
- On failure, this command returns
See Also
- Parameters:
instance- a handle to a Vulkan instance previously created withCreateInstance.pPhysicalDeviceGroupCount- a pointer to an integer related to the number of device groups available or queried, as described below.pPhysicalDeviceGroupProperties- eitherNULLor a pointer to an array ofVkPhysicalDeviceGroupPropertiesstructures.
-
nvkGetImageMemoryRequirements2
public static void nvkGetImageMemoryRequirements2(VkDevice device, long pInfo, long pMemoryRequirements)
Unsafe version of:GetImageMemoryRequirements2
-
vkGetImageMemoryRequirements2
public static void vkGetImageMemoryRequirements2(VkDevice device, VkImageMemoryRequirementsInfo2 pInfo, VkMemoryRequirements2 pMemoryRequirements)
Returns the memory requirements for specified Vulkan object.C Specification
To determine the memory requirements for an image resource, call:
void vkGetImageMemoryRequirements2( VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);or the equivalent command
void vkGetImageMemoryRequirements2KHR( VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);Valid Usage (Implicit)
devicemust be a validVkDevicehandlepInfomust be a valid pointer to a validVkImageMemoryRequirementsInfo2structurepMemoryRequirementsmust be a valid pointer to aVkMemoryRequirements2structure
See Also
- Parameters:
device- the logical device that owns the image.pInfo- a pointer to an instance of theVkImageMemoryRequirementsInfo2structure containing parameters required for the memory requirements query.pMemoryRequirements- points to an instance of theVkMemoryRequirements2structure in which the memory requirements of the image object are returned.
-
nvkGetBufferMemoryRequirements2
public static void nvkGetBufferMemoryRequirements2(VkDevice device, long pInfo, long pMemoryRequirements)
Unsafe version of:GetBufferMemoryRequirements2
-
vkGetBufferMemoryRequirements2
public static void vkGetBufferMemoryRequirements2(VkDevice device, VkBufferMemoryRequirementsInfo2 pInfo, VkMemoryRequirements2 pMemoryRequirements)
Returns the memory requirements for specified Vulkan object.C Specification
To determine the memory requirements for a buffer resource, call:
void vkGetBufferMemoryRequirements2( VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);or the equivalent command
void vkGetBufferMemoryRequirements2KHR( VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);Valid Usage (Implicit)
devicemust be a validVkDevicehandlepInfomust be a valid pointer to a validVkBufferMemoryRequirementsInfo2structurepMemoryRequirementsmust be a valid pointer to aVkMemoryRequirements2structure
See Also
- Parameters:
device- the logical device that owns the buffer.pInfo- a pointer to an instance of theVkBufferMemoryRequirementsInfo2structure containing parameters required for the memory requirements query.pMemoryRequirements- points to an instance of theVkMemoryRequirements2structure in which the memory requirements of the buffer object are returned.
-
nvkGetImageSparseMemoryRequirements2
public static void nvkGetImageSparseMemoryRequirements2(VkDevice device, long pInfo, long pSparseMemoryRequirementCount, long pSparseMemoryRequirements)
Unsafe version of:GetImageSparseMemoryRequirements2- Parameters:
pSparseMemoryRequirementCount- a pointer to an integer related to the number of sparse memory requirements available or queried, as described below.
-
vkGetImageSparseMemoryRequirements2
public static void vkGetImageSparseMemoryRequirements2(VkDevice device, VkImageSparseMemoryRequirementsInfo2 pInfo, java.nio.IntBuffer pSparseMemoryRequirementCount, @Nullable VkSparseImageMemoryRequirements2.Buffer pSparseMemoryRequirements)
Query the memory requirements for a sparse image.C Specification
To query sparse memory requirements for an image, call:
void vkGetImageSparseMemoryRequirements2( VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);or the equivalent command
void vkGetImageSparseMemoryRequirements2KHR( VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);Valid Usage (Implicit)
devicemust be a validVkDevicehandlepInfomust be a valid pointer to a validVkImageSparseMemoryRequirementsInfo2structurepSparseMemoryRequirementCountmust be a valid pointer to auint32_tvalue- If the value referenced by
pSparseMemoryRequirementCountis not 0, andpSparseMemoryRequirementsis notNULL,pSparseMemoryRequirementsmust be a valid pointer to an array ofpSparseMemoryRequirementCountVkSparseImageMemoryRequirements2structures
See Also
VkImageSparseMemoryRequirementsInfo2,VkSparseImageMemoryRequirements2- Parameters:
device- the logical device that owns the image.pInfo- a pointer to an instance of theVkImageSparseMemoryRequirementsInfo2structure containing parameters required for the memory requirements query.pSparseMemoryRequirementCount- a pointer to an integer related to the number of sparse memory requirements available or queried, as described below.pSparseMemoryRequirements- eitherNULLor a pointer to an array ofVkSparseImageMemoryRequirements2structures.
-
nvkGetPhysicalDeviceFeatures2
public static void nvkGetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice, long pFeatures)
Unsafe version of:GetPhysicalDeviceFeatures2
-
vkGetPhysicalDeviceFeatures2
public static void vkGetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2 pFeatures)
Reports capabilities of a physical device.C Specification
To query supported features defined by the core or extensions, call:
void vkGetPhysicalDeviceFeatures2( VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);or the equivalent command
void vkGetPhysicalDeviceFeatures2KHR( VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);Description
Each structure in
pFeaturesand itspNextchain contain members corresponding to fine-grained features.vkGetPhysicalDeviceFeatures2writes each member to a boolean value indicating whether that feature is supported.Valid Usage (Implicit)
physicalDevicemust be a validVkPhysicalDevicehandlepFeaturesmust be a valid pointer to aVkPhysicalDeviceFeatures2structure
See Also
- Parameters:
physicalDevice- the physical device from which to query the supported features.pFeatures- a pointer to aVkPhysicalDeviceFeatures2structure in which the physical device features are returned.
-
nvkGetPhysicalDeviceProperties2
public static void nvkGetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice, long pProperties)
Unsafe version of:GetPhysicalDeviceProperties2
-
vkGetPhysicalDeviceProperties2
public static void vkGetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2 pProperties)
Returns properties of a physical device.C Specification
To query general properties of physical devices once enumerated, call:
void vkGetPhysicalDeviceProperties2( VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);or the equivalent command
void vkGetPhysicalDeviceProperties2KHR( VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);Description
Each structure in
pPropertiesand itspNextchain contain members corresponding to properties or implementation-dependent limits.vkGetPhysicalDeviceProperties2writes each member to a value indicating the value of that property or limit.Valid Usage (Implicit)
physicalDevicemust be a validVkPhysicalDevicehandlepPropertiesmust be a valid pointer to aVkPhysicalDeviceProperties2structure
See Also
- Parameters:
physicalDevice- the handle to the physical device whose properties will be queried.pProperties- points to an instance of theVkPhysicalDeviceProperties2structure, that will be filled with returned information.
-
nvkGetPhysicalDeviceFormatProperties2
public static void nvkGetPhysicalDeviceFormatProperties2(VkPhysicalDevice physicalDevice, int format, long pFormatProperties)
Unsafe version of:GetPhysicalDeviceFormatProperties2
-
vkGetPhysicalDeviceFormatProperties2
public static void vkGetPhysicalDeviceFormatProperties2(VkPhysicalDevice physicalDevice, int format, VkFormatProperties2 pFormatProperties)
Lists physical device's format capabilities.C Specification
To query supported format features which are properties of the physical device, call:
void vkGetPhysicalDeviceFormatProperties2( VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);or the equivalent command
void vkGetPhysicalDeviceFormatProperties2KHR( VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);Description
vkGetPhysicalDeviceFormatProperties2behaves similarly toGetPhysicalDeviceFormatProperties, with the ability to return extended information in apNextchain of output structures.Valid Usage (Implicit)
physicalDevicemust be a validVkPhysicalDevicehandleformatmust be a validVkFormatvaluepFormatPropertiesmust be a valid pointer to aVkFormatProperties2structure
See Also
- Parameters:
physicalDevice- the physical device from which to query the format properties.format- the format whose properties are queried.pFormatProperties- a pointer to aVkFormatProperties2structure in which physical device properties forformatare returned.
-
nvkGetPhysicalDeviceImageFormatProperties2
public static int nvkGetPhysicalDeviceImageFormatProperties2(VkPhysicalDevice physicalDevice, long pImageFormatInfo, long pImageFormatProperties)
Unsafe version of:GetPhysicalDeviceImageFormatProperties2
-
vkGetPhysicalDeviceImageFormatProperties2
public static int vkGetPhysicalDeviceImageFormatProperties2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceImageFormatInfo2 pImageFormatInfo, VkImageFormatProperties2 pImageFormatProperties)
Lists physical device's image format capabilities.C Specification
To query additional capabilities specific to image types, call:
VkResult vkGetPhysicalDeviceImageFormatProperties2( VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);or the equivalent command
VkResult vkGetPhysicalDeviceImageFormatProperties2KHR( VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);Description
vkGetPhysicalDeviceImageFormatProperties2behaves similarly toGetPhysicalDeviceImageFormatProperties, with the ability to return extended information in apNextchain of output structures.Valid Usage (Implicit)
physicalDevicemust be a validVkPhysicalDevicehandlepImageFormatInfomust be a valid pointer to a validVkPhysicalDeviceImageFormatInfo2structurepImageFormatPropertiesmust be a valid pointer to aVkImageFormatProperties2structure
Return Codes
- On success, this command returns
- On failure, this command returns
See Also
- Parameters:
physicalDevice- the physical device from which to query the image capabilities.pImageFormatInfo- points to an instance of theVkPhysicalDeviceImageFormatInfo2structure, describing the parameters that would be consumed byCreateImage.pImageFormatProperties- points to an instance of theVkImageFormatProperties2structure in which capabilities are returned.
-
nvkGetPhysicalDeviceQueueFamilyProperties2
public static void nvkGetPhysicalDeviceQueueFamilyProperties2(VkPhysicalDevice physicalDevice, long pQueueFamilyPropertyCount, long pQueueFamilyProperties)
Unsafe version of:GetPhysicalDeviceQueueFamilyProperties2- Parameters:
pQueueFamilyPropertyCount- a pointer to an integer related to the number of queue families available or queried, as described inGetPhysicalDeviceQueueFamilyProperties.
-
vkGetPhysicalDeviceQueueFamilyProperties2
public static void vkGetPhysicalDeviceQueueFamilyProperties2(VkPhysicalDevice physicalDevice, java.nio.IntBuffer pQueueFamilyPropertyCount, @Nullable VkQueueFamilyProperties2.Buffer pQueueFamilyProperties)
Reports properties of the queues of the specified physical device.C Specification
To query properties of queues available on a physical device, call:
void vkGetPhysicalDeviceQueueFamilyProperties2( VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);or the equivalent command
void vkGetPhysicalDeviceQueueFamilyProperties2KHR( VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);Description
vkGetPhysicalDeviceQueueFamilyProperties2behaves similarly toGetPhysicalDeviceQueueFamilyProperties, with the ability to return extended information in apNextchain of output structures.Valid Usage (Implicit)
physicalDevicemust be a validVkPhysicalDevicehandlepQueueFamilyPropertyCountmust be a valid pointer to auint32_tvalue- If the value referenced by
pQueueFamilyPropertyCountis not 0, andpQueueFamilyPropertiesis notNULL,pQueueFamilyPropertiesmust be a valid pointer to an array ofpQueueFamilyPropertyCountVkQueueFamilyProperties2structures
See Also
- Parameters:
physicalDevice- the handle to the physical device whose properties will be queried.pQueueFamilyPropertyCount- a pointer to an integer related to the number of queue families available or queried, as described inGetPhysicalDeviceQueueFamilyProperties.pQueueFamilyProperties- eitherNULLor a pointer to an array ofVkQueueFamilyProperties2structures.
-
nvkGetPhysicalDeviceMemoryProperties2
public static void nvkGetPhysicalDeviceMemoryProperties2(VkPhysicalDevice physicalDevice, long pMemoryProperties)
Unsafe version of:GetPhysicalDeviceMemoryProperties2
-
vkGetPhysicalDeviceMemoryProperties2
public static void vkGetPhysicalDeviceMemoryProperties2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2 pMemoryProperties)
Reports memory information for the specified physical device.C Specification
To query memory properties, call:
void vkGetPhysicalDeviceMemoryProperties2( VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);or the equivalent command
void vkGetPhysicalDeviceMemoryProperties2KHR( VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);Description
vkGetPhysicalDeviceMemoryProperties2behaves similarly toGetPhysicalDeviceMemoryProperties, with the ability to return extended information in apNextchain of output structures.Valid Usage (Implicit)
physicalDevicemust be a validVkPhysicalDevicehandlepMemoryPropertiesmust be a valid pointer to aVkPhysicalDeviceMemoryProperties2structure
See Also
- Parameters:
physicalDevice- the handle to the device to query.pMemoryProperties- points to an instance of theVkPhysicalDeviceMemoryProperties2structure in which the properties are returned.
-
nvkGetPhysicalDeviceSparseImageFormatProperties2
public static void nvkGetPhysicalDeviceSparseImageFormatProperties2(VkPhysicalDevice physicalDevice, long pFormatInfo, long pPropertyCount, long pProperties)
Unsafe version of:GetPhysicalDeviceSparseImageFormatProperties2- Parameters:
pPropertyCount- a pointer to an integer related to the number of sparse format properties available or queried, as described below.
-
vkGetPhysicalDeviceSparseImageFormatProperties2
public static void vkGetPhysicalDeviceSparseImageFormatProperties2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceSparseImageFormatInfo2 pFormatInfo, java.nio.IntBuffer pPropertyCount, @Nullable VkSparseImageFormatProperties2.Buffer pProperties)
Retrieve properties of an image format applied to sparse images.C Specification
vkGetPhysicalDeviceSparseImageFormatProperties2returns an array ofVkSparseImageFormatProperties2. Each element will describe properties for one set of image aspects that are bound simultaneously in the image. This is usually one element for each aspect in the image, but for interleaved depth/stencil images there is only one element describing the combined aspects.void vkGetPhysicalDeviceSparseImageFormatProperties2( VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties);or the equivalent command
void vkGetPhysicalDeviceSparseImageFormatProperties2KHR( VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties);Description
vkGetPhysicalDeviceSparseImageFormatProperties2behaves identically toGetPhysicalDeviceSparseImageFormatProperties, with the ability to return extended information by adding extension structures to thepNextchain of itspPropertiesparameter.Valid Usage (Implicit)
physicalDevicemust be a validVkPhysicalDevicehandlepFormatInfomust be a valid pointer to a validVkPhysicalDeviceSparseImageFormatInfo2structurepPropertyCountmust be a valid pointer to auint32_tvalue- If the value referenced by
pPropertyCountis not 0, andpPropertiesis notNULL,pPropertiesmust be a valid pointer to an array ofpPropertyCountVkSparseImageFormatProperties2structures
See Also
VkPhysicalDeviceSparseImageFormatInfo2,VkSparseImageFormatProperties2- Parameters:
physicalDevice- the physical device from which to query the sparse image capabilities.pFormatInfo- a pointer to a structure of typeVkPhysicalDeviceSparseImageFormatInfo2containing input parameters to the command.pPropertyCount- a pointer to an integer related to the number of sparse format properties available or queried, as described below.pProperties- eitherNULLor a pointer to an array ofVkSparseImageFormatProperties2structures.
-
vkTrimCommandPool
public static void vkTrimCommandPool(VkDevice device, long commandPool, int flags)
Trim a command pool.C Specification
To trim a command pool, call:
void vkTrimCommandPool( VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);or the equivalent command
void vkTrimCommandPoolKHR( VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);Description
Trimming a command pool recycles unused memory from the command pool back to the system. Command buffers allocated from the pool are not affected by the command.
Note
This command provides applications with some control over the internal memory allocations used by command pools.
Unused memory normally arises from command buffers that have been recorded and later reset, such that they are no longer using the memory. On reset, a command buffer can return memory to its command pool, but the only way to release memory from a command pool to the system requires calling
ResetCommandPool, which cannot be executed while any command buffers from that pool are still in use. Subsequent recording operations into command buffers will re-use this memory but since total memory requirements fluctuate over time, unused memory can accumulate.In this situation, trimming a command pool may be useful to return unused memory back to the system, returning the total outstanding memory allocated by the pool back to a more "
average" value.Implementations utilize many internal allocation strategies that make it impossible to guarantee that all unused memory is released back to the system. For instance, an implementation of a command pool may involve allocating memory in bulk from the system and sub-allocating from that memory. In such an implementation any live command buffer that holds a reference to a bulk allocation would prevent that allocation from being freed, even if only a small proportion of the bulk allocation is in use.
In most cases trimming will result in a reduction in allocated but unused memory, but it does not guarantee the "
ideal" behavior.Trimming may be an expensive operation, and should not be called frequently. Trimming should be treated as a way to relieve memory pressure after application-known points when there exists enough unused memory that the cost of trimming is "
worth" it.Valid Usage (Implicit)
devicemust be a validVkDevicehandlecommandPoolmust be a validVkCommandPoolhandleflagsmust be 0commandPoolmust have been created, allocated, or retrieved fromdevice
Host Synchronization
- Host access to
commandPoolmust be externally synchronized
- Parameters:
device- the logical device that owns the command pool.commandPool- the command pool to trim.flags- reserved for future use.
-
nvkGetDeviceQueue2
public static void nvkGetDeviceQueue2(VkDevice device, long pQueueInfo, long pQueue)
Unsafe version of:GetDeviceQueue2
-
vkGetDeviceQueue2
public static void vkGetDeviceQueue2(VkDevice device, VkDeviceQueueInfo2 pQueueInfo, org.lwjgl.PointerBuffer pQueue)
Get a queue handle from a device.C Specification
To retrieve a handle to a
VkQueueobject with specificVkDeviceQueueCreateFlagscreation flags, call:void vkGetDeviceQueue2( VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue);Valid Usage (Implicit)
devicemust be a validVkDevicehandlepQueueInfomust be a valid pointer to a validVkDeviceQueueInfo2structurepQueuemust be a valid pointer to aVkQueuehandle
See Also
- Parameters:
device- the logical device that owns the queue.pQueueInfo- points to an instance of theVkDeviceQueueInfo2structure, describing the parameters used to create the device queue.pQueue- a pointer to aVkQueueobject that will be filled with the handle for the requested queue.
-
nvkCreateSamplerYcbcrConversion
public static int nvkCreateSamplerYcbcrConversion(VkDevice device, long pCreateInfo, long pAllocator, long pYcbcrConversion)
Unsafe version of:CreateSamplerYcbcrConversion
-
vkCreateSamplerYcbcrConversion
public static int vkCreateSamplerYcbcrConversion(VkDevice device, VkSamplerYcbcrConversionCreateInfo pCreateInfo, @Nullable VkAllocationCallbacks pAllocator, java.nio.LongBuffer pYcbcrConversion)
Create a new Ycbcr conversion.C Specification
To create a
VkSamplerYcbcrConversion, call:VkResult vkCreateSamplerYcbcrConversion( VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);or the equivalent command
VkResult vkCreateSamplerYcbcrConversionKHR( VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);Description
The interpretation of the configured sampler Y'CBCR conversion is described in more detail in the description of sampler Y'CBCR conversion in the Image Operations chapter.
Valid Usage
- The sampler Y’CBCR conversion feature must be enabled
Valid Usage (Implicit)
devicemust be a validVkDevicehandlepCreateInfomust be a valid pointer to a validVkSamplerYcbcrConversionCreateInfostructure- If
pAllocatoris notNULL,pAllocatormust be a valid pointer to a validVkAllocationCallbacksstructure pYcbcrConversionmust be a valid pointer to aVkSamplerYcbcrConversionhandle
Return Codes
- On success, this command returns
- On failure, this command returns
See Also
- Parameters:
device- the logical device that creates the sampler Y’CBCR conversion.pCreateInfo- a pointer to an instance of theVkSamplerYcbcrConversionCreateInfospecifying the requested sampler Y’CBCR conversion.pAllocator- controls host memory allocation as described in the Memory Allocation chapter.pYcbcrConversion- points to aVkSamplerYcbcrConversionhandle in which the resulting sampler Y’CBCR conversion is returned.
-
nvkDestroySamplerYcbcrConversion
public static void nvkDestroySamplerYcbcrConversion(VkDevice device, long ycbcrConversion, long pAllocator)
Unsafe version of:DestroySamplerYcbcrConversion
-
vkDestroySamplerYcbcrConversion
public static void vkDestroySamplerYcbcrConversion(VkDevice device, long ycbcrConversion, @Nullable VkAllocationCallbacks pAllocator)
Destroy a created Y'CbCr conversion.C Specification
To destroy a sampler Y'CBCR conversion, call:
void vkDestroySamplerYcbcrConversion( VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);or the equivalent command
void vkDestroySamplerYcbcrConversionKHR( VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);Valid Usage (Implicit)
devicemust be a validVkDevicehandle- If
ycbcrConversionis notNULL_HANDLE,ycbcrConversionmust be a validVkSamplerYcbcrConversionhandle - If
pAllocatoris notNULL,pAllocatormust be a valid pointer to a validVkAllocationCallbacksstructure - If
ycbcrConversionis a valid handle, it must have been created, allocated, or retrieved fromdevice
Host Synchronization
- Host access to
ycbcrConversionmust be externally synchronized
See Also
- Parameters:
device- the logical device that destroys the Y’CBCR conversion.ycbcrConversion- the conversion to destroy.pAllocator- controls host memory allocation as described in the Memory Allocation chapter.
-
nvkCreateDescriptorUpdateTemplate
public static int nvkCreateDescriptorUpdateTemplate(VkDevice device, long pCreateInfo, long pAllocator, long pDescriptorUpdateTemplate)
Unsafe version of:CreateDescriptorUpdateTemplate
-
vkCreateDescriptorUpdateTemplate
public static int vkCreateDescriptorUpdateTemplate(VkDevice device, VkDescriptorUpdateTemplateCreateInfo pCreateInfo, @Nullable VkAllocationCallbacks pAllocator, java.nio.LongBuffer pDescriptorUpdateTemplate)
Create a new descriptor update template.C Specification
Updating a large
VkDescriptorSetarray can be an expensive operation since an application must specify oneVkWriteDescriptorSetstructure for each descriptor or descriptor array to update, each of which re-specifies the same state when updating the same descriptor in multiple descriptor sets. For cases when an application wishes to update the same set of descriptors in multiple descriptor sets allocated using the sameVkDescriptorSetLayout,UpdateDescriptorSetWithTemplatecan be used as a replacement forUpdateDescriptorSets.VkDescriptorUpdateTemplateallows implementations to convert a set of descriptor update operations on a single descriptor set to an internal format that, in conjunction withUpdateDescriptorSetWithTemplateorCmdPushDescriptorSetWithTemplateKHR, can be more efficient compared to callingUpdateDescriptorSetsorCmdPushDescriptorSetKHR. The descriptors themselves are not specified in theVkDescriptorUpdateTemplate, rather, offsets into an application provided pointer to host memory are specified, which are combined with a pointer passed toUpdateDescriptorSetWithTemplateorCmdPushDescriptorSetWithTemplateKHR. This allows large batches of updates to be executed without having to convert application data structures into a strictly-defined Vulkan data structure.To create a descriptor update template, call:
VkResult vkCreateDescriptorUpdateTemplate( VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);or the equivalent command
VkResult vkCreateDescriptorUpdateTemplateKHR( VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);Valid Usage (Implicit)
devicemust be a validVkDevicehandlepCreateInfomust be a valid pointer to a validVkDescriptorUpdateTemplateCreateInfostructure- If
pAllocatoris notNULL,pAllocatormust be a valid pointer to a validVkAllocationCallbacksstructure pDescriptorUpdateTemplatemust be a valid pointer to aVkDescriptorUpdateTemplatehandle
Return Codes
- On success, this command returns
- On failure, this command returns
See Also
- Parameters:
device- the logical device that creates the descriptor update template.pCreateInfo- a pointer to an instance of theVkDescriptorUpdateTemplateCreateInfostructure specifying the set of descriptors to update with a single call toCmdPushDescriptorSetWithTemplateKHRorUpdateDescriptorSetWithTemplate.pAllocator- controls host memory allocation as described in the Memory Allocation chapter.pDescriptorUpdateTemplate- points to aVkDescriptorUpdateTemplatehandle in which the resulting descriptor update template object is returned.
-
nvkDestroyDescriptorUpdateTemplate
public static void nvkDestroyDescriptorUpdateTemplate(VkDevice device, long descriptorUpdateTemplate, long pAllocator)
Unsafe version of:DestroyDescriptorUpdateTemplate
-
vkDestroyDescriptorUpdateTemplate
public static void vkDestroyDescriptorUpdateTemplate(VkDevice device, long descriptorUpdateTemplate, @Nullable VkAllocationCallbacks pAllocator)
Destroy a descriptor update template object.C Specification
To destroy a descriptor update template, call:
void vkDestroyDescriptorUpdateTemplate( VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);or the equivalent command
void vkDestroyDescriptorUpdateTemplateKHR( VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);Valid Usage
- If
VkAllocationCallbackswere provided whendescriptorSetLayoutwas created, a compatible set of callbacks must be provided here - If no
VkAllocationCallbackswere provided whendescriptorSetLayoutwas created,pAllocatormust beNULL
Valid Usage (Implicit)
devicemust be a validVkDevicehandle- If
descriptorUpdateTemplateis notNULL_HANDLE,descriptorUpdateTemplatemust be a validVkDescriptorUpdateTemplatehandle - If
pAllocatoris notNULL,pAllocatormust be a valid pointer to a validVkAllocationCallbacksstructure - If
descriptorUpdateTemplateis a valid handle, it must have been created, allocated, or retrieved fromdevice
Host Synchronization
- Host access to
descriptorUpdateTemplatemust be externally synchronized
See Also
- Parameters:
device- the logical device that has been used to create the descriptor update templatedescriptorUpdateTemplate- the descriptor update template to destroy.pAllocator- controls host memory allocation as described in the Memory Allocation chapter.
- If
-
vkUpdateDescriptorSetWithTemplate
public static void vkUpdateDescriptorSetWithTemplate(VkDevice device, long descriptorSet, long descriptorUpdateTemplate, long pData)
Update the contents of a descriptor set object using an update template.C Specification
Once a
VkDescriptorUpdateTemplatehas been created, descriptor sets can be updated by calling:void vkUpdateDescriptorSetWithTemplate( VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);or the equivalent command
void vkUpdateDescriptorSetWithTemplateKHR( VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);Valid Usage
pDatamust be a valid pointer to a memory that contains one or more valid instances ofVkDescriptorImageInfo,VkDescriptorBufferInfo, orVkBufferViewin a layout defined bydescriptorUpdateTemplatewhen it was created withCreateDescriptorUpdateTemplate
Valid Usage (Implicit)
devicemust be a validVkDevicehandledescriptorSetmust be a validVkDescriptorSethandledescriptorUpdateTemplatemust be a validVkDescriptorUpdateTemplatehandledescriptorUpdateTemplatemust have been created, allocated, or retrieved fromdevice
Host Synchronization
- Host access to
descriptorSetmust be externally synchronized
struct AppBufferView { VkBufferView bufferView; uint32_t applicationRelatedInformation; }; struct AppDataStructure { VkDescriptorImageInfo imageInfo; // a single image info VkDescriptorBufferInfo bufferInfoArray[3]; // 3 buffer infos in an array AppBufferView bufferView[2]; // An application defined structure containing a bufferView // ... some more application related data }; const VkDescriptorUpdateTemplateEntry descriptorUpdateTemplateEntries[] = { // binding to a single image descriptor { 0, // binding 0, // dstArrayElement 1, // descriptorCount VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, // descriptorType offsetof(AppDataStructure, imageInfo), // offset 0 // stride is not required if descriptorCount is 1 }, // binding to an array of buffer descriptors { 1, // binding 0, // dstArrayElement 3, // descriptorCount VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, // descriptorType offsetof(AppDataStructure, bufferInfoArray), // offset sizeof(VkDescriptorBufferInfo) // stride, descriptor buffer infos are compact }, // binding to an array of buffer views { 2, // binding 0, // dstArrayElement 2, // descriptorCount VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER, // descriptorType offsetof(AppDataStructure, bufferView) + offsetof(AppBufferView, bufferView), // offset sizeof(AppBufferView) // stride, bufferViews do not have to be compact }, }; // create a descriptor update template for descriptor set updates const VkDescriptorUpdateTemplateCreateInfo createInfo = { VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO, // sType NULL, // pNext 0, // flags 3, // descriptorUpdateEntryCount descriptorUpdateTemplateEntries, // pDescriptorUpdateEntries VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET, // templateType myLayout, // descriptorSetLayout 0, // pipelineBindPoint, ignored by given templateType 0, // pipelineLayout, ignored by given templateType 0, // set, ignored by given templateType }; VkDescriptorUpdateTemplate myDescriptorUpdateTemplate; myResult = vkCreateDescriptorUpdateTemplate( myDevice, &createInfo, NULL, &myDescriptorUpdateTemplate); } AppDataStructure appData; // fill appData here or cache it in your engine vkUpdateDescriptorSetWithTemplate(myDevice, myDescriptorSet, myDescriptorUpdateTemplate, &appData);- Parameters:
device- the logical device that updates the descriptor sets.descriptorSet- the descriptor set to updatedescriptorUpdateTemplate- theVkDescriptorUpdateTemplatewhich specifies the update mapping betweenpDataand the descriptor set to update.pData- a pointer to memory which contains one or more structures ofVkDescriptorImageInfo,VkDescriptorBufferInfo, orVkBufferViewused to write the descriptors.
-
nvkGetPhysicalDeviceExternalBufferProperties
public static void nvkGetPhysicalDeviceExternalBufferProperties(VkPhysicalDevice physicalDevice, long pExternalBufferInfo, long pExternalBufferProperties)
Unsafe version of:GetPhysicalDeviceExternalBufferProperties
-
vkGetPhysicalDeviceExternalBufferProperties
public static void vkGetPhysicalDeviceExternalBufferProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceExternalBufferInfo pExternalBufferInfo, VkExternalBufferProperties pExternalBufferProperties)
Query external handle types supported by buffers.C Specification
To query the external handle types supported by buffers, call:
void vkGetPhysicalDeviceExternalBufferProperties( VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);or the equivalent command
void vkGetPhysicalDeviceExternalBufferPropertiesKHR( VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);Valid Usage (Implicit)
physicalDevicemust be a validVkPhysicalDevicehandlepExternalBufferInfomust be a valid pointer to a validVkPhysicalDeviceExternalBufferInfostructurepExternalBufferPropertiesmust be a valid pointer to aVkExternalBufferPropertiesstructure
See Also
VkExternalBufferProperties,VkPhysicalDeviceExternalBufferInfo- Parameters:
physicalDevice- the physical device from which to query the buffer capabilities.pExternalBufferInfo- points to an instance of theVkPhysicalDeviceExternalBufferInfostructure, describing the parameters that would be consumed byCreateBuffer.pExternalBufferProperties- points to an instance of theVkExternalBufferPropertiesstructure in which capabilities are returned.
-
nvkGetPhysicalDeviceExternalFenceProperties
public static void nvkGetPhysicalDeviceExternalFenceProperties(VkPhysicalDevice physicalDevice, long pExternalFenceInfo, long pExternalFenceProperties)
Unsafe version of:GetPhysicalDeviceExternalFenceProperties
-
vkGetPhysicalDeviceExternalFenceProperties
public static void vkGetPhysicalDeviceExternalFenceProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceExternalFenceInfo pExternalFenceInfo, VkExternalFenceProperties pExternalFenceProperties)
Function for querying external fence handle capabilities.C Specification
Fences may support import and export of their payload to external handles. To query the external handle types supported by fences, call:
void vkGetPhysicalDeviceExternalFenceProperties( VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);or the equivalent command
void vkGetPhysicalDeviceExternalFencePropertiesKHR( VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);Valid Usage (Implicit)
physicalDevicemust be a validVkPhysicalDevicehandlepExternalFenceInfomust be a valid pointer to a validVkPhysicalDeviceExternalFenceInfostructurepExternalFencePropertiesmust be a valid pointer to aVkExternalFencePropertiesstructure
See Also
VkExternalFenceProperties,VkPhysicalDeviceExternalFenceInfo- Parameters:
physicalDevice- the physical device from which to query the fence capabilities.pExternalFenceInfo- points to an instance of theVkPhysicalDeviceExternalFenceInfostructure, describing the parameters that would be consumed byCreateFence.pExternalFenceProperties- points to an instance of theVkExternalFencePropertiesstructure in which capabilities are returned.
-
nvkGetPhysicalDeviceExternalSemaphoreProperties
public static void nvkGetPhysicalDeviceExternalSemaphoreProperties(VkPhysicalDevice physicalDevice, long pExternalSemaphoreInfo, long pExternalSemaphoreProperties)
Unsafe version of:GetPhysicalDeviceExternalSemaphoreProperties
-
vkGetPhysicalDeviceExternalSemaphoreProperties
public static void vkGetPhysicalDeviceExternalSemaphoreProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceExternalSemaphoreInfo pExternalSemaphoreInfo, VkExternalSemaphoreProperties pExternalSemaphoreProperties)
Function for querying external semaphore handle capabilities.C Specification
Semaphores may support import and export of their payload to external handles. To query the external handle types supported by semaphores, call:
void vkGetPhysicalDeviceExternalSemaphoreProperties( VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);or the equivalent command
void vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);Valid Usage (Implicit)
physicalDevicemust be a validVkPhysicalDevicehandlepExternalSemaphoreInfomust be a valid pointer to a validVkPhysicalDeviceExternalSemaphoreInfostructurepExternalSemaphorePropertiesmust be a valid pointer to aVkExternalSemaphorePropertiesstructure
See Also
VkExternalSemaphoreProperties,VkPhysicalDeviceExternalSemaphoreInfo- Parameters:
physicalDevice- the physical device from which to query the semaphore capabilities.pExternalSemaphoreInfo- points to an instance of theVkPhysicalDeviceExternalSemaphoreInfostructure, describing the parameters that would be consumed byCreateSemaphore.pExternalSemaphoreProperties- points to an instance of theVkExternalSemaphorePropertiesstructure in which capabilities are returned.
-
nvkGetDescriptorSetLayoutSupport
public static void nvkGetDescriptorSetLayoutSupport(VkDevice device, long pCreateInfo, long pSupport)
Unsafe version of:GetDescriptorSetLayoutSupport
-
vkGetDescriptorSetLayoutSupport
public static void vkGetDescriptorSetLayoutSupport(VkDevice device, VkDescriptorSetLayoutCreateInfo pCreateInfo, VkDescriptorSetLayoutSupport pSupport)
Query whether a descriptor set layout can be created.C Specification
To query information about whether a descriptor set layout can be created, call:
void vkGetDescriptorSetLayoutSupport( VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);or the equivalent command
void vkGetDescriptorSetLayoutSupportKHR( VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);Description
Some implementations have limitations on what fits in a descriptor set which are not easily expressible in terms of existing limits like
maxDescriptorSet*, for example if all descriptor types share a limited space in memory but each descriptor is a different size or alignment. This command returns information about whether a descriptor set satisfies this limit. If the descriptor set layout satisfies theVkPhysicalDeviceMaintenance3Properties::maxPerSetDescriptorslimit, this command is guaranteed to returnTRUEinVkDescriptorSetLayoutSupport::supported. If the descriptor set layout exceeds theVkPhysicalDeviceMaintenance3Properties::maxPerSetDescriptorslimit, whether the descriptor set layout is supported is implementation-dependent and may depend on whether the descriptor sizes and alignments cause the layout to exceed an internal limit.This command does not consider other limits such as
maxPerStageDescriptor*, and so a descriptor set layout that is supported according to this command must still satisfy the pipeline layout limits such asmaxPerStageDescriptor* in order to be used in a pipeline layout.Note
This is a
VkDevicequery rather thanVkPhysicalDevicebecause the answer may depend on enabled features.Valid Usage (Implicit)
devicemust be a validVkDevicehandlepCreateInfomust be a valid pointer to a validVkDescriptorSetLayoutCreateInfostructurepSupportmust be a valid pointer to aVkDescriptorSetLayoutSupportstructure
See Also
VkDescriptorSetLayoutCreateInfo,VkDescriptorSetLayoutSupport- Parameters:
device- the logical device that would create the descriptor set layout.pCreateInfo- a pointer to an instance of theVkDescriptorSetLayoutCreateInfostructure specifying the state of the descriptor set layout object.pSupport- points to aVkDescriptorSetLayoutSupportstructure in which information about support for the descriptor set layout object is returned.
-
vkEnumerateInstanceVersion
public static int vkEnumerateInstanceVersion(int[] pApiVersion)
Array version of:EnumerateInstanceVersion
-
vkGetDeviceGroupPeerMemoryFeatures
public static void vkGetDeviceGroupPeerMemoryFeatures(VkDevice device, int heapIndex, int localDeviceIndex, int remoteDeviceIndex, int[] pPeerMemoryFeatures)
Array version of:GetDeviceGroupPeerMemoryFeatures
-
vkEnumeratePhysicalDeviceGroups
public static int vkEnumeratePhysicalDeviceGroups(VkInstance instance, int[] pPhysicalDeviceGroupCount, @Nullable VkPhysicalDeviceGroupProperties.Buffer pPhysicalDeviceGroupProperties)
Array version of:EnumeratePhysicalDeviceGroups
-
vkGetImageSparseMemoryRequirements2
public static void vkGetImageSparseMemoryRequirements2(VkDevice device, VkImageSparseMemoryRequirementsInfo2 pInfo, int[] pSparseMemoryRequirementCount, @Nullable VkSparseImageMemoryRequirements2.Buffer pSparseMemoryRequirements)
Array version of:GetImageSparseMemoryRequirements2
-
vkGetPhysicalDeviceQueueFamilyProperties2
public static void vkGetPhysicalDeviceQueueFamilyProperties2(VkPhysicalDevice physicalDevice, int[] pQueueFamilyPropertyCount, @Nullable VkQueueFamilyProperties2.Buffer pQueueFamilyProperties)
Array version of:GetPhysicalDeviceQueueFamilyProperties2
-
vkGetPhysicalDeviceSparseImageFormatProperties2
public static void vkGetPhysicalDeviceSparseImageFormatProperties2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceSparseImageFormatInfo2 pFormatInfo, int[] pPropertyCount, @Nullable VkSparseImageFormatProperties2.Buffer pProperties)
Array version of:GetPhysicalDeviceSparseImageFormatProperties2
-
vkCreateSamplerYcbcrConversion
public static int vkCreateSamplerYcbcrConversion(VkDevice device, VkSamplerYcbcrConversionCreateInfo pCreateInfo, @Nullable VkAllocationCallbacks pAllocator, long[] pYcbcrConversion)
Array version of:CreateSamplerYcbcrConversion
-
vkCreateDescriptorUpdateTemplate
public static int vkCreateDescriptorUpdateTemplate(VkDevice device, VkDescriptorUpdateTemplateCreateInfo pCreateInfo, @Nullable VkAllocationCallbacks pAllocator, long[] pDescriptorUpdateTemplate)
Array version of:CreateDescriptorUpdateTemplate
-
-