SPV_KHR_physical_storage_buffer/SPV: Add GL_EXT_buffer_reference_uvec2
Adds uvec2 <-> reference constructor support. Switches from EXT to KHR for physical_storage_buffer.
This commit is contained in:
32
Test/spv.bufferhandleUvec2.frag
Normal file
32
Test/spv.bufferhandleUvec2.frag
Normal file
@@ -0,0 +1,32 @@
|
||||
#version 450
|
||||
|
||||
#extension GL_EXT_buffer_reference_uvec2 : enable
|
||||
|
||||
layout(buffer_reference, std430) buffer blockType {
|
||||
layout(offset = 0) int a;
|
||||
layout(offset = 4) int b;
|
||||
layout(offset = 8) int c;
|
||||
layout(offset = 12) int d;
|
||||
layout(offset = 16) int e;
|
||||
};
|
||||
|
||||
layout(std430) buffer t2 {
|
||||
blockType f;
|
||||
blockType g;
|
||||
} t;
|
||||
|
||||
flat in uvec2 h, i;
|
||||
|
||||
void main() {
|
||||
|
||||
blockType b1[2] = blockType[2](blockType(h), blockType(i));
|
||||
b1[0].a = b1[1].b;
|
||||
blockType b2 = blockType(h);
|
||||
blockType b3 = blockType(i);
|
||||
b2.a = b3.b;
|
||||
uvec2 j = uvec2(b2);
|
||||
uint carry;
|
||||
j.x = uaddCarry(j.x, 256, carry);
|
||||
j.y += carry;
|
||||
b2 = blockType(j);
|
||||
}
|
||||
Reference in New Issue
Block a user