hlsl.float4.frag
WARNING: 0:5: 'register' : ignoring shader_profile 
WARNING: 0:6: 'register' : ignoring shader_profile 

Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:1  Sequence
0:1    move second child to first child (temp 4-component vector of float)
0:1      'AmbientColor' (global 4-component vector of float)
0:?       Constant:
0:?         1.000000
0:?         0.500000
0:?         0.000000
0:?         1.000000
0:9  Function Definition: ShaderFunction(vf4; (global 4-component vector of float)
0:9    Function Parameters: 
0:9      'input' (in 4-component vector of float)
0:?     Sequence
0:10      Branch: Return with expression
0:10        component-wise multiply (temp 4-component vector of float)
0:10          'input' (in 4-component vector of float)
0:10          'AmbientColor' (global 4-component vector of float)
0:?   Linker Objects
0:?     'AmbientColor' (global 4-component vector of float)
0:?     'ff1' (global bool Face)
0:?     'ff2' (layout(offset=4 ) global 4-component vector of float)
0:?     'ff3' (layout(binding=0 offset=4 ) global 4-component vector of float)
0:?     'ff4' (layout(binding=1 offset=4 ) global 4-component vector of float)


Linked fragment stage:


Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:1  Sequence
0:1    move second child to first child (temp 4-component vector of float)
0:1      'AmbientColor' (global 4-component vector of float)
0:?       Constant:
0:?         1.000000
0:?         0.500000
0:?         0.000000
0:?         1.000000
0:9  Function Definition: ShaderFunction(vf4; (global 4-component vector of float)
0:9    Function Parameters: 
0:9      'input' (in 4-component vector of float)
0:?     Sequence
0:10      Branch: Return with expression
0:10        component-wise multiply (temp 4-component vector of float)
0:10          'input' (in 4-component vector of float)
0:10          'AmbientColor' (global 4-component vector of float)
0:?   Linker Objects
0:?     'AmbientColor' (global 4-component vector of float)
0:?     'ff1' (global bool Face)
0:?     'ff2' (layout(offset=4 ) global 4-component vector of float)
0:?     'ff3' (layout(binding=0 offset=4 ) global 4-component vector of float)
0:?     'ff4' (layout(binding=1 offset=4 ) global 4-component vector of float)

// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 30

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "PixelShaderFunction"
                              ExecutionMode 4 OriginUpperLeft
                              Name 4  "PixelShaderFunction"
                              Name 11  "ShaderFunction(vf4;"
                              Name 10  "input"
                              Name 14  "AmbientColor"
                              Name 26  "ff1"
                              Name 27  "ff2"
                              Name 28  "ff3"
                              Name 29  "ff4"
                              Decorate 26(ff1) BuiltIn FrontFacing
                              Decorate 27(ff2) Offset 4
                              Decorate 28(ff3) Offset 4
                              Decorate 28(ff3) Binding 0
                              Decorate 29(ff4) Offset 4
                              Decorate 29(ff4) Binding 1
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypePointer Function 7(fvec4)
               9:             TypeFunction 7(fvec4) 8(ptr)
              13:             TypePointer Private 7(fvec4)
14(AmbientColor):     13(ptr) Variable Private
              15:    6(float) Constant 1065353216
              16:    6(float) Constant 1056964608
              17:    6(float) Constant 0
              18:    7(fvec4) ConstantComposite 15 16 17 15
              24:             TypeBool
              25:             TypePointer Private 24(bool)
         26(ff1):     25(ptr) Variable Private
         27(ff2):     13(ptr) Variable Private
         28(ff3):     13(ptr) Variable Private
         29(ff4):     13(ptr) Variable Private
4(PixelShaderFunction):           2 Function None 3
               5:             Label
                              Store 14(AmbientColor) 18
                              FunctionEnd
11(ShaderFunction(vf4;):    7(fvec4) Function None 9
       10(input):      8(ptr) FunctionParameter
              12:             Label
              19:    7(fvec4) Load 10(input)
              20:    7(fvec4) Load 14(AmbientColor)
              21:    7(fvec4) FMul 19 20
                              ReturnValue 21
                              FunctionEnd
