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

Shader version: 450
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      Sequence
0:89        Sequence
0:89          move second child to first child (temp 4-component vector of float)
0:?             'Color' (layout(location=0 ) out 4-component vector of float)
0:89            Color: direct index for structure (temp 4-component vector of float)
0:89              'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:89              Constant:
0:89                0 (const int)
0:89          move second child to first child (temp float)
0:?             'Depth' (out float FragDepth)
0:89            Depth: direct index for structure (temp float)
0:89              'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:89              Constant:
0:89                1 (const int)
0:89        Branch: Return
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:?     'Color' (layout(location=0 ) out 4-component vector of float)
0:?     'Depth' (out float FragDepth)


Linked fragment stage:


Shader version: 450
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      Sequence
0:89        Sequence
0:89          move second child to first child (temp 4-component vector of float)
0:?             'Color' (layout(location=0 ) out 4-component vector of float)
0:89            Color: direct index for structure (temp 4-component vector of float)
0:89              'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:89              Constant:
0:89                0 (const int)
0:89          move second child to first child (temp float)
0:?             'Depth' (out float FragDepth)
0:89            Depth: direct index for structure (temp float)
0:89              'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:89              Constant:
0:89                1 (const int)
0:89        Branch: Return
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:?     'Color' (layout(location=0 ) out 4-component vector of float)
0:?     'Depth' (out float FragDepth)

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

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