blob: 30e77dce6352d66c2a003573dbd8f1dbb42882c4 [file] [log] [blame]
John Kessenich2f21fcc2015-06-17 16:15:09 +00001#version 430
2
3uniform samplerBuffer sb;
4uniform sampler2DRect sr;
5uniform sampler2D s2D;
6uniform sampler3D s3D;
7uniform samplerCube sCube;
8uniform samplerCubeShadow sCubeShadow;
9uniform sampler2DShadow s2DShadow;
10uniform sampler2DArray s2DArray;
11uniform sampler2DArrayShadow s2DArrayShadow;
12
13uniform isampler2D is2D;
14uniform isampler3D is3D;
15uniform isamplerCube isCube;
16uniform isampler2DArray is2DArray;
17uniform isampler2DMS is2Dms;
18
19uniform usampler2D us2D;
20uniform usampler3D us3D;
21uniform usamplerCube usCube;
22uniform usampler2DArray us2DArray;
23
24in float c1D;
25in vec2 c2D;
26in vec3 c3D;
27in vec4 c4D;
28
29flat in int ic1D;
30flat in ivec2 ic2D;
31flat in ivec3 ic3D;
32flat in ivec4 ic4D;
33
34out vec4 FragData;
35
36void main()
37{
38 vec4 v = texture(s2D, c2D);
39 v += textureProj(s3D, c4D);
40 v += textureLod(s2DArray, c3D, 1.2);
41 v.y += textureOffset(s2DShadow, c3D, ivec2(3), c1D);
42 v += texelFetch(s3D, ic3D, ic1D);
John Kessenichef676b02015-08-18 23:17:15 -060043 v += texelFetchOffset(s2D, ic2D, 4, ivec2(3));
Rex Xu19c6e592015-10-12 17:02:21 +080044 v += texelFetchOffset(sr, ic2D, ivec2(4));
John Kessenich2f21fcc2015-06-17 16:15:09 +000045 v.y += textureLodOffset(s2DShadow, c3D, c1D, ivec2(3));
46 v += textureProjLodOffset(s2D, c3D, c1D, ivec2(3));
47 v += textureGrad(sCube, c3D, c3D, c3D);
48 v.x += textureGradOffset(s2DArrayShadow, c4D, c2D, c2D, ivec2(3));
49 v += textureProjGrad(s3D, c4D, c3D, c3D);
50 v += textureProjGradOffset(s2D, c3D, c2D, c2D, ivec2(3));
51
52 ivec4 iv = texture(is2D, c2D);
53 v += vec4(iv);
54 iv = textureProjOffset(is2D, c4D, ivec2(3));
55 v += vec4(iv);
56 iv = textureProjLod(is2D, c3D, c1D);
57 v += vec4(iv);
58 iv = textureProjGrad(is2D, c3D, c2D, c2D);
59 v += vec4(iv);
60 iv = texture(is3D, c3D, 4.2);
61 v += vec4(iv);
62 iv = textureLod(isCube, c3D, c1D);
63 v += vec4(iv);
64 iv = texelFetch(is2DArray, ic3D, ic1D);
65 v += vec4(iv);
John Kessenich2f21fcc2015-06-17 16:15:09 +000066 iv += texelFetch(is2Dms, ic2D, ic1D);
67 v += vec4(iv);
68 v += texelFetch(sb, ic1D);
69 v += texelFetch(sr, ic2D);
70
71 ivec2 iv2 = textureSize(sCubeShadow, 2);
72 // iv2 += textureSize(is2Dms);
73
74 FragData = v + vec4(iv2, 0.0, 0.0);
75}