Size: a a a

pro.graphon (and gamedev)

2020 November 17

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
27.3. Rasterization Order

Within a subpass of a render pass instance, for a given (x,y,layer,sample) sample location, the following operations are guaranteed to execute in rasterization order…
источник

a

alexcher in pro.graphon (and gamedev)
Vitaliy ◀️TriΔng3l▶️ Kuzmin
Implicit dependency exists in the spec only for formal reasons. Without it you would not know when the layout transition happens when used e.g. with a Semaphore. But in practice the implicit dependency is no-op. Its dst half does not cover anything.
а при чем тут семафор, если он не даст всему командному буферу запуститься до сигнала?
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
alexcher
а при чем тут семафор, если он не даст всему командному буферу запуститься до сигнала?
Семафора ждёт конкретная стадия, это не фенс
источник

a

alexcher in pro.graphon (and gamedev)
Vitaliy ◀️TriΔng3l▶️ Kuzmin
Семафора ждёт конкретная стадия, это не фенс
стадия - это сабпасс, или стадия пайплайна?
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
alexcher
стадия - это сабпасс, или стадия пайплайна?
Пайплайна, есть pWaitDstStageMask, где каждый элемент соответствует семафору из pWaitSemaphores, в VkSubmitInfo
источник

a

alexcher in pro.graphon (and gamedev)
Vitaliy ◀️TriΔng3l▶️ Kuzmin
Пайплайна, есть pWaitDstStageMask, где каждый элемент соответствует семафору из pWaitSemaphores, в VkSubmitInfo
аааааа, окей
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
alexcher
тогда депенденс
color attachment output, 0 ->
color attachment output, color attachment write
между external и 0 сабпассами будет ждать... чего?
Вот это сложный вопрос, но мне кажется, ничего хорошего тут не произойдёт
источник

a

alexcher in pro.graphon (and gamedev)
и тогда без депенденса между внешним и 0 сабпассом, семафора оно может и не ждать?
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
alexcher
тогда депенденс
color attachment output, 0 ->
color attachment output, color attachment write
между external и 0 сабпассами будет ждать... чего?
Это execution dependency, но не memory dependency, что-то странное
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
alexcher
и тогда без депенденса между внешним и 0 сабпассом, семафора оно может и не ждать?
Не, стадия конвейера, когда до неё дело дойдёт, в любом случае семафор будет ждать, вроде
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Чего-то как-то сложно
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
В любом случае, в Вулкане надо синхронизировать доступ во всех случаях, где не применим rasterization order
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
За исключением случаев, когда у тебя свежесозданный ресурс
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Вроде бы
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Ну новый ресурс это top of pipe и access mask 0
источник

a

alexcher in pro.graphon (and gamedev)
alexcher
тогда депенденс
color attachment output, 0 ->
color attachment output, color attachment write
между external и 0 сабпассами будет ждать... чего?
я так понимаю, такое должно ждать чего-то, что может быть между внешним и нулевым пассом, но эти операции должны быть подконтрольны рендерпассу
источник

a

alexcher in pro.graphon (and gamedev)
и какие это тогда могут быть операции
источник

a

alexcher in pro.graphon (and gamedev)
alexcher
я так понимаю, такое должно ждать чего-то, что может быть между внешним и нулевым пассом, но эти операции должны быть подконтрольны рендерпассу
то есть какое-нибудь копирование рендерпасс не трогает, его трогает отрисовка
источник

a

alexcher in pro.graphon (and gamedev)
но отрисовка - это уже сам сабпасс
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
alexcher
я так понимаю, такое должно ждать чего-то, что может быть между внешним и нулевым пассом, но эти операции должны быть подконтрольны рендерпассу
Ну вот писал что-то во фрембуфер, остановил пасс, потом захотел писать дальше, запустил пасс
источник