1*35238bceSAndroid Build Coastguard Workercase float_input 2*35238bceSAndroid Build Coastguard Worker values 3*35238bceSAndroid Build Coastguard Worker { 4*35238bceSAndroid Build Coastguard Worker input float in0 = [ 1.123 | 0.75 | -512.0 | -72.13 | 199.91 | -1.123 | -0.75 | 512.0 | -72.13 | -199.91 ]; 5*35238bceSAndroid Build Coastguard Worker output float out0 = [ 1.123 | 0.75 | -512.0 | -72.13 | 199.91 | -1.123 | -0.75 | 512.0 | -72.13 | -199.91 ]; 6*35238bceSAndroid Build Coastguard Worker } 7*35238bceSAndroid Build Coastguard Worker 8*35238bceSAndroid Build Coastguard Worker both "" 9*35238bceSAndroid Build Coastguard Worker precision highp float; 10*35238bceSAndroid Build Coastguard Worker ${DECLARATIONS} 11*35238bceSAndroid Build Coastguard Worker void main() 12*35238bceSAndroid Build Coastguard Worker { 13*35238bceSAndroid Build Coastguard Worker out0 = in0; 14*35238bceSAndroid Build Coastguard Worker ${OUTPUT} 15*35238bceSAndroid Build Coastguard Worker } 16*35238bceSAndroid Build Coastguard Worker "" 17*35238bceSAndroid Build Coastguard Workerend 18*35238bceSAndroid Build Coastguard Worker 19*35238bceSAndroid Build Coastguard Workercase float_uniform 20*35238bceSAndroid Build Coastguard Worker values 21*35238bceSAndroid Build Coastguard Worker { 22*35238bceSAndroid Build Coastguard Worker uniform float uni0 = [ 1.123 | 0.75 | -512.0 | -72.13 | 199.91 ]; 23*35238bceSAndroid Build Coastguard Worker output float out0 = [ 1.123 | 0.75 | -512.0 | -72.13 | 199.91 ]; 24*35238bceSAndroid Build Coastguard Worker } 25*35238bceSAndroid Build Coastguard Worker 26*35238bceSAndroid Build Coastguard Worker both "" 27*35238bceSAndroid Build Coastguard Worker precision highp float; 28*35238bceSAndroid Build Coastguard Worker ${DECLARATIONS} 29*35238bceSAndroid Build Coastguard Worker uniform float uni0; 30*35238bceSAndroid Build Coastguard Worker void main() 31*35238bceSAndroid Build Coastguard Worker { 32*35238bceSAndroid Build Coastguard Worker out0 = uni0; 33*35238bceSAndroid Build Coastguard Worker ${OUTPUT} 34*35238bceSAndroid Build Coastguard Worker } 35*35238bceSAndroid Build Coastguard Worker "" 36*35238bceSAndroid Build Coastguard Workerend 37*35238bceSAndroid Build Coastguard Worker 38*35238bceSAndroid Build Coastguard Workercase float_0 39*35238bceSAndroid Build Coastguard Worker values { output float out0 = 1.123; } 40*35238bceSAndroid Build Coastguard Worker both "" 41*35238bceSAndroid Build Coastguard Worker precision highp float; 42*35238bceSAndroid Build Coastguard Worker ${DECLARATIONS} 43*35238bceSAndroid Build Coastguard Worker void main() 44*35238bceSAndroid Build Coastguard Worker { 45*35238bceSAndroid Build Coastguard Worker out0 = +1.123; 46*35238bceSAndroid Build Coastguard Worker ${OUTPUT} 47*35238bceSAndroid Build Coastguard Worker } 48*35238bceSAndroid Build Coastguard Worker "" 49*35238bceSAndroid Build Coastguard Workerend 50*35238bceSAndroid Build Coastguard Worker 51*35238bceSAndroid Build Coastguard Workercase float_1 52*35238bceSAndroid Build Coastguard Worker values { output float out0 = -1.123; } 53*35238bceSAndroid Build Coastguard Worker both "" 54*35238bceSAndroid Build Coastguard Worker precision highp float; 55*35238bceSAndroid Build Coastguard Worker ${DECLARATIONS} 56*35238bceSAndroid Build Coastguard Worker void main() 57*35238bceSAndroid Build Coastguard Worker { 58*35238bceSAndroid Build Coastguard Worker out0 = -1.123; 59*35238bceSAndroid Build Coastguard Worker ${OUTPUT} 60*35238bceSAndroid Build Coastguard Worker } 61*35238bceSAndroid Build Coastguard Worker "" 62*35238bceSAndroid Build Coastguard Workerend 63*35238bceSAndroid Build Coastguard Worker 64*35238bceSAndroid Build Coastguard Workercase float_2 65*35238bceSAndroid Build Coastguard Worker values { output float out0 = 123.0; } 66*35238bceSAndroid Build Coastguard Worker both "" 67*35238bceSAndroid Build Coastguard Worker precision highp float; 68*35238bceSAndroid Build Coastguard Worker ${DECLARATIONS} 69*35238bceSAndroid Build Coastguard Worker void main() 70*35238bceSAndroid Build Coastguard Worker { 71*35238bceSAndroid Build Coastguard Worker out0 = 123.; 72*35238bceSAndroid Build Coastguard Worker ${OUTPUT} 73*35238bceSAndroid Build Coastguard Worker } 74*35238bceSAndroid Build Coastguard Worker "" 75*35238bceSAndroid Build Coastguard Workerend 76*35238bceSAndroid Build Coastguard Worker 77*35238bceSAndroid Build Coastguard Workercase float_3 78*35238bceSAndroid Build Coastguard Worker values { output float out0 = 0.123; } 79*35238bceSAndroid Build Coastguard Worker both "" 80*35238bceSAndroid Build Coastguard Worker precision highp float; 81*35238bceSAndroid Build Coastguard Worker ${DECLARATIONS} 82*35238bceSAndroid Build Coastguard Worker void main() 83*35238bceSAndroid Build Coastguard Worker { 84*35238bceSAndroid Build Coastguard Worker out0 = .123; 85*35238bceSAndroid Build Coastguard Worker ${OUTPUT} 86*35238bceSAndroid Build Coastguard Worker } 87*35238bceSAndroid Build Coastguard Worker "" 88*35238bceSAndroid Build Coastguard Workerend 89*35238bceSAndroid Build Coastguard Worker 90*35238bceSAndroid Build Coastguard Workercase float_4 91*35238bceSAndroid Build Coastguard Worker values { output float out0 = 123.0; } 92*35238bceSAndroid Build Coastguard Worker both "" 93*35238bceSAndroid Build Coastguard Worker precision highp float; 94*35238bceSAndroid Build Coastguard Worker ${DECLARATIONS} 95*35238bceSAndroid Build Coastguard Worker void main() 96*35238bceSAndroid Build Coastguard Worker { 97*35238bceSAndroid Build Coastguard Worker out0 = 1.23e+2; 98*35238bceSAndroid Build Coastguard Worker ${OUTPUT} 99*35238bceSAndroid Build Coastguard Worker } 100*35238bceSAndroid Build Coastguard Worker "" 101*35238bceSAndroid Build Coastguard Workerend 102*35238bceSAndroid Build Coastguard Worker 103*35238bceSAndroid Build Coastguard Workercase float_5 104*35238bceSAndroid Build Coastguard Worker values { output float out0 = -123.0; } 105*35238bceSAndroid Build Coastguard Worker both "" 106*35238bceSAndroid Build Coastguard Worker precision highp float; 107*35238bceSAndroid Build Coastguard Worker ${DECLARATIONS} 108*35238bceSAndroid Build Coastguard Worker void main() 109*35238bceSAndroid Build Coastguard Worker { 110*35238bceSAndroid Build Coastguard Worker out0 = -1.23E+2; 111*35238bceSAndroid Build Coastguard Worker ${OUTPUT} 112*35238bceSAndroid Build Coastguard Worker } 113*35238bceSAndroid Build Coastguard Worker "" 114*35238bceSAndroid Build Coastguard Workerend 115*35238bceSAndroid Build Coastguard Worker 116*35238bceSAndroid Build Coastguard Workercase float_6 117*35238bceSAndroid Build Coastguard Worker values { output float out0 = -123.0; } 118*35238bceSAndroid Build Coastguard Worker both "" 119*35238bceSAndroid Build Coastguard Worker precision highp float; 120*35238bceSAndroid Build Coastguard Worker ${DECLARATIONS} 121*35238bceSAndroid Build Coastguard Worker void main() 122*35238bceSAndroid Build Coastguard Worker { 123*35238bceSAndroid Build Coastguard Worker out0 = -1.23e2; 124*35238bceSAndroid Build Coastguard Worker ${OUTPUT} 125*35238bceSAndroid Build Coastguard Worker } 126*35238bceSAndroid Build Coastguard Worker "" 127*35238bceSAndroid Build Coastguard Workerend 128*35238bceSAndroid Build Coastguard Worker 129*35238bceSAndroid Build Coastguard Workercase float_7 130*35238bceSAndroid Build Coastguard Worker values { output float out0 = 0.123; } 131*35238bceSAndroid Build Coastguard Worker both "" 132*35238bceSAndroid Build Coastguard Worker precision highp float; 133*35238bceSAndroid Build Coastguard Worker ${DECLARATIONS} 134*35238bceSAndroid Build Coastguard Worker void main() 135*35238bceSAndroid Build Coastguard Worker { 136*35238bceSAndroid Build Coastguard Worker out0 = 1.23e-1; 137*35238bceSAndroid Build Coastguard Worker ${OUTPUT} 138*35238bceSAndroid Build Coastguard Worker } 139*35238bceSAndroid Build Coastguard Worker "" 140*35238bceSAndroid Build Coastguard Workerend 141*35238bceSAndroid Build Coastguard Worker 142*35238bceSAndroid Build Coastguard Workercase float_8 143*35238bceSAndroid Build Coastguard Worker values { output float out0 = 1000.0; } 144*35238bceSAndroid Build Coastguard Worker both "" 145*35238bceSAndroid Build Coastguard Worker precision highp float; 146*35238bceSAndroid Build Coastguard Worker ${DECLARATIONS} 147*35238bceSAndroid Build Coastguard Worker void main() 148*35238bceSAndroid Build Coastguard Worker { 149*35238bceSAndroid Build Coastguard Worker out0 = 1e3; 150*35238bceSAndroid Build Coastguard Worker ${OUTPUT} 151*35238bceSAndroid Build Coastguard Worker } 152*35238bceSAndroid Build Coastguard Worker "" 153*35238bceSAndroid Build Coastguard Workerend 154*35238bceSAndroid Build Coastguard Worker 155*35238bceSAndroid Build Coastguard Workercase int_0 156*35238bceSAndroid Build Coastguard Worker values { output int out0 = 123; } 157*35238bceSAndroid Build Coastguard Worker both "" 158*35238bceSAndroid Build Coastguard Worker precision highp float; 159*35238bceSAndroid Build Coastguard Worker ${DECLARATIONS} 160*35238bceSAndroid Build Coastguard Worker void main() 161*35238bceSAndroid Build Coastguard Worker { 162*35238bceSAndroid Build Coastguard Worker out0 = 123; 163*35238bceSAndroid Build Coastguard Worker ${OUTPUT} 164*35238bceSAndroid Build Coastguard Worker } 165*35238bceSAndroid Build Coastguard Worker "" 166*35238bceSAndroid Build Coastguard Workerend 167*35238bceSAndroid Build Coastguard Worker 168*35238bceSAndroid Build Coastguard Workercase int_1 169*35238bceSAndroid Build Coastguard Worker values { output int out0 = -321; } 170*35238bceSAndroid Build Coastguard Worker both "" 171*35238bceSAndroid Build Coastguard Worker precision highp float; 172*35238bceSAndroid Build Coastguard Worker ${DECLARATIONS} 173*35238bceSAndroid Build Coastguard Worker void main() 174*35238bceSAndroid Build Coastguard Worker { 175*35238bceSAndroid Build Coastguard Worker out0 = -321; 176*35238bceSAndroid Build Coastguard Worker ${OUTPUT} 177*35238bceSAndroid Build Coastguard Worker } 178*35238bceSAndroid Build Coastguard Worker "" 179*35238bceSAndroid Build Coastguard Workerend 180*35238bceSAndroid Build Coastguard Worker 181*35238bceSAndroid Build Coastguard Workercase int_2 182*35238bceSAndroid Build Coastguard Worker values { output int out0 = 123; } 183*35238bceSAndroid Build Coastguard Worker both "" 184*35238bceSAndroid Build Coastguard Worker precision highp float; 185*35238bceSAndroid Build Coastguard Worker ${DECLARATIONS} 186*35238bceSAndroid Build Coastguard Worker void main() 187*35238bceSAndroid Build Coastguard Worker { 188*35238bceSAndroid Build Coastguard Worker out0 = 0x7B; 189*35238bceSAndroid Build Coastguard Worker ${OUTPUT} 190*35238bceSAndroid Build Coastguard Worker } 191*35238bceSAndroid Build Coastguard Worker "" 192*35238bceSAndroid Build Coastguard Workerend 193*35238bceSAndroid Build Coastguard Worker 194*35238bceSAndroid Build Coastguard Workercase int_3 195*35238bceSAndroid Build Coastguard Worker values { output int out0 = 123; } 196*35238bceSAndroid Build Coastguard Worker both "" 197*35238bceSAndroid Build Coastguard Worker precision highp float; 198*35238bceSAndroid Build Coastguard Worker ${DECLARATIONS} 199*35238bceSAndroid Build Coastguard Worker void main() 200*35238bceSAndroid Build Coastguard Worker { 201*35238bceSAndroid Build Coastguard Worker out0 = 0X7b; 202*35238bceSAndroid Build Coastguard Worker ${OUTPUT} 203*35238bceSAndroid Build Coastguard Worker } 204*35238bceSAndroid Build Coastguard Worker "" 205*35238bceSAndroid Build Coastguard Workerend 206*35238bceSAndroid Build Coastguard Worker 207*35238bceSAndroid Build Coastguard Workercase int_4 208*35238bceSAndroid Build Coastguard Worker values { output int out0 = 123; } 209*35238bceSAndroid Build Coastguard Worker both "" 210*35238bceSAndroid Build Coastguard Worker precision highp float; 211*35238bceSAndroid Build Coastguard Worker ${DECLARATIONS} 212*35238bceSAndroid Build Coastguard Worker void main() 213*35238bceSAndroid Build Coastguard Worker { 214*35238bceSAndroid Build Coastguard Worker out0 = 0173; 215*35238bceSAndroid Build Coastguard Worker ${OUTPUT} 216*35238bceSAndroid Build Coastguard Worker } 217*35238bceSAndroid Build Coastguard Worker "" 218*35238bceSAndroid Build Coastguard Workerend 219*35238bceSAndroid Build Coastguard Worker 220*35238bceSAndroid Build Coastguard Workercase bool_0 221*35238bceSAndroid Build Coastguard Worker values { output bool out0 = true; } 222*35238bceSAndroid Build Coastguard Worker both "" 223*35238bceSAndroid Build Coastguard Worker precision highp float; 224*35238bceSAndroid Build Coastguard Worker ${DECLARATIONS} 225*35238bceSAndroid Build Coastguard Worker void main() 226*35238bceSAndroid Build Coastguard Worker { 227*35238bceSAndroid Build Coastguard Worker out0 = true; 228*35238bceSAndroid Build Coastguard Worker ${OUTPUT} 229*35238bceSAndroid Build Coastguard Worker } 230*35238bceSAndroid Build Coastguard Worker "" 231*35238bceSAndroid Build Coastguard Workerend 232*35238bceSAndroid Build Coastguard Worker 233*35238bceSAndroid Build Coastguard Workercase bool_1 234*35238bceSAndroid Build Coastguard Worker values { output bool out0 = false; } 235*35238bceSAndroid Build Coastguard Worker both "" 236*35238bceSAndroid Build Coastguard Worker precision highp float; 237*35238bceSAndroid Build Coastguard Worker ${DECLARATIONS} 238*35238bceSAndroid Build Coastguard Worker void main() 239*35238bceSAndroid Build Coastguard Worker { 240*35238bceSAndroid Build Coastguard Worker out0 = false; 241*35238bceSAndroid Build Coastguard Worker ${OUTPUT} 242*35238bceSAndroid Build Coastguard Worker } 243*35238bceSAndroid Build Coastguard Worker "" 244*35238bceSAndroid Build Coastguard Workerend 245*35238bceSAndroid Build Coastguard Worker 246*35238bceSAndroid Build Coastguard Workercase const_float_global 247*35238bceSAndroid Build Coastguard Worker values { output float out0 = 1000.0; } 248*35238bceSAndroid Build Coastguard Worker 249*35238bceSAndroid Build Coastguard Worker both "" 250*35238bceSAndroid Build Coastguard Worker precision mediump float; 251*35238bceSAndroid Build Coastguard Worker ${DECLARATIONS} 252*35238bceSAndroid Build Coastguard Worker const float theConstant = 1000.0; 253*35238bceSAndroid Build Coastguard Worker void main() 254*35238bceSAndroid Build Coastguard Worker { 255*35238bceSAndroid Build Coastguard Worker out0 = theConstant; 256*35238bceSAndroid Build Coastguard Worker ${OUTPUT} 257*35238bceSAndroid Build Coastguard Worker } 258*35238bceSAndroid Build Coastguard Worker "" 259*35238bceSAndroid Build Coastguard Workerend 260*35238bceSAndroid Build Coastguard Worker 261*35238bceSAndroid Build Coastguard Workercase const_float_main 262*35238bceSAndroid Build Coastguard Worker values { output float out0 = -1000.0; } 263*35238bceSAndroid Build Coastguard Worker 264*35238bceSAndroid Build Coastguard Worker both "" 265*35238bceSAndroid Build Coastguard Worker precision mediump float; 266*35238bceSAndroid Build Coastguard Worker ${DECLARATIONS} 267*35238bceSAndroid Build Coastguard Worker void main() 268*35238bceSAndroid Build Coastguard Worker { 269*35238bceSAndroid Build Coastguard Worker const float theConstant = -1000.0; 270*35238bceSAndroid Build Coastguard Worker out0 = theConstant; 271*35238bceSAndroid Build Coastguard Worker ${OUTPUT} 272*35238bceSAndroid Build Coastguard Worker } 273*35238bceSAndroid Build Coastguard Worker "" 274*35238bceSAndroid Build Coastguard Workerend 275*35238bceSAndroid Build Coastguard Worker 276*35238bceSAndroid Build Coastguard Workercase const_float_function 277*35238bceSAndroid Build Coastguard Worker values { output float out0 = -0.012; } 278*35238bceSAndroid Build Coastguard Worker 279*35238bceSAndroid Build Coastguard Worker both "" 280*35238bceSAndroid Build Coastguard Worker precision mediump float; 281*35238bceSAndroid Build Coastguard Worker ${DECLARATIONS} 282*35238bceSAndroid Build Coastguard Worker float func() 283*35238bceSAndroid Build Coastguard Worker { 284*35238bceSAndroid Build Coastguard Worker const float theConstant = -0.012; 285*35238bceSAndroid Build Coastguard Worker return theConstant; 286*35238bceSAndroid Build Coastguard Worker } 287*35238bceSAndroid Build Coastguard Worker void main() 288*35238bceSAndroid Build Coastguard Worker { 289*35238bceSAndroid Build Coastguard Worker out0 = func(); 290*35238bceSAndroid Build Coastguard Worker ${OUTPUT} 291*35238bceSAndroid Build Coastguard Worker } 292*35238bceSAndroid Build Coastguard Worker "" 293*35238bceSAndroid Build Coastguard Workerend 294*35238bceSAndroid Build Coastguard Worker 295*35238bceSAndroid Build Coastguard Workercase const_float_scope 296*35238bceSAndroid Build Coastguard Worker values { output float out0 = 1.0; } 297*35238bceSAndroid Build Coastguard Worker 298*35238bceSAndroid Build Coastguard Worker both "" 299*35238bceSAndroid Build Coastguard Worker precision mediump float; 300*35238bceSAndroid Build Coastguard Worker ${DECLARATIONS} 301*35238bceSAndroid Build Coastguard Worker void main() 302*35238bceSAndroid Build Coastguard Worker { 303*35238bceSAndroid Build Coastguard Worker { 304*35238bceSAndroid Build Coastguard Worker const float theConstant = 1.0; 305*35238bceSAndroid Build Coastguard Worker out0 = theConstant; 306*35238bceSAndroid Build Coastguard Worker } 307*35238bceSAndroid Build Coastguard Worker ${OUTPUT} 308*35238bceSAndroid Build Coastguard Worker } 309*35238bceSAndroid Build Coastguard Worker "" 310*35238bceSAndroid Build Coastguard Workerend 311*35238bceSAndroid Build Coastguard Worker 312*35238bceSAndroid Build Coastguard Workercase const_float_scope_shawdowing_1 313*35238bceSAndroid Build Coastguard Worker values { output float out0 = 1.0; } 314*35238bceSAndroid Build Coastguard Worker 315*35238bceSAndroid Build Coastguard Worker both "" 316*35238bceSAndroid Build Coastguard Worker precision mediump float; 317*35238bceSAndroid Build Coastguard Worker ${DECLARATIONS} 318*35238bceSAndroid Build Coastguard Worker void main() 319*35238bceSAndroid Build Coastguard Worker { 320*35238bceSAndroid Build Coastguard Worker const float theConstant = 100.0; 321*35238bceSAndroid Build Coastguard Worker { 322*35238bceSAndroid Build Coastguard Worker const float theConstant = 1.0; 323*35238bceSAndroid Build Coastguard Worker out0 = theConstant; 324*35238bceSAndroid Build Coastguard Worker } 325*35238bceSAndroid Build Coastguard Worker ${OUTPUT} 326*35238bceSAndroid Build Coastguard Worker } 327*35238bceSAndroid Build Coastguard Worker "" 328*35238bceSAndroid Build Coastguard Workerend 329*35238bceSAndroid Build Coastguard Worker 330*35238bceSAndroid Build Coastguard Workercase const_float_scope_shawdowing_2 331*35238bceSAndroid Build Coastguard Worker values { output float out0 = 1.0; } 332*35238bceSAndroid Build Coastguard Worker 333*35238bceSAndroid Build Coastguard Worker both "" 334*35238bceSAndroid Build Coastguard Worker precision mediump float; 335*35238bceSAndroid Build Coastguard Worker ${DECLARATIONS} 336*35238bceSAndroid Build Coastguard Worker const float theConstant = 100.0; 337*35238bceSAndroid Build Coastguard Worker void main() 338*35238bceSAndroid Build Coastguard Worker { 339*35238bceSAndroid Build Coastguard Worker { 340*35238bceSAndroid Build Coastguard Worker const float theConstant = 1.0; 341*35238bceSAndroid Build Coastguard Worker out0 = theConstant; 342*35238bceSAndroid Build Coastguard Worker } 343*35238bceSAndroid Build Coastguard Worker ${OUTPUT} 344*35238bceSAndroid Build Coastguard Worker } 345*35238bceSAndroid Build Coastguard Worker "" 346*35238bceSAndroid Build Coastguard Workerend 347*35238bceSAndroid Build Coastguard Worker 348*35238bceSAndroid Build Coastguard Workercase const_float_scope_shawdowing_3 349*35238bceSAndroid Build Coastguard Worker values { output float out0 = 1.0; } 350*35238bceSAndroid Build Coastguard Worker 351*35238bceSAndroid Build Coastguard Worker both "" 352*35238bceSAndroid Build Coastguard Worker precision mediump float; 353*35238bceSAndroid Build Coastguard Worker ${DECLARATIONS} 354*35238bceSAndroid Build Coastguard Worker const float theConstant = 100.0; 355*35238bceSAndroid Build Coastguard Worker void main() 356*35238bceSAndroid Build Coastguard Worker { 357*35238bceSAndroid Build Coastguard Worker const float theConstant = -100.0; 358*35238bceSAndroid Build Coastguard Worker { 359*35238bceSAndroid Build Coastguard Worker const float theConstant = 1.0; 360*35238bceSAndroid Build Coastguard Worker out0 = theConstant; 361*35238bceSAndroid Build Coastguard Worker } 362*35238bceSAndroid Build Coastguard Worker ${OUTPUT} 363*35238bceSAndroid Build Coastguard Worker } 364*35238bceSAndroid Build Coastguard Worker "" 365*35238bceSAndroid Build Coastguard Workerend 366*35238bceSAndroid Build Coastguard Worker 367*35238bceSAndroid Build Coastguard Workercase const_float_scope_shawdowing_4 368*35238bceSAndroid Build Coastguard Worker values { output float out0 = 2.0; } 369*35238bceSAndroid Build Coastguard Worker 370*35238bceSAndroid Build Coastguard Worker both "" 371*35238bceSAndroid Build Coastguard Worker precision mediump float; 372*35238bceSAndroid Build Coastguard Worker ${DECLARATIONS} 373*35238bceSAndroid Build Coastguard Worker const float theConstant = 100.0; 374*35238bceSAndroid Build Coastguard Worker float func() 375*35238bceSAndroid Build Coastguard Worker { 376*35238bceSAndroid Build Coastguard Worker const float theConstant = 2.0; 377*35238bceSAndroid Build Coastguard Worker return theConstant; 378*35238bceSAndroid Build Coastguard Worker } 379*35238bceSAndroid Build Coastguard Worker void main() 380*35238bceSAndroid Build Coastguard Worker { 381*35238bceSAndroid Build Coastguard Worker const float theConstant = -100.0; 382*35238bceSAndroid Build Coastguard Worker { 383*35238bceSAndroid Build Coastguard Worker const float theConstant = 1.0; 384*35238bceSAndroid Build Coastguard Worker out0 = func(); 385*35238bceSAndroid Build Coastguard Worker } 386*35238bceSAndroid Build Coastguard Worker ${OUTPUT} 387*35238bceSAndroid Build Coastguard Worker } 388*35238bceSAndroid Build Coastguard Worker "" 389*35238bceSAndroid Build Coastguard Workerend 390*35238bceSAndroid Build Coastguard Worker 391*35238bceSAndroid Build Coastguard Workercase const_float_operations_with_const 392*35238bceSAndroid Build Coastguard Worker values { output float out0 = 21.0; } 393*35238bceSAndroid Build Coastguard Worker 394*35238bceSAndroid Build Coastguard Worker both "" 395*35238bceSAndroid Build Coastguard Worker precision mediump float; 396*35238bceSAndroid Build Coastguard Worker ${DECLARATIONS} 397*35238bceSAndroid Build Coastguard Worker const float theGlobalConstant = 10.0; 398*35238bceSAndroid Build Coastguard Worker float func() 399*35238bceSAndroid Build Coastguard Worker { 400*35238bceSAndroid Build Coastguard Worker const float theConstant = 2.0; 401*35238bceSAndroid Build Coastguard Worker return theConstant; 402*35238bceSAndroid Build Coastguard Worker } 403*35238bceSAndroid Build Coastguard Worker void main() 404*35238bceSAndroid Build Coastguard Worker { 405*35238bceSAndroid Build Coastguard Worker const float theConstant = -100.0; 406*35238bceSAndroid Build Coastguard Worker { 407*35238bceSAndroid Build Coastguard Worker const float theConstant = 1.0; 408*35238bceSAndroid Build Coastguard Worker out0 = func() * theGlobalConstant + theConstant; 409*35238bceSAndroid Build Coastguard Worker } 410*35238bceSAndroid Build Coastguard Worker ${OUTPUT} 411*35238bceSAndroid Build Coastguard Worker } 412*35238bceSAndroid Build Coastguard Worker "" 413*35238bceSAndroid Build Coastguard Workerend 414*35238bceSAndroid Build Coastguard Worker 415*35238bceSAndroid Build Coastguard Workercase const_float_assignment_1 416*35238bceSAndroid Build Coastguard Worker values { output float out0 = 10.0; } 417*35238bceSAndroid Build Coastguard Worker 418*35238bceSAndroid Build Coastguard Worker both "" 419*35238bceSAndroid Build Coastguard Worker precision mediump float; 420*35238bceSAndroid Build Coastguard Worker ${DECLARATIONS} 421*35238bceSAndroid Build Coastguard Worker void main() 422*35238bceSAndroid Build Coastguard Worker { 423*35238bceSAndroid Build Coastguard Worker const float theConstant1 = 10.0; 424*35238bceSAndroid Build Coastguard Worker const float theConstant2 = theConstant1; 425*35238bceSAndroid Build Coastguard Worker out0 = theConstant2; 426*35238bceSAndroid Build Coastguard Worker ${OUTPUT} 427*35238bceSAndroid Build Coastguard Worker } 428*35238bceSAndroid Build Coastguard Worker "" 429*35238bceSAndroid Build Coastguard Workerend 430*35238bceSAndroid Build Coastguard Worker 431*35238bceSAndroid Build Coastguard Workercase const_float_assignment_2 432*35238bceSAndroid Build Coastguard Worker values { output float out0 = 10.0; } 433*35238bceSAndroid Build Coastguard Worker 434*35238bceSAndroid Build Coastguard Worker both "" 435*35238bceSAndroid Build Coastguard Worker precision mediump float; 436*35238bceSAndroid Build Coastguard Worker ${DECLARATIONS} 437*35238bceSAndroid Build Coastguard Worker void main() 438*35238bceSAndroid Build Coastguard Worker { 439*35238bceSAndroid Build Coastguard Worker const float theConstant1 = 10.0; 440*35238bceSAndroid Build Coastguard Worker { 441*35238bceSAndroid Build Coastguard Worker const float theConstant2 = theConstant1; 442*35238bceSAndroid Build Coastguard Worker out0 = theConstant2; 443*35238bceSAndroid Build Coastguard Worker } 444*35238bceSAndroid Build Coastguard Worker ${OUTPUT} 445*35238bceSAndroid Build Coastguard Worker } 446*35238bceSAndroid Build Coastguard Worker "" 447*35238bceSAndroid Build Coastguard Workerend 448*35238bceSAndroid Build Coastguard Worker 449*35238bceSAndroid Build Coastguard Workercase const_float_assignment_3 450*35238bceSAndroid Build Coastguard Worker values { output float out0 = 10.0; } 451*35238bceSAndroid Build Coastguard Worker 452*35238bceSAndroid Build Coastguard Worker both "" 453*35238bceSAndroid Build Coastguard Worker precision mediump float; 454*35238bceSAndroid Build Coastguard Worker ${DECLARATIONS} 455*35238bceSAndroid Build Coastguard Worker const float theConstant1 = 10.0; 456*35238bceSAndroid Build Coastguard Worker void main() 457*35238bceSAndroid Build Coastguard Worker { 458*35238bceSAndroid Build Coastguard Worker const float theConstant2 = theConstant1; 459*35238bceSAndroid Build Coastguard Worker out0 = theConstant2; 460*35238bceSAndroid Build Coastguard Worker ${OUTPUT} 461*35238bceSAndroid Build Coastguard Worker } 462*35238bceSAndroid Build Coastguard Worker "" 463*35238bceSAndroid Build Coastguard Workerend 464*35238bceSAndroid Build Coastguard Worker 465*35238bceSAndroid Build Coastguard Workercase const_float_assignment_4 466*35238bceSAndroid Build Coastguard Worker values { output float out0 = 10.0; } 467*35238bceSAndroid Build Coastguard Worker 468*35238bceSAndroid Build Coastguard Worker both "" 469*35238bceSAndroid Build Coastguard Worker precision mediump float; 470*35238bceSAndroid Build Coastguard Worker ${DECLARATIONS} 471*35238bceSAndroid Build Coastguard Worker const float theConstant1 = 10.0; 472*35238bceSAndroid Build Coastguard Worker float func() 473*35238bceSAndroid Build Coastguard Worker { 474*35238bceSAndroid Build Coastguard Worker const float theConstant2 = theConstant1; 475*35238bceSAndroid Build Coastguard Worker return theConstant2; 476*35238bceSAndroid Build Coastguard Worker } 477*35238bceSAndroid Build Coastguard Worker void main() 478*35238bceSAndroid Build Coastguard Worker { 479*35238bceSAndroid Build Coastguard Worker out0 = func(); 480*35238bceSAndroid Build Coastguard Worker ${OUTPUT} 481*35238bceSAndroid Build Coastguard Worker } 482*35238bceSAndroid Build Coastguard Worker "" 483*35238bceSAndroid Build Coastguard Workerend 484*35238bceSAndroid Build Coastguard Worker 485*35238bceSAndroid Build Coastguard Workercase const_float_assign_uniform 486*35238bceSAndroid Build Coastguard Worker expect compile_fail 487*35238bceSAndroid Build Coastguard Worker values { output float out0 = 10.0; } 488*35238bceSAndroid Build Coastguard Worker both "" 489*35238bceSAndroid Build Coastguard Worker precision mediump float; 490*35238bceSAndroid Build Coastguard Worker ${DECLARATIONS} 491*35238bceSAndroid Build Coastguard Worker uniform float theUniform; 492*35238bceSAndroid Build Coastguard Worker void main() 493*35238bceSAndroid Build Coastguard Worker { 494*35238bceSAndroid Build Coastguard Worker const float theConstant = theUniform; 495*35238bceSAndroid Build Coastguard Worker out0 = theConstant; 496*35238bceSAndroid Build Coastguard Worker ${OUTPUT} 497*35238bceSAndroid Build Coastguard Worker } 498*35238bceSAndroid Build Coastguard Worker "" 499*35238bceSAndroid Build Coastguard Workerend 500*35238bceSAndroid Build Coastguard Worker 501*35238bceSAndroid Build Coastguard Workercase const_float_assign_varying 502*35238bceSAndroid Build Coastguard Worker expect compile_fail 503*35238bceSAndroid Build Coastguard Worker values { output float out0 = 10.0; } 504*35238bceSAndroid Build Coastguard Worker vertex "" 505*35238bceSAndroid Build Coastguard Worker ${VERTEX_DECLARATIONS} 506*35238bceSAndroid Build Coastguard Worker varying float theVarying; 507*35238bceSAndroid Build Coastguard Worker void main() 508*35238bceSAndroid Build Coastguard Worker { 509*35238bceSAndroid Build Coastguard Worker theVarying = 1.0; 510*35238bceSAndroid Build Coastguard Worker gl_Position = vec(1.0); 511*35238bceSAndroid Build Coastguard Worker } 512*35238bceSAndroid Build Coastguard Worker "" 513*35238bceSAndroid Build Coastguard Worker fragment "" 514*35238bceSAndroid Build Coastguard Worker precision mediump float; 515*35238bceSAndroid Build Coastguard Worker ${FRAGMENT_DECLARATIONS} 516*35238bceSAndroid Build Coastguard Worker varying float theVarying; 517*35238bceSAndroid Build Coastguard Worker void main() 518*35238bceSAndroid Build Coastguard Worker { 519*35238bceSAndroid Build Coastguard Worker const float theConstant = theVarying; 520*35238bceSAndroid Build Coastguard Worker out0 = theConstant; 521*35238bceSAndroid Build Coastguard Worker ${FRAGMENT_OUTPUT} 522*35238bceSAndroid Build Coastguard Worker } 523*35238bceSAndroid Build Coastguard Worker "" 524*35238bceSAndroid Build Coastguard Workerend 525*35238bceSAndroid Build Coastguard Worker 526*35238bceSAndroid Build Coastguard Workercase const_float_function_gotcha 527*35238bceSAndroid Build Coastguard Worker desc "Function constant parameters are not really constants, so using them as constant expressions should fail." 528*35238bceSAndroid Build Coastguard Worker expect compile_fail 529*35238bceSAndroid Build Coastguard Worker values { output float out0 = 20.0; } 530*35238bceSAndroid Build Coastguard Worker both "" 531*35238bceSAndroid Build Coastguard Worker precision mediump float; 532*35238bceSAndroid Build Coastguard Worker ${DECLARATIONS} 533*35238bceSAndroid Build Coastguard Worker float func(const float gotcha) 534*35238bceSAndroid Build Coastguard Worker { 535*35238bceSAndroid Build Coastguard Worker const float theConstant2 = gotcha; 536*35238bceSAndroid Build Coastguard Worker return theConstant2*2.0; 537*35238bceSAndroid Build Coastguard Worker } 538*35238bceSAndroid Build Coastguard Worker void main() 539*35238bceSAndroid Build Coastguard Worker { 540*35238bceSAndroid Build Coastguard Worker const float theConstant = 10.0; 541*35238bceSAndroid Build Coastguard Worker out0 = func(theConstant); 542*35238bceSAndroid Build Coastguard Worker ${OUTPUT} 543*35238bceSAndroid Build Coastguard Worker } 544*35238bceSAndroid Build Coastguard Worker "" 545*35238bceSAndroid Build Coastguard Workerend 546*35238bceSAndroid Build Coastguard Worker 547*35238bceSAndroid Build Coastguard Workercase const_float_from_int 548*35238bceSAndroid Build Coastguard Worker values { output float out0 = 10.0; } 549*35238bceSAndroid Build Coastguard Worker 550*35238bceSAndroid Build Coastguard Worker both "" 551*35238bceSAndroid Build Coastguard Worker precision mediump float; 552*35238bceSAndroid Build Coastguard Worker ${DECLARATIONS} 553*35238bceSAndroid Build Coastguard Worker const float theConstant = float(10); 554*35238bceSAndroid Build Coastguard Worker void main() 555*35238bceSAndroid Build Coastguard Worker { 556*35238bceSAndroid Build Coastguard Worker out0 = theConstant; 557*35238bceSAndroid Build Coastguard Worker ${OUTPUT} 558*35238bceSAndroid Build Coastguard Worker } 559*35238bceSAndroid Build Coastguard Worker "" 560*35238bceSAndroid Build Coastguard Workerend 561*35238bceSAndroid Build Coastguard Worker 562*35238bceSAndroid Build Coastguard Workercase const_float_from_vec2 563*35238bceSAndroid Build Coastguard Worker values { output float out0 = 10.0; } 564*35238bceSAndroid Build Coastguard Worker 565*35238bceSAndroid Build Coastguard Worker both "" 566*35238bceSAndroid Build Coastguard Worker precision mediump float; 567*35238bceSAndroid Build Coastguard Worker ${DECLARATIONS} 568*35238bceSAndroid Build Coastguard Worker const float theConstant = vec2(1.0, 10.0).y; 569*35238bceSAndroid Build Coastguard Worker void main() 570*35238bceSAndroid Build Coastguard Worker { 571*35238bceSAndroid Build Coastguard Worker out0 = theConstant; 572*35238bceSAndroid Build Coastguard Worker ${OUTPUT} 573*35238bceSAndroid Build Coastguard Worker } 574*35238bceSAndroid Build Coastguard Worker "" 575*35238bceSAndroid Build Coastguard Workerend 576*35238bceSAndroid Build Coastguard Worker 577*35238bceSAndroid Build Coastguard Workercase const_float_from_vec3 578*35238bceSAndroid Build Coastguard Worker values { output float out0 = 10.0; } 579*35238bceSAndroid Build Coastguard Worker 580*35238bceSAndroid Build Coastguard Worker both "" 581*35238bceSAndroid Build Coastguard Worker precision mediump float; 582*35238bceSAndroid Build Coastguard Worker ${DECLARATIONS} 583*35238bceSAndroid Build Coastguard Worker const float theConstant = vec3(1.0, 10.0, 20.0).y; 584*35238bceSAndroid Build Coastguard Worker void main() 585*35238bceSAndroid Build Coastguard Worker { 586*35238bceSAndroid Build Coastguard Worker out0 = theConstant; 587*35238bceSAndroid Build Coastguard Worker ${OUTPUT} 588*35238bceSAndroid Build Coastguard Worker } 589*35238bceSAndroid Build Coastguard Worker "" 590*35238bceSAndroid Build Coastguard Workerend 591*35238bceSAndroid Build Coastguard Worker 592*35238bceSAndroid Build Coastguard Workercase const_float_from_vec4 593*35238bceSAndroid Build Coastguard Worker values { output float out0 = 10.0; } 594*35238bceSAndroid Build Coastguard Worker 595*35238bceSAndroid Build Coastguard Worker both "" 596*35238bceSAndroid Build Coastguard Worker precision mediump float; 597*35238bceSAndroid Build Coastguard Worker ${DECLARATIONS} 598*35238bceSAndroid Build Coastguard Worker const float theConstant = vec4(1.0, 10.0, 20.0, -10.0).y; 599*35238bceSAndroid Build Coastguard Worker void main() 600*35238bceSAndroid Build Coastguard Worker { 601*35238bceSAndroid Build Coastguard Worker out0 = theConstant; 602*35238bceSAndroid Build Coastguard Worker ${OUTPUT} 603*35238bceSAndroid Build Coastguard Worker } 604*35238bceSAndroid Build Coastguard Worker "" 605*35238bceSAndroid Build Coastguard Workerend 606*35238bceSAndroid Build Coastguard Worker 607*35238bceSAndroid Build Coastguard Workercase const_float_assign_variable_1 608*35238bceSAndroid Build Coastguard Worker expect compile_fail 609*35238bceSAndroid Build Coastguard Worker values { output float out0 = 20.0; } 610*35238bceSAndroid Build Coastguard Worker both "" 611*35238bceSAndroid Build Coastguard Worker precision mediump float; 612*35238bceSAndroid Build Coastguard Worker ${DECLARATIONS} 613*35238bceSAndroid Build Coastguard Worker void main() 614*35238bceSAndroid Build Coastguard Worker { 615*35238bceSAndroid Build Coastguard Worker float theVariable = 20.0; 616*35238bceSAndroid Build Coastguard Worker const float theConstant = theVariable; 617*35238bceSAndroid Build Coastguard Worker out0 = theConstant; 618*35238bceSAndroid Build Coastguard Worker ${OUTPUT} 619*35238bceSAndroid Build Coastguard Worker } 620*35238bceSAndroid Build Coastguard Worker "" 621*35238bceSAndroid Build Coastguard Workerend 622*35238bceSAndroid Build Coastguard Worker 623*35238bceSAndroid Build Coastguard Workercase const_float_assign_variable_2 624*35238bceSAndroid Build Coastguard Worker expect compile_fail 625*35238bceSAndroid Build Coastguard Worker values { output float out0 = 50.0; } 626*35238bceSAndroid Build Coastguard Worker both "" 627*35238bceSAndroid Build Coastguard Worker precision mediump float; 628*35238bceSAndroid Build Coastguard Worker ${DECLARATIONS} 629*35238bceSAndroid Build Coastguard Worker void main() 630*35238bceSAndroid Build Coastguard Worker { 631*35238bceSAndroid Build Coastguard Worker float theVariable = 20.0; 632*35238bceSAndroid Build Coastguard Worker theVariable += 30.0; 633*35238bceSAndroid Build Coastguard Worker const float theConstant = theVariable; 634*35238bceSAndroid Build Coastguard Worker out0 = theConstant; 635*35238bceSAndroid Build Coastguard Worker ${OUTPUT} 636*35238bceSAndroid Build Coastguard Worker } 637*35238bceSAndroid Build Coastguard Worker "" 638*35238bceSAndroid Build Coastguard Workerend 639*35238bceSAndroid Build Coastguard Worker 640*35238bceSAndroid Build Coastguard Workercase const_float_assign_user_func 641*35238bceSAndroid Build Coastguard Worker expect compile_fail 642*35238bceSAndroid Build Coastguard Worker values { output float out0 = 50.0; } 643*35238bceSAndroid Build Coastguard Worker both "" 644*35238bceSAndroid Build Coastguard Worker precision mediump float; 645*35238bceSAndroid Build Coastguard Worker ${DECLARATIONS} 646*35238bceSAndroid Build Coastguard Worker float func() 647*35238bceSAndroid Build Coastguard Worker { 648*35238bceSAndroid Build Coastguard Worker return 50.0; 649*35238bceSAndroid Build Coastguard Worker } 650*35238bceSAndroid Build Coastguard Worker void main() 651*35238bceSAndroid Build Coastguard Worker { 652*35238bceSAndroid Build Coastguard Worker const float theConstant = func(); 653*35238bceSAndroid Build Coastguard Worker out0 = theConstant; 654*35238bceSAndroid Build Coastguard Worker ${OUTPUT} 655*35238bceSAndroid Build Coastguard Worker } 656*35238bceSAndroid Build Coastguard Worker "" 657*35238bceSAndroid Build Coastguard Workerend 658