mirror of
https://github.com/libretro/RetroArch
synced 2025-03-09 13:13:31 +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);
|
||
|
}
|