hlsl.aliasOpaque.frag
WARNING: AST will form illegal SPIR-V; need to transform to legalize
// Module Version 10000
// Generated by (magic number): 80002
// Id's are bound by 81

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 57
                              ExecutionMode 4 OriginUpperLeft
                              Source HLSL 500
                              Name 4  "main"
                              Name 37  "gss2"
                              Name 39  "gss"
                              Name 43  "gtex"
                              Name 57  "@entryPointOutput"
                              Decorate 37(gss2) DescriptorSet 0
                              Decorate 39(gss) DescriptorSet 0
                              Decorate 43(gtex) DescriptorSet 0
                              Decorate 57(@entryPointOutput) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeSampler
               8:             TypeFloat 32
              10:             TypeImage 8(float) 2D sampled format:Unknown
              12:             TypeVector 8(float) 4
              25:             TypeSampledImage 10
              27:             TypeVector 8(float) 2
              28:    8(float) Constant 1045220557
              29:    8(float) Constant 1050253722
              30:   27(fvec2) ConstantComposite 28 29
              36:             TypePointer UniformConstant 6
        37(gss2):     36(ptr) Variable UniformConstant
         39(gss):     36(ptr) Variable UniformConstant
              42:             TypePointer UniformConstant 10
        43(gtex):     42(ptr) Variable UniformConstant
              46:    8(float) Constant 1077936128
              56:             TypePointer Output 12(fvec4)
57(@entryPointOutput):     56(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
              68:           6 Load 39(gss)
              69:          10 Load 43(gtex)
              78:          25 SampledImage 69 68
              79:   12(fvec4) ImageSampleImplicitLod 78 30
              80:   12(fvec4) VectorTimesScalar 79 46
                              Store 57(@entryPointOutput) 80
                              Return
                              FunctionEnd
