Package org.lwjgl.vulkan
Class VkMemoryBarrier2
java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<VkMemoryBarrier2>
org.lwjgl.vulkan.VkMemoryBarrier2
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
- Direct Known Subclasses:
VkMemoryBarrier2KHR
public class VkMemoryBarrier2
extends org.lwjgl.system.Struct<VkMemoryBarrier2>
implements org.lwjgl.system.NativeResource
Structure specifying a global memory barrier.
Description
This structure defines a memory dependency affecting all device memory.
The first synchronization scope and access scope described by this structure include only operations and memory accesses specified by srcStageMask and srcAccessMask.
The second synchronization scope and access scope described by this structure include only operations and memory accesses specified by dstStageMask and dstAccessMask.
Valid Usage
- If the
geometryShaderfeature is not enabled,srcStageMaskmust not containPIPELINE_STAGE_2_GEOMETRY_SHADER_BIT - If the
tessellationShaderfeature is not enabled,srcStageMaskmust not containPIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BITorPIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT - If the
conditionalRenderingfeature is not enabled,srcStageMaskmust not containPIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT - If the
fragmentDensityMapfeature is not enabled,srcStageMaskmust not containPIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT - If the
transformFeedbackfeature is not enabled,srcStageMaskmust not containPIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT - If the
meshShaderfeature is not enabled,srcStageMaskmust not containPIPELINE_STAGE_2_MESH_SHADER_BIT_EXT - If the
taskShaderfeature is not enabled,srcStageMaskmust not containPIPELINE_STAGE_2_TASK_SHADER_BIT_EXT - If neither of the
shadingRateImageor theattachmentFragmentShadingRatefeatures are enabled,srcStageMaskmust not containPIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR - If the
subpassShadingfeature is not enabled,srcStageMaskmust not containPIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI - If the
invocationMaskfeature is not enabled,srcStageMaskmust not containPIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI - If neither the
VK_NV_ray_tracingextension or therayTracingPipelinefeature are enabled,srcStageMaskmust not containPIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR
- If
srcAccessMaskincludesACCESS_2_INDIRECT_COMMAND_READ_BIT,srcStageMaskmust includePIPELINE_STAGE_2_DRAW_INDIRECT_BIT,PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orPIPELINE_STAGE_2_ALL_COMMANDS_BIT - If
srcAccessMaskincludesACCESS_2_INDEX_READ_BIT,srcStageMaskmust includePIPELINE_STAGE_2_INDEX_INPUT_BIT,PIPELINE_STAGE_2_VERTEX_INPUT_BIT,PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orPIPELINE_STAGE_2_ALL_COMMANDS_BIT - If
srcAccessMaskincludesACCESS_2_VERTEX_ATTRIBUTE_READ_BIT,srcStageMaskmust includePIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT,PIPELINE_STAGE_2_VERTEX_INPUT_BIT,PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orPIPELINE_STAGE_2_ALL_COMMANDS_BIT - If
srcAccessMaskincludesACCESS_2_INPUT_ATTACHMENT_READ_BIT,srcStageMaskmust includePIPELINE_STAGE_2_FRAGMENT_SHADER_BIT,PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI,PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orPIPELINE_STAGE_2_ALL_COMMANDS_BIT - If
srcAccessMaskincludesACCESS_2_UNIFORM_READ_BIT,srcStageMaskmust includePIPELINE_STAGE_2_ALL_GRAPHICS_BIT,PIPELINE_STAGE_2_ALL_COMMANDS_BIT, or one of theVK_PIPELINE_STAGE_*_SHADER_BITstages - If
srcAccessMaskincludesACCESS_2_SHADER_SAMPLED_READ_BIT,srcStageMaskmust includePIPELINE_STAGE_2_ALL_GRAPHICS_BIT,PIPELINE_STAGE_2_ALL_COMMANDS_BIT, or one of theVK_PIPELINE_STAGE_*_SHADER_BITstages - If
srcAccessMaskincludesACCESS_2_SHADER_STORAGE_READ_BIT,srcStageMaskmust includePIPELINE_STAGE_2_ALL_GRAPHICS_BIT,PIPELINE_STAGE_2_ALL_COMMANDS_BIT, or one of theVK_PIPELINE_STAGE_*_SHADER_BITstages - If
srcAccessMaskincludesACCESS_2_SHADER_STORAGE_WRITE_BIT,srcStageMaskmust includePIPELINE_STAGE_2_ALL_GRAPHICS_BIT,PIPELINE_STAGE_2_ALL_COMMANDS_BIT, or one of theVK_PIPELINE_STAGE_*_SHADER_BITstages - If
srcAccessMaskincludesACCESS_2_SHADER_READ_BIT,srcStageMaskmust includePIPELINE_STAGE_2_ALL_GRAPHICS_BIT,PIPELINE_STAGE_2_ALL_COMMANDS_BIT,PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT, or one of theVK_PIPELINE_STAGE_*_SHADER_BITstages - If
srcAccessMaskincludesACCESS_2_SHADER_WRITE_BIT,srcStageMaskmust includePIPELINE_STAGE_2_ALL_GRAPHICS_BIT,PIPELINE_STAGE_2_ALL_COMMANDS_BIT, or one of theVK_PIPELINE_STAGE_*_SHADER_BITstages - If
srcAccessMaskincludesACCESS_2_COLOR_ATTACHMENT_READ_BIT,srcStageMaskmust includePIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BITPIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orPIPELINE_STAGE_2_ALL_COMMANDS_BIT - If
srcAccessMaskincludesACCESS_2_COLOR_ATTACHMENT_WRITE_BIT,srcStageMaskmust includePIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BITPIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orPIPELINE_STAGE_2_ALL_COMMANDS_BIT - If
srcAccessMaskincludesACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT,srcStageMaskmust includePIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT,PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT,PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orPIPELINE_STAGE_2_ALL_COMMANDS_BIT - If
srcAccessMaskincludesACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT,srcStageMaskmust includePIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT,PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT,PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orPIPELINE_STAGE_2_ALL_COMMANDS_BIT - If
srcAccessMaskincludesACCESS_2_TRANSFER_READ_BIT,srcStageMaskmust includePIPELINE_STAGE_2_COPY_BIT,PIPELINE_STAGE_2_BLIT_BIT,PIPELINE_STAGE_2_RESOLVE_BIT,PIPELINE_STAGE_2_ALL_TRANSFER_BIT,PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR, orPIPELINE_STAGE_2_ALL_COMMANDS_BIT - If
srcAccessMaskincludesACCESS_2_TRANSFER_WRITE_BIT,srcStageMaskmust includePIPELINE_STAGE_2_COPY_BIT,PIPELINE_STAGE_2_BLIT_BIT,PIPELINE_STAGE_2_RESOLVE_BIT,PIPELINE_STAGE_2_CLEAR_BIT,PIPELINE_STAGE_2_ALL_TRANSFER_BIT,PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, orPIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR,PIPELINE_STAGE_2_ALL_COMMANDS_BIT - If
srcAccessMaskincludesACCESS_2_HOST_READ_BIT,srcStageMaskmust includePIPELINE_STAGE_2_HOST_BIT - If
srcAccessMaskincludesACCESS_2_HOST_WRITE_BIT,srcStageMaskmust includePIPELINE_STAGE_2_HOST_BIT - If
srcAccessMaskincludesACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT,srcStageMaskmust includePIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT,PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orPIPELINE_STAGE_2_ALL_COMMANDS_BIT - If
srcAccessMaskincludesACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT,srcStageMaskmust includePIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT,PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orPIPELINE_STAGE_2_ALL_COMMANDS_BIT - If
srcAccessMaskincludesACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT,srcStageMaskmust includePIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orPIPELINE_STAGE_2_ALL_COMMANDS_BIT - If
srcAccessMaskincludesACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT,srcStageMaskmust includePIPELINE_STAGE_2_DRAW_INDIRECT_BIT,PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orPIPELINE_STAGE_2_ALL_COMMANDS_BIT - If
srcAccessMaskincludesACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT,srcStageMaskmust includePIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orPIPELINE_STAGE_2_ALL_COMMANDS_BIT - If
srcAccessMaskincludesACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV,srcStageMaskmust includePIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV,PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orPIPELINE_STAGE_2_ALL_COMMANDS_BIT - If
srcAccessMaskincludesACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI,srcStageMaskmust includePIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI - If
srcAccessMaskincludesACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV,srcStageMaskmust includePIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NVorPIPELINE_STAGE_2_ALL_COMMANDS_BIT - If
srcAccessMaskincludesACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV,srcStageMaskmust includePIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NVorPIPELINE_STAGE_2_ALL_COMMANDS_BIT - If
srcAccessMaskincludesACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT,srcStageMaskmust includePIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BITPIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orPIPELINE_STAGE_2_ALL_COMMANDS_BIT - If
srcAccessMaskincludesACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR,srcStageMaskmust includePIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR,PIPELINE_STAGE_2_ALL_COMMANDS_BIT, or one of theVK_PIPELINE_STAGE_*_SHADER_BITstages - If
srcAccessMaskincludesACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,srcStageMaskmust includePIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR,PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHRorPIPELINE_STAGE_2_ALL_COMMANDS_BIT - If the
rayQueryfeature is not enabled andsrcAccessMaskincludesACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR,srcStageMaskmust not include any of theVK_PIPELINE_STAGE_*_SHADER_BITstages exceptPIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR - If
srcAccessMaskincludesACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR,srcStageMaskmust includePIPELINE_STAGE_2_ALL_COMMANDS_BITorPIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR - If
srcAccessMaskincludesACCESS_2_VIDEO_DECODE_READ_BIT_KHR,srcStageMaskmust includePIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR - If
srcAccessMaskincludesACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR,srcStageMaskmust includePIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR - If
srcAccessMaskincludesACCESS_2_VIDEO_ENCODE_READ_BIT_KHR,srcStageMaskmust includePIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR - If
srcAccessMaskincludesACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR,srcStageMaskmust includePIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR - If
srcAccessMaskincludesACCESS_2_OPTICAL_FLOW_READ_BIT_NV,srcStageMaskmust includePIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV - If
srcAccessMaskincludesACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV,srcStageMaskmust includePIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV - If
srcAccessMaskincludesACCESS_2_MICROMAP_WRITE_BIT_EXT,srcStageMaskmust includePIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT - If
srcAccessMaskincludesACCESS_2_MICROMAP_READ_BIT_EXT,srcStageMaskmust includePIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXTorPIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR - If
srcAccessMaskincludesACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT,srcStageMaskmust includePIPELINE_STAGE_2_ALL_GRAPHICS_BIT,PIPELINE_STAGE_2_ALL_COMMANDS_BIT, or one ofVK_PIPELINE_STAGE_*_SHADER_BITstages
- If the
geometryShaderfeature is not enabled,dstStageMaskmust not containPIPELINE_STAGE_2_GEOMETRY_SHADER_BIT - If the
tessellationShaderfeature is not enabled,dstStageMaskmust not containPIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BITorPIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT - If the
conditionalRenderingfeature is not enabled,dstStageMaskmust not containPIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT - If the
fragmentDensityMapfeature is not enabled,dstStageMaskmust not containPIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT - If the
transformFeedbackfeature is not enabled,dstStageMaskmust not containPIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT - If the
meshShaderfeature is not enabled,dstStageMaskmust not containPIPELINE_STAGE_2_MESH_SHADER_BIT_EXT - If the
taskShaderfeature is not enabled,dstStageMaskmust not containPIPELINE_STAGE_2_TASK_SHADER_BIT_EXT - If neither of the
shadingRateImageor theattachmentFragmentShadingRatefeatures are enabled,dstStageMaskmust not containPIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR - If the
subpassShadingfeature is not enabled,dstStageMaskmust not containPIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI - If the
invocationMaskfeature is not enabled,dstStageMaskmust not containPIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI - If neither the
VK_NV_ray_tracingextension or therayTracingPipelinefeature are enabled,dstStageMaskmust not containPIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR
- If
dstAccessMaskincludesACCESS_2_INDIRECT_COMMAND_READ_BIT,dstStageMaskmust includePIPELINE_STAGE_2_DRAW_INDIRECT_BIT,PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orPIPELINE_STAGE_2_ALL_COMMANDS_BIT - If
dstAccessMaskincludesACCESS_2_INDEX_READ_BIT,dstStageMaskmust includePIPELINE_STAGE_2_INDEX_INPUT_BIT,PIPELINE_STAGE_2_VERTEX_INPUT_BIT,PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orPIPELINE_STAGE_2_ALL_COMMANDS_BIT - If
dstAccessMaskincludesACCESS_2_VERTEX_ATTRIBUTE_READ_BIT,dstStageMaskmust includePIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT,PIPELINE_STAGE_2_VERTEX_INPUT_BIT,PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orPIPELINE_STAGE_2_ALL_COMMANDS_BIT - If
dstAccessMaskincludesACCESS_2_INPUT_ATTACHMENT_READ_BIT,dstStageMaskmust includePIPELINE_STAGE_2_FRAGMENT_SHADER_BIT,PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI,PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orPIPELINE_STAGE_2_ALL_COMMANDS_BIT - If
dstAccessMaskincludesACCESS_2_UNIFORM_READ_BIT,dstStageMaskmust includePIPELINE_STAGE_2_ALL_GRAPHICS_BIT,PIPELINE_STAGE_2_ALL_COMMANDS_BIT, or one of theVK_PIPELINE_STAGE_*_SHADER_BITstages - If
dstAccessMaskincludesACCESS_2_SHADER_SAMPLED_READ_BIT,dstStageMaskmust includePIPELINE_STAGE_2_ALL_GRAPHICS_BIT,PIPELINE_STAGE_2_ALL_COMMANDS_BIT, or one of theVK_PIPELINE_STAGE_*_SHADER_BITstages - If
dstAccessMaskincludesACCESS_2_SHADER_STORAGE_READ_BIT,dstStageMaskmust includePIPELINE_STAGE_2_ALL_GRAPHICS_BIT,PIPELINE_STAGE_2_ALL_COMMANDS_BIT, or one of theVK_PIPELINE_STAGE_*_SHADER_BITstages - If
dstAccessMaskincludesACCESS_2_SHADER_STORAGE_WRITE_BIT,dstStageMaskmust includePIPELINE_STAGE_2_ALL_GRAPHICS_BIT,PIPELINE_STAGE_2_ALL_COMMANDS_BIT, or one of theVK_PIPELINE_STAGE_*_SHADER_BITstages - If
dstAccessMaskincludesACCESS_2_SHADER_READ_BIT,dstStageMaskmust includePIPELINE_STAGE_2_ALL_GRAPHICS_BIT,PIPELINE_STAGE_2_ALL_COMMANDS_BIT,PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT, or one of theVK_PIPELINE_STAGE_*_SHADER_BITstages - If
dstAccessMaskincludesACCESS_2_SHADER_WRITE_BIT,dstStageMaskmust includePIPELINE_STAGE_2_ALL_GRAPHICS_BIT,PIPELINE_STAGE_2_ALL_COMMANDS_BIT, or one of theVK_PIPELINE_STAGE_*_SHADER_BITstages - If
dstAccessMaskincludesACCESS_2_COLOR_ATTACHMENT_READ_BIT,dstStageMaskmust includePIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BITPIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orPIPELINE_STAGE_2_ALL_COMMANDS_BIT - If
dstAccessMaskincludesACCESS_2_COLOR_ATTACHMENT_WRITE_BIT,dstStageMaskmust includePIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BITPIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orPIPELINE_STAGE_2_ALL_COMMANDS_BIT - If
dstAccessMaskincludesACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT,dstStageMaskmust includePIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT,PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT,PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orPIPELINE_STAGE_2_ALL_COMMANDS_BIT - If
dstAccessMaskincludesACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT,dstStageMaskmust includePIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT,PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT,PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orPIPELINE_STAGE_2_ALL_COMMANDS_BIT - If
dstAccessMaskincludesACCESS_2_TRANSFER_READ_BIT,dstStageMaskmust includePIPELINE_STAGE_2_COPY_BIT,PIPELINE_STAGE_2_BLIT_BIT,PIPELINE_STAGE_2_RESOLVE_BIT,PIPELINE_STAGE_2_ALL_TRANSFER_BIT,PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR, orPIPELINE_STAGE_2_ALL_COMMANDS_BIT - If
dstAccessMaskincludesACCESS_2_TRANSFER_WRITE_BIT,dstStageMaskmust includePIPELINE_STAGE_2_COPY_BIT,PIPELINE_STAGE_2_BLIT_BIT,PIPELINE_STAGE_2_RESOLVE_BIT,PIPELINE_STAGE_2_CLEAR_BIT,PIPELINE_STAGE_2_ALL_TRANSFER_BIT,PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, orPIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR,PIPELINE_STAGE_2_ALL_COMMANDS_BIT - If
dstAccessMaskincludesACCESS_2_HOST_READ_BIT,dstStageMaskmust includePIPELINE_STAGE_2_HOST_BIT - If
dstAccessMaskincludesACCESS_2_HOST_WRITE_BIT,dstStageMaskmust includePIPELINE_STAGE_2_HOST_BIT - If
dstAccessMaskincludesACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT,dstStageMaskmust includePIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT,PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orPIPELINE_STAGE_2_ALL_COMMANDS_BIT - If
dstAccessMaskincludesACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT,dstStageMaskmust includePIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT,PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orPIPELINE_STAGE_2_ALL_COMMANDS_BIT - If
dstAccessMaskincludesACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT,dstStageMaskmust includePIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orPIPELINE_STAGE_2_ALL_COMMANDS_BIT - If
dstAccessMaskincludesACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT,dstStageMaskmust includePIPELINE_STAGE_2_DRAW_INDIRECT_BIT,PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orPIPELINE_STAGE_2_ALL_COMMANDS_BIT - If
dstAccessMaskincludesACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT,dstStageMaskmust includePIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orPIPELINE_STAGE_2_ALL_COMMANDS_BIT - If
dstAccessMaskincludesACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV,dstStageMaskmust includePIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV,PIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orPIPELINE_STAGE_2_ALL_COMMANDS_BIT - If
dstAccessMaskincludesACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI,dstStageMaskmust includePIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI - If
dstAccessMaskincludesACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV,dstStageMaskmust includePIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NVorPIPELINE_STAGE_2_ALL_COMMANDS_BIT - If
dstAccessMaskincludesACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV,dstStageMaskmust includePIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NVorPIPELINE_STAGE_2_ALL_COMMANDS_BIT - If
dstAccessMaskincludesACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT,dstStageMaskmust includePIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BITPIPELINE_STAGE_2_ALL_GRAPHICS_BIT, orPIPELINE_STAGE_2_ALL_COMMANDS_BIT - If
dstAccessMaskincludesACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR,dstStageMaskmust includePIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR,PIPELINE_STAGE_2_ALL_COMMANDS_BIT, or one of theVK_PIPELINE_STAGE_*_SHADER_BITstages - If
dstAccessMaskincludesACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,dstStageMaskmust includePIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR,PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHRorPIPELINE_STAGE_2_ALL_COMMANDS_BIT - If the
rayQueryfeature is not enabled anddstAccessMaskincludesACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR,dstStageMaskmust not include any of theVK_PIPELINE_STAGE_*_SHADER_BITstages exceptPIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR - If
dstAccessMaskincludesACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR,dstStageMaskmust includePIPELINE_STAGE_2_ALL_COMMANDS_BITorPIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR - If
dstAccessMaskincludesACCESS_2_VIDEO_DECODE_READ_BIT_KHR,dstStageMaskmust includePIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR - If
dstAccessMaskincludesACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR,dstStageMaskmust includePIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR - If
dstAccessMaskincludesACCESS_2_VIDEO_ENCODE_READ_BIT_KHR,dstStageMaskmust includePIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR - If
dstAccessMaskincludesACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR,dstStageMaskmust includePIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR - If
dstAccessMaskincludesACCESS_2_OPTICAL_FLOW_READ_BIT_NV,dstStageMaskmust includePIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV - If
dstAccessMaskincludesACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV,dstStageMaskmust includePIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV - If
dstAccessMaskincludesACCESS_2_MICROMAP_WRITE_BIT_EXT,dstStageMaskmust includePIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT - If
dstAccessMaskincludesACCESS_2_MICROMAP_READ_BIT_EXT,dstStageMaskmust includePIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXTorPIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR - If
dstAccessMaskincludesACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT,dstStageMaskmust includePIPELINE_STAGE_2_ALL_GRAPHICS_BIT,PIPELINE_STAGE_2_ALL_COMMANDS_BIT, or one ofVK_PIPELINE_STAGE_*_SHADER_BITstages
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_MEMORY_BARRIER_2srcStageMaskmust be a valid combination ofVkPipelineStageFlagBits2valuessrcAccessMaskmust be a valid combination ofVkAccessFlagBits2valuesdstStageMaskmust be a valid combination ofVkPipelineStageFlagBits2valuesdstAccessMaskmust be a valid combination ofVkAccessFlagBits2values
See Also
Layout
struct VkMemoryBarrier2 {
VkStructureType sType();
void const * pNext();
VkPipelineStageFlags2 srcStageMask();
VkAccessFlags2 srcAccessMask();
VkPipelineStageFlags2 dstStageMask();
VkAccessFlags2 dstAccessMask();
}-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class org.lwjgl.system.Struct
org.lwjgl.system.Struct.StructValidationNested classes/interfaces inherited from interface org.lwjgl.system.Pointer
org.lwjgl.system.Pointer.Default -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe struct alignment in bytes.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct size in bytes.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionVkMemoryBarrier2(ByteBuffer container) Creates aVkMemoryBarrier2instance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptionstatic VkMemoryBarrier2calloc()Returns a newVkMemoryBarrier2instance allocated withmemCalloc.static VkMemoryBarrier2.Buffercalloc(int capacity) Returns a newVkMemoryBarrier2.Bufferinstance allocated withmemCalloc.static VkMemoryBarrier2.Buffercalloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkMemoryBarrier2.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkMemoryBarrier2calloc(org.lwjgl.system.MemoryStack stack) Returns a newVkMemoryBarrier2instance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkMemoryBarrier2create()Returns a newVkMemoryBarrier2instance allocated withBufferUtils.static VkMemoryBarrier2.Buffercreate(int capacity) Returns a newVkMemoryBarrier2.Bufferinstance allocated withBufferUtils.static VkMemoryBarrier2create(long address) Returns a newVkMemoryBarrier2instance for the specified memory address.static VkMemoryBarrier2.Buffercreate(long address, int capacity) Create aVkMemoryBarrier2.Bufferinstance at the specified memory.static @Nullable VkMemoryBarrier2createSafe(long address) static @Nullable VkMemoryBarrier2.BuffercreateSafe(long address, int capacity) longaVkAccessFlags2mask of access flags to be included in the second access scope.dstAccessMask(long value) Sets the specified value to thedstAccessMask()field.longaVkPipelineStageFlags2mask of pipeline stages to be included in the second synchronization scope.dstStageMask(long value) Sets the specified value to thedstStageMask()field.static VkMemoryBarrier2malloc()Returns a newVkMemoryBarrier2instance allocated withmemAlloc.static VkMemoryBarrier2.Buffermalloc(int capacity) Returns a newVkMemoryBarrier2.Bufferinstance allocated withmemAlloc.static VkMemoryBarrier2.Buffermalloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkMemoryBarrier2.Bufferinstance allocated on the specifiedMemoryStack.static VkMemoryBarrier2malloc(org.lwjgl.system.MemoryStack stack) Returns a newVkMemoryBarrier2instance allocated on the specifiedMemoryStack.static longndstAccessMask(long struct) Unsafe version ofdstAccessMask().static voidndstAccessMask(long struct, long value) Unsafe version ofdstAccessMask.static longndstStageMask(long struct) Unsafe version ofdstStageMask().static voidndstStageMask(long struct, long value) Unsafe version ofdstStageMask.static longnpNext(long struct) Unsafe version ofpNext().static voidnpNext(long struct, long value) Unsafe version ofpNext.static longnsrcAccessMask(long struct) Unsafe version ofsrcAccessMask().static voidnsrcAccessMask(long struct, long value) Unsafe version ofsrcAccessMask.static longnsrcStageMask(long struct) Unsafe version ofsrcStageMask().static voidnsrcStageMask(long struct, long value) Unsafe version ofsrcStageMask.static intnsType(long struct) Unsafe version ofsType().static voidnsType(long struct, int value) Unsafe version ofsType.longpNext()NULLor a pointer to a structure extending this structure.pNext(long value) Sets the specified value to thepNext()field.set(int sType, long pNext, long srcStageMask, long srcAccessMask, long dstStageMask, long dstAccessMask) Initializes this struct with the specified values.set(VkMemoryBarrier2 src) Copies the specified struct data to this struct.intsizeof()longaVkAccessFlags2mask of access flags to be included in the first access scope.srcAccessMask(long value) Sets the specified value to thesrcAccessMask()field.longaVkPipelineStageFlags2mask of pipeline stages to be included in the first synchronization scope.srcStageMask(long value) Sets the specified value to thesrcStageMask()field.intsType()aVkStructureTypevalue identifying this structure.sType(int value) Sets the specified value to thesType()field.Sets theSTRUCTURE_TYPE_MEMORY_BARRIER_2value to thesType()field.Methods inherited from class org.lwjgl.system.Struct
clear, free, isNull, validate, validateMethods inherited from class org.lwjgl.system.Pointer.Default
address, equals, hashCode, toStringMethods inherited from interface org.lwjgl.system.NativeResource
close, free
-
Field Details
-
SIZEOF
public static final int SIZEOFThe struct size in bytes. -
ALIGNOF
public static final int ALIGNOFThe struct alignment in bytes. -
STYPE
public static final int STYPEThe struct member offsets. -
PNEXT
public static final int PNEXTThe struct member offsets. -
SRCSTAGEMASK
public static final int SRCSTAGEMASKThe struct member offsets. -
SRCACCESSMASK
public static final int SRCACCESSMASKThe struct member offsets. -
DSTSTAGEMASK
public static final int DSTSTAGEMASKThe struct member offsets. -
DSTACCESSMASK
public static final int DSTACCESSMASKThe struct member offsets.
-
-
Constructor Details
-
VkMemoryBarrier2
Creates aVkMemoryBarrier2instance at the current position of the specifiedByteBuffercontainer. Changes to the buffer's content will be visible to the struct instance and vice versa.The created instance holds a strong reference to the container object.
-
-
Method Details
-
sizeof
public int sizeof()- Specified by:
sizeofin classorg.lwjgl.system.Struct<VkMemoryBarrier2>
-
sType
public int sType()aVkStructureTypevalue identifying this structure. -
pNext
public long pNext()NULLor a pointer to a structure extending this structure. -
srcStageMask
public long srcStageMask()aVkPipelineStageFlags2mask of pipeline stages to be included in the first synchronization scope. -
srcAccessMask
public long srcAccessMask()aVkAccessFlags2mask of access flags to be included in the first access scope. -
dstStageMask
public long dstStageMask()aVkPipelineStageFlags2mask of pipeline stages to be included in the second synchronization scope. -
dstAccessMask
public long dstAccessMask()aVkAccessFlags2mask of access flags to be included in the second access scope. -
sType
Sets the specified value to thesType()field. -
sType$Default
Sets theSTRUCTURE_TYPE_MEMORY_BARRIER_2value to thesType()field. -
pNext
Sets the specified value to thepNext()field. -
srcStageMask
Sets the specified value to thesrcStageMask()field. -
srcAccessMask
Sets the specified value to thesrcAccessMask()field. -
dstStageMask
Sets the specified value to thedstStageMask()field. -
dstAccessMask
Sets the specified value to thedstAccessMask()field. -
set
public VkMemoryBarrier2 set(int sType, long pNext, long srcStageMask, long srcAccessMask, long dstStageMask, long dstAccessMask) Initializes this struct with the specified values. -
set
Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
Returns a newVkMemoryBarrier2instance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkMemoryBarrier2instance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkMemoryBarrier2instance allocated withBufferUtils. -
create
Returns a newVkMemoryBarrier2instance for the specified memory address. -
createSafe
-
malloc
Returns a newVkMemoryBarrier2.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkMemoryBarrier2.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkMemoryBarrier2.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkMemoryBarrier2.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
-
malloc
Returns a newVkMemoryBarrier2instance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newVkMemoryBarrier2instance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
Returns a newVkMemoryBarrier2.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
Returns a newVkMemoryBarrier2.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
nsType
public static int nsType(long struct) Unsafe version ofsType(). -
npNext
public static long npNext(long struct) Unsafe version ofpNext(). -
nsrcStageMask
public static long nsrcStageMask(long struct) Unsafe version ofsrcStageMask(). -
nsrcAccessMask
public static long nsrcAccessMask(long struct) Unsafe version ofsrcAccessMask(). -
ndstStageMask
public static long ndstStageMask(long struct) Unsafe version ofdstStageMask(). -
ndstAccessMask
public static long ndstAccessMask(long struct) Unsafe version ofdstAccessMask(). -
nsType
public static void nsType(long struct, int value) Unsafe version ofsType. -
npNext
public static void npNext(long struct, long value) Unsafe version ofpNext. -
nsrcStageMask
public static void nsrcStageMask(long struct, long value) Unsafe version ofsrcStageMask. -
nsrcAccessMask
public static void nsrcAccessMask(long struct, long value) Unsafe version ofsrcAccessMask. -
ndstStageMask
public static void ndstStageMask(long struct, long value) Unsafe version ofdstStageMask. -
ndstAccessMask
public static void ndstAccessMask(long struct, long value) Unsafe version ofdstAccessMask.
-