android / platform / external / shaderc / glslang / refs/heads/ndk-release-r18 / . / Test / structDeref.frag

#version 130 | |

uniform sampler2D sampler; | |

varying vec2 coord; | |

struct s0 { | |

int i; | |

}; | |

struct s00 { | |

s0 s0_0; | |

}; | |

struct s1 { | |

int i; | |

float f; | |

s0 s0_1; | |

}; | |

struct s2 { | |

int i; | |

float f; | |

s1 s1_1; | |

}; | |

struct s3 { | |

s2[12] s2_1; | |

int i; | |

float f; | |

s1 s1_1; | |

}; | |

uniform s0 foo0; | |

uniform s1 foo1; | |

uniform s2 foo2; | |

uniform s3 foo3; | |

uniform s00 foo00; | |

void main() | |

{ | |

s0 locals0; | |

s2 locals2; | |

s00 locals00; | |

float[6] fArray; | |

s1[10] locals1Array; | |

if (foo3.s2_1[9].i > 0) { | |

locals2.f = 1.0; | |

locals2.s1_1 = s1(0, 1.0, s0(0)); | |

fArray = float[6]( 0.0, 0.0, 0.0, 0.0, 0.0, 0.0); | |

locals1Array[6] = foo1; | |

locals0 = s0(0); | |

locals00 = s00(s0(0)); | |

} else { | |

locals2.f = coord.x; | |

locals2.s1_1 = s1(1, coord.y, foo0); | |

fArray = float[6]( 0.0, 1.0, 2.0, 3.0, 4.0, 5.0); | |

locals1Array[6] = locals2.s1_1; | |

locals0 = foo1.s0_1; | |

locals00 = foo00; | |

} | |

if (locals0.i > 5) | |

locals0 = locals00.s0_0; | |

gl_FragColor = (float(locals0.i) + locals1Array[6].f + fArray[3] + locals2.s1_1.f) * texture2D(sampler, coord); | |

} |