VkMemoryMarkerInfoAMD
VkMemoryMarkerInfoAMD is defined as:
typedef struct VkMemoryMarkerInfoAMD {
VkStructureType sType;
const void* pNext;
VkPipelineStageFlags2KHR stage;
VkDeviceAddressRangeKHR dstRange;
VkAddressCommandFlagsKHR dstFlags;
uint32_t marker;
} VkMemoryMarkerInfoAMD;
pub struct MemoryMarkerInfoAMD {
s_type: vk::StructureType,
p_next: *const c_void,
stage: vk::PipelineStageFlags2KHR,
dst_range: vk::DeviceAddressRangeKHR,
dst_flags: vk::AddressCommandFlagsKHR,
marker: u32,
}
sTypeis a VkStructureType value identifying this structure.pNextisNULLor a pointer to a structure extending this structure.stagespecifies the pipeline stage whose completion triggers the marker write.dstRangeis the VkDeviceAddressRangeKHR where the marker will be written.dstFlagsis a VkAddressCommandFlagsKHR value defining the copy flags for the destination address range.markeris 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
VUID-VkMemoryMarkerInfoAMD-pNext-pNext
pNext must be NULL
VUID-VkMemoryMarkerInfoAMD-stage-parameter
stage must be a valid combination of VkPipelineStageFlagBits2KHR values
VUID-VkMemoryMarkerInfoAMD-stage-requiredbitmask
stage must not be 0
VUID-VkMemoryMarkerInfoAMD-dstFlags-parameter
dstFlags must be a valid combination of VkAddressCommandFlagBitsKHR values