Merge pull request #2892 from greg-lunarg/mb
[platform/upstream/glslang.git] / Test / spv.130.frag
1 #version 140\r
2 #extension GL_ARB_texture_gather : enable\r
3 \r
4 vec3 a;\r
5 float b;\r
6 \r
7 in vec4 i;\r
8 out vec4 o;\r
9 out ivec3 io;\r
10 out uvec4 uo;\r
11 \r
12 flat in float fflat;\r
13 smooth in float fsmooth;\r
14 noperspective in float fnop;\r
15 \r
16 uniform samplerCube sampC;\r
17 \r
18 #extension GL_ARB_texture_rectangle : enable\r
19 \r
20 uniform sampler2D samp2D;\r
21 uniform sampler2DShadow samp2DS;\r
22 uniform sampler2DRect samp2DR;\r
23 uniform sampler2DArray samp2DA;\r
24 \r
25 void bar3()\r
26 {\r
27     o += textureGatherOffset(samp2D, vec2(0.3), ivec2(1));\r
28     o += textureGatherOffset(samp2DA, vec3(0.3), ivec2(1));\r
29 }\r
30 \r
31 #extension GL_ARB_gpu_shader5 : enable\r
32 \r
33 void bar4()\r
34 {\r
35     o += textureGatherOffset(samp2DR, vec2(0.3), ivec2(1));\r
36     o += textureGatherOffset(samp2DS, vec2(0.3), 1.3, ivec2(1));\r
37     o += textureGatherOffset(samp2D, vec2(0.3), ivec2(1), 2);\r
38 }\r
39 \r
40 #extension GL_ARB_texture_cube_map_array : enable\r
41 \r
42 uniform  samplerCubeArray Sca;\r
43 uniform isamplerCubeArray Isca;\r
44 uniform usamplerCubeArray Usca;\r
45 uniform samplerCubeArrayShadow Scas;\r
46 \r
47 void bar5()\r
48 {\r
49     io = textureSize(Sca, 3);\r
50     o += texture(Sca, i);\r
51     io += texture(Isca, i, 0.7).xyz;\r
52     uo = texture(Usca, i);\r
53     \r
54     o += textureLod(Sca, i, 1.7);\r
55     a = textureSize(Scas, 3);\r
56     float f = texture(Scas, i, i.y);\r
57     ivec4 c = textureGrad(Isca, i, vec3(0.1), vec3(0.2));\r
58     o += vec4(a, f + c);\r
59 }\r
60 \r
61 #extension GL_ARB_shading_language_420pack : enable\r
62 \r
63 const int ai[3] = { 10, 23, 32 };\r
64 uniform layout(binding=0) sampler2D bounds;\r
65 \r
66 void bar6()\r
67 {\r
68     mat4x3 m43;\r
69     float a1 = m43[3].y;\r
70     //int a2 = m43.length();  // ERROR until shading_language_420pack is fully implemented\r
71     const float b = 2 * a1;\r
72     //a.x = gl_MinProgramTexelOffset + gl_MaxProgramTexelOffset;    // ERROR until shading_language_420pack is fully implemented\r
73 }\r
74 \r
75 \r
76 #extension GL_ARB_texture_rectangle : enable\r
77 #extension GL_ARB_shader_texture_lod : require\r
78 \r
79 uniform sampler2D s2D;\r
80 uniform sampler2DRect s2DR;\r
81 uniform sampler2DRectShadow s2DRS;\r
82 uniform sampler1D s1D;\r
83 uniform sampler2DShadow s2DS;\r
84 \r
85 void main()\r
86 {\r
87     o = textureGather(sampC, vec3(0.2));\r
88     o.y =  gl_ClipDistance[3];\r
89     bar3();\r
90     bar4();\r
91     bar5();\r
92     bar6();\r
93 }