Исходная маска этапа указывает источник операций, с которыми вы синхронизируете.Если вы указываете источник в качестве этапа вершинного шейдера, то вы говорите, что операция, с которой вы пытаетесь синхронизироваться, произошла либо в VS, либо перед ним.
В случае vkCmdResetEvent
,необходима синхронизация, чтобы команда сброса не выполнялась до того, как произойдет команда, которая проверяет событие.Таким образом, хост устанавливает событие, некоторые более поздние команды проверяют его (возможно, с vkCmdWaitEvents
, используя VK_PIPELINE_STAGE_HOST_BIT
в качестве источника), и vkCmdResetEvent
необходимо сбросить его.Ну, последняя команда должна использовать в качестве источника (ов) этап (ы), которые vkCmdWaitEvents
устанавливают в качестве пункта назначения .Это гарантирует, что команда сброса не будет выполнена до того, как будет выполнено ожидание.