xemu/subprojects/glslang/Test/spv.tensorARM.invalid_acces...

34 lines
1.1 KiB
Plaintext

#version 460 core
#extension GL_ARM_tensors : enable
uniform tensorARM<int, 1> t;
void main() {
// Type checking should render these accesses invalid
int i = 33;
float w = 1.5;
tensorWriteARM(t, uint[](0,0), i);
tensorWriteARM(t, uint[](0,0), w);
float r;
tensorReadARM(t, uint[](0,0), i);
tensorReadARM(t, uint[](0,0), r);
// Signed vs unsigned.
uint u = 34;
tensorReadARM(t, uint[](0), u);
tensorWriteARM(t, uint[](0), u);
// OutOfBounds value is only valid with tensorReadARM.
tensorWriteARM(t, uint[](1), i, gl_TensorOperandsOutOfBoundsValueARM, 14);
// OutOfBounds value must be provided.
tensorReadARM(t, uint[](1), i, gl_TensorOperandsOutOfBoundsValueARM);
// OutOfBounds value must be constant.
tensorReadARM(t, uint[](2), i, gl_TensorOperandsOutOfBoundsValueARM, i);
// OutOfBounds value type must match tensor element type.
tensorReadARM(t, uint[](3), i, gl_TensorOperandsOutOfBoundsValueARM, 3.14);
// OutOfBounds value type must match tensor element type.
tensorReadARM(t, uint[](3), i, gl_TensorOperandsOutOfBoundsValueARM, 3u);
}