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_storage
KHR_bind_memory2
KHR_dedicated_allocation
KHR_descriptor_update_template
KHR_device_group
KHR_device_group_creation
KHR_external_memory
KHR_external_memory_capabilities
KHR_external_semaphore
KHR_external_semaphore_capabilities
KHR_external_fence
KHR_external_fence_capabilities
KHR_get_memory_requirements2
KHR_get_physical_device_properties2
KHR_maintenance1
KHR_maintenance2
KHR_maintenance3
KHR_multiview
KHR_relaxed_block_layout
KHR_sampler_ycbcr_conversion
KHR_shader_draw_parameters
KHR_storage_buffer_storage_class
KHR_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, andvariablePointersStorageBuffer
fromVK_KHR_variable_pointers
was 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 int
nvkBindBufferMemory2(VkDevice device, int bindInfoCount, long pBindInfos)
Unsafe version of:BindBufferMemory2
static int
nvkBindImageMemory2(VkDevice device, int bindInfoCount, long pBindInfos)
Unsafe version of:BindImageMemory2
static int
nvkCreateDescriptorUpdateTemplate(VkDevice device, long pCreateInfo, long pAllocator, long pDescriptorUpdateTemplate)
Unsafe version of:CreateDescriptorUpdateTemplate
static int
nvkCreateSamplerYcbcrConversion(VkDevice device, long pCreateInfo, long pAllocator, long pYcbcrConversion)
Unsafe version of:CreateSamplerYcbcrConversion
static void
nvkDestroyDescriptorUpdateTemplate(VkDevice device, long descriptorUpdateTemplate, long pAllocator)
Unsafe version of:DestroyDescriptorUpdateTemplate
static void
nvkDestroySamplerYcbcrConversion(VkDevice device, long ycbcrConversion, long pAllocator)
Unsafe version of:DestroySamplerYcbcrConversion
static int
nvkEnumerateInstanceVersion(long pApiVersion)
Unsafe version of:EnumerateInstanceVersion
static int
nvkEnumeratePhysicalDeviceGroups(VkInstance instance, long pPhysicalDeviceGroupCount, long pPhysicalDeviceGroupProperties)
Unsafe version of:EnumeratePhysicalDeviceGroups
static void
nvkGetBufferMemoryRequirements2(VkDevice device, long pInfo, long pMemoryRequirements)
Unsafe version of:GetBufferMemoryRequirements2
static void
nvkGetDescriptorSetLayoutSupport(VkDevice device, long pCreateInfo, long pSupport)
Unsafe version of:GetDescriptorSetLayoutSupport
static void
nvkGetDeviceGroupPeerMemoryFeatures(VkDevice device, int heapIndex, int localDeviceIndex, int remoteDeviceIndex, long pPeerMemoryFeatures)
Unsafe version of:GetDeviceGroupPeerMemoryFeatures
static void
nvkGetDeviceQueue2(VkDevice device, long pQueueInfo, long pQueue)
Unsafe version of:GetDeviceQueue2
static void
nvkGetImageMemoryRequirements2(VkDevice device, long pInfo, long pMemoryRequirements)
Unsafe version of:GetImageMemoryRequirements2
static void
nvkGetImageSparseMemoryRequirements2(VkDevice device, long pInfo, long pSparseMemoryRequirementCount, long pSparseMemoryRequirements)
Unsafe version of:GetImageSparseMemoryRequirements2
static void
nvkGetPhysicalDeviceExternalBufferProperties(VkPhysicalDevice physicalDevice, long pExternalBufferInfo, long pExternalBufferProperties)
Unsafe version of:GetPhysicalDeviceExternalBufferProperties
static void
nvkGetPhysicalDeviceExternalFenceProperties(VkPhysicalDevice physicalDevice, long pExternalFenceInfo, long pExternalFenceProperties)
Unsafe version of:GetPhysicalDeviceExternalFenceProperties
static void
nvkGetPhysicalDeviceExternalSemaphoreProperties(VkPhysicalDevice physicalDevice, long pExternalSemaphoreInfo, long pExternalSemaphoreProperties)
Unsafe version of:GetPhysicalDeviceExternalSemaphoreProperties
static void
nvkGetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice, long pFeatures)
Unsafe version of:GetPhysicalDeviceFeatures2
static void
nvkGetPhysicalDeviceFormatProperties2(VkPhysicalDevice physicalDevice, int format, long pFormatProperties)
Unsafe version of:GetPhysicalDeviceFormatProperties2
static int
nvkGetPhysicalDeviceImageFormatProperties2(VkPhysicalDevice physicalDevice, long pImageFormatInfo, long pImageFormatProperties)
Unsafe version of:GetPhysicalDeviceImageFormatProperties2
static void
nvkGetPhysicalDeviceMemoryProperties2(VkPhysicalDevice physicalDevice, long pMemoryProperties)
Unsafe version of:GetPhysicalDeviceMemoryProperties2
static void
nvkGetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice, long pProperties)
Unsafe version of:GetPhysicalDeviceProperties2
static void
nvkGetPhysicalDeviceQueueFamilyProperties2(VkPhysicalDevice physicalDevice, long pQueueFamilyPropertyCount, long pQueueFamilyProperties)
Unsafe version of:GetPhysicalDeviceQueueFamilyProperties2
static void
nvkGetPhysicalDeviceSparseImageFormatProperties2(VkPhysicalDevice physicalDevice, long pFormatInfo, long pPropertyCount, long pProperties)
Unsafe version of:GetPhysicalDeviceSparseImageFormatProperties2
static int
vkBindBufferMemory2(VkDevice device, VkBindBufferMemoryInfo.Buffer pBindInfos)
Bind device memory to buffer objects.static int
vkBindImageMemory2(VkDevice device, VkBindImageMemoryInfo.Buffer pBindInfos)
Bind device memory to image objects.static void
vkCmdDispatchBase(VkCommandBuffer commandBuffer, int baseGroupX, int baseGroupY, int baseGroupZ, int groupCountX, int groupCountY, int groupCountZ)
Dispatch compute work items.static void
vkCmdSetDeviceMask(VkCommandBuffer commandBuffer, int deviceMask)
Modify device mask of a command buffer.static int
vkCreateDescriptorUpdateTemplate(VkDevice device, VkDescriptorUpdateTemplateCreateInfo pCreateInfo, VkAllocationCallbacks pAllocator, long[] pDescriptorUpdateTemplate)
Array version of:CreateDescriptorUpdateTemplate
static int
vkCreateDescriptorUpdateTemplate(VkDevice device, VkDescriptorUpdateTemplateCreateInfo pCreateInfo, VkAllocationCallbacks pAllocator, java.nio.LongBuffer pDescriptorUpdateTemplate)
Create a new descriptor update template.static int
vkCreateSamplerYcbcrConversion(VkDevice device, VkSamplerYcbcrConversionCreateInfo pCreateInfo, VkAllocationCallbacks pAllocator, long[] pYcbcrConversion)
Array version of:CreateSamplerYcbcrConversion
static int
vkCreateSamplerYcbcrConversion(VkDevice device, VkSamplerYcbcrConversionCreateInfo pCreateInfo, VkAllocationCallbacks pAllocator, java.nio.LongBuffer pYcbcrConversion)
Create a new Ycbcr conversion.static void
vkDestroyDescriptorUpdateTemplate(VkDevice device, long descriptorUpdateTemplate, VkAllocationCallbacks pAllocator)
Destroy a descriptor update template object.static void
vkDestroySamplerYcbcrConversion(VkDevice device, long ycbcrConversion, VkAllocationCallbacks pAllocator)
Destroy a created Y'CbCr conversion.static int
vkEnumerateInstanceVersion(int[] pApiVersion)
Array version of:EnumerateInstanceVersion
static int
vkEnumerateInstanceVersion(java.nio.IntBuffer pApiVersion)
Query instance-level version before instance creation.static int
vkEnumeratePhysicalDeviceGroups(VkInstance instance, int[] pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties.Buffer pPhysicalDeviceGroupProperties)
Array version of:EnumeratePhysicalDeviceGroups
static int
vkEnumeratePhysicalDeviceGroups(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 void
vkGetBufferMemoryRequirements2(VkDevice device, VkBufferMemoryRequirementsInfo2 pInfo, VkMemoryRequirements2 pMemoryRequirements)
Returns the memory requirements for specified Vulkan object.static void
vkGetDescriptorSetLayoutSupport(VkDevice device, VkDescriptorSetLayoutCreateInfo pCreateInfo, VkDescriptorSetLayoutSupport pSupport)
Query whether a descriptor set layout can be created.static void
vkGetDeviceGroupPeerMemoryFeatures(VkDevice device, int heapIndex, int localDeviceIndex, int remoteDeviceIndex, int[] pPeerMemoryFeatures)
Array version of:GetDeviceGroupPeerMemoryFeatures
static void
vkGetDeviceGroupPeerMemoryFeatures(VkDevice device, int heapIndex, int localDeviceIndex, int remoteDeviceIndex, java.nio.IntBuffer pPeerMemoryFeatures)
Query supported peer memory features of a device.static void
vkGetDeviceQueue2(VkDevice device, VkDeviceQueueInfo2 pQueueInfo, org.lwjgl.PointerBuffer pQueue)
Get a queue handle from a device.static void
vkGetImageMemoryRequirements2(VkDevice device, VkImageMemoryRequirementsInfo2 pInfo, VkMemoryRequirements2 pMemoryRequirements)
Returns the memory requirements for specified Vulkan object.static void
vkGetImageSparseMemoryRequirements2(VkDevice device, VkImageSparseMemoryRequirementsInfo2 pInfo, int[] pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2.Buffer pSparseMemoryRequirements)
Array version of:GetImageSparseMemoryRequirements2
static void
vkGetImageSparseMemoryRequirements2(VkDevice device, VkImageSparseMemoryRequirementsInfo2 pInfo, java.nio.IntBuffer pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2.Buffer pSparseMemoryRequirements)
Query the memory requirements for a sparse image.static void
vkGetPhysicalDeviceExternalBufferProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceExternalBufferInfo pExternalBufferInfo, VkExternalBufferProperties pExternalBufferProperties)
Query external handle types supported by buffers.static void
vkGetPhysicalDeviceExternalFenceProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceExternalFenceInfo pExternalFenceInfo, VkExternalFenceProperties pExternalFenceProperties)
Function for querying external fence handle capabilities.static void
vkGetPhysicalDeviceExternalSemaphoreProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceExternalSemaphoreInfo pExternalSemaphoreInfo, VkExternalSemaphoreProperties pExternalSemaphoreProperties)
Function for querying external semaphore handle capabilities.static void
vkGetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2 pFeatures)
Reports capabilities of a physical device.static void
vkGetPhysicalDeviceFormatProperties2(VkPhysicalDevice physicalDevice, int format, VkFormatProperties2 pFormatProperties)
Lists physical device's format capabilities.static int
vkGetPhysicalDeviceImageFormatProperties2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceImageFormatInfo2 pImageFormatInfo, VkImageFormatProperties2 pImageFormatProperties)
Lists physical device's image format capabilities.static void
vkGetPhysicalDeviceMemoryProperties2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2 pMemoryProperties)
Reports memory information for the specified physical device.static void
vkGetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2 pProperties)
Returns properties of a physical device.static void
vkGetPhysicalDeviceQueueFamilyProperties2(VkPhysicalDevice physicalDevice, int[] pQueueFamilyPropertyCount, VkQueueFamilyProperties2.Buffer pQueueFamilyProperties)
Array version of:GetPhysicalDeviceQueueFamilyProperties2
static void
vkGetPhysicalDeviceQueueFamilyProperties2(VkPhysicalDevice physicalDevice, java.nio.IntBuffer pQueueFamilyPropertyCount, VkQueueFamilyProperties2.Buffer pQueueFamilyProperties)
Reports properties of the queues of the specified physical device.static void
vkGetPhysicalDeviceSparseImageFormatProperties2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceSparseImageFormatInfo2 pFormatInfo, int[] pPropertyCount, VkSparseImageFormatProperties2.Buffer pProperties)
Array version of:GetPhysicalDeviceSparseImageFormatProperties2
static void
vkGetPhysicalDeviceSparseImageFormatProperties2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceSparseImageFormatInfo2 pFormatInfo, java.nio.IntBuffer pPropertyCount, VkSparseImageFormatProperties2.Buffer pProperties)
Retrieve properties of an image format applied to sparse images.static void
vkTrimCommandPool(VkDevice device, long commandPool, int flags)
Trim a command pool.static void
vkUpdateDescriptorSetWithTemplate(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_2
STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2
STRUCTURE_TYPE_FORMAT_PROPERTIES_2
STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2
STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2
STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2
STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2
STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2
STRUCTURE_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_INFO
STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO
STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO
STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO
STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES
STRUCTURE_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_UNORM
FORMAT_B8G8R8G8_422_UNORM
FORMAT_G8_B8_R8_3PLANE_420_UNORM
FORMAT_G8_B8R8_2PLANE_420_UNORM
FORMAT_G8_B8_R8_3PLANE_422_UNORM
FORMAT_G8_B8R8_2PLANE_422_UNORM
FORMAT_G8_B8_R8_3PLANE_444_UNORM
FORMAT_R10X6_UNORM_PACK16
FORMAT_R10X6G10X6_UNORM_2PACK16
FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16
FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16
FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16
FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16
FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16
FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16
FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16
FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16
FORMAT_R12X4_UNORM_PACK16
FORMAT_R12X4G12X4_UNORM_2PACK16
FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16
FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16
FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16
FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16
FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16
FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16
FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16
FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16
FORMAT_G16B16G16R16_422_UNORM
FORMAT_B16G16R16G16_422_UNORM
FORMAT_G16_B16_R16_3PLANE_420_UNORM
FORMAT_G16_B16R16_2PLANE_420_UNORM
FORMAT_G16_B16_R16_3PLANE_422_UNORM
FORMAT_G16_B16R16_2PLANE_422_UNORM
FORMAT_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_BIT
FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT
FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT
FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT
FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT
FORMAT_FEATURE_DISJOINT_BIT
FORMAT_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_BIT
specifies the device will accept SPIR-V shader modules that contain theGroupNonUniform
capability.SUBGROUP_FEATURE_VOTE_BIT
specifies the device will accept SPIR-V shader modules that contain theGroupNonUniformVote
capability.SUBGROUP_FEATURE_ARITHMETIC_BIT
specifies the device will accept SPIR-V shader modules that contain theGroupNonUniformArithmetic
capability.SUBGROUP_FEATURE_BALLOT_BIT
specifies the device will accept SPIR-V shader modules that contain theGroupNonUniformBallot
capability.SUBGROUP_FEATURE_SHUFFLE_BIT
specifies the device will accept SPIR-V shader modules that contain theGroupNonUniformShuffle
capability.SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT
specifies the device will accept SPIR-V shader modules that contain theGroupNonUniformShuffleRelative
capability.SUBGROUP_FEATURE_CLUSTERED_BIT
specifies the device will accept SPIR-V shader modules that contain theGroupNonUniformClustered
capability.SUBGROUP_FEATURE_QUAD_BIT
specifies the device will accept SPIR-V shader modules that contain theGroupNonUniformQuad
capability.SUBGROUP_FEATURE_PARTITIONED_BIT_NV
specifies the device will accept SPIR-V shader modules that contain theGroupNonUniformPartitionedNV
capability.
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_BIT
specifies that the memory can be accessed as the source of aCmdCopyBuffer
,CmdCopyImage
,CmdCopyBufferToImage
, orCmdCopyImageToBuffer
command.PEER_MEMORY_FEATURE_COPY_DST_BIT
specifies that the memory can be accessed as the destination of aCmdCopyBuffer
,CmdCopyImage
,CmdCopyBufferToImage
, orCmdCopyImageToBuffer
command.PEER_MEMORY_FEATURE_GENERIC_SRC_BIT
specifies that the memory can be read as any memory access type.PEER_MEMORY_FEATURE_GENERIC_DST_BIT
specifies 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_BIT
must 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_BIT
specifies 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_PLANES
specifies 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_ONLY
specifies 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_LEFT
specifies 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_LEFT
specifies 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
VertexOrderCw
andVertexOrderCcw
tessellation 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_IDENTITY
specifies that the input values to the conversion are unmodified.SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY
specifies no model conversion but the inputs are range expanded as for Y’CBCR.SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709
specifies 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_601
specifies 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_2020
specifies 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_UNORM
with a component mapping:components.a
=COMPONENT_SWIZZLE_IDENTITY
components.r
=COMPONENT_SWIZZLE_B
components.g
=COMPONENT_SWIZZLE_R
components.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_FULL
specifies that the full range of the encoded values are valid and interpreted according to the ITU “full range” quantization rules.SAMPLER_YCBCR_RANGE_ITU_NARROW
specifies 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
ycbcrModel
isSAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY
; theycbcrRange
field ofVkSamplerYcbcrConversionCreateInfo
is ignored in this case.See Also
-
VK_CHROMA_LOCATION_COSITED_EVEN, VK_CHROMA_LOCATION_MIDPOINT
VkChromaLocation - Position of downsampled chroma samplesDescription
CHROMA_LOCATION_COSITED_EVEN
specifies that downsampled chroma samples are aligned with luma samples with even coordinates.CHROMA_LOCATION_MIDPOINT
specifies 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_SET
specifies that the descriptor update template will be used for descriptor set updates only.DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR
specifies 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_BIT
specifies 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_RIGHTS
control message. It owns a reference to the underlying memory resource represented by its Vulkan memory object.EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT
specifies 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_BIT
specifies 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_BIT
specifies an NT handle returned byIDXGIResource1
::CreateSharedHandle
referring 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_BIT
specifies a global share handle returned byIDXGIResource
::GetSharedHandle
referring 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_BIT
specifies an NT handle returned byID3D12Device
::CreateSharedHandle
referring to a Direct3D 12 heap resource. It owns a reference to the resources used by the Direct3D heap.EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT
specifies an NT handle returned byID3D12Device
::CreateSharedHandle
referring 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_EXT
specifies 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_EXT
specifies 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_EXT
is 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
::driverUUID
VkPhysicalDeviceIDProperties
::deviceUUID
EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT
Must match Must match EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT
Must match Must match EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT
Must match Must match EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT
Must match Must match EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT
Must match Must match EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT
Must match Must match EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT
Must match Must match EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT
No restriction No restriction EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT
No restriction No restriction EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT
No restriction No restriction Note
The above table does not restrict the drivers and devices with which
EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT
andEXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT
may 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_EXT
may 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 asVkPhysicalDeviceExternalBufferInfo
andVkPhysicalDeviceExternalImageFormatInfo
).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_BIT
specifies that images or buffers created with the specified parameters and handle type must use the mechanisms defined byVkMemoryDedicatedRequirements
andVkMemoryDedicatedAllocateInfo
to create (or import) a dedicated allocation for the image or buffer.EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT
specifies that handles of this type can be exported from Vulkan memory objects.EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT
specifies 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_BIT
for the following external handle types:EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT
EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT
EXTERNAL_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_BIT
specifies 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_RIGHTS
control message. It owns a reference to the underlying synchronization primitive represented by its Vulkan fence object.EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT
specifies 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_BIT
specifies 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_BIT
specifies 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
::driverUUID
VkPhysicalDeviceIDProperties
::deviceUUID
EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT
Must match Must match EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT
Must match Must match EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT
Must match Must match EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT
No 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_BIT
specifies handles of this type can be exported from Vulkan fence objects.EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT
specifies 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_BIT
specifies 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_BIT
specifies 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_BIT
specifies 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_RIGHTS
control message. It owns a reference to the underlying synchronization primitive represented by its Vulkan semaphore object.EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT
specifies 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_BIT
specifies 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_BIT
specifies an NT handle returned byID3D12Device
::CreateSharedHandle
referring 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_BIT
specifies 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_BIT
generated 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
::driverUUID
VkPhysicalDeviceIDProperties
::deviceUUID
EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT
Must match Must match EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT
Must match Must match EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT
Must match Must match EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT
Must match Must match EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT
No 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_BIT
specifies that handles of this type can be exported from Vulkan semaphore objects.EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT
specifies 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)
pApiVersion
must be a valid pointer to auint32_t
value
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)
device
must be a validVkDevice
handlepBindInfos
must be a valid pointer to an array ofbindInfoCount
validVkBindBufferMemoryInfo
structuresbindInfoCount
must 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)
device
must be a validVkDevice
handlepBindInfos
must be a valid pointer to an array ofbindInfoCount
validVkBindImageMemoryInfo
structuresbindInfoCount
must 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
heapIndex
must be less thanmemoryHeapCount
localDeviceIndex
must be a valid device indexremoteDeviceIndex
must be a valid device indexlocalDeviceIndex
must not equalremoteDeviceIndex
Valid Usage (Implicit)
device
must be a validVkDevice
handlepPeerMemoryFeatures
must be a valid pointer to aVkPeerMemoryFeatureFlags
value
- 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 ofVkPeerMemoryFeatureFlagBits
indicating 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
deviceMask
is 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 thedeviceMask
member of the instance of theVkDeviceGroupRenderPassBeginInfo
structure passed to the command beginning the corresponding render pass instance.Valid Usage
deviceMask
must be a valid device mask valuedeviceMask
must not be zerodeviceMask
must not include any set bits that were not in theVkDeviceGroupCommandBufferBeginInfo
::deviceMask
value when the command buffer began recording.- If
vkCmdSetDeviceMask
is called inside a render pass instance,deviceMask
must not include any set bits that were not in theVkDeviceGroupRenderPassBeginInfo
::deviceMask
value when the render pass instance began recording.
Valid Usage (Implicit)
commandBuffer
must be a validVkCommandBuffer
handlecommandBuffer
must be in the recording state- The
VkCommandPool
thatcommandBuffer
was allocated from must support graphics, compute, or transfer operations
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized - Host access to the
VkCommandPool
thatcommandBuffer
was 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 × groupCountZ
local workgroups is assembled, withWorkgroupId
values ranging from[baseGroup*, baseGroup* + groupCount*)
in each component.CmdDispatch
is equivalent tovkCmdDispatchBase(0,0,0,groupCountX,groupCountY,groupCountZ)
.Valid Usage
- If a
VkImageView
is sampled withFILTER_LINEAR
as a result of this command, then the image view’s format features must containFORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
- If a
VkImageView
is 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
VkImageView
is sampled withFILTER_CUBIC_EXT
as a result of this command, then the image view’s format features must containFORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT
- Any
VkImageView
being sampled withFILTER_CUBIC_EXT
as a result of this command must have aVkImageViewType
and format that supports cubic filtering, as specified byVkFilterCubicImageViewImageFormatPropertiesEXT
::filterCubic
returned byvkGetPhysicalDeviceImageFormatProperties2
- Any
VkImageView
being sampled withFILTER_CUBIC_EXT
with a reduction mode of eitherSAMPLER_REDUCTION_MODE_MIN_EXT
orSAMPLER_REDUCTION_MODE_MAX_EXT
as a result of this command must have aVkImageViewType
and format that supports cubic filtering together with minmax filtering, as specified byVkFilterCubicImageViewImageFormatPropertiesEXT
::filterCubicMinmax
returned byvkGetPhysicalDeviceImageFormatProperties2
- Any
VkImage
created with aVkImageCreateInfo
::flags
containingIMAGE_CREATE_CORNER_SAMPLED_BIT_NV
sampled as a result of this command must only be sampled using aVkSamplerAddressMode
ofSAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE
. - For each set n that is statically used by the
VkPipeline
bound 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 aVkPipelineLayout
that is compatible for set n, with theVkPipelineLayout
used to create the currentVkPipeline
, as described in Pipeline Layout Compatibility - For each push constant that is statically used by the
VkPipeline
bound to the pipeline bind point used by this command, a push constant value must have been set for the same pipeline bind point, with aVkPipelineLayout
that is compatible for push constants, with theVkPipelineLayout
used 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 theVkPipeline
bound 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
VkPipeline
object bound to the pipeline bind point used by this command requires any dynamic state, that state must have been set forcommandBuffer
- If the
VkPipeline
object bound to the pipeline bind point used by this command accesses aVkSampler
object that uses unnormalized coordinates, that sampler must not be used to sample from anyVkImage
with aVkImageView
of the typeIMAGE_VIEW_TYPE_3D
,IMAGE_VIEW_TYPE_CUBE
,IMAGE_VIEW_TYPE_1D_ARRAY
,IMAGE_VIEW_TYPE_2D_ARRAY
orIMAGE_VIEW_TYPE_CUBE_ARRAY
, in any shader stage - If the
VkPipeline
object bound to the pipeline bind point used by this command accesses aVkSampler
object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-VOpImageSample*
orOpImageSparseSample*
instructions withImplicitLod
,Dref
orProj
in their name, in any shader stage - If the
VkPipeline
object bound to the pipeline bind point used by this command accesses aVkSampler
object 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
VkPipeline
object 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
VkPipeline
object 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
commandBuffer
is an unprotected command buffer, any resource accessed by theVkPipeline
object bound to the pipeline bind point used by this command must not be a protected resource baseGroupX
must be less thanVkPhysicalDeviceLimits
::maxComputeWorkGroupCount
[0]baseGroupX
must be less thanVkPhysicalDeviceLimits
::maxComputeWorkGroupCount
[1]baseGroupZ
must be less thanVkPhysicalDeviceLimits
::maxComputeWorkGroupCount
[2]groupCountX
must be less than or equal toVkPhysicalDeviceLimits
::maxComputeWorkGroupCount
[0] minusbaseGroupX
groupCountY
must be less than or equal toVkPhysicalDeviceLimits
::maxComputeWorkGroupCount
[1] minusbaseGroupY
groupCountZ
must be less than or equal toVkPhysicalDeviceLimits
::maxComputeWorkGroupCount
[2] minusbaseGroupZ
- If any of
baseGroupX
,baseGroupY
, orbaseGroupZ
are not zero, then the bound compute pipeline must have been created with thePIPELINE_CREATE_DISPATCH_BASE
flag.
Valid Usage (Implicit)
commandBuffer
must be a validVkCommandBuffer
handlecommandBuffer
must be in the recording state- The
VkCommandPool
thatcommandBuffer
was allocated from must support compute operations - This command must only be called outside of a render pass instance
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized - Host access to the
VkCommandPool
thatcommandBuffer
was 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
pPhysicalDeviceGroupProperties
isNULL
, then the number of device groups available is returned inpPhysicalDeviceGroupCount
. Otherwise,pPhysicalDeviceGroupCount
must point to a variable set by the user to the number of elements in thepPhysicalDeviceGroupProperties
array, and on return the variable is overwritten with the number of structures actually written topPhysicalDeviceGroupProperties
. IfpPhysicalDeviceGroupCount
is less than the number of device groups available, at mostpPhysicalDeviceGroupCount
structures will be written. IfpPhysicalDeviceGroupCount
is smaller than the number of device groups available,INCOMPLETE
will 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)
instance
must be a validVkInstance
handlepPhysicalDeviceGroupCount
must be a valid pointer to auint32_t
value- If the value referenced by
pPhysicalDeviceGroupCount
is not 0, andpPhysicalDeviceGroupProperties
is notNULL
,pPhysicalDeviceGroupProperties
must be a valid pointer to an array ofpPhysicalDeviceGroupCount
VkPhysicalDeviceGroupProperties
structures
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
- eitherNULL
or a pointer to an array ofVkPhysicalDeviceGroupProperties
structures.
-
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)
device
must be a validVkDevice
handlepInfo
must be a valid pointer to a validVkImageMemoryRequirementsInfo2
structurepMemoryRequirements
must be a valid pointer to aVkMemoryRequirements2
structure
See Also
- Parameters:
device
- the logical device that owns the image.pInfo
- a pointer to an instance of theVkImageMemoryRequirementsInfo2
structure containing parameters required for the memory requirements query.pMemoryRequirements
- points to an instance of theVkMemoryRequirements2
structure 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)
device
must be a validVkDevice
handlepInfo
must be a valid pointer to a validVkBufferMemoryRequirementsInfo2
structurepMemoryRequirements
must be a valid pointer to aVkMemoryRequirements2
structure
See Also
- Parameters:
device
- the logical device that owns the buffer.pInfo
- a pointer to an instance of theVkBufferMemoryRequirementsInfo2
structure containing parameters required for the memory requirements query.pMemoryRequirements
- points to an instance of theVkMemoryRequirements2
structure 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)
device
must be a validVkDevice
handlepInfo
must be a valid pointer to a validVkImageSparseMemoryRequirementsInfo2
structurepSparseMemoryRequirementCount
must be a valid pointer to auint32_t
value- If the value referenced by
pSparseMemoryRequirementCount
is not 0, andpSparseMemoryRequirements
is notNULL
,pSparseMemoryRequirements
must be a valid pointer to an array ofpSparseMemoryRequirementCount
VkSparseImageMemoryRequirements2
structures
See Also
VkImageSparseMemoryRequirementsInfo2
,VkSparseImageMemoryRequirements2
- Parameters:
device
- the logical device that owns the image.pInfo
- a pointer to an instance of theVkImageSparseMemoryRequirementsInfo2
structure 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
- eitherNULL
or a pointer to an array ofVkSparseImageMemoryRequirements2
structures.
-
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
pFeatures
and itspNext
chain contain members corresponding to fine-grained features.vkGetPhysicalDeviceFeatures2
writes each member to a boolean value indicating whether that feature is supported.Valid Usage (Implicit)
physicalDevice
must be a validVkPhysicalDevice
handlepFeatures
must be a valid pointer to aVkPhysicalDeviceFeatures2
structure
See Also
- Parameters:
physicalDevice
- the physical device from which to query the supported features.pFeatures
- a pointer to aVkPhysicalDeviceFeatures2
structure 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
pProperties
and itspNext
chain contain members corresponding to properties or implementation-dependent limits.vkGetPhysicalDeviceProperties2
writes each member to a value indicating the value of that property or limit.Valid Usage (Implicit)
physicalDevice
must be a validVkPhysicalDevice
handlepProperties
must be a valid pointer to aVkPhysicalDeviceProperties2
structure
See Also
- Parameters:
physicalDevice
- the handle to the physical device whose properties will be queried.pProperties
- points to an instance of theVkPhysicalDeviceProperties2
structure, 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
vkGetPhysicalDeviceFormatProperties2
behaves similarly toGetPhysicalDeviceFormatProperties
, with the ability to return extended information in apNext
chain of output structures.Valid Usage (Implicit)
physicalDevice
must be a validVkPhysicalDevice
handleformat
must be a validVkFormat
valuepFormatProperties
must be a valid pointer to aVkFormatProperties2
structure
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 aVkFormatProperties2
structure in which physical device properties forformat
are 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
vkGetPhysicalDeviceImageFormatProperties2
behaves similarly toGetPhysicalDeviceImageFormatProperties
, with the ability to return extended information in apNext
chain of output structures.Valid Usage (Implicit)
physicalDevice
must be a validVkPhysicalDevice
handlepImageFormatInfo
must be a valid pointer to a validVkPhysicalDeviceImageFormatInfo2
structurepImageFormatProperties
must be a valid pointer to aVkImageFormatProperties2
structure
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 theVkPhysicalDeviceImageFormatInfo2
structure, describing the parameters that would be consumed byCreateImage
.pImageFormatProperties
- points to an instance of theVkImageFormatProperties2
structure 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
vkGetPhysicalDeviceQueueFamilyProperties2
behaves similarly toGetPhysicalDeviceQueueFamilyProperties
, with the ability to return extended information in apNext
chain of output structures.Valid Usage (Implicit)
physicalDevice
must be a validVkPhysicalDevice
handlepQueueFamilyPropertyCount
must be a valid pointer to auint32_t
value- If the value referenced by
pQueueFamilyPropertyCount
is not 0, andpQueueFamilyProperties
is notNULL
,pQueueFamilyProperties
must be a valid pointer to an array ofpQueueFamilyPropertyCount
VkQueueFamilyProperties2
structures
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
- eitherNULL
or a pointer to an array ofVkQueueFamilyProperties2
structures.
-
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
vkGetPhysicalDeviceMemoryProperties2
behaves similarly toGetPhysicalDeviceMemoryProperties
, with the ability to return extended information in apNext
chain of output structures.Valid Usage (Implicit)
physicalDevice
must be a validVkPhysicalDevice
handlepMemoryProperties
must be a valid pointer to aVkPhysicalDeviceMemoryProperties2
structure
See Also
- Parameters:
physicalDevice
- the handle to the device to query.pMemoryProperties
- points to an instance of theVkPhysicalDeviceMemoryProperties2
structure 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
vkGetPhysicalDeviceSparseImageFormatProperties2
returns 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
vkGetPhysicalDeviceSparseImageFormatProperties2
behaves identically toGetPhysicalDeviceSparseImageFormatProperties
, with the ability to return extended information by adding extension structures to thepNext
chain of itspProperties
parameter.Valid Usage (Implicit)
physicalDevice
must be a validVkPhysicalDevice
handlepFormatInfo
must be a valid pointer to a validVkPhysicalDeviceSparseImageFormatInfo2
structurepPropertyCount
must be a valid pointer to auint32_t
value- If the value referenced by
pPropertyCount
is not 0, andpProperties
is notNULL
,pProperties
must be a valid pointer to an array ofpPropertyCount
VkSparseImageFormatProperties2
structures
See Also
VkPhysicalDeviceSparseImageFormatInfo2
,VkSparseImageFormatProperties2
- Parameters:
physicalDevice
- the physical device from which to query the sparse image capabilities.pFormatInfo
- a pointer to a structure of typeVkPhysicalDeviceSparseImageFormatInfo2
containing 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
- eitherNULL
or a pointer to an array ofVkSparseImageFormatProperties2
structures.
-
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)
device
must be a validVkDevice
handlecommandPool
must be a validVkCommandPool
handleflags
must be 0commandPool
must have been created, allocated, or retrieved fromdevice
Host Synchronization
- Host access to
commandPool
must 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
VkQueue
object with specificVkDeviceQueueCreateFlags
creation flags, call:void vkGetDeviceQueue2( VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue);
Valid Usage (Implicit)
device
must be a validVkDevice
handlepQueueInfo
must be a valid pointer to a validVkDeviceQueueInfo2
structurepQueue
must be a valid pointer to aVkQueue
handle
See Also
- Parameters:
device
- the logical device that owns the queue.pQueueInfo
- points to an instance of theVkDeviceQueueInfo2
structure, describing the parameters used to create the device queue.pQueue
- a pointer to aVkQueue
object 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)
device
must be a validVkDevice
handlepCreateInfo
must be a valid pointer to a validVkSamplerYcbcrConversionCreateInfo
structure- If
pAllocator
is notNULL
,pAllocator
must be a valid pointer to a validVkAllocationCallbacks
structure pYcbcrConversion
must be a valid pointer to aVkSamplerYcbcrConversion
handle
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 theVkSamplerYcbcrConversionCreateInfo
specifying the requested sampler Y’CBCR conversion.pAllocator
- controls host memory allocation as described in the Memory Allocation chapter.pYcbcrConversion
- points to aVkSamplerYcbcrConversion
handle 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)
device
must be a validVkDevice
handle- If
ycbcrConversion
is notNULL_HANDLE
,ycbcrConversion
must be a validVkSamplerYcbcrConversion
handle - If
pAllocator
is notNULL
,pAllocator
must be a valid pointer to a validVkAllocationCallbacks
structure - If
ycbcrConversion
is a valid handle, it must have been created, allocated, or retrieved fromdevice
Host Synchronization
- Host access to
ycbcrConversion
must 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
VkDescriptorSet
array can be an expensive operation since an application must specify oneVkWriteDescriptorSet
structure 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
,UpdateDescriptorSetWithTemplate
can be used as a replacement forUpdateDescriptorSets
.VkDescriptorUpdateTemplate
allows implementations to convert a set of descriptor update operations on a single descriptor set to an internal format that, in conjunction withUpdateDescriptorSetWithTemplate
orCmdPushDescriptorSetWithTemplateKHR
, can be more efficient compared to callingUpdateDescriptorSets
orCmdPushDescriptorSetKHR
. 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 toUpdateDescriptorSetWithTemplate
orCmdPushDescriptorSetWithTemplateKHR
. 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)
device
must be a validVkDevice
handlepCreateInfo
must be a valid pointer to a validVkDescriptorUpdateTemplateCreateInfo
structure- If
pAllocator
is notNULL
,pAllocator
must be a valid pointer to a validVkAllocationCallbacks
structure pDescriptorUpdateTemplate
must be a valid pointer to aVkDescriptorUpdateTemplate
handle
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 theVkDescriptorUpdateTemplateCreateInfo
structure specifying the set of descriptors to update with a single call toCmdPushDescriptorSetWithTemplateKHR
orUpdateDescriptorSetWithTemplate
.pAllocator
- controls host memory allocation as described in the Memory Allocation chapter.pDescriptorUpdateTemplate
- points to aVkDescriptorUpdateTemplate
handle 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
VkAllocationCallbacks
were provided whendescriptorSetLayout
was created, a compatible set of callbacks must be provided here - If no
VkAllocationCallbacks
were provided whendescriptorSetLayout
was created,pAllocator
must beNULL
Valid Usage (Implicit)
device
must be a validVkDevice
handle- If
descriptorUpdateTemplate
is notNULL_HANDLE
,descriptorUpdateTemplate
must be a validVkDescriptorUpdateTemplate
handle - If
pAllocator
is notNULL
,pAllocator
must be a valid pointer to a validVkAllocationCallbacks
structure - If
descriptorUpdateTemplate
is a valid handle, it must have been created, allocated, or retrieved fromdevice
Host Synchronization
- Host access to
descriptorUpdateTemplate
must 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
VkDescriptorUpdateTemplate
has 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
pData
must be a valid pointer to a memory that contains one or more valid instances ofVkDescriptorImageInfo
,VkDescriptorBufferInfo
, orVkBufferView
in a layout defined bydescriptorUpdateTemplate
when it was created withCreateDescriptorUpdateTemplate
Valid Usage (Implicit)
device
must be a validVkDevice
handledescriptorSet
must be a validVkDescriptorSet
handledescriptorUpdateTemplate
must be a validVkDescriptorUpdateTemplate
handledescriptorUpdateTemplate
must have been created, allocated, or retrieved fromdevice
Host Synchronization
- Host access to
descriptorSet
must 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
- theVkDescriptorUpdateTemplate
which specifies the update mapping betweenpData
and the descriptor set to update.pData
- a pointer to memory which contains one or more structures ofVkDescriptorImageInfo
,VkDescriptorBufferInfo
, orVkBufferView
used 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)
physicalDevice
must be a validVkPhysicalDevice
handlepExternalBufferInfo
must be a valid pointer to a validVkPhysicalDeviceExternalBufferInfo
structurepExternalBufferProperties
must be a valid pointer to aVkExternalBufferProperties
structure
See Also
VkExternalBufferProperties
,VkPhysicalDeviceExternalBufferInfo
- Parameters:
physicalDevice
- the physical device from which to query the buffer capabilities.pExternalBufferInfo
- points to an instance of theVkPhysicalDeviceExternalBufferInfo
structure, describing the parameters that would be consumed byCreateBuffer
.pExternalBufferProperties
- points to an instance of theVkExternalBufferProperties
structure 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)
physicalDevice
must be a validVkPhysicalDevice
handlepExternalFenceInfo
must be a valid pointer to a validVkPhysicalDeviceExternalFenceInfo
structurepExternalFenceProperties
must be a valid pointer to aVkExternalFenceProperties
structure
See Also
VkExternalFenceProperties
,VkPhysicalDeviceExternalFenceInfo
- Parameters:
physicalDevice
- the physical device from which to query the fence capabilities.pExternalFenceInfo
- points to an instance of theVkPhysicalDeviceExternalFenceInfo
structure, describing the parameters that would be consumed byCreateFence
.pExternalFenceProperties
- points to an instance of theVkExternalFenceProperties
structure 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)
physicalDevice
must be a validVkPhysicalDevice
handlepExternalSemaphoreInfo
must be a valid pointer to a validVkPhysicalDeviceExternalSemaphoreInfo
structurepExternalSemaphoreProperties
must be a valid pointer to aVkExternalSemaphoreProperties
structure
See Also
VkExternalSemaphoreProperties
,VkPhysicalDeviceExternalSemaphoreInfo
- Parameters:
physicalDevice
- the physical device from which to query the semaphore capabilities.pExternalSemaphoreInfo
- points to an instance of theVkPhysicalDeviceExternalSemaphoreInfo
structure, describing the parameters that would be consumed byCreateSemaphore
.pExternalSemaphoreProperties
- points to an instance of theVkExternalSemaphoreProperties
structure 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
::maxPerSetDescriptors
limit, this command is guaranteed to returnTRUE
inVkDescriptorSetLayoutSupport
::supported
. If the descriptor set layout exceeds theVkPhysicalDeviceMaintenance3Properties
::maxPerSetDescriptors
limit, 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
VkDevice
query rather thanVkPhysicalDevice
because the answer may depend on enabled features.Valid Usage (Implicit)
device
must be a validVkDevice
handlepCreateInfo
must be a valid pointer to a validVkDescriptorSetLayoutCreateInfo
structurepSupport
must be a valid pointer to aVkDescriptorSetLayoutSupport
structure
See Also
VkDescriptorSetLayoutCreateInfo
,VkDescriptorSetLayoutSupport
- Parameters:
device
- the logical device that would create the descriptor set layout.pCreateInfo
- a pointer to an instance of theVkDescriptorSetLayoutCreateInfo
structure specifying the state of the descriptor set layout object.pSupport
- points to aVkDescriptorSetLayoutSupport
structure 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
-
-