What kind of behaviour should we expect when concurrent read/writes happens to an output buffer ?
If the GLSL TOP there is an ‘Output Type’ options which allows us to choose between write-only, read-only or read-write.
The documentation says :
Controls how the output textures will be accessed. If the textures will be read from (such as using previous frame’s values), then the access should be changed to Read-Write instead of Write Only.
What kind of memory-synchronization can we expect from this feature ?
I am running into determinism issue in a project of mine. It’s a particle simulation, where multiple particles can be rendered to the same pixel. I’d like to accumulate the particles’weight’ to this pixel. However when outputing the same data to two outputs using imageStore
creates some differences between the two output buffer.
I am no expert and it seems like memory synchronization is a very technical subject when dealing with GPUs.
Please let me know if you need some samples.
Thanks