SPV Capabilities: StorageImageExtendedFormats, StorageImageReadWithoutFormat, and StorageImageWriteWithoutFormat.

This commit is contained in:
John Kessenich
2016-02-15 11:57:00 -07:00
parent 5e80113939
commit 5d0fa9781b
4 changed files with 90 additions and 35 deletions

View File

@@ -7,7 +7,7 @@ layout(rgba32f, binding = 3) uniform imageCube iCube;
layout(rgba32f, binding = 4) uniform imageCubeArray iCubeArray;
layout(rgba32f, binding = 5) uniform image2DRect i2DRect;
layout(rgba32f, binding = 6) uniform image1DArray i1DArray;
layout(rgba32f, binding = 7) uniform image2DArray i2DArray;
layout(rg16, binding = 7) uniform image2DArray i2DArray;
layout(rgba32f, binding = 8) uniform imageBuffer iBuffer;
layout(rgba32f, binding = 9) uniform image2DMS i2DMS;
layout(rgba32f, binding = 10) uniform image2DMSArray i2DMSArray;
@@ -15,6 +15,8 @@ layout(rgba32f, binding = 10) uniform image2DMSArray i2DMSArray;
layout(r32i, binding = 11) uniform iimage1D ii1D;
layout(r32ui, binding = 12) uniform uimage2D ui2D;
writeonly layout(binding = 1) uniform image2D wo2D;
uniform int ic1D;
uniform ivec2 ic2D;
uniform ivec3 ic3D;
@@ -84,6 +86,8 @@ void main()
iv.x += imageAtomicCompSwap(ii1D, ic1D, 18, 17);
ui += imageAtomicCompSwap(ui2D, ic2D, 19u, value);
imageStore(wo2D, ic2D, v);
fragData = ui != iv.y ? v : vec4(0.0);
}