 02467d8d94
			
		
	
	
		02467d8d94
		
	
	
	
	
		
			
			This needs some render testing, but is destined to be part of master. This also leads to a variety of other simplifications. - IO are global symbols, so only need one list of linkage nodes (deferred) - no longer need parse-context-wide 'inEntryPoint' state, entry-point is localized - several parts of splitting/flattening are now localized
		
			
				
	
	
		
			101 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			101 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
| hlsl.sin.frag
 | |
| Shader version: 450
 | |
| gl_FragCoord origin is upper left
 | |
| 0:? Sequence
 | |
| 0:2  Function Definition: @PixelShaderFunction(vf4; (temp 4-component vector of float)
 | |
| 0:2    Function Parameters: 
 | |
| 0:2      'input' (in 4-component vector of float)
 | |
| 0:?     Sequence
 | |
| 0:3      Branch: Return with expression
 | |
| 0:3        sine (temp 4-component vector of float)
 | |
| 0:3          'input' (in 4-component vector of float)
 | |
| 0:2  Function Definition: PixelShaderFunction( (temp void)
 | |
| 0:2    Function Parameters: 
 | |
| 0:?     Sequence
 | |
| 0:2      move second child to first child (temp 4-component vector of float)
 | |
| 0:?         'input' (temp 4-component vector of float)
 | |
| 0:?         'input' (layout(location=0 ) in 4-component vector of float)
 | |
| 0:2      move second child to first child (temp 4-component vector of float)
 | |
| 0:?         '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
 | |
| 0:2        Function Call: @PixelShaderFunction(vf4; (temp 4-component vector of float)
 | |
| 0:?           'input' (temp 4-component vector of float)
 | |
| 0:?   Linker Objects
 | |
| 0:?     '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
 | |
| 0:?     'input' (layout(location=0 ) in 4-component vector of float)
 | |
| 
 | |
| 
 | |
| Linked fragment stage:
 | |
| 
 | |
| 
 | |
| Shader version: 450
 | |
| gl_FragCoord origin is upper left
 | |
| 0:? Sequence
 | |
| 0:2  Function Definition: @PixelShaderFunction(vf4; (temp 4-component vector of float)
 | |
| 0:2    Function Parameters: 
 | |
| 0:2      'input' (in 4-component vector of float)
 | |
| 0:?     Sequence
 | |
| 0:3      Branch: Return with expression
 | |
| 0:3        sine (temp 4-component vector of float)
 | |
| 0:3          'input' (in 4-component vector of float)
 | |
| 0:2  Function Definition: PixelShaderFunction( (temp void)
 | |
| 0:2    Function Parameters: 
 | |
| 0:?     Sequence
 | |
| 0:2      move second child to first child (temp 4-component vector of float)
 | |
| 0:?         'input' (temp 4-component vector of float)
 | |
| 0:?         'input' (layout(location=0 ) in 4-component vector of float)
 | |
| 0:2      move second child to first child (temp 4-component vector of float)
 | |
| 0:?         '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
 | |
| 0:2        Function Call: @PixelShaderFunction(vf4; (temp 4-component vector of float)
 | |
| 0:?           'input' (temp 4-component vector of float)
 | |
| 0:?   Linker Objects
 | |
| 0:?     '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
 | |
| 0:?     'input' (layout(location=0 ) in 4-component vector of float)
 | |
| 
 | |
| // Module Version 10000
 | |
| // Generated by (magic number): 80001
 | |
| // Id's are bound by 26
 | |
| 
 | |
|                               Capability Shader
 | |
|                1:             ExtInstImport  "GLSL.std.450"
 | |
|                               MemoryModel Logical GLSL450
 | |
|                               EntryPoint Fragment 4  "PixelShaderFunction" 19 22
 | |
|                               ExecutionMode 4 OriginUpperLeft
 | |
|                               Name 4  "PixelShaderFunction"
 | |
|                               Name 11  "@PixelShaderFunction(vf4;"
 | |
|                               Name 10  "input"
 | |
|                               Name 17  "input"
 | |
|                               Name 19  "input"
 | |
|                               Name 22  "@entryPointOutput"
 | |
|                               Name 23  "param"
 | |
|                               Decorate 19(input) Location 0
 | |
|                               Decorate 22(@entryPointOutput) Location 0
 | |
|                2:             TypeVoid
 | |
|                3:             TypeFunction 2
 | |
|                6:             TypeFloat 32
 | |
|                7:             TypeVector 6(float) 4
 | |
|                8:             TypePointer Function 7(fvec4)
 | |
|                9:             TypeFunction 7(fvec4) 8(ptr)
 | |
|               18:             TypePointer Input 7(fvec4)
 | |
|        19(input):     18(ptr) Variable Input
 | |
|               21:             TypePointer Output 7(fvec4)
 | |
| 22(@entryPointOutput):     21(ptr) Variable Output
 | |
| 4(PixelShaderFunction):           2 Function None 3
 | |
|                5:             Label
 | |
|        17(input):      8(ptr) Variable Function
 | |
|        23(param):      8(ptr) Variable Function
 | |
|               20:    7(fvec4) Load 19(input)
 | |
|                               Store 17(input) 20
 | |
|               24:    7(fvec4) Load 17(input)
 | |
|                               Store 23(param) 24
 | |
|               25:    7(fvec4) FunctionCall 11(@PixelShaderFunction(vf4;) 23(param)
 | |
|                               Store 22(@entryPointOutput) 25
 | |
|                               Return
 | |
|                               FunctionEnd
 | |
| 11(@PixelShaderFunction(vf4;):    7(fvec4) Function None 9
 | |
|        10(input):      8(ptr) FunctionParameter
 | |
|               12:             Label
 | |
|               13:    7(fvec4) Load 10(input)
 | |
|               14:    7(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 13
 | |
|                               ReturnValue 14
 | |
|                               FunctionEnd
 |