Emit Int64Atomics for imageAtomicStore

This covers a corner case wherein imageAtomicStore is used exclusively.
The proxy type for imageAtomicStore is inferred from the image type.

Fix #2975.
This commit is contained in:
Jeremy Hayes
2022-07-14 11:44:52 -06:00
parent 68c1880c09
commit 8bdc3d4d31
4 changed files with 74 additions and 1 deletions

View File

@@ -0,0 +1,12 @@
#version 450
#extension GL_EXT_shader_explicit_arithmetic_types_int64 : enable
#extension GL_EXT_shader_image_int64 : enable
#extension GL_KHR_memory_scope_semantics : enable
layout(set = 0, binding = 0) buffer ssbo { uint64_t y; };
layout(set = 0, binding = 1, r64ui) uniform u64image2D z;
void main() {
// Test imageAtomicStore exclusively. Do NOT add other atomic operations to this test.
imageAtomicStore(z, ivec2(1, 1), y, gl_ScopeDevice, gl_StorageSemanticsImage, gl_SemanticsRelaxed);
}