Class VK12
- java.lang.Object
-
- org.lwjgl.vulkan.VK10
-
- org.lwjgl.vulkan.VK11
-
- org.lwjgl.vulkan.VK12
-
- Direct Known Subclasses:
VK13
public class VK12 extends VK11
The core Vulkan 1.2 functionality.Vulkan Version 1.2 promoted a number of key extensions into the core API:
KHR_8bit_storageKHR_buffer_device_addressKHR_create_renderpass2KHR_depth_stencil_resolveKHR_draw_indirect_countKHR_driver_propertiesKHR_image_format_listKHR_imageless_framebufferKHR_sampler_mirror_clamp_to_edgeKHR_separate_depth_stencil_layoutsKHR_shader_atomic_int64KHR_shader_float16_int8KHR_shader_float_controlsKHR_shader_subgroup_extended_typesKHR_spirv_1_4KHR_timeline_semaphoreKHR_uniform_buffer_standard_layoutKHR_vulkan_memory_modelEXT_descriptor_indexingEXT_host_query_resetEXT_sampler_filter_minmaxEXT_scalar_block_layoutEXT_separate_stencil_usageEXT_shader_viewport_index_layer
All differences in behavior between these extensions and the corresponding Vulkan 1.2 functionality are summarized below.
Differences relative to
VK_KHR_8bit_storageIf the
VK_KHR_8bit_storageextension is not supported, support for the SPIR-VStorageBuffer8BitAccesscapability in shader modules is optional. Support for this feature is defined byVkPhysicalDeviceVulkan12Features::storageBuffer8BitAccesswhen queried viaGetPhysicalDeviceFeatures2.Differences relative to
VK_KHR_draw_indirect_countIf the
VK_KHR_draw_indirect_countextension is not supported, support for the entry pointsCmdDrawIndirectCountandCmdDrawIndexedIndirectCountis optional. Support for this feature is defined byVkPhysicalDeviceVulkan12Features::drawIndirectCountwhen queried viaGetPhysicalDeviceFeatures2.Differences relative to
VK_KHR_sampler_mirror_clamp_to_edgeIf the
VK_KHR_sampler_mirror_clamp_to_edgeextension is not supported, support for theVkSamplerAddressModeSAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGEis optional. Support for this feature is defined byVkPhysicalDeviceVulkan12Features::samplerMirrorClampToEdgewhen queried viaGetPhysicalDeviceFeatures2.Differences relative to
VK_EXT_descriptor_indexingIf the
VK_EXT_descriptor_indexingextension is not supported, support for thedescriptorIndexingfeature is optional. Support for this feature is defined byVkPhysicalDeviceVulkan12Features::descriptorIndexingwhen queried viaGetPhysicalDeviceFeatures2.Differences relative to
VK_EXT_scalar_block_layoutIf the
VK_EXT_scalar_block_layoutextension is not supported, support for thescalarBlockLayoutfeature is optional. Support for this feature is defined byVkPhysicalDeviceVulkan12Features::scalarBlockLayoutwhen queried viaGetPhysicalDeviceFeatures2.Differences relative to
VK_EXT_shader_viewport_index_layerIf the
VK_EXT_shader_viewport_index_layerextension is not supported, support for theShaderViewportIndexLayerEXTSPIR-V capability is optional. Support for this feature is defined byVkPhysicalDeviceVulkan12Features::shaderOutputViewportIndexandVkPhysicalDeviceVulkan12Features::shaderOutputLayerwhen queried viaGetPhysicalDeviceFeatures2.Additional Vulkan 1.2 Feature Support
In addition to the promoted extensions described above, Vulkan 1.2 added support for:
- SPIR-V version 1.4.
- SPIR-V version 1.5.
- The samplerMirrorClampToEdge
feature which indicates whether the implementation supports the
SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGEsampler address mode. - The
ShaderNonUniformcapability in SPIR-V version 1.5. - The shaderOutputViewportIndex
feature which indicates that the
ShaderViewportIndexcapability can be used. - The shaderOutputLayer
feature which indicates that the
ShaderLayercapability can be used. - The subgroupBroadcastDynamicId
feature which allows the "
Id" operand ofOpGroupNonUniformBroadcastto be dynamically uniform within a subgroup, and the "Index" operand ofOpGroupNonUniformQuadBroadcastto be dynamically uniform within a derivative group, in shader modules of version 1.5 or higher. - The drawIndirectCount
feature which indicates whether the
CmdDrawIndirectCountandCmdDrawIndexedIndirectCountfunctions can be used. - The descriptorIndexing feature which indicates the implementation supports the minimum number of descriptor indexing features as defined in the Feature Requirements section.
- The samplerFilterMinmax
feature which indicates whether the implementation supports the minimum number of image formats that support the
FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BITfeature bit as defined by thefilterMinmaxSingleComponentFormatsproperty minimum requirements. - The framebufferIntegerColorSampleCounts limit which indicates the color sample counts that are supported for all framebuffer color attachments with integer formats.
-
-
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_ERROR_UNKNOWN, 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_LUID_SIZE, VK_MAX_DESCRIPTION_SIZE, VK_MAX_DEVICE_GROUP_SIZE, VK_MAX_DRIVER_INFO_SIZE, VK_MAX_DRIVER_NAME_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_EXTERNAL, 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_CODEPLAY, VK_VENDOR_ID_KAZAN, VK_VENDOR_ID_MESA, VK_VENDOR_ID_POCL, VK_VENDOR_ID_VIV, VK_VENDOR_ID_VSI, VK_VERTEX_INPUT_RATE_INSTANCE, VK_VERTEX_INPUT_RATE_VERTEX, VK_WHOLE_SIZE
-
Fields inherited from class org.lwjgl.vulkan.VK11
VK_API_VERSION_1_1, VK_BUFFER_CREATE_PROTECTED_BIT, VK_CHROMA_LOCATION_COSITED_EVEN, VK_CHROMA_LOCATION_MIDPOINT, VK_COMMAND_POOL_CREATE_PROTECTED_BIT, VK_DEPENDENCY_DEVICE_GROUP_BIT, VK_DEPENDENCY_VIEW_LOCAL_BIT, VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET, VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT, VK_ERROR_INVALID_EXTERNAL_HANDLE, VK_ERROR_OUT_OF_POOL_MEMORY, VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT, VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT, 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, VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT, VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT, VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_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, 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_SEMAPHORE_FEATURE_EXPORTABLE_BIT, VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT, VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT, VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT, 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_SYNC_FD_BIT, VK_FENCE_IMPORT_TEMPORARY_BIT, VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16, VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16, VK_FORMAT_B16G16R16G16_422_UNORM, VK_FORMAT_B8G8R8G8_422_UNORM, VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT, VK_FORMAT_FEATURE_DISJOINT_BIT, VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_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_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT, VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT, VK_FORMAT_FEATURE_TRANSFER_DST_BIT, VK_FORMAT_FEATURE_TRANSFER_SRC_BIT, VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16, VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16, VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16, VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16, VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16, VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16, VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16, VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16, VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16, VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16, VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16, VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16, VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM, VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM, VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM, VK_FORMAT_G16_B16R16_2PLANE_420_UNORM, VK_FORMAT_G16_B16R16_2PLANE_422_UNORM, VK_FORMAT_G16B16G16R16_422_UNORM, VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM, VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM, VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM, VK_FORMAT_G8_B8R8_2PLANE_420_UNORM, VK_FORMAT_G8_B8R8_2PLANE_422_UNORM, VK_FORMAT_G8B8G8R8_422_UNORM, VK_FORMAT_R10X6_UNORM_PACK16, VK_FORMAT_R10X6G10X6_UNORM_2PACK16, VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16, VK_FORMAT_R12X4_UNORM_PACK16, VK_FORMAT_R12X4G12X4_UNORM_2PACK16, VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16, VK_IMAGE_ASPECT_PLANE_0_BIT, VK_IMAGE_ASPECT_PLANE_1_BIT, VK_IMAGE_ASPECT_PLANE_2_BIT, VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT, VK_IMAGE_CREATE_ALIAS_BIT, VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT, VK_IMAGE_CREATE_DISJOINT_BIT, VK_IMAGE_CREATE_EXTENDED_USAGE_BIT, VK_IMAGE_CREATE_PROTECTED_BIT, VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT, VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL, VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT, VK_MEMORY_HEAP_MULTI_INSTANCE_BIT, VK_MEMORY_PROPERTY_PROTECTED_BIT, VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE, VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION, VK_PEER_MEMORY_FEATURE_COPY_DST_BIT, VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT, VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT, VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT, VK_PIPELINE_CREATE_DISPATCH_BASE, VK_PIPELINE_CREATE_DISPATCH_BASE_BIT, VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT, VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES, VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY, VK_QUEUE_PROTECTED_BIT, VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY, VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020, VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601, VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709, VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY, VK_SAMPLER_YCBCR_RANGE_ITU_FULL, VK_SAMPLER_YCBCR_RANGE_ITU_NARROW, VK_SEMAPHORE_IMPORT_TEMPORARY_BIT, VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO, VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO, VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO, VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO, VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO, VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2, VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT, VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO, VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO, VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO, VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO, VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO, VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO, VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2, VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO, VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO, VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO, VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES, VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES, VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES, VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO, VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO, VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES, VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2, VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2, VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2, VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO, VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2, VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO, VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO, VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO, VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS, VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO, VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO, VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2, VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO, VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO, VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO, VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES, VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO, VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2, VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2, VK_SUBGROUP_FEATURE_ARITHMETIC_BIT, VK_SUBGROUP_FEATURE_BALLOT_BIT, VK_SUBGROUP_FEATURE_BASIC_BIT, VK_SUBGROUP_FEATURE_CLUSTERED_BIT, VK_SUBGROUP_FEATURE_QUAD_BIT, VK_SUBGROUP_FEATURE_SHUFFLE_BIT, VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT, VK_SUBGROUP_FEATURE_VOTE_BIT, VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT, VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voidnvkCmdBeginRenderPass2(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, long pRenderPassBegin, long pSubpassBeginInfo)Unsafe version of:CmdBeginRenderPass2static voidnvkCmdEndRenderPass2(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, long pSubpassEndInfo)Unsafe version of:CmdEndRenderPass2static voidnvkCmdNextSubpass2(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, long pSubpassBeginInfo, long pSubpassEndInfo)Unsafe version of:CmdNextSubpass2static intnvkCreateRenderPass2(org.lwjgl.vulkan.VkDevice device, long pCreateInfo, long pAllocator, long pRenderPass)Unsafe version of:CreateRenderPass2static longnvkGetBufferDeviceAddress(org.lwjgl.vulkan.VkDevice device, long pInfo)Unsafe version of:GetBufferDeviceAddressstatic longnvkGetBufferOpaqueCaptureAddress(org.lwjgl.vulkan.VkDevice device, long pInfo)Unsafe version of:GetBufferOpaqueCaptureAddressstatic longnvkGetDeviceMemoryOpaqueCaptureAddress(org.lwjgl.vulkan.VkDevice device, long pInfo)Unsafe version of:GetDeviceMemoryOpaqueCaptureAddressstatic intnvkGetSemaphoreCounterValue(org.lwjgl.vulkan.VkDevice device, long semaphore, long pValue)Unsafe version of:GetSemaphoreCounterValuestatic intnvkSignalSemaphore(org.lwjgl.vulkan.VkDevice device, long pSignalInfo)Unsafe version of:SignalSemaphorestatic intnvkWaitSemaphores(org.lwjgl.vulkan.VkDevice device, long pWaitInfo, long timeout)Unsafe version of:WaitSemaphoresstatic voidvkCmdBeginRenderPass2(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, VkRenderPassBeginInfo pRenderPassBegin, VkSubpassBeginInfo pSubpassBeginInfo)Begin a new render pass.static voidvkCmdDrawIndexedIndirectCount(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, long buffer, long offset, long countBuffer, long countBufferOffset, int maxDrawCount, int stride)Draw parameters with indirect parameters, indexed vertices, and draw count.static voidvkCmdDrawIndirectCount(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, long buffer, long offset, long countBuffer, long countBufferOffset, int maxDrawCount, int stride)Draw primitives with indirect parameters and draw count.static voidvkCmdEndRenderPass2(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, VkSubpassEndInfo pSubpassEndInfo)End the current render pass.static voidvkCmdNextSubpass2(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, VkSubpassBeginInfo pSubpassBeginInfo, VkSubpassEndInfo pSubpassEndInfo)Transition to the next subpass of a render pass.static intvkCreateRenderPass2(org.lwjgl.vulkan.VkDevice device, VkRenderPassCreateInfo2 pCreateInfo, VkAllocationCallbacks pAllocator, long[] pRenderPass)Array version of:CreateRenderPass2static intvkCreateRenderPass2(org.lwjgl.vulkan.VkDevice device, VkRenderPassCreateInfo2 pCreateInfo, VkAllocationCallbacks pAllocator, java.nio.LongBuffer pRenderPass)Create a new render pass object.static longvkGetBufferDeviceAddress(org.lwjgl.vulkan.VkDevice device, VkBufferDeviceAddressInfo pInfo)Query an address of a buffer.static longvkGetBufferOpaqueCaptureAddress(org.lwjgl.vulkan.VkDevice device, VkBufferDeviceAddressInfo pInfo)Query an opaque capture address of a buffer.static longvkGetDeviceMemoryOpaqueCaptureAddress(org.lwjgl.vulkan.VkDevice device, VkDeviceMemoryOpaqueCaptureAddressInfo pInfo)Query an opaque capture address of a memory object.static intvkGetSemaphoreCounterValue(org.lwjgl.vulkan.VkDevice device, long semaphore, long[] pValue)Array version of:GetSemaphoreCounterValuestatic intvkGetSemaphoreCounterValue(org.lwjgl.vulkan.VkDevice device, long semaphore, java.nio.LongBuffer pValue)Query the current state of a timeline semaphore.static voidvkResetQueryPool(org.lwjgl.vulkan.VkDevice device, long queryPool, int firstQuery, int queryCount)Reset queries in a query pool.static intvkSignalSemaphore(org.lwjgl.vulkan.VkDevice device, VkSemaphoreSignalInfo pSignalInfo)Signal a timeline semaphore on the host.static intvkWaitSemaphores(org.lwjgl.vulkan.VkDevice device, VkSemaphoreWaitInfo pWaitInfo, long timeout)Wait for timeline semaphores on the host.-
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_API_VERSION_MAJOR, VK_API_VERSION_MINOR, VK_API_VERSION_PATCH, VK_API_VERSION_VARIANT, VK_MAKE_API_VERSION, 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
-
Methods inherited from class org.lwjgl.vulkan.VK11
nvkBindBufferMemory2, nvkBindImageMemory2, nvkCreateDescriptorUpdateTemplate, nvkCreateSamplerYcbcrConversion, nvkDestroyDescriptorUpdateTemplate, nvkDestroySamplerYcbcrConversion, nvkEnumerateInstanceVersion, nvkEnumeratePhysicalDeviceGroups, nvkGetBufferMemoryRequirements2, nvkGetDescriptorSetLayoutSupport, nvkGetDeviceGroupPeerMemoryFeatures, nvkGetDeviceQueue2, nvkGetImageMemoryRequirements2, nvkGetImageSparseMemoryRequirements2, nvkGetPhysicalDeviceExternalBufferProperties, nvkGetPhysicalDeviceExternalFenceProperties, nvkGetPhysicalDeviceExternalSemaphoreProperties, nvkGetPhysicalDeviceFeatures2, nvkGetPhysicalDeviceFormatProperties2, nvkGetPhysicalDeviceImageFormatProperties2, nvkGetPhysicalDeviceMemoryProperties2, nvkGetPhysicalDeviceProperties2, nvkGetPhysicalDeviceQueueFamilyProperties2, nvkGetPhysicalDeviceSparseImageFormatProperties2, vkBindBufferMemory2, vkBindImageMemory2, vkCmdDispatchBase, vkCmdSetDeviceMask, vkCreateDescriptorUpdateTemplate, vkCreateDescriptorUpdateTemplate, vkCreateSamplerYcbcrConversion, vkCreateSamplerYcbcrConversion, vkDestroyDescriptorUpdateTemplate, vkDestroySamplerYcbcrConversion, vkEnumerateInstanceVersion, vkEnumerateInstanceVersion, vkEnumeratePhysicalDeviceGroups, vkEnumeratePhysicalDeviceGroups, vkGetBufferMemoryRequirements2, vkGetDescriptorSetLayoutSupport, vkGetDeviceGroupPeerMemoryFeatures, vkGetDeviceGroupPeerMemoryFeatures, vkGetDeviceQueue2, vkGetImageMemoryRequirements2, vkGetImageSparseMemoryRequirements2, vkGetImageSparseMemoryRequirements2, vkGetPhysicalDeviceExternalBufferProperties, vkGetPhysicalDeviceExternalFenceProperties, vkGetPhysicalDeviceExternalSemaphoreProperties, vkGetPhysicalDeviceFeatures2, vkGetPhysicalDeviceFormatProperties2, vkGetPhysicalDeviceImageFormatProperties2, vkGetPhysicalDeviceMemoryProperties2, vkGetPhysicalDeviceProperties2, vkGetPhysicalDeviceQueueFamilyProperties2, vkGetPhysicalDeviceQueueFamilyProperties2, vkGetPhysicalDeviceSparseImageFormatProperties2, vkGetPhysicalDeviceSparseImageFormatProperties2, vkTrimCommandPool, vkUpdateDescriptorSetWithTemplate
-
-
-
-
Field Detail
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES
-
VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO
ExtendsVkStructureType.
-
VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE
ExtendsVkSamplerAddressMode.
-
VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2, VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2, VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2, VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2, VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO, VK_STRUCTURE_TYPE_SUBPASS_END_INFO
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES
ExtendsVkStructureType.
-
VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES, VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO, VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT
ExtendsVkStructureType.Enum values:
STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFOSTRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURESSTRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIESSTRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFOSTRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT
-
VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT
ExtendsVkDescriptorPoolCreateFlagBits.
-
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT
ExtendsVkDescriptorSetLayoutCreateFlagBits.
-
VK_ERROR_FRAGMENTATION
ExtendsVkResult.
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES, VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE
ExtendsVkStructureType.Enum values:
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES, VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO
ExtendsVkStructureType.
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES, VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO
ExtendsVkStructureType.Enum values:
-
VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT
ExtendsVkFormatFeatureFlagBits.
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES
ExtendsVkStructureType.
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES, VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO, VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO, VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO
-
VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT
ExtendsVkFramebufferCreateFlagBits.
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES
ExtendsVkStructureType.
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES, VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT, VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT
-
VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL
ExtendsVkImageLayout.Enum values:
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES
ExtendsVkStructureType.
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES, VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO, VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO, VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO, VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO
ExtendsVkStructureType.Enum values:
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES, VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO, VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO, VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO, VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO
ExtendsVkStructureType.Enum values:
-
VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT
ExtendsVkBufferUsageFlagBits.
-
VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT
ExtendsVkBufferCreateFlagBits.
-
VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT, VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT
ExtendsVkMemoryAllocateFlagBits.Enum values:
-
VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS
ExtendsVkResult.
-
VK_DRIVER_ID_AMD_PROPRIETARY, VK_DRIVER_ID_AMD_OPEN_SOURCE, VK_DRIVER_ID_MESA_RADV, VK_DRIVER_ID_NVIDIA_PROPRIETARY, VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS, VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA, VK_DRIVER_ID_IMAGINATION_PROPRIETARY, VK_DRIVER_ID_QUALCOMM_PROPRIETARY, VK_DRIVER_ID_ARM_PROPRIETARY, VK_DRIVER_ID_GOOGLE_SWIFTSHADER, VK_DRIVER_ID_GGP_PROPRIETARY, VK_DRIVER_ID_BROADCOM_PROPRIETARY, VK_DRIVER_ID_MESA_LLVMPIPE, VK_DRIVER_ID_MOLTENVK, VK_DRIVER_ID_COREAVI_PROPRIETARY, VK_DRIVER_ID_JUICE_PROPRIETARY, VK_DRIVER_ID_VERISILICON_PROPRIETARY, VK_DRIVER_ID_MESA_TURNIP, VK_DRIVER_ID_MESA_V3DV, VK_DRIVER_ID_MESA_PANVK, VK_DRIVER_ID_SAMSUNG_PROPRIETARY, VK_DRIVER_ID_MESA_VENUS
VkDriverId - Khronos driver IDsDescription
Note
Khronos driver IDs may be allocated by vendors at any time. There may be multiple driver IDs for the same vendor, representing different drivers (for e.g. different platforms, proprietary or open source, etc.). Only the latest canonical versions of this Specification, of the corresponding
vk.xmlAPI Registry, and of the correspondingvulkan_core.hheader file must contain all reserved Khronos driver IDs.Only driver IDs registered with Khronos are given symbolic names. There may be unregistered driver IDs returned.
See Also
VkPhysicalDeviceDriverProperties,VkPhysicalDeviceVulkan12PropertiesEnum values:
DRIVER_ID_AMD_PROPRIETARYDRIVER_ID_AMD_OPEN_SOURCEDRIVER_ID_MESA_RADVDRIVER_ID_NVIDIA_PROPRIETARYDRIVER_ID_INTEL_PROPRIETARY_WINDOWSDRIVER_ID_INTEL_OPEN_SOURCE_MESADRIVER_ID_IMAGINATION_PROPRIETARYDRIVER_ID_QUALCOMM_PROPRIETARYDRIVER_ID_ARM_PROPRIETARYDRIVER_ID_GOOGLE_SWIFTSHADERDRIVER_ID_GGP_PROPRIETARYDRIVER_ID_BROADCOM_PROPRIETARYDRIVER_ID_MESA_LLVMPIPEDRIVER_ID_MOLTENVKDRIVER_ID_COREAVI_PROPRIETARYDRIVER_ID_JUICE_PROPRIETARYDRIVER_ID_VERISILICON_PROPRIETARYDRIVER_ID_MESA_TURNIPDRIVER_ID_MESA_V3DVDRIVER_ID_MESA_PANVKDRIVER_ID_SAMSUNG_PROPRIETARYDRIVER_ID_MESA_VENUS
-
VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY, VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL, VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE
VkShaderFloatControlsIndependence - Bitmask specifying whether, and how, shader float controls can be set separatelyDescription
SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLYspecifies that shader float controls for 32-bit floating point can be set independently; other bit widths must be set identically to each other.SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALLspecifies that shader float controls for all bit widths can be set independently.SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONEspecifies that shader float controls for all bit widths must be set identically.
See Also
VkPhysicalDeviceFloatControlsProperties,VkPhysicalDeviceVulkan12Properties
-
VK_RESOLVE_MODE_NONE, VK_RESOLVE_MODE_SAMPLE_ZERO_BIT, VK_RESOLVE_MODE_AVERAGE_BIT, VK_RESOLVE_MODE_MIN_BIT, VK_RESOLVE_MODE_MAX_BIT
VkResolveModeFlagBits - Bitmask indicating supported depth and stencil resolve modesDescription
RESOLVE_MODE_NONEindicates that no resolve operation is done.RESOLVE_MODE_SAMPLE_ZERO_BITindicates that result of the resolve operation is equal to the value of sample 0.RESOLVE_MODE_AVERAGE_BITindicates that result of the resolve operation is the average of the sample values.RESOLVE_MODE_MIN_BITindicates that result of the resolve operation is the minimum of the sample values.RESOLVE_MODE_MAX_BITindicates that result of the resolve operation is the maximum of the sample values.
See Also
VkRenderingAttachmentInfo,VkSubpassDescriptionDepthStencilResolve
-
VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT, VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT, VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT, VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT
VkDescriptorBindingFlagBits - Bitmask specifying descriptor set layout binding propertiesDescription
DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BITindicates that if descriptors in this binding are updated between when the descriptor set is bound in a command buffer and when that command buffer is submitted to a queue, then the submission will use the most recently set descriptors for this binding and the updates do not invalidate the command buffer. Descriptor bindings created with this flag are also partially exempt from the external synchronization requirement inUpdateDescriptorSetWithTemplateKHRandUpdateDescriptorSets. Multiple descriptors with this flag set can be updated concurrently in different threads, though the same descriptor must not be updated concurrently by two threads. Descriptors with this flag set can be updated concurrently with the set being bound to a command buffer in another thread, but not concurrently with the set being reset or freed.DESCRIPTOR_BINDING_PARTIALLY_BOUND_BITindicates that descriptors in this binding that are not dynamically used need not contain valid descriptors at the time the descriptors are consumed. A descriptor is dynamically used if any shader invocation executes an instruction that performs any memory access using the descriptor.DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BITindicates that descriptors in this binding can be updated after a command buffer has bound this descriptor set, or while a command buffer that uses this descriptor set is pending execution, as long as the descriptors that are updated are not used by those command buffers. IfDESCRIPTOR_BINDING_PARTIALLY_BOUND_BITis also set, then descriptors can be updated as long as they are not dynamically used by any shader invocations. IfDESCRIPTOR_BINDING_PARTIALLY_BOUND_BITis not set, then descriptors can be updated as long as they are not statically used by any shader invocations.DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BITindicates that this descriptor binding has a variable size that will be specified when a descriptor set is allocated using this layout. The value ofdescriptorCountis treated as an upper bound on the size of the binding. This must only be used for the last binding in the descriptor set layout (i.e. the binding with the largest value ofbinding). For the purposes of counting against limits such asmaxDescriptorSet* andmaxPerStageDescriptor*, the full value ofdescriptorCountis counted, except for descriptor bindings with a descriptor type ofDESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK. In this case,descriptorCountspecifies the upper bound on the byte size of the binding; thus it counts against themaxInlineUniformBlockSizeandmaxInlineUniformTotalSizelimits instead.
Note
Note that while
DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BITandDESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BITboth involve updates to descriptor sets after they are bound,DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BITis a weaker requirement since it is only about descriptors that are not used, whereasDESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BITrequires the implementation to observe updates to descriptors that are used.
-
VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, VK_SAMPLER_REDUCTION_MODE_MIN, VK_SAMPLER_REDUCTION_MODE_MAX
VkSamplerReductionMode - Specify reduction mode for texture filteringDescription
SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGEspecifies that texel values are combined by computing a weighted average of values in the footprint, using weights as specified in the image operations chapter.SAMPLER_REDUCTION_MODE_MINspecifies that texel values are combined by taking the component-wise minimum of values in the footprint with non-zero weights.SAMPLER_REDUCTION_MODE_MAXspecifies that texel values are combined by taking the component-wise maximum of values in the footprint with non-zero weights.
See Also
-
VK_SEMAPHORE_TYPE_BINARY, VK_SEMAPHORE_TYPE_TIMELINE
VkSemaphoreType - Sepcifies the type of a semaphore objectDescription
SEMAPHORE_TYPE_BINARYspecifies a binary semaphore type that has a boolean payload indicating whether the semaphore is currently signaled or unsignaled. When created, the semaphore is in the unsignaled state.SEMAPHORE_TYPE_TIMELINEspecifies a timeline semaphore type that has a strictly increasing 64-bit unsigned integer payload indicating whether the semaphore is signaled with respect to a particular reference value. When created, the semaphore payload has the value given by theinitialValuefield ofVkSemaphoreTypeCreateInfo.
See Also
-
VK_SEMAPHORE_WAIT_ANY_BIT
VkSemaphoreWaitFlagBits - Bitmask specifying additional parameters of a semaphore wait operationDescription
SEMAPHORE_WAIT_ANY_BITspecifies that the semaphore wait condition is that at least one of the semaphores inVkSemaphoreWaitInfo::pSemaphoreshas reached the value specified by the corresponding element ofVkSemaphoreWaitInfo::pValues. IfSEMAPHORE_WAIT_ANY_BITis not set, the semaphore wait condition is that all of the semaphores inVkSemaphoreWaitInfo::pSemaphoreshave reached the value specified by the corresponding element ofVkSemaphoreWaitInfo::pValues.
-
VK_API_VERSION_1_2
The API version number for Vulkan 1.2.
-
-
Method Detail
-
vkCmdDrawIndirectCount
public static void vkCmdDrawIndirectCount(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, long buffer, long offset, long countBuffer, long countBufferOffset, int maxDrawCount, int stride)Draw primitives with indirect parameters and draw count.C Specification
To record a non-indexed draw call with a draw call count sourced from a buffer, call:
void vkCmdDrawIndirectCount( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);or the equivalent command
void vkCmdDrawIndirectCountKHR( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);or the equivalent command
void vkCmdDrawIndirectCountAMD( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);Description
vkCmdDrawIndirectCountbehaves similarly toCmdDrawIndirectexcept that the draw count is read by the device from a buffer during execution. The command will read an unsigned 32-bit integer fromcountBufferlocated atcountBufferOffsetand use this as the draw count.Valid Usage
- If a
VkSamplercreated withmagFilterorminFilterequal toFILTER_LINEARandcompareEnableequal toFALSEis used to sample aVkImageViewas a result of this command, then the image view’s format features must containFORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT - If a
VkSamplercreated withmipmapModeequal toSAMPLER_MIPMAP_MODE_LINEARandcompareEnableequal toFALSEis used to sample aVkImageViewas a result of this command, then the image view’s format features must containFORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT - If a
VkImageViewis sampled with depth comparison, the image view’s format features must containFORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT - If a
VkImageViewis accessed using atomic operations as a result of this command, then the image view’s format features must containFORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT - If a
VkImageViewis sampled withFILTER_CUBIC_EXTas a result of this command, then the image view’s format features must containFORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT - Any
VkImageViewbeing sampled withFILTER_CUBIC_EXTas a result of this command must have aVkImageViewTypeand format that supports cubic filtering, as specified byVkFilterCubicImageViewImageFormatPropertiesEXT::filterCubicreturned byvkGetPhysicalDeviceImageFormatProperties2 - Any
VkImageViewbeing sampled withFILTER_CUBIC_EXTwith a reduction mode of eitherSAMPLER_REDUCTION_MODE_MINorSAMPLER_REDUCTION_MODE_MAXas a result of this command must have aVkImageViewTypeand format that supports cubic filtering together with minmax filtering, as specified byVkFilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmaxreturned byvkGetPhysicalDeviceImageFormatProperties2 - Any
VkImagecreated with aVkImageCreateInfo::flagscontainingIMAGE_CREATE_CORNER_SAMPLED_BIT_NVsampled as a result of this command must only be sampled using aVkSamplerAddressModeofSAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE - Any
VkImageVieworVkBufferViewbeing written as a storage image or storage texel buffer where the image format field of theOpTypeImageisUnknownthen the view’s format feature must containFORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT - Any
VkImageVieworVkBufferViewbeing read as a storage image or storage texel buffer where the image format field of theOpTypeImageisUnknownthen the view’s format feature must containFORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT - For each set n that is statically used by the
VkPipelinebound to the pipeline bind point used by this command, a descriptor set must have been bound to n at the same pipeline bind point, with aVkPipelineLayoutthat is compatible for set n, with theVkPipelineLayoutused to create the currentVkPipeline, as described in Pipeline Layout Compatibility - If the
maintenance4feature is not enabled, then for each push constant that is statically used by theVkPipelinebound to the pipeline bind point used by this command, a push constant value must have been set for the same pipeline bind point, with aVkPipelineLayoutthat is compatible for push constants, with theVkPipelineLayoutused to create the currentVkPipeline, as described in Pipeline Layout Compatibility - Descriptors in each bound descriptor set, specified via
vkCmdBindDescriptorSets, must be valid if they are statically used by theVkPipelinebound to the pipeline bind point used by this command - A valid pipeline must be bound to the pipeline bind point used by this command
- If the
VkPipelineobject bound to the pipeline bind point used by this command requires any dynamic state, that state must have been set or inherited (if theVK_NV_inherited_viewport_scissorextension is enabled) forcommandBuffer, and done so after any previously bound pipeline with the corresponding state not specified as dynamic - There must not have been any calls to dynamic state setting commands for any state not specified as dynamic in the
VkPipelineobject bound to the pipeline bind point used by this command, since that pipeline was bound - If the
VkPipelineobject bound to the pipeline bind point used by this command accesses aVkSamplerobject that uses unnormalized coordinates, that sampler must not be used to sample from anyVkImagewith aVkImageViewof the typeIMAGE_VIEW_TYPE_3D,IMAGE_VIEW_TYPE_CUBE,IMAGE_VIEW_TYPE_1D_ARRAY,IMAGE_VIEW_TYPE_2D_ARRAYorIMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage - If the
VkPipelineobject bound to the pipeline bind point used by this command accesses aVkSamplerobject that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-VOpImageSample*orOpImageSparseSample*instructions withImplicitLod,DreforProjin their name, in any shader stage - If the
VkPipelineobject bound to the pipeline bind point used by this command accesses aVkSamplerobject that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-VOpImageSample*orOpImageSparseSample*instructions that includes a LOD bias or any offset values, in any shader stage - If the robust buffer access feature is not enabled, and if the
VkPipelineobject bound to the pipeline bind point used by this command accesses a uniform buffer, it must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point - If the robust buffer access feature is not enabled, and if the
VkPipelineobject bound to the pipeline bind point used by this command accesses a storage buffer, it must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point - If
commandBufferis an unprotected command buffer andprotectedNoFaultis not supported, any resource accessed by theVkPipelineobject bound to the pipeline bind point used by this command must not be a protected resource - If the
VkPipelineobject bound to the pipeline bind point used by this command accesses aVkSamplerorVkImageViewobject that enables sampler Y′CBCR conversion, that object must only be used withOpImageSample*orOpImageSparseSample*instructions - If the
VkPipelineobject bound to the pipeline bind point used by this command accesses aVkSamplerorVkImageViewobject that enables sampler Y′CBCR conversion, that object must not use theConstOffsetandOffsetoperands - If a
VkImageViewis accessed usingOpImageWriteas a result of this command, then theTypeof theTexeloperand of that instruction must have at least as many components as the image view’s format - If a
VkBufferViewis accessed usingOpImageWriteas a result of this command, then theTypeof theTexeloperand of that instruction must have at least as many components as the buffer view’s format - If a
VkImageViewwith aVkFormatthat has a 64-bit component width is accessed as a result of this command, theSampledTypeof theOpTypeImageoperand of that instruction must have aWidthof 64 - If a
VkImageViewwith aVkFormatthat has a component width less than 64-bit is accessed as a result of this command, theSampledTypeof theOpTypeImageoperand of that instruction must have aWidthof 32 - If a
VkBufferViewwith aVkFormatthat has a 64-bit component width is accessed as a result of this command, theSampledTypeof theOpTypeImageoperand of that instruction must have aWidthof 64 - If a
VkBufferViewwith aVkFormatthat has a component width less than 64-bit is accessed as a result of this command, theSampledTypeof theOpTypeImageoperand of that instruction must have aWidthof 32 - If the
sparseImageInt64Atomicsfeature is not enabled,VkImageobjects created with theIMAGE_CREATE_SPARSE_RESIDENCY_BITflag must not be accessed by atomic instructions through anOpTypeImagewith aSampledTypewith aWidthof 64 by this command - If the
sparseImageInt64Atomicsfeature is not enabled,VkBufferobjects created with theBUFFER_CREATE_SPARSE_RESIDENCY_BITflag must not be accessed by atomic instructions through anOpTypeImagewith aSampledTypewith aWidthof 64 by this command - The current render pass must be compatible with the
renderPassmember of theVkGraphicsPipelineCreateInfostructure specified when creating theVkPipelinebound toPIPELINE_BIND_POINT_GRAPHICS - The subpass index of the current render pass must be equal to the
subpassmember of theVkGraphicsPipelineCreateInfostructure specified when creating theVkPipelinebound toPIPELINE_BIND_POINT_GRAPHICS - Every input attachment used by the current subpass must be bound to the pipeline via a descriptor set
- Memory backing image subresources used as attachments in the current render pass must not be written in any way other than as an attachment by this command
- If any recorded command in the current subpass will write to an image subresource as an attachment, this command must not read from the memory backing that image subresource in any other way than as an attachment
- If any recorded command in the current subpass will read from an image subresource used as an attachment in any way other than as an attachment, this command must not write to that image subresource as an attachment
- If the draw is recorded in a render pass instance with multiview enabled, the maximum instance index must be less than or equal to
VkPhysicalDeviceMultiviewProperties::maxMultiviewInstanceIndex - If the bound graphics pipeline was created with
VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnableset toTRUEand the current subpass has a depth/stencil attachment, then that attachment must have been created with theIMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXTbit set - If the bound graphics pipeline state was created with the
DYNAMIC_STATE_VIEWPORT_WITH_COUNTdynamic state enabled, but not theDYNAMIC_STATE_SCISSOR_WITH_COUNTdynamic state enabled, thenCmdSetViewportWithCountmust have been called in the current command buffer prior to this drawing command, and theviewportCountparameter ofvkCmdSetViewportWithCountmust match theVkPipelineViewportStateCreateInfo::scissorCountof the pipeline - If the bound graphics pipeline state was created with the
DYNAMIC_STATE_SCISSOR_WITH_COUNTdynamic state enabled, but not theDYNAMIC_STATE_VIEWPORT_WITH_COUNTdynamic state enabled, thenCmdSetScissorWithCountmust have been called in the current command buffer prior to this drawing command, and thescissorCountparameter ofvkCmdSetScissorWithCountmust match theVkPipelineViewportStateCreateInfo::viewportCountof the pipeline - If the bound graphics pipeline state was created with both the
DYNAMIC_STATE_SCISSOR_WITH_COUNTandDYNAMIC_STATE_VIEWPORT_WITH_COUNTdynamic states enabled then bothCmdSetViewportWithCountandCmdSetScissorWithCountmust have been called in the current command buffer prior to this drawing command, and theviewportCountparameter ofvkCmdSetViewportWithCountmust match thescissorCountparameter ofvkCmdSetScissorWithCount - If the bound graphics pipeline state was created with the
DYNAMIC_STATE_VIEWPORT_WITH_COUNTdynamic state enabled, but not theDYNAMIC_STATE_VIEWPORT_W_SCALING_NVdynamic state enabled, then the bound graphics pipeline must have been created withVkPipelineViewportWScalingStateCreateInfoNV::viewportCountgreater or equal to theviewportCountparameter in the last call toCmdSetViewportWithCount - If the bound graphics pipeline state was created with the
DYNAMIC_STATE_VIEWPORT_WITH_COUNTandDYNAMIC_STATE_VIEWPORT_W_SCALING_NVdynamic states enabled then theviewportCountparameter in the last call toCmdSetViewportWScalingNVmust be greater than or equal to theviewportCountparameter in the last call toCmdSetViewportWithCount - If the bound graphics pipeline state was created with the
DYNAMIC_STATE_VIEWPORT_WITH_COUNTdynamic state enabled, but not theDYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NVdynamic state enabled, then the bound graphics pipeline must have been created withVkPipelineViewportShadingRateImageStateCreateInfoNV::viewportCountgreater or equal to theviewportCountparameter in the last call toCmdSetViewportWithCount - If the bound graphics pipeline state was created with the
DYNAMIC_STATE_VIEWPORT_WITH_COUNTandDYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NVdynamic states enabled then theviewportCountparameter in the last call toCmdSetViewportShadingRatePaletteNVmust be greater than or equal to theviewportCountparameter in the last call toCmdSetViewportWithCount - If the bound graphics pipeline state was created with the
DYNAMIC_STATE_VIEWPORT_WITH_COUNTdynamic state enabled and aVkPipelineViewportSwizzleStateCreateInfoNVstructure chained fromVkPipelineVieportCreateInfo, then the bound graphics pipeline must have been created withVkPipelineViewportSwizzleStateCreateInfoNV::viewportCountgreater or equal to theviewportCountparameter in the last call toCmdSetViewportWithCount - If the bound graphics pipeline state was created with the
DYNAMIC_STATE_VIEWPORT_WITH_COUNTdynamic state enabled and aVkPipelineViewportExclusiveScissorStateCreateInfoNVstructure chained fromVkPipelineVieportCreateInfo, then the bound graphics pipeline must have been created withVkPipelineViewportExclusiveScissorStateCreateInfoNV::exclusiveScissorCountgreater or equal to theviewportCountparameter in the last call toCmdSetViewportWithCount - If the bound graphics pipeline state was created with the
DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLEdynamic state enabled thenCmdSetRasterizerDiscardEnablemust have been called in the current command buffer prior to this drawing command - If the bound graphics pipeline state was created with the
DYNAMIC_STATE_DEPTH_BIAS_ENABLEdynamic state enabled thenCmdSetDepthBiasEnablemust have been called in the current command buffer prior to this drawing command - If the bound graphics pipeline state was created with the
DYNAMIC_STATE_LOGIC_OP_EXTdynamic state enabled thenCmdSetLogicOpEXTmust have been called in the current command buffer prior to this drawing command and thelogicOpmust be a validVkLogicOpvalue - If the
primitiveFragmentShadingRateWithMultipleViewportslimit is not supported, the bound graphics pipeline was created with theDYNAMIC_STATE_VIEWPORT_WITH_COUNTdynamic state enabled, and any of the shader stages of the bound graphics pipeline write to thePrimitiveShadingRateKHRbuilt-in, thenCmdSetViewportWithCountmust have been called in the current command buffer prior to this drawing command, and theviewportCountparameter ofvkCmdSetViewportWithCountmust be 1 - If rasterization is not disabled in the bound graphics pipeline, then for each color attachment in the subpass, if the corresponding image view’s format features do not contain
FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT, then theblendEnablemember of the corresponding element of thepAttachmentsmember ofpColorBlendStatemust beFALSE - If rasterization is not disabled in the bound graphics pipeline, and neither the
VK_AMD_mixed_attachment_samplesnor theVK_NV_framebuffer_mixed_samplesextensions are enabled, thenVkPipelineMultisampleStateCreateInfo::rasterizationSamplesmust be the same as the current subpass color and/or depth/stencil attachments - If the current render pass instance was begun with
CmdBeginRendering, theimageViewmember ofpDepthAttachmentis notNULL_HANDLE, and thelayoutmember ofpDepthAttachmentisIMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, this command must not write any values to the depth attachment - If the current render pass instance was begun with
CmdBeginRendering, theimageViewmember ofpStencilAttachmentis notNULL_HANDLE, and thelayoutmember ofpStencilAttachmentisIMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, this command must not write any values to the stencil attachment - If the current render pass instance was begun with
CmdBeginRendering, theimageViewmember ofpDepthAttachmentis notNULL_HANDLE, and thelayoutmember ofpDepthAttachmentisIMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL, this command must not write any values to the depth attachment - If the current render pass instance was begun with
CmdBeginRendering, theimageViewmember ofpStencilAttachmentis notNULL_HANDLE, and thelayoutmember ofpStencilAttachmentisIMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, this command must not write any values to the stencil attachment - If the current render pass instance was begun with
CmdBeginRendering, theimageViewmember ofpDepthAttachmentis notNULL_HANDLE, and thelayoutmember ofpDepthAttachmentisIMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, this command must not write any values to the depth attachment - If the current render pass instance was begun with
CmdBeginRendering, theimageViewmember ofpStencilAttachmentis notNULL_HANDLE, and thelayoutmember ofpStencilAttachmentisIMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL, this command must not write any values to the stencil attachment - If the current render pass instance was begun with
CmdBeginRendering, the currently bound graphics pipeline must have been created with aVkPipelineRenderingCreateInfo::viewMaskequal toVkRenderingInfo::viewMask - If the current render pass instance was begun with
CmdBeginRendering, the currently bound graphics pipeline must have been created with aVkPipelineRenderingCreateInfo::colorAttachmentCountequal toVkRenderingInfo::colorAttachmentCount - If the current render pass instance was begun with
CmdBeginRenderingandVkRenderingInfo::colorAttachmentCountgreater than 0, then each element of theVkRenderingInfo::pColorAttachmentsarray with aimageViewnot equal toNULL_HANDLEmust have been created with aVkFormatequal to the corresponding element ofVkPipelineRenderingCreateInfo::pColorAttachmentFormatsused to create the currently bound graphics pipeline - If the current render pass instance was begun with
CmdBeginRenderingandVkRenderingInfo::pDepthAttachment\u2192pname:imageView was notNULL_HANDLE, the value ofVkPipelineRenderingCreateInfo::depthAttachmentFormatused to create the currently bound graphics pipeline must be equal to theVkFormatused to createVkRenderingInfo::pDepthAttachment\u2192pname:imageView - If the current render pass instance was begun with
CmdBeginRenderingandVkRenderingInfo::pStencilAttachment\u2192pname:imageView was notNULL_HANDLE, the value ofVkPipelineRenderingCreateInfo::stencilAttachmentFormatused to create the currently bound graphics pipeline must be equal to theVkFormatused to createVkRenderingInfo::pStencilAttachment\u2192pname:imageView - If the current render pass instance was begun with
CmdBeginRenderingandVkRenderingFragmentShadingRateAttachmentInfoKHR::imageViewwas notNULL_HANDLE, the currently bound graphics pipeline must have been created withPIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR - If the current render pass instance was begun with
CmdBeginRenderingandVkRenderingFragmentDensityMapAttachmentInfoEXT::imageViewwas notNULL_HANDLE, the currently bound graphics pipeline must have been created withPIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT - If the currently bound pipeline was created with a
VkAttachmentSampleCountInfoAMDorVkAttachmentSampleCountInfoNVstructure, and the current render pass instance was begun withCmdBeginRenderingwith aVkRenderingInfo::colorAttachmentCountparameter greater than 0, then each element of theVkRenderingInfo::pColorAttachmentsarray with aimageViewnot equal toNULL_HANDLEmust have been created with a sample count equal to the corresponding element of thepColorAttachmentSamplesmember ofVkAttachmentSampleCountInfoAMDorVkAttachmentSampleCountInfoNVused to create the currently bound graphics pipeline - If the current render pass instance was begun with
CmdBeginRendering, the currently bound pipeline was created with aVkAttachmentSampleCountInfoAMDorVkAttachmentSampleCountInfoNVstructure, andVkRenderingInfo::pDepthAttachment\u2192pname:imageView was notNULL_HANDLE, the value of thedepthStencilAttachmentSamplesmember ofVkAttachmentSampleCountInfoAMDorVkAttachmentSampleCountInfoNVused to create the currently bound graphics pipeline must be equal to the sample count used to createVkRenderingInfo::pDepthAttachment\u2192pname:imageView - If the current render pass instance was begun with
CmdBeginRendering, the currently bound pipeline was created with aVkAttachmentSampleCountInfoAMDorVkAttachmentSampleCountInfoNVstructure, andVkRenderingInfo::pStencilAttachment\u2192pname:imageView was notNULL_HANDLE, the value of thedepthStencilAttachmentSamplesmember ofVkAttachmentSampleCountInfoAMDorVkAttachmentSampleCountInfoNVused to create the currently bound graphics pipeline must be equal to the sample count used to createVkRenderingInfo::pStencilAttachment\u2192pname:imageView - If the currently bound pipeline was created without a
VkAttachmentSampleCountInfoAMDorVkAttachmentSampleCountInfoNVstructure, and the current render pass instance was begun withCmdBeginRenderingwith aVkRenderingInfo::colorAttachmentCountparameter greater than 0, then each element of theVkRenderingInfo::pColorAttachmentsarray with aimageViewnot equal toNULL_HANDLEmust have been created with a sample count equal to the value ofVkPipelineMultisampleStateCreateInfo::rasterizationSamplesused to create the currently bound graphics pipeline - If the current render pass instance was begun with
CmdBeginRendering, the currently bound pipeline was created without aVkAttachmentSampleCountInfoAMDorVkAttachmentSampleCountInfoNVstructure, andVkRenderingInfo::pDepthAttachment\u2192pname:imageView was notNULL_HANDLE, the value ofVkPipelineMultisampleStateCreateInfo::rasterizationSamplesused to create the currently bound graphics pipeline must be equal to the sample count used to createVkRenderingInfo::pDepthAttachment\u2192pname:imageView - If the current render pass instance was begun with
CmdBeginRendering, the currently bound pipeline was created without aVkAttachmentSampleCountInfoAMDorVkAttachmentSampleCountInfoNVstructure, andVkRenderingInfo::pStencilAttachment\u2192pname:imageView was notNULL_HANDLE, the value ofVkPipelineMultisampleStateCreateInfo::rasterizationSamplesused to create the currently bound graphics pipeline must be equal to the sample count used to createVkRenderingInfo::pStencilAttachment\u2192pname:imageView - If the current render pass instance was begun with
CmdBeginRendering, the currently bound pipeline must have been created with aVkGraphicsPipelineCreateInfo::renderPassequal toNULL_HANDLE
- All vertex input bindings accessed via vertex input variables declared in the vertex shader entry point’s interface must have either valid or
NULL_HANDLEbuffers bound - If the nullDescriptor feature is not enabled, all vertex input bindings accessed via vertex input variables declared in the vertex shader entry point’s interface must not be
NULL_HANDLE - For a given vertex buffer binding, any attribute data fetched must be entirely contained within the corresponding vertex buffer binding, as described in Vertex Input Description
- If the bound graphics pipeline state was created with the
DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXTdynamic state enabled thenCmdSetPrimitiveTopologyEXTmust have been called in the current command buffer prior to this drawing command, and theprimitiveTopologyparameter ofvkCmdSetPrimitiveTopologyEXTmust be of the same topology class as the pipelineVkPipelineInputAssemblyStateCreateInfo::topologystate - If the bound graphics pipeline was created with both the
DYNAMIC_STATE_VERTEX_INPUT_EXTandDYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXTdynamic states enabled, thenCmdSetVertexInputEXTmust have been called in the current command buffer prior to this draw command - If the bound graphics pipeline was created with the
DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXTdynamic state enabled, but not theDYNAMIC_STATE_VERTEX_INPUT_EXTdynamic state enabled, thenCmdBindVertexBuffers2EXTmust have been called in the current command buffer prior to this draw command, and thepStridesparameter ofCmdBindVertexBuffers2EXTmust not beNULL - If the bound graphics pipeline state was created with the
DYNAMIC_STATE_VERTEX_INPUT_EXTdynamic state enabled, thenCmdSetVertexInputEXTmust have been called in the current command buffer prior to this draw command - If the bound graphics pipeline state was created with the
DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXTdynamic state enabled thenCmdSetPatchControlPointsEXTmust have been called in the current command buffer prior to this drawing command - If the bound graphics pipeline state was created with the
DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXTdynamic state enabled thenCmdSetPrimitiveRestartEnableEXTmust have been called in the current command buffer prior to this drawing command - The bound graphics pipeline must not have been created with the
VkPipelineShaderStageCreateInfo::stagemember of an element ofVkGraphicsPipelineCreateInfo::pStagesset toSHADER_STAGE_TASK_BIT_NVorSHADER_STAGE_MESH_BIT_NV
- If
bufferis non-sparse then it must be bound completely and contiguously to a singleVkDeviceMemoryobject buffermust have been created with theBUFFER_USAGE_INDIRECT_BUFFER_BITbit setoffsetmust be a multiple of 4commandBuffermust not be a protected command buffer
- If
countBufferis non-sparse then it must be bound completely and contiguously to a singleVkDeviceMemoryobject countBuffermust have been created with theBUFFER_USAGE_INDIRECT_BUFFER_BITbit setcountBufferOffsetmust be a multiple of 4- The count stored in
countBuffermust be less than or equal toVkPhysicalDeviceLimits::maxDrawIndirectCount (countBufferOffset + sizeof(uint32_t))must be less than or equal to the size ofcountBuffer- If drawIndirectCount is not enabled this function must not be used
stridemust be a multiple of 4 and must be greater than or equal to sizeof(VkDrawIndirectCommand)- If
maxDrawCountis greater than or equal to 1,(stride × (maxDrawCount - 1) + offset + sizeof(must be less than or equal to the size ofVkDrawIndirectCommand))buffer - If the count stored in
countBufferis equal to 1,(offset + sizeof(must be less than or equal to the size ofVkDrawIndirectCommand))buffer - If the count stored in
countBufferis greater than 1,(stride × (drawCount - 1) + offset + sizeof(must be less than or equal to the size ofVkDrawIndirectCommand))buffer
Valid Usage (Implicit)
commandBuffermust be a validVkCommandBufferhandlebuffermust be a validVkBufferhandlecountBuffermust be a validVkBufferhandlecommandBuffermust be in the recording state- The
VkCommandPoolthatcommandBufferwas allocated from must support graphics operations - This command must only be called inside of a render pass instance
- Each of
buffer,commandBuffer, andcountBuffermust have been created, allocated, or retrieved from the sameVkDevice
Host Synchronization
- Host access to
commandBuffermust be externally synchronized - Host access to the
VkCommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
Command Buffer Levels Render Pass Scope Supported Queue Types Primary Secondary Inside Graphics - Parameters:
commandBuffer- the command buffer into which the command is recorded.buffer- the buffer containing draw parameters.offset- the byte offset intobufferwhere parameters begin.countBuffer- the buffer containing the draw count.countBufferOffset- the byte offset intocountBufferwhere the draw count begins.maxDrawCount- specifies the maximum number of draws that will be executed. The actual number of executed draw calls is the minimum of the count specified incountBufferandmaxDrawCount.stride- the byte stride between successive sets of draw parameters.
- If a
-
vkCmdDrawIndexedIndirectCount
public static void vkCmdDrawIndexedIndirectCount(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, long buffer, long offset, long countBuffer, long countBufferOffset, int maxDrawCount, int stride)Draw parameters with indirect parameters, indexed vertices, and draw count.C Specification
To record an indexed draw call with a draw call count sourced from a buffer, call:
void vkCmdDrawIndexedIndirectCount( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);or the equivalent command
void vkCmdDrawIndexedIndirectCountKHR( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);or the equivalent command
void vkCmdDrawIndexedIndirectCountAMD( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);Description
vkCmdDrawIndexedIndirectCountbehaves similarly toCmdDrawIndexedIndirectexcept that the draw count is read by the device from a buffer during execution. The command will read an unsigned 32-bit integer fromcountBufferlocated atcountBufferOffsetand use this as the draw count.Valid Usage
- If a
VkSamplercreated withmagFilterorminFilterequal toFILTER_LINEARandcompareEnableequal toFALSEis used to sample aVkImageViewas a result of this command, then the image view’s format features must containFORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT - If a
VkSamplercreated withmipmapModeequal toSAMPLER_MIPMAP_MODE_LINEARandcompareEnableequal toFALSEis used to sample aVkImageViewas a result of this command, then the image view’s format features must containFORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT - If a
VkImageViewis sampled with depth comparison, the image view’s format features must containFORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT - If a
VkImageViewis accessed using atomic operations as a result of this command, then the image view’s format features must containFORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT - If a
VkImageViewis sampled withFILTER_CUBIC_EXTas a result of this command, then the image view’s format features must containFORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT - Any
VkImageViewbeing sampled withFILTER_CUBIC_EXTas a result of this command must have aVkImageViewTypeand format that supports cubic filtering, as specified byVkFilterCubicImageViewImageFormatPropertiesEXT::filterCubicreturned byvkGetPhysicalDeviceImageFormatProperties2 - Any
VkImageViewbeing sampled withFILTER_CUBIC_EXTwith a reduction mode of eitherSAMPLER_REDUCTION_MODE_MINorSAMPLER_REDUCTION_MODE_MAXas a result of this command must have aVkImageViewTypeand format that supports cubic filtering together with minmax filtering, as specified byVkFilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmaxreturned byvkGetPhysicalDeviceImageFormatProperties2 - Any
VkImagecreated with aVkImageCreateInfo::flagscontainingIMAGE_CREATE_CORNER_SAMPLED_BIT_NVsampled as a result of this command must only be sampled using aVkSamplerAddressModeofSAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE - Any
VkImageVieworVkBufferViewbeing written as a storage image or storage texel buffer where the image format field of theOpTypeImageisUnknownthen the view’s format feature must containFORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT - Any
VkImageVieworVkBufferViewbeing read as a storage image or storage texel buffer where the image format field of theOpTypeImageisUnknownthen the view’s format feature must containFORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT - For each set n that is statically used by the
VkPipelinebound to the pipeline bind point used by this command, a descriptor set must have been bound to n at the same pipeline bind point, with aVkPipelineLayoutthat is compatible for set n, with theVkPipelineLayoutused to create the currentVkPipeline, as described in Pipeline Layout Compatibility - If the
maintenance4feature is not enabled, then for each push constant that is statically used by theVkPipelinebound to the pipeline bind point used by this command, a push constant value must have been set for the same pipeline bind point, with aVkPipelineLayoutthat is compatible for push constants, with theVkPipelineLayoutused to create the currentVkPipeline, as described in Pipeline Layout Compatibility - Descriptors in each bound descriptor set, specified via
vkCmdBindDescriptorSets, must be valid if they are statically used by theVkPipelinebound to the pipeline bind point used by this command - A valid pipeline must be bound to the pipeline bind point used by this command
- If the
VkPipelineobject bound to the pipeline bind point used by this command requires any dynamic state, that state must have been set or inherited (if theVK_NV_inherited_viewport_scissorextension is enabled) forcommandBuffer, and done so after any previously bound pipeline with the corresponding state not specified as dynamic - There must not have been any calls to dynamic state setting commands for any state not specified as dynamic in the
VkPipelineobject bound to the pipeline bind point used by this command, since that pipeline was bound - If the
VkPipelineobject bound to the pipeline bind point used by this command accesses aVkSamplerobject that uses unnormalized coordinates, that sampler must not be used to sample from anyVkImagewith aVkImageViewof the typeIMAGE_VIEW_TYPE_3D,IMAGE_VIEW_TYPE_CUBE,IMAGE_VIEW_TYPE_1D_ARRAY,IMAGE_VIEW_TYPE_2D_ARRAYorIMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage - If the
VkPipelineobject bound to the pipeline bind point used by this command accesses aVkSamplerobject that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-VOpImageSample*orOpImageSparseSample*instructions withImplicitLod,DreforProjin their name, in any shader stage - If the
VkPipelineobject bound to the pipeline bind point used by this command accesses aVkSamplerobject that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-VOpImageSample*orOpImageSparseSample*instructions that includes a LOD bias or any offset values, in any shader stage - If the robust buffer access feature is not enabled, and if the
VkPipelineobject bound to the pipeline bind point used by this command accesses a uniform buffer, it must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point - If the robust buffer access feature is not enabled, and if the
VkPipelineobject bound to the pipeline bind point used by this command accesses a storage buffer, it must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point - If
commandBufferis an unprotected command buffer andprotectedNoFaultis not supported, any resource accessed by theVkPipelineobject bound to the pipeline bind point used by this command must not be a protected resource - If the
VkPipelineobject bound to the pipeline bind point used by this command accesses aVkSamplerorVkImageViewobject that enables sampler Y′CBCR conversion, that object must only be used withOpImageSample*orOpImageSparseSample*instructions - If the
VkPipelineobject bound to the pipeline bind point used by this command accesses aVkSamplerorVkImageViewobject that enables sampler Y′CBCR conversion, that object must not use theConstOffsetandOffsetoperands - If a
VkImageViewis accessed usingOpImageWriteas a result of this command, then theTypeof theTexeloperand of that instruction must have at least as many components as the image view’s format - If a
VkBufferViewis accessed usingOpImageWriteas a result of this command, then theTypeof theTexeloperand of that instruction must have at least as many components as the buffer view’s format - If a
VkImageViewwith aVkFormatthat has a 64-bit component width is accessed as a result of this command, theSampledTypeof theOpTypeImageoperand of that instruction must have aWidthof 64 - If a
VkImageViewwith aVkFormatthat has a component width less than 64-bit is accessed as a result of this command, theSampledTypeof theOpTypeImageoperand of that instruction must have aWidthof 32 - If a
VkBufferViewwith aVkFormatthat has a 64-bit component width is accessed as a result of this command, theSampledTypeof theOpTypeImageoperand of that instruction must have aWidthof 64 - If a
VkBufferViewwith aVkFormatthat has a component width less than 64-bit is accessed as a result of this command, theSampledTypeof theOpTypeImageoperand of that instruction must have aWidthof 32 - If the
sparseImageInt64Atomicsfeature is not enabled,VkImageobjects created with theIMAGE_CREATE_SPARSE_RESIDENCY_BITflag must not be accessed by atomic instructions through anOpTypeImagewith aSampledTypewith aWidthof 64 by this command - If the
sparseImageInt64Atomicsfeature is not enabled,VkBufferobjects created with theBUFFER_CREATE_SPARSE_RESIDENCY_BITflag must not be accessed by atomic instructions through anOpTypeImagewith aSampledTypewith aWidthof 64 by this command - The current render pass must be compatible with the
renderPassmember of theVkGraphicsPipelineCreateInfostructure specified when creating theVkPipelinebound toPIPELINE_BIND_POINT_GRAPHICS - The subpass index of the current render pass must be equal to the
subpassmember of theVkGraphicsPipelineCreateInfostructure specified when creating theVkPipelinebound toPIPELINE_BIND_POINT_GRAPHICS - Every input attachment used by the current subpass must be bound to the pipeline via a descriptor set
- Memory backing image subresources used as attachments in the current render pass must not be written in any way other than as an attachment by this command
- If any recorded command in the current subpass will write to an image subresource as an attachment, this command must not read from the memory backing that image subresource in any other way than as an attachment
- If any recorded command in the current subpass will read from an image subresource used as an attachment in any way other than as an attachment, this command must not write to that image subresource as an attachment
- If the draw is recorded in a render pass instance with multiview enabled, the maximum instance index must be less than or equal to
VkPhysicalDeviceMultiviewProperties::maxMultiviewInstanceIndex - If the bound graphics pipeline was created with
VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnableset toTRUEand the current subpass has a depth/stencil attachment, then that attachment must have been created with theIMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXTbit set - If the bound graphics pipeline state was created with the
DYNAMIC_STATE_VIEWPORT_WITH_COUNTdynamic state enabled, but not theDYNAMIC_STATE_SCISSOR_WITH_COUNTdynamic state enabled, thenCmdSetViewportWithCountmust have been called in the current command buffer prior to this drawing command, and theviewportCountparameter ofvkCmdSetViewportWithCountmust match theVkPipelineViewportStateCreateInfo::scissorCountof the pipeline - If the bound graphics pipeline state was created with the
DYNAMIC_STATE_SCISSOR_WITH_COUNTdynamic state enabled, but not theDYNAMIC_STATE_VIEWPORT_WITH_COUNTdynamic state enabled, thenCmdSetScissorWithCountmust have been called in the current command buffer prior to this drawing command, and thescissorCountparameter ofvkCmdSetScissorWithCountmust match theVkPipelineViewportStateCreateInfo::viewportCountof the pipeline - If the bound graphics pipeline state was created with both the
DYNAMIC_STATE_SCISSOR_WITH_COUNTandDYNAMIC_STATE_VIEWPORT_WITH_COUNTdynamic states enabled then bothCmdSetViewportWithCountandCmdSetScissorWithCountmust have been called in the current command buffer prior to this drawing command, and theviewportCountparameter ofvkCmdSetViewportWithCountmust match thescissorCountparameter ofvkCmdSetScissorWithCount - If the bound graphics pipeline state was created with the
DYNAMIC_STATE_VIEWPORT_WITH_COUNTdynamic state enabled, but not theDYNAMIC_STATE_VIEWPORT_W_SCALING_NVdynamic state enabled, then the bound graphics pipeline must have been created withVkPipelineViewportWScalingStateCreateInfoNV::viewportCountgreater or equal to theviewportCountparameter in the last call toCmdSetViewportWithCount - If the bound graphics pipeline state was created with the
DYNAMIC_STATE_VIEWPORT_WITH_COUNTandDYNAMIC_STATE_VIEWPORT_W_SCALING_NVdynamic states enabled then theviewportCountparameter in the last call toCmdSetViewportWScalingNVmust be greater than or equal to theviewportCountparameter in the last call toCmdSetViewportWithCount - If the bound graphics pipeline state was created with the
DYNAMIC_STATE_VIEWPORT_WITH_COUNTdynamic state enabled, but not theDYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NVdynamic state enabled, then the bound graphics pipeline must have been created withVkPipelineViewportShadingRateImageStateCreateInfoNV::viewportCountgreater or equal to theviewportCountparameter in the last call toCmdSetViewportWithCount - If the bound graphics pipeline state was created with the
DYNAMIC_STATE_VIEWPORT_WITH_COUNTandDYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NVdynamic states enabled then theviewportCountparameter in the last call toCmdSetViewportShadingRatePaletteNVmust be greater than or equal to theviewportCountparameter in the last call toCmdSetViewportWithCount - If the bound graphics pipeline state was created with the
DYNAMIC_STATE_VIEWPORT_WITH_COUNTdynamic state enabled and aVkPipelineViewportSwizzleStateCreateInfoNVstructure chained fromVkPipelineVieportCreateInfo, then the bound graphics pipeline must have been created withVkPipelineViewportSwizzleStateCreateInfoNV::viewportCountgreater or equal to theviewportCountparameter in the last call toCmdSetViewportWithCount - If the bound graphics pipeline state was created with the
DYNAMIC_STATE_VIEWPORT_WITH_COUNTdynamic state enabled and aVkPipelineViewportExclusiveScissorStateCreateInfoNVstructure chained fromVkPipelineVieportCreateInfo, then the bound graphics pipeline must have been created withVkPipelineViewportExclusiveScissorStateCreateInfoNV::exclusiveScissorCountgreater or equal to theviewportCountparameter in the last call toCmdSetViewportWithCount - If the bound graphics pipeline state was created with the
DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLEdynamic state enabled thenCmdSetRasterizerDiscardEnablemust have been called in the current command buffer prior to this drawing command - If the bound graphics pipeline state was created with the
DYNAMIC_STATE_DEPTH_BIAS_ENABLEdynamic state enabled thenCmdSetDepthBiasEnablemust have been called in the current command buffer prior to this drawing command - If the bound graphics pipeline state was created with the
DYNAMIC_STATE_LOGIC_OP_EXTdynamic state enabled thenCmdSetLogicOpEXTmust have been called in the current command buffer prior to this drawing command and thelogicOpmust be a validVkLogicOpvalue - If the
primitiveFragmentShadingRateWithMultipleViewportslimit is not supported, the bound graphics pipeline was created with theDYNAMIC_STATE_VIEWPORT_WITH_COUNTdynamic state enabled, and any of the shader stages of the bound graphics pipeline write to thePrimitiveShadingRateKHRbuilt-in, thenCmdSetViewportWithCountmust have been called in the current command buffer prior to this drawing command, and theviewportCountparameter ofvkCmdSetViewportWithCountmust be 1 - If rasterization is not disabled in the bound graphics pipeline, then for each color attachment in the subpass, if the corresponding image view’s format features do not contain
FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT, then theblendEnablemember of the corresponding element of thepAttachmentsmember ofpColorBlendStatemust beFALSE - If rasterization is not disabled in the bound graphics pipeline, and neither the
VK_AMD_mixed_attachment_samplesnor theVK_NV_framebuffer_mixed_samplesextensions are enabled, thenVkPipelineMultisampleStateCreateInfo::rasterizationSamplesmust be the same as the current subpass color and/or depth/stencil attachments - If the current render pass instance was begun with
CmdBeginRendering, theimageViewmember ofpDepthAttachmentis notNULL_HANDLE, and thelayoutmember ofpDepthAttachmentisIMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, this command must not write any values to the depth attachment - If the current render pass instance was begun with
CmdBeginRendering, theimageViewmember ofpStencilAttachmentis notNULL_HANDLE, and thelayoutmember ofpStencilAttachmentisIMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, this command must not write any values to the stencil attachment - If the current render pass instance was begun with
CmdBeginRendering, theimageViewmember ofpDepthAttachmentis notNULL_HANDLE, and thelayoutmember ofpDepthAttachmentisIMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL, this command must not write any values to the depth attachment - If the current render pass instance was begun with
CmdBeginRendering, theimageViewmember ofpStencilAttachmentis notNULL_HANDLE, and thelayoutmember ofpStencilAttachmentisIMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, this command must not write any values to the stencil attachment - If the current render pass instance was begun with
CmdBeginRendering, theimageViewmember ofpDepthAttachmentis notNULL_HANDLE, and thelayoutmember ofpDepthAttachmentisIMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, this command must not write any values to the depth attachment - If the current render pass instance was begun with
CmdBeginRendering, theimageViewmember ofpStencilAttachmentis notNULL_HANDLE, and thelayoutmember ofpStencilAttachmentisIMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL, this command must not write any values to the stencil attachment - If the current render pass instance was begun with
CmdBeginRendering, the currently bound graphics pipeline must have been created with aVkPipelineRenderingCreateInfo::viewMaskequal toVkRenderingInfo::viewMask - If the current render pass instance was begun with
CmdBeginRendering, the currently bound graphics pipeline must have been created with aVkPipelineRenderingCreateInfo::colorAttachmentCountequal toVkRenderingInfo::colorAttachmentCount - If the current render pass instance was begun with
CmdBeginRenderingandVkRenderingInfo::colorAttachmentCountgreater than 0, then each element of theVkRenderingInfo::pColorAttachmentsarray with aimageViewnot equal toNULL_HANDLEmust have been created with aVkFormatequal to the corresponding element ofVkPipelineRenderingCreateInfo::pColorAttachmentFormatsused to create the currently bound graphics pipeline - If the current render pass instance was begun with
CmdBeginRenderingandVkRenderingInfo::pDepthAttachment\u2192pname:imageView was notNULL_HANDLE, the value ofVkPipelineRenderingCreateInfo::depthAttachmentFormatused to create the currently bound graphics pipeline must be equal to theVkFormatused to createVkRenderingInfo::pDepthAttachment\u2192pname:imageView - If the current render pass instance was begun with
CmdBeginRenderingandVkRenderingInfo::pStencilAttachment\u2192pname:imageView was notNULL_HANDLE, the value ofVkPipelineRenderingCreateInfo::stencilAttachmentFormatused to create the currently bound graphics pipeline must be equal to theVkFormatused to createVkRenderingInfo::pStencilAttachment\u2192pname:imageView - If the current render pass instance was begun with
CmdBeginRenderingandVkRenderingFragmentShadingRateAttachmentInfoKHR::imageViewwas notNULL_HANDLE, the currently bound graphics pipeline must have been created withPIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR - If the current render pass instance was begun with
CmdBeginRenderingandVkRenderingFragmentDensityMapAttachmentInfoEXT::imageViewwas notNULL_HANDLE, the currently bound graphics pipeline must have been created withPIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT - If the currently bound pipeline was created with a
VkAttachmentSampleCountInfoAMDorVkAttachmentSampleCountInfoNVstructure, and the current render pass instance was begun withCmdBeginRenderingwith aVkRenderingInfo::colorAttachmentCountparameter greater than 0, then each element of theVkRenderingInfo::pColorAttachmentsarray with aimageViewnot equal toNULL_HANDLEmust have been created with a sample count equal to the corresponding element of thepColorAttachmentSamplesmember ofVkAttachmentSampleCountInfoAMDorVkAttachmentSampleCountInfoNVused to create the currently bound graphics pipeline - If the current render pass instance was begun with
CmdBeginRendering, the currently bound pipeline was created with aVkAttachmentSampleCountInfoAMDorVkAttachmentSampleCountInfoNVstructure, andVkRenderingInfo::pDepthAttachment\u2192pname:imageView was notNULL_HANDLE, the value of thedepthStencilAttachmentSamplesmember ofVkAttachmentSampleCountInfoAMDorVkAttachmentSampleCountInfoNVused to create the currently bound graphics pipeline must be equal to the sample count used to createVkRenderingInfo::pDepthAttachment\u2192pname:imageView - If the current render pass instance was begun with
CmdBeginRendering, the currently bound pipeline was created with aVkAttachmentSampleCountInfoAMDorVkAttachmentSampleCountInfoNVstructure, andVkRenderingInfo::pStencilAttachment\u2192pname:imageView was notNULL_HANDLE, the value of thedepthStencilAttachmentSamplesmember ofVkAttachmentSampleCountInfoAMDorVkAttachmentSampleCountInfoNVused to create the currently bound graphics pipeline must be equal to the sample count used to createVkRenderingInfo::pStencilAttachment\u2192pname:imageView - If the currently bound pipeline was created without a
VkAttachmentSampleCountInfoAMDorVkAttachmentSampleCountInfoNVstructure, and the current render pass instance was begun withCmdBeginRenderingwith aVkRenderingInfo::colorAttachmentCountparameter greater than 0, then each element of theVkRenderingInfo::pColorAttachmentsarray with aimageViewnot equal toNULL_HANDLEmust have been created with a sample count equal to the value ofVkPipelineMultisampleStateCreateInfo::rasterizationSamplesused to create the currently bound graphics pipeline - If the current render pass instance was begun with
CmdBeginRendering, the currently bound pipeline was created without aVkAttachmentSampleCountInfoAMDorVkAttachmentSampleCountInfoNVstructure, andVkRenderingInfo::pDepthAttachment\u2192pname:imageView was notNULL_HANDLE, the value ofVkPipelineMultisampleStateCreateInfo::rasterizationSamplesused to create the currently bound graphics pipeline must be equal to the sample count used to createVkRenderingInfo::pDepthAttachment\u2192pname:imageView - If the current render pass instance was begun with
CmdBeginRendering, the currently bound pipeline was created without aVkAttachmentSampleCountInfoAMDorVkAttachmentSampleCountInfoNVstructure, andVkRenderingInfo::pStencilAttachment\u2192pname:imageView was notNULL_HANDLE, the value ofVkPipelineMultisampleStateCreateInfo::rasterizationSamplesused to create the currently bound graphics pipeline must be equal to the sample count used to createVkRenderingInfo::pStencilAttachment\u2192pname:imageView - If the current render pass instance was begun with
CmdBeginRendering, the currently bound pipeline must have been created with aVkGraphicsPipelineCreateInfo::renderPassequal toNULL_HANDLE
- All vertex input bindings accessed via vertex input variables declared in the vertex shader entry point’s interface must have either valid or
NULL_HANDLEbuffers bound - If the nullDescriptor feature is not enabled, all vertex input bindings accessed via vertex input variables declared in the vertex shader entry point’s interface must not be
NULL_HANDLE - For a given vertex buffer binding, any attribute data fetched must be entirely contained within the corresponding vertex buffer binding, as described in Vertex Input Description
- If the bound graphics pipeline state was created with the
DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXTdynamic state enabled thenCmdSetPrimitiveTopologyEXTmust have been called in the current command buffer prior to this drawing command, and theprimitiveTopologyparameter ofvkCmdSetPrimitiveTopologyEXTmust be of the same topology class as the pipelineVkPipelineInputAssemblyStateCreateInfo::topologystate - If the bound graphics pipeline was created with both the
DYNAMIC_STATE_VERTEX_INPUT_EXTandDYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXTdynamic states enabled, thenCmdSetVertexInputEXTmust have been called in the current command buffer prior to this draw command - If the bound graphics pipeline was created with the
DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXTdynamic state enabled, but not theDYNAMIC_STATE_VERTEX_INPUT_EXTdynamic state enabled, thenCmdBindVertexBuffers2EXTmust have been called in the current command buffer prior to this draw command, and thepStridesparameter ofCmdBindVertexBuffers2EXTmust not beNULL - If the bound graphics pipeline state was created with the
DYNAMIC_STATE_VERTEX_INPUT_EXTdynamic state enabled, thenCmdSetVertexInputEXTmust have been called in the current command buffer prior to this draw command - If the bound graphics pipeline state was created with the
DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXTdynamic state enabled thenCmdSetPatchControlPointsEXTmust have been called in the current command buffer prior to this drawing command - If the bound graphics pipeline state was created with the
DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXTdynamic state enabled thenCmdSetPrimitiveRestartEnableEXTmust have been called in the current command buffer prior to this drawing command - The bound graphics pipeline must not have been created with the
VkPipelineShaderStageCreateInfo::stagemember of an element ofVkGraphicsPipelineCreateInfo::pStagesset toSHADER_STAGE_TASK_BIT_NVorSHADER_STAGE_MESH_BIT_NV
- If
bufferis non-sparse then it must be bound completely and contiguously to a singleVkDeviceMemoryobject buffermust have been created with theBUFFER_USAGE_INDIRECT_BUFFER_BITbit setoffsetmust be a multiple of 4commandBuffermust not be a protected command buffer
- If
countBufferis non-sparse then it must be bound completely and contiguously to a singleVkDeviceMemoryobject countBuffermust have been created with theBUFFER_USAGE_INDIRECT_BUFFER_BITbit setcountBufferOffsetmust be a multiple of 4- The count stored in
countBuffermust be less than or equal toVkPhysicalDeviceLimits::maxDrawIndirectCount (countBufferOffset + sizeof(uint32_t))must be less than or equal to the size ofcountBuffer- If drawIndirectCount is not enabled this function must not be used
stridemust be a multiple of 4 and must be greater than or equal to sizeof(VkDrawIndexedIndirectCommand)- If
maxDrawCountis greater than or equal to 1,(stride × (maxDrawCount - 1) + offset + sizeof(must be less than or equal to the size ofVkDrawIndexedIndirectCommand))buffer - If count stored in
countBufferis equal to 1,(offset + sizeof(must be less than or equal to the size ofVkDrawIndexedIndirectCommand))buffer - If count stored in
countBufferis greater than 1,(stride × (drawCount - 1) + offset + sizeof(must be less than or equal to the size ofVkDrawIndexedIndirectCommand))buffer
Valid Usage (Implicit)
commandBuffermust be a validVkCommandBufferhandlebuffermust be a validVkBufferhandlecountBuffermust be a validVkBufferhandlecommandBuffermust be in the recording state- The
VkCommandPoolthatcommandBufferwas allocated from must support graphics operations - This command must only be called inside of a render pass instance
- Each of
buffer,commandBuffer, andcountBuffermust have been created, allocated, or retrieved from the sameVkDevice
Host Synchronization
- Host access to
commandBuffermust be externally synchronized - Host access to the
VkCommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
Command Buffer Levels Render Pass Scope Supported Queue Types Primary Secondary Inside Graphics - Parameters:
commandBuffer- the command buffer into which the command is recorded.buffer- the buffer containing draw parameters.offset- the byte offset intobufferwhere parameters begin.countBuffer- the buffer containing the draw count.countBufferOffset- the byte offset intocountBufferwhere the draw count begins.maxDrawCount- specifies the maximum number of draws that will be executed. The actual number of executed draw calls is the minimum of the count specified incountBufferandmaxDrawCount.stride- the byte stride between successive sets of draw parameters.
- If a
-
nvkCreateRenderPass2
public static int nvkCreateRenderPass2(org.lwjgl.vulkan.VkDevice device, long pCreateInfo, long pAllocator, long pRenderPass)Unsafe version of:CreateRenderPass2
-
vkCreateRenderPass2
public static int vkCreateRenderPass2(org.lwjgl.vulkan.VkDevice device, VkRenderPassCreateInfo2 pCreateInfo, @Nullable VkAllocationCallbacks pAllocator, java.nio.LongBuffer pRenderPass)Create a new render pass object.C Specification
To create a render pass, call:
VkResult vkCreateRenderPass2( VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);or the equivalent command
VkResult vkCreateRenderPass2KHR( VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);Description
This command is functionally identical to
CreateRenderPass, but includes extensible sub-structures that includesTypeandpNextparameters, allowing them to be more easily extended.Valid Usage (Implicit)
devicemust be a validVkDevicehandlepCreateInfomust be a valid pointer to a validVkRenderPassCreateInfo2structure- If
pAllocatoris notNULL,pAllocatormust be a valid pointer to a validVkAllocationCallbacksstructure pRenderPassmust be a valid pointer to aVkRenderPasshandle
Return Codes
- On success, this command returns
- On failure, this command returns
See Also
- Parameters:
device- the logical device that creates the render pass.pCreateInfo- a pointer to aVkRenderPassCreateInfo2structure describing the parameters of the render pass.pAllocator- controls host memory allocation as described in the Memory Allocation chapter.pRenderPass- a pointer to aVkRenderPasshandle in which the resulting render pass object is returned.
-
nvkCmdBeginRenderPass2
public static void nvkCmdBeginRenderPass2(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, long pRenderPassBegin, long pSubpassBeginInfo)Unsafe version of:CmdBeginRenderPass2
-
vkCmdBeginRenderPass2
public static void vkCmdBeginRenderPass2(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, VkRenderPassBeginInfo pRenderPassBegin, VkSubpassBeginInfo pSubpassBeginInfo)Begin a new render pass.C Specification
Alternatively to begin a render pass, call:
void vkCmdBeginRenderPass2( VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);or the equivalent command
void vkCmdBeginRenderPass2KHR( VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);Description
After beginning a render pass instance, the command buffer is ready to record the commands for the first subpass of that render pass.
Valid Usage
- Both the
framebufferandrenderPassmembers ofpRenderPassBeginmust have been created on the sameVkDevicethatcommandBufferwas allocated on - If any of the
initialLayoutorfinalLayoutmember of theVkAttachmentDescriptionstructures or thelayoutmember of theVkAttachmentReferencestructures specified when creating the render pass specified in therenderPassmember ofpRenderPassBeginisIMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMALthen the corresponding attachment image view of the framebuffer specified in theframebuffermember ofpRenderPassBeginmust have been created with ausagevalue includingIMAGE_USAGE_COLOR_ATTACHMENT_BIT - If any of the
initialLayoutorfinalLayoutmember of theVkAttachmentDescriptionstructures or thelayoutmember of theVkAttachmentReferencestructures specified when creating the render pass specified in therenderPassmember ofpRenderPassBeginisIMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL, orIMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMALthen the corresponding attachment image view of the framebuffer specified in theframebuffermember ofpRenderPassBeginmust have been created with ausagevalue includingIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT - If any of the
initialLayoutorfinalLayoutmember of theVkAttachmentDescriptionstructures or thelayoutmember of theVkAttachmentReferencestructures specified when creating the render pass specified in therenderPassmember ofpRenderPassBeginisIMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, orIMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, orIMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMALthen the corresponding attachment image view of the framebuffer specified in theframebuffermember ofpRenderPassBeginmust have been created with ausagevalue includingIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT - If any of the
stencilInitialLayoutorstencilFinalLayoutmember of theVkAttachmentDescriptionStencilLayoutstructures or thestencilLayoutmember of theVkAttachmentReferenceStencilLayoutstructures specified when creating the render pass specified in therenderPassmember ofpRenderPassBeginisIMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, orIMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMALthen the corresponding attachment image view of the framebuffer specified in theframebuffermember ofpRenderPassBeginmust have been created with ausagevalue includingIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT - If any of the
initialLayoutorfinalLayoutmember of theVkAttachmentDescriptionstructures or thelayoutmember of theVkAttachmentReferencestructures specified when creating the render pass specified in therenderPassmember ofpRenderPassBeginisIMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMALthen the corresponding attachment image view of the framebuffer specified in theframebuffermember ofpRenderPassBeginmust have been created with ausagevalue includingIMAGE_USAGE_SAMPLED_BITorIMAGE_USAGE_INPUT_ATTACHMENT_BIT - If any of the
initialLayoutorfinalLayoutmember of theVkAttachmentDescriptionstructures or thelayoutmember of theVkAttachmentReferencestructures specified when creating the render pass specified in therenderPassmember ofpRenderPassBeginisIMAGE_LAYOUT_TRANSFER_SRC_OPTIMALthen the corresponding attachment image view of the framebuffer specified in theframebuffermember ofpRenderPassBeginmust have been created with ausagevalue includingIMAGE_USAGE_TRANSFER_SRC_BIT - If any of the
initialLayoutorfinalLayoutmember of theVkAttachmentDescriptionstructures or thelayoutmember of theVkAttachmentReferencestructures specified when creating the render pass specified in therenderPassmember ofpRenderPassBeginisIMAGE_LAYOUT_TRANSFER_DST_OPTIMALthen the corresponding attachment image view of the framebuffer specified in theframebuffermember ofpRenderPassBeginmust have been created with ausagevalue includingIMAGE_USAGE_TRANSFER_DST_BIT - If the
initialLayoutmember of any of theVkAttachmentDescriptionstructures specified when creating the render pass specified in therenderPassmember ofpRenderPassBeginis notIMAGE_LAYOUT_UNDEFINED, then each suchinitialLayoutmust be equal to the current layout of the corresponding attachment image subresource of the framebuffer specified in theframebuffermember ofpRenderPassBegin - The
srcStageMaskmembers of any element of thepDependenciesmember ofVkRenderPassCreateInfoused to createrenderPassmust be supported by the capabilities of the queue family identified by thequeueFamilyIndexmember of theVkCommandPoolCreateInfoused to create the command pool whichcommandBufferwas allocated from - The
dstStageMaskmembers of any element of thepDependenciesmember ofVkRenderPassCreateInfoused to createrenderPassmust be supported by the capabilities of the queue family identified by thequeueFamilyIndexmember of theVkCommandPoolCreateInfoused to create the command pool whichcommandBufferwas allocated from - For any attachment in
framebufferthat is used byrenderPassand is bound to memory locations that are also bound to another attachment used byrenderPass, and if at least one of those uses causes either attachment to be written to, both attachments must have had theATTACHMENT_DESCRIPTION_MAY_ALIAS_BITset
Valid Usage (Implicit)
commandBuffermust be a validVkCommandBufferhandlepRenderPassBeginmust be a valid pointer to a validVkRenderPassBeginInfostructurepSubpassBeginInfomust be a valid pointer to a validVkSubpassBeginInfostructurecommandBuffermust be in the recording state- The
VkCommandPoolthatcommandBufferwas allocated from must support graphics operations - This command must only be called outside of a render pass instance
commandBuffermust be a primaryVkCommandBuffer
Host Synchronization
- Host access to
commandBuffermust be externally synchronized - Host access to the
VkCommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
Command Buffer Levels Render Pass Scope Supported Queue Types Primary Outside Graphics See Also
- Parameters:
commandBuffer- the command buffer in which to record the command.pRenderPassBegin- a pointer to aVkRenderPassBeginInfostructure specifying the render pass to begin an instance of, and the framebuffer the instance uses.pSubpassBeginInfo- a pointer to aVkSubpassBeginInfostructure containing information about the subpass which is about to begin rendering.
- Both the
-
nvkCmdNextSubpass2
public static void nvkCmdNextSubpass2(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, long pSubpassBeginInfo, long pSubpassEndInfo)Unsafe version of:CmdNextSubpass2
-
vkCmdNextSubpass2
public static void vkCmdNextSubpass2(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, VkSubpassBeginInfo pSubpassBeginInfo, VkSubpassEndInfo pSubpassEndInfo)Transition to the next subpass of a render pass.C Specification
To transition to the next subpass in the render pass instance after recording the commands for a subpass, call:
void vkCmdNextSubpass2( VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);or the equivalent command
void vkCmdNextSubpass2KHR( VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);Description
vkCmdNextSubpass2is semantically identical toCmdNextSubpass, except that it is extensible, and thatcontentsis provided as part of an extensible structure instead of as a flat parameter.Valid Usage
- The current subpass index must be less than the number of subpasses in the render pass minus one
- This command must not be recorded when transform feedback is active
Valid Usage (Implicit)
commandBuffermust be a validVkCommandBufferhandlepSubpassBeginInfomust be a valid pointer to a validVkSubpassBeginInfostructurepSubpassEndInfomust be a valid pointer to a validVkSubpassEndInfostructurecommandBuffermust be in the recording state- The
VkCommandPoolthatcommandBufferwas allocated from must support graphics operations - This command must only be called inside of a render pass instance
commandBuffermust be a primaryVkCommandBuffer
Host Synchronization
- Host access to
commandBuffermust be externally synchronized - Host access to the
VkCommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
Command Buffer Levels Render Pass Scope Supported Queue Types Primary Inside Graphics See Also
- Parameters:
commandBuffer- the command buffer in which to record the command.pSubpassBeginInfo- a pointer to aVkSubpassBeginInfostructure containing information about the subpass which is about to begin rendering.pSubpassEndInfo- a pointer to aVkSubpassEndInfostructure containing information about how the previous subpass will be ended.
-
nvkCmdEndRenderPass2
public static void nvkCmdEndRenderPass2(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, long pSubpassEndInfo)Unsafe version of:CmdEndRenderPass2
-
vkCmdEndRenderPass2
public static void vkCmdEndRenderPass2(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, VkSubpassEndInfo pSubpassEndInfo)End the current render pass.C Specification
To record a command to end a render pass instance after recording the commands for the last subpass, call:
void vkCmdEndRenderPass2( VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);or the equivalent command
void vkCmdEndRenderPass2KHR( VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);Description
vkCmdEndRenderPass2is semantically identical toCmdEndRenderPass, except that it is extensible.Valid Usage
- The current subpass index must be equal to the number of subpasses in the render pass minus one
- This command must not be recorded when transform feedback is active
- The current render pass instance must not have been begun with
CmdBeginRendering
Valid Usage (Implicit)
commandBuffermust be a validVkCommandBufferhandlepSubpassEndInfomust be a valid pointer to a validVkSubpassEndInfostructurecommandBuffermust be in the recording state- The
VkCommandPoolthatcommandBufferwas allocated from must support graphics operations - This command must only be called inside of a render pass instance
commandBuffermust be a primaryVkCommandBuffer
Host Synchronization
- Host access to
commandBuffermust be externally synchronized - Host access to the
VkCommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
Command Buffer Levels Render Pass Scope Supported Queue Types Primary Inside Graphics See Also
- Parameters:
commandBuffer- the command buffer in which to end the current render pass instance.pSubpassEndInfo- a pointer to aVkSubpassEndInfostructure containing information about how the previous subpass will be ended.
-
vkResetQueryPool
public static void vkResetQueryPool(org.lwjgl.vulkan.VkDevice device, long queryPool, int firstQuery, int queryCount)Reset queries in a query pool.C Specification
To reset a range of queries in a query pool on the host, call:
void vkResetQueryPool( VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);or the equivalent command
void vkResetQueryPoolEXT( VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);Description
This command sets the status of query indices
[firstQuery, firstQuery + queryCount - 1]to unavailable.If
queryPoolisQUERY_TYPE_PERFORMANCE_QUERY_KHRthis command sets the status of query indices[firstQuery, firstQuery + queryCount - 1]to unavailable for each pass.Valid Usage
- The hostQueryReset feature must be enabled
firstQuerymust be less than the number of queries inqueryPool- The sum of
firstQueryandqueryCountmust be less than or equal to the number of queries inqueryPool - Submitted commands that refer to the range specified by
firstQueryandqueryCountinqueryPoolmust have completed execution - The range of queries specified by
firstQueryandqueryCountinqueryPoolmust not be in use by calls toGetQueryPoolResultsorvkResetQueryPoolin other threads
Valid Usage (Implicit)
devicemust be a validVkDevicehandlequeryPoolmust be a validVkQueryPoolhandlequeryPoolmust have been created, allocated, or retrieved fromdevice
- Parameters:
device- the logical device that owns the query pool.queryPool- the handle of the query pool managing the queries being reset.firstQuery- the initial query index to reset.queryCount- the number of queries to reset.
-
nvkGetSemaphoreCounterValue
public static int nvkGetSemaphoreCounterValue(org.lwjgl.vulkan.VkDevice device, long semaphore, long pValue)Unsafe version of:GetSemaphoreCounterValue
-
vkGetSemaphoreCounterValue
public static int vkGetSemaphoreCounterValue(org.lwjgl.vulkan.VkDevice device, long semaphore, java.nio.LongBuffer pValue)Query the current state of a timeline semaphore.C Specification
To query the current counter value of a semaphore created with a
VkSemaphoreTypeofSEMAPHORE_TYPE_TIMELINEfrom the host, call:VkResult vkGetSemaphoreCounterValue( VkDevice device, VkSemaphore semaphore, uint64_t* pValue);or the equivalent command
VkResult vkGetSemaphoreCounterValueKHR( VkDevice device, VkSemaphore semaphore, uint64_t* pValue);Description
Note
If a queue submission command is pending execution, then the value returned by this command may immediately be out of date.
Valid Usage
semaphoremust have been created with aVkSemaphoreTypeofSEMAPHORE_TYPE_TIMELINE
Valid Usage (Implicit)
devicemust be a validVkDevicehandlesemaphoremust be a validVkSemaphorehandlepValuemust be a valid pointer to auint64_tvaluesemaphoremust have been created, allocated, or retrieved fromdevice
Return Codes
- On success, this command returns
- On failure, this command returns
- Parameters:
device- the logical device that owns the semaphore.semaphore- the handle of the semaphore to query.pValue- a pointer to a 64-bit integer value in which the current counter value of the semaphore is returned.
-
nvkWaitSemaphores
public static int nvkWaitSemaphores(org.lwjgl.vulkan.VkDevice device, long pWaitInfo, long timeout)Unsafe version of:WaitSemaphores
-
vkWaitSemaphores
public static int vkWaitSemaphores(org.lwjgl.vulkan.VkDevice device, VkSemaphoreWaitInfo pWaitInfo, long timeout)Wait for timeline semaphores on the host.C Specification
To wait for a set of semaphores created with a
VkSemaphoreTypeofSEMAPHORE_TYPE_TIMELINEto reach particular counter values on the host, call:VkResult vkWaitSemaphores( VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout);or the equivalent command
VkResult vkWaitSemaphoresKHR( VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout);Description
If the condition is satisfied when
vkWaitSemaphoresis called, thenvkWaitSemaphoresreturns immediately. If the condition is not satisfied at the timevkWaitSemaphoresis called, thenvkWaitSemaphoreswill block and wait until the condition is satisfied or thetimeouthas expired, whichever is sooner.If
timeoutis zero, thenvkWaitSemaphoresdoes not wait, but simply returns information about the current state of the semaphores.TIMEOUTwill be returned in this case if the condition is not satisfied, even though no actual wait was performed.If the condition is satisfied before the
timeouthas expired,vkWaitSemaphoresreturnsSUCCESS. Otherwise,vkWaitSemaphoresreturnsTIMEOUTafter thetimeouthas expired.If device loss occurs (see Lost Device) before the timeout has expired,
vkWaitSemaphoresmust return in finite time with eitherSUCCESSorERROR_DEVICE_LOST.Valid Usage (Implicit)
devicemust be a validVkDevicehandlepWaitInfomust be a valid pointer to a validVkSemaphoreWaitInfostructure
Return Codes
- On success, this command returns
- On failure, this command returns
See Also
- Parameters:
device- the logical device that owns the semaphores.pWaitInfo- a pointer to aVkSemaphoreWaitInfostructure containing information about the wait condition.timeout- the timeout period in units of nanoseconds.timeoutis adjusted to the closest value allowed by the implementation-dependent timeout accuracy, which may be substantially longer than one nanosecond, and may be longer than the requested period.
-
nvkSignalSemaphore
public static int nvkSignalSemaphore(org.lwjgl.vulkan.VkDevice device, long pSignalInfo)Unsafe version of:SignalSemaphore
-
vkSignalSemaphore
public static int vkSignalSemaphore(org.lwjgl.vulkan.VkDevice device, VkSemaphoreSignalInfo pSignalInfo)Signal a timeline semaphore on the host.C Specification
To signal a semaphore created with a
VkSemaphoreTypeofSEMAPHORE_TYPE_TIMELINEwith a particular counter value, on the host, call:VkResult vkSignalSemaphore( VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);or the equivalent command
VkResult vkSignalSemaphoreKHR( VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);Description
When
vkSignalSemaphoreis executed on the host, it defines and immediately executes a semaphore signal operation which sets the timeline semaphore to the given value.The first synchronization scope is defined by the host execution model, but includes execution of
vkSignalSemaphoreon the host and anything that happened-before it.The second synchronization scope is empty.
Valid Usage (Implicit)
devicemust be a validVkDevicehandlepSignalInfomust be a valid pointer to a validVkSemaphoreSignalInfostructure
Return Codes
- On success, this command returns
- On failure, this command returns
See Also
- Parameters:
device- the logical device that owns the semaphore.pSignalInfo- a pointer to aVkSemaphoreSignalInfostructure containing information about the signal operation.
-
nvkGetBufferDeviceAddress
public static long nvkGetBufferDeviceAddress(org.lwjgl.vulkan.VkDevice device, long pInfo)Unsafe version of:GetBufferDeviceAddress
-
vkGetBufferDeviceAddress
public static long vkGetBufferDeviceAddress(org.lwjgl.vulkan.VkDevice device, VkBufferDeviceAddressInfo pInfo)Query an address of a buffer.C Specification
To query a 64-bit buffer device address value through which buffer memory can be accessed in a shader, call:
VkDeviceAddress vkGetBufferDeviceAddress( VkDevice device, const VkBufferDeviceAddressInfo* pInfo);or the equivalent command
VkDeviceAddress vkGetBufferDeviceAddressKHR( VkDevice device, const VkBufferDeviceAddressInfo* pInfo);or the equivalent command
VkDeviceAddress vkGetBufferDeviceAddressEXT( VkDevice device, const VkBufferDeviceAddressInfo* pInfo);Description
The 64-bit return value is an address of the start of
pInfo\u2192buffer. The address range starting at this value and whose size is the size of the buffer can be used in a shader to access the memory bound to that buffer, using theSPV_KHR_physical_storage_bufferextension or the equivalentSPV_EXT_physical_storage_bufferextension and thePhysicalStorageBufferstorage class. For example, this value can be stored in a uniform buffer, and the shader can read the value from the uniform buffer and use it to do a dependent read/write to this buffer. A value of zero is reserved as a “null” pointer and must not be returned as a valid buffer device address. All loads, stores, and atomics in a shader throughPhysicalStorageBufferpointers must access addresses in the address range of some buffer.If the buffer was created with a non-zero value of
VkBufferOpaqueCaptureAddressCreateInfo::opaqueCaptureAddressorVkBufferDeviceAddressCreateInfoEXT::deviceAddress, the return value will be the same address that was returned at capture time.Valid Usage
- The bufferDeviceAddress or
VkPhysicalDeviceBufferDeviceAddressFeaturesEXT::bufferDeviceAddressfeature must be enabled - If
devicewas created with multiple physical devices, then the bufferDeviceAddressMultiDevice orVkPhysicalDeviceBufferDeviceAddressFeaturesEXT::bufferDeviceAddressMultiDevicefeature must be enabled
Valid Usage (Implicit)
devicemust be a validVkDevicehandlepInfomust be a valid pointer to a validVkBufferDeviceAddressInfostructure
See Also
- Parameters:
device- the logical device that the buffer was created on.pInfo- a pointer to aVkBufferDeviceAddressInfostructure specifying the buffer to retrieve an address for.
- The bufferDeviceAddress or
-
nvkGetBufferOpaqueCaptureAddress
public static long nvkGetBufferOpaqueCaptureAddress(org.lwjgl.vulkan.VkDevice device, long pInfo)Unsafe version of:GetBufferOpaqueCaptureAddress
-
vkGetBufferOpaqueCaptureAddress
public static long vkGetBufferOpaqueCaptureAddress(org.lwjgl.vulkan.VkDevice device, VkBufferDeviceAddressInfo pInfo)Query an opaque capture address of a buffer.C Specification
To query a 64-bit buffer opaque capture address, call:
uint64_t vkGetBufferOpaqueCaptureAddress( VkDevice device, const VkBufferDeviceAddressInfo* pInfo);or the equivalent command
uint64_t vkGetBufferOpaqueCaptureAddressKHR( VkDevice device, const VkBufferDeviceAddressInfo* pInfo);Description
The 64-bit return value is an opaque capture address of the start of
pInfo\u2192buffer.If the buffer was created with a non-zero value of
VkBufferOpaqueCaptureAddressCreateInfo::opaqueCaptureAddressthe return value must be the same address.Valid Usage
- The bufferDeviceAddress feature must be enabled
- If
devicewas created with multiple physical devices, then the bufferDeviceAddressMultiDevice feature must be enabled
Valid Usage (Implicit)
devicemust be a validVkDevicehandlepInfomust be a valid pointer to a validVkBufferDeviceAddressInfostructure
See Also
- Parameters:
device- the logical device that the buffer was created on.pInfo- a pointer to aVkBufferDeviceAddressInfostructure specifying the buffer to retrieve an address for.
-
nvkGetDeviceMemoryOpaqueCaptureAddress
public static long nvkGetDeviceMemoryOpaqueCaptureAddress(org.lwjgl.vulkan.VkDevice device, long pInfo)Unsafe version of:GetDeviceMemoryOpaqueCaptureAddress
-
vkGetDeviceMemoryOpaqueCaptureAddress
public static long vkGetDeviceMemoryOpaqueCaptureAddress(org.lwjgl.vulkan.VkDevice device, VkDeviceMemoryOpaqueCaptureAddressInfo pInfo)Query an opaque capture address of a memory object.C Specification
To query a 64-bit opaque capture address value from a memory object, call:
uint64_t vkGetDeviceMemoryOpaqueCaptureAddress( VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);or the equivalent command
uint64_t vkGetDeviceMemoryOpaqueCaptureAddressKHR( VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);Description
The 64-bit return value is an opaque address representing the start of
pInfo\u2192memory.If the memory object was allocated with a non-zero value of
VkMemoryOpaqueCaptureAddressAllocateInfo::opaqueCaptureAddress, the return value must be the same address.Note
The expected usage for these opaque addresses is only for trace capture/replay tools to store these addresses in a trace and subsequently specify them during replay.
Valid Usage
- The bufferDeviceAddress feature must be enabled
- If
devicewas created with multiple physical devices, then the bufferDeviceAddressMultiDevice feature must be enabled
Valid Usage (Implicit)
devicemust be a validVkDevicehandlepInfomust be a valid pointer to a validVkDeviceMemoryOpaqueCaptureAddressInfostructure
See Also
- Parameters:
device- the logical device that the memory object was allocated on.pInfo- a pointer to aVkDeviceMemoryOpaqueCaptureAddressInfostructure specifying the memory object to retrieve an address for.
-
vkCreateRenderPass2
public static int vkCreateRenderPass2(org.lwjgl.vulkan.VkDevice device, VkRenderPassCreateInfo2 pCreateInfo, @Nullable VkAllocationCallbacks pAllocator, long[] pRenderPass)Array version of:CreateRenderPass2
-
vkGetSemaphoreCounterValue
public static int vkGetSemaphoreCounterValue(org.lwjgl.vulkan.VkDevice device, long semaphore, long[] pValue)Array version of:GetSemaphoreCounterValue
-
-