1group builtins "Builtin Tests" 2 3 case core_gl_FragColor 4 version 420 5 expect compile_fail 6 vertex "" 7 #version 420 8 ${VERTEX_DECLARATIONS} 9 void main() 10 { 11 ${VERTEX_OUTPUT} 12 } 13 "" 14 fragment "" 15 #version 420 16 void main() 17 { 18 gl_FragColor = vec4(1.0); 19 } 20 "" 21 end 22 23 case core_gl_FragData 24 version 420 25 expect compile_fail 26 vertex "" 27 #version 420 28 ${VERTEX_DECLARATIONS} 29 void main() 30 { 31 ${VERTEX_OUTPUT} 32 } 33 "" 34 fragment "" 35 #version 420 36 void main() 37 { 38 gl_FragData[0] = vec4(1.0, 1.0, 1.0, 1.0); 39 } 40 "" 41 end 42 43 case core_gl_MaxVaryingFloats 44 version 420 45 expect compile_fail 46 vertex "" 47 #version 420 48 ${VERTEX_DECLARATIONS} 49 void main() 50 { 51 ${VERTEX_OUTPUT} 52 } 53 "" 54 fragment "" 55 #version 420 56 out vec4 color; 57 void main() 58 { 59 color = vec4(float(gl_MaxVaryingFloats)); 60 } 61 "" 62 end 63 64 case core_texture_builtins 65 version 420 66 expect compile_fail 67 vertex "" 68 #version 420 69 ${VERTEX_DECLARATIONS} 70 void main() 71 { 72 ${VERTEX_OUTPUT} 73 } 74 "" 75 fragment "" 76 #version 420 77 uniform sampler1D tex1d; 78 uniform sampler2D tex2d; 79 uniform sampler3D tex3d; 80 uniform samplerCube texCube; 81 82 uniform float i; 83 uniform float dummy_f_coord; 84 uniform vec2 dummy_v2_coord; 85 uniform vec3 dummy_v3_coord; 86 uniform vec4 dummy_v4_coord; 87 out vec4 color; 88 void main() 89 { 90 color = texture1D(tex1d, dummy_f_coord, i); 91 color =+ texture1DProj(tex1d, dummy_v2_coord, i); 92 color =+ texture1DProj(tex1d, dummy_v4_coord, i); 93 color =+ texture1DLod(tex1d, dummy_f_coord, i); 94 color =+ texture1DProjLod(tex1d, dummy_v2_coord, i); 95 color =+ texture1DProjLod(tex1d, dummy_v4_coord, i); 96 97 color =+ texture2D(tex2d, dummy_v2_coord, i); 98 color =+ texture2DProj(tex2d, dummy_v3_coord, i); 99 color =+ texture2DProj(tex2d, dummy_v4_coord, i); 100 color =+ texture2DLod(tex2d, dummy_v2_coord, i); 101 color =+ texture2DProjLod(tex2d, dummy_v3_coord, i); 102 color =+ texture2DProjLod(tex2d, dummy_v4_coord, i); 103 104 color =+ texture3D(tex3d, dummy_v3_coord, i); 105 color =+ texture3DProj(tex3d, dummy_v4_coord, i); 106 color =+ texture3DLod(tex3d, dummy_v3_coord, i); 107 color =+ texture3DProjLod(tex3d, dummy_v4_coord, i); 108 109 color =+ textureCube(texCube, dummy_v3_coord, i); 110 color =+ textureCubeLod(texCube, dummy_v3_coord, i); 111 } 112 "" 113 end 114 115 case core_shadow_builtins 116 version 420 117 expect compile_fail 118 vertex "" 119 #version 420 120 ${VERTEX_DECLARATIONS} 121 void main() 122 { 123 ${VERTEX_OUTPUT} 124 } 125 "" 126 fragment "" 127 #version 420 128 uniform sampler1DShadow tex1dshadow; 129 uniform sampler2DShadow tex2dshadow; 130 131 uniform float i; 132 uniform vec3 dummy_v3_coord; 133 uniform vec4 dummy_v4_coord; 134 out vec4 color; 135 void main() 136 { 137 color = shadow1D(tex1dshadow, dummy_v3_coord, i); 138 color =+ shadow1DProj(tex1dshadow, dummy_v4_coord, i); 139 color =+ shadow1DLod(tex1dshadow, dummy_v3_coord, i); 140 color =+ shadow1DProjLod(tex1dshadow, dummy_v4_coord, i); 141 142 color =+ shadow2D(tex2dshadow, dummy_v3_coord, i); 143 color =+ shadow2DProj(tex2dshadow, dummy_v4_coord, i); 144 color =+ shadow2DLod(tex2dshadow, dummy_v3_coord, i); 145 color =+ shadow2DProjLod(tex2dshadow, dummy_v4_coord, i); 146 } 147 "" 148 end 149 150 case compatibility_gl_FragColor 151 version 420 152 vertex "" 153 #version 420 compatibility 154 ${VERTEX_DECLARATIONS} 155 void main() 156 { 157 ${VERTEX_OUTPUT} 158 } 159 "" 160 fragment "" 161 #version 420 compatibility 162 void main() 163 { 164 gl_FragColor = vec4(1.0); 165 } 166 "" 167 end 168 169 case compatibility_gl_FragData 170 version 420 171 vertex "" 172 #version 420 compatibility 173 ${VERTEX_DECLARATIONS} 174 void main() 175 { 176 ${VERTEX_OUTPUT} 177 } 178 "" 179 fragment "" 180 #version 420 compatibility 181 void main() 182 { 183 gl_FragData[0] = vec4(1.0, 1.0, 1.0, 1.0); 184 } 185 "" 186 end 187 188 case compatibility_gl_MaxVaryingFloats 189 version 420 190 vertex "" 191 #version 420 compatibility 192 ${VERTEX_DECLARATIONS} 193 void main() 194 { 195 ${VERTEX_OUTPUT} 196 } 197 "" 198 fragment "" 199 #version 420 compatibility 200 out vec4 color; 201 void main() 202 { 203 color = vec4(float(gl_MaxVaryingFloats)); 204 } 205 "" 206 end 207 208 case compatibility_texture_builtins 209 version 420 210 vertex "" 211 #version 420 compatibility 212 ${VERTEX_DECLARATIONS} 213 void main() 214 { 215 ${VERTEX_OUTPUT} 216 } 217 "" 218 fragment "" 219 #version 420 compatibility 220 uniform sampler1D tex1d; 221 uniform sampler2D tex2d; 222 uniform sampler3D tex3d; 223 uniform samplerCube texCube; 224 225 uniform float i; 226 uniform float dummy_f_coord; 227 uniform vec2 dummy_v2_coord; 228 uniform vec3 dummy_v3_coord; 229 uniform vec4 dummy_v4_coord; 230 out vec4 color; 231 void main() 232 { 233 color = texture1D(tex1d, dummy_f_coord, i); 234 color =+ texture1DProj(tex1d, dummy_v2_coord, i); 235 color =+ texture1DProj(tex1d, dummy_v4_coord, i); 236 color =+ texture1DLod(tex1d, dummy_f_coord, i); 237 color =+ texture1DProjLod(tex1d, dummy_v2_coord, i); 238 color =+ texture1DProjLod(tex1d, dummy_v4_coord, i); 239 240 color =+ texture2D(tex2d, dummy_v2_coord, i); 241 color =+ texture2DProj(tex2d, dummy_v3_coord, i); 242 color =+ texture2DProj(tex2d, dummy_v4_coord, i); 243 color =+ texture2DLod(tex2d, dummy_v2_coord, i); 244 color =+ texture2DProjLod(tex2d, dummy_v3_coord, i); 245 color =+ texture2DProjLod(tex2d, dummy_v4_coord, i); 246 247 color =+ texture3D(tex3d, dummy_v3_coord, i); 248 color =+ texture3DProj(tex3d, dummy_v4_coord, i); 249 color =+ texture3DLod(tex3d, dummy_v3_coord, i); 250 color =+ texture3DProjLod(tex3d, dummy_v4_coord, i); 251 252 color =+ textureCube(texCube, dummy_v3_coord, i); 253 color =+ textureCubeLod(texCube, dummy_v3_coord, i); 254 } 255 "" 256 end 257 258 case compatibility_shadow_builtins 259 version 420 260 vertex "" 261 #version 420 compatibility 262 ${VERTEX_DECLARATIONS} 263 void main() 264 { 265 ${VERTEX_OUTPUT} 266 } 267 "" 268 fragment "" 269 #version 420 compatibility 270 uniform sampler1DShadow tex1dshadow; 271 uniform sampler2DShadow tex2dshadow; 272 273 uniform float i; 274 uniform vec3 dummy_v3_coord; 275 uniform vec4 dummy_v4_coord; 276 out vec4 color; 277 void main() 278 { 279 color = shadow1D(tex1dshadow, dummy_v3_coord, i); 280 color =+ shadow1DProj(tex1dshadow, dummy_v4_coord, i); 281 color =+ shadow1DLod(tex1dshadow, dummy_v3_coord, i); 282 color =+ shadow1DProjLod(tex1dshadow, dummy_v4_coord, i); 283 284 color =+ shadow2D(tex2dshadow, dummy_v3_coord, i); 285 color =+ shadow2DProj(tex2dshadow, dummy_v4_coord, i); 286 color =+ shadow2DLod(tex2dshadow, dummy_v3_coord, i); 287 color =+ shadow2DProjLod(tex2dshadow, dummy_v4_coord, i); 288 } 289 "" 290 end 291 292end 293