mirror of
https://github.com/libretro/RetroArch
synced 2025-03-09 04:13:48 +00:00
19 lines
424 B
Plaintext
19 lines
424 B
Plaintext
#version 450
|
|
#extension GL_EXT_shader_atomic_float : require
|
|
|
|
shared float shared_v;
|
|
layout(set = 0, binding = 0, r32f) uniform image2D uImage;
|
|
|
|
layout(set = 0, binding = 1) buffer SSBO
|
|
{
|
|
float v;
|
|
};
|
|
|
|
void main()
|
|
{
|
|
float value = atomicAdd(shared_v, 2.0);
|
|
atomicAdd(v, value);
|
|
imageAtomicAdd(uImage, ivec2(gl_GlobalInvocationID.xy), value);
|
|
value = imageAtomicExchange(uImage, ivec2(gl_GlobalInvocationID.xy), value);
|
|
}
|