yum-mirror/glslang
git clone https://git.yummers.dev/yum-mirror/glslang
5cffd9a7
main
1#version 150 2#extension GL_NV_gpu_shader5 : enable 3#extension GL_ARB_gpu_shader_fp64 : enable 4 5// Testing storage interpolation qualifiers sample in/ sample out 6sample in vec4 colorSampIn[3]; 7sample out vec4 colorSampOut; 8 9// Testing geometry layout qualifiers 10// input qualifier: invocations 11// output qualifier: stream 12layout(triangles, invocations=6) in; 13layout(points, stream=0) out; 14 15in vec4 color[3]; 16out vec3 Ocolor; 17 18layout(stream=1) out; // default is now stream 1 19 20// Test explicitly sized input variables 21in int8_t var1[3]; 22in int16_t var5[3]; 23in int32_t var9[3]; 24in int64_t var13[3]; 25in float16_t var33[3]; 26in float64_t var41[3]; 27in double var42[3]; 28 29out int8_t var11; 30out int16_t var51; 31out int32_t var91; 32out int64_t var131; 33out float16_t var331; 34out float64_t var411; 35out double var421; 36 37// This test case verifies builtins enabled for geometry shader by NV_gpu_shader5 38void testGeomBuiltins() 39{ 40 EmitStreamVertex(1); // Geometry-only 41 EndStreamPrimitive(0); // Geometry-only 42 43 EmitVertex(); // Geometry-only 44 EndPrimitive(); // Geometry-only 45 46 int i = gl_InvocationID; 47 48 // Note: "patch" feature is not enabled as it's not used, below builtins are 49 // related to patch 50 int j = gl_PatchVerticesIn; 51 float k = gl_TessLevelOuter[3]; 52 k = gl_TessLevelInner[1]; 53 54} 55void main() 56{ 57}