hlsl.flattenOpaqueInitMix.vert
// Module Version 10000
// Generated by (magic number): 80007
// Id's are bound by 97

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Vertex 4  "main" 57
                              Source HLSL 500
                              Name 4  "main"
                              Name 44  "g_tInputTexture_sampler"
                              Name 47  "g_tInputTexture"
                              Name 57  "@entryPointOutput"
                              Decorate 44(g_tInputTexture_sampler) DescriptorSet 0
                              Decorate 47(g_tInputTexture) DescriptorSet 0
                              Decorate 57(@entryPointOutput) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeSampler
               7:             TypeFloat 32
               8:             TypeImage 7(float) 2D sampled format:Unknown
              11:             TypeVector 7(float) 4
              28:             TypeSampledImage 8
              36:             TypeVector 7(float) 2
              38:    7(float) Constant 0
              43:             TypePointer UniformConstant 6
44(g_tInputTexture_sampler):     43(ptr) Variable UniformConstant
              46:             TypePointer UniformConstant 8
47(g_tInputTexture):     46(ptr) Variable UniformConstant
              49:    7(float) Constant 1056964608
              56:             TypePointer Output 11(fvec4)
57(@entryPointOutput):     56(ptr) Variable Output
              96:   36(fvec2) ConstantComposite 49 49
         4(main):           2 Function None 3
               5:             Label
              63:           6 Load 44(g_tInputTexture_sampler)
              64:           8 Load 47(g_tInputTexture)
              73:          28 SampledImage 64 63
              79:   11(fvec4) ImageSampleExplicitLod 73 96 Lod 38
                              Store 57(@entryPointOutput) 79
                              Return
                              FunctionEnd
