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
指定管道的階段,其中讀取片段密度圖以生成片段區域。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章