imageStore是原子的吗?

时间:2015-12-23 14:41:12

标签: opengl glsl shader compute-shader

在OpenGL中使用imageStore时,它是原子的吗?

或者换句话说,假设我有一个计算着色器调用写入" 82"到一个位置,另一个写入" 42"到同一个地方。

当我从同一位置读取第三个调用时:我保证得到初始值或42或82吗?或者我可以获得一个未定义的值,因为它们可以同时写入吗?(我知道它不确定我会得到哪一个)。

如果上述问题的答案都写入相同的值而不是不同的值会改变吗?

1 个答案:

答案 0 :(得分:3)

规范有点不清楚。

规范讲述了调用的顺序以及商店运营的可见性。但是,它没有说明如果你有两个调用在同一个内存位置写入竞争会发生什么。它并没有说这个值是未定义的,或者它将是几种可能性之一。

在这方面,规范似乎有一个漏洞。因此,我不会做任何可以假设这样的写真真的" atomic"在这方面。