 99b0ffd468
			
		
	
	
		99b0ffd468
		
	
	
	
	
		
			
			git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24629 e7fa87d3-cd2b-0410-9028-fcbf551c1848
		
			
				
	
	
		
			122 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			122 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| #version 300 es
 | |
| precision highp float;
 | |
| uniform int c, d;
 | |
| in highp float x;
 | |
| 
 | |
| void main()
 | |
| {
 | |
|     float f;
 | |
|     int a[2];
 | |
| 
 | |
|     switch(f) {      // ERROR
 | |
|     }
 | |
| 
 | |
|     switch(a) {      // ERROR
 | |
|     }
 | |
| 
 | |
|     switch(c)
 | |
|     {
 | |
|     }
 | |
| 
 | |
|     switch(c)        // ERROR, not enough stuff after last label
 | |
|     {
 | |
|     case 2:
 | |
|     }
 | |
| 
 | |
|     switch(c)
 | |
|     {
 | |
|         f = sin(x);   // ERRROR
 | |
|     case 2:
 | |
|         f = cos(x);
 | |
|         break;
 | |
|     }
 | |
| 
 | |
|     switch (c) {
 | |
|     default:
 | |
|         break;
 | |
|     case 1:
 | |
|         f = sin(x);
 | |
|         break;
 | |
|     case 2:
 | |
|         f = cos(x);
 | |
|         break;
 | |
|     default:           // ERROR, 2nd default
 | |
|         f = tan(x);
 | |
|     }
 | |
| 
 | |
|     switch (c) {
 | |
|     case 1:
 | |
|         f = sin(x);
 | |
|         break;
 | |
|     case 2:
 | |
|         switch (d) {
 | |
|         case 1:
 | |
|             f = x * x * x;
 | |
|             break;
 | |
|         case 2:
 | |
|             f = x * x;
 | |
|             break;
 | |
|         }
 | |
|         break;
 | |
|     default:
 | |
|         f = tan(x);
 | |
|     case 1:           // ERROR, 2nd 'case 1'
 | |
|         break;
 | |
|     case 3.8:         // ERROR, non-int
 | |
|         break;
 | |
|     case c:           // ERROR, non-constant
 | |
|         break;       
 | |
|     }
 | |
| 
 | |
|     switch (c) {      // a no-error normal switch
 | |
|     case 1:
 | |
|         f = sin(x);
 | |
|         break;
 | |
|     case 2:
 | |
|         switch (d) {
 | |
|         case 1:
 | |
|             f = x * x * x;
 | |
|             break;
 | |
|         case 2:
 | |
|             f = x * x;
 | |
|             break;
 | |
|         }
 | |
|         break;
 | |
|     default:
 | |
|         f = tan(x);
 | |
|     }
 | |
| 
 | |
|     break;            // ERROR
 | |
| 
 | |
|     switch (c) {
 | |
|     case 1:
 | |
|         f = sin(x);
 | |
|         break;
 | |
|     case 2:
 | |
|         switch (d) {
 | |
|         case 1:
 | |
|             {
 | |
|                 case 4:        // ERROR
 | |
|                     break;
 | |
|             }
 | |
|             f = x * x * x;
 | |
|             if (c < d) {
 | |
|                 case 2:         // ERROR
 | |
|                     f = x * x;
 | |
|             }
 | |
|             if (d < c)
 | |
|                 case 3:         // ERROR
 | |
|             break;
 | |
|         }
 | |
|         break;
 | |
|     case 4:
 | |
|         f = tan(x);
 | |
|         if (f < 0.0)
 | |
|             default:            // ERROR
 | |
|                 break;
 | |
|     }
 | |
| 
 | |
|     case 5:  // ERROR
 | |
|     default: // ERROR
 | |
| }
 |