spv.1.4.image.frag 1011 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #version 450
  2. layout(rgba32f, binding = 1) uniform image2D i2D;
  3. layout(r32i, binding = 12) uniform iimage2D ii2D;
  4. layout(r32ui, binding = 12) uniform uimage2D ui2D;
  5. layout(rgba32f, binding = 9) uniform image2DMS i2DMS;
  6. layout(r32i, binding = 13) uniform iimage2DMS ii2DMS;
  7. layout(r32ui, binding = 13) uniform uimage2DMS ui2DMS;
  8. flat in ivec2 ic2D;
  9. flat in uint value;
  10. out vec4 fragData;
  11. void main()
  12. {
  13. vec4 v = vec4(0.0);
  14. ivec4 iv = ivec4(0.0);
  15. uvec4 uv = uvec4(0.0);
  16. v += imageLoad(i2D, ic2D);
  17. imageStore(i2D, ic2D, v);
  18. v += imageLoad(ii2D, ic2D);
  19. imageStore(ii2D, ic2D, iv);
  20. v += imageLoad(ui2D, ic2D);
  21. imageStore(ui2D, ic2D, uv);
  22. v += imageLoad(i2DMS, ic2D, 1);
  23. imageStore(i2DMS, ic2D, 2, v);
  24. v += imageLoad(ii2DMS, ic2D, 1);
  25. imageStore(ii2DMS, ic2D, 2, iv);
  26. v += imageLoad(ui2DMS, ic2D, 1);
  27. imageStore(ui2DMS, ic2D, 2, uv);
  28. fragData = v;
  29. }