mesa: Rename API_OPENGL to API_OPENGL_COMPAT.
[mesa.git] / src / glsl / builtins / profiles / 140.frag
1 #version 140
2 /* texture - bias variants */
3 vec4 texture( sampler1D sampler, float P, float bias);
4 ivec4 texture(isampler1D sampler, float P, float bias);
5 uvec4 texture(usampler1D sampler, float P, float bias);
6
7 vec4 texture( sampler2D sampler, vec2 P, float bias);
8 ivec4 texture(isampler2D sampler, vec2 P, float bias);
9 uvec4 texture(usampler2D sampler, vec2 P, float bias);
10
11 vec4 texture( sampler3D sampler, vec3 P, float bias);
12 ivec4 texture(isampler3D sampler, vec3 P, float bias);
13 uvec4 texture(usampler3D sampler, vec3 P, float bias);
14
15 vec4 texture( samplerCube sampler, vec3 P, float bias);
16 ivec4 texture(isamplerCube sampler, vec3 P, float bias);
17 uvec4 texture(usamplerCube sampler, vec3 P, float bias);
18
19 float texture(sampler1DShadow sampler, vec3 P, float bias);
20 float texture(sampler2DShadow sampler, vec3 P, float bias);
21 float texture(samplerCubeShadow sampler, vec4 P, float bias);
22
23 vec4 texture( sampler1DArray sampler, vec2 P, float bias);
24 ivec4 texture(isampler1DArray sampler, vec2 P, float bias);
25 uvec4 texture(usampler1DArray sampler, vec2 P, float bias);
26
27 vec4 texture( sampler2DArray sampler, vec3 P, float bias);
28 ivec4 texture(isampler2DArray sampler, vec3 P, float bias);
29 uvec4 texture(usampler2DArray sampler, vec3 P, float bias);
30
31 float texture(sampler1DArrayShadow sampler, vec3 P, float bias);
32
33 /* textureProj - bias variants */
34 vec4 textureProj( sampler1D sampler, vec2 P, float bias);
35 ivec4 textureProj(isampler1D sampler, vec2 P, float bias);
36 uvec4 textureProj(usampler1D sampler, vec2 P, float bias);
37 vec4 textureProj( sampler1D sampler, vec4 P, float bias);
38 ivec4 textureProj(isampler1D sampler, vec4 P, float bias);
39 uvec4 textureProj(usampler1D sampler, vec4 P, float bias);
40
41 vec4 textureProj( sampler2D sampler, vec3 P, float bias);
42 ivec4 textureProj(isampler2D sampler, vec3 P, float bias);
43 uvec4 textureProj(usampler2D sampler, vec3 P, float bias);
44 vec4 textureProj( sampler2D sampler, vec4 P, float bias);
45 ivec4 textureProj(isampler2D sampler, vec4 P, float bias);
46 uvec4 textureProj(usampler2D sampler, vec4 P, float bias);
47
48 vec4 textureProj( sampler3D sampler, vec4 P, float bias);
49 ivec4 textureProj(isampler3D sampler, vec4 P, float bias);
50 uvec4 textureProj(usampler3D sampler, vec4 P, float bias);
51
52 float textureProj(sampler1DShadow sampler, vec4 P, float bias);
53 float textureProj(sampler2DShadow sampler, vec4 P, float bias);
54
55 /* textureOffset - bias variants */
56 vec4 textureOffset( sampler1D sampler, float P, int offset, float bias);
57 ivec4 textureOffset(isampler1D sampler, float P, int offset, float bias);
58 uvec4 textureOffset(usampler1D sampler, float P, int offset, float bias);
59
60 vec4 textureOffset( sampler2D sampler, vec2 P, ivec2 offset, float bias);
61 ivec4 textureOffset(isampler2D sampler, vec2 P, ivec2 offset, float bias);
62 uvec4 textureOffset(usampler2D sampler, vec2 P, ivec2 offset, float bias);
63
64 vec4 textureOffset( sampler3D sampler, vec3 P, ivec3 offset, float bias);
65 ivec4 textureOffset(isampler3D sampler, vec3 P, ivec3 offset, float bias);
66 uvec4 textureOffset(usampler3D sampler, vec3 P, ivec3 offset, float bias);
67
68 float textureOffset(sampler1DShadow sampler, vec3 P, int offset, float bias);
69 float textureOffset(sampler2DShadow sampler, vec3 P, ivec2 offset, float bias);
70
71 vec4 textureOffset( sampler1DArray sampler, vec2 P, int offset, float bias);
72 ivec4 textureOffset(isampler1DArray sampler, vec2 P, int offset, float bias);
73 uvec4 textureOffset(usampler1DArray sampler, vec2 P, int offset, float bias);
74
75 vec4 textureOffset( sampler2DArray sampler, vec3 P, ivec2 offset, float bias);
76 ivec4 textureOffset(isampler2DArray sampler, vec3 P, ivec2 offset, float bias);
77 uvec4 textureOffset(usampler2DArray sampler, vec3 P, ivec2 offset, float bias);
78
79 float textureOffset(sampler1DArrayShadow samp, vec3 P, int offset, float bias);
80
81 /* textureProjOffsetOffset - bias variants */
82 vec4 textureProjOffset( sampler1D sampler, vec2 P, int offset, float bias);
83 ivec4 textureProjOffset(isampler1D sampler, vec2 P, int offset, float bias);
84 uvec4 textureProjOffset(usampler1D sampler, vec2 P, int offset, float bias);
85 vec4 textureProjOffset( sampler1D sampler, vec4 P, int offset, float bias);
86 ivec4 textureProjOffset(isampler1D sampler, vec4 P, int offset, float bias);
87 uvec4 textureProjOffset(usampler1D sampler, vec4 P, int offset, float bias);
88
89 vec4 textureProjOffset( sampler2D sampler, vec3 P, ivec2 offset, float bias);
90 ivec4 textureProjOffset(isampler2D sampler, vec3 P, ivec2 offset, float bias);
91 uvec4 textureProjOffset(usampler2D sampler, vec3 P, ivec2 offset, float bias);
92 vec4 textureProjOffset( sampler2D sampler, vec4 P, ivec2 offset, float bias);
93 ivec4 textureProjOffset(isampler2D sampler, vec4 P, ivec2 offset, float bias);
94 uvec4 textureProjOffset(usampler2D sampler, vec4 P, ivec2 offset, float bias);
95
96 vec4 textureProjOffset( sampler3D sampler, vec4 P, ivec3 offset, float bias);
97 ivec4 textureProjOffset(isampler3D sampler, vec4 P, ivec3 offset, float bias);
98 uvec4 textureProjOffset(usampler3D sampler, vec4 P, ivec3 offset, float bias);
99
100 float textureProjOffset(sampler1DShadow s, vec4 P, int offset, float bias);
101 float textureProjOffset(sampler2DShadow s, vec4 P, ivec2 offset, float bias);
102
103 /*
104 * The following texture functions are deprecated:
105 */
106 vec4 texture1D (sampler1D sampler, float coord, float bias);
107 vec4 texture1DProj (sampler1D sampler, vec2 coord, float bias);
108 vec4 texture1DProj (sampler1D sampler, vec4 coord, float bias);
109
110 vec4 texture2D (sampler2D sampler, vec2 coord, float bias);
111 vec4 texture2DProj (sampler2D sampler, vec3 coord, float bias);
112 vec4 texture2DProj (sampler2D sampler, vec4 coord, float bias);
113
114 vec4 texture3D (sampler3D sampler, vec3 coord, float bias);
115 vec4 texture3DProj (sampler3D sampler, vec4 coord, float bias);
116
117 vec4 textureCube (samplerCube sampler, vec3 coord, float bias);
118
119 vec4 shadow1D (sampler1DShadow sampler, vec3 coord, float bias);
120 vec4 shadow2D (sampler2DShadow sampler, vec3 coord, float bias);
121 vec4 shadow1DProj (sampler1DShadow sampler, vec4 coord, float bias);
122 vec4 shadow2DProj (sampler2DShadow sampler, vec4 coord, float bias);
123
124 /*
125 * 8.8 - Fragment Processing Functions
126 */
127 float dFdx(float p);
128 vec2 dFdx(vec2 p);
129 vec3 dFdx(vec3 p);
130 vec4 dFdx(vec4 p);
131
132 float dFdy(float p);
133 vec2 dFdy(vec2 p);
134 vec3 dFdy(vec3 p);
135 vec4 dFdy(vec4 p);
136
137 float fwidth(float p);
138 vec2 fwidth(vec2 p);
139 vec3 fwidth(vec3 p);
140 vec4 fwidth(vec4 p);