hlsl.sample.basic.dx10.frag
WARNING: 0:4: 'immediate sampler state' : unimplemented 

Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:53  Function Definition: @main( ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:53    Function Parameters: 
0:?     Sequence
0:57      move second child to first child ( temp int)
0:57        CalculateLevelOfDetail: direct index for structure ( temp int)
0:57          'mtest' ( temp structure{ temp int Sample,  temp int CalculateLevelOfDetail,  temp int CalculateLevelOfDetailUnclamped,  temp int Gather,  temp int GetDimensions,  temp int GetSamplePosition,  temp int Load,  temp int SampleBias,  temp int SampleCmp,  temp int SampleCmpLevelZero,  temp int SampleGrad,  temp int SampleLevel})
0:57          Constant:
0:57            1 (const int)
0:57        Constant:
0:57          1 (const int)
0:58      move second child to first child ( temp int)
0:58        CalculateLevelOfDetailUnclamped: direct index for structure ( temp int)
0:58          'mtest' ( temp structure{ temp int Sample,  temp int CalculateLevelOfDetail,  temp int CalculateLevelOfDetailUnclamped,  temp int Gather,  temp int GetDimensions,  temp int GetSamplePosition,  temp int Load,  temp int SampleBias,  temp int SampleCmp,  temp int SampleCmpLevelZero,  temp int SampleGrad,  temp int SampleLevel})
0:58          Constant:
0:58            2 (const int)
0:58        Constant:
0:58          1 (const int)
0:59      move second child to first child ( temp int)
0:59        Gather: direct index for structure ( temp int)
0:59          'mtest' ( temp structure{ temp int Sample,  temp int CalculateLevelOfDetail,  temp int CalculateLevelOfDetailUnclamped,  temp int Gather,  temp int GetDimensions,  temp int GetSamplePosition,  temp int Load,  temp int SampleBias,  temp int SampleCmp,  temp int SampleCmpLevelZero,  temp int SampleGrad,  temp int SampleLevel})
0:59          Constant:
0:59            3 (const int)
0:59        Constant:
0:59          1 (const int)
0:60      move second child to first child ( temp int)
0:60        GetDimensions: direct index for structure ( temp int)
0:60          'mtest' ( temp structure{ temp int Sample,  temp int CalculateLevelOfDetail,  temp int CalculateLevelOfDetailUnclamped,  temp int Gather,  temp int GetDimensions,  temp int GetSamplePosition,  temp int Load,  temp int SampleBias,  temp int SampleCmp,  temp int SampleCmpLevelZero,  temp int SampleGrad,  temp int SampleLevel})
0:60          Constant:
0:60            4 (const int)
0:60        Constant:
0:60          1 (const int)
0:61      move second child to first child ( temp int)
0:61        GetSamplePosition: direct index for structure ( temp int)
0:61          'mtest' ( temp structure{ temp int Sample,  temp int CalculateLevelOfDetail,  temp int CalculateLevelOfDetailUnclamped,  temp int Gather,  temp int GetDimensions,  temp int GetSamplePosition,  temp int Load,  temp int SampleBias,  temp int SampleCmp,  temp int SampleCmpLevelZero,  temp int SampleGrad,  temp int SampleLevel})
0:61          Constant:
0:61            5 (const int)
0:61        Constant:
0:61          1 (const int)
0:62      move second child to first child ( temp int)
0:62        Load: direct index for structure ( temp int)
0:62          'mtest' ( temp structure{ temp int Sample,  temp int CalculateLevelOfDetail,  temp int CalculateLevelOfDetailUnclamped,  temp int Gather,  temp int GetDimensions,  temp int GetSamplePosition,  temp int Load,  temp int SampleBias,  temp int SampleCmp,  temp int SampleCmpLevelZero,  temp int SampleGrad,  temp int SampleLevel})
0:62          Constant:
0:62            6 (const int)
0:62        Constant:
0:62          1 (const int)
0:63      move second child to first child ( temp int)
0:63        Sample: direct index for structure ( temp int)
0:63          'mtest' ( temp structure{ temp int Sample,  temp int CalculateLevelOfDetail,  temp int CalculateLevelOfDetailUnclamped,  temp int Gather,  temp int GetDimensions,  temp int GetSamplePosition,  temp int Load,  temp int SampleBias,  temp int SampleCmp,  temp int SampleCmpLevelZero,  temp int SampleGrad,  temp int SampleLevel})
0:63          Constant:
0:63            0 (const int)
0:63        Constant:
0:63          1 (const int)
0:64      move second child to first child ( temp int)
0:64        SampleBias: direct index for structure ( temp int)
0:64          'mtest' ( temp structure{ temp int Sample,  temp int CalculateLevelOfDetail,  temp int CalculateLevelOfDetailUnclamped,  temp int Gather,  temp int GetDimensions,  temp int GetSamplePosition,  temp int Load,  temp int SampleBias,  temp int SampleCmp,  temp int SampleCmpLevelZero,  temp int SampleGrad,  temp int SampleLevel})
0:64          Constant:
0:64            7 (const int)
0:64        Constant:
0:64          1 (const int)
0:65      move second child to first child ( temp int)
0:65        SampleCmp: direct index for structure ( temp int)
0:65          'mtest' ( temp structure{ temp int Sample,  temp int CalculateLevelOfDetail,  temp int CalculateLevelOfDetailUnclamped,  temp int Gather,  temp int GetDimensions,  temp int GetSamplePosition,  temp int Load,  temp int SampleBias,  temp int SampleCmp,  temp int SampleCmpLevelZero,  temp int SampleGrad,  temp int SampleLevel})
0:65          Constant:
0:65            8 (const int)
0:65        Constant:
0:65          1 (const int)
0:66      move second child to first child ( temp int)
0:66        SampleCmpLevelZero: direct index for structure ( temp int)
0:66          'mtest' ( temp structure{ temp int Sample,  temp int CalculateLevelOfDetail,  temp int CalculateLevelOfDetailUnclamped,  temp int Gather,  temp int GetDimensions,  temp int GetSamplePosition,  temp int Load,  temp int SampleBias,  temp int SampleCmp,  temp int SampleCmpLevelZero,  temp int SampleGrad,  temp int SampleLevel})
0:66          Constant:
0:66            9 (const int)
0:66        Constant:
0:66          1 (const int)
0:67      move second child to first child ( temp int)
0:67        SampleGrad: direct index for structure ( temp int)
0:67          'mtest' ( temp structure{ temp int Sample,  temp int CalculateLevelOfDetail,  temp int CalculateLevelOfDetailUnclamped,  temp int Gather,  temp int GetDimensions,  temp int GetSamplePosition,  temp int Load,  temp int SampleBias,  temp int SampleCmp,  temp int SampleCmpLevelZero,  temp int SampleGrad,  temp int SampleLevel})
0:67          Constant:
0:67            10 (const int)
0:67        Constant:
0:67          1 (const int)
0:68      move second child to first child ( temp int)
0:68        SampleLevel: direct index for structure ( temp int)
0:68          'mtest' ( temp structure{ temp int Sample,  temp int CalculateLevelOfDetail,  temp int CalculateLevelOfDetailUnclamped,  temp int Gather,  temp int GetDimensions,  temp int GetSamplePosition,  temp int Load,  temp int SampleBias,  temp int SampleCmp,  temp int SampleCmpLevelZero,  temp int SampleGrad,  temp int SampleLevel})
0:68          Constant:
0:68            11 (const int)
0:68        Constant:
0:68          1 (const int)
0:70      Sequence
0:70        move second child to first child ( temp 4-component vector of float)
0:70          'txval10' ( temp 4-component vector of float)
0:70          texture ( temp 4-component vector of float)
0:70            Construct combined texture-sampler ( temp sampler1D)
0:70              'g_tTex1df4' (layout( binding=0) uniform texture1D)
0:70              'g_sSamp' (layout( binding=0) uniform sampler)
0:70            Constant:
0:70              0.100000
0:71      Sequence
0:71        move second child to first child ( temp 4-component vector of int)
0:71          'txval11' ( temp 4-component vector of int)
0:71          texture ( temp 4-component vector of int)
0:71            Construct combined texture-sampler ( temp isampler1D)
0:71              'g_tTex1di4' ( uniform itexture1D)
0:71              'g_sSamp' (layout( binding=0) uniform sampler)
0:71            Constant:
0:71              0.200000
0:72      Sequence
0:72        move second child to first child ( temp 4-component vector of uint)
0:72          'txval12' ( temp 4-component vector of uint)
0:72          texture ( temp 4-component vector of uint)
0:72            Construct combined texture-sampler ( temp usampler1D)
0:72              'g_tTex1du4' ( uniform utexture1D)
0:72              'g_sSamp' (layout( binding=0) uniform sampler)
0:72            Constant:
0:72              0.300000
0:74      Sequence
0:74        move second child to first child ( temp 4-component vector of float)
0:74          'txval20' ( temp 4-component vector of float)
0:74          texture ( temp 4-component vector of float)
0:74            Construct combined texture-sampler ( temp sampler2D)
0:74              'g_tTex2df4' ( uniform texture2D)
0:74              'g_sSamp' (layout( binding=0) uniform sampler)
0:?             Constant:
0:?               0.100000
0:?               0.200000
0:75      Sequence
0:75        move second child to first child ( temp 4-component vector of int)
0:75          'txval21' ( temp 4-component vector of int)
0:75          texture ( temp 4-component vector of int)
0:75            Construct combined texture-sampler ( temp isampler2D)
0:75              'g_tTex2di4' ( uniform itexture2D)
0:75              'g_sSamp' (layout( binding=0) uniform sampler)
0:?             Constant:
0:?               0.300000
0:?               0.400000
0:76      Sequence
0:76        move second child to first child ( temp 4-component vector of uint)
0:76          'txval22' ( temp 4-component vector of uint)
0:76          texture ( temp 4-component vector of uint)
0:76            Construct combined texture-sampler ( temp usampler2D)
0:76              'g_tTex2du4' ( uniform utexture2D)
0:76              'g_sSamp' (layout( binding=0) uniform sampler)
0:?             Constant:
0:?               0.500000
0:?               0.600000
0:78      Sequence
0:78        move second child to first child ( temp 4-component vector of float)
0:78          'txval30' ( temp 4-component vector of float)
0:78          texture ( temp 4-component vector of float)
0:78            Construct combined texture-sampler ( temp sampler3D)
0:78              'g_tTex3df4' ( uniform texture3D)
0:78              'g_sSamp' (layout( binding=0) uniform sampler)
0:?             Constant:
0:?               0.100000
0:?               0.200000
0:?               0.300000
0:79      Sequence
0:79        move second child to first child ( temp 4-component vector of int)
0:79          'txval31' ( temp 4-component vector of int)
0:79          texture ( temp 4-component vector of int)
0:79            Construct combined texture-sampler ( temp isampler3D)
0:79              'g_tTex3di4' ( uniform itexture3D)
0:79              'g_sSamp' (layout( binding=0) uniform sampler)
0:?             Constant:
0:?               0.400000
0:?               0.500000
0:?               0.600000
0:80      Sequence
0:80        move second child to first child ( temp 4-component vector of uint)
0:80          'txval32' ( temp 4-component vector of uint)
0:80          texture ( temp 4-component vector of uint)
0:80            Construct combined texture-sampler ( temp usampler3D)
0:80              'g_tTex3du4' ( uniform utexture3D)
0:80              'g_sSamp' (layout( binding=0) uniform sampler)
0:?             Constant:
0:?               0.700000
0:?               0.800000
0:?               0.900000
0:82      Sequence
0:82        move second child to first child ( temp 4-component vector of float)
0:82          'txval40' ( temp 4-component vector of float)
0:82          texture ( temp 4-component vector of float)
0:82            Construct combined texture-sampler ( temp samplerCube)
0:82              'g_tTexcdf4' ( uniform textureCube)
0:82              'g_sSamp' (layout( binding=0) uniform sampler)
0:?             Constant:
0:?               0.100000
0:?               0.200000
0:?               0.300000
0:83      Sequence
0:83        move second child to first child ( temp 4-component vector of int)
0:83          'txval41' ( temp 4-component vector of int)
0:83          texture ( temp 4-component vector of int)
0:83            Construct combined texture-sampler ( temp isamplerCube)
0:83              'g_tTexcdi4' ( uniform itextureCube)
0:83              'g_sSamp' (layout( binding=0) uniform sampler)
0:?             Constant:
0:?               0.400000
0:?               0.500000
0:?               0.600000
0:84      Sequence
0:84        move second child to first child ( temp 4-component vector of uint)
0:84          'txval42' ( temp 4-component vector of uint)
0:84          texture ( temp 4-component vector of uint)
0:84            Construct combined texture-sampler ( temp usamplerCube)
0:84              'g_tTexcdu4' ( uniform utextureCube)
0:84              'g_sSamp' (layout( binding=0) uniform sampler)
0:?             Constant:
0:?               0.700000
0:?               0.800000
0:?               0.900000
0:86      move second child to first child ( temp 4-component vector of float)
0:86        Color: direct index for structure ( temp 4-component vector of float)
0:86          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:86          Constant:
0:86            0 (const int)
0:86        Constant:
0:86          1.000000
0:86          1.000000
0:86          1.000000
0:86          1.000000
0:87      move second child to first child ( temp float)
0:87        Depth: direct index for structure ( temp float)
0:87          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:87          Constant:
0:87            1 (const int)
0:87        Constant:
0:87          1.000000
0:89      Branch: Return with expression
0:89        'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:53  Function Definition: main( ( temp void)
0:53    Function Parameters: 
0:?     Sequence
0:53      Sequence
0:53        move second child to first child ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:53          'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:53          Function Call: @main( ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:53        move second child to first child ( temp 4-component vector of float)
0:?           '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
0:53          Color: direct index for structure ( temp 4-component vector of float)
0:53            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:53            Constant:
0:53              0 (const int)
0:53        move second child to first child ( temp float)
0:?           '@entryPointOutput.Depth' ( out float FragDepth)
0:53          Depth: direct index for structure ( temp float)
0:53            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:53            Constant:
0:53              1 (const int)
0:?   Linker Objects
0:?     'g_sSamp' (layout( binding=0) uniform sampler)
0:?     'g_sSamp2d' ( uniform sampler)
0:?     'g_sSamp2D_b' ( uniform sampler)
0:?     'g_tTex1df4a' (layout( binding=1) uniform texture1D)
0:?     'g_tTex1df4' (layout( binding=0) uniform texture1D)
0:?     'g_tTex1di4' ( uniform itexture1D)
0:?     'g_tTex1du4' ( uniform utexture1D)
0:?     'g_tTex2df4' ( uniform texture2D)
0:?     'g_tTex2di4' ( uniform itexture2D)
0:?     'g_tTex2du4' ( uniform utexture2D)
0:?     'g_tTex3df4' ( uniform texture3D)
0:?     'g_tTex3di4' ( uniform itexture3D)
0:?     'g_tTex3du4' ( uniform utexture3D)
0:?     'g_tTexcdf4' ( uniform textureCube)
0:?     'g_tTexcdi4' ( uniform itextureCube)
0:?     'g_tTexcdu4' ( uniform utextureCube)
0:?     '@entryPointOutput.Depth' ( out float FragDepth)
0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)


Linked fragment stage:


Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:53  Function Definition: @main( ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:53    Function Parameters: 
0:?     Sequence
0:57      move second child to first child ( temp int)
0:57        CalculateLevelOfDetail: direct index for structure ( temp int)
0:57          'mtest' ( temp structure{ temp int Sample,  temp int CalculateLevelOfDetail,  temp int CalculateLevelOfDetailUnclamped,  temp int Gather,  temp int GetDimensions,  temp int GetSamplePosition,  temp int Load,  temp int SampleBias,  temp int SampleCmp,  temp int SampleCmpLevelZero,  temp int SampleGrad,  temp int SampleLevel})
0:57          Constant:
0:57            1 (const int)
0:57        Constant:
0:57          1 (const int)
0:58      move second child to first child ( temp int)
0:58        CalculateLevelOfDetailUnclamped: direct index for structure ( temp int)
0:58          'mtest' ( temp structure{ temp int Sample,  temp int CalculateLevelOfDetail,  temp int CalculateLevelOfDetailUnclamped,  temp int Gather,  temp int GetDimensions,  temp int GetSamplePosition,  temp int Load,  temp int SampleBias,  temp int SampleCmp,  temp int SampleCmpLevelZero,  temp int SampleGrad,  temp int SampleLevel})
0:58          Constant:
0:58            2 (const int)
0:58        Constant:
0:58          1 (const int)
0:59      move second child to first child ( temp int)
0:59        Gather: direct index for structure ( temp int)
0:59          'mtest' ( temp structure{ temp int Sample,  temp int CalculateLevelOfDetail,  temp int CalculateLevelOfDetailUnclamped,  temp int Gather,  temp int GetDimensions,  temp int GetSamplePosition,  temp int Load,  temp int SampleBias,  temp int SampleCmp,  temp int SampleCmpLevelZero,  temp int SampleGrad,  temp int SampleLevel})
0:59          Constant:
0:59            3 (const int)
0:59        Constant:
0:59          1 (const int)
0:60      move second child to first child ( temp int)
0:60        GetDimensions: direct index for structure ( temp int)
0:60          'mtest' ( temp structure{ temp int Sample,  temp int CalculateLevelOfDetail,  temp int CalculateLevelOfDetailUnclamped,  temp int Gather,  temp int GetDimensions,  temp int GetSamplePosition,  temp int Load,  temp int SampleBias,  temp int SampleCmp,  temp int SampleCmpLevelZero,  temp int SampleGrad,  temp int SampleLevel})
0:60          Constant:
0:60            4 (const int)
0:60        Constant:
0:60          1 (const int)
0:61      move second child to first child ( temp int)
0:61        GetSamplePosition: direct index for structure ( temp int)
0:61          'mtest' ( temp structure{ temp int Sample,  temp int CalculateLevelOfDetail,  temp int CalculateLevelOfDetailUnclamped,  temp int Gather,  temp int GetDimensions,  temp int GetSamplePosition,  temp int Load,  temp int SampleBias,  temp int SampleCmp,  temp int SampleCmpLevelZero,  temp int SampleGrad,  temp int SampleLevel})
0:61          Constant:
0:61            5 (const int)
0:61        Constant:
0:61          1 (const int)
0:62      move second child to first child ( temp int)
0:62        Load: direct index for structure ( temp int)
0:62          'mtest' ( temp structure{ temp int Sample,  temp int CalculateLevelOfDetail,  temp int CalculateLevelOfDetailUnclamped,  temp int Gather,  temp int GetDimensions,  temp int GetSamplePosition,  temp int Load,  temp int SampleBias,  temp int SampleCmp,  temp int SampleCmpLevelZero,  temp int SampleGrad,  temp int SampleLevel})
0:62          Constant:
0:62            6 (const int)
0:62        Constant:
0:62          1 (const int)
0:63      move second child to first child ( temp int)
0:63        Sample: direct index for structure ( temp int)
0:63          'mtest' ( temp structure{ temp int Sample,  temp int CalculateLevelOfDetail,  temp int CalculateLevelOfDetailUnclamped,  temp int Gather,  temp int GetDimensions,  temp int GetSamplePosition,  temp int Load,  temp int SampleBias,  temp int SampleCmp,  temp int SampleCmpLevelZero,  temp int SampleGrad,  temp int SampleLevel})
0:63          Constant:
0:63            0 (const int)
0:63        Constant:
0:63          1 (const int)
0:64      move second child to first child ( temp int)
0:64        SampleBias: direct index for structure ( temp int)
0:64          'mtest' ( temp structure{ temp int Sample,  temp int CalculateLevelOfDetail,  temp int CalculateLevelOfDetailUnclamped,  temp int Gather,  temp int GetDimensions,  temp int GetSamplePosition,  temp int Load,  temp int SampleBias,  temp int SampleCmp,  temp int SampleCmpLevelZero,  temp int SampleGrad,  temp int SampleLevel})
0:64          Constant:
0:64            7 (const int)
0:64        Constant:
0:64          1 (const int)
0:65      move second child to first child ( temp int)
0:65        SampleCmp: direct index for structure ( temp int)
0:65          'mtest' ( temp structure{ temp int Sample,  temp int CalculateLevelOfDetail,  temp int CalculateLevelOfDetailUnclamped,  temp int Gather,  temp int GetDimensions,  temp int GetSamplePosition,  temp int Load,  temp int SampleBias,  temp int SampleCmp,  temp int SampleCmpLevelZero,  temp int SampleGrad,  temp int SampleLevel})
0:65          Constant:
0:65            8 (const int)
0:65        Constant:
0:65          1 (const int)
0:66      move second child to first child ( temp int)
0:66        SampleCmpLevelZero: direct index for structure ( temp int)
0:66          'mtest' ( temp structure{ temp int Sample,  temp int CalculateLevelOfDetail,  temp int CalculateLevelOfDetailUnclamped,  temp int Gather,  temp int GetDimensions,  temp int GetSamplePosition,  temp int Load,  temp int SampleBias,  temp int SampleCmp,  temp int SampleCmpLevelZero,  temp int SampleGrad,  temp int SampleLevel})
0:66          Constant:
0:66            9 (const int)
0:66        Constant:
0:66          1 (const int)
0:67      move second child to first child ( temp int)
0:67        SampleGrad: direct index for structure ( temp int)
0:67          'mtest' ( temp structure{ temp int Sample,  temp int CalculateLevelOfDetail,  temp int CalculateLevelOfDetailUnclamped,  temp int Gather,  temp int GetDimensions,  temp int GetSamplePosition,  temp int Load,  temp int SampleBias,  temp int SampleCmp,  temp int SampleCmpLevelZero,  temp int SampleGrad,  temp int SampleLevel})
0:67          Constant:
0:67            10 (const int)
0:67        Constant:
0:67          1 (const int)
0:68      move second child to first child ( temp int)
0:68        SampleLevel: direct index for structure ( temp int)
0:68          'mtest' ( temp structure{ temp int Sample,  temp int CalculateLevelOfDetail,  temp int CalculateLevelOfDetailUnclamped,  temp int Gather,  temp int GetDimensions,  temp int GetSamplePosition,  temp int Load,  temp int SampleBias,  temp int SampleCmp,  temp int SampleCmpLevelZero,  temp int SampleGrad,  temp int SampleLevel})
0:68          Constant:
0:68            11 (const int)
0:68        Constant:
0:68          1 (const int)
0:70      Sequence
0:70        move second child to first child ( temp 4-component vector of float)
0:70          'txval10' ( temp 4-component vector of float)
0:70          texture ( temp 4-component vector of float)
0:70            Construct combined texture-sampler ( temp sampler1D)
0:70              'g_tTex1df4' (layout( binding=0) uniform texture1D)
0:70              'g_sSamp' (layout( binding=0) uniform sampler)
0:70            Constant:
0:70              0.100000
0:71      Sequence
0:71        move second child to first child ( temp 4-component vector of int)
0:71          'txval11' ( temp 4-component vector of int)
0:71          texture ( temp 4-component vector of int)
0:71            Construct combined texture-sampler ( temp isampler1D)
0:71              'g_tTex1di4' ( uniform itexture1D)
0:71              'g_sSamp' (layout( binding=0) uniform sampler)
0:71            Constant:
0:71              0.200000
0:72      Sequence
0:72        move second child to first child ( temp 4-component vector of uint)
0:72          'txval12' ( temp 4-component vector of uint)
0:72          texture ( temp 4-component vector of uint)
0:72            Construct combined texture-sampler ( temp usampler1D)
0:72              'g_tTex1du4' ( uniform utexture1D)
0:72              'g_sSamp' (layout( binding=0) uniform sampler)
0:72            Constant:
0:72              0.300000
0:74      Sequence
0:74        move second child to first child ( temp 4-component vector of float)
0:74          'txval20' ( temp 4-component vector of float)
0:74          texture ( temp 4-component vector of float)
0:74            Construct combined texture-sampler ( temp sampler2D)
0:74              'g_tTex2df4' ( uniform texture2D)
0:74              'g_sSamp' (layout( binding=0) uniform sampler)
0:?             Constant:
0:?               0.100000
0:?               0.200000
0:75      Sequence
0:75        move second child to first child ( temp 4-component vector of int)
0:75          'txval21' ( temp 4-component vector of int)
0:75          texture ( temp 4-component vector of int)
0:75            Construct combined texture-sampler ( temp isampler2D)
0:75              'g_tTex2di4' ( uniform itexture2D)
0:75              'g_sSamp' (layout( binding=0) uniform sampler)
0:?             Constant:
0:?               0.300000
0:?               0.400000
0:76      Sequence
0:76        move second child to first child ( temp 4-component vector of uint)
0:76          'txval22' ( temp 4-component vector of uint)
0:76          texture ( temp 4-component vector of uint)
0:76            Construct combined texture-sampler ( temp usampler2D)
0:76              'g_tTex2du4' ( uniform utexture2D)
0:76              'g_sSamp' (layout( binding=0) uniform sampler)
0:?             Constant:
0:?               0.500000
0:?               0.600000
0:78      Sequence
0:78        move second child to first child ( temp 4-component vector of float)
0:78          'txval30' ( temp 4-component vector of float)
0:78          texture ( temp 4-component vector of float)
0:78            Construct combined texture-sampler ( temp sampler3D)
0:78              'g_tTex3df4' ( uniform texture3D)
0:78              'g_sSamp' (layout( binding=0) uniform sampler)
0:?             Constant:
0:?               0.100000
0:?               0.200000
0:?               0.300000
0:79      Sequence
0:79        move second child to first child ( temp 4-component vector of int)
0:79          'txval31' ( temp 4-component vector of int)
0:79          texture ( temp 4-component vector of int)
0:79            Construct combined texture-sampler ( temp isampler3D)
0:79              'g_tTex3di4' ( uniform itexture3D)
0:79              'g_sSamp' (layout( binding=0) uniform sampler)
0:?             Constant:
0:?               0.400000
0:?               0.500000
0:?               0.600000
0:80      Sequence
0:80        move second child to first child ( temp 4-component vector of uint)
0:80          'txval32' ( temp 4-component vector of uint)
0:80          texture ( temp 4-component vector of uint)
0:80            Construct combined texture-sampler ( temp usampler3D)
0:80              'g_tTex3du4' ( uniform utexture3D)
0:80              'g_sSamp' (layout( binding=0) uniform sampler)
0:?             Constant:
0:?               0.700000
0:?               0.800000
0:?               0.900000
0:82      Sequence
0:82        move second child to first child ( temp 4-component vector of float)
0:82          'txval40' ( temp 4-component vector of float)
0:82          texture ( temp 4-component vector of float)
0:82            Construct combined texture-sampler ( temp samplerCube)
0:82              'g_tTexcdf4' ( uniform textureCube)
0:82              'g_sSamp' (layout( binding=0) uniform sampler)
0:?             Constant:
0:?               0.100000
0:?               0.200000
0:?               0.300000
0:83      Sequence
0:83        move second child to first child ( temp 4-component vector of int)
0:83          'txval41' ( temp 4-component vector of int)
0:83          texture ( temp 4-component vector of int)
0:83            Construct combined texture-sampler ( temp isamplerCube)
0:83              'g_tTexcdi4' ( uniform itextureCube)
0:83              'g_sSamp' (layout( binding=0) uniform sampler)
0:?             Constant:
0:?               0.400000
0:?               0.500000
0:?               0.600000
0:84      Sequence
0:84        move second child to first child ( temp 4-component vector of uint)
0:84          'txval42' ( temp 4-component vector of uint)
0:84          texture ( temp 4-component vector of uint)
0:84            Construct combined texture-sampler ( temp usamplerCube)
0:84              'g_tTexcdu4' ( uniform utextureCube)
0:84              'g_sSamp' (layout( binding=0) uniform sampler)
0:?             Constant:
0:?               0.700000
0:?               0.800000
0:?               0.900000
0:86      move second child to first child ( temp 4-component vector of float)
0:86        Color: direct index for structure ( temp 4-component vector of float)
0:86          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:86          Constant:
0:86            0 (const int)
0:86        Constant:
0:86          1.000000
0:86          1.000000
0:86          1.000000
0:86          1.000000
0:87      move second child to first child ( temp float)
0:87        Depth: direct index for structure ( temp float)
0:87          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:87          Constant:
0:87            1 (const int)
0:87        Constant:
0:87          1.000000
0:89      Branch: Return with expression
0:89        'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:53  Function Definition: main( ( temp void)
0:53    Function Parameters: 
0:?     Sequence
0:53      Sequence
0:53        move second child to first child ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:53          'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:53          Function Call: @main( ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:53        move second child to first child ( temp 4-component vector of float)
0:?           '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
0:53          Color: direct index for structure ( temp 4-component vector of float)
0:53            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:53            Constant:
0:53              0 (const int)
0:53        move second child to first child ( temp float)
0:?           '@entryPointOutput.Depth' ( out float FragDepth)
0:53          Depth: direct index for structure ( temp float)
0:53            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:53            Constant:
0:53              1 (const int)
0:?   Linker Objects
0:?     'g_sSamp' (layout( binding=0) uniform sampler)
0:?     'g_sSamp2d' ( uniform sampler)
0:?     'g_sSamp2D_b' ( uniform sampler)
0:?     'g_tTex1df4a' (layout( binding=1) uniform texture1D)
0:?     'g_tTex1df4' (layout( binding=0) uniform texture1D)
0:?     'g_tTex1di4' ( uniform itexture1D)
0:?     'g_tTex1du4' ( uniform utexture1D)
0:?     'g_tTex2df4' ( uniform texture2D)
0:?     'g_tTex2di4' ( uniform itexture2D)
0:?     'g_tTex2du4' ( uniform utexture2D)
0:?     'g_tTex3df4' ( uniform texture3D)
0:?     'g_tTex3di4' ( uniform itexture3D)
0:?     'g_tTex3du4' ( uniform utexture3D)
0:?     'g_tTexcdf4' ( uniform textureCube)
0:?     'g_tTexcdi4' ( uniform itextureCube)
0:?     'g_tTexcdu4' ( uniform utextureCube)
0:?     '@entryPointOutput.Depth' ( out float FragDepth)
0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)

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

                              Capability Shader
                              Capability Sampled1D
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 188 192
                              ExecutionMode 4 OriginUpperLeft
                              Source HLSL 500
                              Name 4  "main"
                              Name 8  "PS_OUTPUT"
                              MemberName 8(PS_OUTPUT) 0  "Color"
                              MemberName 8(PS_OUTPUT) 1  "Depth"
                              Name 10  "@main("
                              Name 13  "MemberTest"
                              MemberName 13(MemberTest) 0  "Sample"
                              MemberName 13(MemberTest) 1  "CalculateLevelOfDetail"
                              MemberName 13(MemberTest) 2  "CalculateLevelOfDetailUnclamped"
                              MemberName 13(MemberTest) 3  "Gather"
                              MemberName 13(MemberTest) 4  "GetDimensions"
                              MemberName 13(MemberTest) 5  "GetSamplePosition"
                              MemberName 13(MemberTest) 6  "Load"
                              MemberName 13(MemberTest) 7  "SampleBias"
                              MemberName 13(MemberTest) 8  "SampleCmp"
                              MemberName 13(MemberTest) 9  "SampleCmpLevelZero"
                              MemberName 13(MemberTest) 10  "SampleGrad"
                              MemberName 13(MemberTest) 11  "SampleLevel"
                              Name 15  "mtest"
                              Name 42  "txval10"
                              Name 45  "g_tTex1df4"
                              Name 49  "g_sSamp"
                              Name 57  "txval11"
                              Name 60  "g_tTex1di4"
                              Name 70  "txval12"
                              Name 73  "g_tTex1du4"
                              Name 80  "txval20"
                              Name 83  "g_tTex2df4"
                              Name 91  "txval21"
                              Name 94  "g_tTex2di4"
                              Name 102  "txval22"
                              Name 105  "g_tTex2du4"
                              Name 114  "txval30"
                              Name 117  "g_tTex3df4"
                              Name 125  "txval31"
                              Name 128  "g_tTex3di4"
                              Name 135  "txval32"
                              Name 138  "g_tTex3du4"
                              Name 148  "txval40"
                              Name 151  "g_tTexcdf4"
                              Name 157  "txval41"
                              Name 160  "g_tTexcdi4"
                              Name 166  "txval42"
                              Name 169  "g_tTexcdu4"
                              Name 176  "psout"
                              Name 185  "flattenTemp"
                              Name 188  "@entryPointOutput.Color"
                              Name 192  "@entryPointOutput.Depth"
                              Name 195  "g_sSamp2d"
                              Name 196  "g_sSamp2D_b"
                              Name 197  "g_tTex1df4a"
                              Decorate 45(g_tTex1df4) DescriptorSet 0
                              Decorate 45(g_tTex1df4) Binding 0
                              Decorate 49(g_sSamp) DescriptorSet 0
                              Decorate 49(g_sSamp) Binding 0
                              Decorate 60(g_tTex1di4) DescriptorSet 0
                              Decorate 73(g_tTex1du4) DescriptorSet 0
                              Decorate 83(g_tTex2df4) DescriptorSet 0
                              Decorate 94(g_tTex2di4) DescriptorSet 0
                              Decorate 105(g_tTex2du4) DescriptorSet 0
                              Decorate 117(g_tTex3df4) DescriptorSet 0
                              Decorate 128(g_tTex3di4) DescriptorSet 0
                              Decorate 138(g_tTex3du4) DescriptorSet 0
                              Decorate 151(g_tTexcdf4) DescriptorSet 0
                              Decorate 160(g_tTexcdi4) DescriptorSet 0
                              Decorate 169(g_tTexcdu4) DescriptorSet 0
                              Decorate 188(@entryPointOutput.Color) Location 0
                              Decorate 192(@entryPointOutput.Depth) BuiltIn FragDepth
                              Decorate 195(g_sSamp2d) DescriptorSet 0
                              Decorate 196(g_sSamp2D_b) DescriptorSet 0
                              Decorate 197(g_tTex1df4a) DescriptorSet 0
                              Decorate 197(g_tTex1df4a) Binding 1
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
    8(PS_OUTPUT):             TypeStruct 7(fvec4) 6(float)
               9:             TypeFunction 8(PS_OUTPUT)
              12:             TypeInt 32 1
  13(MemberTest):             TypeStruct 12(int) 12(int) 12(int) 12(int) 12(int) 12(int) 12(int) 12(int) 12(int) 12(int) 12(int) 12(int)
              14:             TypePointer Function 13(MemberTest)
              16:     12(int) Constant 1
              17:             TypePointer Function 12(int)
              19:     12(int) Constant 2
              21:     12(int) Constant 3
              23:     12(int) Constant 4
              25:     12(int) Constant 5
              27:     12(int) Constant 6
              29:     12(int) Constant 0
              31:     12(int) Constant 7
              33:     12(int) Constant 8
              35:     12(int) Constant 9
              37:     12(int) Constant 10
              39:     12(int) Constant 11
              41:             TypePointer Function 7(fvec4)
              43:             TypeImage 6(float) 1D sampled format:Unknown
              44:             TypePointer UniformConstant 43
  45(g_tTex1df4):     44(ptr) Variable UniformConstant
              47:             TypeSampler
              48:             TypePointer UniformConstant 47
     49(g_sSamp):     48(ptr) Variable UniformConstant
              51:             TypeSampledImage 43
              53:    6(float) Constant 1036831949
              55:             TypeVector 12(int) 4
              56:             TypePointer Function 55(ivec4)
              58:             TypeImage 12(int) 1D sampled format:Unknown
              59:             TypePointer UniformConstant 58
  60(g_tTex1di4):     59(ptr) Variable UniformConstant
              63:             TypeSampledImage 58
              65:    6(float) Constant 1045220557
              67:             TypeInt 32 0
              68:             TypeVector 67(int) 4
              69:             TypePointer Function 68(ivec4)
              71:             TypeImage 67(int) 1D sampled format:Unknown
              72:             TypePointer UniformConstant 71
  73(g_tTex1du4):     72(ptr) Variable UniformConstant
              76:             TypeSampledImage 71
              78:    6(float) Constant 1050253722
              81:             TypeImage 6(float) 2D sampled format:Unknown
              82:             TypePointer UniformConstant 81
  83(g_tTex2df4):     82(ptr) Variable UniformConstant
              86:             TypeSampledImage 81
              88:             TypeVector 6(float) 2
              89:   88(fvec2) ConstantComposite 53 65
              92:             TypeImage 12(int) 2D sampled format:Unknown
              93:             TypePointer UniformConstant 92
  94(g_tTex2di4):     93(ptr) Variable UniformConstant
              97:             TypeSampledImage 92
              99:    6(float) Constant 1053609165
             100:   88(fvec2) ConstantComposite 78 99
             103:             TypeImage 67(int) 2D sampled format:Unknown
             104:             TypePointer UniformConstant 103
 105(g_tTex2du4):    104(ptr) Variable UniformConstant
             108:             TypeSampledImage 103
             110:    6(float) Constant 1056964608
             111:    6(float) Constant 1058642330
             112:   88(fvec2) ConstantComposite 110 111
             115:             TypeImage 6(float) 3D sampled format:Unknown
             116:             TypePointer UniformConstant 115
 117(g_tTex3df4):    116(ptr) Variable UniformConstant
             120:             TypeSampledImage 115
             122:             TypeVector 6(float) 3
             123:  122(fvec3) ConstantComposite 53 65 78
             126:             TypeImage 12(int) 3D sampled format:Unknown
             127:             TypePointer UniformConstant 126
 128(g_tTex3di4):    127(ptr) Variable UniformConstant
             131:             TypeSampledImage 126
             133:  122(fvec3) ConstantComposite 99 110 111
             136:             TypeImage 67(int) 3D sampled format:Unknown
             137:             TypePointer UniformConstant 136
 138(g_tTex3du4):    137(ptr) Variable UniformConstant
             141:             TypeSampledImage 136
             143:    6(float) Constant 1060320051
             144:    6(float) Constant 1061997773
             145:    6(float) Constant 1063675494
             146:  122(fvec3) ConstantComposite 143 144 145
             149:             TypeImage 6(float) Cube sampled format:Unknown
             150:             TypePointer UniformConstant 149
 151(g_tTexcdf4):    150(ptr) Variable UniformConstant
             154:             TypeSampledImage 149
             158:             TypeImage 12(int) Cube sampled format:Unknown
             159:             TypePointer UniformConstant 158
 160(g_tTexcdi4):    159(ptr) Variable UniformConstant
             163:             TypeSampledImage 158
             167:             TypeImage 67(int) Cube sampled format:Unknown
             168:             TypePointer UniformConstant 167
 169(g_tTexcdu4):    168(ptr) Variable UniformConstant
             172:             TypeSampledImage 167
             175:             TypePointer Function 8(PS_OUTPUT)
             177:    6(float) Constant 1065353216
             178:    7(fvec4) ConstantComposite 177 177 177 177
             180:             TypePointer Function 6(float)
             187:             TypePointer Output 7(fvec4)
188(@entryPointOutput.Color):    187(ptr) Variable Output
             191:             TypePointer Output 6(float)
192(@entryPointOutput.Depth):    191(ptr) Variable Output
  195(g_sSamp2d):     48(ptr) Variable UniformConstant
196(g_sSamp2D_b):     48(ptr) Variable UniformConstant
197(g_tTex1df4a):     44(ptr) Variable UniformConstant
         4(main):           2 Function None 3
               5:             Label
185(flattenTemp):    175(ptr) Variable Function
             186:8(PS_OUTPUT) FunctionCall 10(@main()
                              Store 185(flattenTemp) 186
             189:     41(ptr) AccessChain 185(flattenTemp) 29
             190:    7(fvec4) Load 189
                              Store 188(@entryPointOutput.Color) 190
             193:    180(ptr) AccessChain 185(flattenTemp) 16
             194:    6(float) Load 193
                              Store 192(@entryPointOutput.Depth) 194
                              Return
                              FunctionEnd
      10(@main():8(PS_OUTPUT) Function None 9
              11:             Label
       15(mtest):     14(ptr) Variable Function
     42(txval10):     41(ptr) Variable Function
     57(txval11):     56(ptr) Variable Function
     70(txval12):     69(ptr) Variable Function
     80(txval20):     41(ptr) Variable Function
     91(txval21):     56(ptr) Variable Function
    102(txval22):     69(ptr) Variable Function
    114(txval30):     41(ptr) Variable Function
    125(txval31):     56(ptr) Variable Function
    135(txval32):     69(ptr) Variable Function
    148(txval40):     41(ptr) Variable Function
    157(txval41):     56(ptr) Variable Function
    166(txval42):     69(ptr) Variable Function
      176(psout):    175(ptr) Variable Function
              18:     17(ptr) AccessChain 15(mtest) 16
                              Store 18 16
              20:     17(ptr) AccessChain 15(mtest) 19
                              Store 20 16
              22:     17(ptr) AccessChain 15(mtest) 21
                              Store 22 16
              24:     17(ptr) AccessChain 15(mtest) 23
                              Store 24 16
              26:     17(ptr) AccessChain 15(mtest) 25
                              Store 26 16
              28:     17(ptr) AccessChain 15(mtest) 27
                              Store 28 16
              30:     17(ptr) AccessChain 15(mtest) 29
                              Store 30 16
              32:     17(ptr) AccessChain 15(mtest) 31
                              Store 32 16
              34:     17(ptr) AccessChain 15(mtest) 33
                              Store 34 16
              36:     17(ptr) AccessChain 15(mtest) 35
                              Store 36 16
              38:     17(ptr) AccessChain 15(mtest) 37
                              Store 38 16
              40:     17(ptr) AccessChain 15(mtest) 39
                              Store 40 16
              46:          43 Load 45(g_tTex1df4)
              50:          47 Load 49(g_sSamp)
              52:          51 SampledImage 46 50
              54:    7(fvec4) ImageSampleImplicitLod 52 53
                              Store 42(txval10) 54
              61:          58 Load 60(g_tTex1di4)
              62:          47 Load 49(g_sSamp)
              64:          63 SampledImage 61 62
              66:   55(ivec4) ImageSampleImplicitLod 64 65
                              Store 57(txval11) 66
              74:          71 Load 73(g_tTex1du4)
              75:          47 Load 49(g_sSamp)
              77:          76 SampledImage 74 75
              79:   68(ivec4) ImageSampleImplicitLod 77 78
                              Store 70(txval12) 79
              84:          81 Load 83(g_tTex2df4)
              85:          47 Load 49(g_sSamp)
              87:          86 SampledImage 84 85
              90:    7(fvec4) ImageSampleImplicitLod 87 89
                              Store 80(txval20) 90
              95:          92 Load 94(g_tTex2di4)
              96:          47 Load 49(g_sSamp)
              98:          97 SampledImage 95 96
             101:   55(ivec4) ImageSampleImplicitLod 98 100
                              Store 91(txval21) 101
             106:         103 Load 105(g_tTex2du4)
             107:          47 Load 49(g_sSamp)
             109:         108 SampledImage 106 107
             113:   68(ivec4) ImageSampleImplicitLod 109 112
                              Store 102(txval22) 113
             118:         115 Load 117(g_tTex3df4)
             119:          47 Load 49(g_sSamp)
             121:         120 SampledImage 118 119
             124:    7(fvec4) ImageSampleImplicitLod 121 123
                              Store 114(txval30) 124
             129:         126 Load 128(g_tTex3di4)
             130:          47 Load 49(g_sSamp)
             132:         131 SampledImage 129 130
             134:   55(ivec4) ImageSampleImplicitLod 132 133
                              Store 125(txval31) 134
             139:         136 Load 138(g_tTex3du4)
             140:          47 Load 49(g_sSamp)
             142:         141 SampledImage 139 140
             147:   68(ivec4) ImageSampleImplicitLod 142 146
                              Store 135(txval32) 147
             152:         149 Load 151(g_tTexcdf4)
             153:          47 Load 49(g_sSamp)
             155:         154 SampledImage 152 153
             156:    7(fvec4) ImageSampleImplicitLod 155 123
                              Store 148(txval40) 156
             161:         158 Load 160(g_tTexcdi4)
             162:          47 Load 49(g_sSamp)
             164:         163 SampledImage 161 162
             165:   55(ivec4) ImageSampleImplicitLod 164 133
                              Store 157(txval41) 165
             170:         167 Load 169(g_tTexcdu4)
             171:          47 Load 49(g_sSamp)
             173:         172 SampledImage 170 171
             174:   68(ivec4) ImageSampleImplicitLod 173 146
                              Store 166(txval42) 174
             179:     41(ptr) AccessChain 176(psout) 29
                              Store 179 178
             181:    180(ptr) AccessChain 176(psout) 16
                              Store 181 177
             182:8(PS_OUTPUT) Load 176(psout)
                              ReturnValue 182
                              FunctionEnd
