计算着色器图像和原子相干性

时间:2019-07-17 13:07:58

标签: opengl glsl opengl-4

研究the OpenGL memory model之后,我有2个问题:

  1. 如何将原子操作(例如,ssbo中的atomicAdd())视为不连贯的?这是否意味着我必须声明ssbo相干并在memoryBarrierBuffer()之后使用atommicAdd()绑定?

  2. 为了确保跨多个计算着色器调用的内存一致性,我使用了多个调度,一次一次,每个调度都有一个工作组。每次调用都调用groupMemoryBarrier()以确保仅内部工作组的内存一致性,并且在分派之后我发出glMemoryBuffer(GL_TEXTURE_FETCH_BARRIER_BIT|GL_SHADER_STORAGE_BARRIER_BIT)以确保下一次分派的外部可见性。我是否可以安全地假设在memoryBarrierImage()之后发出imageStore()甚至可以在同一调度的多个工作组之间授予内部内存一致性(以便我可以在一个以上的工作组中启动一个调度)? / p>

0 个答案:

没有答案