Structures

VkMemoryMarkerInfoAMD

Memory marker write info

VkMemoryMarkerInfoAMD is defined as:

typedef struct VkMemoryMarkerInfoAMD {
    VkStructureType sType;
    const void* pNext;
    VkPipelineStageFlags2KHR stage;
    VkDeviceAddressRangeKHR dstRange;
    VkAddressCommandFlagsKHR dstFlags;
    uint32_t marker;
} VkMemoryMarkerInfoAMD;
  • sType is a VkStructureType value identifying this structure.
  • pNext is NULL or a pointer to a structure extending this structure.
  • stage specifies the pipeline stage whose completion triggers the marker write.
  • dstRange is the VkDeviceAddressRangeKHR where the marker will be written.
  • dstFlags is a VkAddressCommandFlagsKHR value defining the copy flags for the destination address range.
  • marker is the 32-bit value of the marker.

Valid Usage

VUID-VkMemoryMarkerInfoAMD-dstRange-13097

If the range specified by dstRange is not bound completely to memory when accessed, dstFlags must not include VK_ADDRESS_COMMAND_FULLY_BOUND_BIT_KHR

VUID-VkMemoryMarkerInfoAMD-dstRange-13098

If the buffer from which the range specified by dstRange was created with VK_BUFFER_CREATE_PROTECTED_BIT, and protectedNoFault is not supported, dstFlags must include VK_ADDRESS_COMMAND_PROTECTED_BIT_KHR

VUID-VkMemoryMarkerInfoAMD-dstRange-13099

If the buffer from which the range specified by dstRange was created without VK_BUFFER_CREATE_PROTECTED_BIT, and protectedNoFault is not supported, dstFlags must not include VK_ADDRESS_COMMAND_PROTECTED_BIT_KHR

VUID-VkMemoryMarkerInfoAMD-dstFlags-13100

dstFlags must not include both VK_ADDRESS_COMMAND_STORAGE_BUFFER_USAGE_BIT_KHR and VK_ADDRESS_COMMAND_UNKNOWN_STORAGE_BUFFER_USAGE_BIT_KHR

VUID-VkMemoryMarkerInfoAMD-dstRange-13122

If any buffer, which is bound to a range of VkDeviceMemory that overlaps the range backing dstRange, was created with VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, dstFlags must include VK_ADDRESS_COMMAND_STORAGE_BUFFER_USAGE_BIT_KHR or VK_ADDRESS_COMMAND_UNKNOWN_STORAGE_BUFFER_USAGE_BIT_KHR

VUID-VkMemoryMarkerInfoAMD-dstRange-13123

If any buffer, which is bound to a range of VkDeviceMemory that overlaps the range backing dstRange, was created without VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, dstFlags must not include VK_ADDRESS_COMMAND_STORAGE_BUFFER_USAGE_BIT_KHR

VUID-VkMemoryMarkerInfoAMD-dstFlags-13101

dstFlags must not include both VK_ADDRESS_COMMAND_TRANSFORM_FEEDBACK_BUFFER_USAGE_BIT_KHR and VK_ADDRESS_COMMAND_UNKNOWN_TRANSFORM_FEEDBACK_BUFFER_USAGE_BIT_KHR

VUID-VkMemoryMarkerInfoAMD-dstRange-13124

If any buffer, which is bound to a range of VkDeviceMemory that overlaps the range backing dstRange, was created with VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT, dstFlags must include VK_ADDRESS_COMMAND_TRANSFORM_FEEDBACK_BUFFER_USAGE_BIT_KHR or VK_ADDRESS_COMMAND_UNKNOWN_TRANSFORM_FEEDBACK_BUFFER_USAGE_BIT_KHR

VUID-VkMemoryMarkerInfoAMD-dstRange-13125

If any buffer, which is bound to a range of VkDeviceMemory that overlaps the range backing dstRange, was created without VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT, dstFlags must not include VK_ADDRESS_COMMAND_TRANSFORM_FEEDBACK_BUFFER_USAGE_BIT_KHR

VUID-VkMemoryMarkerInfoAMD-stage-03929

If the geometryShader feature is not enabled, stage must not contain VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT

VUID-VkMemoryMarkerInfoAMD-stage-03930

If the tessellationShader feature is not enabled, stage must not contain VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT or VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT

VUID-VkMemoryMarkerInfoAMD-stage-03931

If the conditionalRendering feature is not enabled, stage must not contain VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT

VUID-VkMemoryMarkerInfoAMD-stage-03932

If the fragmentDensityMap feature is not enabled, stage must not contain VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT

VUID-VkMemoryMarkerInfoAMD-stage-03933

If the transformFeedback feature is not enabled, stage must not contain VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT

VUID-VkMemoryMarkerInfoAMD-stage-03934

If the meshShader feature is not enabled, stage must not contain VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT

VUID-VkMemoryMarkerInfoAMD-stage-03935

If the taskShader feature is not enabled, stage must not contain VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT

VUID-VkMemoryMarkerInfoAMD-stage-07316

If neither of the shadingRateImage or the attachmentFragmentShadingRate features are enabled, stage must not contain VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR

VUID-VkMemoryMarkerInfoAMD-stage-04957

If the subpassShading feature is not enabled, stage must not contain VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI

VUID-VkMemoryMarkerInfoAMD-stage-04995

If the invocationMask feature is not enabled, stage must not contain VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI

VUID-VkMemoryMarkerInfoAMD-stage-07946

If neither the VK_NV_ray_tracing extension or the rayTracingPipeline feature are enabled, stage must not contain VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR

VUID-VkMemoryMarkerInfoAMD-stage-10751

If the accelerationStructure feature is not enabled, stage must not contain VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR

VUID-VkMemoryMarkerInfoAMD-stage-10752

If the rayTracingMaintenance1 feature is not enabled, stage must not contain VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR

VUID-VkMemoryMarkerInfoAMD-stage-10753

If the micromap feature is not enabled, stage must not contain VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT

VUID-VkMemoryMarkerInfoAMD-stage-13038

stage must include only a single pipeline stage

VUID-VkMemoryMarkerInfoAMD-dstRange-13039

The buffer from which dstRange was queried must have been created with VK_BUFFER_USAGE_TRANSFER_DST_BIT usage flag

VUID-VkMemoryMarkerInfoAMD-dstRange-13040

dstRange.address must be a multiple of 4

VUID-VkMemoryMarkerInfoAMD-dstRange-13041

dstRange.size must be greater than or equal to 4

Valid Usage (Implicit)

VUID-VkMemoryMarkerInfoAMD-sType-sType

sType must be VK_STRUCTURE_TYPE_MEMORY_MARKER_INFO_AMD