При использовании imageStore в OpenGL, это атомарно?Является ли imageStore атомарным?
Или, другими словами, предположим, что у меня есть один вызов подсчитанного шейдера, который записывает «82» в местоположение и другой вызов, который записывает «42» в одно и то же место.
Когда у меня есть третий вызов, который читается с того же места: Я гарантированно получил начальное значение или 42 или 82? Или я могу получить неопределенное значение, потому что они оба могли писать одновременно? (Я знаю, что не знаю, какой из них я получу).
Будет ли изменяться ответ на вышеуказанные вопросы, если они оба записывают одно и то же значение вместо разных значений?
Можете ли вы пояснить, что вы подразумеваете под «вызовом шейдера»? Это единственная команда рисования с несколькими фрагментами? Несколько примитивов? Несколько команд рисования? Вычислительный шейдер вызывается один раз или несколько раз? –
@ColonelThirtyTwo: Термин «[вызов шейдера] (https://www.opengl.org/wiki/Shader#Execution_and_invocations)» имеет хорошо установленное определение. –
@NicolBolas Я вижу, спасибо за ссылку. –