vulkan 渲染流水线各个阶段的掩码位

VkPipelineStageFlagBits

主要是同步命令包括管道阶段参数,将该命令的同步范围限制为仅那些阶段, 渲染管线的各个阶段。
这允许对确切的执行依赖性进行细粒度控制和由动作命令执行的访问。
实现应该使用这些管道阶段来避免不必要的停顿或缓存刷新。

1.VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT
指定队列最初接收任何命令的管道阶段。

2.VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT
指定使用Draw / DispatchIndirect数据结构的管道阶段。此阶段还包括读取vkCmdProcessCommandsNVX编写的命令。

3.VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV指定任务着色器阶段。

4.VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV指定网格着色器阶段。

5.VK_PIPELINE_STAGE_VERTEX_INPUT_BIT指定使用顶点和索引缓冲区的管道的阶段。

6.VK_PIPELINE_STAGE_VERTEX_SHADER_BIT指定顶点着色器阶段。

7.VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT指定曲面细分控制着色器阶段。

8.VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT指定曲面细分评估着色器阶段。

9.VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT指定几何着色器阶段。

10.VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT指定片段着色器阶段。

11.VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT
指定管道的阶段,其中执行早期片段测试(片段着色之前的深度和模板测试)。此阶段还包括具有深度/模板格式的帧缓冲附件的子通道加载操作。

12.VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT
指定管道的阶段,其中执行后期片段测试(片段着色后的深度和模板测试)。此阶段还包括具有深度/模板格式的帧缓冲附件的子通行存储操作。

13.VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT指定混合后管道的阶段,其中从管道输出最终颜色值。此阶段还包括子颜色加载和存储操作以及具有颜色格式的帧缓冲附件的多重采样解析操作。**

14.VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT指定计算着色器的执行。

15.VK_PIPELINE_STAGE_TRANSFER_BIT指定复制命令的执行。这包括所有复制命令,清除命令(vkCmdClearAttachments除外)和vkCmdCopyQueryPoolResults导致的操作。

16.VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT指定管道中的最后一个阶段,其中所有命令生成的操作完成执行。

17.VK_PIPELINE_STAGE_HOST_BIT指定伪阶段,指示在主机上执行设备存储器的读/写操作。命令缓冲区中记录的任何命令都不会调用此阶段。

18.VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV指定光线跟踪着色器阶段的执行。

19.VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV
指定执行vkCmdBuildAccelerationStructureNV,vkCmdCopyAccelerationStructureNV和vkCmdWriteAccelerationStructuresPropertiesNV。

20.VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT
指定所有图形管道阶段的执行,并且等效于以下逻辑OR:

VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT
VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT
VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV
VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV
VK_PIPELINE_STAGE_VERTEX_INPUT_BIT
VK_PIPELINE_STAGE_VERTEX_SHADER_BIT
VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT
VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT
VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT
VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT
VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT
VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT
VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT
VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT
VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT
VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT
VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV
VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT

21.VK_PIPELINE_STAGE_ALL_COMMANDS_BIT
等效于与其一起使用的队列所支持的每个其他管道阶段标志的逻辑OR。

22.VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT
指定使用条件渲染谓词的管道阶段。

23.VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT
指定将顶点属性输出值写入变换反馈缓冲区的流水线的阶段。

24.VK_PIPELINE_STAGE_COMMAND_PROCESS_BIT_NVX
指定管道的阶段,通过vkCmdProcessCommandsNVX处理设备端的命令生成。

25.VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV
指定管线的阶段,其中读取着色速率图像以确定光栅化基元的部分的阴影速率。

26.VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT
指定管道的阶段,其中读取片段密度图以生成片段区域。

你可能感兴趣的:(vulkan)