From 02467d8d94c58d3cf03166c5fd6e92f7ec9cab22 Mon Sep 17 00:00:00 2001 From: John Kessenich Date: Thu, 19 Jan 2017 15:41:47 -0700 Subject: [PATCH] HLSL: Wrap the entry-point; need to write 'in' args, and support 'inout' args. This needs some render testing, but is destined to be part of master. This also leads to a variety of other simplifications. - IO are global symbols, so only need one list of linkage nodes (deferred) - no longer need parse-context-wide 'inEntryPoint' state, entry-point is localized - several parts of splitting/flattening are now localized --- Test/baseResults/hlsl.amend.frag.out | 130 +- Test/baseResults/hlsl.array.flatten.frag.out | 410 +- Test/baseResults/hlsl.array.frag.out | 380 +- Test/baseResults/hlsl.array.multidim.frag.out | 183 +- Test/baseResults/hlsl.assoc.frag.out | 262 +- .../hlsl.attribute.expression.comp.out | 147 +- Test/baseResults/hlsl.attribute.frag.out | 72 +- Test/baseResults/hlsl.basic.comp.out | 98 +- Test/baseResults/hlsl.basic.geom.out | 214 +- Test/baseResults/hlsl.buffer.frag.out | 308 +- .../hlsl.calculatelod.dx10.frag.out | 475 +- .../hlsl.calculatelodunclamped.dx10.frag.out | 84 +- Test/baseResults/hlsl.cast.frag.out | 152 +- Test/baseResults/hlsl.comparison.vec.frag.out | 287 +- Test/baseResults/hlsl.conditional.frag.out | 360 +- Test/baseResults/hlsl.constructexpr.frag.out | 127 +- .../hlsl.deadFunctionMissingBody.vert.out | 25 +- Test/baseResults/hlsl.depthGreater.frag.out | 62 +- Test/baseResults/hlsl.depthLess.frag.out | 60 +- Test/baseResults/hlsl.discard.frag.out | 129 +- Test/baseResults/hlsl.doLoop.frag.out | 153 +- Test/baseResults/hlsl.entry-in.frag.out | 426 +- Test/baseResults/hlsl.entry-out.frag.out | 370 +- Test/baseResults/hlsl.entry.rename.frag.out | 109 +- Test/baseResults/hlsl.flatten.return.frag.out | 230 +- Test/baseResults/hlsl.forLoop.frag.out | 467 +- .../hlsl.gather.array.dx10.frag.out | 409 +- .../hlsl.gather.basic.dx10.frag.out | 447 +- .../hlsl.gather.basic.dx10.vert.out | 413 +- .../hlsl.gather.offset.dx10.frag.out | 389 +- .../hlsl.gather.offsetarray.dx10.frag.out | 331 +- .../hlsl.gatherRGBA.array.dx10.frag.out | 767 +-- .../hlsl.gatherRGBA.basic.dx10.frag.out | 803 +-- .../hlsl.gatherRGBA.offset.dx10.frag.out | 1087 ++-- .../hlsl.gatherRGBA.offsetarray.dx10.frag.out | 1051 ++-- .../hlsl.getdimensions.dx10.frag.out | 1795 +++--- .../hlsl.getdimensions.dx10.vert.out | 203 +- .../hlsl.getdimensions.rw.dx10.frag.out | 831 +-- .../hlsl.getsampleposition.dx10.frag.out | 84 +- .../hlsl.identifier.sample.frag.out | 119 +- Test/baseResults/hlsl.if.frag.out | 375 +- Test/baseResults/hlsl.init.frag.out | 403 +- Test/baseResults/hlsl.init2.frag.out | 341 +- Test/baseResults/hlsl.inoutquals.frag.out | 287 +- .../hlsl.intrinsics.barriers.comp.out | 83 +- Test/baseResults/hlsl.intrinsics.comp.out | 660 ++- .../hlsl.intrinsics.d3dcolortoubyte4.frag.out | 157 +- .../hlsl.intrinsics.double.frag.out | 355 +- .../hlsl.intrinsics.evalfns.frag.out | 260 +- .../hlsl.intrinsics.f1632.frag.out | 62 +- Test/baseResults/hlsl.intrinsics.frag.out | 5023 +++++++++-------- Test/baseResults/hlsl.intrinsics.lit.frag.out | 189 +- .../hlsl.intrinsics.negative.comp.out | 213 +- .../hlsl.intrinsics.negative.frag.out | 122 +- .../hlsl.intrinsics.negative.vert.out | 383 +- .../hlsl.intrinsics.promote.down.frag.out | 195 +- .../hlsl.intrinsics.promote.frag.out | 889 +-- .../hlsl.intrinsics.promote.outputs.frag.out | 307 +- Test/baseResults/hlsl.load.2dms.dx10.frag.out | 423 +- .../baseResults/hlsl.load.array.dx10.frag.out | 543 +- .../baseResults/hlsl.load.basic.dx10.frag.out | 583 +- .../baseResults/hlsl.load.basic.dx10.vert.out | 549 +- .../hlsl.load.buffer.dx10.frag.out | 317 +- .../hlsl.load.buffer.float.dx10.frag.out | 325 +- .../hlsl.load.offset.dx10.frag.out | 627 +- .../hlsl.load.offsetarray.dx10.frag.out | 573 +- .../hlsl.load.rwbuffer.dx10.frag.out | 215 +- .../hlsl.load.rwtexture.array.dx10.frag.out | 439 +- .../hlsl.load.rwtexture.dx10.frag.out | 465 +- Test/baseResults/hlsl.logical.binary.frag.out | 219 +- .../hlsl.logical.binary.vec.frag.out | 351 +- Test/baseResults/hlsl.logical.unary.frag.out | 251 +- Test/baseResults/hlsl.matNx1.frag.out | 241 +- Test/baseResults/hlsl.matType.bool.frag.out | 391 +- Test/baseResults/hlsl.matType.int.frag.out | 679 +-- Test/baseResults/hlsl.matrixSwizzle.vert.out | 323 +- Test/baseResults/hlsl.matrixindex.frag.out | 303 +- Test/baseResults/hlsl.max.frag.out | 124 +- Test/baseResults/hlsl.mintypes.frag.out | 267 +- Test/baseResults/hlsl.multiEntry.vert.out | 120 +- Test/baseResults/hlsl.multiReturn.frag.out | 106 +- .../baseResults/hlsl.numericsuffixes.frag.out | 179 +- Test/baseResults/hlsl.numthreads.comp.out | 48 +- Test/baseResults/hlsl.overload.frag.out | 1102 ++-- Test/baseResults/hlsl.params.default.frag.out | 779 +-- .../hlsl.params.default.negative.frag.out | 402 +- Test/baseResults/hlsl.partialInit.frag.out | 423 +- Test/baseResults/hlsl.pp.line.frag.out | 175 +- Test/baseResults/hlsl.precedence.frag.out | 328 +- Test/baseResults/hlsl.precedence2.frag.out | 252 +- Test/baseResults/hlsl.precise.frag.out | 101 +- Test/baseResults/hlsl.promote.atomic.frag.out | 127 +- Test/baseResults/hlsl.promote.binary.frag.out | 251 +- Test/baseResults/hlsl.promote.vec1.frag.out | 109 +- Test/baseResults/hlsl.promotions.frag.out | 1245 ++-- Test/baseResults/hlsl.rw.atomics.frag.out | 2665 ++++----- Test/baseResults/hlsl.rw.bracket.frag.out | 1733 +++--- Test/baseResults/hlsl.rw.register.frag.out | 153 +- .../hlsl.rw.scalar.bracket.frag.out | 1661 +++--- Test/baseResults/hlsl.rw.swizzle.frag.out | 191 +- .../baseResults/hlsl.rw.vec2.bracket.frag.out | 1727 +++--- .../hlsl.sample.array.dx10.frag.out | 467 +- .../hlsl.sample.basic.dx10.frag.out | 659 +-- .../hlsl.sample.offset.dx10.frag.out | 509 +- .../hlsl.sample.offsetarray.dx10.frag.out | 387 +- .../hlsl.sample.sub-vec4.dx10.frag.out | 231 +- .../hlsl.samplebias.array.dx10.frag.out | 467 +- .../hlsl.samplebias.basic.dx10.frag.out | 539 +- .../hlsl.samplebias.offset.dx10.frag.out | 509 +- .../hlsl.samplebias.offsetarray.dx10.frag.out | 387 +- .../hlsl.samplecmp.array.dx10.frag.out | 657 +-- .../hlsl.samplecmp.basic.dx10.frag.out | 635 ++- .../hlsl.samplecmp.offset.dx10.frag.out | 555 +- .../hlsl.samplecmp.offsetarray.dx10.frag.out | 577 +- ...lsl.samplecmplevelzero.array.dx10.frag.out | 659 +-- ...lsl.samplecmplevelzero.basic.dx10.frag.out | 637 ++- ...sl.samplecmplevelzero.offset.dx10.frag.out | 557 +- ...mplecmplevelzero.offsetarray.dx10.frag.out | 579 +- .../hlsl.samplegrad.array.dx10.frag.out | 455 +- .../hlsl.samplegrad.basic.dx10.frag.out | 549 +- .../hlsl.samplegrad.basic.dx10.vert.out | 513 +- .../hlsl.samplegrad.offset.dx10.frag.out | 519 +- .../hlsl.samplegrad.offsetarray.dx10.frag.out | 403 +- .../hlsl.samplelevel.array.dx10.frag.out | 469 +- .../hlsl.samplelevel.basic.dx10.frag.out | 547 +- .../hlsl.samplelevel.basic.dx10.vert.out | 505 +- .../hlsl.samplelevel.offset.dx10.frag.out | 511 +- ...hlsl.samplelevel.offsetarray.dx10.frag.out | 389 +- Test/baseResults/hlsl.scope.frag.out | 150 +- Test/baseResults/hlsl.semicolons.frag.out | 91 +- Test/baseResults/hlsl.shapeConvRet.frag.out | 100 +- Test/baseResults/hlsl.sin.frag.out | 90 +- Test/baseResults/hlsl.string.frag.out | 84 +- Test/baseResults/hlsl.stringtoken.frag.out | 125 +- Test/baseResults/hlsl.struct.frag.out | 444 +- Test/baseResults/hlsl.struct.split-1.vert.out | 415 +- .../hlsl.struct.split.array.geom.out | 312 +- .../hlsl.struct.split.assign.frag.out | 407 +- .../hlsl.struct.split.call.vert.out | 482 +- .../hlsl.struct.split.nested.geom.out | 406 +- .../hlsl.struct.split.trivial.vert.out | 203 +- .../hlsl.structarray.flatten.frag.out | 234 +- .../hlsl.structarray.flatten.geom.out | 263 +- Test/baseResults/hlsl.structin.vert.out | 497 +- Test/baseResults/hlsl.switch.frag.out | 397 +- Test/baseResults/hlsl.templatetypes.frag.out | 443 +- Test/baseResults/hlsl.tx.bracket.frag.out | 527 +- Test/baseResults/hlsl.type.half.frag.out | 139 +- .../baseResults/hlsl.type.identifier.frag.out | 289 +- Test/baseResults/hlsl.void.frag.out | 62 +- Test/baseResults/hlsl.whileLoop.frag.out | 199 +- ...emap.hlsl.sample.basic.everything.frag.out | 181 +- .../remap.hlsl.sample.basic.none.frag.out | 575 +- .../remap.hlsl.sample.basic.strip.frag.out | 471 +- ...map.hlsl.templatetypes.everything.frag.out | 25 +- .../remap.hlsl.templatetypes.none.frag.out | 419 +- .../spv.buffer.autoassign.frag.out | 137 +- .../spv.register.autoassign-2.frag.out | 100 +- .../spv.register.autoassign.frag.out | 409 +- .../spv.register.noautoassign.frag.out | 395 +- Test/baseResults/spv.rw.autoassign.frag.out | 103 +- glslang/Include/revision.h | 4 +- .../MachineIndependent/ParseContextBase.cpp | 29 +- glslang/MachineIndependent/ParseHelper.cpp | 8 +- glslang/MachineIndependent/ParseHelper.h | 8 +- glslang/MachineIndependent/SymbolTable.h | 11 + gtests/Hlsl.FromFile.cpp | 2 +- hlsl/hlslGrammar.cpp | 34 +- hlsl/hlslGrammar.h | 5 +- hlsl/hlslParseHelper.cpp | 288 +- hlsl/hlslParseHelper.h | 11 +- 171 files changed, 37604 insertions(+), 32679 deletions(-) diff --git a/Test/baseResults/hlsl.amend.frag.out b/Test/baseResults/hlsl.amend.frag.out index 44d76552..52069cbe 100755 --- a/Test/baseResults/hlsl.amend.frag.out +++ b/Test/baseResults/hlsl.amend.frag.out @@ -2,7 +2,7 @@ hlsl.amend.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:5 Function Definition: f1( (temp void) +0:5 Function Definition: @f1( (temp void) 0:5 Function Parameters: 0:? Sequence 0:6 vector-scale (temp 4-component vector of float) @@ -14,6 +14,10 @@ gl_FragCoord origin is upper left 0:6 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e}) 0:6 Constant: 0:6 1 (const uint) +0:5 Function Definition: f1( (temp void) +0:5 Function Parameters: +0:? Sequence +0:5 Function Call: @f1( (temp void) 0:12 Function Definition: f2( (temp void) 0:12 Function Parameters: 0:? Sequence @@ -67,7 +71,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:5 Function Definition: f1( (temp void) +0:5 Function Definition: @f1( (temp void) 0:5 Function Parameters: 0:? Sequence 0:6 vector-scale (temp 4-component vector of float) @@ -79,6 +83,10 @@ gl_FragCoord origin is upper left 0:6 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e}) 0:6 Constant: 0:6 1 (const uint) +0:5 Function Definition: f1( (temp void) +0:5 Function Parameters: +0:? Sequence +0:5 Function Call: @f1( (temp void) 0:12 Function Definition: f2( (temp void) 0:12 Function Parameters: 0:? Sequence @@ -127,7 +135,7 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 47 +// Id's are bound by 50 Capability Shader 1: ExtInstImport "GLSL.std.450" @@ -135,73 +143,79 @@ gl_FragCoord origin is upper left EntryPoint Fragment 4 "f1" ExecutionMode 4 OriginUpperLeft Name 4 "f1" - Name 6 "f2(" - Name 8 "f3(" - Name 10 "f4(" - Name 16 "$Global" - MemberName 16($Global) 0 "a" - MemberName 16($Global) 1 "b" - MemberName 16($Global) 2 "c" - MemberName 16($Global) 3 "d" - MemberName 16($Global) 4 "e" - Name 18 "" - MemberDecorate 16($Global) 0 Offset 0 - MemberDecorate 16($Global) 1 Offset 16 - MemberDecorate 16($Global) 2 Offset 32 - MemberDecorate 16($Global) 3 Offset 44 - MemberDecorate 16($Global) 4 Offset 48 - Decorate 16($Global) Block - Decorate 18 DescriptorSet 0 + Name 6 "@f1(" + Name 8 "f2(" + Name 10 "f3(" + Name 12 "f4(" + Name 18 "$Global" + MemberName 18($Global) 0 "a" + MemberName 18($Global) 1 "b" + MemberName 18($Global) 2 "c" + MemberName 18($Global) 3 "d" + MemberName 18($Global) 4 "e" + Name 20 "" + MemberDecorate 18($Global) 0 Offset 0 + MemberDecorate 18($Global) 1 Offset 16 + MemberDecorate 18($Global) 2 Offset 32 + MemberDecorate 18($Global) 3 Offset 44 + MemberDecorate 18($Global) 4 Offset 48 + Decorate 18($Global) Block + Decorate 20 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 - 12: TypeFloat 32 - 13: TypeVector 12(float) 4 - 14: TypeVector 12(float) 3 - 15: TypeInt 32 1 - 16($Global): TypeStruct 13(fvec4) 12(float) 14(fvec3) 15(int) 15(int) - 17: TypePointer Uniform 16($Global) - 18: 17(ptr) Variable Uniform - 19: 15(int) Constant 0 - 20: TypePointer Uniform 13(fvec4) - 23: 15(int) Constant 1 - 24: TypePointer Uniform 12(float) - 28: TypeInt 32 0 - 29: 28(int) Constant 0 - 35: 15(int) Constant 2 - 39: 15(int) Constant 3 - 40: TypePointer Uniform 15(int) + 14: TypeFloat 32 + 15: TypeVector 14(float) 4 + 16: TypeVector 14(float) 3 + 17: TypeInt 32 1 + 18($Global): TypeStruct 15(fvec4) 14(float) 16(fvec3) 17(int) 17(int) + 19: TypePointer Uniform 18($Global) + 20: 19(ptr) Variable Uniform + 21: 17(int) Constant 0 + 22: TypePointer Uniform 15(fvec4) + 25: 17(int) Constant 1 + 26: TypePointer Uniform 14(float) + 31: TypeInt 32 0 + 32: 31(int) Constant 0 + 38: 17(int) Constant 2 + 42: 17(int) Constant 3 + 43: TypePointer Uniform 17(int) 4(f1): 2 Function None 3 5: Label - 21: 20(ptr) AccessChain 18 19 - 22: 13(fvec4) Load 21 - 25: 24(ptr) AccessChain 18 23 - 26: 12(float) Load 25 - 27: 13(fvec4) VectorTimesScalar 22 26 + 30: 2 FunctionCall 6(@f1() Return FunctionEnd - 6(f2(): 2 Function None 3 + 6(@f1(): 2 Function None 3 7: Label - 30: 24(ptr) AccessChain 18 19 29 - 31: 12(float) Load 30 - 32: 24(ptr) AccessChain 18 23 - 33: 12(float) Load 32 - 34: 12(float) FAdd 31 33 - 36: 24(ptr) AccessChain 18 35 29 - 37: 12(float) Load 36 - 38: 12(float) FAdd 34 37 + 23: 22(ptr) AccessChain 20 21 + 24: 15(fvec4) Load 23 + 27: 26(ptr) AccessChain 20 25 + 28: 14(float) Load 27 + 29: 15(fvec4) VectorTimesScalar 24 28 Return FunctionEnd - 8(f3(): 2 Function None 3 + 8(f2(): 2 Function None 3 9: Label + 33: 26(ptr) AccessChain 20 21 32 + 34: 14(float) Load 33 + 35: 26(ptr) AccessChain 20 25 + 36: 14(float) Load 35 + 37: 14(float) FAdd 34 36 + 39: 26(ptr) AccessChain 20 38 32 + 40: 14(float) Load 39 + 41: 14(float) FAdd 37 40 Return FunctionEnd - 10(f4(): 2 Function None 3 + 10(f3(): 2 Function None 3 11: Label - 41: 40(ptr) AccessChain 18 39 - 42: 15(int) Load 41 - 43: 12(float) ConvertSToF 42 - 44: 20(ptr) AccessChain 18 19 - 45: 13(fvec4) Load 44 - 46: 13(fvec4) VectorTimesScalar 45 43 + Return + FunctionEnd + 12(f4(): 2 Function None 3 + 13: Label + 44: 43(ptr) AccessChain 20 42 + 45: 17(int) Load 44 + 46: 14(float) ConvertSToF 45 + 47: 22(ptr) AccessChain 20 21 + 48: 15(fvec4) Load 47 + 49: 15(fvec4) VectorTimesScalar 48 46 Return FunctionEnd diff --git a/Test/baseResults/hlsl.array.flatten.frag.out b/Test/baseResults/hlsl.array.flatten.frag.out index 74a348a2..3b5a2a7d 100644 --- a/Test/baseResults/hlsl.array.flatten.frag.out +++ b/Test/baseResults/hlsl.array.flatten.frag.out @@ -39,7 +39,7 @@ gl_FragCoord origin is upper left 0:26 3 (const int) 0:26 4 (const int) 0:26 5 (const int) -0:31 Function Definition: main(struct-PS_OUTPUT-vf41; (temp void) +0:31 Function Definition: @main(struct-PS_OUTPUT-vf41; (temp void) 0:31 Function Parameters: 0:31 'ps_output' (out structure{temp 4-component vector of float color}) 0:? Sequence @@ -91,7 +91,10 @@ gl_FragCoord origin is upper left 0:35 Constant: 0:35 2 (const uint) 0:37 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:37 color: direct index for structure (temp 4-component vector of float) +0:37 'ps_output' (out structure{temp 4-component vector of float color}) +0:37 Constant: +0:37 0 (const int) 0:37 add (temp 4-component vector of float) 0:37 Function Call: TestFn1( (temp 4-component vector of float) 0:37 Function Call: TestFn2(t11[3];p1[3]; (temp 4-component vector of float) @@ -137,8 +140,19 @@ gl_FragCoord origin is upper left 0:37 2 (const int) 0:? 'g_samp[2]' (uniform sampler) 0:37 'aggShadow' (temp 3-element array of sampler) +0:31 Function Definition: main( (temp void) +0:31 Function Parameters: +0:? Sequence +0:31 Function Call: @main(struct-PS_OUTPUT-vf41; (temp void) +0:? 'ps_output' (temp structure{temp 4-component vector of float color}) +0:31 Sequence +0:31 move second child to first child (temp 4-component vector of float) +0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:31 color: direct index for structure (temp 4-component vector of float) +0:? 'ps_output' (temp structure{temp 4-component vector of float color}) +0:31 Constant: +0:31 0 (const int) 0:? Linker Objects -0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:? 'g_tex[0]' (uniform texture1D) 0:? 'g_tex[1]' (uniform texture1D) 0:? 'g_tex[2]' (uniform texture1D) @@ -153,6 +167,7 @@ gl_FragCoord origin is upper left 0:? 'g_samp_explicit[2]' (layout(binding=7 ) uniform sampler) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 3X3 matrix of float g_mats, layout(binding=10 offset=192 ) uniform 4-element array of 3X3 matrix of float g_mats_explicit, layout(offset=384 ) uniform 4-element array of float g_floats}) 0:? 'not_flattened_a' (global 5-element array of int) +0:? 'color' (layout(location=0 ) out 4-component vector of float) Linked fragment stage: @@ -198,7 +213,7 @@ gl_FragCoord origin is upper left 0:26 3 (const int) 0:26 4 (const int) 0:26 5 (const int) -0:31 Function Definition: main(struct-PS_OUTPUT-vf41; (temp void) +0:31 Function Definition: @main(struct-PS_OUTPUT-vf41; (temp void) 0:31 Function Parameters: 0:31 'ps_output' (out structure{temp 4-component vector of float color}) 0:? Sequence @@ -250,7 +265,10 @@ gl_FragCoord origin is upper left 0:35 Constant: 0:35 2 (const uint) 0:37 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:37 color: direct index for structure (temp 4-component vector of float) +0:37 'ps_output' (out structure{temp 4-component vector of float color}) +0:37 Constant: +0:37 0 (const int) 0:37 add (temp 4-component vector of float) 0:37 Function Call: TestFn1( (temp 4-component vector of float) 0:37 Function Call: TestFn2(t11[3];p1[3]; (temp 4-component vector of float) @@ -296,8 +314,19 @@ gl_FragCoord origin is upper left 0:37 2 (const int) 0:? 'g_samp[2]' (uniform sampler) 0:37 'aggShadow' (temp 3-element array of sampler) +0:31 Function Definition: main( (temp void) +0:31 Function Parameters: +0:? Sequence +0:31 Function Call: @main(struct-PS_OUTPUT-vf41; (temp void) +0:? 'ps_output' (temp structure{temp 4-component vector of float color}) +0:31 Sequence +0:31 move second child to first child (temp 4-component vector of float) +0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:31 color: direct index for structure (temp 4-component vector of float) +0:? 'ps_output' (temp structure{temp 4-component vector of float color}) +0:31 Constant: +0:31 0 (const int) 0:? Linker Objects -0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:? 'g_tex[0]' (uniform texture1D) 0:? 'g_tex[1]' (uniform texture1D) 0:? 'g_tex[2]' (uniform texture1D) @@ -312,77 +341,84 @@ gl_FragCoord origin is upper left 0:? 'g_samp_explicit[2]' (layout(binding=7 ) uniform sampler) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 3X3 matrix of float g_mats, layout(binding=10 offset=192 ) uniform 4-element array of 3X3 matrix of float g_mats_explicit, layout(offset=384 ) uniform 4-element array of float g_floats}) 0:? 'not_flattened_a' (global 5-element array of int) +0:? 'color' (layout(location=0 ) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 123 +// Id's are bound by 137 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 99 + EntryPoint Fragment 4 "main" 128 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "TestFn1(" Name 22 "TestFn2(t11[3];p1[3];" Name 20 "l_tex" Name 21 "l_samp" - Name 28 "not_flattened_a" - Name 36 "g_tex[1]" - Name 39 "g_samp[1]" - Name 55 "local_sampler_array" - Name 57 "g_samp[0]" - Name 62 "g_samp[2]" - Name 65 "local_texture_array" - Name 66 "g_tex[0]" - Name 71 "g_tex[2]" - Name 77 "local_float_array" - Name 83 "$Global" - MemberName 83($Global) 0 "g_mats" - MemberName 83($Global) 1 "g_mats_explicit" - MemberName 83($Global) 2 "g_floats" - Name 85 "" - Name 99 "color" - Name 101 "aggShadow" - Name 108 "aggShadow" - Name 117 "g_tex_explicit[0]" - Name 118 "g_tex_explicit[1]" - Name 119 "g_tex_explicit[2]" - Name 120 "g_samp_explicit[0]" - Name 121 "g_samp_explicit[1]" - Name 122 "g_samp_explicit[2]" - Decorate 36(g_tex[1]) DescriptorSet 0 - Decorate 39(g_samp[1]) DescriptorSet 0 - Decorate 57(g_samp[0]) DescriptorSet 0 - Decorate 62(g_samp[2]) DescriptorSet 0 - Decorate 66(g_tex[0]) DescriptorSet 0 - Decorate 71(g_tex[2]) DescriptorSet 0 - Decorate 80 ArrayStride 48 - Decorate 81 ArrayStride 48 - Decorate 82 ArrayStride 16 - MemberDecorate 83($Global) 0 RowMajor - MemberDecorate 83($Global) 0 Offset 0 - MemberDecorate 83($Global) 0 MatrixStride 16 - MemberDecorate 83($Global) 1 RowMajor - MemberDecorate 83($Global) 1 Offset 192 - MemberDecorate 83($Global) 1 MatrixStride 16 - MemberDecorate 83($Global) 2 Offset 384 - Decorate 83($Global) Block - Decorate 85 DescriptorSet 0 - Decorate 99(color) Location 0 - Decorate 117(g_tex_explicit[0]) DescriptorSet 0 - Decorate 117(g_tex_explicit[0]) Binding 1 - Decorate 118(g_tex_explicit[1]) DescriptorSet 0 - Decorate 118(g_tex_explicit[1]) Binding 2 - Decorate 119(g_tex_explicit[2]) DescriptorSet 0 - Decorate 119(g_tex_explicit[2]) Binding 3 - Decorate 120(g_samp_explicit[0]) DescriptorSet 0 - Decorate 120(g_samp_explicit[0]) Binding 5 - Decorate 121(g_samp_explicit[1]) DescriptorSet 0 - Decorate 121(g_samp_explicit[1]) Binding 6 - Decorate 122(g_samp_explicit[2]) DescriptorSet 0 - Decorate 122(g_samp_explicit[2]) Binding 7 + Name 24 "PS_OUTPUT" + MemberName 24(PS_OUTPUT) 0 "color" + Name 28 "@main(struct-PS_OUTPUT-vf41;" + Name 27 "ps_output" + Name 34 "not_flattened_a" + Name 42 "g_tex[1]" + Name 45 "g_samp[1]" + Name 61 "local_sampler_array" + Name 63 "g_samp[0]" + Name 68 "g_samp[2]" + Name 71 "local_texture_array" + Name 72 "g_tex[0]" + Name 77 "g_tex[2]" + Name 83 "local_float_array" + Name 89 "$Global" + MemberName 89($Global) 0 "g_mats" + MemberName 89($Global) 1 "g_mats_explicit" + MemberName 89($Global) 2 "g_floats" + Name 91 "" + Name 105 "aggShadow" + Name 112 "aggShadow" + Name 123 "ps_output" + Name 124 "param" + Name 128 "color" + Name 131 "g_tex_explicit[0]" + Name 132 "g_tex_explicit[1]" + Name 133 "g_tex_explicit[2]" + Name 134 "g_samp_explicit[0]" + Name 135 "g_samp_explicit[1]" + Name 136 "g_samp_explicit[2]" + Decorate 42(g_tex[1]) DescriptorSet 0 + Decorate 45(g_samp[1]) DescriptorSet 0 + Decorate 63(g_samp[0]) DescriptorSet 0 + Decorate 68(g_samp[2]) DescriptorSet 0 + Decorate 72(g_tex[0]) DescriptorSet 0 + Decorate 77(g_tex[2]) DescriptorSet 0 + Decorate 86 ArrayStride 48 + Decorate 87 ArrayStride 48 + Decorate 88 ArrayStride 16 + MemberDecorate 89($Global) 0 RowMajor + MemberDecorate 89($Global) 0 Offset 0 + MemberDecorate 89($Global) 0 MatrixStride 16 + MemberDecorate 89($Global) 1 RowMajor + MemberDecorate 89($Global) 1 Offset 192 + MemberDecorate 89($Global) 1 MatrixStride 16 + MemberDecorate 89($Global) 2 Offset 384 + Decorate 89($Global) Block + Decorate 91 DescriptorSet 0 + Decorate 128(color) Location 0 + Decorate 131(g_tex_explicit[0]) DescriptorSet 0 + Decorate 131(g_tex_explicit[0]) Binding 1 + Decorate 132(g_tex_explicit[1]) DescriptorSet 0 + Decorate 132(g_tex_explicit[1]) Binding 2 + Decorate 133(g_tex_explicit[2]) DescriptorSet 0 + Decorate 133(g_tex_explicit[2]) Binding 3 + Decorate 134(g_samp_explicit[0]) DescriptorSet 0 + Decorate 134(g_samp_explicit[0]) Binding 5 + Decorate 135(g_samp_explicit[1]) DescriptorSet 0 + Decorate 135(g_samp_explicit[1]) Binding 6 + Decorate 136(g_samp_explicit[2]) DescriptorSet 0 + Decorate 136(g_samp_explicit[2]) Binding 7 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -397,130 +433,148 @@ gl_FragCoord origin is upper left 17: TypeArray 16 13 18: TypePointer UniformConstant 17 19: TypeFunction 7(fvec4) 15(ptr) 18(ptr) - 24: TypeInt 32 1 - 25: 12(int) Constant 5 - 26: TypeArray 24(int) 25 - 27: TypePointer Private 26 -28(not_flattened_a): 27(ptr) Variable Private - 29: 24(int) Constant 1 - 30: 24(int) Constant 2 - 31: 24(int) Constant 3 - 32: 24(int) Constant 4 - 33: 24(int) Constant 5 - 34: 26 ConstantComposite 29 30 31 32 33 - 35: TypePointer UniformConstant 11 - 36(g_tex[1]): 35(ptr) Variable UniformConstant - 38: TypePointer UniformConstant 16 - 39(g_samp[1]): 38(ptr) Variable UniformConstant - 41: TypeSampledImage 11 - 43: 6(float) Constant 1045220557 -55(local_sampler_array): 18(ptr) Variable UniformConstant - 56: 24(int) Constant 0 - 57(g_samp[0]): 38(ptr) Variable UniformConstant - 62(g_samp[2]): 38(ptr) Variable UniformConstant -65(local_texture_array): 15(ptr) Variable UniformConstant - 66(g_tex[0]): 35(ptr) Variable UniformConstant - 71(g_tex[2]): 35(ptr) Variable UniformConstant - 74: 12(int) Constant 4 - 75: TypeArray 6(float) 74 - 76: TypePointer Function 75 - 78: TypeVector 6(float) 3 - 79: TypeMatrix 78(fvec3) 3 - 80: TypeArray 79 74 - 81: TypeArray 79 74 - 82: TypeArray 6(float) 74 - 83($Global): TypeStruct 80 81 82 - 84: TypePointer Uniform 83($Global) - 85: 84(ptr) Variable Uniform - 86: TypePointer Uniform 82 - 90: TypePointer Function 6(float) - 98: TypePointer Output 7(fvec4) - 99(color): 98(ptr) Variable Output - 101(aggShadow): 15(ptr) Variable UniformConstant - 108(aggShadow): 18(ptr) Variable UniformConstant -117(g_tex_explicit[0]): 35(ptr) Variable UniformConstant -118(g_tex_explicit[1]): 35(ptr) Variable UniformConstant -119(g_tex_explicit[2]): 35(ptr) Variable UniformConstant -120(g_samp_explicit[0]): 38(ptr) Variable UniformConstant -121(g_samp_explicit[1]): 38(ptr) Variable UniformConstant -122(g_samp_explicit[2]): 38(ptr) Variable UniformConstant + 24(PS_OUTPUT): TypeStruct 7(fvec4) + 25: TypePointer Function 24(PS_OUTPUT) + 26: TypeFunction 2 25(ptr) + 30: TypeInt 32 1 + 31: 12(int) Constant 5 + 32: TypeArray 30(int) 31 + 33: TypePointer Private 32 +34(not_flattened_a): 33(ptr) Variable Private + 35: 30(int) Constant 1 + 36: 30(int) Constant 2 + 37: 30(int) Constant 3 + 38: 30(int) Constant 4 + 39: 30(int) Constant 5 + 40: 32 ConstantComposite 35 36 37 38 39 + 41: TypePointer UniformConstant 11 + 42(g_tex[1]): 41(ptr) Variable UniformConstant + 44: TypePointer UniformConstant 16 + 45(g_samp[1]): 44(ptr) Variable UniformConstant + 47: TypeSampledImage 11 + 49: 6(float) Constant 1045220557 +61(local_sampler_array): 18(ptr) Variable UniformConstant + 62: 30(int) Constant 0 + 63(g_samp[0]): 44(ptr) Variable UniformConstant + 68(g_samp[2]): 44(ptr) Variable UniformConstant +71(local_texture_array): 15(ptr) Variable UniformConstant + 72(g_tex[0]): 41(ptr) Variable UniformConstant + 77(g_tex[2]): 41(ptr) Variable UniformConstant + 80: 12(int) Constant 4 + 81: TypeArray 6(float) 80 + 82: TypePointer Function 81 + 84: TypeVector 6(float) 3 + 85: TypeMatrix 84(fvec3) 3 + 86: TypeArray 85 80 + 87: TypeArray 85 80 + 88: TypeArray 6(float) 80 + 89($Global): TypeStruct 86 87 88 + 90: TypePointer Uniform 89($Global) + 91: 90(ptr) Variable Uniform + 92: TypePointer Uniform 88 + 96: TypePointer Function 6(float) + 105(aggShadow): 15(ptr) Variable UniformConstant + 112(aggShadow): 18(ptr) Variable UniformConstant + 121: TypePointer Function 7(fvec4) + 127: TypePointer Output 7(fvec4) + 128(color): 127(ptr) Variable Output +131(g_tex_explicit[0]): 41(ptr) Variable UniformConstant +132(g_tex_explicit[1]): 41(ptr) Variable UniformConstant +133(g_tex_explicit[2]): 41(ptr) Variable UniformConstant +134(g_samp_explicit[0]): 44(ptr) Variable UniformConstant +135(g_samp_explicit[1]): 44(ptr) Variable UniformConstant +136(g_samp_explicit[2]): 44(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label -77(local_float_array): 76(ptr) Variable Function - Store 28(not_flattened_a) 34 - 58: 16 Load 57(g_samp[0]) - 59: 38(ptr) AccessChain 55(local_sampler_array) 56 - Store 59 58 - 60: 16 Load 39(g_samp[1]) - 61: 38(ptr) AccessChain 55(local_sampler_array) 29 - Store 61 60 - 63: 16 Load 62(g_samp[2]) - 64: 38(ptr) AccessChain 55(local_sampler_array) 30 - Store 64 63 - 67: 11 Load 66(g_tex[0]) - 68: 35(ptr) AccessChain 65(local_texture_array) 56 - Store 68 67 - 69: 11 Load 36(g_tex[1]) - 70: 35(ptr) AccessChain 65(local_texture_array) 29 - Store 70 69 - 72: 11 Load 71(g_tex[2]) - 73: 35(ptr) AccessChain 65(local_texture_array) 30 - Store 73 72 - 87: 86(ptr) AccessChain 85 30 - 88: 82 Load 87 - 89: 6(float) CompositeExtract 88 0 - 91: 90(ptr) AccessChain 77(local_float_array) 56 - Store 91 89 - 92: 6(float) CompositeExtract 88 1 - 93: 90(ptr) AccessChain 77(local_float_array) 29 - Store 93 92 - 94: 6(float) CompositeExtract 88 2 - 95: 90(ptr) AccessChain 77(local_float_array) 30 - Store 95 94 - 96: 6(float) CompositeExtract 88 3 - 97: 90(ptr) AccessChain 77(local_float_array) 31 - Store 97 96 - 100: 7(fvec4) FunctionCall 9(TestFn1() - 102: 11 Load 66(g_tex[0]) - 103: 35(ptr) AccessChain 101(aggShadow) 56 - Store 103 102 - 104: 11 Load 36(g_tex[1]) - 105: 35(ptr) AccessChain 101(aggShadow) 29 - Store 105 104 - 106: 11 Load 71(g_tex[2]) - 107: 35(ptr) AccessChain 101(aggShadow) 30 - Store 107 106 - 109: 16 Load 57(g_samp[0]) - 110: 38(ptr) AccessChain 108(aggShadow) 56 - Store 110 109 - 111: 16 Load 39(g_samp[1]) - 112: 38(ptr) AccessChain 108(aggShadow) 29 - Store 112 111 - 113: 16 Load 62(g_samp[2]) - 114: 38(ptr) AccessChain 108(aggShadow) 30 - Store 114 113 - 115: 7(fvec4) FunctionCall 22(TestFn2(t11[3];p1[3];) 101(aggShadow) 108(aggShadow) - 116: 7(fvec4) FAdd 100 115 - Store 99(color) 116 + 123(ps_output): 25(ptr) Variable Function + 124(param): 25(ptr) Variable Function + Store 34(not_flattened_a) 40 + 125: 2 FunctionCall 28(@main(struct-PS_OUTPUT-vf41;) 124(param) + 126:24(PS_OUTPUT) Load 124(param) + Store 123(ps_output) 126 + 129: 121(ptr) AccessChain 123(ps_output) 62 + 130: 7(fvec4) Load 129 + Store 128(color) 130 Return FunctionEnd 9(TestFn1(): 7(fvec4) Function None 8 10: Label - 37: 11 Load 36(g_tex[1]) - 40: 16 Load 39(g_samp[1]) - 42: 41 SampledImage 37 40 - 44: 7(fvec4) ImageSampleImplicitLod 42 43 - ReturnValue 44 + 43: 11 Load 42(g_tex[1]) + 46: 16 Load 45(g_samp[1]) + 48: 47 SampledImage 43 46 + 50: 7(fvec4) ImageSampleImplicitLod 48 49 + ReturnValue 50 FunctionEnd 22(TestFn2(t11[3];p1[3];): 7(fvec4) Function None 19 20(l_tex): 15(ptr) FunctionParameter 21(l_samp): 18(ptr) FunctionParameter 23: Label - 47: 35(ptr) AccessChain 20(l_tex) 30 - 48: 11 Load 47 - 49: 38(ptr) AccessChain 21(l_samp) 30 - 50: 16 Load 49 - 51: 41 SampledImage 48 50 - 52: 7(fvec4) ImageSampleImplicitLod 51 43 - ReturnValue 52 + 53: 41(ptr) AccessChain 20(l_tex) 36 + 54: 11 Load 53 + 55: 44(ptr) AccessChain 21(l_samp) 36 + 56: 16 Load 55 + 57: 47 SampledImage 54 56 + 58: 7(fvec4) ImageSampleImplicitLod 57 49 + ReturnValue 58 + FunctionEnd +28(@main(struct-PS_OUTPUT-vf41;): 2 Function None 26 + 27(ps_output): 25(ptr) FunctionParameter + 29: Label +83(local_float_array): 82(ptr) Variable Function + 64: 16 Load 63(g_samp[0]) + 65: 44(ptr) AccessChain 61(local_sampler_array) 62 + Store 65 64 + 66: 16 Load 45(g_samp[1]) + 67: 44(ptr) AccessChain 61(local_sampler_array) 35 + Store 67 66 + 69: 16 Load 68(g_samp[2]) + 70: 44(ptr) AccessChain 61(local_sampler_array) 36 + Store 70 69 + 73: 11 Load 72(g_tex[0]) + 74: 41(ptr) AccessChain 71(local_texture_array) 62 + Store 74 73 + 75: 11 Load 42(g_tex[1]) + 76: 41(ptr) AccessChain 71(local_texture_array) 35 + Store 76 75 + 78: 11 Load 77(g_tex[2]) + 79: 41(ptr) AccessChain 71(local_texture_array) 36 + Store 79 78 + 93: 92(ptr) AccessChain 91 36 + 94: 88 Load 93 + 95: 6(float) CompositeExtract 94 0 + 97: 96(ptr) AccessChain 83(local_float_array) 62 + Store 97 95 + 98: 6(float) CompositeExtract 94 1 + 99: 96(ptr) AccessChain 83(local_float_array) 35 + Store 99 98 + 100: 6(float) CompositeExtract 94 2 + 101: 96(ptr) AccessChain 83(local_float_array) 36 + Store 101 100 + 102: 6(float) CompositeExtract 94 3 + 103: 96(ptr) AccessChain 83(local_float_array) 37 + Store 103 102 + 104: 7(fvec4) FunctionCall 9(TestFn1() + 106: 11 Load 72(g_tex[0]) + 107: 41(ptr) AccessChain 105(aggShadow) 62 + Store 107 106 + 108: 11 Load 42(g_tex[1]) + 109: 41(ptr) AccessChain 105(aggShadow) 35 + Store 109 108 + 110: 11 Load 77(g_tex[2]) + 111: 41(ptr) AccessChain 105(aggShadow) 36 + Store 111 110 + 113: 16 Load 63(g_samp[0]) + 114: 44(ptr) AccessChain 112(aggShadow) 62 + Store 114 113 + 115: 16 Load 45(g_samp[1]) + 116: 44(ptr) AccessChain 112(aggShadow) 35 + Store 116 115 + 117: 16 Load 68(g_samp[2]) + 118: 44(ptr) AccessChain 112(aggShadow) 36 + Store 118 117 + 119: 7(fvec4) FunctionCall 22(TestFn2(t11[3];p1[3];) 105(aggShadow) 112(aggShadow) + 120: 7(fvec4) FAdd 104 119 + 122: 121(ptr) AccessChain 27(ps_output) 62 + Store 122 120 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.array.frag.out b/Test/baseResults/hlsl.array.frag.out index e04a5e81..f9db2175 100755 --- a/Test/baseResults/hlsl.array.frag.out +++ b/Test/baseResults/hlsl.array.frag.out @@ -2,59 +2,70 @@ hlsl.array.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:8 Function Definition: PixelShaderFunction(i1;vf4[3]; (temp 4-component vector of float) +0:8 Function Definition: @PixelShaderFunction(i1;vf4[3]; (temp 4-component vector of float) 0:8 Function Parameters: -0:8 'i' (layout(location=0 ) in int) -0:8 'input' (layout(location=1 ) in 3-element array of 4-component vector of float) +0:8 'i' (in int) +0:8 'input' (in 3-element array of 4-component vector of float) 0:? Sequence -0:10 Sequence -0:10 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:10 Branch: Return with expression +0:10 add (temp 4-component vector of float) 0:10 add (temp 4-component vector of float) 0:10 add (temp 4-component vector of float) 0:10 add (temp 4-component vector of float) 0:10 add (temp 4-component vector of float) 0:10 add (temp 4-component vector of float) -0:10 add (temp 4-component vector of float) -0:10 direct index (layout(offset=0 ) temp 4-component vector of float) -0:10 a: direct index for structure (layout(offset=0 ) uniform 4-element array of 4-component vector of float) -0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s}) -0:10 Constant: -0:10 0 (const uint) +0:10 direct index (layout(offset=0 ) temp 4-component vector of float) +0:10 a: direct index for structure (layout(offset=0 ) uniform 4-element array of 4-component vector of float) +0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s}) 0:10 Constant: -0:10 1 (const int) -0:10 indirect index (layout(offset=0 ) temp 4-component vector of float) -0:10 a: direct index for structure (layout(offset=0 ) uniform 4-element array of 4-component vector of float) -0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s}) -0:10 Constant: -0:10 0 (const uint) -0:10 'i' (layout(location=0 ) in int) -0:10 direct index (layout(location=1 ) temp 4-component vector of float) -0:10 'input' (layout(location=1 ) in 3-element array of 4-component vector of float) +0:10 0 (const uint) 0:10 Constant: -0:10 2 (const int) -0:10 indirect index (layout(location=1 ) temp 4-component vector of float) -0:10 'input' (layout(location=1 ) in 3-element array of 4-component vector of float) -0:10 'i' (layout(location=0 ) in int) -0:10 direct index (temp 4-component vector of float) -0:10 'b' (temp 10-element array of 4-component vector of float) -0:10 Constant: -0:10 5 (const int) -0:10 indirect index (temp 4-component vector of float) -0:10 'b' (temp 10-element array of 4-component vector of float) -0:10 'i' (layout(location=0 ) in int) -0:10 indirect index (temp 4-component vector of float) -0:10 m: direct index for structure (temp 7-element array of 4-component vector of float) -0:10 indirect index (layout(offset=64 ) temp structure{temp 7-element array of 4-component vector of float m}) -0:10 s: direct index for structure (layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m}) -0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s}) +0:10 1 (const int) +0:10 indirect index (layout(offset=0 ) temp 4-component vector of float) +0:10 a: direct index for structure (layout(offset=0 ) uniform 4-element array of 4-component vector of float) +0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s}) +0:10 Constant: +0:10 0 (const uint) +0:10 'i' (in int) +0:10 direct index (temp 4-component vector of float) +0:10 'input' (in 3-element array of 4-component vector of float) 0:10 Constant: -0:10 1 (const uint) -0:10 'i' (layout(location=0 ) in int) +0:10 2 (const int) +0:10 indirect index (temp 4-component vector of float) +0:10 'input' (in 3-element array of 4-component vector of float) +0:10 'i' (in int) +0:10 direct index (temp 4-component vector of float) +0:10 'b' (temp 10-element array of 4-component vector of float) 0:10 Constant: -0:10 0 (const int) -0:10 'i' (layout(location=0 ) in int) -0:10 Branch: Return +0:10 5 (const int) +0:10 indirect index (temp 4-component vector of float) +0:10 'b' (temp 10-element array of 4-component vector of float) +0:10 'i' (in int) +0:10 indirect index (temp 4-component vector of float) +0:10 m: direct index for structure (temp 7-element array of 4-component vector of float) +0:10 indirect index (layout(offset=64 ) temp structure{temp 7-element array of 4-component vector of float m}) +0:10 s: direct index for structure (layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m}) +0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s}) +0:10 Constant: +0:10 1 (const uint) +0:10 'i' (in int) +0:10 Constant: +0:10 0 (const int) +0:10 'i' (in int) +0:8 Function Definition: PixelShaderFunction( (temp void) +0:8 Function Parameters: +0:? Sequence +0:8 move second child to first child (temp int) +0:? 'i' (temp int) +0:? 'i' (layout(location=0 ) in int) +0:8 move second child to first child (temp 3-element array of 4-component vector of float) +0:? 'input' (temp 3-element array of 4-component vector of float) +0:? 'input' (layout(location=1 ) in 3-element array of 4-component vector of float) +0:8 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:8 Function Call: @PixelShaderFunction(i1;vf4[3]; (temp 4-component vector of float) +0:? 'i' (temp int) +0:? 'input' (temp 3-element array of 4-component vector of float) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 'i' (layout(location=0 ) in int) @@ -68,59 +79,70 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:8 Function Definition: PixelShaderFunction(i1;vf4[3]; (temp 4-component vector of float) +0:8 Function Definition: @PixelShaderFunction(i1;vf4[3]; (temp 4-component vector of float) 0:8 Function Parameters: -0:8 'i' (layout(location=0 ) in int) -0:8 'input' (layout(location=1 ) in 3-element array of 4-component vector of float) +0:8 'i' (in int) +0:8 'input' (in 3-element array of 4-component vector of float) 0:? Sequence -0:10 Sequence -0:10 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:10 Branch: Return with expression +0:10 add (temp 4-component vector of float) 0:10 add (temp 4-component vector of float) 0:10 add (temp 4-component vector of float) 0:10 add (temp 4-component vector of float) 0:10 add (temp 4-component vector of float) 0:10 add (temp 4-component vector of float) -0:10 add (temp 4-component vector of float) -0:10 direct index (layout(offset=0 ) temp 4-component vector of float) -0:10 a: direct index for structure (layout(offset=0 ) uniform 4-element array of 4-component vector of float) -0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s}) -0:10 Constant: -0:10 0 (const uint) +0:10 direct index (layout(offset=0 ) temp 4-component vector of float) +0:10 a: direct index for structure (layout(offset=0 ) uniform 4-element array of 4-component vector of float) +0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s}) 0:10 Constant: -0:10 1 (const int) -0:10 indirect index (layout(offset=0 ) temp 4-component vector of float) -0:10 a: direct index for structure (layout(offset=0 ) uniform 4-element array of 4-component vector of float) -0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s}) -0:10 Constant: -0:10 0 (const uint) -0:10 'i' (layout(location=0 ) in int) -0:10 direct index (layout(location=1 ) temp 4-component vector of float) -0:10 'input' (layout(location=1 ) in 3-element array of 4-component vector of float) +0:10 0 (const uint) 0:10 Constant: -0:10 2 (const int) -0:10 indirect index (layout(location=1 ) temp 4-component vector of float) -0:10 'input' (layout(location=1 ) in 3-element array of 4-component vector of float) -0:10 'i' (layout(location=0 ) in int) -0:10 direct index (temp 4-component vector of float) -0:10 'b' (temp 10-element array of 4-component vector of float) -0:10 Constant: -0:10 5 (const int) -0:10 indirect index (temp 4-component vector of float) -0:10 'b' (temp 10-element array of 4-component vector of float) -0:10 'i' (layout(location=0 ) in int) -0:10 indirect index (temp 4-component vector of float) -0:10 m: direct index for structure (temp 7-element array of 4-component vector of float) -0:10 indirect index (layout(offset=64 ) temp structure{temp 7-element array of 4-component vector of float m}) -0:10 s: direct index for structure (layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m}) -0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s}) +0:10 1 (const int) +0:10 indirect index (layout(offset=0 ) temp 4-component vector of float) +0:10 a: direct index for structure (layout(offset=0 ) uniform 4-element array of 4-component vector of float) +0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s}) +0:10 Constant: +0:10 0 (const uint) +0:10 'i' (in int) +0:10 direct index (temp 4-component vector of float) +0:10 'input' (in 3-element array of 4-component vector of float) 0:10 Constant: -0:10 1 (const uint) -0:10 'i' (layout(location=0 ) in int) +0:10 2 (const int) +0:10 indirect index (temp 4-component vector of float) +0:10 'input' (in 3-element array of 4-component vector of float) +0:10 'i' (in int) +0:10 direct index (temp 4-component vector of float) +0:10 'b' (temp 10-element array of 4-component vector of float) 0:10 Constant: -0:10 0 (const int) -0:10 'i' (layout(location=0 ) in int) -0:10 Branch: Return +0:10 5 (const int) +0:10 indirect index (temp 4-component vector of float) +0:10 'b' (temp 10-element array of 4-component vector of float) +0:10 'i' (in int) +0:10 indirect index (temp 4-component vector of float) +0:10 m: direct index for structure (temp 7-element array of 4-component vector of float) +0:10 indirect index (layout(offset=64 ) temp structure{temp 7-element array of 4-component vector of float m}) +0:10 s: direct index for structure (layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m}) +0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s}) +0:10 Constant: +0:10 1 (const uint) +0:10 'i' (in int) +0:10 Constant: +0:10 0 (const int) +0:10 'i' (in int) +0:8 Function Definition: PixelShaderFunction( (temp void) +0:8 Function Parameters: +0:? Sequence +0:8 move second child to first child (temp int) +0:? 'i' (temp int) +0:? 'i' (layout(location=0 ) in int) +0:8 move second child to first child (temp 3-element array of 4-component vector of float) +0:? 'input' (temp 3-element array of 4-component vector of float) +0:? 'input' (layout(location=1 ) in 3-element array of 4-component vector of float) +0:8 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:8 Function Call: @PixelShaderFunction(i1;vf4[3]; (temp 4-component vector of float) +0:? 'i' (temp int) +0:? 'input' (temp 3-element array of 4-component vector of float) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 'i' (layout(location=0 ) in int) @@ -129,97 +151,125 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 65 +// Id's are bound by 81 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 9 28 36 + EntryPoint Fragment 4 "PixelShaderFunction" 68 72 75 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 9 "@entryPointOutput" - Name 15 "" - MemberName 15 0 "m" - Name 18 "$Global" - MemberName 18($Global) 0 "a" - MemberName 18($Global) 1 "s" - Name 20 "" - Name 28 "i" - Name 36 "input" - Name 49 "b" - Decorate 9(@entryPointOutput) Location 0 - Decorate 12 ArrayStride 16 - Decorate 14 ArrayStride 16 - MemberDecorate 15 0 Offset 0 - Decorate 17 ArrayStride 112 - MemberDecorate 18($Global) 0 Offset 0 - MemberDecorate 18($Global) 1 Offset 64 - Decorate 18($Global) Block - Decorate 20 DescriptorSet 0 - Decorate 28(i) Location 0 - Decorate 36(input) Location 1 + Name 17 "@PixelShaderFunction(i1;vf4[3];" + Name 15 "i" + Name 16 "input" + Name 23 "" + MemberName 23 0 "m" + Name 26 "$Global" + MemberName 26($Global) 0 "a" + MemberName 26($Global) 1 "s" + Name 28 "" + Name 50 "b" + Name 66 "i" + Name 68 "i" + Name 70 "input" + Name 72 "input" + Name 75 "@entryPointOutput" + Name 76 "param" + Name 78 "param" + Decorate 20 ArrayStride 16 + Decorate 22 ArrayStride 16 + MemberDecorate 23 0 Offset 0 + Decorate 25 ArrayStride 112 + MemberDecorate 26($Global) 0 Offset 0 + MemberDecorate 26($Global) 1 Offset 64 + Decorate 26($Global) Block + Decorate 28 DescriptorSet 0 + Decorate 68(i) Location 0 + Decorate 72(input) Location 1 + Decorate 75(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 - 6: TypeFloat 32 - 7: TypeVector 6(float) 4 - 8: TypePointer Output 7(fvec4) -9(@entryPointOutput): 8(ptr) Variable Output + 6: TypeInt 32 1 + 7: TypePointer Function 6(int) + 8: TypeFloat 32 + 9: TypeVector 8(float) 4 10: TypeInt 32 0 - 11: 10(int) Constant 4 - 12: TypeArray 7(fvec4) 11 - 13: 10(int) Constant 7 - 14: TypeArray 7(fvec4) 13 - 15: TypeStruct 14 - 16: 10(int) Constant 11 - 17: TypeArray 15(struct) 16 - 18($Global): TypeStruct 12 17 - 19: TypePointer Uniform 18($Global) - 20: 19(ptr) Variable Uniform - 21: TypeInt 32 1 - 22: 21(int) Constant 0 - 23: 21(int) Constant 1 - 24: TypePointer Uniform 7(fvec4) - 27: TypePointer Input 21(int) - 28(i): 27(ptr) Variable Input - 33: 10(int) Constant 3 - 34: TypeArray 7(fvec4) 33 - 35: TypePointer Input 34 - 36(input): 35(ptr) Variable Input - 37: 21(int) Constant 2 - 38: TypePointer Input 7(fvec4) - 46: 10(int) Constant 10 - 47: TypeArray 7(fvec4) 46 - 48: TypePointer Function 47 - 50: 21(int) Constant 5 - 51: TypePointer Function 7(fvec4) + 11: 10(int) Constant 3 + 12: TypeArray 9(fvec4) 11 + 13: TypePointer Function 12 + 14: TypeFunction 9(fvec4) 7(ptr) 13(ptr) + 19: 10(int) Constant 4 + 20: TypeArray 9(fvec4) 19 + 21: 10(int) Constant 7 + 22: TypeArray 9(fvec4) 21 + 23: TypeStruct 22 + 24: 10(int) Constant 11 + 25: TypeArray 23(struct) 24 + 26($Global): TypeStruct 20 25 + 27: TypePointer Uniform 26($Global) + 28: 27(ptr) Variable Uniform + 29: 6(int) Constant 0 + 30: 6(int) Constant 1 + 31: TypePointer Uniform 9(fvec4) + 38: 6(int) Constant 2 + 39: TypePointer Function 9(fvec4) + 47: 10(int) Constant 10 + 48: TypeArray 9(fvec4) 47 + 49: TypePointer Function 48 + 51: 6(int) Constant 5 + 67: TypePointer Input 6(int) + 68(i): 67(ptr) Variable Input + 71: TypePointer Input 12 + 72(input): 71(ptr) Variable Input + 74: TypePointer Output 9(fvec4) +75(@entryPointOutput): 74(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label - 49(b): 48(ptr) Variable Function - 25: 24(ptr) AccessChain 20 22 23 - 26: 7(fvec4) Load 25 - 29: 21(int) Load 28(i) - 30: 24(ptr) AccessChain 20 22 29 - 31: 7(fvec4) Load 30 - 32: 7(fvec4) FAdd 26 31 - 39: 38(ptr) AccessChain 36(input) 37 - 40: 7(fvec4) Load 39 - 41: 7(fvec4) FAdd 32 40 - 42: 21(int) Load 28(i) - 43: 38(ptr) AccessChain 36(input) 42 - 44: 7(fvec4) Load 43 - 45: 7(fvec4) FAdd 41 44 - 52: 51(ptr) AccessChain 49(b) 50 - 53: 7(fvec4) Load 52 - 54: 7(fvec4) FAdd 45 53 - 55: 21(int) Load 28(i) - 56: 51(ptr) AccessChain 49(b) 55 - 57: 7(fvec4) Load 56 - 58: 7(fvec4) FAdd 54 57 - 59: 21(int) Load 28(i) - 60: 21(int) Load 28(i) - 61: 24(ptr) AccessChain 20 23 59 22 60 - 62: 7(fvec4) Load 61 - 63: 7(fvec4) FAdd 58 62 - Store 9(@entryPointOutput) 63 + 66(i): 7(ptr) Variable Function + 70(input): 13(ptr) Variable Function + 76(param): 7(ptr) Variable Function + 78(param): 13(ptr) Variable Function + 69: 6(int) Load 68(i) + Store 66(i) 69 + 73: 12 Load 72(input) + Store 70(input) 73 + 77: 6(int) Load 66(i) + Store 76(param) 77 + 79: 12 Load 70(input) + Store 78(param) 79 + 80: 9(fvec4) FunctionCall 17(@PixelShaderFunction(i1;vf4[3];) 76(param) 78(param) + Store 75(@entryPointOutput) 80 Return FunctionEnd +17(@PixelShaderFunction(i1;vf4[3];): 9(fvec4) Function None 14 + 15(i): 7(ptr) FunctionParameter + 16(input): 13(ptr) FunctionParameter + 18: Label + 50(b): 49(ptr) Variable Function + 32: 31(ptr) AccessChain 28 29 30 + 33: 9(fvec4) Load 32 + 34: 6(int) Load 15(i) + 35: 31(ptr) AccessChain 28 29 34 + 36: 9(fvec4) Load 35 + 37: 9(fvec4) FAdd 33 36 + 40: 39(ptr) AccessChain 16(input) 38 + 41: 9(fvec4) Load 40 + 42: 9(fvec4) FAdd 37 41 + 43: 6(int) Load 15(i) + 44: 39(ptr) AccessChain 16(input) 43 + 45: 9(fvec4) Load 44 + 46: 9(fvec4) FAdd 42 45 + 52: 39(ptr) AccessChain 50(b) 51 + 53: 9(fvec4) Load 52 + 54: 9(fvec4) FAdd 46 53 + 55: 6(int) Load 15(i) + 56: 39(ptr) AccessChain 50(b) 55 + 57: 9(fvec4) Load 56 + 58: 9(fvec4) FAdd 54 57 + 59: 6(int) Load 15(i) + 60: 6(int) Load 15(i) + 61: 31(ptr) AccessChain 28 30 59 29 60 + 62: 9(fvec4) Load 61 + 63: 9(fvec4) FAdd 58 62 + ReturnValue 63 + FunctionEnd diff --git a/Test/baseResults/hlsl.array.multidim.frag.out b/Test/baseResults/hlsl.array.multidim.frag.out index 66890b52..012a16e3 100644 --- a/Test/baseResults/hlsl.array.multidim.frag.out +++ b/Test/baseResults/hlsl.array.multidim.frag.out @@ -2,7 +2,7 @@ hlsl.array.multidim.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:10 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:10 Function Definition: @main( (temp structure{temp 4-component vector of float Color}) 0:10 Function Parameters: 0:? Sequence 0:14 move second child to first child (temp 4-component vector of float) @@ -48,15 +48,18 @@ gl_FragCoord origin is upper left 0:18 1 (const int) 0:18 Constant: 0:18 2 (const int) -0:19 Sequence -0:19 Sequence -0:19 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:19 Color: direct index for structure (temp 4-component vector of float) -0:19 'psout' (temp structure{temp 4-component vector of float Color}) -0:19 Constant: -0:19 0 (const int) -0:19 Branch: Return +0:19 Branch: Return with expression +0:19 'psout' (temp structure{temp 4-component vector of float Color}) +0:10 Function Definition: main( (temp void) +0:10 Function Parameters: +0:? Sequence +0:10 Sequence +0:10 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:10 Color: direct index for structure (temp 4-component vector of float) +0:10 Function Call: @main( (temp structure{temp 4-component vector of float Color}) +0:10 Constant: +0:10 0 (const int) 0:? Linker Objects 0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float float_array}) @@ -68,7 +71,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:10 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:10 Function Definition: @main( (temp structure{temp 4-component vector of float Color}) 0:10 Function Parameters: 0:? Sequence 0:14 move second child to first child (temp 4-component vector of float) @@ -114,97 +117,107 @@ gl_FragCoord origin is upper left 0:18 1 (const int) 0:18 Constant: 0:18 2 (const int) -0:19 Sequence -0:19 Sequence -0:19 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:19 Color: direct index for structure (temp 4-component vector of float) -0:19 'psout' (temp structure{temp 4-component vector of float Color}) -0:19 Constant: -0:19 0 (const int) -0:19 Branch: Return +0:19 Branch: Return with expression +0:19 'psout' (temp structure{temp 4-component vector of float Color}) +0:10 Function Definition: main( (temp void) +0:10 Function Parameters: +0:? Sequence +0:10 Sequence +0:10 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:10 Color: direct index for structure (temp 4-component vector of float) +0:10 Function Call: @main( (temp structure{temp 4-component vector of float Color}) +0:10 Constant: +0:10 0 (const int) 0:? Linker Objects 0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float float_array}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 52 +// Id's are bound by 57 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 48 + EntryPoint Fragment 4 "main" 54 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 14 "float4_array_1" - Name 23 "$Global" - MemberName 23($Global) 0 "float_array" - Name 25 "" - Name 36 "float4_array_2" - Name 41 "PS_OUTPUT" - MemberName 41(PS_OUTPUT) 0 "Color" - Name 43 "psout" - Name 48 "Color" - Decorate 18 ArrayStride 16 - Decorate 20 ArrayStride 48 - Decorate 22 ArrayStride 192 - MemberDecorate 23($Global) 0 Offset 0 - Decorate 23($Global) Block - Decorate 25 DescriptorSet 0 - Decorate 48(Color) Location 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + Name 10 "@main(" + Name 18 "float4_array_1" + Name 27 "$Global" + MemberName 27($Global) 0 "float_array" + Name 29 "" + Name 40 "float4_array_2" + Name 46 "psout" + Name 54 "Color" + Decorate 22 ArrayStride 16 + Decorate 24 ArrayStride 48 + Decorate 26 ArrayStride 192 + MemberDecorate 27($Global) 0 Offset 0 + Decorate 27($Global) Block + Decorate 29 DescriptorSet 0 + Decorate 54(Color) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypeInt 32 0 - 9: 8(int) Constant 3 - 10: TypeArray 7(fvec4) 9 - 11: 8(int) Constant 2 - 12: TypeArray 10 11 - 13: TypePointer Function 12 - 15: TypeInt 32 1 - 16: 15(int) Constant 1 - 17: 15(int) Constant 2 - 18: TypeArray 6(float) 9 - 19: 8(int) Constant 4 - 20: TypeArray 18 19 - 21: 8(int) Constant 5 - 22: TypeArray 20 21 - 23($Global): TypeStruct 22 - 24: TypePointer Uniform 23($Global) - 25: 24(ptr) Variable Uniform - 26: 15(int) Constant 0 - 27: 15(int) Constant 3 - 28: TypePointer Uniform 6(float) - 32: TypePointer Function 7(fvec4) - 34: TypeArray 10 21 - 35: TypePointer Function 34 - 37: TypePointer Function 10 - 41(PS_OUTPUT): TypeStruct 7(fvec4) - 42: TypePointer Function 41(PS_OUTPUT) - 47: TypePointer Output 7(fvec4) - 48(Color): 47(ptr) Variable Output + 8(PS_OUTPUT): TypeStruct 7(fvec4) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypeInt 32 0 + 13: 12(int) Constant 3 + 14: TypeArray 7(fvec4) 13 + 15: 12(int) Constant 2 + 16: TypeArray 14 15 + 17: TypePointer Function 16 + 19: TypeInt 32 1 + 20: 19(int) Constant 1 + 21: 19(int) Constant 2 + 22: TypeArray 6(float) 13 + 23: 12(int) Constant 4 + 24: TypeArray 22 23 + 25: 12(int) Constant 5 + 26: TypeArray 24 25 + 27($Global): TypeStruct 26 + 28: TypePointer Uniform 27($Global) + 29: 28(ptr) Variable Uniform + 30: 19(int) Constant 0 + 31: 19(int) Constant 3 + 32: TypePointer Uniform 6(float) + 36: TypePointer Function 7(fvec4) + 38: TypeArray 14 25 + 39: TypePointer Function 38 + 41: TypePointer Function 14 + 45: TypePointer Function 8(PS_OUTPUT) + 53: TypePointer Output 7(fvec4) + 54(Color): 53(ptr) Variable Output 4(main): 2 Function None 3 5: Label -14(float4_array_1): 13(ptr) Variable Function -36(float4_array_2): 35(ptr) Variable Function - 43(psout): 42(ptr) Variable Function - 29: 28(ptr) AccessChain 25 26 17 27 16 - 30: 6(float) Load 29 - 31: 7(fvec4) CompositeConstruct 30 30 30 30 - 33: 32(ptr) AccessChain 14(float4_array_1) 16 17 - Store 33 31 - 38: 37(ptr) AccessChain 14(float4_array_1) 26 - 39: 10 Load 38 - 40: 37(ptr) AccessChain 36(float4_array_2) 16 - Store 40 39 - 44: 32(ptr) AccessChain 14(float4_array_1) 16 17 - 45: 7(fvec4) Load 44 - 46: 32(ptr) AccessChain 43(psout) 26 - Store 46 45 - 49: 32(ptr) AccessChain 43(psout) 26 - 50: 7(fvec4) Load 49 - Store 48(Color) 50 + 55:8(PS_OUTPUT) FunctionCall 10(@main() + 56: 7(fvec4) CompositeExtract 55 0 + Store 54(Color) 56 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label +18(float4_array_1): 17(ptr) Variable Function +40(float4_array_2): 39(ptr) Variable Function + 46(psout): 45(ptr) Variable Function + 33: 32(ptr) AccessChain 29 30 21 31 20 + 34: 6(float) Load 33 + 35: 7(fvec4) CompositeConstruct 34 34 34 34 + 37: 36(ptr) AccessChain 18(float4_array_1) 20 21 + Store 37 35 + 42: 41(ptr) AccessChain 18(float4_array_1) 30 + 43: 14 Load 42 + 44: 41(ptr) AccessChain 40(float4_array_2) 20 + Store 44 43 + 47: 36(ptr) AccessChain 18(float4_array_1) 20 21 + 48: 7(fvec4) Load 47 + 49: 36(ptr) AccessChain 46(psout) 30 + Store 49 48 + 50:8(PS_OUTPUT) Load 46(psout) + ReturnValue 50 + FunctionEnd diff --git a/Test/baseResults/hlsl.assoc.frag.out b/Test/baseResults/hlsl.assoc.frag.out index bcd16036..4c5ca1a9 100755 --- a/Test/baseResults/hlsl.assoc.frag.out +++ b/Test/baseResults/hlsl.assoc.frag.out @@ -2,36 +2,59 @@ hlsl.assoc.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:8 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vf4;vf4; (temp 4-component vector of float) +0:8 Function Definition: @PixelShaderFunction(vf4;vf4;vf4;vf4;vf4; (temp 4-component vector of float) 0:8 Function Parameters: -0:8 'a1' (layout(location=0 ) in 4-component vector of float) -0:8 'a2' (layout(location=1 ) in 4-component vector of float) -0:8 'a3' (layout(location=2 ) in 4-component vector of float) -0:8 'a4' (layout(location=3 ) in 4-component vector of float) -0:8 'a5' (layout(location=4 ) in 4-component vector of float) +0:8 'a1' (in 4-component vector of float) +0:8 'a2' (in 4-component vector of float) +0:8 'a3' (in 4-component vector of float) +0:8 'a4' (in 4-component vector of float) +0:8 'a5' (in 4-component vector of float) 0:? Sequence 0:9 move second child to first child (temp 4-component vector of float) -0:9 'a1' (layout(location=0 ) in 4-component vector of float) +0:9 'a1' (in 4-component vector of float) 0:9 move second child to first child (temp 4-component vector of float) -0:9 'a2' (layout(location=1 ) in 4-component vector of float) +0:9 'a2' (in 4-component vector of float) 0:9 move second child to first child (temp 4-component vector of float) -0:9 'a3' (layout(location=2 ) in 4-component vector of float) +0:9 'a3' (in 4-component vector of float) 0:9 move second child to first child (temp 4-component vector of float) -0:9 'a4' (layout(location=3 ) in 4-component vector of float) -0:9 'a5' (layout(location=4 ) in 4-component vector of float) -0:10 Sequence -0:10 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:9 'a4' (in 4-component vector of float) +0:9 'a5' (in 4-component vector of float) +0:10 Branch: Return with expression +0:10 add (temp 4-component vector of float) 0:10 add (temp 4-component vector of float) 0:10 add (temp 4-component vector of float) 0:10 add (temp 4-component vector of float) -0:10 add (temp 4-component vector of float) -0:10 'a1' (layout(location=0 ) in 4-component vector of float) -0:10 'a2' (layout(location=1 ) in 4-component vector of float) -0:10 'a3' (layout(location=2 ) in 4-component vector of float) -0:10 'a4' (layout(location=3 ) in 4-component vector of float) -0:10 'a5' (layout(location=4 ) in 4-component vector of float) -0:10 Branch: Return +0:10 'a1' (in 4-component vector of float) +0:10 'a2' (in 4-component vector of float) +0:10 'a3' (in 4-component vector of float) +0:10 'a4' (in 4-component vector of float) +0:10 'a5' (in 4-component vector of float) +0:8 Function Definition: PixelShaderFunction( (temp void) +0:8 Function Parameters: +0:? Sequence +0:8 move second child to first child (temp 4-component vector of float) +0:? 'a1' (temp 4-component vector of float) +0:? 'a1' (layout(location=0 ) in 4-component vector of float) +0:8 move second child to first child (temp 4-component vector of float) +0:? 'a2' (temp 4-component vector of float) +0:? 'a2' (layout(location=1 ) in 4-component vector of float) +0:8 move second child to first child (temp 4-component vector of float) +0:? 'a3' (temp 4-component vector of float) +0:? 'a3' (layout(location=2 ) in 4-component vector of float) +0:8 move second child to first child (temp 4-component vector of float) +0:? 'a4' (temp 4-component vector of float) +0:? 'a4' (layout(location=3 ) in 4-component vector of float) +0:8 move second child to first child (temp 4-component vector of float) +0:? 'a5' (temp 4-component vector of float) +0:? 'a5' (layout(location=4 ) in 4-component vector of float) +0:8 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:8 Function Call: @PixelShaderFunction(vf4;vf4;vf4;vf4;vf4; (temp 4-component vector of float) +0:? 'a1' (temp 4-component vector of float) +0:? 'a2' (temp 4-component vector of float) +0:? 'a3' (temp 4-component vector of float) +0:? 'a4' (temp 4-component vector of float) +0:? 'a5' (temp 4-component vector of float) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 'a1' (layout(location=0 ) in 4-component vector of float) @@ -47,36 +70,59 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:8 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vf4;vf4; (temp 4-component vector of float) +0:8 Function Definition: @PixelShaderFunction(vf4;vf4;vf4;vf4;vf4; (temp 4-component vector of float) 0:8 Function Parameters: -0:8 'a1' (layout(location=0 ) in 4-component vector of float) -0:8 'a2' (layout(location=1 ) in 4-component vector of float) -0:8 'a3' (layout(location=2 ) in 4-component vector of float) -0:8 'a4' (layout(location=3 ) in 4-component vector of float) -0:8 'a5' (layout(location=4 ) in 4-component vector of float) +0:8 'a1' (in 4-component vector of float) +0:8 'a2' (in 4-component vector of float) +0:8 'a3' (in 4-component vector of float) +0:8 'a4' (in 4-component vector of float) +0:8 'a5' (in 4-component vector of float) 0:? Sequence 0:9 move second child to first child (temp 4-component vector of float) -0:9 'a1' (layout(location=0 ) in 4-component vector of float) +0:9 'a1' (in 4-component vector of float) 0:9 move second child to first child (temp 4-component vector of float) -0:9 'a2' (layout(location=1 ) in 4-component vector of float) +0:9 'a2' (in 4-component vector of float) 0:9 move second child to first child (temp 4-component vector of float) -0:9 'a3' (layout(location=2 ) in 4-component vector of float) +0:9 'a3' (in 4-component vector of float) 0:9 move second child to first child (temp 4-component vector of float) -0:9 'a4' (layout(location=3 ) in 4-component vector of float) -0:9 'a5' (layout(location=4 ) in 4-component vector of float) -0:10 Sequence -0:10 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:9 'a4' (in 4-component vector of float) +0:9 'a5' (in 4-component vector of float) +0:10 Branch: Return with expression +0:10 add (temp 4-component vector of float) 0:10 add (temp 4-component vector of float) 0:10 add (temp 4-component vector of float) 0:10 add (temp 4-component vector of float) -0:10 add (temp 4-component vector of float) -0:10 'a1' (layout(location=0 ) in 4-component vector of float) -0:10 'a2' (layout(location=1 ) in 4-component vector of float) -0:10 'a3' (layout(location=2 ) in 4-component vector of float) -0:10 'a4' (layout(location=3 ) in 4-component vector of float) -0:10 'a5' (layout(location=4 ) in 4-component vector of float) -0:10 Branch: Return +0:10 'a1' (in 4-component vector of float) +0:10 'a2' (in 4-component vector of float) +0:10 'a3' (in 4-component vector of float) +0:10 'a4' (in 4-component vector of float) +0:10 'a5' (in 4-component vector of float) +0:8 Function Definition: PixelShaderFunction( (temp void) +0:8 Function Parameters: +0:? Sequence +0:8 move second child to first child (temp 4-component vector of float) +0:? 'a1' (temp 4-component vector of float) +0:? 'a1' (layout(location=0 ) in 4-component vector of float) +0:8 move second child to first child (temp 4-component vector of float) +0:? 'a2' (temp 4-component vector of float) +0:? 'a2' (layout(location=1 ) in 4-component vector of float) +0:8 move second child to first child (temp 4-component vector of float) +0:? 'a3' (temp 4-component vector of float) +0:? 'a3' (layout(location=2 ) in 4-component vector of float) +0:8 move second child to first child (temp 4-component vector of float) +0:? 'a4' (temp 4-component vector of float) +0:? 'a4' (layout(location=3 ) in 4-component vector of float) +0:8 move second child to first child (temp 4-component vector of float) +0:? 'a5' (temp 4-component vector of float) +0:? 'a5' (layout(location=4 ) in 4-component vector of float) +0:8 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:8 Function Call: @PixelShaderFunction(vf4;vf4;vf4;vf4;vf4; (temp 4-component vector of float) +0:? 'a1' (temp 4-component vector of float) +0:? 'a2' (temp 4-component vector of float) +0:? 'a3' (temp 4-component vector of float) +0:? 'a4' (temp 4-component vector of float) +0:? 'a5' (temp 4-component vector of float) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 'a1' (layout(location=0 ) in 4-component vector of float) @@ -87,54 +133,112 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 27 +// Id's are bound by 58 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 9 10 11 12 13 16 + EntryPoint Fragment 4 "PixelShaderFunction" 31 34 37 40 43 46 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 9 "a1" - Name 10 "a2" - Name 11 "a3" - Name 12 "a4" - Name 13 "a5" - Name 16 "@entryPointOutput" - Decorate 9(a1) Location 0 - Decorate 10(a2) Location 1 - Decorate 11(a3) Location 2 - Decorate 12(a4) Location 3 - Decorate 13(a5) Location 4 - Decorate 16(@entryPointOutput) Location 0 + Name 15 "@PixelShaderFunction(vf4;vf4;vf4;vf4;vf4;" + Name 10 "a1" + Name 11 "a2" + Name 12 "a3" + Name 13 "a4" + Name 14 "a5" + Name 29 "a1" + Name 31 "a1" + Name 33 "a2" + Name 34 "a2" + Name 36 "a3" + Name 37 "a3" + Name 39 "a4" + Name 40 "a4" + Name 42 "a5" + Name 43 "a5" + Name 46 "@entryPointOutput" + Name 47 "param" + Name 49 "param" + Name 51 "param" + Name 53 "param" + Name 55 "param" + Decorate 31(a1) Location 0 + Decorate 34(a2) Location 1 + Decorate 37(a3) Location 2 + Decorate 40(a4) Location 3 + Decorate 43(a5) Location 4 + Decorate 46(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Input 7(fvec4) - 9(a1): 8(ptr) Variable Input - 10(a2): 8(ptr) Variable Input - 11(a3): 8(ptr) Variable Input - 12(a4): 8(ptr) Variable Input - 13(a5): 8(ptr) Variable Input - 15: TypePointer Output 7(fvec4) -16(@entryPointOutput): 15(ptr) Variable Output + 8: TypePointer Function 7(fvec4) + 9: TypeFunction 7(fvec4) 8(ptr) 8(ptr) 8(ptr) 8(ptr) 8(ptr) + 30: TypePointer Input 7(fvec4) + 31(a1): 30(ptr) Variable Input + 34(a2): 30(ptr) Variable Input + 37(a3): 30(ptr) Variable Input + 40(a4): 30(ptr) Variable Input + 43(a5): 30(ptr) Variable Input + 45: TypePointer Output 7(fvec4) +46(@entryPointOutput): 45(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label - 14: 7(fvec4) Load 13(a5) - Store 12(a4) 14 - Store 11(a3) 14 - Store 10(a2) 14 - Store 9(a1) 14 - 17: 7(fvec4) Load 9(a1) - 18: 7(fvec4) Load 10(a2) - 19: 7(fvec4) FAdd 17 18 - 20: 7(fvec4) Load 11(a3) - 21: 7(fvec4) FAdd 19 20 - 22: 7(fvec4) Load 12(a4) - 23: 7(fvec4) FAdd 21 22 - 24: 7(fvec4) Load 13(a5) - 25: 7(fvec4) FAdd 23 24 - Store 16(@entryPointOutput) 25 + 29(a1): 8(ptr) Variable Function + 33(a2): 8(ptr) Variable Function + 36(a3): 8(ptr) Variable Function + 39(a4): 8(ptr) Variable Function + 42(a5): 8(ptr) Variable Function + 47(param): 8(ptr) Variable Function + 49(param): 8(ptr) Variable Function + 51(param): 8(ptr) Variable Function + 53(param): 8(ptr) Variable Function + 55(param): 8(ptr) Variable Function + 32: 7(fvec4) Load 31(a1) + Store 29(a1) 32 + 35: 7(fvec4) Load 34(a2) + Store 33(a2) 35 + 38: 7(fvec4) Load 37(a3) + Store 36(a3) 38 + 41: 7(fvec4) Load 40(a4) + Store 39(a4) 41 + 44: 7(fvec4) Load 43(a5) + Store 42(a5) 44 + 48: 7(fvec4) Load 29(a1) + Store 47(param) 48 + 50: 7(fvec4) Load 33(a2) + Store 49(param) 50 + 52: 7(fvec4) Load 36(a3) + Store 51(param) 52 + 54: 7(fvec4) Load 39(a4) + Store 53(param) 54 + 56: 7(fvec4) Load 42(a5) + Store 55(param) 56 + 57: 7(fvec4) FunctionCall 15(@PixelShaderFunction(vf4;vf4;vf4;vf4;vf4;) 47(param) 49(param) 51(param) 53(param) 55(param) + Store 46(@entryPointOutput) 57 Return FunctionEnd +15(@PixelShaderFunction(vf4;vf4;vf4;vf4;vf4;): 7(fvec4) Function None 9 + 10(a1): 8(ptr) FunctionParameter + 11(a2): 8(ptr) FunctionParameter + 12(a3): 8(ptr) FunctionParameter + 13(a4): 8(ptr) FunctionParameter + 14(a5): 8(ptr) FunctionParameter + 16: Label + 17: 7(fvec4) Load 14(a5) + Store 13(a4) 17 + Store 12(a3) 17 + Store 11(a2) 17 + Store 10(a1) 17 + 18: 7(fvec4) Load 10(a1) + 19: 7(fvec4) Load 11(a2) + 20: 7(fvec4) FAdd 18 19 + 21: 7(fvec4) Load 12(a3) + 22: 7(fvec4) FAdd 20 21 + 23: 7(fvec4) Load 13(a4) + 24: 7(fvec4) FAdd 22 23 + 25: 7(fvec4) Load 14(a5) + 26: 7(fvec4) FAdd 24 25 + ReturnValue 26 + FunctionEnd diff --git a/Test/baseResults/hlsl.attribute.expression.comp.out b/Test/baseResults/hlsl.attribute.expression.comp.out index 2316cd9b..571198fd 100644 --- a/Test/baseResults/hlsl.attribute.expression.comp.out +++ b/Test/baseResults/hlsl.attribute.expression.comp.out @@ -2,7 +2,7 @@ hlsl.attribute.expression.comp Shader version: 450 local_size = (4, 6, 8) 0:? Sequence -0:9 Function Definition: main( (temp 4-component vector of float) +0:9 Function Definition: @main( (temp 4-component vector of float) 0:9 Function Parameters: 0:? Sequence 0:11 Sequence @@ -22,15 +22,18 @@ local_size = (4, 6, 8) 0:11 Loop Terminal Expression 0:11 Pre-Increment (temp int) 0:11 'x' (temp int) -0:14 Sequence -0:14 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? Constant: -0:? 0.000000 -0:? 0.000000 -0:? 0.000000 -0:? 0.000000 -0:14 Branch: Return +0:14 Branch: Return with expression +0:? Constant: +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:9 Function Definition: main( (temp void) +0:9 Function Parameters: +0:? Sequence +0:9 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:9 Function Call: @main( (temp 4-component vector of float) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int bound}) @@ -42,7 +45,7 @@ Linked compute stage: Shader version: 450 local_size = (4, 6, 8) 0:? Sequence -0:9 Function Definition: main( (temp 4-component vector of float) +0:9 Function Definition: @main( (temp 4-component vector of float) 0:9 Function Parameters: 0:? Sequence 0:11 Sequence @@ -62,77 +65,87 @@ local_size = (4, 6, 8) 0:11 Loop Terminal Expression 0:11 Pre-Increment (temp int) 0:11 'x' (temp int) -0:14 Sequence -0:14 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? Constant: -0:? 0.000000 -0:? 0.000000 -0:? 0.000000 -0:? 0.000000 -0:14 Branch: Return +0:14 Branch: Return with expression +0:? Constant: +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:9 Function Definition: main( (temp void) +0:9 Function Parameters: +0:? Sequence +0:9 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:9 Function Call: @main( (temp 4-component vector of float) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int bound}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 34 +// Id's are bound by 39 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint GLCompute 4 "main" 30 + EntryPoint GLCompute 4 "main" 37 ExecutionMode 4 LocalSize 4 6 8 Name 4 "main" - Name 8 "x" - Name 16 "$Global" - MemberName 16($Global) 0 "bound" - Name 18 "" - Name 30 "@entryPointOutput" - MemberDecorate 16($Global) 0 Offset 0 - Decorate 16($Global) Block - Decorate 18 DescriptorSet 0 - Decorate 30(@entryPointOutput) Location 0 + Name 9 "@main(" + Name 13 "x" + Name 21 "$Global" + MemberName 21($Global) 0 "bound" + Name 23 "" + Name 37 "@entryPointOutput" + MemberDecorate 21($Global) 0 Offset 0 + Decorate 21($Global) Block + Decorate 23 DescriptorSet 0 + Decorate 37(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 - 6: TypeInt 32 1 - 7: TypePointer Function 6(int) - 9: 6(int) Constant 0 - 16($Global): TypeStruct 6(int) - 17: TypePointer Uniform 16($Global) - 18: 17(ptr) Variable Uniform - 19: TypePointer Uniform 6(int) - 22: TypeBool - 25: 6(int) Constant 1 - 27: TypeFloat 32 - 28: TypeVector 27(float) 4 - 29: TypePointer Output 28(fvec4) -30(@entryPointOutput): 29(ptr) Variable Output - 31: 27(float) Constant 0 - 32: 28(fvec4) ConstantComposite 31 31 31 31 + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8: TypeFunction 7(fvec4) + 11: TypeInt 32 1 + 12: TypePointer Function 11(int) + 14: 11(int) Constant 0 + 21($Global): TypeStruct 11(int) + 22: TypePointer Uniform 21($Global) + 23: 22(ptr) Variable Uniform + 24: TypePointer Uniform 11(int) + 27: TypeBool + 30: 11(int) Constant 1 + 32: 6(float) Constant 0 + 33: 7(fvec4) ConstantComposite 32 32 32 32 + 36: TypePointer Output 7(fvec4) +37(@entryPointOutput): 36(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 8(x): 7(ptr) Variable Function - Store 8(x) 9 - Branch 10 - 10: Label - LoopMerge 12 13 None - Branch 14 - 14: Label - 15: 6(int) Load 8(x) - 20: 19(ptr) AccessChain 18 9 - 21: 6(int) Load 20 - 23: 22(bool) SLessThan 15 21 - BranchConditional 23 11 12 - 11: Label - Branch 13 - 13: Label - 24: 6(int) Load 8(x) - 26: 6(int) IAdd 24 25 - Store 8(x) 26 - Branch 10 - 12: Label - Store 30(@entryPointOutput) 32 + 38: 7(fvec4) FunctionCall 9(@main() + Store 37(@entryPointOutput) 38 Return FunctionEnd + 9(@main(): 7(fvec4) Function None 8 + 10: Label + 13(x): 12(ptr) Variable Function + Store 13(x) 14 + Branch 15 + 15: Label + LoopMerge 17 18 None + Branch 19 + 19: Label + 20: 11(int) Load 13(x) + 25: 24(ptr) AccessChain 23 14 + 26: 11(int) Load 25 + 28: 27(bool) SLessThan 20 26 + BranchConditional 28 16 17 + 16: Label + Branch 18 + 18: Label + 29: 11(int) Load 13(x) + 31: 11(int) IAdd 29 30 + Store 13(x) 31 + Branch 15 + 17: Label + ReturnValue 33 + FunctionEnd diff --git a/Test/baseResults/hlsl.attribute.frag.out b/Test/baseResults/hlsl.attribute.frag.out index a3ce657d..fc764205 100755 --- a/Test/baseResults/hlsl.attribute.frag.out +++ b/Test/baseResults/hlsl.attribute.frag.out @@ -2,15 +2,23 @@ hlsl.attribute.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4; (temp void) +0:2 Function Definition: @PixelShaderFunction(vf4; (temp void) 0:2 Function Parameters: -0:2 'input' (layout(location=0 ) in 4-component vector of float) +0:2 'input' (in 4-component vector of float) 0:? Sequence 0:11 Test condition and select (temp void) 0:11 Condition 0:11 Constant: 0:11 0 (const int) 0:11 true case is null +0:2 Function Definition: PixelShaderFunction( (temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:2 Function Call: @PixelShaderFunction(vf4; (temp void) +0:? 'input' (temp 4-component vector of float) 0:? Linker Objects 0:? 'input' (layout(location=0 ) in 4-component vector of float) @@ -21,44 +29,70 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4; (temp void) +0:2 Function Definition: @PixelShaderFunction(vf4; (temp void) 0:2 Function Parameters: -0:2 'input' (layout(location=0 ) in 4-component vector of float) +0:2 'input' (in 4-component vector of float) 0:? Sequence 0:11 Test condition and select (temp void) 0:11 Condition 0:11 Constant: 0:11 0 (const int) 0:11 true case is null +0:2 Function Definition: PixelShaderFunction( (temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:2 Function Call: @PixelShaderFunction(vf4; (temp void) +0:? 'input' (temp 4-component vector of float) 0:? Linker Objects 0:? 'input' (layout(location=0 ) in 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 14 +// Id's are bound by 24 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 13 + EntryPoint Fragment 4 "PixelShaderFunction" 19 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 13 "input" - Decorate 13(input) Location 0 + Name 11 "@PixelShaderFunction(vf4;" + Name 10 "input" + Name 17 "input" + Name 19 "input" + Name 21 "param" + Decorate 19(input) Location 0 2: TypeVoid 3: TypeFunction 2 - 6: TypeInt 32 1 - 7: 6(int) Constant 0 - 10: TypeFloat 32 - 11: TypeVector 10(float) 4 - 12: TypePointer Input 11(fvec4) - 13(input): 12(ptr) Variable Input + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8: TypePointer Function 7(fvec4) + 9: TypeFunction 2 8(ptr) + 13: TypeInt 32 1 + 14: 13(int) Constant 0 + 18: TypePointer Input 7(fvec4) + 19(input): 18(ptr) Variable Input 4(PixelShaderFunction): 2 Function None 3 5: Label - SelectionMerge 9 None - BranchConditional 7 8 9 - 8: Label - Branch 9 - 9: Label + 17(input): 8(ptr) Variable Function + 21(param): 8(ptr) Variable Function + 20: 7(fvec4) Load 19(input) + Store 17(input) 20 + 22: 7(fvec4) Load 17(input) + Store 21(param) 22 + 23: 2 FunctionCall 11(@PixelShaderFunction(vf4;) 21(param) + Return + FunctionEnd +11(@PixelShaderFunction(vf4;): 2 Function None 9 + 10(input): 8(ptr) FunctionParameter + 12: Label + SelectionMerge 16 None + BranchConditional 14 15 16 + 15: Label + Branch 16 + 16: Label Return FunctionEnd diff --git a/Test/baseResults/hlsl.basic.comp.out b/Test/baseResults/hlsl.basic.comp.out index b6557efa..d206838a 100755 --- a/Test/baseResults/hlsl.basic.comp.out +++ b/Test/baseResults/hlsl.basic.comp.out @@ -2,7 +2,7 @@ hlsl.basic.comp Shader version: 450 local_size = (1, 1, 1) 0:? Sequence -0:4 Function Definition: main(i1;i1; (temp void) +0:4 Function Definition: @main(i1;i1; (temp void) 0:4 Function Parameters: 0:4 'dti' (in int GlobalInvocationID) 0:4 'gti' (in int LocalInvocationID) @@ -10,10 +10,22 @@ local_size = (1, 1, 1) 0:5 subtract (temp int) 0:5 'dti' (in int GlobalInvocationID) 0:5 'gti' (in int LocalInvocationID) +0:4 Function Definition: main( (temp void) +0:4 Function Parameters: +0:? Sequence +0:4 move second child to first child (temp int) +0:? 'dti' (temp int) +0:? 'dti' (in int GlobalInvocationID) +0:4 move second child to first child (temp int) +0:? 'gti' (temp int) +0:? 'gti' (in int LocalInvocationID) +0:4 Function Call: @main(i1;i1; (temp void) +0:? 'dti' (temp int) +0:? 'gti' (temp int) 0:? Linker Objects +0:? 'a' (shared 100-element array of 4-component vector of float) 0:? 'dti' (in int GlobalInvocationID) 0:? 'gti' (in int LocalInvocationID) -0:? 'a' (shared 100-element array of 4-component vector of float) Linked compute stage: @@ -22,7 +34,7 @@ Linked compute stage: Shader version: 450 local_size = (1, 1, 1) 0:? Sequence -0:4 Function Definition: main(i1;i1; (temp void) +0:4 Function Definition: @main(i1;i1; (temp void) 0:4 Function Parameters: 0:4 'dti' (in int GlobalInvocationID) 0:4 'gti' (in int LocalInvocationID) @@ -30,43 +42,83 @@ local_size = (1, 1, 1) 0:5 subtract (temp int) 0:5 'dti' (in int GlobalInvocationID) 0:5 'gti' (in int LocalInvocationID) +0:4 Function Definition: main( (temp void) +0:4 Function Parameters: +0:? Sequence +0:4 move second child to first child (temp int) +0:? 'dti' (temp int) +0:? 'dti' (in int GlobalInvocationID) +0:4 move second child to first child (temp int) +0:? 'gti' (temp int) +0:? 'gti' (in int LocalInvocationID) +0:4 Function Call: @main(i1;i1; (temp void) +0:? 'dti' (temp int) +0:? 'gti' (temp int) 0:? Linker Objects +0:? 'a' (shared 100-element array of 4-component vector of float) 0:? 'dti' (in int GlobalInvocationID) 0:? 'gti' (in int LocalInvocationID) -0:? 'a' (shared 100-element array of 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 20 +// Id's are bound by 35 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint GLCompute 4 "main" 8 10 + EntryPoint GLCompute 4 "main" 18 21 ExecutionMode 4 LocalSize 1 1 1 Name 4 "main" - Name 8 "dti" + Name 11 "@main(i1;i1;" + Name 9 "dti" Name 10 "gti" - Name 19 "a" - Decorate 8(dti) BuiltIn GlobalInvocationId - Decorate 10(gti) BuiltIn LocalInvocationId + Name 16 "dti" + Name 18 "dti" + Name 20 "gti" + Name 21 "gti" + Name 23 "param" + Name 25 "param" + Name 34 "a" + Decorate 18(dti) BuiltIn GlobalInvocationId + Decorate 21(gti) BuiltIn LocalInvocationId 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 - 7: TypePointer Input 6(int) - 8(dti): 7(ptr) Variable Input - 10(gti): 7(ptr) Variable Input - 13: TypeFloat 32 - 14: TypeVector 13(float) 4 - 15: TypeInt 32 0 - 16: 15(int) Constant 100 - 17: TypeArray 14(fvec4) 16 - 18: TypePointer Workgroup 17 - 19(a): 18(ptr) Variable Workgroup + 7: TypePointer Function 6(int) + 8: TypeFunction 2 7(ptr) 7(ptr) + 17: TypePointer Input 6(int) + 18(dti): 17(ptr) Variable Input + 21(gti): 17(ptr) Variable Input + 28: TypeFloat 32 + 29: TypeVector 28(float) 4 + 30: TypeInt 32 0 + 31: 30(int) Constant 100 + 32: TypeArray 29(fvec4) 31 + 33: TypePointer Workgroup 32 + 34(a): 33(ptr) Variable Workgroup 4(main): 2 Function None 3 5: Label - 9: 6(int) Load 8(dti) - 11: 6(int) Load 10(gti) - 12: 6(int) ISub 9 11 + 16(dti): 7(ptr) Variable Function + 20(gti): 7(ptr) Variable Function + 23(param): 7(ptr) Variable Function + 25(param): 7(ptr) Variable Function + 19: 6(int) Load 18(dti) + Store 16(dti) 19 + 22: 6(int) Load 21(gti) + Store 20(gti) 22 + 24: 6(int) Load 16(dti) + Store 23(param) 24 + 26: 6(int) Load 20(gti) + Store 25(param) 26 + 27: 2 FunctionCall 11(@main(i1;i1;) 23(param) 25(param) + Return + FunctionEnd +11(@main(i1;i1;): 2 Function None 8 + 9(dti): 7(ptr) FunctionParameter + 10(gti): 7(ptr) FunctionParameter + 12: Label + 13: 6(int) Load 9(dti) + 14: 6(int) Load 10(gti) + 15: 6(int) ISub 13 14 Return FunctionEnd diff --git a/Test/baseResults/hlsl.basic.geom.out b/Test/baseResults/hlsl.basic.geom.out index 67477fba..e89fecdf 100644 --- a/Test/baseResults/hlsl.basic.geom.out +++ b/Test/baseResults/hlsl.basic.geom.out @@ -5,11 +5,11 @@ max_vertices = 4 input primitive = triangles output primitive = line_strip 0:? Sequence -0:16 Function Definition: main(u1[3];u1[3];struct-PSInput-f1-i11; (temp void) +0:16 Function Definition: @main(u1[3];u1[3];struct-PSInput-f1-i11; (temp void) 0:16 Function Parameters: -0:16 'VertexID' (layout(location=0 ) in 3-element array of uint) -0:16 'test' (layout(location=3 ) in 3-element array of uint) -0:16 'OutputStream' (layout(location=0 ) out structure{temp float myfloat, temp int something}) +0:16 'VertexID' (in 3-element array of uint) +0:16 'test' (in 3-element array of uint) +0:16 'OutputStream' (out structure{temp float myfloat, temp int something}) 0:? Sequence 0:19 move second child to first child (temp float) 0:19 myfloat: direct index for structure (temp float) @@ -19,16 +19,16 @@ output primitive = line_strip 0:19 Convert uint to float (temp float) 0:19 add (temp uint) 0:19 add (temp uint) -0:19 direct index (layout(location=3 ) temp uint) -0:19 'test' (layout(location=3 ) in 3-element array of uint) +0:19 direct index (temp uint) +0:19 'test' (in 3-element array of uint) 0:19 Constant: 0:19 0 (const int) -0:19 direct index (layout(location=3 ) temp uint) -0:19 'test' (layout(location=3 ) in 3-element array of uint) +0:19 direct index (temp uint) +0:19 'test' (in 3-element array of uint) 0:19 Constant: 0:19 1 (const int) -0:19 direct index (layout(location=3 ) temp uint) -0:19 'test' (layout(location=3 ) in 3-element array of uint) +0:19 direct index (temp uint) +0:19 'test' (in 3-element array of uint) 0:19 Constant: 0:19 2 (const int) 0:20 move second child to first child (temp int) @@ -37,25 +37,37 @@ output primitive = line_strip 0:20 Constant: 0:20 1 (const int) 0:20 Convert uint to int (temp int) -0:20 direct index (layout(location=0 ) temp uint) -0:20 'VertexID' (layout(location=0 ) in 3-element array of uint) +0:20 direct index (temp uint) +0:20 'VertexID' (in 3-element array of uint) 0:20 Constant: 0:20 0 (const int) 0:22 Sequence 0:22 move second child to first child (temp structure{temp float myfloat, temp int something}) -0:22 'OutputStream' (layout(location=0 ) out structure{temp float myfloat, temp int something}) +0:22 'OutputStream' (out structure{temp float myfloat, temp int something}) 0:22 'Vert' (temp structure{temp float myfloat, temp int something}) 0:22 EmitVertex (temp void) 0:23 Sequence 0:23 move second child to first child (temp structure{temp float myfloat, temp int something}) -0:23 'OutputStream' (layout(location=0 ) out structure{temp float myfloat, temp int something}) +0:23 'OutputStream' (out structure{temp float myfloat, temp int something}) 0:23 'Vert' (temp structure{temp float myfloat, temp int something}) 0:23 EmitVertex (temp void) 0:24 EndPrimitive (temp void) +0:16 Function Definition: main( (temp void) +0:16 Function Parameters: +0:? Sequence +0:16 move second child to first child (temp 3-element array of uint) +0:? 'VertexID' (temp 3-element array of uint) +0:? 'VertexID' (layout(location=0 ) in 3-element array of uint) +0:16 move second child to first child (temp 3-element array of uint) +0:? 'test' (temp 3-element array of uint) +0:? 'test' (layout(location=3 ) in 3-element array of uint) +0:16 Function Call: @main(u1[3];u1[3];struct-PSInput-f1-i11; (temp void) +0:? 'VertexID' (temp 3-element array of uint) +0:? 'test' (temp 3-element array of uint) +0:? 'OutputStream' (temp structure{temp float myfloat, temp int something}) 0:? Linker Objects 0:? 'VertexID' (layout(location=0 ) in 3-element array of uint) 0:? 'test' (layout(location=3 ) in 3-element array of uint) -0:? 'OutputStream' (layout(location=0 ) out structure{temp float myfloat, temp int something}) Linked geometry stage: @@ -67,11 +79,11 @@ max_vertices = 4 input primitive = triangles output primitive = line_strip 0:? Sequence -0:16 Function Definition: main(u1[3];u1[3];struct-PSInput-f1-i11; (temp void) +0:16 Function Definition: @main(u1[3];u1[3];struct-PSInput-f1-i11; (temp void) 0:16 Function Parameters: -0:16 'VertexID' (layout(location=0 ) in 3-element array of uint) -0:16 'test' (layout(location=3 ) in 3-element array of uint) -0:16 'OutputStream' (layout(location=0 ) out structure{temp float myfloat, temp int something}) +0:16 'VertexID' (in 3-element array of uint) +0:16 'test' (in 3-element array of uint) +0:16 'OutputStream' (out structure{temp float myfloat, temp int something}) 0:? Sequence 0:19 move second child to first child (temp float) 0:19 myfloat: direct index for structure (temp float) @@ -81,16 +93,16 @@ output primitive = line_strip 0:19 Convert uint to float (temp float) 0:19 add (temp uint) 0:19 add (temp uint) -0:19 direct index (layout(location=3 ) temp uint) -0:19 'test' (layout(location=3 ) in 3-element array of uint) +0:19 direct index (temp uint) +0:19 'test' (in 3-element array of uint) 0:19 Constant: 0:19 0 (const int) -0:19 direct index (layout(location=3 ) temp uint) -0:19 'test' (layout(location=3 ) in 3-element array of uint) +0:19 direct index (temp uint) +0:19 'test' (in 3-element array of uint) 0:19 Constant: 0:19 1 (const int) -0:19 direct index (layout(location=3 ) temp uint) -0:19 'test' (layout(location=3 ) in 3-element array of uint) +0:19 direct index (temp uint) +0:19 'test' (in 3-element array of uint) 0:19 Constant: 0:19 2 (const int) 0:20 move second child to first child (temp int) @@ -99,93 +111,135 @@ output primitive = line_strip 0:20 Constant: 0:20 1 (const int) 0:20 Convert uint to int (temp int) -0:20 direct index (layout(location=0 ) temp uint) -0:20 'VertexID' (layout(location=0 ) in 3-element array of uint) +0:20 direct index (temp uint) +0:20 'VertexID' (in 3-element array of uint) 0:20 Constant: 0:20 0 (const int) 0:22 Sequence 0:22 move second child to first child (temp structure{temp float myfloat, temp int something}) -0:22 'OutputStream' (layout(location=0 ) out structure{temp float myfloat, temp int something}) +0:22 'OutputStream' (out structure{temp float myfloat, temp int something}) 0:22 'Vert' (temp structure{temp float myfloat, temp int something}) 0:22 EmitVertex (temp void) 0:23 Sequence 0:23 move second child to first child (temp structure{temp float myfloat, temp int something}) -0:23 'OutputStream' (layout(location=0 ) out structure{temp float myfloat, temp int something}) +0:23 'OutputStream' (out structure{temp float myfloat, temp int something}) 0:23 'Vert' (temp structure{temp float myfloat, temp int something}) 0:23 EmitVertex (temp void) 0:24 EndPrimitive (temp void) +0:16 Function Definition: main( (temp void) +0:16 Function Parameters: +0:? Sequence +0:16 move second child to first child (temp 3-element array of uint) +0:? 'VertexID' (temp 3-element array of uint) +0:? 'VertexID' (layout(location=0 ) in 3-element array of uint) +0:16 move second child to first child (temp 3-element array of uint) +0:? 'test' (temp 3-element array of uint) +0:? 'test' (layout(location=3 ) in 3-element array of uint) +0:16 Function Call: @main(u1[3];u1[3];struct-PSInput-f1-i11; (temp void) +0:? 'VertexID' (temp 3-element array of uint) +0:? 'test' (temp 3-element array of uint) +0:? 'OutputStream' (temp structure{temp float myfloat, temp int something}) 0:? Linker Objects 0:? 'VertexID' (layout(location=0 ) in 3-element array of uint) 0:? 'test' (layout(location=3 ) in 3-element array of uint) -0:? 'OutputStream' (layout(location=0 ) out structure{temp float myfloat, temp int something}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 41 +// Id's are bound by 57 Capability Geometry 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Geometry 4 "main" 16 31 38 + EntryPoint Geometry 4 "main" 45 48 ExecutionMode 4 Triangles ExecutionMode 4 Invocations 1 ExecutionMode 4 OutputLineStrip ExecutionMode 4 OutputVertices 4 Name 4 "main" - Name 8 "PSInput" - MemberName 8(PSInput) 0 "myfloat" - MemberName 8(PSInput) 1 "something" - Name 10 "Vert" + Name 12 "PSInput" + MemberName 12(PSInput) 0 "myfloat" + MemberName 12(PSInput) 1 "something" + Name 18 "@main(u1[3];u1[3];struct-PSInput-f1-i11;" + Name 15 "VertexID" Name 16 "test" - Name 31 "VertexID" - Name 38 "OutputStream" - Decorate 16(test) Location 3 - Decorate 31(VertexID) Location 0 - Decorate 38(OutputStream) Location 0 + Name 17 "OutputStream" + Name 20 "Vert" + Name 43 "VertexID" + Name 45 "VertexID" + Name 47 "test" + Name 48 "test" + Name 50 "OutputStream" + Name 51 "param" + Name 53 "param" + Name 55 "param" + Decorate 45(VertexID) Location 0 + Decorate 48(test) Location 3 2: TypeVoid 3: TypeFunction 2 - 6: TypeFloat 32 - 7: TypeInt 32 1 - 8(PSInput): TypeStruct 6(float) 7(int) - 9: TypePointer Function 8(PSInput) - 11: 7(int) Constant 0 - 12: TypeInt 32 0 - 13: 12(int) Constant 3 - 14: TypeArray 12(int) 13 - 15: TypePointer Input 14 - 16(test): 15(ptr) Variable Input - 17: TypePointer Input 12(int) - 20: 7(int) Constant 1 - 24: 7(int) Constant 2 - 29: TypePointer Function 6(float) - 31(VertexID): 15(ptr) Variable Input - 35: TypePointer Function 7(int) - 37: TypePointer Output 8(PSInput) -38(OutputStream): 37(ptr) Variable Output + 6: TypeInt 32 0 + 7: 6(int) Constant 3 + 8: TypeArray 6(int) 7 + 9: TypePointer Function 8 + 10: TypeFloat 32 + 11: TypeInt 32 1 + 12(PSInput): TypeStruct 10(float) 11(int) + 13: TypePointer Function 12(PSInput) + 14: TypeFunction 2 9(ptr) 9(ptr) 13(ptr) + 21: 11(int) Constant 0 + 22: TypePointer Function 6(int) + 25: 11(int) Constant 1 + 29: 11(int) Constant 2 + 34: TypePointer Function 10(float) + 39: TypePointer Function 11(int) + 44: TypePointer Input 8 + 45(VertexID): 44(ptr) Variable Input + 48(test): 44(ptr) Variable Input 4(main): 2 Function None 3 5: Label - 10(Vert): 9(ptr) Variable Function - 18: 17(ptr) AccessChain 16(test) 11 - 19: 12(int) Load 18 - 21: 17(ptr) AccessChain 16(test) 20 - 22: 12(int) Load 21 - 23: 12(int) IAdd 19 22 - 25: 17(ptr) AccessChain 16(test) 24 - 26: 12(int) Load 25 - 27: 12(int) IAdd 23 26 - 28: 6(float) ConvertUToF 27 - 30: 29(ptr) AccessChain 10(Vert) 11 - Store 30 28 - 32: 17(ptr) AccessChain 31(VertexID) 11 - 33: 12(int) Load 32 - 34: 7(int) Bitcast 33 - 36: 35(ptr) AccessChain 10(Vert) 20 - Store 36 34 - 39: 8(PSInput) Load 10(Vert) - Store 38(OutputStream) 39 + 43(VertexID): 9(ptr) Variable Function + 47(test): 9(ptr) Variable Function +50(OutputStream): 13(ptr) Variable Function + 51(param): 9(ptr) Variable Function + 53(param): 9(ptr) Variable Function + 55(param): 13(ptr) Variable Function + 46: 8 Load 45(VertexID) + Store 43(VertexID) 46 + 49: 8 Load 48(test) + Store 47(test) 49 + 52: 8 Load 43(VertexID) + Store 51(param) 52 + 54: 8 Load 47(test) + Store 53(param) 54 + 56: 2 FunctionCall 18(@main(u1[3];u1[3];struct-PSInput-f1-i11;) 51(param) 53(param) 55(param) + Return + FunctionEnd +18(@main(u1[3];u1[3];struct-PSInput-f1-i11;): 2 Function None 14 + 15(VertexID): 9(ptr) FunctionParameter + 16(test): 9(ptr) FunctionParameter +17(OutputStream): 13(ptr) FunctionParameter + 19: Label + 20(Vert): 13(ptr) Variable Function + 23: 22(ptr) AccessChain 16(test) 21 + 24: 6(int) Load 23 + 26: 22(ptr) AccessChain 16(test) 25 + 27: 6(int) Load 26 + 28: 6(int) IAdd 24 27 + 30: 22(ptr) AccessChain 16(test) 29 + 31: 6(int) Load 30 + 32: 6(int) IAdd 28 31 + 33: 10(float) ConvertUToF 32 + 35: 34(ptr) AccessChain 20(Vert) 21 + Store 35 33 + 36: 22(ptr) AccessChain 15(VertexID) 21 + 37: 6(int) Load 36 + 38: 11(int) Bitcast 37 + 40: 39(ptr) AccessChain 20(Vert) 25 + Store 40 38 + 41: 12(PSInput) Load 20(Vert) + Store 17(OutputStream) 41 EmitVertex - 40: 8(PSInput) Load 10(Vert) - Store 38(OutputStream) 40 + 42: 12(PSInput) Load 20(Vert) + Store 17(OutputStream) 42 EmitVertex EndPrimitive Return diff --git a/Test/baseResults/hlsl.buffer.frag.out b/Test/baseResults/hlsl.buffer.frag.out index dbb2b5e1..7816a37e 100755 --- a/Test/baseResults/hlsl.buffer.frag.out +++ b/Test/baseResults/hlsl.buffer.frag.out @@ -2,42 +2,49 @@ hlsl.buffer.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:30 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) +0:30 Function Definition: @PixelShaderFunction(vf4; (temp 4-component vector of float) 0:30 Function Parameters: -0:30 'input' (layout(location=0 ) in 4-component vector of float) +0:30 'input' (in 4-component vector of float) 0:? Sequence -0:31 Sequence -0:31 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:31 Branch: Return with expression +0:31 add (temp 4-component vector of float) 0:31 add (temp 4-component vector of float) 0:31 add (temp 4-component vector of float) 0:31 add (temp 4-component vector of float) -0:31 add (temp 4-component vector of float) -0:31 'input' (layout(location=0 ) in 4-component vector of float) -0:31 v1: direct index for structure (layout(row_major std140 ) uniform 4-component vector of float) -0:31 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v1}) -0:31 Constant: -0:31 0 (const uint) -0:31 v2: direct index for structure (layout(row_major std430 ) buffer 4-component vector of float) -0:31 'anon@1' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer 4-component vector of float v2}) +0:31 'input' (in 4-component vector of float) +0:31 v1: direct index for structure (layout(row_major std140 ) uniform 4-component vector of float) +0:31 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v1}) 0:31 Constant: 0:31 0 (const uint) -0:31 v3: direct index for structure (layout(row_major std140 ) uniform 4-component vector of float) -0:31 'anon@2' (layout(set=10 binding=2 row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v3, layout(row_major std140 offset=20 ) uniform int i3}) +0:31 v2: direct index for structure (layout(row_major std430 ) buffer 4-component vector of float) +0:31 'anon@1' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer 4-component vector of float v2}) 0:31 Constant: 0:31 0 (const uint) -0:31 v4: direct index for structure (layout(row_major std430 offset=16 ) buffer 4-component vector of float) -0:31 'anon@3' (layout(binding=8 row_major std430 ) buffer block{layout(row_major std430 offset=16 ) buffer 4-component vector of float v4, layout(row_major std430 offset=48 ) buffer int i4, layout(row_major std430 offset=60 ) buffer float f1, layout(row_major std430 offset=64 ) buffer float f3, layout(row_major std430 offset=68 ) buffer float f4, layout(row_major std430 offset=72 ) buffer float f5, layout(row_major std430 ) buffer float f6, layout(row_major std430 ) buffer float f7, layout(row_major std430 ) buffer 3X4 matrix of float m1, layout(column_major std430 ) buffer 3X4 matrix of float m2, layout(row_major std430 ) buffer 3X4 matrix of float m3, ...}) +0:31 v3: direct index for structure (layout(row_major std140 ) uniform 4-component vector of float) +0:31 'anon@2' (layout(set=10 binding=2 row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v3, layout(row_major std140 offset=20 ) uniform int i3}) 0:31 Constant: 0:31 0 (const uint) -0:31 Branch: Return +0:31 v4: direct index for structure (layout(row_major std430 offset=16 ) buffer 4-component vector of float) +0:31 'anon@3' (layout(binding=8 row_major std430 ) buffer block{layout(row_major std430 offset=16 ) buffer 4-component vector of float v4, layout(row_major std430 offset=48 ) buffer int i4, layout(row_major std430 offset=60 ) buffer float f1, layout(row_major std430 offset=64 ) buffer float f3, layout(row_major std430 offset=68 ) buffer float f4, layout(row_major std430 offset=72 ) buffer float f5, layout(row_major std430 ) buffer float f6, layout(row_major std430 ) buffer float f7, layout(row_major std430 ) buffer 3X4 matrix of float m1, layout(column_major std430 ) buffer 3X4 matrix of float m2, layout(row_major std430 ) buffer 3X4 matrix of float m3, ...}) +0:31 Constant: +0:31 0 (const uint) +0:30 Function Definition: PixelShaderFunction( (temp void) +0:30 Function Parameters: +0:? Sequence +0:30 move second child to first child (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:30 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:30 Function Call: @PixelShaderFunction(vf4; (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'input' (layout(location=0 ) in 4-component vector of float) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v1}) 0:? 'anon@1' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer 4-component vector of float v2}) 0:? 'anon@2' (layout(set=10 binding=2 row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v3, layout(row_major std140 offset=20 ) uniform int i3}) 0:? 'anon@3' (layout(binding=8 row_major std430 ) buffer block{layout(row_major std430 offset=16 ) buffer 4-component vector of float v4, layout(row_major std430 offset=48 ) buffer int i4, layout(row_major std430 offset=60 ) buffer float f1, layout(row_major std430 offset=64 ) buffer float f3, layout(row_major std430 offset=68 ) buffer float f4, layout(row_major std430 offset=72 ) buffer float f5, layout(row_major std430 ) buffer float f6, layout(row_major std430 ) buffer float f7, layout(row_major std430 ) buffer 3X4 matrix of float m1, layout(column_major std430 ) buffer 3X4 matrix of float m2, layout(row_major std430 ) buffer 3X4 matrix of float m3, ...}) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) Linked fragment stage: @@ -46,154 +53,179 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:30 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) +0:30 Function Definition: @PixelShaderFunction(vf4; (temp 4-component vector of float) 0:30 Function Parameters: -0:30 'input' (layout(location=0 ) in 4-component vector of float) +0:30 'input' (in 4-component vector of float) 0:? Sequence -0:31 Sequence -0:31 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:31 Branch: Return with expression +0:31 add (temp 4-component vector of float) 0:31 add (temp 4-component vector of float) 0:31 add (temp 4-component vector of float) 0:31 add (temp 4-component vector of float) -0:31 add (temp 4-component vector of float) -0:31 'input' (layout(location=0 ) in 4-component vector of float) -0:31 v1: direct index for structure (layout(row_major std140 ) uniform 4-component vector of float) -0:31 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v1}) -0:31 Constant: -0:31 0 (const uint) -0:31 v2: direct index for structure (layout(row_major std430 ) buffer 4-component vector of float) -0:31 'anon@1' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer 4-component vector of float v2}) +0:31 'input' (in 4-component vector of float) +0:31 v1: direct index for structure (layout(row_major std140 ) uniform 4-component vector of float) +0:31 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v1}) 0:31 Constant: 0:31 0 (const uint) -0:31 v3: direct index for structure (layout(row_major std140 ) uniform 4-component vector of float) -0:31 'anon@2' (layout(set=10 binding=2 row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v3, layout(row_major std140 offset=20 ) uniform int i3}) +0:31 v2: direct index for structure (layout(row_major std430 ) buffer 4-component vector of float) +0:31 'anon@1' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer 4-component vector of float v2}) 0:31 Constant: 0:31 0 (const uint) -0:31 v4: direct index for structure (layout(row_major std430 offset=16 ) buffer 4-component vector of float) -0:31 'anon@3' (layout(binding=8 row_major std430 ) buffer block{layout(row_major std430 offset=16 ) buffer 4-component vector of float v4, layout(row_major std430 offset=48 ) buffer int i4, layout(row_major std430 offset=60 ) buffer float f1, layout(row_major std430 offset=64 ) buffer float f3, layout(row_major std430 offset=68 ) buffer float f4, layout(row_major std430 offset=72 ) buffer float f5, layout(row_major std430 ) buffer float f6, layout(row_major std430 ) buffer float f7, layout(row_major std430 ) buffer 3X4 matrix of float m1, layout(column_major std430 ) buffer 3X4 matrix of float m2, layout(row_major std430 ) buffer 3X4 matrix of float m3, ...}) +0:31 v3: direct index for structure (layout(row_major std140 ) uniform 4-component vector of float) +0:31 'anon@2' (layout(set=10 binding=2 row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v3, layout(row_major std140 offset=20 ) uniform int i3}) 0:31 Constant: 0:31 0 (const uint) -0:31 Branch: Return +0:31 v4: direct index for structure (layout(row_major std430 offset=16 ) buffer 4-component vector of float) +0:31 'anon@3' (layout(binding=8 row_major std430 ) buffer block{layout(row_major std430 offset=16 ) buffer 4-component vector of float v4, layout(row_major std430 offset=48 ) buffer int i4, layout(row_major std430 offset=60 ) buffer float f1, layout(row_major std430 offset=64 ) buffer float f3, layout(row_major std430 offset=68 ) buffer float f4, layout(row_major std430 offset=72 ) buffer float f5, layout(row_major std430 ) buffer float f6, layout(row_major std430 ) buffer float f7, layout(row_major std430 ) buffer 3X4 matrix of float m1, layout(column_major std430 ) buffer 3X4 matrix of float m2, layout(row_major std430 ) buffer 3X4 matrix of float m3, ...}) +0:31 Constant: +0:31 0 (const uint) +0:30 Function Definition: PixelShaderFunction( (temp void) +0:30 Function Parameters: +0:? Sequence +0:30 move second child to first child (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:30 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:30 Function Call: @PixelShaderFunction(vf4; (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'input' (layout(location=0 ) in 4-component vector of float) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v1}) 0:? 'anon@1' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer 4-component vector of float v2}) 0:? 'anon@2' (layout(set=10 binding=2 row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v3, layout(row_major std140 offset=20 ) uniform int i3}) 0:? 'anon@3' (layout(binding=8 row_major std430 ) buffer block{layout(row_major std430 offset=16 ) buffer 4-component vector of float v4, layout(row_major std430 offset=48 ) buffer int i4, layout(row_major std430 offset=60 ) buffer float f1, layout(row_major std430 offset=64 ) buffer float f3, layout(row_major std430 offset=68 ) buffer float f4, layout(row_major std430 offset=72 ) buffer float f5, layout(row_major std430 ) buffer float f6, layout(row_major std430 ) buffer float f7, layout(row_major std430 ) buffer 3X4 matrix of float m1, layout(column_major std430 ) buffer 3X4 matrix of float m2, layout(row_major std430 ) buffer 3X4 matrix of float m3, ...}) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 42 +// Id's are bound by 53 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 9 11 + EntryPoint Fragment 4 "PixelShaderFunction" 46 49 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 9 "@entryPointOutput" - Name 11 "input" - Name 13 "" - MemberName 13 0 "v1" - Name 15 "" - Name 22 "" - MemberName 22 0 "v2" - Name 24 "" - Name 28 "cbufName" - MemberName 28(cbufName) 0 "v3" - MemberName 28(cbufName) 1 "i3" - Name 30 "" - Name 35 "tbufName" - MemberName 35(tbufName) 0 "v4" - MemberName 35(tbufName) 1 "i4" - MemberName 35(tbufName) 2 "f1" - MemberName 35(tbufName) 3 "f3" - MemberName 35(tbufName) 4 "f4" - MemberName 35(tbufName) 5 "f5" - MemberName 35(tbufName) 6 "f6" - MemberName 35(tbufName) 7 "f7" - MemberName 35(tbufName) 8 "m1" - MemberName 35(tbufName) 9 "m2" - MemberName 35(tbufName) 10 "m3" - MemberName 35(tbufName) 11 "m4" - Name 37 "" - Decorate 9(@entryPointOutput) Location 0 - Decorate 11(input) Location 0 - MemberDecorate 13 0 Offset 0 - Decorate 13 Block - Decorate 15 DescriptorSet 0 - MemberDecorate 22 0 Offset 0 - Decorate 22 BufferBlock - Decorate 24 DescriptorSet 0 - MemberDecorate 28(cbufName) 0 Offset 0 - MemberDecorate 28(cbufName) 1 Offset 20 - Decorate 28(cbufName) Block - Decorate 30 DescriptorSet 10 - Decorate 30 Binding 2 - MemberDecorate 35(tbufName) 0 Offset 16 - MemberDecorate 35(tbufName) 1 Offset 48 - MemberDecorate 35(tbufName) 2 Offset 60 - MemberDecorate 35(tbufName) 3 Offset 64 - MemberDecorate 35(tbufName) 4 Offset 68 - MemberDecorate 35(tbufName) 5 Offset 72 - MemberDecorate 35(tbufName) 6 Offset 76 - MemberDecorate 35(tbufName) 7 Offset 80 - MemberDecorate 35(tbufName) 8 RowMajor - MemberDecorate 35(tbufName) 8 Offset 96 - MemberDecorate 35(tbufName) 8 MatrixStride 16 - MemberDecorate 35(tbufName) 9 ColMajor - MemberDecorate 35(tbufName) 9 Offset 160 - MemberDecorate 35(tbufName) 9 MatrixStride 16 - MemberDecorate 35(tbufName) 10 RowMajor - MemberDecorate 35(tbufName) 10 Offset 208 - MemberDecorate 35(tbufName) 10 MatrixStride 16 - MemberDecorate 35(tbufName) 11 RowMajor - MemberDecorate 35(tbufName) 11 Offset 272 - MemberDecorate 35(tbufName) 11 MatrixStride 16 - Decorate 35(tbufName) BufferBlock - Decorate 37 DescriptorSet 0 - Decorate 37 Binding 8 + Name 11 "@PixelShaderFunction(vf4;" + Name 10 "input" + Name 14 "" + MemberName 14 0 "v1" + Name 16 "" + Name 23 "" + MemberName 23 0 "v2" + Name 25 "" + Name 29 "cbufName" + MemberName 29(cbufName) 0 "v3" + MemberName 29(cbufName) 1 "i3" + Name 31 "" + Name 36 "tbufName" + MemberName 36(tbufName) 0 "v4" + MemberName 36(tbufName) 1 "i4" + MemberName 36(tbufName) 2 "f1" + MemberName 36(tbufName) 3 "f3" + MemberName 36(tbufName) 4 "f4" + MemberName 36(tbufName) 5 "f5" + MemberName 36(tbufName) 6 "f6" + MemberName 36(tbufName) 7 "f7" + MemberName 36(tbufName) 8 "m1" + MemberName 36(tbufName) 9 "m2" + MemberName 36(tbufName) 10 "m3" + MemberName 36(tbufName) 11 "m4" + Name 38 "" + Name 44 "input" + Name 46 "input" + Name 49 "@entryPointOutput" + Name 50 "param" + MemberDecorate 14 0 Offset 0 + Decorate 14 Block + Decorate 16 DescriptorSet 0 + MemberDecorate 23 0 Offset 0 + Decorate 23 BufferBlock + Decorate 25 DescriptorSet 0 + MemberDecorate 29(cbufName) 0 Offset 0 + MemberDecorate 29(cbufName) 1 Offset 20 + Decorate 29(cbufName) Block + Decorate 31 DescriptorSet 10 + Decorate 31 Binding 2 + MemberDecorate 36(tbufName) 0 Offset 16 + MemberDecorate 36(tbufName) 1 Offset 48 + MemberDecorate 36(tbufName) 2 Offset 60 + MemberDecorate 36(tbufName) 3 Offset 64 + MemberDecorate 36(tbufName) 4 Offset 68 + MemberDecorate 36(tbufName) 5 Offset 72 + MemberDecorate 36(tbufName) 6 Offset 76 + MemberDecorate 36(tbufName) 7 Offset 80 + MemberDecorate 36(tbufName) 8 RowMajor + MemberDecorate 36(tbufName) 8 Offset 96 + MemberDecorate 36(tbufName) 8 MatrixStride 16 + MemberDecorate 36(tbufName) 9 ColMajor + MemberDecorate 36(tbufName) 9 Offset 160 + MemberDecorate 36(tbufName) 9 MatrixStride 16 + MemberDecorate 36(tbufName) 10 RowMajor + MemberDecorate 36(tbufName) 10 Offset 208 + MemberDecorate 36(tbufName) 10 MatrixStride 16 + MemberDecorate 36(tbufName) 11 RowMajor + MemberDecorate 36(tbufName) 11 Offset 272 + MemberDecorate 36(tbufName) 11 MatrixStride 16 + Decorate 36(tbufName) BufferBlock + Decorate 38 DescriptorSet 0 + Decorate 38 Binding 8 + Decorate 46(input) Location 0 + Decorate 49(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Output 7(fvec4) -9(@entryPointOutput): 8(ptr) Variable Output - 10: TypePointer Input 7(fvec4) - 11(input): 10(ptr) Variable Input - 13: TypeStruct 7(fvec4) - 14: TypePointer Uniform 13(struct) - 15: 14(ptr) Variable Uniform - 16: TypeInt 32 1 - 17: 16(int) Constant 0 - 18: TypePointer Uniform 7(fvec4) - 22: TypeStruct 7(fvec4) - 23: TypePointer Uniform 22(struct) - 24: 23(ptr) Variable Uniform - 28(cbufName): TypeStruct 7(fvec4) 16(int) - 29: TypePointer Uniform 28(cbufName) - 30: 29(ptr) Variable Uniform - 34: TypeMatrix 7(fvec4) 3 - 35(tbufName): TypeStruct 7(fvec4) 16(int) 6(float) 6(float) 6(float) 6(float) 6(float) 6(float) 34 34 34 34 - 36: TypePointer Uniform 35(tbufName) - 37: 36(ptr) Variable Uniform + 8: TypePointer Function 7(fvec4) + 9: TypeFunction 7(fvec4) 8(ptr) + 14: TypeStruct 7(fvec4) + 15: TypePointer Uniform 14(struct) + 16: 15(ptr) Variable Uniform + 17: TypeInt 32 1 + 18: 17(int) Constant 0 + 19: TypePointer Uniform 7(fvec4) + 23: TypeStruct 7(fvec4) + 24: TypePointer Uniform 23(struct) + 25: 24(ptr) Variable Uniform + 29(cbufName): TypeStruct 7(fvec4) 17(int) + 30: TypePointer Uniform 29(cbufName) + 31: 30(ptr) Variable Uniform + 35: TypeMatrix 7(fvec4) 3 + 36(tbufName): TypeStruct 7(fvec4) 17(int) 6(float) 6(float) 6(float) 6(float) 6(float) 6(float) 35 35 35 35 + 37: TypePointer Uniform 36(tbufName) + 38: 37(ptr) Variable Uniform + 45: TypePointer Input 7(fvec4) + 46(input): 45(ptr) Variable Input + 48: TypePointer Output 7(fvec4) +49(@entryPointOutput): 48(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label - 12: 7(fvec4) Load 11(input) - 19: 18(ptr) AccessChain 15 17 - 20: 7(fvec4) Load 19 - 21: 7(fvec4) FAdd 12 20 - 25: 18(ptr) AccessChain 24 17 - 26: 7(fvec4) Load 25 - 27: 7(fvec4) FAdd 21 26 - 31: 18(ptr) AccessChain 30 17 - 32: 7(fvec4) Load 31 - 33: 7(fvec4) FAdd 27 32 - 38: 18(ptr) AccessChain 37 17 - 39: 7(fvec4) Load 38 - 40: 7(fvec4) FAdd 33 39 - Store 9(@entryPointOutput) 40 + 44(input): 8(ptr) Variable Function + 50(param): 8(ptr) Variable Function + 47: 7(fvec4) Load 46(input) + Store 44(input) 47 + 51: 7(fvec4) Load 44(input) + Store 50(param) 51 + 52: 7(fvec4) FunctionCall 11(@PixelShaderFunction(vf4;) 50(param) + Store 49(@entryPointOutput) 52 Return FunctionEnd +11(@PixelShaderFunction(vf4;): 7(fvec4) Function None 9 + 10(input): 8(ptr) FunctionParameter + 12: Label + 13: 7(fvec4) Load 10(input) + 20: 19(ptr) AccessChain 16 18 + 21: 7(fvec4) Load 20 + 22: 7(fvec4) FAdd 13 21 + 26: 19(ptr) AccessChain 25 18 + 27: 7(fvec4) Load 26 + 28: 7(fvec4) FAdd 22 27 + 32: 19(ptr) AccessChain 31 18 + 33: 7(fvec4) Load 32 + 34: 7(fvec4) FAdd 28 33 + 39: 19(ptr) AccessChain 38 18 + 40: 7(fvec4) Load 39 + 41: 7(fvec4) FAdd 34 40 + ReturnValue 41 + FunctionEnd diff --git a/Test/baseResults/hlsl.calculatelod.dx10.frag.out b/Test/baseResults/hlsl.calculatelod.dx10.frag.out index 56a2ce86..98c5c544 100644 --- a/Test/baseResults/hlsl.calculatelod.dx10.frag.out +++ b/Test/baseResults/hlsl.calculatelod.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.calculatelod.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:24 Function Parameters: 0:? Sequence 0:28 Sequence @@ -139,24 +139,28 @@ gl_FragCoord origin is upper left 0:41 1 (const int) 0:41 Constant: 0:41 1.000000 -0:43 Sequence -0:43 Sequence -0:43 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:43 Color: direct index for structure (temp 4-component vector of float) -0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:43 Constant: -0:43 0 (const int) -0:43 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:43 Depth: direct index for structure (temp float) -0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:43 Constant: -0:43 1 (const int) -0:43 Branch: Return +0:43 Branch: Return with expression +0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: main( (temp void) +0:24 Function Parameters: +0:? Sequence +0:24 Sequence +0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:24 Color: direct index for structure (temp 4-component vector of float) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:24 Depth: direct index for structure (temp float) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -168,6 +172,8 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -176,7 +182,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:24 Function Parameters: 0:? Sequence 0:28 Sequence @@ -313,24 +319,28 @@ gl_FragCoord origin is upper left 0:41 1 (const int) 0:41 Constant: 0:41 1.000000 -0:43 Sequence -0:43 Sequence -0:43 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:43 Color: direct index for structure (temp 4-component vector of float) -0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:43 Constant: -0:43 0 (const int) -0:43 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:43 Depth: direct index for structure (temp float) -0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:43 Constant: -0:43 1 (const int) -0:43 Branch: Return +0:43 Branch: Return with expression +0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: main( (temp void) +0:24 Function Parameters: +0:? Sequence +0:24 Sequence +0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:24 Color: direct index for structure (temp 4-component vector of float) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:24 Depth: direct index for structure (temp float) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -342,10 +352,12 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +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 141 +// Id's are bound by 148 Capability Shader Capability Sampled1D @@ -353,201 +365,212 @@ gl_FragCoord origin is upper left Capability ImageQuery 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 132 136 + EntryPoint Fragment 4 "main" 140 144 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "txval10" - Name 11 "g_tTex1df4a" - Name 15 "g_sSamp" - Name 25 "txval11" - Name 28 "g_tTex1di4a" - Name 36 "txval12" - Name 40 "g_tTex1du4a" - Name 48 "txval20" - Name 51 "g_tTex2df4a" - Name 59 "txval21" - Name 62 "g_tTex2di4a" - Name 71 "txval22" - Name 74 "g_tTex2du4a" - Name 84 "txval40" - Name 87 "g_tTexcdf4a" - Name 96 "txval41" - Name 99 "g_tTexcdi4a" - Name 107 "txval42" - Name 110 "g_tTexcdu4a" - Name 122 "PS_OUTPUT" - MemberName 122(PS_OUTPUT) 0 "Color" - MemberName 122(PS_OUTPUT) 1 "Depth" - Name 124 "psout" - Name 132 "Color" - Name 136 "Depth" - Name 140 "g_tTex1df4" - Decorate 11(g_tTex1df4a) DescriptorSet 0 - Decorate 11(g_tTex1df4a) Binding 1 - Decorate 15(g_sSamp) DescriptorSet 0 - Decorate 15(g_sSamp) Binding 0 - Decorate 28(g_tTex1di4a) DescriptorSet 0 - Decorate 40(g_tTex1du4a) DescriptorSet 0 - Decorate 51(g_tTex2df4a) DescriptorSet 0 - Decorate 62(g_tTex2di4a) DescriptorSet 0 - Decorate 74(g_tTex2du4a) DescriptorSet 0 - Decorate 87(g_tTexcdf4a) DescriptorSet 0 - Decorate 99(g_tTexcdi4a) DescriptorSet 0 - Decorate 110(g_tTexcdu4a) DescriptorSet 0 - Decorate 132(Color) Location 0 - Decorate 136(Depth) BuiltIn FragDepth - Decorate 140(g_tTex1df4) DescriptorSet 0 - Decorate 140(g_tTex1df4) Binding 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval10" + Name 16 "g_tTex1df4a" + Name 20 "g_sSamp" + Name 30 "txval11" + Name 33 "g_tTex1di4a" + Name 41 "txval12" + Name 45 "g_tTex1du4a" + Name 53 "txval20" + Name 56 "g_tTex2df4a" + Name 64 "txval21" + Name 67 "g_tTex2di4a" + Name 76 "txval22" + Name 79 "g_tTex2du4a" + Name 89 "txval40" + Name 92 "g_tTexcdf4a" + Name 101 "txval41" + Name 104 "g_tTexcdi4a" + Name 112 "txval42" + Name 115 "g_tTexcdu4a" + Name 127 "psout" + Name 137 "flattenTemp" + Name 140 "Color" + Name 144 "Depth" + Name 147 "g_tTex1df4" + Decorate 16(g_tTex1df4a) DescriptorSet 0 + Decorate 16(g_tTex1df4a) Binding 1 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 33(g_tTex1di4a) DescriptorSet 0 + Decorate 45(g_tTex1du4a) DescriptorSet 0 + Decorate 56(g_tTex2df4a) DescriptorSet 0 + Decorate 67(g_tTex2di4a) DescriptorSet 0 + Decorate 79(g_tTex2du4a) DescriptorSet 0 + Decorate 92(g_tTexcdf4a) DescriptorSet 0 + Decorate 104(g_tTexcdi4a) DescriptorSet 0 + Decorate 115(g_tTexcdu4a) DescriptorSet 0 + Decorate 140(Color) Location 0 + Decorate 144(Depth) BuiltIn FragDepth + Decorate 147(g_tTex1df4) DescriptorSet 0 + Decorate 147(g_tTex1df4) Binding 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypePointer Function 6(float) - 9: TypeImage 6(float) 1D array sampled format:Unknown - 10: TypePointer UniformConstant 9 - 11(g_tTex1df4a): 10(ptr) Variable UniformConstant - 13: TypeSampler - 14: TypePointer UniformConstant 13 - 15(g_sSamp): 14(ptr) Variable UniformConstant - 17: TypeSampledImage 9 - 19: 6(float) Constant 1036831949 - 20: TypeVector 6(float) 2 - 22: TypeInt 32 1 - 23: 22(int) Constant 0 - 26: TypeImage 22(int) 1D array sampled format:Unknown - 27: TypePointer UniformConstant 26 - 28(g_tTex1di4a): 27(ptr) Variable UniformConstant - 31: TypeSampledImage 26 - 33: 6(float) Constant 1045220557 - 37: TypeInt 32 0 - 38: TypeImage 37(int) 1D array sampled format:Unknown - 39: TypePointer UniformConstant 38 - 40(g_tTex1du4a): 39(ptr) Variable UniformConstant - 43: TypeSampledImage 38 - 45: 6(float) Constant 1050253722 - 49: TypeImage 6(float) 2D array sampled format:Unknown - 50: TypePointer UniformConstant 49 - 51(g_tTex2df4a): 50(ptr) Variable UniformConstant - 54: TypeSampledImage 49 - 56: 20(fvec2) ConstantComposite 19 33 - 60: TypeImage 22(int) 2D array sampled format:Unknown - 61: TypePointer UniformConstant 60 - 62(g_tTex2di4a): 61(ptr) Variable UniformConstant - 65: TypeSampledImage 60 - 67: 6(float) Constant 1053609165 - 68: 20(fvec2) ConstantComposite 45 67 - 72: TypeImage 37(int) 2D array sampled format:Unknown - 73: TypePointer UniformConstant 72 - 74(g_tTex2du4a): 73(ptr) Variable UniformConstant - 77: TypeSampledImage 72 - 79: 6(float) Constant 1056964608 - 80: 6(float) Constant 1058642330 - 81: 20(fvec2) ConstantComposite 79 80 - 85: TypeImage 6(float) Cube array sampled format:Unknown - 86: TypePointer UniformConstant 85 - 87(g_tTexcdf4a): 86(ptr) Variable UniformConstant - 90: TypeSampledImage 85 - 92: TypeVector 6(float) 3 - 93: 92(fvec3) ConstantComposite 19 33 45 - 97: TypeImage 22(int) Cube array sampled format:Unknown - 98: TypePointer UniformConstant 97 - 99(g_tTexcdi4a): 98(ptr) Variable UniformConstant - 102: TypeSampledImage 97 - 104: 92(fvec3) ConstantComposite 67 79 80 - 108: TypeImage 37(int) Cube array sampled format:Unknown - 109: TypePointer UniformConstant 108 -110(g_tTexcdu4a): 109(ptr) Variable UniformConstant - 113: TypeSampledImage 108 - 115: 6(float) Constant 1060320051 - 116: 6(float) Constant 1061997773 - 117: 6(float) Constant 1063675494 - 118: 92(fvec3) ConstantComposite 115 116 117 - 121: TypeVector 6(float) 4 - 122(PS_OUTPUT): TypeStruct 121(fvec4) 6(float) - 123: TypePointer Function 122(PS_OUTPUT) - 125: 6(float) Constant 1065353216 - 126: 121(fvec4) ConstantComposite 125 125 125 125 - 127: TypePointer Function 121(fvec4) - 129: 22(int) Constant 1 - 131: TypePointer Output 121(fvec4) - 132(Color): 131(ptr) Variable Output - 135: TypePointer Output 6(float) - 136(Depth): 135(ptr) Variable Output - 140(g_tTex1df4): 10(ptr) Variable UniformConstant + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 6(float) + 14: TypeImage 6(float) 1D array sampled format:Unknown + 15: TypePointer UniformConstant 14 + 16(g_tTex1df4a): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: 6(float) Constant 1036831949 + 25: TypeVector 6(float) 2 + 27: TypeInt 32 1 + 28: 27(int) Constant 0 + 31: TypeImage 27(int) 1D array sampled format:Unknown + 32: TypePointer UniformConstant 31 + 33(g_tTex1di4a): 32(ptr) Variable UniformConstant + 36: TypeSampledImage 31 + 38: 6(float) Constant 1045220557 + 42: TypeInt 32 0 + 43: TypeImage 42(int) 1D array sampled format:Unknown + 44: TypePointer UniformConstant 43 + 45(g_tTex1du4a): 44(ptr) Variable UniformConstant + 48: TypeSampledImage 43 + 50: 6(float) Constant 1050253722 + 54: TypeImage 6(float) 2D array sampled format:Unknown + 55: TypePointer UniformConstant 54 + 56(g_tTex2df4a): 55(ptr) Variable UniformConstant + 59: TypeSampledImage 54 + 61: 25(fvec2) ConstantComposite 24 38 + 65: TypeImage 27(int) 2D array sampled format:Unknown + 66: TypePointer UniformConstant 65 + 67(g_tTex2di4a): 66(ptr) Variable UniformConstant + 70: TypeSampledImage 65 + 72: 6(float) Constant 1053609165 + 73: 25(fvec2) ConstantComposite 50 72 + 77: TypeImage 42(int) 2D array sampled format:Unknown + 78: TypePointer UniformConstant 77 + 79(g_tTex2du4a): 78(ptr) Variable UniformConstant + 82: TypeSampledImage 77 + 84: 6(float) Constant 1056964608 + 85: 6(float) Constant 1058642330 + 86: 25(fvec2) ConstantComposite 84 85 + 90: TypeImage 6(float) Cube array sampled format:Unknown + 91: TypePointer UniformConstant 90 + 92(g_tTexcdf4a): 91(ptr) Variable UniformConstant + 95: TypeSampledImage 90 + 97: TypeVector 6(float) 3 + 98: 97(fvec3) ConstantComposite 24 38 50 + 102: TypeImage 27(int) Cube array sampled format:Unknown + 103: TypePointer UniformConstant 102 +104(g_tTexcdi4a): 103(ptr) Variable UniformConstant + 107: TypeSampledImage 102 + 109: 97(fvec3) ConstantComposite 72 84 85 + 113: TypeImage 42(int) Cube array sampled format:Unknown + 114: TypePointer UniformConstant 113 +115(g_tTexcdu4a): 114(ptr) Variable UniformConstant + 118: TypeSampledImage 113 + 120: 6(float) Constant 1060320051 + 121: 6(float) Constant 1061997773 + 122: 6(float) Constant 1063675494 + 123: 97(fvec3) ConstantComposite 120 121 122 + 126: TypePointer Function 8(PS_OUTPUT) + 128: 6(float) Constant 1065353216 + 129: 7(fvec4) ConstantComposite 128 128 128 128 + 130: TypePointer Function 7(fvec4) + 132: 27(int) Constant 1 + 139: TypePointer Output 7(fvec4) + 140(Color): 139(ptr) Variable Output + 143: TypePointer Output 6(float) + 144(Depth): 143(ptr) Variable Output + 147(g_tTex1df4): 15(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 8(txval10): 7(ptr) Variable Function - 25(txval11): 7(ptr) Variable Function - 36(txval12): 7(ptr) Variable Function - 48(txval20): 7(ptr) Variable Function - 59(txval21): 7(ptr) Variable Function - 71(txval22): 7(ptr) Variable Function - 84(txval40): 7(ptr) Variable Function - 96(txval41): 7(ptr) Variable Function - 107(txval42): 7(ptr) Variable Function - 124(psout): 123(ptr) Variable Function - 12: 9 Load 11(g_tTex1df4a) - 16: 13 Load 15(g_sSamp) - 18: 17 SampledImage 12 16 - 21: 20(fvec2) ImageQueryLod 18 19 - 24: 6(float) CompositeExtract 21 0 - Store 8(txval10) 24 - 29: 26 Load 28(g_tTex1di4a) - 30: 13 Load 15(g_sSamp) - 32: 31 SampledImage 29 30 - 34: 20(fvec2) ImageQueryLod 32 33 - 35: 6(float) CompositeExtract 34 0 - Store 25(txval11) 35 - 41: 38 Load 40(g_tTex1du4a) - 42: 13 Load 15(g_sSamp) - 44: 43 SampledImage 41 42 - 46: 20(fvec2) ImageQueryLod 44 45 - 47: 6(float) CompositeExtract 46 0 - Store 36(txval12) 47 - 52: 49 Load 51(g_tTex2df4a) - 53: 13 Load 15(g_sSamp) - 55: 54 SampledImage 52 53 - 57: 20(fvec2) ImageQueryLod 55 56 - 58: 6(float) CompositeExtract 57 0 - Store 48(txval20) 58 - 63: 60 Load 62(g_tTex2di4a) - 64: 13 Load 15(g_sSamp) - 66: 65 SampledImage 63 64 - 69: 20(fvec2) ImageQueryLod 66 68 - 70: 6(float) CompositeExtract 69 0 - Store 59(txval21) 70 - 75: 72 Load 74(g_tTex2du4a) - 76: 13 Load 15(g_sSamp) - 78: 77 SampledImage 75 76 - 82: 20(fvec2) ImageQueryLod 78 81 - 83: 6(float) CompositeExtract 82 0 - Store 71(txval22) 83 - 88: 85 Load 87(g_tTexcdf4a) - 89: 13 Load 15(g_sSamp) - 91: 90 SampledImage 88 89 - 94: 20(fvec2) ImageQueryLod 91 93 - 95: 6(float) CompositeExtract 94 0 - Store 84(txval40) 95 - 100: 97 Load 99(g_tTexcdi4a) - 101: 13 Load 15(g_sSamp) - 103: 102 SampledImage 100 101 - 105: 20(fvec2) ImageQueryLod 103 104 - 106: 6(float) CompositeExtract 105 0 - Store 96(txval41) 106 - 111: 108 Load 110(g_tTexcdu4a) - 112: 13 Load 15(g_sSamp) - 114: 113 SampledImage 111 112 - 119: 20(fvec2) ImageQueryLod 114 118 - 120: 6(float) CompositeExtract 119 0 - Store 107(txval42) 120 - 128: 127(ptr) AccessChain 124(psout) 23 - Store 128 126 - 130: 7(ptr) AccessChain 124(psout) 129 - Store 130 125 - 133: 127(ptr) AccessChain 124(psout) 23 - 134: 121(fvec4) Load 133 - Store 132(Color) 134 - 137: 7(ptr) AccessChain 124(psout) 129 - 138: 6(float) Load 137 - Store 136(Depth) 138 +137(flattenTemp): 126(ptr) Variable Function + 138:8(PS_OUTPUT) FunctionCall 10(@main() + Store 137(flattenTemp) 138 + 141: 130(ptr) AccessChain 137(flattenTemp) 28 + 142: 7(fvec4) Load 141 + Store 140(Color) 142 + 145: 12(ptr) AccessChain 137(flattenTemp) 132 + 146: 6(float) Load 145 + Store 144(Depth) 146 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval10): 12(ptr) Variable Function + 30(txval11): 12(ptr) Variable Function + 41(txval12): 12(ptr) Variable Function + 53(txval20): 12(ptr) Variable Function + 64(txval21): 12(ptr) Variable Function + 76(txval22): 12(ptr) Variable Function + 89(txval40): 12(ptr) Variable Function + 101(txval41): 12(ptr) Variable Function + 112(txval42): 12(ptr) Variable Function + 127(psout): 126(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4a) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 26: 25(fvec2) ImageQueryLod 23 24 + 29: 6(float) CompositeExtract 26 0 + Store 13(txval10) 29 + 34: 31 Load 33(g_tTex1di4a) + 35: 18 Load 20(g_sSamp) + 37: 36 SampledImage 34 35 + 39: 25(fvec2) ImageQueryLod 37 38 + 40: 6(float) CompositeExtract 39 0 + Store 30(txval11) 40 + 46: 43 Load 45(g_tTex1du4a) + 47: 18 Load 20(g_sSamp) + 49: 48 SampledImage 46 47 + 51: 25(fvec2) ImageQueryLod 49 50 + 52: 6(float) CompositeExtract 51 0 + Store 41(txval12) 52 + 57: 54 Load 56(g_tTex2df4a) + 58: 18 Load 20(g_sSamp) + 60: 59 SampledImage 57 58 + 62: 25(fvec2) ImageQueryLod 60 61 + 63: 6(float) CompositeExtract 62 0 + Store 53(txval20) 63 + 68: 65 Load 67(g_tTex2di4a) + 69: 18 Load 20(g_sSamp) + 71: 70 SampledImage 68 69 + 74: 25(fvec2) ImageQueryLod 71 73 + 75: 6(float) CompositeExtract 74 0 + Store 64(txval21) 75 + 80: 77 Load 79(g_tTex2du4a) + 81: 18 Load 20(g_sSamp) + 83: 82 SampledImage 80 81 + 87: 25(fvec2) ImageQueryLod 83 86 + 88: 6(float) CompositeExtract 87 0 + Store 76(txval22) 88 + 93: 90 Load 92(g_tTexcdf4a) + 94: 18 Load 20(g_sSamp) + 96: 95 SampledImage 93 94 + 99: 25(fvec2) ImageQueryLod 96 98 + 100: 6(float) CompositeExtract 99 0 + Store 89(txval40) 100 + 105: 102 Load 104(g_tTexcdi4a) + 106: 18 Load 20(g_sSamp) + 108: 107 SampledImage 105 106 + 110: 25(fvec2) ImageQueryLod 108 109 + 111: 6(float) CompositeExtract 110 0 + Store 101(txval41) 111 + 116: 113 Load 115(g_tTexcdu4a) + 117: 18 Load 20(g_sSamp) + 119: 118 SampledImage 116 117 + 124: 25(fvec2) ImageQueryLod 119 123 + 125: 6(float) CompositeExtract 124 0 + Store 112(txval42) 125 + 131: 130(ptr) AccessChain 127(psout) 28 + Store 131 129 + 133: 12(ptr) AccessChain 127(psout) 132 + Store 133 128 + 134:8(PS_OUTPUT) Load 127(psout) + ReturnValue 134 + FunctionEnd diff --git a/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out b/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out index 799dcc37..d7d64739 100644 --- a/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out +++ b/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out @@ -14,7 +14,7 @@ ERROR: 9 compilation errors. No code generated. Shader version: 450 gl_FragCoord origin is upper left ERROR: node is still EOpNull! -0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:24 Function Parameters: 0:? Sequence 0:28 Sequence @@ -151,24 +151,28 @@ ERROR: node is still EOpNull! 0:41 1 (const int) 0:41 Constant: 0:41 1.000000 -0:43 Sequence -0:43 Sequence -0:43 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:43 Color: direct index for structure (temp 4-component vector of float) -0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:43 Constant: -0:43 0 (const int) -0:43 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:43 Depth: direct index for structure (temp float) -0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:43 Constant: -0:43 1 (const int) -0:43 Branch: Return +0:43 Branch: Return with expression +0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: main( (temp void) +0:24 Function Parameters: +0:? Sequence +0:24 Sequence +0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:24 Color: direct index for structure (temp 4-component vector of float) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:24 Depth: direct index for structure (temp float) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -180,6 +184,8 @@ ERROR: node is still EOpNull! 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -188,7 +194,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left ERROR: node is still EOpNull! -0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:24 Function Parameters: 0:? Sequence 0:28 Sequence @@ -325,24 +331,28 @@ ERROR: node is still EOpNull! 0:41 1 (const int) 0:41 Constant: 0:41 1.000000 -0:43 Sequence -0:43 Sequence -0:43 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:43 Color: direct index for structure (temp 4-component vector of float) -0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:43 Constant: -0:43 0 (const int) -0:43 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:43 Depth: direct index for structure (temp float) -0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:43 Constant: -0:43 1 (const int) -0:43 Branch: Return +0:43 Branch: Return with expression +0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: main( (temp void) +0:24 Function Parameters: +0:? Sequence +0:24 Sequence +0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:24 Color: direct index for structure (temp 4-component vector of float) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:24 Depth: direct index for structure (temp float) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -354,5 +364,7 @@ ERROR: node is still EOpNull! 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) SPIR-V is not generated for failed compile or link diff --git a/Test/baseResults/hlsl.cast.frag.out b/Test/baseResults/hlsl.cast.frag.out index bf7183f2..842838d6 100755 --- a/Test/baseResults/hlsl.cast.frag.out +++ b/Test/baseResults/hlsl.cast.frag.out @@ -2,26 +2,33 @@ hlsl.cast.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) +0:2 Function Definition: @PixelShaderFunction(vf4; (temp 4-component vector of float) 0:2 Function Parameters: -0:2 'input' (layout(location=0 ) in 4-component vector of float) +0:2 'input' (in 4-component vector of float) 0:? Sequence -0:3 Sequence -0:3 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:3 Branch: Return with expression +0:3 add (temp 4-component vector of float) 0:3 add (temp 4-component vector of float) -0:3 add (temp 4-component vector of float) -0:3 Construct vec4 (temp 4-component vector of float) -0:3 'input' (layout(location=0 ) in 4-component vector of float) -0:3 Convert int to float (temp 4-component vector of float) -0:3 Convert float to int (temp 4-component vector of int) -0:3 'input' (layout(location=0 ) in 4-component vector of float) -0:3 Constant: -0:3 1.198000 -0:3 1.198000 -0:3 1.198000 -0:3 1.198000 -0:3 Branch: Return +0:3 Construct vec4 (temp 4-component vector of float) +0:3 'input' (in 4-component vector of float) +0:3 Convert int to float (temp 4-component vector of float) +0:3 Convert float to int (temp 4-component vector of int) +0:3 'input' (in 4-component vector of float) +0:3 Constant: +0:3 1.198000 +0:3 1.198000 +0:3 1.198000 +0:3 1.198000 +0:2 Function Definition: PixelShaderFunction( (temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:2 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:2 Function Call: @PixelShaderFunction(vf4; (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 'input' (layout(location=0 ) in 4-component vector of float) @@ -33,69 +40,94 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) +0:2 Function Definition: @PixelShaderFunction(vf4; (temp 4-component vector of float) 0:2 Function Parameters: -0:2 'input' (layout(location=0 ) in 4-component vector of float) +0:2 'input' (in 4-component vector of float) 0:? Sequence -0:3 Sequence -0:3 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:3 Branch: Return with expression +0:3 add (temp 4-component vector of float) 0:3 add (temp 4-component vector of float) -0:3 add (temp 4-component vector of float) -0:3 Construct vec4 (temp 4-component vector of float) -0:3 'input' (layout(location=0 ) in 4-component vector of float) -0:3 Convert int to float (temp 4-component vector of float) -0:3 Convert float to int (temp 4-component vector of int) -0:3 'input' (layout(location=0 ) in 4-component vector of float) -0:3 Constant: -0:3 1.198000 -0:3 1.198000 -0:3 1.198000 -0:3 1.198000 -0:3 Branch: Return +0:3 Construct vec4 (temp 4-component vector of float) +0:3 'input' (in 4-component vector of float) +0:3 Convert int to float (temp 4-component vector of float) +0:3 Convert float to int (temp 4-component vector of int) +0:3 'input' (in 4-component vector of float) +0:3 Constant: +0:3 1.198000 +0:3 1.198000 +0:3 1.198000 +0:3 1.198000 +0:2 Function Definition: PixelShaderFunction( (temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:2 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:2 Function Call: @PixelShaderFunction(vf4; (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 'input' (layout(location=0 ) in 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 28 +// Id's are bound by 39 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 9 11 + EntryPoint Fragment 4 "PixelShaderFunction" 32 35 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 9 "@entryPointOutput" - Name 11 "input" - Decorate 9(@entryPointOutput) Location 0 - Decorate 11(input) Location 0 + Name 11 "@PixelShaderFunction(vf4;" + Name 10 "input" + Name 30 "input" + Name 32 "input" + Name 35 "@entryPointOutput" + Name 36 "param" + Decorate 32(input) Location 0 + Decorate 35(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Output 7(fvec4) -9(@entryPointOutput): 8(ptr) Variable Output - 10: TypePointer Input 7(fvec4) - 11(input): 10(ptr) Variable Input - 19: TypeInt 32 1 - 20: TypeVector 19(int) 4 - 24: 6(float) Constant 1067014160 - 25: 7(fvec4) ConstantComposite 24 24 24 24 + 8: TypePointer Function 7(fvec4) + 9: TypeFunction 7(fvec4) 8(ptr) + 20: TypeInt 32 1 + 21: TypeVector 20(int) 4 + 25: 6(float) Constant 1067014160 + 26: 7(fvec4) ConstantComposite 25 25 25 25 + 31: TypePointer Input 7(fvec4) + 32(input): 31(ptr) Variable Input + 34: TypePointer Output 7(fvec4) +35(@entryPointOutput): 34(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label - 12: 7(fvec4) Load 11(input) - 13: 6(float) CompositeExtract 12 0 - 14: 6(float) CompositeExtract 12 1 - 15: 6(float) CompositeExtract 12 2 - 16: 6(float) CompositeExtract 12 3 - 17: 7(fvec4) CompositeConstruct 13 14 15 16 - 18: 7(fvec4) Load 11(input) - 21: 20(ivec4) ConvertFToS 18 - 22: 7(fvec4) ConvertSToF 21 - 23: 7(fvec4) FAdd 17 22 - 26: 7(fvec4) FAdd 23 25 - Store 9(@entryPointOutput) 26 + 30(input): 8(ptr) Variable Function + 36(param): 8(ptr) Variable Function + 33: 7(fvec4) Load 32(input) + Store 30(input) 33 + 37: 7(fvec4) Load 30(input) + Store 36(param) 37 + 38: 7(fvec4) FunctionCall 11(@PixelShaderFunction(vf4;) 36(param) + Store 35(@entryPointOutput) 38 Return FunctionEnd +11(@PixelShaderFunction(vf4;): 7(fvec4) Function None 9 + 10(input): 8(ptr) FunctionParameter + 12: Label + 13: 7(fvec4) Load 10(input) + 14: 6(float) CompositeExtract 13 0 + 15: 6(float) CompositeExtract 13 1 + 16: 6(float) CompositeExtract 13 2 + 17: 6(float) CompositeExtract 13 3 + 18: 7(fvec4) CompositeConstruct 14 15 16 17 + 19: 7(fvec4) Load 10(input) + 22: 21(ivec4) ConvertFToS 19 + 23: 7(fvec4) ConvertSToF 22 + 24: 7(fvec4) FAdd 18 23 + 27: 7(fvec4) FAdd 24 26 + ReturnValue 27 + FunctionEnd diff --git a/Test/baseResults/hlsl.comparison.vec.frag.out b/Test/baseResults/hlsl.comparison.vec.frag.out index 1bf63ec8..2edc04a5 100644 --- a/Test/baseResults/hlsl.comparison.vec.frag.out +++ b/Test/baseResults/hlsl.comparison.vec.frag.out @@ -99,7 +99,7 @@ gl_FragCoord origin is upper left 0:21 Construct vec4 (in 4-component vector of float) 0:21 'v01' (temp float) 0:21 'a' (in 4-component vector of float) -0:30 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:30 Function Definition: @main( (temp structure{temp 4-component vector of float Color}) 0:30 Function Parameters: 0:? Sequence 0:32 move second child to first child (temp 4-component vector of float) @@ -112,18 +112,21 @@ gl_FragCoord origin is upper left 0:32 0.000000 0:32 0.000000 0:32 0.000000 -0:33 Sequence -0:33 Sequence -0:33 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:33 Color: direct index for structure (temp 4-component vector of float) -0:33 'psout' (temp structure{temp 4-component vector of float Color}) -0:33 Constant: -0:33 0 (const int) -0:33 Branch: Return +0:33 Branch: Return with expression +0:33 'psout' (temp structure{temp 4-component vector of float Color}) +0:30 Function Definition: main( (temp void) +0:30 Function Parameters: +0:? Sequence +0:30 Sequence +0:30 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:30 Color: direct index for structure (temp 4-component vector of float) +0:30 Function Call: @main( (temp structure{temp 4-component vector of float Color}) +0:30 Constant: +0:30 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float uf4}) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) Linked fragment stage: @@ -229,7 +232,7 @@ gl_FragCoord origin is upper left 0:21 Construct vec4 (in 4-component vector of float) 0:21 'v01' (temp float) 0:21 'a' (in 4-component vector of float) -0:30 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:30 Function Definition: @main( (temp structure{temp 4-component vector of float Color}) 0:30 Function Parameters: 0:? Sequence 0:32 move second child to first child (temp 4-component vector of float) @@ -242,161 +245,171 @@ gl_FragCoord origin is upper left 0:32 0.000000 0:32 0.000000 0:32 0.000000 -0:33 Sequence -0:33 Sequence -0:33 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:33 Color: direct index for structure (temp 4-component vector of float) -0:33 'psout' (temp structure{temp 4-component vector of float Color}) -0:33 Constant: -0:33 0 (const int) -0:33 Branch: Return +0:33 Branch: Return with expression +0:33 'psout' (temp structure{temp 4-component vector of float Color}) +0:30 Function Definition: main( (temp void) +0:30 Function Parameters: +0:? Sequence +0:30 Sequence +0:30 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:30 Color: direct index for structure (temp 4-component vector of float) +0:30 Function Call: @main( (temp structure{temp 4-component vector of float Color}) +0:30 Constant: +0:30 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float uf4}) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 91 +// Id's are bound by 96 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 84 + EntryPoint Fragment 4 "main" 90 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 11 "Bug1(vf4;" Name 10 "a" - Name 13 "v04" - Name 17 "v01" - Name 21 "r00" - Name 25 "r01" - Name 29 "r02" - Name 33 "r03" - Name 37 "r10" - Name 42 "r11" - Name 47 "r12" - Name 52 "r13" - Name 57 "r20" - Name 62 "r21" - Name 67 "r22" - Name 72 "r23" - Name 77 "PS_OUTPUT" - MemberName 77(PS_OUTPUT) 0 "Color" - Name 79 "psout" - Name 84 "Color" - Name 88 "$Global" - MemberName 88($Global) 0 "uf4" - Name 90 "" - Decorate 84(Color) Location 0 - MemberDecorate 88($Global) 0 Offset 0 - Decorate 88($Global) Block - Decorate 90 DescriptorSet 0 + Name 13 "PS_OUTPUT" + MemberName 13(PS_OUTPUT) 0 "Color" + Name 15 "@main(" + Name 17 "v04" + Name 21 "v01" + Name 25 "r00" + Name 29 "r01" + Name 33 "r02" + Name 37 "r03" + Name 41 "r10" + Name 46 "r11" + Name 51 "r12" + Name 56 "r13" + Name 61 "r20" + Name 66 "r21" + Name 71 "r22" + Name 76 "r23" + Name 82 "psout" + Name 90 "Color" + Name 93 "$Global" + MemberName 93($Global) 0 "uf4" + Name 95 "" + Decorate 90(Color) Location 0 + MemberDecorate 93($Global) 0 Offset 0 + Decorate 93($Global) Block + Decorate 95 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 8: TypePointer Function 7(fvec4) 9: TypeFunction 2 8(ptr) - 14: 6(float) Constant 0 - 15: 7(fvec4) ConstantComposite 14 14 14 14 - 16: TypePointer Function 6(float) - 18: TypeBool - 19: TypeVector 18(bool) 4 - 20: TypePointer Function 19(bvec4) - 77(PS_OUTPUT): TypeStruct 7(fvec4) - 78: TypePointer Function 77(PS_OUTPUT) - 80: TypeInt 32 1 - 81: 80(int) Constant 0 - 83: TypePointer Output 7(fvec4) - 84(Color): 83(ptr) Variable Output - 88($Global): TypeStruct 7(fvec4) - 89: TypePointer Uniform 88($Global) - 90: 89(ptr) Variable Uniform + 13(PS_OUTPUT): TypeStruct 7(fvec4) + 14: TypeFunction 13(PS_OUTPUT) + 18: 6(float) Constant 0 + 19: 7(fvec4) ConstantComposite 18 18 18 18 + 20: TypePointer Function 6(float) + 22: TypeBool + 23: TypeVector 22(bool) 4 + 24: TypePointer Function 23(bvec4) + 81: TypePointer Function 13(PS_OUTPUT) + 83: TypeInt 32 1 + 84: 83(int) Constant 0 + 89: TypePointer Output 7(fvec4) + 90(Color): 89(ptr) Variable Output + 93($Global): TypeStruct 7(fvec4) + 94: TypePointer Uniform 93($Global) + 95: 94(ptr) Variable Uniform 4(main): 2 Function None 3 5: Label - 79(psout): 78(ptr) Variable Function - 82: 8(ptr) AccessChain 79(psout) 81 - Store 82 15 - 85: 8(ptr) AccessChain 79(psout) 81 - 86: 7(fvec4) Load 85 - Store 84(Color) 86 + 91:13(PS_OUTPUT) FunctionCall 15(@main() + 92: 7(fvec4) CompositeExtract 91 0 + Store 90(Color) 92 Return FunctionEnd 11(Bug1(vf4;): 2 Function None 9 10(a): 8(ptr) FunctionParameter 12: Label - 13(v04): 8(ptr) Variable Function - 17(v01): 16(ptr) Variable Function - 21(r00): 20(ptr) Variable Function - 25(r01): 20(ptr) Variable Function - 29(r02): 20(ptr) Variable Function - 33(r03): 20(ptr) Variable Function - 37(r10): 20(ptr) Variable Function - 42(r11): 20(ptr) Variable Function - 47(r12): 20(ptr) Variable Function - 52(r13): 20(ptr) Variable Function - 57(r20): 20(ptr) Variable Function - 62(r21): 20(ptr) Variable Function - 67(r22): 20(ptr) Variable Function - 72(r23): 20(ptr) Variable Function - Store 13(v04) 15 - Store 17(v01) 14 - 22: 7(fvec4) Load 10(a) - 23: 7(fvec4) Load 13(v04) - 24: 19(bvec4) FOrdEqual 22 23 - Store 21(r00) 24 + 17(v04): 8(ptr) Variable Function + 21(v01): 20(ptr) Variable Function + 25(r00): 24(ptr) Variable Function + 29(r01): 24(ptr) Variable Function + 33(r02): 24(ptr) Variable Function + 37(r03): 24(ptr) Variable Function + 41(r10): 24(ptr) Variable Function + 46(r11): 24(ptr) Variable Function + 51(r12): 24(ptr) Variable Function + 56(r13): 24(ptr) Variable Function + 61(r20): 24(ptr) Variable Function + 66(r21): 24(ptr) Variable Function + 71(r22): 24(ptr) Variable Function + 76(r23): 24(ptr) Variable Function + Store 17(v04) 19 + Store 21(v01) 18 26: 7(fvec4) Load 10(a) - 27: 7(fvec4) Load 13(v04) - 28: 19(bvec4) FOrdNotEqual 26 27 - Store 25(r01) 28 + 27: 7(fvec4) Load 17(v04) + 28: 23(bvec4) FOrdEqual 26 27 + Store 25(r00) 28 30: 7(fvec4) Load 10(a) - 31: 7(fvec4) Load 13(v04) - 32: 19(bvec4) FOrdLessThan 30 31 - Store 29(r02) 32 + 31: 7(fvec4) Load 17(v04) + 32: 23(bvec4) FOrdNotEqual 30 31 + Store 29(r01) 32 34: 7(fvec4) Load 10(a) - 35: 7(fvec4) Load 13(v04) - 36: 19(bvec4) FOrdGreaterThan 34 35 - Store 33(r03) 36 + 35: 7(fvec4) Load 17(v04) + 36: 23(bvec4) FOrdLessThan 34 35 + Store 33(r02) 36 38: 7(fvec4) Load 10(a) - 39: 6(float) Load 17(v01) - 40: 7(fvec4) CompositeConstruct 39 39 39 39 - 41: 19(bvec4) FOrdEqual 38 40 - Store 37(r10) 41 - 43: 7(fvec4) Load 10(a) - 44: 6(float) Load 17(v01) - 45: 7(fvec4) CompositeConstruct 44 44 44 44 - 46: 19(bvec4) FOrdNotEqual 43 45 - Store 42(r11) 46 - 48: 7(fvec4) Load 10(a) - 49: 6(float) Load 17(v01) - 50: 7(fvec4) CompositeConstruct 49 49 49 49 - 51: 19(bvec4) FOrdLessThan 48 50 - Store 47(r12) 51 - 53: 7(fvec4) Load 10(a) - 54: 6(float) Load 17(v01) - 55: 7(fvec4) CompositeConstruct 54 54 54 54 - 56: 19(bvec4) FOrdGreaterThan 53 55 - Store 52(r13) 56 - 58: 6(float) Load 17(v01) + 39: 7(fvec4) Load 17(v04) + 40: 23(bvec4) FOrdGreaterThan 38 39 + Store 37(r03) 40 + 42: 7(fvec4) Load 10(a) + 43: 6(float) Load 21(v01) + 44: 7(fvec4) CompositeConstruct 43 43 43 43 + 45: 23(bvec4) FOrdEqual 42 44 + Store 41(r10) 45 + 47: 7(fvec4) Load 10(a) + 48: 6(float) Load 21(v01) + 49: 7(fvec4) CompositeConstruct 48 48 48 48 + 50: 23(bvec4) FOrdNotEqual 47 49 + Store 46(r11) 50 + 52: 7(fvec4) Load 10(a) + 53: 6(float) Load 21(v01) + 54: 7(fvec4) CompositeConstruct 53 53 53 53 + 55: 23(bvec4) FOrdLessThan 52 54 + Store 51(r12) 55 + 57: 7(fvec4) Load 10(a) + 58: 6(float) Load 21(v01) 59: 7(fvec4) CompositeConstruct 58 58 58 58 - 60: 7(fvec4) Load 10(a) - 61: 19(bvec4) FOrdEqual 59 60 - Store 57(r20) 61 - 63: 6(float) Load 17(v01) - 64: 7(fvec4) CompositeConstruct 63 63 63 63 - 65: 7(fvec4) Load 10(a) - 66: 19(bvec4) FOrdNotEqual 64 65 - Store 62(r21) 66 - 68: 6(float) Load 17(v01) - 69: 7(fvec4) CompositeConstruct 68 68 68 68 - 70: 7(fvec4) Load 10(a) - 71: 19(bvec4) FOrdLessThan 69 70 - Store 67(r22) 71 - 73: 6(float) Load 17(v01) - 74: 7(fvec4) CompositeConstruct 73 73 73 73 - 75: 7(fvec4) Load 10(a) - 76: 19(bvec4) FOrdGreaterThan 74 75 - Store 72(r23) 76 + 60: 23(bvec4) FOrdGreaterThan 57 59 + Store 56(r13) 60 + 62: 6(float) Load 21(v01) + 63: 7(fvec4) CompositeConstruct 62 62 62 62 + 64: 7(fvec4) Load 10(a) + 65: 23(bvec4) FOrdEqual 63 64 + Store 61(r20) 65 + 67: 6(float) Load 21(v01) + 68: 7(fvec4) CompositeConstruct 67 67 67 67 + 69: 7(fvec4) Load 10(a) + 70: 23(bvec4) FOrdNotEqual 68 69 + Store 66(r21) 70 + 72: 6(float) Load 21(v01) + 73: 7(fvec4) CompositeConstruct 72 72 72 72 + 74: 7(fvec4) Load 10(a) + 75: 23(bvec4) FOrdLessThan 73 74 + Store 71(r22) 75 + 77: 6(float) Load 21(v01) + 78: 7(fvec4) CompositeConstruct 77 77 77 77 + 79: 7(fvec4) Load 10(a) + 80: 23(bvec4) FOrdGreaterThan 78 79 + Store 76(r23) 80 Return FunctionEnd + 15(@main():13(PS_OUTPUT) Function None 14 + 16: Label + 82(psout): 81(ptr) Variable Function + 85: 8(ptr) AccessChain 82(psout) 84 + Store 85 19 + 86:13(PS_OUTPUT) Load 82(psout) + ReturnValue 86 + FunctionEnd diff --git a/Test/baseResults/hlsl.conditional.frag.out b/Test/baseResults/hlsl.conditional.frag.out index 32edbda7..6cbc9338 100755 --- a/Test/baseResults/hlsl.conditional.frag.out +++ b/Test/baseResults/hlsl.conditional.frag.out @@ -2,9 +2,9 @@ hlsl.conditional.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) +0:2 Function Definition: @PixelShaderFunction(vf4; (temp 4-component vector of float) 0:2 Function Parameters: -0:2 'input' (layout(location=0 ) in 4-component vector of float) +0:2 'input' (in 4-component vector of float) 0:? Sequence 0:3 Sequence 0:3 move second child to first child (temp int) @@ -35,19 +35,19 @@ gl_FragCoord origin is upper left 0:7 vector-scale (temp 4-component vector of float) 0:7 Convert int to float (temp float) 0:7 'a' (temp int) -0:7 'input' (layout(location=0 ) in 4-component vector of float) +0:7 'input' (in 4-component vector of float) 0:8 vector-scale (temp 4-component vector of float) 0:8 Convert int to float (temp float) 0:8 'b' (temp int) -0:8 'input' (layout(location=0 ) in 4-component vector of float) +0:8 'input' (in 4-component vector of float) 0:9 vector-scale (temp 4-component vector of float) 0:9 Convert int to float (temp float) 0:9 'c' (temp int) -0:9 'input' (layout(location=0 ) in 4-component vector of float) +0:9 'input' (in 4-component vector of float) 0:10 vector-scale (temp 4-component vector of float) 0:10 Convert int to float (temp float) 0:10 'd' (temp int) -0:10 'input' (layout(location=0 ) in 4-component vector of float) +0:10 'input' (in 4-component vector of float) 0:12 Comma (temp int) 0:12 move second child to first child (temp int) 0:12 'e' (temp int) @@ -85,29 +85,36 @@ gl_FragCoord origin is upper left 0:14 Constant: 0:14 0 (const int) 0:14 direct index (temp float) -0:14 'input' (layout(location=0 ) in 4-component vector of float) +0:14 'input' (in 4-component vector of float) 0:14 Constant: 0:14 1 (const int) 0:14 true case 0:14 vector-scale (temp 4-component vector of float) 0:14 Convert int to float (temp float) 0:14 'c' (temp int) -0:14 'input' (layout(location=0 ) in 4-component vector of float) +0:14 'input' (in 4-component vector of float) 0:14 false case 0:14 vector-scale (temp 4-component vector of float) 0:14 Convert int to float (temp float) 0:14 'd' (temp int) -0:14 'input' (layout(location=0 ) in 4-component vector of float) -0:15 Sequence -0:15 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:15 add (temp 4-component vector of float) -0:15 vector-scale (temp 4-component vector of float) -0:15 Convert int to float (temp float) -0:15 'e' (temp int) -0:15 'ret' (temp 4-component vector of float) -0:15 'f' (temp 4-component vector of float) -0:15 Branch: Return +0:14 'input' (in 4-component vector of float) +0:15 Branch: Return with expression +0:15 add (temp 4-component vector of float) +0:15 vector-scale (temp 4-component vector of float) +0:15 Convert int to float (temp float) +0:15 'e' (temp int) +0:15 'ret' (temp 4-component vector of float) +0:15 'f' (temp 4-component vector of float) +0:2 Function Definition: PixelShaderFunction( (temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:2 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:2 Function Call: @PixelShaderFunction(vf4; (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 'input' (layout(location=0 ) in 4-component vector of float) @@ -119,9 +126,9 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) +0:2 Function Definition: @PixelShaderFunction(vf4; (temp 4-component vector of float) 0:2 Function Parameters: -0:2 'input' (layout(location=0 ) in 4-component vector of float) +0:2 'input' (in 4-component vector of float) 0:? Sequence 0:3 Sequence 0:3 move second child to first child (temp int) @@ -152,19 +159,19 @@ gl_FragCoord origin is upper left 0:7 vector-scale (temp 4-component vector of float) 0:7 Convert int to float (temp float) 0:7 'a' (temp int) -0:7 'input' (layout(location=0 ) in 4-component vector of float) +0:7 'input' (in 4-component vector of float) 0:8 vector-scale (temp 4-component vector of float) 0:8 Convert int to float (temp float) 0:8 'b' (temp int) -0:8 'input' (layout(location=0 ) in 4-component vector of float) +0:8 'input' (in 4-component vector of float) 0:9 vector-scale (temp 4-component vector of float) 0:9 Convert int to float (temp float) 0:9 'c' (temp int) -0:9 'input' (layout(location=0 ) in 4-component vector of float) +0:9 'input' (in 4-component vector of float) 0:10 vector-scale (temp 4-component vector of float) 0:10 Convert int to float (temp float) 0:10 'd' (temp int) -0:10 'input' (layout(location=0 ) in 4-component vector of float) +0:10 'input' (in 4-component vector of float) 0:12 Comma (temp int) 0:12 move second child to first child (temp int) 0:12 'e' (temp int) @@ -202,171 +209,194 @@ gl_FragCoord origin is upper left 0:14 Constant: 0:14 0 (const int) 0:14 direct index (temp float) -0:14 'input' (layout(location=0 ) in 4-component vector of float) +0:14 'input' (in 4-component vector of float) 0:14 Constant: 0:14 1 (const int) 0:14 true case 0:14 vector-scale (temp 4-component vector of float) 0:14 Convert int to float (temp float) 0:14 'c' (temp int) -0:14 'input' (layout(location=0 ) in 4-component vector of float) +0:14 'input' (in 4-component vector of float) 0:14 false case 0:14 vector-scale (temp 4-component vector of float) 0:14 Convert int to float (temp float) 0:14 'd' (temp int) -0:14 'input' (layout(location=0 ) in 4-component vector of float) -0:15 Sequence -0:15 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:15 add (temp 4-component vector of float) -0:15 vector-scale (temp 4-component vector of float) -0:15 Convert int to float (temp float) -0:15 'e' (temp int) -0:15 'ret' (temp 4-component vector of float) -0:15 'f' (temp 4-component vector of float) -0:15 Branch: Return +0:14 'input' (in 4-component vector of float) +0:15 Branch: Return with expression +0:15 add (temp 4-component vector of float) +0:15 vector-scale (temp 4-component vector of float) +0:15 Convert int to float (temp float) +0:15 'e' (temp int) +0:15 'ret' (temp 4-component vector of float) +0:15 'f' (temp 4-component vector of float) +0:2 Function Definition: PixelShaderFunction( (temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:2 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:2 Function Call: @PixelShaderFunction(vf4; (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 'input' (layout(location=0 ) in 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 91 +// Id's are bound by 100 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 22 83 + EntryPoint Fragment 4 "PixelShaderFunction" 93 96 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 8 "a" - Name 10 "b" - Name 12 "c" - Name 14 "d" - Name 18 "ret" - Name 22 "input" - Name 40 "e" - Name 57 "f" - Name 83 "@entryPointOutput" - Decorate 22(input) Location 0 - Decorate 83(@entryPointOutput) Location 0 + Name 11 "@PixelShaderFunction(vf4;" + Name 10 "input" + Name 15 "a" + Name 17 "b" + Name 19 "c" + Name 21 "d" + Name 22 "ret" + Name 42 "e" + Name 59 "f" + Name 91 "input" + Name 93 "input" + Name 96 "@entryPointOutput" + Name 97 "param" + Decorate 93(input) Location 0 + Decorate 96(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 - 6: TypeInt 32 1 - 7: TypePointer Function 6(int) - 9: 6(int) Constant 5 - 11: 6(int) Constant 6 - 13: 6(int) Constant 7 - 15: TypeFloat 32 - 16: TypeVector 15(float) 4 - 17: TypePointer Function 16(fvec4) - 21: TypePointer Input 16(fvec4) - 22(input): 21(ptr) Variable Input - 47: 6(int) Constant 10 - 55: 6(int) Constant 11 - 59: TypeInt 32 0 - 60: 59(int) Constant 0 - 61: TypePointer Function 15(float) - 64: 59(int) Constant 1 - 65: TypePointer Input 15(float) - 68: TypeBool - 82: TypePointer Output 16(fvec4) -83(@entryPointOutput): 82(ptr) Variable Output + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8: TypePointer Function 7(fvec4) + 9: TypeFunction 7(fvec4) 8(ptr) + 13: TypeInt 32 1 + 14: TypePointer Function 13(int) + 16: 13(int) Constant 5 + 18: 13(int) Constant 6 + 20: 13(int) Constant 7 + 49: 13(int) Constant 10 + 57: 13(int) Constant 11 + 61: TypeInt 32 0 + 62: 61(int) Constant 0 + 63: TypePointer Function 6(float) + 66: 61(int) Constant 1 + 69: TypeBool + 92: TypePointer Input 7(fvec4) + 93(input): 92(ptr) Variable Input + 95: TypePointer Output 7(fvec4) +96(@entryPointOutput): 95(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label - 8(a): 7(ptr) Variable Function - 10(b): 7(ptr) Variable Function - 12(c): 7(ptr) Variable Function - 14(d): 7(ptr) Variable Function - 18(ret): 17(ptr) Variable Function - 40(e): 7(ptr) Variable Function - 41: 7(ptr) Variable Function - 49: 7(ptr) Variable Function - 57(f): 17(ptr) Variable Function - 58: 17(ptr) Variable Function - Store 8(a) 9 - Store 10(b) 11 - Store 12(c) 13 - Store 14(d) 13 - 19: 6(int) Load 8(a) - 20: 15(float) ConvertSToF 19 - 23: 16(fvec4) Load 22(input) - 24: 16(fvec4) VectorTimesScalar 23 20 - 25: 6(int) Load 10(b) - 26: 15(float) ConvertSToF 25 - 27: 16(fvec4) Load 22(input) - 28: 16(fvec4) VectorTimesScalar 27 26 - 29: 16(fvec4) FAdd 24 28 - 30: 6(int) Load 12(c) - 31: 15(float) ConvertSToF 30 - 32: 16(fvec4) Load 22(input) - 33: 16(fvec4) VectorTimesScalar 32 31 - 34: 16(fvec4) FAdd 29 33 - 35: 6(int) Load 14(d) - 36: 15(float) ConvertSToF 35 - 37: 16(fvec4) Load 22(input) - 38: 16(fvec4) VectorTimesScalar 37 36 - 39: 16(fvec4) FAdd 34 38 - Store 18(ret) 39 - 42: 6(int) Load 10(b) - SelectionMerge 44 None - BranchConditional 42 43 46 - 43: Label - 45: 6(int) Load 14(d) - Store 12(c) 45 - Store 41 45 - Branch 44 - 46: Label - Store 41 47 - Branch 44 - 44: Label - 48: 6(int) Load 41 - Store 8(a) 48 - Store 40(e) 48 - 50: 6(int) Load 8(a) - SelectionMerge 52 None - BranchConditional 50 51 54 - 51: Label - 53: 6(int) Load 12(c) - Store 14(d) 53 - Store 49 53 - Branch 52 - 54: Label - Store 49 55 - Branch 52 - 52: Label - 56: 6(int) Load 49 - Store 10(b) 56 - 62: 61(ptr) AccessChain 18(ret) 60 - 63: 15(float) Load 62 - 66: 65(ptr) AccessChain 22(input) 64 - 67: 15(float) Load 66 - 69: 68(bool) FOrdLessThan 63 67 - SelectionMerge 71 None - BranchConditional 69 70 76 - 70: Label - 72: 6(int) Load 12(c) - 73: 15(float) ConvertSToF 72 - 74: 16(fvec4) Load 22(input) - 75: 16(fvec4) VectorTimesScalar 74 73 - Store 58 75 - Branch 71 - 76: Label - 77: 6(int) Load 14(d) - 78: 15(float) ConvertSToF 77 - 79: 16(fvec4) Load 22(input) - 80: 16(fvec4) VectorTimesScalar 79 78 - Store 58 80 - Branch 71 - 71: Label - 81: 16(fvec4) Load 58 - Store 57(f) 81 - 84: 6(int) Load 40(e) - 85: 15(float) ConvertSToF 84 - 86: 16(fvec4) Load 18(ret) - 87: 16(fvec4) VectorTimesScalar 86 85 - 88: 16(fvec4) Load 57(f) - 89: 16(fvec4) FAdd 87 88 - Store 83(@entryPointOutput) 89 + 91(input): 8(ptr) Variable Function + 97(param): 8(ptr) Variable Function + 94: 7(fvec4) Load 93(input) + Store 91(input) 94 + 98: 7(fvec4) Load 91(input) + Store 97(param) 98 + 99: 7(fvec4) FunctionCall 11(@PixelShaderFunction(vf4;) 97(param) + Store 96(@entryPointOutput) 99 Return FunctionEnd +11(@PixelShaderFunction(vf4;): 7(fvec4) Function None 9 + 10(input): 8(ptr) FunctionParameter + 12: Label + 15(a): 14(ptr) Variable Function + 17(b): 14(ptr) Variable Function + 19(c): 14(ptr) Variable Function + 21(d): 14(ptr) Variable Function + 22(ret): 8(ptr) Variable Function + 42(e): 14(ptr) Variable Function + 43: 14(ptr) Variable Function + 51: 14(ptr) Variable Function + 59(f): 8(ptr) Variable Function + 60: 8(ptr) Variable Function + Store 15(a) 16 + Store 17(b) 18 + Store 19(c) 20 + Store 21(d) 20 + 23: 13(int) Load 15(a) + 24: 6(float) ConvertSToF 23 + 25: 7(fvec4) Load 10(input) + 26: 7(fvec4) VectorTimesScalar 25 24 + 27: 13(int) Load 17(b) + 28: 6(float) ConvertSToF 27 + 29: 7(fvec4) Load 10(input) + 30: 7(fvec4) VectorTimesScalar 29 28 + 31: 7(fvec4) FAdd 26 30 + 32: 13(int) Load 19(c) + 33: 6(float) ConvertSToF 32 + 34: 7(fvec4) Load 10(input) + 35: 7(fvec4) VectorTimesScalar 34 33 + 36: 7(fvec4) FAdd 31 35 + 37: 13(int) Load 21(d) + 38: 6(float) ConvertSToF 37 + 39: 7(fvec4) Load 10(input) + 40: 7(fvec4) VectorTimesScalar 39 38 + 41: 7(fvec4) FAdd 36 40 + Store 22(ret) 41 + 44: 13(int) Load 17(b) + SelectionMerge 46 None + BranchConditional 44 45 48 + 45: Label + 47: 13(int) Load 21(d) + Store 19(c) 47 + Store 43 47 + Branch 46 + 48: Label + Store 43 49 + Branch 46 + 46: Label + 50: 13(int) Load 43 + Store 15(a) 50 + Store 42(e) 50 + 52: 13(int) Load 15(a) + SelectionMerge 54 None + BranchConditional 52 53 56 + 53: Label + 55: 13(int) Load 19(c) + Store 21(d) 55 + Store 51 55 + Branch 54 + 56: Label + Store 51 57 + Branch 54 + 54: Label + 58: 13(int) Load 51 + Store 17(b) 58 + 64: 63(ptr) AccessChain 22(ret) 62 + 65: 6(float) Load 64 + 67: 63(ptr) AccessChain 10(input) 66 + 68: 6(float) Load 67 + 70: 69(bool) FOrdLessThan 65 68 + SelectionMerge 72 None + BranchConditional 70 71 77 + 71: Label + 73: 13(int) Load 19(c) + 74: 6(float) ConvertSToF 73 + 75: 7(fvec4) Load 10(input) + 76: 7(fvec4) VectorTimesScalar 75 74 + Store 60 76 + Branch 72 + 77: Label + 78: 13(int) Load 21(d) + 79: 6(float) ConvertSToF 78 + 80: 7(fvec4) Load 10(input) + 81: 7(fvec4) VectorTimesScalar 80 79 + Store 60 81 + Branch 72 + 72: Label + 82: 7(fvec4) Load 60 + Store 59(f) 82 + 83: 13(int) Load 42(e) + 84: 6(float) ConvertSToF 83 + 85: 7(fvec4) Load 22(ret) + 86: 7(fvec4) VectorTimesScalar 85 84 + 87: 7(fvec4) Load 59(f) + 88: 7(fvec4) FAdd 86 87 + ReturnValue 88 + FunctionEnd diff --git a/Test/baseResults/hlsl.constructexpr.frag.out b/Test/baseResults/hlsl.constructexpr.frag.out index e6ed6e13..ff73de0d 100644 --- a/Test/baseResults/hlsl.constructexpr.frag.out +++ b/Test/baseResults/hlsl.constructexpr.frag.out @@ -2,7 +2,7 @@ hlsl.constructexpr.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:4 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:4 Function Definition: @main( (temp structure{temp 4-component vector of float color}) 0:4 Function Parameters: 0:? Sequence 0:6 Constant: @@ -34,15 +34,18 @@ gl_FragCoord origin is upper left 0:15 1.000000 0:15 1.000000 0:15 1.000000 -0:16 Sequence -0:16 Sequence -0:16 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:16 color: direct index for structure (temp 4-component vector of float) -0:16 'ps_output' (temp structure{temp 4-component vector of float color}) -0:16 Constant: -0:16 0 (const int) -0:16 Branch: Return +0:16 Branch: Return with expression +0:16 'ps_output' (temp structure{temp 4-component vector of float color}) +0:4 Function Definition: main( (temp void) +0:4 Function Parameters: +0:? Sequence +0:4 Sequence +0:4 move second child to first child (temp 4-component vector of float) +0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:4 color: direct index for structure (temp 4-component vector of float) +0:4 Function Call: @main( (temp structure{temp 4-component vector of float color}) +0:4 Constant: +0:4 0 (const int) 0:? Linker Objects 0:? 'color' (layout(location=0 ) out 4-component vector of float) @@ -53,7 +56,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:4 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:4 Function Definition: @main( (temp structure{temp 4-component vector of float color}) 0:4 Function Parameters: 0:? Sequence 0:6 Constant: @@ -85,66 +88,76 @@ gl_FragCoord origin is upper left 0:15 1.000000 0:15 1.000000 0:15 1.000000 -0:16 Sequence -0:16 Sequence -0:16 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:16 color: direct index for structure (temp 4-component vector of float) -0:16 'ps_output' (temp structure{temp 4-component vector of float color}) -0:16 Constant: -0:16 0 (const int) -0:16 Branch: Return +0:16 Branch: Return with expression +0:16 'ps_output' (temp structure{temp 4-component vector of float color}) +0:4 Function Definition: main( (temp void) +0:4 Function Parameters: +0:? Sequence +0:4 Sequence +0:4 move second child to first child (temp 4-component vector of float) +0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:4 color: direct index for structure (temp 4-component vector of float) +0:4 Function Call: @main( (temp structure{temp 4-component vector of float color}) +0:4 Constant: +0:4 0 (const int) 0:? Linker Objects 0:? 'color' (layout(location=0 ) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 35 +// Id's are bound by 40 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 31 + EntryPoint Fragment 4 "main" 37 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 22 "PS_OUTPUT" - MemberName 22(PS_OUTPUT) 0 "color" - Name 24 "ps_output" - Name 31 "color" - Decorate 31(color) Location 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "color" + Name 10 "@main(" + Name 27 "ps_output" + Name 37 "color" + Decorate 37(color) Location 0 2: TypeVoid 3: TypeFunction 2 - 6: TypeInt 32 1 - 7: 6(int) Constant 3 - 8: 6(int) Constant 4 - 9: 6(int) Constant 5 - 10: 6(int) Constant 6 - 11: 6(int) Constant 7 - 12: 6(int) Constant 8 - 13: TypeFloat 32 - 14: TypeVector 13(float) 2 - 15: 13(float) Constant 1091567616 - 16: 13(float) Constant 1092616192 - 17: 14(fvec2) ConstantComposite 15 16 - 18: 13(float) Constant 1093664768 - 19: 13(float) Constant 1094713344 - 20: 14(fvec2) ConstantComposite 18 19 - 21: TypeVector 13(float) 4 - 22(PS_OUTPUT): TypeStruct 21(fvec4) - 23: TypePointer Function 22(PS_OUTPUT) - 25: 6(int) Constant 0 - 26: 13(float) Constant 1065353216 - 27: 21(fvec4) ConstantComposite 26 26 26 26 - 28: TypePointer Function 21(fvec4) - 30: TypePointer Output 21(fvec4) - 31(color): 30(ptr) Variable Output + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypeInt 32 1 + 13: 12(int) Constant 3 + 14: 12(int) Constant 4 + 15: 12(int) Constant 5 + 16: 12(int) Constant 6 + 17: 12(int) Constant 7 + 18: 12(int) Constant 8 + 19: TypeVector 6(float) 2 + 20: 6(float) Constant 1091567616 + 21: 6(float) Constant 1092616192 + 22: 19(fvec2) ConstantComposite 20 21 + 23: 6(float) Constant 1093664768 + 24: 6(float) Constant 1094713344 + 25: 19(fvec2) ConstantComposite 23 24 + 26: TypePointer Function 8(PS_OUTPUT) + 28: 12(int) Constant 0 + 29: 6(float) Constant 1065353216 + 30: 7(fvec4) ConstantComposite 29 29 29 29 + 31: TypePointer Function 7(fvec4) + 36: TypePointer Output 7(fvec4) + 37(color): 36(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 24(ps_output): 23(ptr) Variable Function - 29: 28(ptr) AccessChain 24(ps_output) 25 - Store 29 27 - 32: 28(ptr) AccessChain 24(ps_output) 25 - 33: 21(fvec4) Load 32 - Store 31(color) 33 + 38:8(PS_OUTPUT) FunctionCall 10(@main() + 39: 7(fvec4) CompositeExtract 38 0 + Store 37(color) 39 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 27(ps_output): 26(ptr) Variable Function + 32: 31(ptr) AccessChain 27(ps_output) 28 + Store 32 30 + 33:8(PS_OUTPUT) Load 27(ps_output) + ReturnValue 33 + FunctionEnd diff --git a/Test/baseResults/hlsl.deadFunctionMissingBody.vert.out b/Test/baseResults/hlsl.deadFunctionMissingBody.vert.out index 71842afa..24e69828 100644 --- a/Test/baseResults/hlsl.deadFunctionMissingBody.vert.out +++ b/Test/baseResults/hlsl.deadFunctionMissingBody.vert.out @@ -1,25 +1,32 @@ hlsl.deadFunctionMissingBody.vert // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 13 +// Id's are bound by 18 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" 9 + EntryPoint Vertex 4 "main" 16 Name 4 "main" - Name 9 "@entryPointOutput" - Decorate 9(@entryPointOutput) Location 0 + Name 9 "@main(" + Name 16 "@entryPointOutput" + Decorate 16(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Output 7(fvec4) -9(@entryPointOutput): 8(ptr) Variable Output - 10: 6(float) Constant 0 - 11: 7(fvec4) ConstantComposite 10 10 10 10 + 8: TypeFunction 7(fvec4) + 11: 6(float) Constant 0 + 12: 7(fvec4) ConstantComposite 11 11 11 11 + 15: TypePointer Output 7(fvec4) +16(@entryPointOutput): 15(ptr) Variable Output 4(main): 2 Function None 3 5: Label - Store 9(@entryPointOutput) 11 + 17: 7(fvec4) FunctionCall 9(@main() + Store 16(@entryPointOutput) 17 Return FunctionEnd + 9(@main(): 7(fvec4) Function None 8 + 10: Label + ReturnValue 12 + FunctionEnd diff --git a/Test/baseResults/hlsl.depthGreater.frag.out b/Test/baseResults/hlsl.depthGreater.frag.out index 0b532460..27455563 100755 --- a/Test/baseResults/hlsl.depthGreater.frag.out +++ b/Test/baseResults/hlsl.depthGreater.frag.out @@ -3,14 +3,22 @@ Shader version: 450 gl_FragCoord origin is upper left using depth_greater 0:? Sequence -0:2 Function Definition: PixelShaderFunction(f1; (temp void) +0:2 Function Definition: @PixelShaderFunction(f1; (temp void) 0:2 Function Parameters: -0:2 'depth' (out float FragDepth) +0:2 'depth' (out float unknown built-in variable) 0:? Sequence 0:3 move second child to first child (temp float) -0:3 'depth' (out float FragDepth) +0:3 'depth' (out float unknown built-in variable) 0:3 Constant: 0:3 0.200000 +0:2 Function Definition: PixelShaderFunction( (temp void) +0:2 Function Parameters: +0:? Sequence +0:2 Function Call: @PixelShaderFunction(f1; (temp void) +0:? 'depth' (temp float) +0:2 move second child to first child (temp float) +0:? 'depth' (out float FragDepth) +0:? 'depth' (temp float) 0:? Linker Objects 0:? 'depth' (out float FragDepth) @@ -22,38 +30,64 @@ Shader version: 450 gl_FragCoord origin is upper left using depth_greater 0:? Sequence -0:2 Function Definition: PixelShaderFunction(f1; (temp void) +0:2 Function Definition: @PixelShaderFunction(f1; (temp void) 0:2 Function Parameters: -0:2 'depth' (out float FragDepth) +0:2 'depth' (out float unknown built-in variable) 0:? Sequence 0:3 move second child to first child (temp float) -0:3 'depth' (out float FragDepth) +0:3 'depth' (out float unknown built-in variable) 0:3 Constant: 0:3 0.200000 +0:2 Function Definition: PixelShaderFunction( (temp void) +0:2 Function Parameters: +0:? Sequence +0:2 Function Call: @PixelShaderFunction(f1; (temp void) +0:? 'depth' (temp float) +0:2 move second child to first child (temp float) +0:? 'depth' (out float FragDepth) +0:? 'depth' (temp float) 0:? Linker Objects 0:? 'depth' (out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 10 +// Id's are bound by 20 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 8 + EntryPoint Fragment 4 "PixelShaderFunction" 18 ExecutionMode 4 OriginUpperLeft ExecutionMode 4 DepthGreater Name 4 "PixelShaderFunction" - Name 8 "depth" - Decorate 8(depth) BuiltIn FragDepth + Name 10 "@PixelShaderFunction(f1;" + Name 9 "depth" + Name 13 "depth" + Name 14 "param" + Name 18 "depth" + Decorate 18(depth) BuiltIn FragDepth 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypePointer Output 6(float) - 8(depth): 7(ptr) Variable Output - 9: 6(float) Constant 1045220557 + 7: TypePointer Function 6(float) + 8: TypeFunction 2 7(ptr) + 12: 6(float) Constant 1045220557 + 17: TypePointer Output 6(float) + 18(depth): 17(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label - Store 8(depth) 9 + 13(depth): 7(ptr) Variable Function + 14(param): 7(ptr) Variable Function + 15: 2 FunctionCall 10(@PixelShaderFunction(f1;) 14(param) + 16: 6(float) Load 14(param) + Store 13(depth) 16 + 19: 6(float) Load 13(depth) + Store 18(depth) 19 + Return + FunctionEnd +10(@PixelShaderFunction(f1;): 2 Function None 8 + 9(depth): 7(ptr) FunctionParameter + 11: Label + Store 9(depth) 12 Return FunctionEnd diff --git a/Test/baseResults/hlsl.depthLess.frag.out b/Test/baseResults/hlsl.depthLess.frag.out index ec664e10..551b893d 100755 --- a/Test/baseResults/hlsl.depthLess.frag.out +++ b/Test/baseResults/hlsl.depthLess.frag.out @@ -3,17 +3,20 @@ Shader version: 450 gl_FragCoord origin is upper left using depth_less 0:? Sequence -0:2 Function Definition: PixelShaderFunction( (temp float FragDepth) +0:2 Function Definition: @PixelShaderFunction( (temp float unknown built-in variable) 0:2 Function Parameters: 0:? Sequence -0:3 Sequence -0:3 move second child to first child (temp float) -0:? '@entryPointOutput' (out float unknown built-in variable) -0:3 Constant: -0:3 0.200000 -0:3 Branch: Return +0:3 Branch: Return with expression +0:3 Constant: +0:3 0.200000 +0:2 Function Definition: PixelShaderFunction( (temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child (temp float) +0:? '@entryPointOutput' (out float FragDepth) +0:2 Function Call: @PixelShaderFunction( (temp float unknown built-in variable) 0:? Linker Objects -0:? '@entryPointOutput' (out float unknown built-in variable) +0:? '@entryPointOutput' (out float FragDepth) Linked fragment stage: @@ -23,38 +26,49 @@ Shader version: 450 gl_FragCoord origin is upper left using depth_less 0:? Sequence -0:2 Function Definition: PixelShaderFunction( (temp float FragDepth) +0:2 Function Definition: @PixelShaderFunction( (temp float unknown built-in variable) 0:2 Function Parameters: 0:? Sequence -0:3 Sequence -0:3 move second child to first child (temp float) -0:? '@entryPointOutput' (out float unknown built-in variable) -0:3 Constant: -0:3 0.200000 -0:3 Branch: Return +0:3 Branch: Return with expression +0:3 Constant: +0:3 0.200000 +0:2 Function Definition: PixelShaderFunction( (temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child (temp float) +0:? '@entryPointOutput' (out float FragDepth) +0:2 Function Call: @PixelShaderFunction( (temp float unknown built-in variable) 0:? Linker Objects -0:? '@entryPointOutput' (out float unknown built-in variable) +0:? '@entryPointOutput' (out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 11 +// Id's are bound by 16 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 8 + EntryPoint Fragment 4 "PixelShaderFunction" 14 ExecutionMode 4 OriginUpperLeft ExecutionMode 4 DepthLess Name 4 "PixelShaderFunction" - Name 8 "@entryPointOutput" + Name 8 "@PixelShaderFunction(" + Name 14 "@entryPointOutput" + Decorate 14(@entryPointOutput) BuiltIn FragDepth 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypePointer Output 6(float) -8(@entryPointOutput): 7(ptr) Variable Output - 9: 6(float) Constant 1045220557 + 7: TypeFunction 6(float) + 10: 6(float) Constant 1045220557 + 13: TypePointer Output 6(float) +14(@entryPointOutput): 13(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label - Store 8(@entryPointOutput) 9 + 15: 6(float) FunctionCall 8(@PixelShaderFunction() + Store 14(@entryPointOutput) 15 Return FunctionEnd +8(@PixelShaderFunction(): 6(float) Function None 7 + 9: Label + ReturnValue 10 + FunctionEnd diff --git a/Test/baseResults/hlsl.discard.frag.out b/Test/baseResults/hlsl.discard.frag.out index 9b4f2c72..655857b1 100755 --- a/Test/baseResults/hlsl.discard.frag.out +++ b/Test/baseResults/hlsl.discard.frag.out @@ -14,19 +14,19 @@ gl_FragCoord origin is upper left 0:3 1.000000 0:3 true case 0:4 Branch: Kill -0:8 Function Definition: PixelShaderFunction(vf4; (temp void) +0:8 Function Definition: @PixelShaderFunction(vf4; (temp void) 0:8 Function Parameters: -0:8 'input' (layout(location=0 ) in 4-component vector of float) +0:8 'input' (in 4-component vector of float) 0:? Sequence 0:9 Function Call: foo(f1; (temp void) 0:9 direct index (temp float) -0:9 'input' (layout(location=0 ) in 4-component vector of float) +0:9 'input' (in 4-component vector of float) 0:9 Constant: 0:9 2 (const int) 0:10 Test condition and select (temp void) 0:10 Condition 0:10 direct index (temp float) -0:10 'input' (layout(location=0 ) in 4-component vector of float) +0:10 'input' (in 4-component vector of float) 0:10 Constant: 0:10 0 (const int) 0:10 true case @@ -35,10 +35,18 @@ gl_FragCoord origin is upper left 0:12 move second child to first child (temp float) 0:12 'f' (temp float) 0:12 direct index (temp float) -0:12 'input' (layout(location=0 ) in 4-component vector of float) +0:12 'input' (in 4-component vector of float) 0:12 Constant: 0:12 0 (const int) 0:13 Branch: Kill +0:8 Function Definition: PixelShaderFunction( (temp void) +0:8 Function Parameters: +0:? Sequence +0:8 move second child to first child (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:8 Function Call: @PixelShaderFunction(vf4; (temp void) +0:? 'input' (temp 4-component vector of float) 0:? Linker Objects 0:? 'input' (layout(location=0 ) in 4-component vector of float) @@ -61,19 +69,19 @@ gl_FragCoord origin is upper left 0:3 1.000000 0:3 true case 0:4 Branch: Kill -0:8 Function Definition: PixelShaderFunction(vf4; (temp void) +0:8 Function Definition: @PixelShaderFunction(vf4; (temp void) 0:8 Function Parameters: -0:8 'input' (layout(location=0 ) in 4-component vector of float) +0:8 'input' (in 4-component vector of float) 0:? Sequence 0:9 Function Call: foo(f1; (temp void) 0:9 direct index (temp float) -0:9 'input' (layout(location=0 ) in 4-component vector of float) +0:9 'input' (in 4-component vector of float) 0:9 Constant: 0:9 2 (const int) 0:10 Test condition and select (temp void) 0:10 Condition 0:10 direct index (temp float) -0:10 'input' (layout(location=0 ) in 4-component vector of float) +0:10 'input' (in 4-component vector of float) 0:10 Constant: 0:10 0 (const int) 0:10 true case @@ -82,72 +90,97 @@ gl_FragCoord origin is upper left 0:12 move second child to first child (temp float) 0:12 'f' (temp float) 0:12 direct index (temp float) -0:12 'input' (layout(location=0 ) in 4-component vector of float) +0:12 'input' (in 4-component vector of float) 0:12 Constant: 0:12 0 (const int) 0:13 Branch: Kill +0:8 Function Definition: PixelShaderFunction( (temp void) +0:8 Function Parameters: +0:? Sequence +0:8 move second child to first child (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:8 Function Call: @PixelShaderFunction(vf4; (temp void) +0:? 'input' (temp 4-component vector of float) 0:? Linker Objects 0:? 'input' (layout(location=0 ) in 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 39 +// Id's are bound by 48 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 21 + EntryPoint Fragment 4 "PixelShaderFunction" 43 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" Name 10 "foo(f1;" Name 9 "f" - Name 21 "input" - Name 22 "param" - Name 35 "f" - Decorate 21(input) Location 0 + Name 16 "@PixelShaderFunction(vf4;" + Name 15 "input" + Name 25 "param" + Name 37 "f" + Name 41 "input" + Name 43 "input" + Name 45 "param" + Decorate 43(input) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypePointer Function 6(float) 8: TypeFunction 2 7(ptr) - 13: 6(float) Constant 1065353216 - 14: TypeBool - 19: TypeVector 6(float) 4 - 20: TypePointer Input 19(fvec4) - 21(input): 20(ptr) Variable Input - 23: TypeInt 32 0 - 24: 23(int) Constant 2 - 25: TypePointer Input 6(float) - 29: 23(int) Constant 0 + 12: TypeVector 6(float) 4 + 13: TypePointer Function 12(fvec4) + 14: TypeFunction 2 13(ptr) + 19: 6(float) Constant 1065353216 + 20: TypeBool + 26: TypeInt 32 0 + 27: 26(int) Constant 2 + 31: 26(int) Constant 0 + 42: TypePointer Input 12(fvec4) + 43(input): 42(ptr) Variable Input 4(PixelShaderFunction): 2 Function None 3 5: Label - 22(param): 7(ptr) Variable Function - 35(f): 7(ptr) Variable Function - 26: 25(ptr) AccessChain 21(input) 24 - 27: 6(float) Load 26 - Store 22(param) 27 - 28: 2 FunctionCall 10(foo(f1;) 22(param) - 30: 25(ptr) AccessChain 21(input) 29 - 31: 6(float) Load 30 - SelectionMerge 33 None - BranchConditional 31 32 33 - 32: Label - Kill - 33: Label - 36: 25(ptr) AccessChain 21(input) 29 - 37: 6(float) Load 36 - Store 35(f) 37 - Kill + 41(input): 13(ptr) Variable Function + 45(param): 13(ptr) Variable Function + 44: 12(fvec4) Load 43(input) + Store 41(input) 44 + 46: 12(fvec4) Load 41(input) + Store 45(param) 46 + 47: 2 FunctionCall 16(@PixelShaderFunction(vf4;) 45(param) + Return FunctionEnd 10(foo(f1;): 2 Function None 8 9(f): 7(ptr) FunctionParameter 11: Label - 12: 6(float) Load 9(f) - 15: 14(bool) FOrdLessThan 12 13 - SelectionMerge 17 None - BranchConditional 15 16 17 - 16: Label + 18: 6(float) Load 9(f) + 21: 20(bool) FOrdLessThan 18 19 + SelectionMerge 23 None + BranchConditional 21 22 23 + 22: Label Kill - 17: Label + 23: Label Return FunctionEnd +16(@PixelShaderFunction(vf4;): 2 Function None 14 + 15(input): 13(ptr) FunctionParameter + 17: Label + 25(param): 7(ptr) Variable Function + 37(f): 7(ptr) Variable Function + 28: 7(ptr) AccessChain 15(input) 27 + 29: 6(float) Load 28 + Store 25(param) 29 + 30: 2 FunctionCall 10(foo(f1;) 25(param) + 32: 7(ptr) AccessChain 15(input) 31 + 33: 6(float) Load 32 + SelectionMerge 35 None + BranchConditional 33 34 35 + 34: Label + Kill + 35: Label + 38: 7(ptr) AccessChain 15(input) 31 + 39: 6(float) Load 38 + Store 37(f) 39 + Kill + FunctionEnd diff --git a/Test/baseResults/hlsl.doLoop.frag.out b/Test/baseResults/hlsl.doLoop.frag.out index c060cdc7..44ac7166 100755 --- a/Test/baseResults/hlsl.doLoop.frag.out +++ b/Test/baseResults/hlsl.doLoop.frag.out @@ -2,9 +2,9 @@ hlsl.doLoop.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) +0:2 Function Definition: @PixelShaderFunction(vf4; (temp 4-component vector of float) 0:2 Function Parameters: -0:2 'input' (layout(location=0 ) in 4-component vector of float) +0:2 'input' (in 4-component vector of float) 0:? Sequence 0:3 Loop with condition not tested first 0:3 Loop Condition @@ -20,14 +20,21 @@ gl_FragCoord origin is upper left 0:5 Loop Condition 0:5 all (temp bool) 0:5 Equal (temp 4-component vector of bool) -0:5 'input' (layout(location=0 ) in 4-component vector of float) -0:5 'input' (layout(location=0 ) in 4-component vector of float) +0:5 'input' (in 4-component vector of float) +0:5 'input' (in 4-component vector of float) 0:5 Loop Body -0:5 Sequence -0:5 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:5 'input' (layout(location=0 ) in 4-component vector of float) -0:5 Branch: Return +0:5 Branch: Return with expression +0:5 'input' (in 4-component vector of float) +0:2 Function Definition: PixelShaderFunction( (temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:2 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:2 Function Call: @PixelShaderFunction(vf4; (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 'input' (layout(location=0 ) in 4-component vector of float) @@ -39,9 +46,9 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) +0:2 Function Definition: @PixelShaderFunction(vf4; (temp 4-component vector of float) 0:2 Function Parameters: -0:2 'input' (layout(location=0 ) in 4-component vector of float) +0:2 'input' (in 4-component vector of float) 0:? Sequence 0:3 Loop with condition not tested first 0:3 Loop Condition @@ -57,77 +64,103 @@ gl_FragCoord origin is upper left 0:5 Loop Condition 0:5 all (temp bool) 0:5 Equal (temp 4-component vector of bool) -0:5 'input' (layout(location=0 ) in 4-component vector of float) -0:5 'input' (layout(location=0 ) in 4-component vector of float) +0:5 'input' (in 4-component vector of float) +0:5 'input' (in 4-component vector of float) 0:5 Loop Body -0:5 Sequence -0:5 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:5 'input' (layout(location=0 ) in 4-component vector of float) -0:5 Branch: Return +0:5 Branch: Return with expression +0:5 'input' (in 4-component vector of float) +0:2 Function Definition: PixelShaderFunction( (temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:2 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:2 Function Call: @PixelShaderFunction(vf4; (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 'input' (layout(location=0 ) in 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 33 +// Id's are bound by 44 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 23 25 + EntryPoint Fragment 4 "PixelShaderFunction" 37 40 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 23 "@entryPointOutput" - Name 25 "input" - Decorate 23(@entryPointOutput) Location 0 - Decorate 25(input) Location 0 + Name 11 "@PixelShaderFunction(vf4;" + Name 10 "input" + Name 35 "input" + Name 37 "input" + Name 40 "@entryPointOutput" + Name 41 "param" + Decorate 37(input) Location 0 + Decorate 40(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 - 10: TypeBool - 11: 10(bool) ConstantFalse - 20: TypeFloat 32 - 21: TypeVector 20(float) 4 - 22: TypePointer Output 21(fvec4) -23(@entryPointOutput): 22(ptr) Variable Output - 24: TypePointer Input 21(fvec4) - 25(input): 24(ptr) Variable Input - 30: TypeVector 10(bool) 4 + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8: TypePointer Function 7(fvec4) + 9: TypeFunction 7(fvec4) 8(ptr) + 17: TypeBool + 18: 17(bool) ConstantFalse + 31: TypeVector 17(bool) 4 + 36: TypePointer Input 7(fvec4) + 37(input): 36(ptr) Variable Input + 39: TypePointer Output 7(fvec4) +40(@entryPointOutput): 39(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label - Branch 6 - 6: Label - LoopMerge 8 9 None - Branch 7 - 7: Label - Branch 9 - 9: Label - BranchConditional 11 6 8 - 8: Label - Branch 12 + 35(input): 8(ptr) Variable Function + 41(param): 8(ptr) Variable Function + 38: 7(fvec4) Load 37(input) + Store 35(input) 38 + 42: 7(fvec4) Load 35(input) + Store 41(param) 42 + 43: 7(fvec4) FunctionCall 11(@PixelShaderFunction(vf4;) 41(param) + Store 40(@entryPointOutput) 43 + Return + FunctionEnd +11(@PixelShaderFunction(vf4;): 7(fvec4) Function None 9 + 10(input): 8(ptr) FunctionParameter 12: Label - LoopMerge 14 15 None Branch 13 13: Label - Branch 15 - 15: Label - BranchConditional 11 12 14 + LoopMerge 15 16 None + Branch 14 14: Label Branch 16 16: Label - LoopMerge 18 19 None - Branch 17 - 17: Label - 26: 21(fvec4) Load 25(input) - Store 23(@entryPointOutput) 26 - Return + BranchConditional 18 13 15 + 15: Label + Branch 19 19: Label - 28: 21(fvec4) Load 25(input) - 29: 21(fvec4) Load 25(input) - 31: 30(bvec4) FOrdEqual 28 29 - 32: 10(bool) All 31 - BranchConditional 32 16 18 - 18: Label - Return + LoopMerge 21 22 None + Branch 20 + 20: Label + Branch 22 + 22: Label + BranchConditional 18 19 21 + 21: Label + Branch 23 + 23: Label + LoopMerge 25 26 None + Branch 24 + 24: Label + 27: 7(fvec4) Load 10(input) + ReturnValue 27 + 26: Label + 29: 7(fvec4) Load 10(input) + 30: 7(fvec4) Load 10(input) + 32: 31(bvec4) FOrdEqual 29 30 + 33: 17(bool) All 32 + BranchConditional 33 23 25 + 25: Label + 34: 7(fvec4) Undef + ReturnValue 34 FunctionEnd diff --git a/Test/baseResults/hlsl.entry-in.frag.out b/Test/baseResults/hlsl.entry-in.frag.out index 9dfbe419..c768953c 100755 --- a/Test/baseResults/hlsl.entry-in.frag.out +++ b/Test/baseResults/hlsl.entry-in.frag.out @@ -4,53 +4,31 @@ gl_FragCoord origin is upper left 0:? Sequence 0:8 Function Definition: fun(struct-InParam-vf2-vf4-vi21; (temp float) 0:8 Function Parameters: -0:8 'p' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) +0:8 'p' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) 0:? Sequence 0:9 Branch: Return with expression 0:9 add (temp float) 0:9 direct index (temp float) 0:9 v: direct index for structure (temp 2-component vector of float) -0:9 'p' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) +0:9 'p' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) 0:9 Constant: 0:9 0 (const int) 0:9 Constant: 0:9 1 (const int) 0:9 direct index (temp float) -0:9 fragCoord: direct index for structure (temp 4-component vector of float) -0:9 'p' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) +0:9 fragCoord: direct index for structure (temp 4-component vector of float FragCoord) +0:9 'p' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) 0:9 Constant: 0:9 1 (const int) 0:9 Constant: 0:9 0 (const int) -0:13 Function Definition: PixelShaderFunction(struct-InParam-vf2-vf4-vi21; (temp 4-component vector of float) +0:13 Function Definition: @PixelShaderFunction(struct-InParam-vf2-vf4-vi21; (temp 4-component vector of float) 0:13 Function Parameters: 0:13 'i' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) 0:? Sequence -0:15 Sequence -0:15 move second child to first child (temp 2-component vector of float) -0:15 v: direct index for structure (temp 2-component vector of float) -0:15 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) -0:15 Constant: -0:15 0 (const int) -0:15 v: direct index for structure (temp 2-component vector of float) -0:15 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2}) -0:15 Constant: -0:15 0 (const int) -0:15 move second child to first child (temp 4-component vector of float) -0:15 fragCoord: direct index for structure (temp 4-component vector of float) -0:15 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) -0:15 Constant: -0:15 1 (const int) -0:? 'i_fragCoord' (in 4-component vector of float FragCoord) -0:15 move second child to first child (temp 2-component vector of int) -0:15 i2: direct index for structure (temp 2-component vector of int) -0:15 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) -0:15 Constant: -0:15 2 (const int) -0:15 i2: direct index for structure (temp 2-component vector of int) -0:15 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2}) -0:15 Constant: -0:15 1 (const int) +0:15 move second child to first child (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) +0:15 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) +0:15 'i' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) 0:16 Sequence 0:16 move second child to first child (temp float) 0:16 'ret1' (temp float) @@ -60,45 +38,48 @@ gl_FragCoord origin is upper left 0:17 move second child to first child (temp float) 0:17 'ret2' (temp float) 0:17 Function Call: fun(struct-InParam-vf2-vf4-vi21; (temp float) -0:17 Comma (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) -0:17 Sequence -0:17 move second child to first child (temp 2-component vector of float) -0:17 v: direct index for structure (temp 2-component vector of float) -0:17 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) -0:17 Constant: -0:17 0 (const int) -0:17 v: direct index for structure (temp 2-component vector of float) -0:17 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2}) -0:17 Constant: -0:17 0 (const int) -0:17 move second child to first child (temp 4-component vector of float) -0:17 fragCoord: direct index for structure (temp 4-component vector of float FragCoord) -0:17 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) -0:17 Constant: -0:17 1 (const int) -0:? 'i_fragCoord' (in 4-component vector of float FragCoord) -0:17 move second child to first child (temp 2-component vector of int) -0:17 i2: direct index for structure (temp 2-component vector of int) -0:17 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) -0:17 Constant: -0:17 2 (const int) -0:17 i2: direct index for structure (temp 2-component vector of int) -0:17 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2}) -0:17 Constant: -0:17 1 (const int) -0:17 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) -0:19 Sequence -0:19 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:17 'i' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) +0:19 Branch: Return with expression +0:19 vector-scale (temp 4-component vector of float) 0:19 vector-scale (temp 4-component vector of float) -0:19 vector-scale (temp 4-component vector of float) -0:19 fragCoord: direct index for structure (temp 4-component vector of float) -0:19 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) -0:19 Constant: -0:19 1 (const int) -0:19 'ret1' (temp float) -0:19 'ret2' (temp float) -0:19 Branch: Return +0:19 fragCoord: direct index for structure (temp 4-component vector of float) +0:19 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) +0:19 Constant: +0:19 1 (const int) +0:19 'ret1' (temp float) +0:19 'ret2' (temp float) +0:13 Function Definition: PixelShaderFunction( (temp void) +0:13 Function Parameters: +0:? Sequence +0:13 Sequence +0:13 move second child to first child (temp 2-component vector of float) +0:13 v: direct index for structure (temp 2-component vector of float) +0:? 'i' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) +0:13 Constant: +0:13 0 (const int) +0:13 v: direct index for structure (temp 2-component vector of float) +0:13 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2}) +0:13 Constant: +0:13 0 (const int) +0:13 move second child to first child (temp 4-component vector of float) +0:13 fragCoord: direct index for structure (temp 4-component vector of float FragCoord) +0:? 'i' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) +0:13 Constant: +0:13 1 (const int) +0:? 'i_fragCoord' (in 4-component vector of float FragCoord) +0:13 move second child to first child (temp 2-component vector of int) +0:13 i2: direct index for structure (temp 2-component vector of int) +0:? 'i' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) +0:13 Constant: +0:13 2 (const int) +0:13 i2: direct index for structure (temp 2-component vector of int) +0:13 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2}) +0:13 Constant: +0:13 1 (const int) +0:13 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:13 Function Call: @PixelShaderFunction(struct-InParam-vf2-vf4-vi21; (temp 4-component vector of float) +0:? 'i' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2}) @@ -113,53 +94,31 @@ gl_FragCoord origin is upper left 0:? Sequence 0:8 Function Definition: fun(struct-InParam-vf2-vf4-vi21; (temp float) 0:8 Function Parameters: -0:8 'p' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) +0:8 'p' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) 0:? Sequence 0:9 Branch: Return with expression 0:9 add (temp float) 0:9 direct index (temp float) 0:9 v: direct index for structure (temp 2-component vector of float) -0:9 'p' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) +0:9 'p' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) 0:9 Constant: 0:9 0 (const int) 0:9 Constant: 0:9 1 (const int) 0:9 direct index (temp float) -0:9 fragCoord: direct index for structure (temp 4-component vector of float) -0:9 'p' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) +0:9 fragCoord: direct index for structure (temp 4-component vector of float FragCoord) +0:9 'p' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) 0:9 Constant: 0:9 1 (const int) 0:9 Constant: 0:9 0 (const int) -0:13 Function Definition: PixelShaderFunction(struct-InParam-vf2-vf4-vi21; (temp 4-component vector of float) +0:13 Function Definition: @PixelShaderFunction(struct-InParam-vf2-vf4-vi21; (temp 4-component vector of float) 0:13 Function Parameters: 0:13 'i' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) 0:? Sequence -0:15 Sequence -0:15 move second child to first child (temp 2-component vector of float) -0:15 v: direct index for structure (temp 2-component vector of float) -0:15 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) -0:15 Constant: -0:15 0 (const int) -0:15 v: direct index for structure (temp 2-component vector of float) -0:15 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2}) -0:15 Constant: -0:15 0 (const int) -0:15 move second child to first child (temp 4-component vector of float) -0:15 fragCoord: direct index for structure (temp 4-component vector of float) -0:15 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) -0:15 Constant: -0:15 1 (const int) -0:? 'i_fragCoord' (in 4-component vector of float FragCoord) -0:15 move second child to first child (temp 2-component vector of int) -0:15 i2: direct index for structure (temp 2-component vector of int) -0:15 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) -0:15 Constant: -0:15 2 (const int) -0:15 i2: direct index for structure (temp 2-component vector of int) -0:15 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2}) -0:15 Constant: -0:15 1 (const int) +0:15 move second child to first child (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) +0:15 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) +0:15 'i' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) 0:16 Sequence 0:16 move second child to first child (temp float) 0:16 'ret1' (temp float) @@ -169,45 +128,48 @@ gl_FragCoord origin is upper left 0:17 move second child to first child (temp float) 0:17 'ret2' (temp float) 0:17 Function Call: fun(struct-InParam-vf2-vf4-vi21; (temp float) -0:17 Comma (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) -0:17 Sequence -0:17 move second child to first child (temp 2-component vector of float) -0:17 v: direct index for structure (temp 2-component vector of float) -0:17 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) -0:17 Constant: -0:17 0 (const int) -0:17 v: direct index for structure (temp 2-component vector of float) -0:17 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2}) -0:17 Constant: -0:17 0 (const int) -0:17 move second child to first child (temp 4-component vector of float) -0:17 fragCoord: direct index for structure (temp 4-component vector of float FragCoord) -0:17 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) -0:17 Constant: -0:17 1 (const int) -0:? 'i_fragCoord' (in 4-component vector of float FragCoord) -0:17 move second child to first child (temp 2-component vector of int) -0:17 i2: direct index for structure (temp 2-component vector of int) -0:17 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) -0:17 Constant: -0:17 2 (const int) -0:17 i2: direct index for structure (temp 2-component vector of int) -0:17 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2}) -0:17 Constant: -0:17 1 (const int) -0:17 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) -0:19 Sequence -0:19 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:17 'i' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) +0:19 Branch: Return with expression +0:19 vector-scale (temp 4-component vector of float) 0:19 vector-scale (temp 4-component vector of float) -0:19 vector-scale (temp 4-component vector of float) -0:19 fragCoord: direct index for structure (temp 4-component vector of float) -0:19 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) -0:19 Constant: -0:19 1 (const int) -0:19 'ret1' (temp float) -0:19 'ret2' (temp float) -0:19 Branch: Return +0:19 fragCoord: direct index for structure (temp 4-component vector of float) +0:19 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) +0:19 Constant: +0:19 1 (const int) +0:19 'ret1' (temp float) +0:19 'ret2' (temp float) +0:13 Function Definition: PixelShaderFunction( (temp void) +0:13 Function Parameters: +0:? Sequence +0:13 Sequence +0:13 move second child to first child (temp 2-component vector of float) +0:13 v: direct index for structure (temp 2-component vector of float) +0:? 'i' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) +0:13 Constant: +0:13 0 (const int) +0:13 v: direct index for structure (temp 2-component vector of float) +0:13 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2}) +0:13 Constant: +0:13 0 (const int) +0:13 move second child to first child (temp 4-component vector of float) +0:13 fragCoord: direct index for structure (temp 4-component vector of float FragCoord) +0:? 'i' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) +0:13 Constant: +0:13 1 (const int) +0:? 'i_fragCoord' (in 4-component vector of float FragCoord) +0:13 move second child to first child (temp 2-component vector of int) +0:13 i2: direct index for structure (temp 2-component vector of int) +0:? 'i' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) +0:13 Constant: +0:13 2 (const int) +0:13 i2: direct index for structure (temp 2-component vector of int) +0:13 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2}) +0:13 Constant: +0:13 1 (const int) +0:13 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:13 Function Call: @PixelShaderFunction(struct-InParam-vf2-vf4-vi21; (temp 4-component vector of float) +0:? 'i' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2}) @@ -215,12 +177,12 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 78 +// Id's are bound by 85 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 33 40 70 + EntryPoint Fragment 4 "PixelShaderFunction" 67 73 81 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" Name 11 "InParam" @@ -229,26 +191,29 @@ gl_FragCoord origin is upper left MemberName 11(InParam) 2 "i2" Name 15 "fun(struct-InParam-vf2-vf4-vi21;" Name 14 "p" - Name 30 "local" - Name 31 "InParam" - MemberName 31(InParam) 0 "v" - MemberName 31(InParam) 1 "i2" - Name 33 "i" - Name 40 "i_fragCoord" - Name 50 "ret1" - Name 51 "param" - Name 54 "ret2" - Name 55 "InParam" - MemberName 55(InParam) 0 "v" - MemberName 55(InParam) 1 "fragCoord" - MemberName 55(InParam) 2 "i2" - Name 57 "aggShadow" - Name 66 "param" - Name 70 "@entryPointOutput" - Decorate 33(i) Location 0 - Decorate 40(i_fragCoord) BuiltIn FragCoord - MemberDecorate 55(InParam) 1 BuiltIn FragCoord - Decorate 70(@entryPointOutput) Location 0 + Name 19 "@PixelShaderFunction(struct-InParam-vf2-vf4-vi21;" + Name 18 "i" + Name 34 "InParam" + MemberName 34(InParam) 0 "v" + MemberName 34(InParam) 1 "fragCoord" + MemberName 34(InParam) 2 "i2" + Name 36 "local" + Name 48 "ret1" + Name 49 "param" + Name 52 "ret2" + Name 53 "param" + Name 64 "i" + Name 65 "InParam" + MemberName 65(InParam) 0 "v" + MemberName 65(InParam) 1 "i2" + Name 67 "i" + Name 73 "i_fragCoord" + Name 81 "@entryPointOutput" + Name 82 "param" + MemberDecorate 11(InParam) 1 BuiltIn FragCoord + Decorate 67(i) Location 0 + Decorate 73(i_fragCoord) BuiltIn FragCoord + Decorate 81(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -259,81 +224,90 @@ gl_FragCoord origin is upper left 11(InParam): TypeStruct 7(fvec2) 8(fvec4) 10(ivec2) 12: TypePointer Function 11(InParam) 13: TypeFunction 6(float) 12(ptr) - 17: 9(int) Constant 0 - 18: TypeInt 32 0 - 19: 18(int) Constant 1 - 20: TypePointer Function 6(float) - 23: 9(int) Constant 1 - 24: 18(int) Constant 0 - 31(InParam): TypeStruct 7(fvec2) 10(ivec2) - 32: TypePointer Input 31(InParam) - 33(i): 32(ptr) Variable Input - 34: TypePointer Input 7(fvec2) - 37: TypePointer Function 7(fvec2) - 39: TypePointer Input 8(fvec4) - 40(i_fragCoord): 39(ptr) Variable Input + 17: TypeFunction 8(fvec4) 12(ptr) + 21: 9(int) Constant 0 + 22: TypeInt 32 0 + 23: 22(int) Constant 1 + 24: TypePointer Function 6(float) + 27: 9(int) Constant 1 + 28: 22(int) Constant 0 + 34(InParam): TypeStruct 7(fvec2) 8(fvec4) 10(ivec2) + 35: TypePointer Function 34(InParam) + 39: TypePointer Function 7(fvec2) 42: TypePointer Function 8(fvec4) - 44: 9(int) Constant 2 - 45: TypePointer Input 10(ivec2) - 48: TypePointer Function 10(ivec2) - 55(InParam): TypeStruct 7(fvec2) 8(fvec4) 10(ivec2) - 56: TypePointer Function 55(InParam) - 69: TypePointer Output 8(fvec4) -70(@entryPointOutput): 69(ptr) Variable Output + 45: 9(int) Constant 2 + 46: TypePointer Function 10(ivec2) + 65(InParam): TypeStruct 7(fvec2) 10(ivec2) + 66: TypePointer Input 65(InParam) + 67(i): 66(ptr) Variable Input + 68: TypePointer Input 7(fvec2) + 72: TypePointer Input 8(fvec4) + 73(i_fragCoord): 72(ptr) Variable Input + 76: TypePointer Input 10(ivec2) + 80: TypePointer Output 8(fvec4) +81(@entryPointOutput): 80(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label - 30(local): 12(ptr) Variable Function - 50(ret1): 20(ptr) Variable Function - 51(param): 12(ptr) Variable Function - 54(ret2): 20(ptr) Variable Function - 57(aggShadow): 56(ptr) Variable Function - 66(param): 56(ptr) Variable Function - 35: 34(ptr) AccessChain 33(i) 17 - 36: 7(fvec2) Load 35 - 38: 37(ptr) AccessChain 30(local) 17 - Store 38 36 - 41: 8(fvec4) Load 40(i_fragCoord) - 43: 42(ptr) AccessChain 30(local) 23 - Store 43 41 - 46: 45(ptr) AccessChain 33(i) 23 - 47: 10(ivec2) Load 46 - 49: 48(ptr) AccessChain 30(local) 44 - Store 49 47 - 52: 11(InParam) Load 30(local) - Store 51(param) 52 - 53: 6(float) FunctionCall 15(fun(struct-InParam-vf2-vf4-vi21;) 51(param) - Store 50(ret1) 53 - 58: 34(ptr) AccessChain 33(i) 17 - 59: 7(fvec2) Load 58 - 60: 37(ptr) AccessChain 57(aggShadow) 17 - Store 60 59 - 61: 8(fvec4) Load 40(i_fragCoord) - 62: 42(ptr) AccessChain 57(aggShadow) 23 - Store 62 61 - 63: 45(ptr) AccessChain 33(i) 23 - 64: 10(ivec2) Load 63 - 65: 48(ptr) AccessChain 57(aggShadow) 44 - Store 65 64 - 67: 55(InParam) Load 57(aggShadow) - Store 66(param) 67 - 68: 6(float) FunctionCall 15(fun(struct-InParam-vf2-vf4-vi21;) 66(param) - Store 54(ret2) 68 - 71: 42(ptr) AccessChain 30(local) 23 - 72: 8(fvec4) Load 71 - 73: 6(float) Load 50(ret1) - 74: 8(fvec4) VectorTimesScalar 72 73 - 75: 6(float) Load 54(ret2) - 76: 8(fvec4) VectorTimesScalar 74 75 - Store 70(@entryPointOutput) 76 + 64(i): 12(ptr) Variable Function + 82(param): 12(ptr) Variable Function + 69: 68(ptr) AccessChain 67(i) 21 + 70: 7(fvec2) Load 69 + 71: 39(ptr) AccessChain 64(i) 21 + Store 71 70 + 74: 8(fvec4) Load 73(i_fragCoord) + 75: 42(ptr) AccessChain 64(i) 27 + Store 75 74 + 77: 76(ptr) AccessChain 67(i) 27 + 78: 10(ivec2) Load 77 + 79: 46(ptr) AccessChain 64(i) 45 + Store 79 78 + 83: 11(InParam) Load 64(i) + Store 82(param) 83 + 84: 8(fvec4) FunctionCall 19(@PixelShaderFunction(struct-InParam-vf2-vf4-vi21;) 82(param) + Store 81(@entryPointOutput) 84 Return FunctionEnd 15(fun(struct-InParam-vf2-vf4-vi21;): 6(float) Function None 13 14(p): 12(ptr) FunctionParameter 16: Label - 21: 20(ptr) AccessChain 14(p) 17 19 - 22: 6(float) Load 21 - 25: 20(ptr) AccessChain 14(p) 23 24 + 25: 24(ptr) AccessChain 14(p) 21 23 26: 6(float) Load 25 - 27: 6(float) FAdd 22 26 - ReturnValue 27 + 29: 24(ptr) AccessChain 14(p) 27 28 + 30: 6(float) Load 29 + 31: 6(float) FAdd 26 30 + ReturnValue 31 + FunctionEnd +19(@PixelShaderFunction(struct-InParam-vf2-vf4-vi21;): 8(fvec4) Function None 17 + 18(i): 12(ptr) FunctionParameter + 20: Label + 36(local): 35(ptr) Variable Function + 48(ret1): 24(ptr) Variable Function + 49(param): 35(ptr) Variable Function + 52(ret2): 24(ptr) Variable Function + 53(param): 12(ptr) Variable Function + 37: 11(InParam) Load 18(i) + 38: 7(fvec2) CompositeExtract 37 0 + 40: 39(ptr) AccessChain 36(local) 21 + Store 40 38 + 41: 8(fvec4) CompositeExtract 37 1 + 43: 42(ptr) AccessChain 36(local) 27 + Store 43 41 + 44: 10(ivec2) CompositeExtract 37 2 + 47: 46(ptr) AccessChain 36(local) 45 + Store 47 44 + 50: 34(InParam) Load 36(local) + Store 49(param) 50 + 51: 6(float) FunctionCall 15(fun(struct-InParam-vf2-vf4-vi21;) 49(param) + Store 48(ret1) 51 + 54: 11(InParam) Load 18(i) + Store 53(param) 54 + 55: 6(float) FunctionCall 15(fun(struct-InParam-vf2-vf4-vi21;) 53(param) + Store 52(ret2) 55 + 56: 42(ptr) AccessChain 36(local) 27 + 57: 8(fvec4) Load 56 + 58: 6(float) Load 48(ret1) + 59: 8(fvec4) VectorTimesScalar 57 58 + 60: 6(float) Load 52(ret2) + 61: 8(fvec4) VectorTimesScalar 59 60 + ReturnValue 61 FunctionEnd diff --git a/Test/baseResults/hlsl.entry-out.frag.out b/Test/baseResults/hlsl.entry-out.frag.out index 86fde14c..b06fcf5f 100755 --- a/Test/baseResults/hlsl.entry-out.frag.out +++ b/Test/baseResults/hlsl.entry-out.frag.out @@ -22,23 +22,29 @@ gl_FragCoord origin is upper left 0:9 Constant: 0:9 7 (const int) 0:9 7 (const int) -0:13 Function Definition: PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; (temp 4-component vector of float) +0:13 Function Definition: @PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; (temp 4-component vector of float) 0:13 Function Parameters: -0:13 'input' (layout(location=0 ) in 4-component vector of float) -0:13 'out1' (layout(location=1 ) out 4-component vector of float) +0:13 'input' (in 4-component vector of float) +0:13 'out1' (out 4-component vector of float) 0:13 'out2' (out structure{temp 2-component vector of float v, temp 2-component vector of int i}) 0:13 'out3' (out structure{temp 2-component vector of float v, temp 2-component vector of int i}) 0:? Sequence 0:14 move second child to first child (temp 4-component vector of float) -0:14 'out1' (layout(location=1 ) out 4-component vector of float) -0:14 'input' (layout(location=0 ) in 4-component vector of float) +0:14 'out1' (out 4-component vector of float) +0:14 'input' (in 4-component vector of float) 0:15 move second child to first child (temp 2-component vector of float) -0:? 'v' (layout(location=2 ) out 2-component vector of float) +0:15 v: direct index for structure (temp 2-component vector of float) +0:15 'out2' (out structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:15 Constant: +0:15 0 (const int) 0:15 Constant: 0:15 2.000000 0:15 2.000000 0:16 move second child to first child (temp 2-component vector of int) -0:? 'i' (layout(location=3 ) out 2-component vector of int) +0:16 i: direct index for structure (temp 2-component vector of int) +0:16 'out2' (out structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:16 Constant: +0:16 1 (const int) 0:16 Constant: 0:16 3 (const int) 0:16 3 (const int) @@ -58,27 +64,52 @@ gl_FragCoord origin is upper left 0:19 Constant: 0:19 13 (const int) 0:19 13 (const int) -0:20 Comma (temp void) -0:20 Function Call: fun(struct-OutParam-vf2-vi21; (temp void) -0:20 'tempArg' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i}) -0:20 Sequence -0:20 move second child to first child (temp 2-component vector of float) -0:? 'v' (layout(location=4 ) out 2-component vector of float) -0:20 v: direct index for structure (temp 2-component vector of float) -0:20 'tempArg' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i}) -0:20 Constant: -0:20 0 (const int) -0:20 move second child to first child (temp 2-component vector of int) -0:? 'i' (layout(location=5 ) out 2-component vector of int) -0:20 i: direct index for structure (temp 2-component vector of int) -0:20 'tempArg' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i}) -0:20 Constant: -0:20 1 (const int) -0:22 Sequence -0:22 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:22 'out1' (layout(location=1 ) out 4-component vector of float) -0:22 Branch: Return +0:20 Function Call: fun(struct-OutParam-vf2-vi21; (temp void) +0:20 'out3' (out structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:22 Branch: Return with expression +0:22 'out1' (out 4-component vector of float) +0:13 Function Definition: PixelShaderFunction( (temp void) +0:13 Function Parameters: +0:? Sequence +0:13 move second child to first child (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:13 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:13 Function Call: @PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) +0:? 'out1' (temp 4-component vector of float) +0:? 'out2' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:? 'out3' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:13 move second child to first child (temp 4-component vector of float) +0:? 'out1' (layout(location=1 ) out 4-component vector of float) +0:? 'out1' (temp 4-component vector of float) +0:13 Sequence +0:13 move second child to first child (temp 2-component vector of float) +0:? 'v' (layout(location=2 ) out 2-component vector of float) +0:13 v: direct index for structure (temp 2-component vector of float) +0:? 'out2' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:13 Constant: +0:13 0 (const int) +0:13 move second child to first child (temp 2-component vector of int) +0:? 'i' (layout(location=3 ) out 2-component vector of int) +0:13 i: direct index for structure (temp 2-component vector of int) +0:? 'out2' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:13 Constant: +0:13 1 (const int) +0:13 Sequence +0:13 move second child to first child (temp 2-component vector of float) +0:? 'v' (layout(location=4 ) out 2-component vector of float) +0:13 v: direct index for structure (temp 2-component vector of float) +0:? 'out3' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:13 Constant: +0:13 0 (const int) +0:13 move second child to first child (temp 2-component vector of int) +0:? 'i' (layout(location=5 ) out 2-component vector of int) +0:13 i: direct index for structure (temp 2-component vector of int) +0:? 'out3' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:13 Constant: +0:13 1 (const int) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 'input' (layout(location=0 ) in 4-component vector of float) @@ -115,23 +146,29 @@ gl_FragCoord origin is upper left 0:9 Constant: 0:9 7 (const int) 0:9 7 (const int) -0:13 Function Definition: PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; (temp 4-component vector of float) +0:13 Function Definition: @PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; (temp 4-component vector of float) 0:13 Function Parameters: -0:13 'input' (layout(location=0 ) in 4-component vector of float) -0:13 'out1' (layout(location=1 ) out 4-component vector of float) +0:13 'input' (in 4-component vector of float) +0:13 'out1' (out 4-component vector of float) 0:13 'out2' (out structure{temp 2-component vector of float v, temp 2-component vector of int i}) 0:13 'out3' (out structure{temp 2-component vector of float v, temp 2-component vector of int i}) 0:? Sequence 0:14 move second child to first child (temp 4-component vector of float) -0:14 'out1' (layout(location=1 ) out 4-component vector of float) -0:14 'input' (layout(location=0 ) in 4-component vector of float) +0:14 'out1' (out 4-component vector of float) +0:14 'input' (in 4-component vector of float) 0:15 move second child to first child (temp 2-component vector of float) -0:? 'v' (layout(location=2 ) out 2-component vector of float) +0:15 v: direct index for structure (temp 2-component vector of float) +0:15 'out2' (out structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:15 Constant: +0:15 0 (const int) 0:15 Constant: 0:15 2.000000 0:15 2.000000 0:16 move second child to first child (temp 2-component vector of int) -0:? 'i' (layout(location=3 ) out 2-component vector of int) +0:16 i: direct index for structure (temp 2-component vector of int) +0:16 'out2' (out structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:16 Constant: +0:16 1 (const int) 0:16 Constant: 0:16 3 (const int) 0:16 3 (const int) @@ -151,27 +188,52 @@ gl_FragCoord origin is upper left 0:19 Constant: 0:19 13 (const int) 0:19 13 (const int) -0:20 Comma (temp void) -0:20 Function Call: fun(struct-OutParam-vf2-vi21; (temp void) -0:20 'tempArg' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i}) -0:20 Sequence -0:20 move second child to first child (temp 2-component vector of float) -0:? 'v' (layout(location=4 ) out 2-component vector of float) -0:20 v: direct index for structure (temp 2-component vector of float) -0:20 'tempArg' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i}) -0:20 Constant: -0:20 0 (const int) -0:20 move second child to first child (temp 2-component vector of int) -0:? 'i' (layout(location=5 ) out 2-component vector of int) -0:20 i: direct index for structure (temp 2-component vector of int) -0:20 'tempArg' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i}) -0:20 Constant: -0:20 1 (const int) -0:22 Sequence -0:22 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:22 'out1' (layout(location=1 ) out 4-component vector of float) -0:22 Branch: Return +0:20 Function Call: fun(struct-OutParam-vf2-vi21; (temp void) +0:20 'out3' (out structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:22 Branch: Return with expression +0:22 'out1' (out 4-component vector of float) +0:13 Function Definition: PixelShaderFunction( (temp void) +0:13 Function Parameters: +0:? Sequence +0:13 move second child to first child (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:13 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:13 Function Call: @PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) +0:? 'out1' (temp 4-component vector of float) +0:? 'out2' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:? 'out3' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:13 move second child to first child (temp 4-component vector of float) +0:? 'out1' (layout(location=1 ) out 4-component vector of float) +0:? 'out1' (temp 4-component vector of float) +0:13 Sequence +0:13 move second child to first child (temp 2-component vector of float) +0:? 'v' (layout(location=2 ) out 2-component vector of float) +0:13 v: direct index for structure (temp 2-component vector of float) +0:? 'out2' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:13 Constant: +0:13 0 (const int) +0:13 move second child to first child (temp 2-component vector of int) +0:? 'i' (layout(location=3 ) out 2-component vector of int) +0:13 i: direct index for structure (temp 2-component vector of int) +0:? 'out2' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:13 Constant: +0:13 1 (const int) +0:13 Sequence +0:13 move second child to first child (temp 2-component vector of float) +0:? 'v' (layout(location=4 ) out 2-component vector of float) +0:13 v: direct index for structure (temp 2-component vector of float) +0:? 'out3' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:13 Constant: +0:13 0 (const int) +0:13 move second child to first child (temp 2-component vector of int) +0:? 'i' (layout(location=5 ) out 2-component vector of int) +0:13 i: direct index for structure (temp 2-component vector of int) +0:? 'out3' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:13 Constant: +0:13 1 (const int) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 'input' (layout(location=0 ) in 4-component vector of float) @@ -183,12 +245,12 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 60 +// Id's are bound by 89 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 28 30 33 37 51 54 57 + EntryPoint Fragment 4 "PixelShaderFunction" 57 60 73 76 80 83 86 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" Name 10 "OutParam" @@ -196,23 +258,35 @@ gl_FragCoord origin is upper left MemberName 10(OutParam) 1 "i" Name 14 "fun(struct-OutParam-vf2-vi21;" Name 13 "op" - Name 28 "out1" - Name 30 "input" - Name 33 "v" - Name 37 "i" - Name 40 "local" - Name 47 "tempArg" - Name 48 "param" - Name 51 "v" - Name 54 "i" - Name 57 "@entryPointOutput" - Decorate 28(out1) Location 1 - Decorate 30(input) Location 0 - Decorate 33(v) Location 2 - Decorate 37(i) Location 3 - Decorate 51(v) Location 4 - Decorate 54(i) Location 5 - Decorate 57(@entryPointOutput) Location 0 + Name 23 "@PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21;" + Name 19 "input" + Name 20 "out1" + Name 21 "out2" + Name 22 "out3" + Name 42 "local" + Name 49 "param" + Name 55 "input" + Name 57 "input" + Name 60 "@entryPointOutput" + Name 61 "out1" + Name 62 "out2" + Name 63 "out3" + Name 64 "param" + Name 66 "param" + Name 67 "param" + Name 68 "param" + Name 73 "out1" + Name 76 "v" + Name 80 "i" + Name 83 "v" + Name 86 "i" + Decorate 57(input) Location 0 + Decorate 60(@entryPointOutput) Location 0 + Decorate 73(out1) Location 1 + Decorate 76(v) Location 2 + Decorate 80(i) Location 3 + Decorate 83(v) Location 4 + Decorate 86(i) Location 5 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -222,66 +296,104 @@ gl_FragCoord origin is upper left 10(OutParam): TypeStruct 7(fvec2) 9(ivec2) 11: TypePointer Function 10(OutParam) 12: TypeFunction 2 11(ptr) - 16: 8(int) Constant 0 - 17: 6(float) Constant 1053609165 - 18: 7(fvec2) ConstantComposite 17 17 - 19: TypePointer Function 7(fvec2) - 21: 8(int) Constant 1 - 22: 8(int) Constant 7 - 23: 9(ivec2) ConstantComposite 22 22 - 24: TypePointer Function 9(ivec2) - 26: TypeVector 6(float) 4 - 27: TypePointer Output 26(fvec4) - 28(out1): 27(ptr) Variable Output - 29: TypePointer Input 26(fvec4) - 30(input): 29(ptr) Variable Input - 32: TypePointer Output 7(fvec2) - 33(v): 32(ptr) Variable Output - 34: 6(float) Constant 1073741824 - 35: 7(fvec2) ConstantComposite 34 34 - 36: TypePointer Output 9(ivec2) - 37(i): 36(ptr) Variable Output - 38: 8(int) Constant 3 - 39: 9(ivec2) ConstantComposite 38 38 - 41: 6(float) Constant 1094713344 - 42: 7(fvec2) ConstantComposite 41 41 - 44: 8(int) Constant 13 - 45: 9(ivec2) ConstantComposite 44 44 - 51(v): 32(ptr) Variable Output - 54(i): 36(ptr) Variable Output -57(@entryPointOutput): 27(ptr) Variable Output + 16: TypeVector 6(float) 4 + 17: TypePointer Function 16(fvec4) + 18: TypeFunction 16(fvec4) 17(ptr) 17(ptr) 11(ptr) 11(ptr) + 25: 8(int) Constant 0 + 26: 6(float) Constant 1053609165 + 27: 7(fvec2) ConstantComposite 26 26 + 28: TypePointer Function 7(fvec2) + 30: 8(int) Constant 1 + 31: 8(int) Constant 7 + 32: 9(ivec2) ConstantComposite 31 31 + 33: TypePointer Function 9(ivec2) + 36: 6(float) Constant 1073741824 + 37: 7(fvec2) ConstantComposite 36 36 + 39: 8(int) Constant 3 + 40: 9(ivec2) ConstantComposite 39 39 + 43: 6(float) Constant 1094713344 + 44: 7(fvec2) ConstantComposite 43 43 + 46: 8(int) Constant 13 + 47: 9(ivec2) ConstantComposite 46 46 + 56: TypePointer Input 16(fvec4) + 57(input): 56(ptr) Variable Input + 59: TypePointer Output 16(fvec4) +60(@entryPointOutput): 59(ptr) Variable Output + 73(out1): 59(ptr) Variable Output + 75: TypePointer Output 7(fvec2) + 76(v): 75(ptr) Variable Output + 79: TypePointer Output 9(ivec2) + 80(i): 79(ptr) Variable Output + 83(v): 75(ptr) Variable Output + 86(i): 79(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label - 40(local): 11(ptr) Variable Function - 47(tempArg): 11(ptr) Variable Function - 48(param): 11(ptr) Variable Function - 31: 26(fvec4) Load 30(input) - Store 28(out1) 31 - Store 33(v) 35 - Store 37(i) 39 - 43: 19(ptr) AccessChain 40(local) 16 - Store 43 42 - 46: 24(ptr) AccessChain 40(local) 21 - Store 46 45 - 49: 2 FunctionCall 14(fun(struct-OutParam-vf2-vi21;) 48(param) - 50:10(OutParam) Load 48(param) - Store 47(tempArg) 50 - 52: 19(ptr) AccessChain 47(tempArg) 16 - 53: 7(fvec2) Load 52 - Store 51(v) 53 - 55: 24(ptr) AccessChain 47(tempArg) 21 - 56: 9(ivec2) Load 55 - Store 54(i) 56 - 58: 26(fvec4) Load 28(out1) - Store 57(@entryPointOutput) 58 + 55(input): 17(ptr) Variable Function + 61(out1): 17(ptr) Variable Function + 62(out2): 11(ptr) Variable Function + 63(out3): 11(ptr) Variable Function + 64(param): 17(ptr) Variable Function + 66(param): 17(ptr) Variable Function + 67(param): 11(ptr) Variable Function + 68(param): 11(ptr) Variable Function + 58: 16(fvec4) Load 57(input) + Store 55(input) 58 + 65: 16(fvec4) Load 55(input) + Store 64(param) 65 + 69: 16(fvec4) FunctionCall 23(@PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21;) 64(param) 66(param) 67(param) 68(param) + 70: 16(fvec4) Load 66(param) + Store 61(out1) 70 + 71:10(OutParam) Load 67(param) + Store 62(out2) 71 + 72:10(OutParam) Load 68(param) + Store 63(out3) 72 + Store 60(@entryPointOutput) 69 + 74: 16(fvec4) Load 61(out1) + Store 73(out1) 74 + 77: 28(ptr) AccessChain 62(out2) 25 + 78: 7(fvec2) Load 77 + Store 76(v) 78 + 81: 33(ptr) AccessChain 62(out2) 30 + 82: 9(ivec2) Load 81 + Store 80(i) 82 + 84: 28(ptr) AccessChain 63(out3) 25 + 85: 7(fvec2) Load 84 + Store 83(v) 85 + 87: 33(ptr) AccessChain 63(out3) 30 + 88: 9(ivec2) Load 87 + Store 86(i) 88 Return FunctionEnd 14(fun(struct-OutParam-vf2-vi21;): 2 Function None 12 13(op): 11(ptr) FunctionParameter 15: Label - 20: 19(ptr) AccessChain 13(op) 16 - Store 20 18 - 25: 24(ptr) AccessChain 13(op) 21 - Store 25 23 + 29: 28(ptr) AccessChain 13(op) 25 + Store 29 27 + 34: 33(ptr) AccessChain 13(op) 30 + Store 34 32 Return FunctionEnd +23(@PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21;): 16(fvec4) Function None 18 + 19(input): 17(ptr) FunctionParameter + 20(out1): 17(ptr) FunctionParameter + 21(out2): 11(ptr) FunctionParameter + 22(out3): 11(ptr) FunctionParameter + 24: Label + 42(local): 11(ptr) Variable Function + 49(param): 11(ptr) Variable Function + 35: 16(fvec4) Load 19(input) + Store 20(out1) 35 + 38: 28(ptr) AccessChain 21(out2) 25 + Store 38 37 + 41: 33(ptr) AccessChain 21(out2) 30 + Store 41 40 + 45: 28(ptr) AccessChain 42(local) 25 + Store 45 44 + 48: 33(ptr) AccessChain 42(local) 30 + Store 48 47 + 50: 2 FunctionCall 14(fun(struct-OutParam-vf2-vi21;) 49(param) + 51:10(OutParam) Load 49(param) + Store 22(out3) 51 + 52: 16(fvec4) Load 20(out1) + ReturnValue 52 + FunctionEnd diff --git a/Test/baseResults/hlsl.entry.rename.frag.out b/Test/baseResults/hlsl.entry.rename.frag.out index b24cb7a2..cd25bcf0 100644 --- a/Test/baseResults/hlsl.entry.rename.frag.out +++ b/Test/baseResults/hlsl.entry.rename.frag.out @@ -4,7 +4,7 @@ gl_FragCoord origin is upper left 0:? Sequence 0:7 Function Definition: not_the_entry_point( (temp void) 0:7 Function Parameters: -0:11 Function Definition: main_in_spv( (temp structure{temp 4-component vector of float Color}) +0:11 Function Definition: @main_in_spv( (temp structure{temp 4-component vector of float Color}) 0:11 Function Parameters: 0:? Sequence 0:13 move second child to first child (temp 4-component vector of float) @@ -17,15 +17,18 @@ gl_FragCoord origin is upper left 0:13 0.000000 0:13 0.000000 0:13 0.000000 -0:14 Sequence -0:14 Sequence -0:14 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:14 Color: direct index for structure (temp 4-component vector of float) -0:14 'psout' (temp structure{temp 4-component vector of float Color}) -0:14 Constant: -0:14 0 (const int) -0:14 Branch: Return +0:14 Branch: Return with expression +0:14 'psout' (temp structure{temp 4-component vector of float Color}) +0:11 Function Definition: main_in_spv( (temp void) +0:11 Function Parameters: +0:? Sequence +0:11 Sequence +0:11 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:11 Color: direct index for structure (temp 4-component vector of float) +0:11 Function Call: @main_in_spv( (temp structure{temp 4-component vector of float Color}) +0:11 Constant: +0:11 0 (const int) 0:? Linker Objects 0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int also_not_the_entry_point}) @@ -39,7 +42,7 @@ gl_FragCoord origin is upper left 0:? Sequence 0:7 Function Definition: not_the_entry_point( (temp void) 0:7 Function Parameters: -0:11 Function Definition: main_in_spv( (temp structure{temp 4-component vector of float Color}) +0:11 Function Definition: @main_in_spv( (temp structure{temp 4-component vector of float Color}) 0:11 Function Parameters: 0:? Sequence 0:13 move second child to first child (temp 4-component vector of float) @@ -52,68 +55,78 @@ gl_FragCoord origin is upper left 0:13 0.000000 0:13 0.000000 0:13 0.000000 -0:14 Sequence -0:14 Sequence -0:14 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:14 Color: direct index for structure (temp 4-component vector of float) -0:14 'psout' (temp structure{temp 4-component vector of float Color}) -0:14 Constant: -0:14 0 (const int) -0:14 Branch: Return +0:14 Branch: Return with expression +0:14 'psout' (temp structure{temp 4-component vector of float Color}) +0:11 Function Definition: main_in_spv( (temp void) +0:11 Function Parameters: +0:? Sequence +0:11 Sequence +0:11 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:11 Color: direct index for structure (temp 4-component vector of float) +0:11 Function Call: @main_in_spv( (temp structure{temp 4-component vector of float Color}) +0:11 Constant: +0:11 0 (const int) 0:? Linker Objects 0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int also_not_the_entry_point}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 27 +// Id's are bound by 32 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main_in_spv" 20 + EntryPoint Fragment 4 "main_in_spv" 26 ExecutionMode 4 OriginUpperLeft Name 4 "main_in_spv" Name 6 "not_the_entry_point(" Name 10 "PS_OUTPUT" MemberName 10(PS_OUTPUT) 0 "Color" - Name 12 "psout" - Name 20 "Color" - Name 24 "$Global" - MemberName 24($Global) 0 "also_not_the_entry_point" - Name 26 "" - Decorate 20(Color) Location 0 - MemberDecorate 24($Global) 0 Offset 0 - Decorate 24($Global) Block - Decorate 26 DescriptorSet 0 + Name 12 "@main_in_spv(" + Name 15 "psout" + Name 26 "Color" + Name 29 "$Global" + MemberName 29($Global) 0 "also_not_the_entry_point" + Name 31 "" + Decorate 26(Color) Location 0 + MemberDecorate 29($Global) 0 Offset 0 + Decorate 29($Global) Block + Decorate 31 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 8: TypeFloat 32 9: TypeVector 8(float) 4 10(PS_OUTPUT): TypeStruct 9(fvec4) - 11: TypePointer Function 10(PS_OUTPUT) - 13: TypeInt 32 1 - 14: 13(int) Constant 0 - 15: 8(float) Constant 0 - 16: 9(fvec4) ConstantComposite 15 15 15 15 - 17: TypePointer Function 9(fvec4) - 19: TypePointer Output 9(fvec4) - 20(Color): 19(ptr) Variable Output - 24($Global): TypeStruct 13(int) - 25: TypePointer Uniform 24($Global) - 26: 25(ptr) Variable Uniform + 11: TypeFunction 10(PS_OUTPUT) + 14: TypePointer Function 10(PS_OUTPUT) + 16: TypeInt 32 1 + 17: 16(int) Constant 0 + 18: 8(float) Constant 0 + 19: 9(fvec4) ConstantComposite 18 18 18 18 + 20: TypePointer Function 9(fvec4) + 25: TypePointer Output 9(fvec4) + 26(Color): 25(ptr) Variable Output + 29($Global): TypeStruct 16(int) + 30: TypePointer Uniform 29($Global) + 31: 30(ptr) Variable Uniform 4(main_in_spv): 2 Function None 3 5: Label - 12(psout): 11(ptr) Variable Function - 18: 17(ptr) AccessChain 12(psout) 14 - Store 18 16 - 21: 17(ptr) AccessChain 12(psout) 14 - 22: 9(fvec4) Load 21 - Store 20(Color) 22 + 27:10(PS_OUTPUT) FunctionCall 12(@main_in_spv() + 28: 9(fvec4) CompositeExtract 27 0 + Store 26(Color) 28 Return FunctionEnd 6(not_the_entry_point(): 2 Function None 3 7: Label Return FunctionEnd +12(@main_in_spv():10(PS_OUTPUT) Function None 11 + 13: Label + 15(psout): 14(ptr) Variable Function + 21: 20(ptr) AccessChain 15(psout) 17 + Store 21 19 + 22:10(PS_OUTPUT) Load 15(psout) + ReturnValue 22 + FunctionEnd diff --git a/Test/baseResults/hlsl.flatten.return.frag.out b/Test/baseResults/hlsl.flatten.return.frag.out index 39fbf0ef..e7d22653 100644 --- a/Test/baseResults/hlsl.flatten.return.frag.out +++ b/Test/baseResults/hlsl.flatten.return.frag.out @@ -14,39 +14,42 @@ gl_FragCoord origin is upper left 0:? 2.000000 0:? 3.000000 0:? 4.000000 -0:16 Function Definition: main( (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) +0:16 Function Definition: @main( (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) 0:16 Function Parameters: 0:? Sequence -0:17 Sequence -0:17 Sequence -0:17 move second child to first child (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) -0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) -0:17 Function Call: Func1( (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) -0:17 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:17 color: direct index for structure (temp 4-component vector of float) -0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) -0:17 Constant: -0:17 0 (const int) -0:17 move second child to first child (temp float) -0:? 'other_struct_member1' (layout(location=1 ) out float) -0:17 other_struct_member1: direct index for structure (temp float) -0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) -0:17 Constant: -0:17 1 (const int) -0:17 move second child to first child (temp float) -0:? 'other_struct_member2' (layout(location=2 ) out float) -0:17 other_struct_member2: direct index for structure (temp float) -0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) -0:17 Constant: -0:17 2 (const int) -0:17 move second child to first child (temp float) -0:? 'other_struct_member3' (layout(location=3 ) out float) -0:17 other_struct_member3: direct index for structure (temp float) -0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) -0:17 Constant: -0:17 3 (const int) -0:17 Branch: Return +0:17 Branch: Return with expression +0:17 Function Call: Func1( (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) +0:16 Function Definition: main( (temp void) +0:16 Function Parameters: +0:? Sequence +0:16 Sequence +0:16 move second child to first child (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) +0:16 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) +0:16 Function Call: @main( (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) +0:16 move second child to first child (temp 4-component vector of float) +0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:16 color: direct index for structure (temp 4-component vector of float) +0:16 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) +0:16 Constant: +0:16 0 (const int) +0:16 move second child to first child (temp float) +0:? 'other_struct_member1' (layout(location=1 ) out float) +0:16 other_struct_member1: direct index for structure (temp float) +0:16 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) +0:16 Constant: +0:16 1 (const int) +0:16 move second child to first child (temp float) +0:? 'other_struct_member2' (layout(location=2 ) out float) +0:16 other_struct_member2: direct index for structure (temp float) +0:16 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) +0:16 Constant: +0:16 2 (const int) +0:16 move second child to first child (temp float) +0:? 'other_struct_member3' (layout(location=3 ) out float) +0:16 other_struct_member3: direct index for structure (temp float) +0:16 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) +0:16 Constant: +0:16 3 (const int) 0:? Linker Objects 0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:? 'other_struct_member1' (layout(location=1 ) out float) @@ -72,39 +75,42 @@ gl_FragCoord origin is upper left 0:? 2.000000 0:? 3.000000 0:? 4.000000 -0:16 Function Definition: main( (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) +0:16 Function Definition: @main( (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) 0:16 Function Parameters: 0:? Sequence -0:17 Sequence -0:17 Sequence -0:17 move second child to first child (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) -0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) -0:17 Function Call: Func1( (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) -0:17 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:17 color: direct index for structure (temp 4-component vector of float) -0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) -0:17 Constant: -0:17 0 (const int) -0:17 move second child to first child (temp float) -0:? 'other_struct_member1' (layout(location=1 ) out float) -0:17 other_struct_member1: direct index for structure (temp float) -0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) -0:17 Constant: -0:17 1 (const int) -0:17 move second child to first child (temp float) -0:? 'other_struct_member2' (layout(location=2 ) out float) -0:17 other_struct_member2: direct index for structure (temp float) -0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) -0:17 Constant: -0:17 2 (const int) -0:17 move second child to first child (temp float) -0:? 'other_struct_member3' (layout(location=3 ) out float) -0:17 other_struct_member3: direct index for structure (temp float) -0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) -0:17 Constant: -0:17 3 (const int) -0:17 Branch: Return +0:17 Branch: Return with expression +0:17 Function Call: Func1( (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) +0:16 Function Definition: main( (temp void) +0:16 Function Parameters: +0:? Sequence +0:16 Sequence +0:16 move second child to first child (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) +0:16 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) +0:16 Function Call: @main( (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) +0:16 move second child to first child (temp 4-component vector of float) +0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:16 color: direct index for structure (temp 4-component vector of float) +0:16 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) +0:16 Constant: +0:16 0 (const int) +0:16 move second child to first child (temp float) +0:? 'other_struct_member1' (layout(location=1 ) out float) +0:16 other_struct_member1: direct index for structure (temp float) +0:16 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) +0:16 Constant: +0:16 1 (const int) +0:16 move second child to first child (temp float) +0:? 'other_struct_member2' (layout(location=2 ) out float) +0:16 other_struct_member2: direct index for structure (temp float) +0:16 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) +0:16 Constant: +0:16 2 (const int) +0:16 move second child to first child (temp float) +0:? 'other_struct_member3' (layout(location=3 ) out float) +0:16 other_struct_member3: direct index for structure (temp float) +0:16 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) +0:16 Constant: +0:16 3 (const int) 0:? Linker Objects 0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:? 'other_struct_member1' (layout(location=1 ) out float) @@ -113,12 +119,12 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 45 +// Id's are bound by 49 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 24 31 36 40 + EntryPoint Fragment 4 "main" 29 36 41 45 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 8 "PS_OUTPUT" @@ -127,61 +133,67 @@ gl_FragCoord origin is upper left MemberName 8(PS_OUTPUT) 2 "other_struct_member2" MemberName 8(PS_OUTPUT) 3 "other_struct_member3" Name 10 "Func1(" - Name 21 "flattenTemp" - Name 24 "color" - Name 31 "other_struct_member1" - Name 36 "other_struct_member2" - Name 40 "other_struct_member3" - Decorate 24(color) Location 0 - Decorate 31(other_struct_member1) Location 1 - Decorate 36(other_struct_member2) Location 2 - Decorate 40(other_struct_member3) Location 3 + Name 12 "@main(" + Name 26 "flattenTemp" + Name 29 "color" + Name 36 "other_struct_member1" + Name 41 "other_struct_member2" + Name 45 "other_struct_member3" + Decorate 29(color) Location 0 + Decorate 36(other_struct_member1) Location 1 + Decorate 41(other_struct_member2) Location 2 + Decorate 45(other_struct_member3) Location 3 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 6(float) 6(float) 9: TypeFunction 8(PS_OUTPUT) - 12: 6(float) Constant 1065353216 - 13: 7(fvec4) ConstantComposite 12 12 12 12 - 14: 6(float) Constant 1073741824 - 15: 6(float) Constant 1077936128 - 16: 6(float) Constant 1082130432 - 17:8(PS_OUTPUT) ConstantComposite 13 14 15 16 - 20: TypePointer Function 8(PS_OUTPUT) - 23: TypePointer Output 7(fvec4) - 24(color): 23(ptr) Variable Output - 25: TypeInt 32 1 - 26: 25(int) Constant 0 - 27: TypePointer Function 7(fvec4) - 30: TypePointer Output 6(float) -31(other_struct_member1): 30(ptr) Variable Output - 32: 25(int) Constant 1 - 33: TypePointer Function 6(float) -36(other_struct_member2): 30(ptr) Variable Output - 37: 25(int) Constant 2 -40(other_struct_member3): 30(ptr) Variable Output - 41: 25(int) Constant 3 + 14: 6(float) Constant 1065353216 + 15: 7(fvec4) ConstantComposite 14 14 14 14 + 16: 6(float) Constant 1073741824 + 17: 6(float) Constant 1077936128 + 18: 6(float) Constant 1082130432 + 19:8(PS_OUTPUT) ConstantComposite 15 16 17 18 + 25: TypePointer Function 8(PS_OUTPUT) + 28: TypePointer Output 7(fvec4) + 29(color): 28(ptr) Variable Output + 30: TypeInt 32 1 + 31: 30(int) Constant 0 + 32: TypePointer Function 7(fvec4) + 35: TypePointer Output 6(float) +36(other_struct_member1): 35(ptr) Variable Output + 37: 30(int) Constant 1 + 38: TypePointer Function 6(float) +41(other_struct_member2): 35(ptr) Variable Output + 42: 30(int) Constant 2 +45(other_struct_member3): 35(ptr) Variable Output + 46: 30(int) Constant 3 4(main): 2 Function None 3 5: Label - 21(flattenTemp): 20(ptr) Variable Function - 22:8(PS_OUTPUT) FunctionCall 10(Func1() - Store 21(flattenTemp) 22 - 28: 27(ptr) AccessChain 21(flattenTemp) 26 - 29: 7(fvec4) Load 28 - Store 24(color) 29 - 34: 33(ptr) AccessChain 21(flattenTemp) 32 - 35: 6(float) Load 34 - Store 31(other_struct_member1) 35 - 38: 33(ptr) AccessChain 21(flattenTemp) 37 - 39: 6(float) Load 38 - Store 36(other_struct_member2) 39 - 42: 33(ptr) AccessChain 21(flattenTemp) 41 - 43: 6(float) Load 42 - Store 40(other_struct_member3) 43 + 26(flattenTemp): 25(ptr) Variable Function + 27:8(PS_OUTPUT) FunctionCall 12(@main() + Store 26(flattenTemp) 27 + 33: 32(ptr) AccessChain 26(flattenTemp) 31 + 34: 7(fvec4) Load 33 + Store 29(color) 34 + 39: 38(ptr) AccessChain 26(flattenTemp) 37 + 40: 6(float) Load 39 + Store 36(other_struct_member1) 40 + 43: 38(ptr) AccessChain 26(flattenTemp) 42 + 44: 6(float) Load 43 + Store 41(other_struct_member2) 44 + 47: 38(ptr) AccessChain 26(flattenTemp) 46 + 48: 6(float) Load 47 + Store 45(other_struct_member3) 48 Return FunctionEnd 10(Func1():8(PS_OUTPUT) Function None 9 11: Label - ReturnValue 17 + ReturnValue 19 + FunctionEnd + 12(@main():8(PS_OUTPUT) Function None 9 + 13: Label + 22:8(PS_OUTPUT) FunctionCall 10(Func1() + ReturnValue 22 FunctionEnd diff --git a/Test/baseResults/hlsl.forLoop.frag.out b/Test/baseResults/hlsl.forLoop.frag.out index 85b8fb27..f6634098 100755 --- a/Test/baseResults/hlsl.forLoop.frag.out +++ b/Test/baseResults/hlsl.forLoop.frag.out @@ -2,9 +2,9 @@ hlsl.forLoop.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) +0:2 Function Definition: @PixelShaderFunction(vf4; (temp 4-component vector of float) 0:2 Function Parameters: -0:2 'input' (layout(location=0 ) in 4-component vector of float) +0:2 'input' (in 4-component vector of float) 0:? Sequence 0:? Sequence 0:3 Loop with condition tested first @@ -12,7 +12,7 @@ gl_FragCoord origin is upper left 0:3 No loop body 0:4 Sequence 0:4 Pre-Increment (temp 4-component vector of float) -0:4 'input' (layout(location=0 ) in 4-component vector of float) +0:4 'input' (in 4-component vector of float) 0:4 Loop with condition tested first 0:4 No loop condition 0:4 No loop body @@ -21,44 +21,38 @@ gl_FragCoord origin is upper left 0:5 Loop Condition 0:5 any (temp bool) 0:5 NotEqual (temp 4-component vector of bool) -0:5 'input' (layout(location=0 ) in 4-component vector of float) -0:5 'input' (layout(location=0 ) in 4-component vector of float) +0:5 'input' (in 4-component vector of float) +0:5 'input' (in 4-component vector of float) 0:5 No loop body 0:? Sequence 0:6 Loop with condition tested first 0:6 Loop Condition 0:6 any (temp bool) 0:6 NotEqual (temp 4-component vector of bool) -0:6 'input' (layout(location=0 ) in 4-component vector of float) -0:6 'input' (layout(location=0 ) in 4-component vector of float) +0:6 'input' (in 4-component vector of float) +0:6 'input' (in 4-component vector of float) 0:6 Loop Body 0:? Sequence -0:6 Sequence -0:6 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:6 Negate value (temp 4-component vector of float) -0:6 'input' (layout(location=0 ) in 4-component vector of float) -0:6 Branch: Return +0:6 Branch: Return with expression +0:6 Negate value (temp 4-component vector of float) +0:6 'input' (in 4-component vector of float) 0:7 Sequence 0:7 Pre-Decrement (temp 4-component vector of float) -0:7 'input' (layout(location=0 ) in 4-component vector of float) +0:7 'input' (in 4-component vector of float) 0:7 Loop with condition tested first 0:7 Loop Condition 0:7 any (temp bool) 0:7 NotEqual (temp 4-component vector of bool) -0:7 'input' (layout(location=0 ) in 4-component vector of float) -0:7 'input' (layout(location=0 ) in 4-component vector of float) +0:7 'input' (in 4-component vector of float) +0:7 'input' (in 4-component vector of float) 0:7 Loop Body 0:? Sequence -0:7 Sequence -0:7 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:7 Negate value (temp 4-component vector of float) -0:7 'input' (layout(location=0 ) in 4-component vector of float) -0:7 Branch: Return +0:7 Branch: Return with expression +0:7 Negate value (temp 4-component vector of float) +0:7 'input' (in 4-component vector of float) 0:7 Loop Terminal Expression 0:7 add second child into first child (temp 4-component vector of float) -0:7 'input' (layout(location=0 ) in 4-component vector of float) +0:7 'input' (in 4-component vector of float) 0:7 Constant: 0:7 2.000000 0:? Sequence @@ -69,7 +63,7 @@ gl_FragCoord origin is upper left 0:8 Condition 0:8 Compare Greater Than (temp bool) 0:8 direct index (temp float) -0:8 'input' (layout(location=0 ) in 4-component vector of float) +0:8 'input' (in 4-component vector of float) 0:8 Constant: 0:8 0 (const int) 0:8 Constant: @@ -84,7 +78,7 @@ gl_FragCoord origin is upper left 0:9 Condition 0:9 Compare Greater Than (temp bool) 0:9 direct index (temp float) -0:9 'input' (layout(location=0 ) in 4-component vector of float) +0:9 'input' (in 4-component vector of float) 0:9 Constant: 0:9 0 (const int) 0:9 Constant: @@ -116,6 +110,16 @@ gl_FragCoord origin is upper left 0:11 'ii' (temp int) 0:12 Pre-Decrement (temp float) 0:12 'ii' (temp float) +0:2 Function Definition: PixelShaderFunction( (temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:2 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:2 Function Call: @PixelShaderFunction(vf4; (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 'input' (layout(location=0 ) in 4-component vector of float) @@ -127,9 +131,9 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) +0:2 Function Definition: @PixelShaderFunction(vf4; (temp 4-component vector of float) 0:2 Function Parameters: -0:2 'input' (layout(location=0 ) in 4-component vector of float) +0:2 'input' (in 4-component vector of float) 0:? Sequence 0:? Sequence 0:3 Loop with condition tested first @@ -137,7 +141,7 @@ gl_FragCoord origin is upper left 0:3 No loop body 0:4 Sequence 0:4 Pre-Increment (temp 4-component vector of float) -0:4 'input' (layout(location=0 ) in 4-component vector of float) +0:4 'input' (in 4-component vector of float) 0:4 Loop with condition tested first 0:4 No loop condition 0:4 No loop body @@ -146,44 +150,38 @@ gl_FragCoord origin is upper left 0:5 Loop Condition 0:5 any (temp bool) 0:5 NotEqual (temp 4-component vector of bool) -0:5 'input' (layout(location=0 ) in 4-component vector of float) -0:5 'input' (layout(location=0 ) in 4-component vector of float) +0:5 'input' (in 4-component vector of float) +0:5 'input' (in 4-component vector of float) 0:5 No loop body 0:? Sequence 0:6 Loop with condition tested first 0:6 Loop Condition 0:6 any (temp bool) 0:6 NotEqual (temp 4-component vector of bool) -0:6 'input' (layout(location=0 ) in 4-component vector of float) -0:6 'input' (layout(location=0 ) in 4-component vector of float) +0:6 'input' (in 4-component vector of float) +0:6 'input' (in 4-component vector of float) 0:6 Loop Body 0:? Sequence -0:6 Sequence -0:6 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:6 Negate value (temp 4-component vector of float) -0:6 'input' (layout(location=0 ) in 4-component vector of float) -0:6 Branch: Return +0:6 Branch: Return with expression +0:6 Negate value (temp 4-component vector of float) +0:6 'input' (in 4-component vector of float) 0:7 Sequence 0:7 Pre-Decrement (temp 4-component vector of float) -0:7 'input' (layout(location=0 ) in 4-component vector of float) +0:7 'input' (in 4-component vector of float) 0:7 Loop with condition tested first 0:7 Loop Condition 0:7 any (temp bool) 0:7 NotEqual (temp 4-component vector of bool) -0:7 'input' (layout(location=0 ) in 4-component vector of float) -0:7 'input' (layout(location=0 ) in 4-component vector of float) +0:7 'input' (in 4-component vector of float) +0:7 'input' (in 4-component vector of float) 0:7 Loop Body 0:? Sequence -0:7 Sequence -0:7 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:7 Negate value (temp 4-component vector of float) -0:7 'input' (layout(location=0 ) in 4-component vector of float) -0:7 Branch: Return +0:7 Branch: Return with expression +0:7 Negate value (temp 4-component vector of float) +0:7 'input' (in 4-component vector of float) 0:7 Loop Terminal Expression 0:7 add second child into first child (temp 4-component vector of float) -0:7 'input' (layout(location=0 ) in 4-component vector of float) +0:7 'input' (in 4-component vector of float) 0:7 Constant: 0:7 2.000000 0:? Sequence @@ -194,7 +192,7 @@ gl_FragCoord origin is upper left 0:8 Condition 0:8 Compare Greater Than (temp bool) 0:8 direct index (temp float) -0:8 'input' (layout(location=0 ) in 4-component vector of float) +0:8 'input' (in 4-component vector of float) 0:8 Constant: 0:8 0 (const int) 0:8 Constant: @@ -209,7 +207,7 @@ gl_FragCoord origin is upper left 0:9 Condition 0:9 Compare Greater Than (temp bool) 0:9 direct index (temp float) -0:9 'input' (layout(location=0 ) in 4-component vector of float) +0:9 'input' (in 4-component vector of float) 0:9 Constant: 0:9 0 (const int) 0:9 Constant: @@ -241,193 +239,220 @@ gl_FragCoord origin is upper left 0:11 'ii' (temp int) 0:12 Pre-Decrement (temp float) 0:12 'ii' (temp float) +0:2 Function Definition: PixelShaderFunction( (temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:2 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:2 Function Call: @PixelShaderFunction(vf4; (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 'input' (layout(location=0 ) in 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 114 +// Id's are bound by 124 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 13 43 + EntryPoint Fragment 4 "PixelShaderFunction" 117 120 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 13 "input" - Name 43 "@entryPointOutput" - Name 91 "ii" + Name 11 "@PixelShaderFunction(vf4;" + Name 10 "input" + Name 92 "ii" Name 111 "ii" - Decorate 13(input) Location 0 - Decorate 43(@entryPointOutput) Location 0 + Name 115 "input" + Name 117 "input" + Name 120 "@entryPointOutput" + Name 121 "param" + Decorate 117(input) Location 0 + Decorate 120(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 - 10: TypeFloat 32 - 11: TypeVector 10(float) 4 - 12: TypePointer Input 11(fvec4) - 13(input): 12(ptr) Variable Input - 15: 10(float) Constant 1065353216 - 29: TypeBool - 30: TypeVector 29(bool) 4 - 42: TypePointer Output 11(fvec4) -43(@entryPointOutput): 42(ptr) Variable Output - 62: 10(float) Constant 1073741824 - 70: TypeInt 32 0 - 71: 70(int) Constant 0 - 72: TypePointer Input 10(float) - 89: TypeInt 32 1 - 90: TypePointer Function 89(int) - 92: 89(int) Constant 4294967295 - 99: 89(int) Constant 3 - 102: 89(int) Constant 2 - 108: 89(int) Constant 1 - 110: TypePointer Function 10(float) + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8: TypePointer Function 7(fvec4) + 9: TypeFunction 7(fvec4) 8(ptr) + 18: 6(float) Constant 1065353216 + 32: TypeBool + 33: TypeVector 32(bool) 4 + 63: 6(float) Constant 1073741824 + 71: TypeInt 32 0 + 72: 71(int) Constant 0 + 73: TypePointer Function 6(float) + 90: TypeInt 32 1 + 91: TypePointer Function 90(int) + 93: 90(int) Constant 4294967295 + 100: 90(int) Constant 3 + 103: 90(int) Constant 2 + 109: 90(int) Constant 1 + 116: TypePointer Input 7(fvec4) + 117(input): 116(ptr) Variable Input + 119: TypePointer Output 7(fvec4) +120(@entryPointOutput): 119(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label - 91(ii): 90(ptr) Variable Function - 111(ii): 110(ptr) Variable Function - Branch 6 - 6: Label - LoopMerge 8 9 None - Branch 7 - 7: Label - Branch 9 - 9: Label - Branch 6 - 8: Label - 14: 11(fvec4) Load 13(input) - 16: 11(fvec4) CompositeConstruct 15 15 15 15 - 17: 11(fvec4) FAdd 14 16 - Store 13(input) 17 - Branch 18 - 18: Label - LoopMerge 20 21 None - Branch 19 - 19: Label - Branch 21 - 21: Label - Branch 18 - 20: Label - Branch 22 - 22: Label - LoopMerge 24 25 None - Branch 26 - 26: Label - 27: 11(fvec4) Load 13(input) - 28: 11(fvec4) Load 13(input) - 31: 30(bvec4) FOrdNotEqual 27 28 - 32: 29(bool) Any 31 - BranchConditional 32 23 24 - 23: Label - Branch 25 - 25: Label - Branch 22 - 24: Label - Branch 33 - 33: Label - LoopMerge 35 36 None - Branch 37 - 37: Label - 38: 11(fvec4) Load 13(input) - 39: 11(fvec4) Load 13(input) - 40: 30(bvec4) FOrdNotEqual 38 39 - 41: 29(bool) Any 40 - BranchConditional 41 34 35 - 34: Label - 44: 11(fvec4) Load 13(input) - 45: 11(fvec4) FNegate 44 - Store 43(@entryPointOutput) 45 - Return - 36: Label - Branch 33 - 35: Label - 47: 11(fvec4) Load 13(input) - 48: 11(fvec4) CompositeConstruct 15 15 15 15 - 49: 11(fvec4) FSub 47 48 - Store 13(input) 49 - Branch 50 - 50: Label - LoopMerge 52 53 None - Branch 54 - 54: Label - 55: 11(fvec4) Load 13(input) - 56: 11(fvec4) Load 13(input) - 57: 30(bvec4) FOrdNotEqual 55 56 - 58: 29(bool) Any 57 - BranchConditional 58 51 52 - 51: Label - 59: 11(fvec4) Load 13(input) - 60: 11(fvec4) FNegate 59 - Store 43(@entryPointOutput) 60 - Return - 53: Label - 63: 11(fvec4) Load 13(input) - 64: 11(fvec4) CompositeConstruct 62 62 62 62 - 65: 11(fvec4) FAdd 63 64 - Store 13(input) 65 - Branch 50 - 52: Label - Branch 66 - 66: Label - LoopMerge 68 69 None - Branch 67 - 67: Label - 73: 72(ptr) AccessChain 13(input) 71 - 74: 10(float) Load 73 - 75: 29(bool) FOrdGreaterThan 74 62 - SelectionMerge 77 None - BranchConditional 75 76 77 - 76: Label - Branch 68 - 77: Label - Branch 69 - 69: Label - Branch 66 - 68: Label - Branch 79 - 79: Label - LoopMerge 81 82 None - Branch 80 - 80: Label - 83: 72(ptr) AccessChain 13(input) 71 - 84: 10(float) Load 83 - 85: 29(bool) FOrdGreaterThan 84 62 - SelectionMerge 87 None - BranchConditional 85 86 87 - 86: Label - Branch 82 - 87: Label - Branch 82 - 82: Label - Branch 79 - 81: Label - Store 91(ii) 92 - Branch 93 - 93: Label - LoopMerge 95 96 None - Branch 97 - 97: Label - 98: 89(int) Load 91(ii) - 100: 29(bool) SLessThan 98 99 - BranchConditional 100 94 95 - 94: Label - 101: 89(int) Load 91(ii) - 103: 29(bool) IEqual 101 102 - SelectionMerge 105 None - BranchConditional 103 104 105 - 104: Label - Branch 96 - 105: Label - Branch 96 - 96: Label - 107: 89(int) Load 91(ii) - 109: 89(int) IAdd 107 108 - Store 91(ii) 109 - Branch 93 - 95: Label - 112: 10(float) Load 111(ii) - 113: 10(float) FSub 112 15 - Store 111(ii) 113 + 115(input): 8(ptr) Variable Function + 121(param): 8(ptr) Variable Function + 118: 7(fvec4) Load 117(input) + Store 115(input) 118 + 122: 7(fvec4) Load 115(input) + Store 121(param) 122 + 123: 7(fvec4) FunctionCall 11(@PixelShaderFunction(vf4;) 121(param) + Store 120(@entryPointOutput) 123 Return FunctionEnd +11(@PixelShaderFunction(vf4;): 7(fvec4) Function None 9 + 10(input): 8(ptr) FunctionParameter + 12: Label + 92(ii): 91(ptr) Variable Function + 111(ii): 73(ptr) Variable Function + Branch 13 + 13: Label + LoopMerge 15 16 None + Branch 14 + 14: Label + Branch 16 + 16: Label + Branch 13 + 15: Label + 17: 7(fvec4) Load 10(input) + 19: 7(fvec4) CompositeConstruct 18 18 18 18 + 20: 7(fvec4) FAdd 17 19 + Store 10(input) 20 + Branch 21 + 21: Label + LoopMerge 23 24 None + Branch 22 + 22: Label + Branch 24 + 24: Label + Branch 21 + 23: Label + Branch 25 + 25: Label + LoopMerge 27 28 None + Branch 29 + 29: Label + 30: 7(fvec4) Load 10(input) + 31: 7(fvec4) Load 10(input) + 34: 33(bvec4) FOrdNotEqual 30 31 + 35: 32(bool) Any 34 + BranchConditional 35 26 27 + 26: Label + Branch 28 + 28: Label + Branch 25 + 27: Label + Branch 36 + 36: Label + LoopMerge 38 39 None + Branch 40 + 40: Label + 41: 7(fvec4) Load 10(input) + 42: 7(fvec4) Load 10(input) + 43: 33(bvec4) FOrdNotEqual 41 42 + 44: 32(bool) Any 43 + BranchConditional 44 37 38 + 37: Label + 45: 7(fvec4) Load 10(input) + 46: 7(fvec4) FNegate 45 + ReturnValue 46 + 39: Label + Branch 36 + 38: Label + 48: 7(fvec4) Load 10(input) + 49: 7(fvec4) CompositeConstruct 18 18 18 18 + 50: 7(fvec4) FSub 48 49 + Store 10(input) 50 + Branch 51 + 51: Label + LoopMerge 53 54 None + Branch 55 + 55: Label + 56: 7(fvec4) Load 10(input) + 57: 7(fvec4) Load 10(input) + 58: 33(bvec4) FOrdNotEqual 56 57 + 59: 32(bool) Any 58 + BranchConditional 59 52 53 + 52: Label + 60: 7(fvec4) Load 10(input) + 61: 7(fvec4) FNegate 60 + ReturnValue 61 + 54: Label + 64: 7(fvec4) Load 10(input) + 65: 7(fvec4) CompositeConstruct 63 63 63 63 + 66: 7(fvec4) FAdd 64 65 + Store 10(input) 66 + Branch 51 + 53: Label + Branch 67 + 67: Label + LoopMerge 69 70 None + Branch 68 + 68: Label + 74: 73(ptr) AccessChain 10(input) 72 + 75: 6(float) Load 74 + 76: 32(bool) FOrdGreaterThan 75 63 + SelectionMerge 78 None + BranchConditional 76 77 78 + 77: Label + Branch 69 + 78: Label + Branch 70 + 70: Label + Branch 67 + 69: Label + Branch 80 + 80: Label + LoopMerge 82 83 None + Branch 81 + 81: Label + 84: 73(ptr) AccessChain 10(input) 72 + 85: 6(float) Load 84 + 86: 32(bool) FOrdGreaterThan 85 63 + SelectionMerge 88 None + BranchConditional 86 87 88 + 87: Label + Branch 83 + 88: Label + Branch 83 + 83: Label + Branch 80 + 82: Label + Store 92(ii) 93 + Branch 94 + 94: Label + LoopMerge 96 97 None + Branch 98 + 98: Label + 99: 90(int) Load 92(ii) + 101: 32(bool) SLessThan 99 100 + BranchConditional 101 95 96 + 95: Label + 102: 90(int) Load 92(ii) + 104: 32(bool) IEqual 102 103 + SelectionMerge 106 None + BranchConditional 104 105 106 + 105: Label + Branch 97 + 106: Label + Branch 97 + 97: Label + 108: 90(int) Load 92(ii) + 110: 90(int) IAdd 108 109 + Store 92(ii) 110 + Branch 94 + 96: Label + 112: 6(float) Load 111(ii) + 113: 6(float) FSub 112 18 + Store 111(ii) 113 + 114: 7(fvec4) Undef + ReturnValue 114 + FunctionEnd diff --git a/Test/baseResults/hlsl.gather.array.dx10.frag.out b/Test/baseResults/hlsl.gather.array.dx10.frag.out index ee550d16..f45dc190 100644 --- a/Test/baseResults/hlsl.gather.array.dx10.frag.out +++ b/Test/baseResults/hlsl.gather.array.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.gather.array.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:24 Function Parameters: 0:? Sequence 0:29 Sequence @@ -91,24 +91,28 @@ gl_FragCoord origin is upper left 0:40 1 (const int) 0:40 Constant: 0:40 1.000000 -0:42 Sequence -0:42 Sequence -0:42 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:42 Color: direct index for structure (temp 4-component vector of float) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:42 Constant: -0:42 0 (const int) -0:42 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:42 Depth: direct index for structure (temp float) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:42 Constant: -0:42 1 (const int) -0:42 Branch: Return +0:42 Branch: Return with expression +0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: main( (temp void) +0:24 Function Parameters: +0:? Sequence +0:24 Sequence +0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:24 Color: direct index for structure (temp 4-component vector of float) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:24 Depth: direct index for structure (temp float) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -120,6 +124,8 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -128,7 +134,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:24 Function Parameters: 0:? Sequence 0:29 Sequence @@ -217,24 +223,28 @@ gl_FragCoord origin is upper left 0:40 1 (const int) 0:40 Constant: 0:40 1.000000 -0:42 Sequence -0:42 Sequence -0:42 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:42 Color: direct index for structure (temp 4-component vector of float) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:42 Constant: -0:42 0 (const int) -0:42 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:42 Depth: direct index for structure (temp float) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:42 Constant: -0:42 1 (const int) -0:42 Branch: Return +0:42 Branch: Return with expression +0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: main( (temp void) +0:24 Function Parameters: +0:? Sequence +0:24 Sequence +0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:24 Color: direct index for structure (temp 4-component vector of float) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:24 Depth: direct index for structure (temp float) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -246,181 +256,194 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +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 117 +// Id's are bound by 124 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 99 103 + EntryPoint Fragment 4 "main" 107 111 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval20" - Name 12 "g_tTex2df4a" - Name 16 "g_sSamp" - Name 30 "txval21" - Name 33 "g_tTex2di4a" - Name 45 "txval22" - Name 48 "g_tTex2du4a" - Name 57 "txval40" - Name 60 "g_tTexcdf4a" - Name 67 "txval41" - Name 70 "g_tTexcdi4a" - Name 77 "txval42" - Name 80 "g_tTexcdu4a" - Name 90 "PS_OUTPUT" - MemberName 90(PS_OUTPUT) 0 "Color" - MemberName 90(PS_OUTPUT) 1 "Depth" - Name 92 "psout" - Name 99 "Color" - Name 103 "Depth" - Name 109 "g_tTex1df4a" - Name 110 "g_tTex1df4" - Name 113 "g_tTex1di4a" - Name 116 "g_tTex1du4a" - Decorate 12(g_tTex2df4a) DescriptorSet 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - Decorate 33(g_tTex2di4a) DescriptorSet 0 - Decorate 48(g_tTex2du4a) DescriptorSet 0 - Decorate 60(g_tTexcdf4a) DescriptorSet 0 - Decorate 70(g_tTexcdi4a) DescriptorSet 0 - Decorate 80(g_tTexcdu4a) DescriptorSet 0 - Decorate 99(Color) Location 0 - Decorate 103(Depth) BuiltIn FragDepth - Decorate 109(g_tTex1df4a) DescriptorSet 0 - Decorate 109(g_tTex1df4a) Binding 1 - Decorate 110(g_tTex1df4) DescriptorSet 0 - Decorate 110(g_tTex1df4) Binding 0 - Decorate 113(g_tTex1di4a) DescriptorSet 0 - Decorate 116(g_tTex1du4a) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval20" + Name 16 "g_tTex2df4a" + Name 20 "g_sSamp" + Name 34 "txval21" + Name 37 "g_tTex2di4a" + Name 49 "txval22" + Name 52 "g_tTex2du4a" + Name 61 "txval40" + Name 64 "g_tTexcdf4a" + Name 71 "txval41" + Name 74 "g_tTexcdi4a" + Name 81 "txval42" + Name 84 "g_tTexcdu4a" + Name 95 "psout" + Name 104 "flattenTemp" + Name 107 "Color" + Name 111 "Depth" + Name 116 "g_tTex1df4a" + Name 117 "g_tTex1df4" + Name 120 "g_tTex1di4a" + Name 123 "g_tTex1du4a" + Decorate 16(g_tTex2df4a) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 37(g_tTex2di4a) DescriptorSet 0 + Decorate 52(g_tTex2du4a) DescriptorSet 0 + Decorate 64(g_tTexcdf4a) DescriptorSet 0 + Decorate 74(g_tTexcdi4a) DescriptorSet 0 + Decorate 84(g_tTexcdu4a) DescriptorSet 0 + Decorate 107(Color) Location 0 + Decorate 111(Depth) BuiltIn FragDepth + Decorate 116(g_tTex1df4a) DescriptorSet 0 + Decorate 116(g_tTex1df4a) Binding 1 + Decorate 117(g_tTex1df4) DescriptorSet 0 + Decorate 117(g_tTex1df4) Binding 0 + Decorate 120(g_tTex1di4a) DescriptorSet 0 + Decorate 123(g_tTex1du4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 2D array sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex2df4a): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 2D array sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: TypeVector 6(float) 3 - 21: 6(float) Constant 1036831949 - 22: 6(float) Constant 1045220557 - 23: 6(float) Constant 1050253722 - 24: 20(fvec3) ConstantComposite 21 22 23 - 25: TypeInt 32 1 - 26: 25(int) Constant 0 - 28: TypeVector 25(int) 4 - 29: TypePointer Function 28(ivec4) - 31: TypeImage 25(int) 2D array sampled format:Unknown - 32: TypePointer UniformConstant 31 - 33(g_tTex2di4a): 32(ptr) Variable UniformConstant - 36: TypeSampledImage 31 - 38: 6(float) Constant 1053609165 - 39: 6(float) Constant 1056964608 - 40: 20(fvec3) ConstantComposite 23 38 39 - 42: TypeInt 32 0 - 43: TypeVector 42(int) 4 - 44: TypePointer Function 43(ivec4) - 46: TypeImage 42(int) 2D array sampled format:Unknown - 47: TypePointer UniformConstant 46 - 48(g_tTex2du4a): 47(ptr) Variable UniformConstant - 51: TypeSampledImage 46 - 53: 6(float) Constant 1058642330 - 54: 6(float) Constant 1060320051 - 55: 20(fvec3) ConstantComposite 39 53 54 - 58: TypeImage 6(float) Cube array sampled format:Unknown - 59: TypePointer UniformConstant 58 - 60(g_tTexcdf4a): 59(ptr) Variable UniformConstant - 63: TypeSampledImage 58 - 65: 7(fvec4) ConstantComposite 21 22 23 38 - 68: TypeImage 25(int) Cube array sampled format:Unknown - 69: TypePointer UniformConstant 68 - 70(g_tTexcdi4a): 69(ptr) Variable UniformConstant - 73: TypeSampledImage 68 - 75: 7(fvec4) ConstantComposite 38 39 53 54 - 78: TypeImage 42(int) Cube array sampled format:Unknown - 79: TypePointer UniformConstant 78 - 80(g_tTexcdu4a): 79(ptr) Variable UniformConstant - 83: TypeSampledImage 78 - 85: 6(float) Constant 1061997773 - 86: 6(float) Constant 1063675494 - 87: 6(float) Constant 1065353216 - 88: 7(fvec4) ConstantComposite 54 85 86 87 - 90(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 91: TypePointer Function 90(PS_OUTPUT) - 93: 7(fvec4) ConstantComposite 87 87 87 87 - 95: 25(int) Constant 1 - 96: TypePointer Function 6(float) - 98: TypePointer Output 7(fvec4) - 99(Color): 98(ptr) Variable Output - 102: TypePointer Output 6(float) - 103(Depth): 102(ptr) Variable Output - 107: TypeImage 6(float) 1D array sampled format:Unknown - 108: TypePointer UniformConstant 107 -109(g_tTex1df4a): 108(ptr) Variable UniformConstant - 110(g_tTex1df4): 108(ptr) Variable UniformConstant - 111: TypeImage 25(int) 1D array sampled format:Unknown - 112: TypePointer UniformConstant 111 -113(g_tTex1di4a): 112(ptr) Variable UniformConstant - 114: TypeImage 42(int) 1D array sampled format:Unknown + 16(g_tTex2df4a): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: TypeVector 6(float) 3 + 25: 6(float) Constant 1036831949 + 26: 6(float) Constant 1045220557 + 27: 6(float) Constant 1050253722 + 28: 24(fvec3) ConstantComposite 25 26 27 + 29: TypeInt 32 1 + 30: 29(int) Constant 0 + 32: TypeVector 29(int) 4 + 33: TypePointer Function 32(ivec4) + 35: TypeImage 29(int) 2D array sampled format:Unknown + 36: TypePointer UniformConstant 35 + 37(g_tTex2di4a): 36(ptr) Variable UniformConstant + 40: TypeSampledImage 35 + 42: 6(float) Constant 1053609165 + 43: 6(float) Constant 1056964608 + 44: 24(fvec3) ConstantComposite 27 42 43 + 46: TypeInt 32 0 + 47: TypeVector 46(int) 4 + 48: TypePointer Function 47(ivec4) + 50: TypeImage 46(int) 2D array sampled format:Unknown + 51: TypePointer UniformConstant 50 + 52(g_tTex2du4a): 51(ptr) Variable UniformConstant + 55: TypeSampledImage 50 + 57: 6(float) Constant 1058642330 + 58: 6(float) Constant 1060320051 + 59: 24(fvec3) ConstantComposite 43 57 58 + 62: TypeImage 6(float) Cube array sampled format:Unknown + 63: TypePointer UniformConstant 62 + 64(g_tTexcdf4a): 63(ptr) Variable UniformConstant + 67: TypeSampledImage 62 + 69: 7(fvec4) ConstantComposite 25 26 27 42 + 72: TypeImage 29(int) Cube array sampled format:Unknown + 73: TypePointer UniformConstant 72 + 74(g_tTexcdi4a): 73(ptr) Variable UniformConstant + 77: TypeSampledImage 72 + 79: 7(fvec4) ConstantComposite 42 43 57 58 + 82: TypeImage 46(int) Cube array sampled format:Unknown + 83: TypePointer UniformConstant 82 + 84(g_tTexcdu4a): 83(ptr) Variable UniformConstant + 87: TypeSampledImage 82 + 89: 6(float) Constant 1061997773 + 90: 6(float) Constant 1063675494 + 91: 6(float) Constant 1065353216 + 92: 7(fvec4) ConstantComposite 58 89 90 91 + 94: TypePointer Function 8(PS_OUTPUT) + 96: 7(fvec4) ConstantComposite 91 91 91 91 + 98: 29(int) Constant 1 + 99: TypePointer Function 6(float) + 106: TypePointer Output 7(fvec4) + 107(Color): 106(ptr) Variable Output + 110: TypePointer Output 6(float) + 111(Depth): 110(ptr) Variable Output + 114: TypeImage 6(float) 1D array sampled format:Unknown 115: TypePointer UniformConstant 114 -116(g_tTex1du4a): 115(ptr) Variable UniformConstant +116(g_tTex1df4a): 115(ptr) Variable UniformConstant + 117(g_tTex1df4): 115(ptr) Variable UniformConstant + 118: TypeImage 29(int) 1D array sampled format:Unknown + 119: TypePointer UniformConstant 118 +120(g_tTex1di4a): 119(ptr) Variable UniformConstant + 121: TypeImage 46(int) 1D array sampled format:Unknown + 122: TypePointer UniformConstant 121 +123(g_tTex1du4a): 122(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval20): 8(ptr) Variable Function - 30(txval21): 29(ptr) Variable Function - 45(txval22): 44(ptr) Variable Function - 57(txval40): 8(ptr) Variable Function - 67(txval41): 29(ptr) Variable Function - 77(txval42): 44(ptr) Variable Function - 92(psout): 91(ptr) Variable Function - 13: 10 Load 12(g_tTex2df4a) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 27: 7(fvec4) ImageGather 19 24 26 - Store 9(txval20) 27 - 34: 31 Load 33(g_tTex2di4a) - 35: 14 Load 16(g_sSamp) - 37: 36 SampledImage 34 35 - 41: 28(ivec4) ImageGather 37 40 26 - Store 30(txval21) 41 - 49: 46 Load 48(g_tTex2du4a) - 50: 14 Load 16(g_sSamp) - 52: 51 SampledImage 49 50 - 56: 43(ivec4) ImageGather 52 55 26 - Store 45(txval22) 56 - 61: 58 Load 60(g_tTexcdf4a) - 62: 14 Load 16(g_sSamp) - 64: 63 SampledImage 61 62 - 66: 7(fvec4) ImageGather 64 65 26 - Store 57(txval40) 66 - 71: 68 Load 70(g_tTexcdi4a) - 72: 14 Load 16(g_sSamp) - 74: 73 SampledImage 71 72 - 76: 28(ivec4) ImageGather 74 75 26 - Store 67(txval41) 76 - 81: 78 Load 80(g_tTexcdu4a) - 82: 14 Load 16(g_sSamp) - 84: 83 SampledImage 81 82 - 89: 43(ivec4) ImageGather 84 88 26 - Store 77(txval42) 89 - 94: 8(ptr) AccessChain 92(psout) 26 - Store 94 93 - 97: 96(ptr) AccessChain 92(psout) 95 - Store 97 87 - 100: 8(ptr) AccessChain 92(psout) 26 - 101: 7(fvec4) Load 100 - Store 99(Color) 101 - 104: 96(ptr) AccessChain 92(psout) 95 - 105: 6(float) Load 104 - Store 103(Depth) 105 +104(flattenTemp): 94(ptr) Variable Function + 105:8(PS_OUTPUT) FunctionCall 10(@main() + Store 104(flattenTemp) 105 + 108: 12(ptr) AccessChain 104(flattenTemp) 30 + 109: 7(fvec4) Load 108 + Store 107(Color) 109 + 112: 99(ptr) AccessChain 104(flattenTemp) 98 + 113: 6(float) Load 112 + Store 111(Depth) 113 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval20): 12(ptr) Variable Function + 34(txval21): 33(ptr) Variable Function + 49(txval22): 48(ptr) Variable Function + 61(txval40): 12(ptr) Variable Function + 71(txval41): 33(ptr) Variable Function + 81(txval42): 48(ptr) Variable Function + 95(psout): 94(ptr) Variable Function + 17: 14 Load 16(g_tTex2df4a) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 31: 7(fvec4) ImageGather 23 28 30 + Store 13(txval20) 31 + 38: 35 Load 37(g_tTex2di4a) + 39: 18 Load 20(g_sSamp) + 41: 40 SampledImage 38 39 + 45: 32(ivec4) ImageGather 41 44 30 + Store 34(txval21) 45 + 53: 50 Load 52(g_tTex2du4a) + 54: 18 Load 20(g_sSamp) + 56: 55 SampledImage 53 54 + 60: 47(ivec4) ImageGather 56 59 30 + Store 49(txval22) 60 + 65: 62 Load 64(g_tTexcdf4a) + 66: 18 Load 20(g_sSamp) + 68: 67 SampledImage 65 66 + 70: 7(fvec4) ImageGather 68 69 30 + Store 61(txval40) 70 + 75: 72 Load 74(g_tTexcdi4a) + 76: 18 Load 20(g_sSamp) + 78: 77 SampledImage 75 76 + 80: 32(ivec4) ImageGather 78 79 30 + Store 71(txval41) 80 + 85: 82 Load 84(g_tTexcdu4a) + 86: 18 Load 20(g_sSamp) + 88: 87 SampledImage 85 86 + 93: 47(ivec4) ImageGather 88 92 30 + Store 81(txval42) 93 + 97: 12(ptr) AccessChain 95(psout) 30 + Store 97 96 + 100: 99(ptr) AccessChain 95(psout) 98 + Store 100 91 + 101:8(PS_OUTPUT) Load 95(psout) + ReturnValue 101 + FunctionEnd diff --git a/Test/baseResults/hlsl.gather.basic.dx10.frag.out b/Test/baseResults/hlsl.gather.basic.dx10.frag.out index 86e106ca..55e92f01 100644 --- a/Test/baseResults/hlsl.gather.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.gather.basic.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.gather.basic.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:29 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:29 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:29 Function Parameters: 0:? Sequence 0:34 Sequence @@ -85,24 +85,28 @@ gl_FragCoord origin is upper left 0:45 1 (const int) 0:45 Constant: 0:45 1.000000 -0:47 Sequence -0:47 Sequence -0:47 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:47 Color: direct index for structure (temp 4-component vector of float) -0:47 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:47 Constant: -0:47 0 (const int) -0:47 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:47 Depth: direct index for structure (temp float) -0:47 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:47 Constant: -0:47 1 (const int) -0:47 Branch: Return +0:47 Branch: Return with expression +0:47 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:29 Function Definition: main( (temp void) +0:29 Function Parameters: +0:? Sequence +0:29 Sequence +0:29 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:29 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:29 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:29 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:29 Color: direct index for structure (temp 4-component vector of float) +0:29 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:29 Constant: +0:29 0 (const int) +0:29 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:29 Depth: direct index for structure (temp float) +0:29 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:29 Constant: +0:29 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) @@ -118,6 +122,8 @@ gl_FragCoord origin is upper left 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: @@ -126,7 +132,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:29 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:29 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:29 Function Parameters: 0:? Sequence 0:34 Sequence @@ -209,24 +215,28 @@ gl_FragCoord origin is upper left 0:45 1 (const int) 0:45 Constant: 0:45 1.000000 -0:47 Sequence -0:47 Sequence -0:47 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:47 Color: direct index for structure (temp 4-component vector of float) -0:47 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:47 Constant: -0:47 0 (const int) -0:47 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:47 Depth: direct index for structure (temp float) -0:47 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:47 Constant: -0:47 1 (const int) -0:47 Branch: Return +0:47 Branch: Return with expression +0:47 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:29 Function Definition: main( (temp void) +0:29 Function Parameters: +0:? Sequence +0:29 Sequence +0:29 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:29 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:29 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:29 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:29 Color: direct index for structure (temp 4-component vector of float) +0:29 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:29 Constant: +0:29 0 (const int) +0:29 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:29 Depth: direct index for structure (temp float) +0:29 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:29 Constant: +0:29 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) @@ -242,199 +252,212 @@ gl_FragCoord origin is upper left 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 128 +// Id's are bound by 135 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 100 104 + EntryPoint Fragment 4 "main" 108 112 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval20" - Name 12 "g_tTex2df4" - Name 16 "g_sSamp" - Name 29 "txval21" - Name 32 "g_tTex2di4" - Name 44 "txval22" - Name 47 "g_tTex2du4" - Name 56 "txval40" - Name 59 "g_tTexcdf4" - Name 67 "txval41" - Name 70 "g_tTexcdi4" - Name 77 "txval42" - Name 80 "g_tTexcdu4" - Name 90 "PS_OUTPUT" - MemberName 90(PS_OUTPUT) 0 "Color" - MemberName 90(PS_OUTPUT) 1 "Depth" - Name 92 "psout" - Name 100 "Color" - Name 104 "Depth" - Name 108 "g_sSamp2d" - Name 111 "g_tTex1df4a" - Name 112 "g_tTex1df4" - Name 115 "g_tTex1di4" - Name 118 "g_tTex1du4" - Name 121 "g_tTex3df4" - Name 124 "g_tTex3di4" - Name 127 "g_tTex3du4" - Decorate 12(g_tTex2df4) DescriptorSet 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - Decorate 32(g_tTex2di4) DescriptorSet 0 - Decorate 47(g_tTex2du4) DescriptorSet 0 - Decorate 59(g_tTexcdf4) DescriptorSet 0 - Decorate 70(g_tTexcdi4) DescriptorSet 0 - Decorate 80(g_tTexcdu4) DescriptorSet 0 - Decorate 100(Color) Location 0 - Decorate 104(Depth) BuiltIn FragDepth - Decorate 108(g_sSamp2d) DescriptorSet 0 - Decorate 111(g_tTex1df4a) DescriptorSet 0 - Decorate 111(g_tTex1df4a) Binding 1 - Decorate 112(g_tTex1df4) DescriptorSet 0 - Decorate 112(g_tTex1df4) Binding 0 - Decorate 115(g_tTex1di4) DescriptorSet 0 - Decorate 118(g_tTex1du4) DescriptorSet 0 - Decorate 121(g_tTex3df4) DescriptorSet 0 - Decorate 124(g_tTex3di4) DescriptorSet 0 - Decorate 127(g_tTex3du4) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval20" + Name 16 "g_tTex2df4" + Name 20 "g_sSamp" + Name 33 "txval21" + Name 36 "g_tTex2di4" + Name 48 "txval22" + Name 51 "g_tTex2du4" + Name 60 "txval40" + Name 63 "g_tTexcdf4" + Name 71 "txval41" + Name 74 "g_tTexcdi4" + Name 81 "txval42" + Name 84 "g_tTexcdu4" + Name 95 "psout" + Name 105 "flattenTemp" + Name 108 "Color" + Name 112 "Depth" + Name 115 "g_sSamp2d" + Name 118 "g_tTex1df4a" + Name 119 "g_tTex1df4" + Name 122 "g_tTex1di4" + Name 125 "g_tTex1du4" + Name 128 "g_tTex3df4" + Name 131 "g_tTex3di4" + Name 134 "g_tTex3du4" + Decorate 16(g_tTex2df4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 36(g_tTex2di4) DescriptorSet 0 + Decorate 51(g_tTex2du4) DescriptorSet 0 + Decorate 63(g_tTexcdf4) DescriptorSet 0 + Decorate 74(g_tTexcdi4) DescriptorSet 0 + Decorate 84(g_tTexcdu4) DescriptorSet 0 + Decorate 108(Color) Location 0 + Decorate 112(Depth) BuiltIn FragDepth + Decorate 115(g_sSamp2d) DescriptorSet 0 + Decorate 118(g_tTex1df4a) DescriptorSet 0 + Decorate 118(g_tTex1df4a) Binding 1 + Decorate 119(g_tTex1df4) DescriptorSet 0 + Decorate 119(g_tTex1df4) Binding 0 + Decorate 122(g_tTex1di4) DescriptorSet 0 + Decorate 125(g_tTex1du4) DescriptorSet 0 + Decorate 128(g_tTex3df4) DescriptorSet 0 + Decorate 131(g_tTex3di4) DescriptorSet 0 + Decorate 134(g_tTex3du4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 2D sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex2df4): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 2D sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: TypeVector 6(float) 2 - 21: 6(float) Constant 1036831949 - 22: 6(float) Constant 1045220557 - 23: 20(fvec2) ConstantComposite 21 22 - 24: TypeInt 32 1 - 25: 24(int) Constant 0 - 27: TypeVector 24(int) 4 - 28: TypePointer Function 27(ivec4) - 30: TypeImage 24(int) 2D sampled format:Unknown - 31: TypePointer UniformConstant 30 - 32(g_tTex2di4): 31(ptr) Variable UniformConstant - 35: TypeSampledImage 30 - 37: 6(float) Constant 1050253722 - 38: 6(float) Constant 1053609165 - 39: 20(fvec2) ConstantComposite 37 38 - 41: TypeInt 32 0 - 42: TypeVector 41(int) 4 - 43: TypePointer Function 42(ivec4) - 45: TypeImage 41(int) 2D sampled format:Unknown - 46: TypePointer UniformConstant 45 - 47(g_tTex2du4): 46(ptr) Variable UniformConstant - 50: TypeSampledImage 45 - 52: 6(float) Constant 1056964608 - 53: 6(float) Constant 1058642330 - 54: 20(fvec2) ConstantComposite 52 53 - 57: TypeImage 6(float) Cube sampled format:Unknown - 58: TypePointer UniformConstant 57 - 59(g_tTexcdf4): 58(ptr) Variable UniformConstant - 62: TypeSampledImage 57 - 64: TypeVector 6(float) 3 - 65: 64(fvec3) ConstantComposite 21 22 37 - 68: TypeImage 24(int) Cube sampled format:Unknown - 69: TypePointer UniformConstant 68 - 70(g_tTexcdi4): 69(ptr) Variable UniformConstant - 73: TypeSampledImage 68 - 75: 64(fvec3) ConstantComposite 38 52 53 - 78: TypeImage 41(int) Cube sampled format:Unknown - 79: TypePointer UniformConstant 78 - 80(g_tTexcdu4): 79(ptr) Variable UniformConstant - 83: TypeSampledImage 78 - 85: 6(float) Constant 1060320051 - 86: 6(float) Constant 1061997773 - 87: 6(float) Constant 1063675494 - 88: 64(fvec3) ConstantComposite 85 86 87 - 90(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 91: TypePointer Function 90(PS_OUTPUT) - 93: 6(float) Constant 1065353216 - 94: 7(fvec4) ConstantComposite 93 93 93 93 - 96: 24(int) Constant 1 - 97: TypePointer Function 6(float) - 99: TypePointer Output 7(fvec4) - 100(Color): 99(ptr) Variable Output - 103: TypePointer Output 6(float) - 104(Depth): 103(ptr) Variable Output - 108(g_sSamp2d): 15(ptr) Variable UniformConstant - 109: TypeImage 6(float) 1D sampled format:Unknown - 110: TypePointer UniformConstant 109 -111(g_tTex1df4a): 110(ptr) Variable UniformConstant - 112(g_tTex1df4): 110(ptr) Variable UniformConstant - 113: TypeImage 24(int) 1D sampled format:Unknown - 114: TypePointer UniformConstant 113 - 115(g_tTex1di4): 114(ptr) Variable UniformConstant - 116: TypeImage 41(int) 1D sampled format:Unknown + 16(g_tTex2df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: TypeVector 6(float) 2 + 25: 6(float) Constant 1036831949 + 26: 6(float) Constant 1045220557 + 27: 24(fvec2) ConstantComposite 25 26 + 28: TypeInt 32 1 + 29: 28(int) Constant 0 + 31: TypeVector 28(int) 4 + 32: TypePointer Function 31(ivec4) + 34: TypeImage 28(int) 2D sampled format:Unknown + 35: TypePointer UniformConstant 34 + 36(g_tTex2di4): 35(ptr) Variable UniformConstant + 39: TypeSampledImage 34 + 41: 6(float) Constant 1050253722 + 42: 6(float) Constant 1053609165 + 43: 24(fvec2) ConstantComposite 41 42 + 45: TypeInt 32 0 + 46: TypeVector 45(int) 4 + 47: TypePointer Function 46(ivec4) + 49: TypeImage 45(int) 2D sampled format:Unknown + 50: TypePointer UniformConstant 49 + 51(g_tTex2du4): 50(ptr) Variable UniformConstant + 54: TypeSampledImage 49 + 56: 6(float) Constant 1056964608 + 57: 6(float) Constant 1058642330 + 58: 24(fvec2) ConstantComposite 56 57 + 61: TypeImage 6(float) Cube sampled format:Unknown + 62: TypePointer UniformConstant 61 + 63(g_tTexcdf4): 62(ptr) Variable UniformConstant + 66: TypeSampledImage 61 + 68: TypeVector 6(float) 3 + 69: 68(fvec3) ConstantComposite 25 26 41 + 72: TypeImage 28(int) Cube sampled format:Unknown + 73: TypePointer UniformConstant 72 + 74(g_tTexcdi4): 73(ptr) Variable UniformConstant + 77: TypeSampledImage 72 + 79: 68(fvec3) ConstantComposite 42 56 57 + 82: TypeImage 45(int) Cube sampled format:Unknown + 83: TypePointer UniformConstant 82 + 84(g_tTexcdu4): 83(ptr) Variable UniformConstant + 87: TypeSampledImage 82 + 89: 6(float) Constant 1060320051 + 90: 6(float) Constant 1061997773 + 91: 6(float) Constant 1063675494 + 92: 68(fvec3) ConstantComposite 89 90 91 + 94: TypePointer Function 8(PS_OUTPUT) + 96: 6(float) Constant 1065353216 + 97: 7(fvec4) ConstantComposite 96 96 96 96 + 99: 28(int) Constant 1 + 100: TypePointer Function 6(float) + 107: TypePointer Output 7(fvec4) + 108(Color): 107(ptr) Variable Output + 111: TypePointer Output 6(float) + 112(Depth): 111(ptr) Variable Output + 115(g_sSamp2d): 19(ptr) Variable UniformConstant + 116: TypeImage 6(float) 1D sampled format:Unknown 117: TypePointer UniformConstant 116 - 118(g_tTex1du4): 117(ptr) Variable UniformConstant - 119: TypeImage 6(float) 3D sampled format:Unknown - 120: TypePointer UniformConstant 119 - 121(g_tTex3df4): 120(ptr) Variable UniformConstant - 122: TypeImage 24(int) 3D sampled format:Unknown - 123: TypePointer UniformConstant 122 - 124(g_tTex3di4): 123(ptr) Variable UniformConstant - 125: TypeImage 41(int) 3D sampled format:Unknown - 126: TypePointer UniformConstant 125 - 127(g_tTex3du4): 126(ptr) Variable UniformConstant +118(g_tTex1df4a): 117(ptr) Variable UniformConstant + 119(g_tTex1df4): 117(ptr) Variable UniformConstant + 120: TypeImage 28(int) 1D sampled format:Unknown + 121: TypePointer UniformConstant 120 + 122(g_tTex1di4): 121(ptr) Variable UniformConstant + 123: TypeImage 45(int) 1D sampled format:Unknown + 124: TypePointer UniformConstant 123 + 125(g_tTex1du4): 124(ptr) Variable UniformConstant + 126: TypeImage 6(float) 3D sampled format:Unknown + 127: TypePointer UniformConstant 126 + 128(g_tTex3df4): 127(ptr) Variable UniformConstant + 129: TypeImage 28(int) 3D sampled format:Unknown + 130: TypePointer UniformConstant 129 + 131(g_tTex3di4): 130(ptr) Variable UniformConstant + 132: TypeImage 45(int) 3D sampled format:Unknown + 133: TypePointer UniformConstant 132 + 134(g_tTex3du4): 133(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval20): 8(ptr) Variable Function - 29(txval21): 28(ptr) Variable Function - 44(txval22): 43(ptr) Variable Function - 56(txval40): 8(ptr) Variable Function - 67(txval41): 28(ptr) Variable Function - 77(txval42): 43(ptr) Variable Function - 92(psout): 91(ptr) Variable Function - 13: 10 Load 12(g_tTex2df4) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 26: 7(fvec4) ImageGather 19 23 25 - Store 9(txval20) 26 - 33: 30 Load 32(g_tTex2di4) - 34: 14 Load 16(g_sSamp) - 36: 35 SampledImage 33 34 - 40: 27(ivec4) ImageGather 36 39 25 - Store 29(txval21) 40 - 48: 45 Load 47(g_tTex2du4) - 49: 14 Load 16(g_sSamp) - 51: 50 SampledImage 48 49 - 55: 42(ivec4) ImageGather 51 54 25 - Store 44(txval22) 55 - 60: 57 Load 59(g_tTexcdf4) - 61: 14 Load 16(g_sSamp) - 63: 62 SampledImage 60 61 - 66: 7(fvec4) ImageGather 63 65 25 - Store 56(txval40) 66 - 71: 68 Load 70(g_tTexcdi4) - 72: 14 Load 16(g_sSamp) - 74: 73 SampledImage 71 72 - 76: 27(ivec4) ImageGather 74 75 25 - Store 67(txval41) 76 - 81: 78 Load 80(g_tTexcdu4) - 82: 14 Load 16(g_sSamp) - 84: 83 SampledImage 81 82 - 89: 42(ivec4) ImageGather 84 88 25 - Store 77(txval42) 89 - 95: 8(ptr) AccessChain 92(psout) 25 - Store 95 94 - 98: 97(ptr) AccessChain 92(psout) 96 - Store 98 93 - 101: 8(ptr) AccessChain 92(psout) 25 - 102: 7(fvec4) Load 101 - Store 100(Color) 102 - 105: 97(ptr) AccessChain 92(psout) 96 - 106: 6(float) Load 105 - Store 104(Depth) 106 +105(flattenTemp): 94(ptr) Variable Function + 106:8(PS_OUTPUT) FunctionCall 10(@main() + Store 105(flattenTemp) 106 + 109: 12(ptr) AccessChain 105(flattenTemp) 29 + 110: 7(fvec4) Load 109 + Store 108(Color) 110 + 113: 100(ptr) AccessChain 105(flattenTemp) 99 + 114: 6(float) Load 113 + Store 112(Depth) 114 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval20): 12(ptr) Variable Function + 33(txval21): 32(ptr) Variable Function + 48(txval22): 47(ptr) Variable Function + 60(txval40): 12(ptr) Variable Function + 71(txval41): 32(ptr) Variable Function + 81(txval42): 47(ptr) Variable Function + 95(psout): 94(ptr) Variable Function + 17: 14 Load 16(g_tTex2df4) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 30: 7(fvec4) ImageGather 23 27 29 + Store 13(txval20) 30 + 37: 34 Load 36(g_tTex2di4) + 38: 18 Load 20(g_sSamp) + 40: 39 SampledImage 37 38 + 44: 31(ivec4) ImageGather 40 43 29 + Store 33(txval21) 44 + 52: 49 Load 51(g_tTex2du4) + 53: 18 Load 20(g_sSamp) + 55: 54 SampledImage 52 53 + 59: 46(ivec4) ImageGather 55 58 29 + Store 48(txval22) 59 + 64: 61 Load 63(g_tTexcdf4) + 65: 18 Load 20(g_sSamp) + 67: 66 SampledImage 64 65 + 70: 7(fvec4) ImageGather 67 69 29 + Store 60(txval40) 70 + 75: 72 Load 74(g_tTexcdi4) + 76: 18 Load 20(g_sSamp) + 78: 77 SampledImage 75 76 + 80: 31(ivec4) ImageGather 78 79 29 + Store 71(txval41) 80 + 85: 82 Load 84(g_tTexcdu4) + 86: 18 Load 20(g_sSamp) + 88: 87 SampledImage 85 86 + 93: 46(ivec4) ImageGather 88 92 29 + Store 81(txval42) 93 + 98: 12(ptr) AccessChain 95(psout) 29 + Store 98 97 + 101: 100(ptr) AccessChain 95(psout) 99 + Store 101 96 + 102:8(PS_OUTPUT) Load 95(psout) + ReturnValue 102 + FunctionEnd diff --git a/Test/baseResults/hlsl.gather.basic.dx10.vert.out b/Test/baseResults/hlsl.gather.basic.dx10.vert.out index bea5142b..a718ce03 100644 --- a/Test/baseResults/hlsl.gather.basic.dx10.vert.out +++ b/Test/baseResults/hlsl.gather.basic.dx10.vert.out @@ -1,7 +1,7 @@ hlsl.gather.basic.dx10.vert Shader version: 450 0:? Sequence -0:28 Function Definition: main( (temp structure{temp 4-component vector of float Position Pos}) +0:28 Function Definition: @main( (temp structure{temp 4-component vector of float Position Pos}) 0:28 Function Parameters: 0:? Sequence 0:33 Sequence @@ -77,15 +77,18 @@ Shader version: 450 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:45 Sequence -0:45 Sequence -0:45 move second child to first child (temp 4-component vector of float) -0:? 'Pos' (out 4-component vector of float Position) -0:45 Pos: direct index for structure (temp 4-component vector of float) -0:45 'vsout' (temp structure{temp 4-component vector of float Pos}) -0:45 Constant: -0:45 0 (const int) -0:45 Branch: Return +0:45 Branch: Return with expression +0:45 'vsout' (temp structure{temp 4-component vector of float Pos}) +0:28 Function Definition: main( (temp void) +0:28 Function Parameters: +0:? Sequence +0:28 Sequence +0:28 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput_Pos' (out 4-component vector of float Position) +0:28 Pos: direct index for structure (temp 4-component vector of float Position) +0:28 Function Call: @main( (temp structure{temp 4-component vector of float Position Pos}) +0:28 Constant: +0:28 0 (const int) 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) @@ -102,7 +105,7 @@ Shader version: 450 0:? 'g_tTexcdf4' (uniform textureCube) 0:? 'g_tTexcdi4' (uniform itextureCube) 0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos}) +0:? 'PerVertex_out' (out block{out 4-component vector of float Position @entryPointOutput_Pos}) Linked vertex stage: @@ -110,7 +113,7 @@ Linked vertex stage: Shader version: 450 0:? Sequence -0:28 Function Definition: main( (temp structure{temp 4-component vector of float Position Pos}) +0:28 Function Definition: @main( (temp structure{temp 4-component vector of float Position Pos}) 0:28 Function Parameters: 0:? Sequence 0:33 Sequence @@ -186,15 +189,18 @@ Shader version: 450 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:45 Sequence -0:45 Sequence -0:45 move second child to first child (temp 4-component vector of float) -0:? 'Pos' (out 4-component vector of float Position) -0:45 Pos: direct index for structure (temp 4-component vector of float) -0:45 'vsout' (temp structure{temp 4-component vector of float Pos}) -0:45 Constant: -0:45 0 (const int) -0:45 Branch: Return +0:45 Branch: Return with expression +0:45 'vsout' (temp structure{temp 4-component vector of float Pos}) +0:28 Function Definition: main( (temp void) +0:28 Function Parameters: +0:? Sequence +0:28 Sequence +0:28 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput_Pos' (out 4-component vector of float Position) +0:28 Pos: direct index for structure (temp 4-component vector of float Position) +0:28 Function Call: @main( (temp structure{temp 4-component vector of float Position Pos}) +0:28 Constant: +0:28 0 (const int) 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) @@ -211,195 +217,212 @@ Shader version: 450 0:? 'g_tTexcdf4' (uniform textureCube) 0:? 'g_tTexcdi4' (uniform itextureCube) 0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos}) +0:? 'PerVertex_out' (out block{out 4-component vector of float Position @entryPointOutput_Pos}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 124 +// Id's are bound by 135 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" 97 123 + EntryPoint Vertex 4 "main" 109 134 Name 4 "main" - Name 9 "txval20" - Name 12 "g_tTex2df4" - Name 16 "g_sSamp" - Name 29 "txval21" - Name 32 "g_tTex2di4" - Name 44 "txval22" - Name 47 "g_tTex2du4" - Name 56 "txval40" - Name 59 "g_tTexcdf4" - Name 67 "txval41" - Name 70 "g_tTexcdi4" - Name 77 "txval42" - Name 80 "g_tTexcdu4" - Name 90 "VS_OUTPUT" - MemberName 90(VS_OUTPUT) 0 "Pos" - Name 92 "vsout" - Name 97 "Pos" - Name 101 "g_sSamp2d" - Name 104 "g_tTex1df4a" - Name 105 "g_tTex1df4" - Name 108 "g_tTex1di4" - Name 111 "g_tTex1du4" - Name 114 "g_tTex3df4" - Name 117 "g_tTex3di4" - Name 120 "g_tTex3du4" - Name 121 "PerVertex_out" - MemberName 121(PerVertex_out) 0 "Pos" - Name 123 "PerVertex_out" - Decorate 12(g_tTex2df4) DescriptorSet 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - Decorate 32(g_tTex2di4) DescriptorSet 0 - Decorate 47(g_tTex2du4) DescriptorSet 0 - Decorate 59(g_tTexcdf4) DescriptorSet 0 - Decorate 70(g_tTexcdi4) DescriptorSet 0 - Decorate 80(g_tTexcdu4) DescriptorSet 0 - Decorate 97(Pos) BuiltIn Position - Decorate 101(g_sSamp2d) DescriptorSet 0 - Decorate 104(g_tTex1df4a) DescriptorSet 0 - Decorate 104(g_tTex1df4a) Binding 1 - Decorate 105(g_tTex1df4) DescriptorSet 0 - Decorate 105(g_tTex1df4) Binding 0 - Decorate 108(g_tTex1di4) DescriptorSet 0 - Decorate 111(g_tTex1du4) DescriptorSet 0 - Decorate 114(g_tTex3df4) DescriptorSet 0 - Decorate 117(g_tTex3di4) DescriptorSet 0 - Decorate 120(g_tTex3du4) DescriptorSet 0 - MemberDecorate 121(PerVertex_out) 0 BuiltIn Position - Decorate 121(PerVertex_out) Block + Name 8 "VS_OUTPUT" + MemberName 8(VS_OUTPUT) 0 "Pos" + Name 10 "@main(" + Name 13 "txval20" + Name 16 "g_tTex2df4" + Name 20 "g_sSamp" + Name 33 "txval21" + Name 36 "g_tTex2di4" + Name 48 "txval22" + Name 51 "g_tTex2du4" + Name 60 "txval40" + Name 63 "g_tTexcdf4" + Name 71 "txval41" + Name 74 "g_tTexcdi4" + Name 81 "txval42" + Name 84 "g_tTexcdu4" + Name 94 "VS_OUTPUT" + MemberName 94(VS_OUTPUT) 0 "Pos" + Name 96 "vsout" + Name 109 "@entryPointOutput_Pos" + Name 112 "g_sSamp2d" + Name 115 "g_tTex1df4a" + Name 116 "g_tTex1df4" + Name 119 "g_tTex1di4" + Name 122 "g_tTex1du4" + Name 125 "g_tTex3df4" + Name 128 "g_tTex3di4" + Name 131 "g_tTex3du4" + Name 132 "PerVertex_out" + MemberName 132(PerVertex_out) 0 "@entryPointOutput_Pos" + Name 134 "PerVertex_out" + MemberDecorate 8(VS_OUTPUT) 0 BuiltIn Position + Decorate 16(g_tTex2df4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 36(g_tTex2di4) DescriptorSet 0 + Decorate 51(g_tTex2du4) DescriptorSet 0 + Decorate 63(g_tTexcdf4) DescriptorSet 0 + Decorate 74(g_tTexcdi4) DescriptorSet 0 + Decorate 84(g_tTexcdu4) DescriptorSet 0 + Decorate 109(@entryPointOutput_Pos) BuiltIn Position + Decorate 112(g_sSamp2d) DescriptorSet 0 + Decorate 115(g_tTex1df4a) DescriptorSet 0 + Decorate 115(g_tTex1df4a) Binding 1 + Decorate 116(g_tTex1df4) DescriptorSet 0 + Decorate 116(g_tTex1df4) Binding 0 + Decorate 119(g_tTex1di4) DescriptorSet 0 + Decorate 122(g_tTex1du4) DescriptorSet 0 + Decorate 125(g_tTex3df4) DescriptorSet 0 + Decorate 128(g_tTex3di4) DescriptorSet 0 + Decorate 131(g_tTex3du4) DescriptorSet 0 + MemberDecorate 132(PerVertex_out) 0 BuiltIn Position + Decorate 132(PerVertex_out) Block 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 2D sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex2df4): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(VS_OUTPUT): TypeStruct 7(fvec4) + 9: TypeFunction 8(VS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 2D sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: TypeVector 6(float) 2 - 21: 6(float) Constant 1036831949 - 22: 6(float) Constant 1045220557 - 23: 20(fvec2) ConstantComposite 21 22 - 24: TypeInt 32 1 - 25: 24(int) Constant 0 - 27: TypeVector 24(int) 4 - 28: TypePointer Function 27(ivec4) - 30: TypeImage 24(int) 2D sampled format:Unknown - 31: TypePointer UniformConstant 30 - 32(g_tTex2di4): 31(ptr) Variable UniformConstant - 35: TypeSampledImage 30 - 37: 6(float) Constant 1050253722 - 38: 6(float) Constant 1053609165 - 39: 20(fvec2) ConstantComposite 37 38 - 41: TypeInt 32 0 - 42: TypeVector 41(int) 4 - 43: TypePointer Function 42(ivec4) - 45: TypeImage 41(int) 2D sampled format:Unknown - 46: TypePointer UniformConstant 45 - 47(g_tTex2du4): 46(ptr) Variable UniformConstant - 50: TypeSampledImage 45 - 52: 6(float) Constant 1056964608 - 53: 6(float) Constant 1058642330 - 54: 20(fvec2) ConstantComposite 52 53 - 57: TypeImage 6(float) Cube sampled format:Unknown - 58: TypePointer UniformConstant 57 - 59(g_tTexcdf4): 58(ptr) Variable UniformConstant - 62: TypeSampledImage 57 - 64: TypeVector 6(float) 3 - 65: 64(fvec3) ConstantComposite 21 22 37 - 68: TypeImage 24(int) Cube sampled format:Unknown - 69: TypePointer UniformConstant 68 - 70(g_tTexcdi4): 69(ptr) Variable UniformConstant - 73: TypeSampledImage 68 - 75: 64(fvec3) ConstantComposite 38 52 53 - 78: TypeImage 41(int) Cube sampled format:Unknown - 79: TypePointer UniformConstant 78 - 80(g_tTexcdu4): 79(ptr) Variable UniformConstant - 83: TypeSampledImage 78 - 85: 6(float) Constant 1060320051 - 86: 6(float) Constant 1061997773 - 87: 6(float) Constant 1063675494 - 88: 64(fvec3) ConstantComposite 85 86 87 - 90(VS_OUTPUT): TypeStruct 7(fvec4) - 91: TypePointer Function 90(VS_OUTPUT) - 93: 6(float) Constant 0 - 94: 7(fvec4) ConstantComposite 93 93 93 93 - 96: TypePointer Output 7(fvec4) - 97(Pos): 96(ptr) Variable Output - 101(g_sSamp2d): 15(ptr) Variable UniformConstant - 102: TypeImage 6(float) 1D sampled format:Unknown - 103: TypePointer UniformConstant 102 -104(g_tTex1df4a): 103(ptr) Variable UniformConstant - 105(g_tTex1df4): 103(ptr) Variable UniformConstant - 106: TypeImage 24(int) 1D sampled format:Unknown - 107: TypePointer UniformConstant 106 - 108(g_tTex1di4): 107(ptr) Variable UniformConstant - 109: TypeImage 41(int) 1D sampled format:Unknown - 110: TypePointer UniformConstant 109 - 111(g_tTex1du4): 110(ptr) Variable UniformConstant - 112: TypeImage 6(float) 3D sampled format:Unknown - 113: TypePointer UniformConstant 112 - 114(g_tTex3df4): 113(ptr) Variable UniformConstant - 115: TypeImage 24(int) 3D sampled format:Unknown - 116: TypePointer UniformConstant 115 - 117(g_tTex3di4): 116(ptr) Variable UniformConstant - 118: TypeImage 41(int) 3D sampled format:Unknown - 119: TypePointer UniformConstant 118 - 120(g_tTex3du4): 119(ptr) Variable UniformConstant -121(PerVertex_out): TypeStruct 7(fvec4) - 122: TypePointer Output 121(PerVertex_out) -123(PerVertex_out): 122(ptr) Variable Output + 16(g_tTex2df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: TypeVector 6(float) 2 + 25: 6(float) Constant 1036831949 + 26: 6(float) Constant 1045220557 + 27: 24(fvec2) ConstantComposite 25 26 + 28: TypeInt 32 1 + 29: 28(int) Constant 0 + 31: TypeVector 28(int) 4 + 32: TypePointer Function 31(ivec4) + 34: TypeImage 28(int) 2D sampled format:Unknown + 35: TypePointer UniformConstant 34 + 36(g_tTex2di4): 35(ptr) Variable UniformConstant + 39: TypeSampledImage 34 + 41: 6(float) Constant 1050253722 + 42: 6(float) Constant 1053609165 + 43: 24(fvec2) ConstantComposite 41 42 + 45: TypeInt 32 0 + 46: TypeVector 45(int) 4 + 47: TypePointer Function 46(ivec4) + 49: TypeImage 45(int) 2D sampled format:Unknown + 50: TypePointer UniformConstant 49 + 51(g_tTex2du4): 50(ptr) Variable UniformConstant + 54: TypeSampledImage 49 + 56: 6(float) Constant 1056964608 + 57: 6(float) Constant 1058642330 + 58: 24(fvec2) ConstantComposite 56 57 + 61: TypeImage 6(float) Cube sampled format:Unknown + 62: TypePointer UniformConstant 61 + 63(g_tTexcdf4): 62(ptr) Variable UniformConstant + 66: TypeSampledImage 61 + 68: TypeVector 6(float) 3 + 69: 68(fvec3) ConstantComposite 25 26 41 + 72: TypeImage 28(int) Cube sampled format:Unknown + 73: TypePointer UniformConstant 72 + 74(g_tTexcdi4): 73(ptr) Variable UniformConstant + 77: TypeSampledImage 72 + 79: 68(fvec3) ConstantComposite 42 56 57 + 82: TypeImage 45(int) Cube sampled format:Unknown + 83: TypePointer UniformConstant 82 + 84(g_tTexcdu4): 83(ptr) Variable UniformConstant + 87: TypeSampledImage 82 + 89: 6(float) Constant 1060320051 + 90: 6(float) Constant 1061997773 + 91: 6(float) Constant 1063675494 + 92: 68(fvec3) ConstantComposite 89 90 91 + 94(VS_OUTPUT): TypeStruct 7(fvec4) + 95: TypePointer Function 94(VS_OUTPUT) + 97: 6(float) Constant 0 + 98: 7(fvec4) ConstantComposite 97 97 97 97 + 101: TypePointer Function 8(VS_OUTPUT) + 108: TypePointer Output 7(fvec4) +109(@entryPointOutput_Pos): 108(ptr) Variable Output + 112(g_sSamp2d): 19(ptr) Variable UniformConstant + 113: TypeImage 6(float) 1D sampled format:Unknown + 114: TypePointer UniformConstant 113 +115(g_tTex1df4a): 114(ptr) Variable UniformConstant + 116(g_tTex1df4): 114(ptr) Variable UniformConstant + 117: TypeImage 28(int) 1D sampled format:Unknown + 118: TypePointer UniformConstant 117 + 119(g_tTex1di4): 118(ptr) Variable UniformConstant + 120: TypeImage 45(int) 1D sampled format:Unknown + 121: TypePointer UniformConstant 120 + 122(g_tTex1du4): 121(ptr) Variable UniformConstant + 123: TypeImage 6(float) 3D sampled format:Unknown + 124: TypePointer UniformConstant 123 + 125(g_tTex3df4): 124(ptr) Variable UniformConstant + 126: TypeImage 28(int) 3D sampled format:Unknown + 127: TypePointer UniformConstant 126 + 128(g_tTex3di4): 127(ptr) Variable UniformConstant + 129: TypeImage 45(int) 3D sampled format:Unknown + 130: TypePointer UniformConstant 129 + 131(g_tTex3du4): 130(ptr) Variable UniformConstant +132(PerVertex_out): TypeStruct 7(fvec4) + 133: TypePointer Output 132(PerVertex_out) +134(PerVertex_out): 133(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 9(txval20): 8(ptr) Variable Function - 29(txval21): 28(ptr) Variable Function - 44(txval22): 43(ptr) Variable Function - 56(txval40): 8(ptr) Variable Function - 67(txval41): 28(ptr) Variable Function - 77(txval42): 43(ptr) Variable Function - 92(vsout): 91(ptr) Variable Function - 13: 10 Load 12(g_tTex2df4) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 26: 7(fvec4) ImageGather 19 23 25 - Store 9(txval20) 26 - 33: 30 Load 32(g_tTex2di4) - 34: 14 Load 16(g_sSamp) - 36: 35 SampledImage 33 34 - 40: 27(ivec4) ImageGather 36 39 25 - Store 29(txval21) 40 - 48: 45 Load 47(g_tTex2du4) - 49: 14 Load 16(g_sSamp) - 51: 50 SampledImage 48 49 - 55: 42(ivec4) ImageGather 51 54 25 - Store 44(txval22) 55 - 60: 57 Load 59(g_tTexcdf4) - 61: 14 Load 16(g_sSamp) - 63: 62 SampledImage 60 61 - 66: 7(fvec4) ImageGather 63 65 25 - Store 56(txval40) 66 - 71: 68 Load 70(g_tTexcdi4) - 72: 14 Load 16(g_sSamp) - 74: 73 SampledImage 71 72 - 76: 27(ivec4) ImageGather 74 75 25 - Store 67(txval41) 76 - 81: 78 Load 80(g_tTexcdu4) - 82: 14 Load 16(g_sSamp) - 84: 83 SampledImage 81 82 - 89: 42(ivec4) ImageGather 84 88 25 - Store 77(txval42) 89 - 95: 8(ptr) AccessChain 92(vsout) 25 - Store 95 94 - 98: 8(ptr) AccessChain 92(vsout) 25 - 99: 7(fvec4) Load 98 - Store 97(Pos) 99 + 110:8(VS_OUTPUT) FunctionCall 10(@main() + 111: 7(fvec4) CompositeExtract 110 0 + Store 109(@entryPointOutput_Pos) 111 Return FunctionEnd + 10(@main():8(VS_OUTPUT) Function None 9 + 11: Label + 13(txval20): 12(ptr) Variable Function + 33(txval21): 32(ptr) Variable Function + 48(txval22): 47(ptr) Variable Function + 60(txval40): 12(ptr) Variable Function + 71(txval41): 32(ptr) Variable Function + 81(txval42): 47(ptr) Variable Function + 96(vsout): 95(ptr) Variable Function + 102: 101(ptr) Variable Function + 17: 14 Load 16(g_tTex2df4) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 30: 7(fvec4) ImageGather 23 27 29 + Store 13(txval20) 30 + 37: 34 Load 36(g_tTex2di4) + 38: 18 Load 20(g_sSamp) + 40: 39 SampledImage 37 38 + 44: 31(ivec4) ImageGather 40 43 29 + Store 33(txval21) 44 + 52: 49 Load 51(g_tTex2du4) + 53: 18 Load 20(g_sSamp) + 55: 54 SampledImage 52 53 + 59: 46(ivec4) ImageGather 55 58 29 + Store 48(txval22) 59 + 64: 61 Load 63(g_tTexcdf4) + 65: 18 Load 20(g_sSamp) + 67: 66 SampledImage 64 65 + 70: 7(fvec4) ImageGather 67 69 29 + Store 60(txval40) 70 + 75: 72 Load 74(g_tTexcdi4) + 76: 18 Load 20(g_sSamp) + 78: 77 SampledImage 75 76 + 80: 31(ivec4) ImageGather 78 79 29 + Store 71(txval41) 80 + 85: 82 Load 84(g_tTexcdu4) + 86: 18 Load 20(g_sSamp) + 88: 87 SampledImage 85 86 + 93: 46(ivec4) ImageGather 88 92 29 + Store 81(txval42) 93 + 99: 12(ptr) AccessChain 96(vsout) 29 + Store 99 98 + 100:94(VS_OUTPUT) Load 96(vsout) + 103: 7(fvec4) CompositeExtract 100 0 + 104: 12(ptr) AccessChain 102 29 + Store 104 103 + 105:8(VS_OUTPUT) Load 102 + ReturnValue 105 + FunctionEnd diff --git a/Test/baseResults/hlsl.gather.offset.dx10.frag.out b/Test/baseResults/hlsl.gather.offset.dx10.frag.out index 5b48bf32..b71d510d 100644 --- a/Test/baseResults/hlsl.gather.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.gather.offset.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.gather.offset.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:28 Function Parameters: 0:? Sequence 0:33 Sequence @@ -61,24 +61,28 @@ gl_FragCoord origin is upper left 0:41 1 (const int) 0:41 Constant: 0:41 1.000000 -0:43 Sequence -0:43 Sequence -0:43 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:43 Color: direct index for structure (temp 4-component vector of float) -0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:43 Constant: -0:43 0 (const int) -0:43 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:43 Depth: direct index for structure (temp float) -0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:43 Constant: -0:43 1 (const int) -0:43 Branch: Return +0:43 Branch: Return with expression +0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: main( (temp void) +0:28 Function Parameters: +0:? Sequence +0:28 Sequence +0:28 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:28 Color: direct index for structure (temp 4-component vector of float) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 0 (const int) +0:28 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:28 Depth: direct index for structure (temp float) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -93,6 +97,8 @@ gl_FragCoord origin is upper left 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: @@ -101,7 +107,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:28 Function Parameters: 0:? Sequence 0:33 Sequence @@ -160,24 +166,28 @@ gl_FragCoord origin is upper left 0:41 1 (const int) 0:41 Constant: 0:41 1.000000 -0:43 Sequence -0:43 Sequence -0:43 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:43 Color: direct index for structure (temp 4-component vector of float) -0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:43 Constant: -0:43 0 (const int) -0:43 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:43 Depth: direct index for structure (temp float) -0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:43 Constant: -0:43 1 (const int) -0:43 Branch: Return +0:43 Branch: Return with expression +0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: main( (temp void) +0:28 Function Parameters: +0:? Sequence +0:28 Sequence +0:28 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:28 Color: direct index for structure (temp 4-component vector of float) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 0 (const int) +0:28 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:28 Depth: direct index for structure (temp float) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -192,170 +202,183 @@ gl_FragCoord origin is upper left 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 107 +// Id's are bound by 114 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 71 75 + EntryPoint Fragment 4 "main" 79 83 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval20" - Name 12 "g_tTex2df4" - Name 16 "g_sSamp" - Name 32 "txval21" - Name 35 "g_tTex2di4" - Name 48 "txval22" - Name 51 "g_tTex2du4" - Name 62 "PS_OUTPUT" - MemberName 62(PS_OUTPUT) 0 "Color" - MemberName 62(PS_OUTPUT) 1 "Depth" - Name 64 "psout" - Name 71 "Color" - Name 75 "Depth" - Name 81 "g_tTex1df4a" - Name 82 "g_tTex1df4" - Name 85 "g_tTex1di4" - Name 88 "g_tTex1du4" - Name 91 "g_tTex3df4" - Name 94 "g_tTex3di4" - Name 97 "g_tTex3du4" - Name 100 "g_tTexcdf4" - Name 103 "g_tTexcdi4" - Name 106 "g_tTexcdu4" - Decorate 12(g_tTex2df4) DescriptorSet 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - Decorate 35(g_tTex2di4) DescriptorSet 0 - Decorate 51(g_tTex2du4) DescriptorSet 0 - Decorate 71(Color) Location 0 - Decorate 75(Depth) BuiltIn FragDepth - Decorate 81(g_tTex1df4a) DescriptorSet 0 - Decorate 81(g_tTex1df4a) Binding 1 - Decorate 82(g_tTex1df4) DescriptorSet 0 - Decorate 82(g_tTex1df4) Binding 0 - Decorate 85(g_tTex1di4) DescriptorSet 0 - Decorate 88(g_tTex1du4) DescriptorSet 0 - Decorate 91(g_tTex3df4) DescriptorSet 0 - Decorate 94(g_tTex3di4) DescriptorSet 0 - Decorate 97(g_tTex3du4) DescriptorSet 0 - Decorate 100(g_tTexcdf4) DescriptorSet 0 - Decorate 103(g_tTexcdi4) DescriptorSet 0 - Decorate 106(g_tTexcdu4) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval20" + Name 16 "g_tTex2df4" + Name 20 "g_sSamp" + Name 36 "txval21" + Name 39 "g_tTex2di4" + Name 52 "txval22" + Name 55 "g_tTex2du4" + Name 67 "psout" + Name 76 "flattenTemp" + Name 79 "Color" + Name 83 "Depth" + Name 88 "g_tTex1df4a" + Name 89 "g_tTex1df4" + Name 92 "g_tTex1di4" + Name 95 "g_tTex1du4" + Name 98 "g_tTex3df4" + Name 101 "g_tTex3di4" + Name 104 "g_tTex3du4" + Name 107 "g_tTexcdf4" + Name 110 "g_tTexcdi4" + Name 113 "g_tTexcdu4" + Decorate 16(g_tTex2df4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 39(g_tTex2di4) DescriptorSet 0 + Decorate 55(g_tTex2du4) DescriptorSet 0 + Decorate 79(Color) Location 0 + Decorate 83(Depth) BuiltIn FragDepth + Decorate 88(g_tTex1df4a) DescriptorSet 0 + Decorate 88(g_tTex1df4a) Binding 1 + Decorate 89(g_tTex1df4) DescriptorSet 0 + Decorate 89(g_tTex1df4) Binding 0 + Decorate 92(g_tTex1di4) DescriptorSet 0 + Decorate 95(g_tTex1du4) DescriptorSet 0 + Decorate 98(g_tTex3df4) DescriptorSet 0 + Decorate 101(g_tTex3di4) DescriptorSet 0 + Decorate 104(g_tTex3du4) DescriptorSet 0 + Decorate 107(g_tTexcdf4) DescriptorSet 0 + Decorate 110(g_tTexcdi4) DescriptorSet 0 + Decorate 113(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 2D sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex2df4): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 2D sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: TypeVector 6(float) 2 - 21: 6(float) Constant 1036831949 - 22: 6(float) Constant 1045220557 - 23: 20(fvec2) ConstantComposite 21 22 - 24: TypeInt 32 1 - 25: TypeVector 24(int) 2 - 26: 24(int) Constant 1 - 27: 24(int) Constant 0 - 28: 25(ivec2) ConstantComposite 26 27 - 30: TypeVector 24(int) 4 - 31: TypePointer Function 30(ivec4) - 33: TypeImage 24(int) 2D sampled format:Unknown - 34: TypePointer UniformConstant 33 - 35(g_tTex2di4): 34(ptr) Variable UniformConstant - 38: TypeSampledImage 33 - 40: 6(float) Constant 1050253722 - 41: 6(float) Constant 1053609165 - 42: 20(fvec2) ConstantComposite 40 41 - 43: 25(ivec2) ConstantComposite 26 26 - 45: TypeInt 32 0 - 46: TypeVector 45(int) 4 - 47: TypePointer Function 46(ivec4) - 49: TypeImage 45(int) 2D sampled format:Unknown - 50: TypePointer UniformConstant 49 - 51(g_tTex2du4): 50(ptr) Variable UniformConstant - 54: TypeSampledImage 49 - 56: 6(float) Constant 1056964608 - 57: 6(float) Constant 1058642330 - 58: 20(fvec2) ConstantComposite 56 57 - 59: 24(int) Constant 4294967295 - 60: 25(ivec2) ConstantComposite 26 59 - 62(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 63: TypePointer Function 62(PS_OUTPUT) - 65: 6(float) Constant 1065353216 - 66: 7(fvec4) ConstantComposite 65 65 65 65 - 68: TypePointer Function 6(float) - 70: TypePointer Output 7(fvec4) - 71(Color): 70(ptr) Variable Output - 74: TypePointer Output 6(float) - 75(Depth): 74(ptr) Variable Output - 79: TypeImage 6(float) 1D sampled format:Unknown - 80: TypePointer UniformConstant 79 - 81(g_tTex1df4a): 80(ptr) Variable UniformConstant - 82(g_tTex1df4): 80(ptr) Variable UniformConstant - 83: TypeImage 24(int) 1D sampled format:Unknown - 84: TypePointer UniformConstant 83 - 85(g_tTex1di4): 84(ptr) Variable UniformConstant - 86: TypeImage 45(int) 1D sampled format:Unknown + 16(g_tTex2df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: TypeVector 6(float) 2 + 25: 6(float) Constant 1036831949 + 26: 6(float) Constant 1045220557 + 27: 24(fvec2) ConstantComposite 25 26 + 28: TypeInt 32 1 + 29: TypeVector 28(int) 2 + 30: 28(int) Constant 1 + 31: 28(int) Constant 0 + 32: 29(ivec2) ConstantComposite 30 31 + 34: TypeVector 28(int) 4 + 35: TypePointer Function 34(ivec4) + 37: TypeImage 28(int) 2D sampled format:Unknown + 38: TypePointer UniformConstant 37 + 39(g_tTex2di4): 38(ptr) Variable UniformConstant + 42: TypeSampledImage 37 + 44: 6(float) Constant 1050253722 + 45: 6(float) Constant 1053609165 + 46: 24(fvec2) ConstantComposite 44 45 + 47: 29(ivec2) ConstantComposite 30 30 + 49: TypeInt 32 0 + 50: TypeVector 49(int) 4 + 51: TypePointer Function 50(ivec4) + 53: TypeImage 49(int) 2D sampled format:Unknown + 54: TypePointer UniformConstant 53 + 55(g_tTex2du4): 54(ptr) Variable UniformConstant + 58: TypeSampledImage 53 + 60: 6(float) Constant 1056964608 + 61: 6(float) Constant 1058642330 + 62: 24(fvec2) ConstantComposite 60 61 + 63: 28(int) Constant 4294967295 + 64: 29(ivec2) ConstantComposite 30 63 + 66: TypePointer Function 8(PS_OUTPUT) + 68: 6(float) Constant 1065353216 + 69: 7(fvec4) ConstantComposite 68 68 68 68 + 71: TypePointer Function 6(float) + 78: TypePointer Output 7(fvec4) + 79(Color): 78(ptr) Variable Output + 82: TypePointer Output 6(float) + 83(Depth): 82(ptr) Variable Output + 86: TypeImage 6(float) 1D sampled format:Unknown 87: TypePointer UniformConstant 86 - 88(g_tTex1du4): 87(ptr) Variable UniformConstant - 89: TypeImage 6(float) 3D sampled format:Unknown - 90: TypePointer UniformConstant 89 - 91(g_tTex3df4): 90(ptr) Variable UniformConstant - 92: TypeImage 24(int) 3D sampled format:Unknown - 93: TypePointer UniformConstant 92 - 94(g_tTex3di4): 93(ptr) Variable UniformConstant - 95: TypeImage 45(int) 3D sampled format:Unknown - 96: TypePointer UniformConstant 95 - 97(g_tTex3du4): 96(ptr) Variable UniformConstant - 98: TypeImage 6(float) Cube sampled format:Unknown - 99: TypePointer UniformConstant 98 - 100(g_tTexcdf4): 99(ptr) Variable UniformConstant - 101: TypeImage 24(int) Cube sampled format:Unknown - 102: TypePointer UniformConstant 101 - 103(g_tTexcdi4): 102(ptr) Variable UniformConstant - 104: TypeImage 45(int) Cube sampled format:Unknown - 105: TypePointer UniformConstant 104 - 106(g_tTexcdu4): 105(ptr) Variable UniformConstant + 88(g_tTex1df4a): 87(ptr) Variable UniformConstant + 89(g_tTex1df4): 87(ptr) Variable UniformConstant + 90: TypeImage 28(int) 1D sampled format:Unknown + 91: TypePointer UniformConstant 90 + 92(g_tTex1di4): 91(ptr) Variable UniformConstant + 93: TypeImage 49(int) 1D sampled format:Unknown + 94: TypePointer UniformConstant 93 + 95(g_tTex1du4): 94(ptr) Variable UniformConstant + 96: TypeImage 6(float) 3D sampled format:Unknown + 97: TypePointer UniformConstant 96 + 98(g_tTex3df4): 97(ptr) Variable UniformConstant + 99: TypeImage 28(int) 3D sampled format:Unknown + 100: TypePointer UniformConstant 99 + 101(g_tTex3di4): 100(ptr) Variable UniformConstant + 102: TypeImage 49(int) 3D sampled format:Unknown + 103: TypePointer UniformConstant 102 + 104(g_tTex3du4): 103(ptr) Variable UniformConstant + 105: TypeImage 6(float) Cube sampled format:Unknown + 106: TypePointer UniformConstant 105 + 107(g_tTexcdf4): 106(ptr) Variable UniformConstant + 108: TypeImage 28(int) Cube sampled format:Unknown + 109: TypePointer UniformConstant 108 + 110(g_tTexcdi4): 109(ptr) Variable UniformConstant + 111: TypeImage 49(int) Cube sampled format:Unknown + 112: TypePointer UniformConstant 111 + 113(g_tTexcdu4): 112(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval20): 8(ptr) Variable Function - 32(txval21): 31(ptr) Variable Function - 48(txval22): 47(ptr) Variable Function - 64(psout): 63(ptr) Variable Function - 13: 10 Load 12(g_tTex2df4) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 29: 7(fvec4) ImageGather 19 23 27 ConstOffset 28 - Store 9(txval20) 29 - 36: 33 Load 35(g_tTex2di4) - 37: 14 Load 16(g_sSamp) - 39: 38 SampledImage 36 37 - 44: 30(ivec4) ImageGather 39 42 27 ConstOffset 43 - Store 32(txval21) 44 - 52: 49 Load 51(g_tTex2du4) - 53: 14 Load 16(g_sSamp) - 55: 54 SampledImage 52 53 - 61: 46(ivec4) ImageGather 55 58 27 ConstOffset 60 - Store 48(txval22) 61 - 67: 8(ptr) AccessChain 64(psout) 27 - Store 67 66 - 69: 68(ptr) AccessChain 64(psout) 26 - Store 69 65 - 72: 8(ptr) AccessChain 64(psout) 27 - 73: 7(fvec4) Load 72 - Store 71(Color) 73 - 76: 68(ptr) AccessChain 64(psout) 26 - 77: 6(float) Load 76 - Store 75(Depth) 77 + 76(flattenTemp): 66(ptr) Variable Function + 77:8(PS_OUTPUT) FunctionCall 10(@main() + Store 76(flattenTemp) 77 + 80: 12(ptr) AccessChain 76(flattenTemp) 31 + 81: 7(fvec4) Load 80 + Store 79(Color) 81 + 84: 71(ptr) AccessChain 76(flattenTemp) 30 + 85: 6(float) Load 84 + Store 83(Depth) 85 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval20): 12(ptr) Variable Function + 36(txval21): 35(ptr) Variable Function + 52(txval22): 51(ptr) Variable Function + 67(psout): 66(ptr) Variable Function + 17: 14 Load 16(g_tTex2df4) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 33: 7(fvec4) ImageGather 23 27 31 ConstOffset 32 + Store 13(txval20) 33 + 40: 37 Load 39(g_tTex2di4) + 41: 18 Load 20(g_sSamp) + 43: 42 SampledImage 40 41 + 48: 34(ivec4) ImageGather 43 46 31 ConstOffset 47 + Store 36(txval21) 48 + 56: 53 Load 55(g_tTex2du4) + 57: 18 Load 20(g_sSamp) + 59: 58 SampledImage 56 57 + 65: 50(ivec4) ImageGather 59 62 31 ConstOffset 64 + Store 52(txval22) 65 + 70: 12(ptr) AccessChain 67(psout) 31 + Store 70 69 + 72: 71(ptr) AccessChain 67(psout) 30 + Store 72 68 + 73:8(PS_OUTPUT) Load 67(psout) + ReturnValue 73 + FunctionEnd diff --git a/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out index a7589cd9..fe5a5c85 100644 --- a/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.gather.offsetarray.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:20 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:20 Function Parameters: 0:? Sequence 0:25 Sequence @@ -64,24 +64,28 @@ gl_FragCoord origin is upper left 0:33 1 (const int) 0:33 Constant: 0:33 1.000000 -0:35 Sequence -0:35 Sequence -0:35 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:35 Color: direct index for structure (temp 4-component vector of float) -0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:35 Constant: -0:35 0 (const int) -0:35 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:35 Depth: direct index for structure (temp float) -0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:35 Constant: -0:35 1 (const int) -0:35 Branch: Return +0:35 Branch: Return with expression +0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Function Definition: main( (temp void) +0:20 Function Parameters: +0:? Sequence +0:20 Sequence +0:20 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:20 Color: direct index for structure (temp 4-component vector of float) +0:20 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Constant: +0:20 0 (const int) +0:20 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:20 Depth: direct index for structure (temp float) +0:20 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Constant: +0:20 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -90,6 +94,8 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2df4' (uniform texture2DArray) 0:? 'g_tTex2di4' (uniform itexture2DArray) 0:? 'g_tTex2du4' (uniform utexture2DArray) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -98,7 +104,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:20 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:20 Function Parameters: 0:? Sequence 0:25 Sequence @@ -160,24 +166,28 @@ gl_FragCoord origin is upper left 0:33 1 (const int) 0:33 Constant: 0:33 1.000000 -0:35 Sequence -0:35 Sequence -0:35 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:35 Color: direct index for structure (temp 4-component vector of float) -0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:35 Constant: -0:35 0 (const int) -0:35 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:35 Depth: direct index for structure (temp float) -0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:35 Constant: -0:35 1 (const int) -0:35 Branch: Return +0:35 Branch: Return with expression +0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Function Definition: main( (temp void) +0:20 Function Parameters: +0:? Sequence +0:20 Sequence +0:20 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:20 Color: direct index for structure (temp 4-component vector of float) +0:20 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Constant: +0:20 0 (const int) +0:20 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:20 Depth: direct index for structure (temp float) +0:20 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Constant: +0:20 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -186,141 +196,154 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2df4' (uniform texture2DArray) 0:? 'g_tTex2di4' (uniform itexture2DArray) 0:? 'g_tTex2du4' (uniform utexture2DArray) +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 90 +// Id's are bound by 97 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 72 76 + EntryPoint Fragment 4 "main" 80 84 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval20" - Name 12 "g_tTex2df4" - Name 16 "g_sSamp" - Name 33 "txval21" - Name 36 "g_tTex2di4" - Name 48 "txval22" - Name 51 "g_tTex2du4" - Name 63 "PS_OUTPUT" - MemberName 63(PS_OUTPUT) 0 "Color" - MemberName 63(PS_OUTPUT) 1 "Depth" - Name 65 "psout" - Name 72 "Color" - Name 76 "Depth" - Name 82 "g_tTex1df4a" - Name 83 "g_tTex1df4" - Name 86 "g_tTex1di4" - Name 89 "g_tTex1du4" - Decorate 12(g_tTex2df4) DescriptorSet 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - Decorate 36(g_tTex2di4) DescriptorSet 0 - Decorate 51(g_tTex2du4) DescriptorSet 0 - Decorate 72(Color) Location 0 - Decorate 76(Depth) BuiltIn FragDepth - Decorate 82(g_tTex1df4a) DescriptorSet 0 - Decorate 82(g_tTex1df4a) Binding 1 - Decorate 83(g_tTex1df4) DescriptorSet 0 - Decorate 83(g_tTex1df4) Binding 0 - Decorate 86(g_tTex1di4) DescriptorSet 0 - Decorate 89(g_tTex1du4) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval20" + Name 16 "g_tTex2df4" + Name 20 "g_sSamp" + Name 37 "txval21" + Name 40 "g_tTex2di4" + Name 52 "txval22" + Name 55 "g_tTex2du4" + Name 68 "psout" + Name 77 "flattenTemp" + Name 80 "Color" + Name 84 "Depth" + Name 89 "g_tTex1df4a" + Name 90 "g_tTex1df4" + Name 93 "g_tTex1di4" + Name 96 "g_tTex1du4" + Decorate 16(g_tTex2df4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 40(g_tTex2di4) DescriptorSet 0 + Decorate 55(g_tTex2du4) DescriptorSet 0 + Decorate 80(Color) Location 0 + Decorate 84(Depth) BuiltIn FragDepth + Decorate 89(g_tTex1df4a) DescriptorSet 0 + Decorate 89(g_tTex1df4a) Binding 1 + Decorate 90(g_tTex1df4) DescriptorSet 0 + Decorate 90(g_tTex1df4) Binding 0 + Decorate 93(g_tTex1di4) DescriptorSet 0 + Decorate 96(g_tTex1du4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 2D array sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex2df4): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 2D array sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: TypeVector 6(float) 3 - 21: 6(float) Constant 1036831949 - 22: 6(float) Constant 1045220557 - 23: 6(float) Constant 1050253722 - 24: 20(fvec3) ConstantComposite 21 22 23 - 25: TypeInt 32 1 - 26: TypeVector 25(int) 2 - 27: 25(int) Constant 1 - 28: 25(int) Constant 0 - 29: 26(ivec2) ConstantComposite 27 28 - 31: TypeVector 25(int) 4 - 32: TypePointer Function 31(ivec4) - 34: TypeImage 25(int) 2D array sampled format:Unknown - 35: TypePointer UniformConstant 34 - 36(g_tTex2di4): 35(ptr) Variable UniformConstant - 39: TypeSampledImage 34 - 41: 6(float) Constant 1053609165 - 42: 20(fvec3) ConstantComposite 23 41 41 - 43: 26(ivec2) ConstantComposite 27 27 - 45: TypeInt 32 0 - 46: TypeVector 45(int) 4 - 47: TypePointer Function 46(ivec4) - 49: TypeImage 45(int) 2D array sampled format:Unknown - 50: TypePointer UniformConstant 49 - 51(g_tTex2du4): 50(ptr) Variable UniformConstant - 54: TypeSampledImage 49 - 56: 6(float) Constant 1056964608 - 57: 6(float) Constant 1058642330 - 58: 6(float) Constant 1060320051 - 59: 20(fvec3) ConstantComposite 56 57 58 - 60: 25(int) Constant 4294967295 - 61: 26(ivec2) ConstantComposite 27 60 - 63(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 64: TypePointer Function 63(PS_OUTPUT) - 66: 6(float) Constant 1065353216 - 67: 7(fvec4) ConstantComposite 66 66 66 66 - 69: TypePointer Function 6(float) - 71: TypePointer Output 7(fvec4) - 72(Color): 71(ptr) Variable Output - 75: TypePointer Output 6(float) - 76(Depth): 75(ptr) Variable Output - 80: TypeImage 6(float) 1D array sampled format:Unknown - 81: TypePointer UniformConstant 80 - 82(g_tTex1df4a): 81(ptr) Variable UniformConstant - 83(g_tTex1df4): 81(ptr) Variable UniformConstant - 84: TypeImage 25(int) 1D array sampled format:Unknown - 85: TypePointer UniformConstant 84 - 86(g_tTex1di4): 85(ptr) Variable UniformConstant - 87: TypeImage 45(int) 1D array sampled format:Unknown + 16(g_tTex2df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: TypeVector 6(float) 3 + 25: 6(float) Constant 1036831949 + 26: 6(float) Constant 1045220557 + 27: 6(float) Constant 1050253722 + 28: 24(fvec3) ConstantComposite 25 26 27 + 29: TypeInt 32 1 + 30: TypeVector 29(int) 2 + 31: 29(int) Constant 1 + 32: 29(int) Constant 0 + 33: 30(ivec2) ConstantComposite 31 32 + 35: TypeVector 29(int) 4 + 36: TypePointer Function 35(ivec4) + 38: TypeImage 29(int) 2D array sampled format:Unknown + 39: TypePointer UniformConstant 38 + 40(g_tTex2di4): 39(ptr) Variable UniformConstant + 43: TypeSampledImage 38 + 45: 6(float) Constant 1053609165 + 46: 24(fvec3) ConstantComposite 27 45 45 + 47: 30(ivec2) ConstantComposite 31 31 + 49: TypeInt 32 0 + 50: TypeVector 49(int) 4 + 51: TypePointer Function 50(ivec4) + 53: TypeImage 49(int) 2D array sampled format:Unknown + 54: TypePointer UniformConstant 53 + 55(g_tTex2du4): 54(ptr) Variable UniformConstant + 58: TypeSampledImage 53 + 60: 6(float) Constant 1056964608 + 61: 6(float) Constant 1058642330 + 62: 6(float) Constant 1060320051 + 63: 24(fvec3) ConstantComposite 60 61 62 + 64: 29(int) Constant 4294967295 + 65: 30(ivec2) ConstantComposite 31 64 + 67: TypePointer Function 8(PS_OUTPUT) + 69: 6(float) Constant 1065353216 + 70: 7(fvec4) ConstantComposite 69 69 69 69 + 72: TypePointer Function 6(float) + 79: TypePointer Output 7(fvec4) + 80(Color): 79(ptr) Variable Output + 83: TypePointer Output 6(float) + 84(Depth): 83(ptr) Variable Output + 87: TypeImage 6(float) 1D array sampled format:Unknown 88: TypePointer UniformConstant 87 - 89(g_tTex1du4): 88(ptr) Variable UniformConstant + 89(g_tTex1df4a): 88(ptr) Variable UniformConstant + 90(g_tTex1df4): 88(ptr) Variable UniformConstant + 91: TypeImage 29(int) 1D array sampled format:Unknown + 92: TypePointer UniformConstant 91 + 93(g_tTex1di4): 92(ptr) Variable UniformConstant + 94: TypeImage 49(int) 1D array sampled format:Unknown + 95: TypePointer UniformConstant 94 + 96(g_tTex1du4): 95(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval20): 8(ptr) Variable Function - 33(txval21): 32(ptr) Variable Function - 48(txval22): 47(ptr) Variable Function - 65(psout): 64(ptr) Variable Function - 13: 10 Load 12(g_tTex2df4) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 30: 7(fvec4) ImageGather 19 24 28 ConstOffset 29 - Store 9(txval20) 30 - 37: 34 Load 36(g_tTex2di4) - 38: 14 Load 16(g_sSamp) - 40: 39 SampledImage 37 38 - 44: 31(ivec4) ImageGather 40 42 28 ConstOffset 43 - Store 33(txval21) 44 - 52: 49 Load 51(g_tTex2du4) - 53: 14 Load 16(g_sSamp) - 55: 54 SampledImage 52 53 - 62: 46(ivec4) ImageGather 55 59 28 ConstOffset 61 - Store 48(txval22) 62 - 68: 8(ptr) AccessChain 65(psout) 28 - Store 68 67 - 70: 69(ptr) AccessChain 65(psout) 27 - Store 70 66 - 73: 8(ptr) AccessChain 65(psout) 28 - 74: 7(fvec4) Load 73 - Store 72(Color) 74 - 77: 69(ptr) AccessChain 65(psout) 27 - 78: 6(float) Load 77 - Store 76(Depth) 78 + 77(flattenTemp): 67(ptr) Variable Function + 78:8(PS_OUTPUT) FunctionCall 10(@main() + Store 77(flattenTemp) 78 + 81: 12(ptr) AccessChain 77(flattenTemp) 32 + 82: 7(fvec4) Load 81 + Store 80(Color) 82 + 85: 72(ptr) AccessChain 77(flattenTemp) 31 + 86: 6(float) Load 85 + Store 84(Depth) 86 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval20): 12(ptr) Variable Function + 37(txval21): 36(ptr) Variable Function + 52(txval22): 51(ptr) Variable Function + 68(psout): 67(ptr) Variable Function + 17: 14 Load 16(g_tTex2df4) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 34: 7(fvec4) ImageGather 23 28 32 ConstOffset 33 + Store 13(txval20) 34 + 41: 38 Load 40(g_tTex2di4) + 42: 18 Load 20(g_sSamp) + 44: 43 SampledImage 41 42 + 48: 35(ivec4) ImageGather 44 46 32 ConstOffset 47 + Store 37(txval21) 48 + 56: 53 Load 55(g_tTex2du4) + 57: 18 Load 20(g_sSamp) + 59: 58 SampledImage 56 57 + 66: 50(ivec4) ImageGather 59 63 32 ConstOffset 65 + Store 52(txval22) 66 + 71: 12(ptr) AccessChain 68(psout) 32 + Store 71 70 + 73: 72(ptr) AccessChain 68(psout) 31 + Store 73 69 + 74:8(PS_OUTPUT) Load 68(psout) + ReturnValue 74 + FunctionEnd diff --git a/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out index b04a8573..42dd813b 100644 --- a/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out +++ b/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.gatherRGBA.array.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:28 Function Parameters: 0:? Sequence 0:33 Sequence @@ -334,24 +334,28 @@ gl_FragCoord origin is upper left 0:68 1 (const int) 0:68 Constant: 0:68 1.000000 -0:70 Sequence -0:70 Sequence -0:70 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:70 Color: direct index for structure (temp 4-component vector of float) -0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:70 Constant: -0:70 0 (const int) -0:70 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:70 Depth: direct index for structure (temp float) -0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:70 Constant: -0:70 1 (const int) -0:70 Branch: Return +0:70 Branch: Return with expression +0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: main( (temp void) +0:28 Function Parameters: +0:? Sequence +0:28 Sequence +0:28 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:28 Color: direct index for structure (temp 4-component vector of float) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 0 (const int) +0:28 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:28 Depth: direct index for structure (temp float) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=0 ) uniform texture1DArray) @@ -363,6 +367,8 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) @@ -372,7 +378,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:28 Function Parameters: 0:? Sequence 0:33 Sequence @@ -704,24 +710,28 @@ gl_FragCoord origin is upper left 0:68 1 (const int) 0:68 Constant: 0:68 1.000000 -0:70 Sequence -0:70 Sequence -0:70 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:70 Color: direct index for structure (temp 4-component vector of float) -0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:70 Constant: -0:70 0 (const int) -0:70 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:70 Depth: direct index for structure (temp float) -0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:70 Constant: -0:70 1 (const int) -0:70 Branch: Return +0:70 Branch: Return with expression +0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: main( (temp void) +0:28 Function Parameters: +0:? Sequence +0:28 Sequence +0:28 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:28 Color: direct index for structure (temp 4-component vector of float) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 0 (const int) +0:28 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:28 Depth: direct index for structure (temp float) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=0 ) uniform texture1DArray) @@ -733,360 +743,373 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 248 +// Id's are bound by 255 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 230 234 + EntryPoint Fragment 4 "main" 238 242 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval00" - Name 12 "g_tTex2df4a" - Name 16 "g_sSamp" - Name 22 "$Global" - MemberName 22($Global) 0 "c1" - MemberName 22($Global) 1 "c2" - MemberName 22($Global) 2 "c3" - MemberName 22($Global) 3 "c4" - Name 24 "" - Name 34 "txval01" - Name 37 "g_tTex2di4a" - Name 48 "txval02" - Name 51 "g_tTex2du4a" - Name 59 "txval10" - Name 67 "txval11" - Name 74 "txval12" - Name 81 "txval20" - Name 88 "txval21" - Name 95 "txval22" - Name 102 "txval30" - Name 110 "txval31" - Name 117 "txval32" - Name 124 "txval40" - Name 127 "g_tTexcdf4a" - Name 136 "txval41" - Name 139 "g_tTexcdi4a" - Name 147 "txval42" - Name 150 "g_tTexcdu4a" - Name 158 "txval50" - Name 165 "txval51" - Name 172 "txval52" - Name 179 "txval60" - Name 186 "txval61" - Name 193 "txval62" - Name 200 "txval70" - Name 207 "txval71" - Name 214 "txval72" - Name 221 "PS_OUTPUT" - MemberName 221(PS_OUTPUT) 0 "Color" - MemberName 221(PS_OUTPUT) 1 "Depth" - Name 223 "psout" - Name 230 "Color" - Name 234 "Depth" - Name 238 "g_sSamp2d" - Name 241 "g_tTex1df4a" - Name 244 "g_tTex1di4a" - Name 247 "g_tTex1du4a" - Decorate 12(g_tTex2df4a) DescriptorSet 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - MemberDecorate 22($Global) 0 Offset 0 - MemberDecorate 22($Global) 1 Offset 8 - MemberDecorate 22($Global) 2 Offset 16 - MemberDecorate 22($Global) 3 Offset 32 - Decorate 22($Global) Block - Decorate 24 DescriptorSet 0 - Decorate 37(g_tTex2di4a) DescriptorSet 0 - Decorate 51(g_tTex2du4a) DescriptorSet 0 - Decorate 127(g_tTexcdf4a) DescriptorSet 0 - Decorate 139(g_tTexcdi4a) DescriptorSet 0 - Decorate 150(g_tTexcdu4a) DescriptorSet 0 - Decorate 230(Color) Location 0 - Decorate 234(Depth) BuiltIn FragDepth - Decorate 238(g_sSamp2d) DescriptorSet 0 - Decorate 241(g_tTex1df4a) DescriptorSet 0 - Decorate 241(g_tTex1df4a) Binding 0 - Decorate 244(g_tTex1di4a) DescriptorSet 0 - Decorate 247(g_tTex1du4a) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval00" + Name 16 "g_tTex2df4a" + Name 20 "g_sSamp" + Name 26 "$Global" + MemberName 26($Global) 0 "c1" + MemberName 26($Global) 1 "c2" + MemberName 26($Global) 2 "c3" + MemberName 26($Global) 3 "c4" + Name 28 "" + Name 38 "txval01" + Name 41 "g_tTex2di4a" + Name 52 "txval02" + Name 55 "g_tTex2du4a" + Name 63 "txval10" + Name 71 "txval11" + Name 78 "txval12" + Name 85 "txval20" + Name 92 "txval21" + Name 99 "txval22" + Name 106 "txval30" + Name 114 "txval31" + Name 121 "txval32" + Name 128 "txval40" + Name 131 "g_tTexcdf4a" + Name 140 "txval41" + Name 143 "g_tTexcdi4a" + Name 151 "txval42" + Name 154 "g_tTexcdu4a" + Name 162 "txval50" + Name 169 "txval51" + Name 176 "txval52" + Name 183 "txval60" + Name 190 "txval61" + Name 197 "txval62" + Name 204 "txval70" + Name 211 "txval71" + Name 218 "txval72" + Name 226 "psout" + Name 235 "flattenTemp" + Name 238 "Color" + Name 242 "Depth" + Name 245 "g_sSamp2d" + Name 248 "g_tTex1df4a" + Name 251 "g_tTex1di4a" + Name 254 "g_tTex1du4a" + Decorate 16(g_tTex2df4a) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + MemberDecorate 26($Global) 0 Offset 0 + MemberDecorate 26($Global) 1 Offset 8 + MemberDecorate 26($Global) 2 Offset 16 + MemberDecorate 26($Global) 3 Offset 32 + Decorate 26($Global) Block + Decorate 28 DescriptorSet 0 + Decorate 41(g_tTex2di4a) DescriptorSet 0 + Decorate 55(g_tTex2du4a) DescriptorSet 0 + Decorate 131(g_tTexcdf4a) DescriptorSet 0 + Decorate 143(g_tTexcdi4a) DescriptorSet 0 + Decorate 154(g_tTexcdu4a) DescriptorSet 0 + Decorate 238(Color) Location 0 + Decorate 242(Depth) BuiltIn FragDepth + Decorate 245(g_sSamp2d) DescriptorSet 0 + Decorate 248(g_tTex1df4a) DescriptorSet 0 + Decorate 248(g_tTex1df4a) Binding 0 + Decorate 251(g_tTex1di4a) DescriptorSet 0 + Decorate 254(g_tTex1du4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 2D array sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex2df4a): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 2D array sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: TypeVector 6(float) 2 - 21: TypeVector 6(float) 3 - 22($Global): TypeStruct 6(float) 20(fvec2) 21(fvec3) 7(fvec4) - 23: TypePointer Uniform 22($Global) - 24: 23(ptr) Variable Uniform - 25: TypeInt 32 1 - 26: 25(int) Constant 2 - 27: TypePointer Uniform 21(fvec3) - 30: 25(int) Constant 0 - 32: TypeVector 25(int) 4 - 33: TypePointer Function 32(ivec4) - 35: TypeImage 25(int) 2D array sampled format:Unknown - 36: TypePointer UniformConstant 35 - 37(g_tTex2di4a): 36(ptr) Variable UniformConstant - 40: TypeSampledImage 35 - 45: TypeInt 32 0 - 46: TypeVector 45(int) 4 - 47: TypePointer Function 46(ivec4) - 49: TypeImage 45(int) 2D array sampled format:Unknown - 50: TypePointer UniformConstant 49 - 51(g_tTex2du4a): 50(ptr) Variable UniformConstant - 54: TypeSampledImage 49 - 65: 25(int) Constant 1 - 108: 25(int) Constant 3 - 125: TypeImage 6(float) Cube array sampled format:Unknown - 126: TypePointer UniformConstant 125 -127(g_tTexcdf4a): 126(ptr) Variable UniformConstant - 130: TypeSampledImage 125 - 132: TypePointer Uniform 7(fvec4) - 137: TypeImage 25(int) Cube array sampled format:Unknown - 138: TypePointer UniformConstant 137 -139(g_tTexcdi4a): 138(ptr) Variable UniformConstant - 142: TypeSampledImage 137 - 148: TypeImage 45(int) Cube array sampled format:Unknown - 149: TypePointer UniformConstant 148 -150(g_tTexcdu4a): 149(ptr) Variable UniformConstant - 153: TypeSampledImage 148 - 221(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 222: TypePointer Function 221(PS_OUTPUT) - 224: 6(float) Constant 1065353216 - 225: 7(fvec4) ConstantComposite 224 224 224 224 - 227: TypePointer Function 6(float) - 229: TypePointer Output 7(fvec4) - 230(Color): 229(ptr) Variable Output - 233: TypePointer Output 6(float) - 234(Depth): 233(ptr) Variable Output - 238(g_sSamp2d): 15(ptr) Variable UniformConstant - 239: TypeImage 6(float) 1D array sampled format:Unknown - 240: TypePointer UniformConstant 239 -241(g_tTex1df4a): 240(ptr) Variable UniformConstant - 242: TypeImage 25(int) 1D array sampled format:Unknown - 243: TypePointer UniformConstant 242 -244(g_tTex1di4a): 243(ptr) Variable UniformConstant - 245: TypeImage 45(int) 1D array sampled format:Unknown - 246: TypePointer UniformConstant 245 -247(g_tTex1du4a): 246(ptr) Variable UniformConstant + 16(g_tTex2df4a): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: TypeVector 6(float) 2 + 25: TypeVector 6(float) 3 + 26($Global): TypeStruct 6(float) 24(fvec2) 25(fvec3) 7(fvec4) + 27: TypePointer Uniform 26($Global) + 28: 27(ptr) Variable Uniform + 29: TypeInt 32 1 + 30: 29(int) Constant 2 + 31: TypePointer Uniform 25(fvec3) + 34: 29(int) Constant 0 + 36: TypeVector 29(int) 4 + 37: TypePointer Function 36(ivec4) + 39: TypeImage 29(int) 2D array sampled format:Unknown + 40: TypePointer UniformConstant 39 + 41(g_tTex2di4a): 40(ptr) Variable UniformConstant + 44: TypeSampledImage 39 + 49: TypeInt 32 0 + 50: TypeVector 49(int) 4 + 51: TypePointer Function 50(ivec4) + 53: TypeImage 49(int) 2D array sampled format:Unknown + 54: TypePointer UniformConstant 53 + 55(g_tTex2du4a): 54(ptr) Variable UniformConstant + 58: TypeSampledImage 53 + 69: 29(int) Constant 1 + 112: 29(int) Constant 3 + 129: TypeImage 6(float) Cube array sampled format:Unknown + 130: TypePointer UniformConstant 129 +131(g_tTexcdf4a): 130(ptr) Variable UniformConstant + 134: TypeSampledImage 129 + 136: TypePointer Uniform 7(fvec4) + 141: TypeImage 29(int) Cube array sampled format:Unknown + 142: TypePointer UniformConstant 141 +143(g_tTexcdi4a): 142(ptr) Variable UniformConstant + 146: TypeSampledImage 141 + 152: TypeImage 49(int) Cube array sampled format:Unknown + 153: TypePointer UniformConstant 152 +154(g_tTexcdu4a): 153(ptr) Variable UniformConstant + 157: TypeSampledImage 152 + 225: TypePointer Function 8(PS_OUTPUT) + 227: 6(float) Constant 1065353216 + 228: 7(fvec4) ConstantComposite 227 227 227 227 + 230: TypePointer Function 6(float) + 237: TypePointer Output 7(fvec4) + 238(Color): 237(ptr) Variable Output + 241: TypePointer Output 6(float) + 242(Depth): 241(ptr) Variable Output + 245(g_sSamp2d): 19(ptr) Variable UniformConstant + 246: TypeImage 6(float) 1D array sampled format:Unknown + 247: TypePointer UniformConstant 246 +248(g_tTex1df4a): 247(ptr) Variable UniformConstant + 249: TypeImage 29(int) 1D array sampled format:Unknown + 250: TypePointer UniformConstant 249 +251(g_tTex1di4a): 250(ptr) Variable UniformConstant + 252: TypeImage 49(int) 1D array sampled format:Unknown + 253: TypePointer UniformConstant 252 +254(g_tTex1du4a): 253(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval00): 8(ptr) Variable Function - 34(txval01): 33(ptr) Variable Function - 48(txval02): 47(ptr) Variable Function - 59(txval10): 8(ptr) Variable Function - 67(txval11): 33(ptr) Variable Function - 74(txval12): 47(ptr) Variable Function - 81(txval20): 8(ptr) Variable Function - 88(txval21): 33(ptr) Variable Function - 95(txval22): 47(ptr) Variable Function - 102(txval30): 8(ptr) Variable Function - 110(txval31): 33(ptr) Variable Function - 117(txval32): 47(ptr) Variable Function - 124(txval40): 8(ptr) Variable Function - 136(txval41): 33(ptr) Variable Function - 147(txval42): 47(ptr) Variable Function - 158(txval50): 8(ptr) Variable Function - 165(txval51): 33(ptr) Variable Function - 172(txval52): 47(ptr) Variable Function - 179(txval60): 8(ptr) Variable Function - 186(txval61): 33(ptr) Variable Function - 193(txval62): 47(ptr) Variable Function - 200(txval70): 8(ptr) Variable Function - 207(txval71): 33(ptr) Variable Function - 214(txval72): 47(ptr) Variable Function - 223(psout): 222(ptr) Variable Function - 13: 10 Load 12(g_tTex2df4a) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 28: 27(ptr) AccessChain 24 26 - 29: 21(fvec3) Load 28 - 31: 7(fvec4) ImageGather 19 29 30 - Store 9(txval00) 31 - 38: 35 Load 37(g_tTex2di4a) - 39: 14 Load 16(g_sSamp) - 41: 40 SampledImage 38 39 - 42: 27(ptr) AccessChain 24 26 - 43: 21(fvec3) Load 42 - 44: 32(ivec4) ImageGather 41 43 30 - Store 34(txval01) 44 - 52: 49 Load 51(g_tTex2du4a) - 53: 14 Load 16(g_sSamp) - 55: 54 SampledImage 52 53 - 56: 27(ptr) AccessChain 24 26 - 57: 21(fvec3) Load 56 - 58: 46(ivec4) ImageGather 55 57 30 - Store 48(txval02) 58 - 60: 10 Load 12(g_tTex2df4a) - 61: 14 Load 16(g_sSamp) - 62: 18 SampledImage 60 61 - 63: 27(ptr) AccessChain 24 26 - 64: 21(fvec3) Load 63 - 66: 7(fvec4) ImageGather 62 64 65 - Store 59(txval10) 66 - 68: 35 Load 37(g_tTex2di4a) - 69: 14 Load 16(g_sSamp) - 70: 40 SampledImage 68 69 - 71: 27(ptr) AccessChain 24 26 - 72: 21(fvec3) Load 71 - 73: 32(ivec4) ImageGather 70 72 65 - Store 67(txval11) 73 - 75: 49 Load 51(g_tTex2du4a) - 76: 14 Load 16(g_sSamp) - 77: 54 SampledImage 75 76 - 78: 27(ptr) AccessChain 24 26 - 79: 21(fvec3) Load 78 - 80: 46(ivec4) ImageGather 77 79 65 - Store 74(txval12) 80 - 82: 10 Load 12(g_tTex2df4a) - 83: 14 Load 16(g_sSamp) - 84: 18 SampledImage 82 83 - 85: 27(ptr) AccessChain 24 26 - 86: 21(fvec3) Load 85 - 87: 7(fvec4) ImageGather 84 86 26 - Store 81(txval20) 87 - 89: 35 Load 37(g_tTex2di4a) - 90: 14 Load 16(g_sSamp) - 91: 40 SampledImage 89 90 - 92: 27(ptr) AccessChain 24 26 - 93: 21(fvec3) Load 92 - 94: 32(ivec4) ImageGather 91 93 26 - Store 88(txval21) 94 - 96: 49 Load 51(g_tTex2du4a) - 97: 14 Load 16(g_sSamp) - 98: 54 SampledImage 96 97 - 99: 27(ptr) AccessChain 24 26 - 100: 21(fvec3) Load 99 - 101: 46(ivec4) ImageGather 98 100 26 - Store 95(txval22) 101 - 103: 10 Load 12(g_tTex2df4a) - 104: 14 Load 16(g_sSamp) - 105: 18 SampledImage 103 104 - 106: 27(ptr) AccessChain 24 26 - 107: 21(fvec3) Load 106 - 109: 7(fvec4) ImageGather 105 107 108 - Store 102(txval30) 109 - 111: 35 Load 37(g_tTex2di4a) - 112: 14 Load 16(g_sSamp) - 113: 40 SampledImage 111 112 - 114: 27(ptr) AccessChain 24 26 - 115: 21(fvec3) Load 114 - 116: 32(ivec4) ImageGather 113 115 108 - Store 110(txval31) 116 - 118: 49 Load 51(g_tTex2du4a) - 119: 14 Load 16(g_sSamp) - 120: 54 SampledImage 118 119 - 121: 27(ptr) AccessChain 24 26 - 122: 21(fvec3) Load 121 - 123: 46(ivec4) ImageGather 120 122 108 - Store 117(txval32) 123 - 128: 125 Load 127(g_tTexcdf4a) - 129: 14 Load 16(g_sSamp) - 131: 130 SampledImage 128 129 - 133: 132(ptr) AccessChain 24 108 - 134: 7(fvec4) Load 133 - 135: 7(fvec4) ImageGather 131 134 30 - Store 124(txval40) 135 - 140: 137 Load 139(g_tTexcdi4a) - 141: 14 Load 16(g_sSamp) - 143: 142 SampledImage 140 141 - 144: 132(ptr) AccessChain 24 108 - 145: 7(fvec4) Load 144 - 146: 32(ivec4) ImageGather 143 145 30 - Store 136(txval41) 146 - 151: 148 Load 150(g_tTexcdu4a) - 152: 14 Load 16(g_sSamp) - 154: 153 SampledImage 151 152 - 155: 132(ptr) AccessChain 24 108 - 156: 7(fvec4) Load 155 - 157: 46(ivec4) ImageGather 154 156 30 - Store 147(txval42) 157 - 159: 125 Load 127(g_tTexcdf4a) - 160: 14 Load 16(g_sSamp) - 161: 130 SampledImage 159 160 - 162: 132(ptr) AccessChain 24 108 - 163: 7(fvec4) Load 162 - 164: 7(fvec4) ImageGather 161 163 65 - Store 158(txval50) 164 - 166: 137 Load 139(g_tTexcdi4a) - 167: 14 Load 16(g_sSamp) - 168: 142 SampledImage 166 167 - 169: 132(ptr) AccessChain 24 108 - 170: 7(fvec4) Load 169 - 171: 32(ivec4) ImageGather 168 170 65 - Store 165(txval51) 171 - 173: 148 Load 150(g_tTexcdu4a) - 174: 14 Load 16(g_sSamp) - 175: 153 SampledImage 173 174 - 176: 132(ptr) AccessChain 24 108 - 177: 7(fvec4) Load 176 - 178: 46(ivec4) ImageGather 175 177 65 - Store 172(txval52) 178 - 180: 125 Load 127(g_tTexcdf4a) - 181: 14 Load 16(g_sSamp) - 182: 130 SampledImage 180 181 - 183: 132(ptr) AccessChain 24 108 - 184: 7(fvec4) Load 183 - 185: 7(fvec4) ImageGather 182 184 26 - Store 179(txval60) 185 - 187: 137 Load 139(g_tTexcdi4a) - 188: 14 Load 16(g_sSamp) - 189: 142 SampledImage 187 188 - 190: 132(ptr) AccessChain 24 108 - 191: 7(fvec4) Load 190 - 192: 32(ivec4) ImageGather 189 191 26 - Store 186(txval61) 192 - 194: 148 Load 150(g_tTexcdu4a) - 195: 14 Load 16(g_sSamp) - 196: 153 SampledImage 194 195 - 197: 132(ptr) AccessChain 24 108 - 198: 7(fvec4) Load 197 - 199: 46(ivec4) ImageGather 196 198 26 - Store 193(txval62) 199 - 201: 125 Load 127(g_tTexcdf4a) - 202: 14 Load 16(g_sSamp) - 203: 130 SampledImage 201 202 - 204: 132(ptr) AccessChain 24 108 - 205: 7(fvec4) Load 204 - 206: 7(fvec4) ImageGather 203 205 108 - Store 200(txval70) 206 - 208: 137 Load 139(g_tTexcdi4a) - 209: 14 Load 16(g_sSamp) - 210: 142 SampledImage 208 209 - 211: 132(ptr) AccessChain 24 108 - 212: 7(fvec4) Load 211 - 213: 32(ivec4) ImageGather 210 212 108 - Store 207(txval71) 213 - 215: 148 Load 150(g_tTexcdu4a) - 216: 14 Load 16(g_sSamp) - 217: 153 SampledImage 215 216 - 218: 132(ptr) AccessChain 24 108 - 219: 7(fvec4) Load 218 - 220: 46(ivec4) ImageGather 217 219 108 - Store 214(txval72) 220 - 226: 8(ptr) AccessChain 223(psout) 30 - Store 226 225 - 228: 227(ptr) AccessChain 223(psout) 65 - Store 228 224 - 231: 8(ptr) AccessChain 223(psout) 30 - 232: 7(fvec4) Load 231 - Store 230(Color) 232 - 235: 227(ptr) AccessChain 223(psout) 65 - 236: 6(float) Load 235 - Store 234(Depth) 236 +235(flattenTemp): 225(ptr) Variable Function + 236:8(PS_OUTPUT) FunctionCall 10(@main() + Store 235(flattenTemp) 236 + 239: 12(ptr) AccessChain 235(flattenTemp) 34 + 240: 7(fvec4) Load 239 + Store 238(Color) 240 + 243: 230(ptr) AccessChain 235(flattenTemp) 69 + 244: 6(float) Load 243 + Store 242(Depth) 244 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval00): 12(ptr) Variable Function + 38(txval01): 37(ptr) Variable Function + 52(txval02): 51(ptr) Variable Function + 63(txval10): 12(ptr) Variable Function + 71(txval11): 37(ptr) Variable Function + 78(txval12): 51(ptr) Variable Function + 85(txval20): 12(ptr) Variable Function + 92(txval21): 37(ptr) Variable Function + 99(txval22): 51(ptr) Variable Function + 106(txval30): 12(ptr) Variable Function + 114(txval31): 37(ptr) Variable Function + 121(txval32): 51(ptr) Variable Function + 128(txval40): 12(ptr) Variable Function + 140(txval41): 37(ptr) Variable Function + 151(txval42): 51(ptr) Variable Function + 162(txval50): 12(ptr) Variable Function + 169(txval51): 37(ptr) Variable Function + 176(txval52): 51(ptr) Variable Function + 183(txval60): 12(ptr) Variable Function + 190(txval61): 37(ptr) Variable Function + 197(txval62): 51(ptr) Variable Function + 204(txval70): 12(ptr) Variable Function + 211(txval71): 37(ptr) Variable Function + 218(txval72): 51(ptr) Variable Function + 226(psout): 225(ptr) Variable Function + 17: 14 Load 16(g_tTex2df4a) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 32: 31(ptr) AccessChain 28 30 + 33: 25(fvec3) Load 32 + 35: 7(fvec4) ImageGather 23 33 34 + Store 13(txval00) 35 + 42: 39 Load 41(g_tTex2di4a) + 43: 18 Load 20(g_sSamp) + 45: 44 SampledImage 42 43 + 46: 31(ptr) AccessChain 28 30 + 47: 25(fvec3) Load 46 + 48: 36(ivec4) ImageGather 45 47 34 + Store 38(txval01) 48 + 56: 53 Load 55(g_tTex2du4a) + 57: 18 Load 20(g_sSamp) + 59: 58 SampledImage 56 57 + 60: 31(ptr) AccessChain 28 30 + 61: 25(fvec3) Load 60 + 62: 50(ivec4) ImageGather 59 61 34 + Store 52(txval02) 62 + 64: 14 Load 16(g_tTex2df4a) + 65: 18 Load 20(g_sSamp) + 66: 22 SampledImage 64 65 + 67: 31(ptr) AccessChain 28 30 + 68: 25(fvec3) Load 67 + 70: 7(fvec4) ImageGather 66 68 69 + Store 63(txval10) 70 + 72: 39 Load 41(g_tTex2di4a) + 73: 18 Load 20(g_sSamp) + 74: 44 SampledImage 72 73 + 75: 31(ptr) AccessChain 28 30 + 76: 25(fvec3) Load 75 + 77: 36(ivec4) ImageGather 74 76 69 + Store 71(txval11) 77 + 79: 53 Load 55(g_tTex2du4a) + 80: 18 Load 20(g_sSamp) + 81: 58 SampledImage 79 80 + 82: 31(ptr) AccessChain 28 30 + 83: 25(fvec3) Load 82 + 84: 50(ivec4) ImageGather 81 83 69 + Store 78(txval12) 84 + 86: 14 Load 16(g_tTex2df4a) + 87: 18 Load 20(g_sSamp) + 88: 22 SampledImage 86 87 + 89: 31(ptr) AccessChain 28 30 + 90: 25(fvec3) Load 89 + 91: 7(fvec4) ImageGather 88 90 30 + Store 85(txval20) 91 + 93: 39 Load 41(g_tTex2di4a) + 94: 18 Load 20(g_sSamp) + 95: 44 SampledImage 93 94 + 96: 31(ptr) AccessChain 28 30 + 97: 25(fvec3) Load 96 + 98: 36(ivec4) ImageGather 95 97 30 + Store 92(txval21) 98 + 100: 53 Load 55(g_tTex2du4a) + 101: 18 Load 20(g_sSamp) + 102: 58 SampledImage 100 101 + 103: 31(ptr) AccessChain 28 30 + 104: 25(fvec3) Load 103 + 105: 50(ivec4) ImageGather 102 104 30 + Store 99(txval22) 105 + 107: 14 Load 16(g_tTex2df4a) + 108: 18 Load 20(g_sSamp) + 109: 22 SampledImage 107 108 + 110: 31(ptr) AccessChain 28 30 + 111: 25(fvec3) Load 110 + 113: 7(fvec4) ImageGather 109 111 112 + Store 106(txval30) 113 + 115: 39 Load 41(g_tTex2di4a) + 116: 18 Load 20(g_sSamp) + 117: 44 SampledImage 115 116 + 118: 31(ptr) AccessChain 28 30 + 119: 25(fvec3) Load 118 + 120: 36(ivec4) ImageGather 117 119 112 + Store 114(txval31) 120 + 122: 53 Load 55(g_tTex2du4a) + 123: 18 Load 20(g_sSamp) + 124: 58 SampledImage 122 123 + 125: 31(ptr) AccessChain 28 30 + 126: 25(fvec3) Load 125 + 127: 50(ivec4) ImageGather 124 126 112 + Store 121(txval32) 127 + 132: 129 Load 131(g_tTexcdf4a) + 133: 18 Load 20(g_sSamp) + 135: 134 SampledImage 132 133 + 137: 136(ptr) AccessChain 28 112 + 138: 7(fvec4) Load 137 + 139: 7(fvec4) ImageGather 135 138 34 + Store 128(txval40) 139 + 144: 141 Load 143(g_tTexcdi4a) + 145: 18 Load 20(g_sSamp) + 147: 146 SampledImage 144 145 + 148: 136(ptr) AccessChain 28 112 + 149: 7(fvec4) Load 148 + 150: 36(ivec4) ImageGather 147 149 34 + Store 140(txval41) 150 + 155: 152 Load 154(g_tTexcdu4a) + 156: 18 Load 20(g_sSamp) + 158: 157 SampledImage 155 156 + 159: 136(ptr) AccessChain 28 112 + 160: 7(fvec4) Load 159 + 161: 50(ivec4) ImageGather 158 160 34 + Store 151(txval42) 161 + 163: 129 Load 131(g_tTexcdf4a) + 164: 18 Load 20(g_sSamp) + 165: 134 SampledImage 163 164 + 166: 136(ptr) AccessChain 28 112 + 167: 7(fvec4) Load 166 + 168: 7(fvec4) ImageGather 165 167 69 + Store 162(txval50) 168 + 170: 141 Load 143(g_tTexcdi4a) + 171: 18 Load 20(g_sSamp) + 172: 146 SampledImage 170 171 + 173: 136(ptr) AccessChain 28 112 + 174: 7(fvec4) Load 173 + 175: 36(ivec4) ImageGather 172 174 69 + Store 169(txval51) 175 + 177: 152 Load 154(g_tTexcdu4a) + 178: 18 Load 20(g_sSamp) + 179: 157 SampledImage 177 178 + 180: 136(ptr) AccessChain 28 112 + 181: 7(fvec4) Load 180 + 182: 50(ivec4) ImageGather 179 181 69 + Store 176(txval52) 182 + 184: 129 Load 131(g_tTexcdf4a) + 185: 18 Load 20(g_sSamp) + 186: 134 SampledImage 184 185 + 187: 136(ptr) AccessChain 28 112 + 188: 7(fvec4) Load 187 + 189: 7(fvec4) ImageGather 186 188 30 + Store 183(txval60) 189 + 191: 141 Load 143(g_tTexcdi4a) + 192: 18 Load 20(g_sSamp) + 193: 146 SampledImage 191 192 + 194: 136(ptr) AccessChain 28 112 + 195: 7(fvec4) Load 194 + 196: 36(ivec4) ImageGather 193 195 30 + Store 190(txval61) 196 + 198: 152 Load 154(g_tTexcdu4a) + 199: 18 Load 20(g_sSamp) + 200: 157 SampledImage 198 199 + 201: 136(ptr) AccessChain 28 112 + 202: 7(fvec4) Load 201 + 203: 50(ivec4) ImageGather 200 202 30 + Store 197(txval62) 203 + 205: 129 Load 131(g_tTexcdf4a) + 206: 18 Load 20(g_sSamp) + 207: 134 SampledImage 205 206 + 208: 136(ptr) AccessChain 28 112 + 209: 7(fvec4) Load 208 + 210: 7(fvec4) ImageGather 207 209 112 + Store 204(txval70) 210 + 212: 141 Load 143(g_tTexcdi4a) + 213: 18 Load 20(g_sSamp) + 214: 146 SampledImage 212 213 + 215: 136(ptr) AccessChain 28 112 + 216: 7(fvec4) Load 215 + 217: 36(ivec4) ImageGather 214 216 112 + Store 211(txval71) 217 + 219: 152 Load 154(g_tTexcdu4a) + 220: 18 Load 20(g_sSamp) + 221: 157 SampledImage 219 220 + 222: 136(ptr) AccessChain 28 112 + 223: 7(fvec4) Load 222 + 224: 50(ivec4) ImageGather 221 223 112 + Store 218(txval72) 224 + 229: 12(ptr) AccessChain 226(psout) 34 + Store 229 228 + 231: 230(ptr) AccessChain 226(psout) 69 + Store 231 227 + 232:8(PS_OUTPUT) Load 226(psout) + ReturnValue 232 + FunctionEnd diff --git a/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out index d2fb0b17..15ebdc0d 100644 --- a/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.gatherRGBA.basic.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:34 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:34 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:34 Function Parameters: 0:? Sequence 0:39 Sequence @@ -334,24 +334,28 @@ gl_FragCoord origin is upper left 0:74 1 (const int) 0:74 Constant: 0:74 1.000000 -0:76 Sequence -0:76 Sequence -0:76 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:76 Color: direct index for structure (temp 4-component vector of float) -0:76 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:76 Constant: -0:76 0 (const int) -0:76 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:76 Depth: direct index for structure (temp float) -0:76 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:76 Constant: -0:76 1 (const int) -0:76 Branch: Return +0:76 Branch: Return with expression +0:76 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:34 Function Definition: main( (temp void) +0:34 Function Parameters: +0:? Sequence +0:34 Sequence +0:34 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:34 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:34 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:34 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:34 Color: direct index for structure (temp 4-component vector of float) +0:34 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:34 Constant: +0:34 0 (const int) +0:34 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:34 Depth: direct index for structure (temp float) +0:34 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:34 Constant: +0:34 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) @@ -367,6 +371,8 @@ gl_FragCoord origin is upper left 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) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) @@ -376,7 +382,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:34 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:34 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:34 Function Parameters: 0:? Sequence 0:39 Sequence @@ -708,24 +714,28 @@ gl_FragCoord origin is upper left 0:74 1 (const int) 0:74 Constant: 0:74 1.000000 -0:76 Sequence -0:76 Sequence -0:76 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:76 Color: direct index for structure (temp 4-component vector of float) -0:76 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:76 Constant: -0:76 0 (const int) -0:76 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:76 Depth: direct index for structure (temp float) -0:76 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:76 Constant: -0:76 1 (const int) -0:76 Branch: Return +0:76 Branch: Return with expression +0:76 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:34 Function Definition: main( (temp void) +0:34 Function Parameters: +0:? Sequence +0:34 Sequence +0:34 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:34 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:34 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:34 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:34 Color: direct index for structure (temp 4-component vector of float) +0:34 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:34 Constant: +0:34 0 (const int) +0:34 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:34 Depth: direct index for structure (temp float) +0:34 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:34 Constant: +0:34 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) @@ -741,378 +751,391 @@ gl_FragCoord origin is upper left 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) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 258 +// Id's are bound by 265 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 230 234 + EntryPoint Fragment 4 "main" 238 242 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval00" - Name 12 "g_tTex2df4" - Name 16 "g_sSamp" - Name 22 "$Global" - MemberName 22($Global) 0 "c1" - MemberName 22($Global) 1 "c2" - MemberName 22($Global) 2 "c3" - MemberName 22($Global) 3 "c4" - Name 24 "" - Name 34 "txval01" - Name 37 "g_tTex2di4" - Name 48 "txval02" - Name 51 "g_tTex2du4" - Name 59 "txval10" - Name 66 "txval11" - Name 73 "txval12" - Name 80 "txval20" - Name 88 "txval21" - Name 95 "txval22" - Name 102 "txval30" - Name 110 "txval31" - Name 117 "txval32" - Name 124 "txval40" - Name 127 "g_tTexcdf4" - Name 136 "txval41" - Name 139 "g_tTexcdi4" - Name 147 "txval42" - Name 150 "g_tTexcdu4" - Name 158 "txval50" - Name 165 "txval51" - Name 172 "txval52" - Name 179 "txval60" - Name 186 "txval61" - Name 193 "txval62" - Name 200 "txval70" - Name 207 "txval71" - Name 214 "txval72" - Name 221 "PS_OUTPUT" - MemberName 221(PS_OUTPUT) 0 "Color" - MemberName 221(PS_OUTPUT) 1 "Depth" - Name 223 "psout" - Name 230 "Color" - Name 234 "Depth" - Name 238 "g_sSamp2d" - Name 241 "g_tTex1df4a" - Name 242 "g_tTex1df4" - Name 245 "g_tTex1di4" - Name 248 "g_tTex1du4" - Name 251 "g_tTex3df4" - Name 254 "g_tTex3di4" - Name 257 "g_tTex3du4" - Decorate 12(g_tTex2df4) DescriptorSet 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - MemberDecorate 22($Global) 0 Offset 0 - MemberDecorate 22($Global) 1 Offset 8 - MemberDecorate 22($Global) 2 Offset 16 - MemberDecorate 22($Global) 3 Offset 32 - Decorate 22($Global) Block - Decorate 24 DescriptorSet 0 - Decorate 37(g_tTex2di4) DescriptorSet 0 - Decorate 51(g_tTex2du4) DescriptorSet 0 - Decorate 127(g_tTexcdf4) DescriptorSet 0 - Decorate 139(g_tTexcdi4) DescriptorSet 0 - Decorate 150(g_tTexcdu4) DescriptorSet 0 - Decorate 230(Color) Location 0 - Decorate 234(Depth) BuiltIn FragDepth - Decorate 238(g_sSamp2d) DescriptorSet 0 - Decorate 241(g_tTex1df4a) DescriptorSet 0 - Decorate 241(g_tTex1df4a) Binding 1 - Decorate 242(g_tTex1df4) DescriptorSet 0 - Decorate 242(g_tTex1df4) Binding 0 - Decorate 245(g_tTex1di4) DescriptorSet 0 - Decorate 248(g_tTex1du4) DescriptorSet 0 - Decorate 251(g_tTex3df4) DescriptorSet 0 - Decorate 254(g_tTex3di4) DescriptorSet 0 - Decorate 257(g_tTex3du4) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval00" + Name 16 "g_tTex2df4" + Name 20 "g_sSamp" + Name 26 "$Global" + MemberName 26($Global) 0 "c1" + MemberName 26($Global) 1 "c2" + MemberName 26($Global) 2 "c3" + MemberName 26($Global) 3 "c4" + Name 28 "" + Name 38 "txval01" + Name 41 "g_tTex2di4" + Name 52 "txval02" + Name 55 "g_tTex2du4" + Name 63 "txval10" + Name 70 "txval11" + Name 77 "txval12" + Name 84 "txval20" + Name 92 "txval21" + Name 99 "txval22" + Name 106 "txval30" + Name 114 "txval31" + Name 121 "txval32" + Name 128 "txval40" + Name 131 "g_tTexcdf4" + Name 140 "txval41" + Name 143 "g_tTexcdi4" + Name 151 "txval42" + Name 154 "g_tTexcdu4" + Name 162 "txval50" + Name 169 "txval51" + Name 176 "txval52" + Name 183 "txval60" + Name 190 "txval61" + Name 197 "txval62" + Name 204 "txval70" + Name 211 "txval71" + Name 218 "txval72" + Name 226 "psout" + Name 235 "flattenTemp" + Name 238 "Color" + Name 242 "Depth" + Name 245 "g_sSamp2d" + Name 248 "g_tTex1df4a" + Name 249 "g_tTex1df4" + Name 252 "g_tTex1di4" + Name 255 "g_tTex1du4" + Name 258 "g_tTex3df4" + Name 261 "g_tTex3di4" + Name 264 "g_tTex3du4" + Decorate 16(g_tTex2df4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + MemberDecorate 26($Global) 0 Offset 0 + MemberDecorate 26($Global) 1 Offset 8 + MemberDecorate 26($Global) 2 Offset 16 + MemberDecorate 26($Global) 3 Offset 32 + Decorate 26($Global) Block + Decorate 28 DescriptorSet 0 + Decorate 41(g_tTex2di4) DescriptorSet 0 + Decorate 55(g_tTex2du4) DescriptorSet 0 + Decorate 131(g_tTexcdf4) DescriptorSet 0 + Decorate 143(g_tTexcdi4) DescriptorSet 0 + Decorate 154(g_tTexcdu4) DescriptorSet 0 + Decorate 238(Color) Location 0 + Decorate 242(Depth) BuiltIn FragDepth + Decorate 245(g_sSamp2d) DescriptorSet 0 + Decorate 248(g_tTex1df4a) DescriptorSet 0 + Decorate 248(g_tTex1df4a) Binding 1 + Decorate 249(g_tTex1df4) DescriptorSet 0 + Decorate 249(g_tTex1df4) Binding 0 + Decorate 252(g_tTex1di4) DescriptorSet 0 + Decorate 255(g_tTex1du4) DescriptorSet 0 + Decorate 258(g_tTex3df4) DescriptorSet 0 + Decorate 261(g_tTex3di4) DescriptorSet 0 + Decorate 264(g_tTex3du4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 2D sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex2df4): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 2D sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: TypeVector 6(float) 2 - 21: TypeVector 6(float) 3 - 22($Global): TypeStruct 6(float) 20(fvec2) 21(fvec3) 7(fvec4) - 23: TypePointer Uniform 22($Global) - 24: 23(ptr) Variable Uniform - 25: TypeInt 32 1 - 26: 25(int) Constant 1 - 27: TypePointer Uniform 20(fvec2) - 30: 25(int) Constant 0 - 32: TypeVector 25(int) 4 - 33: TypePointer Function 32(ivec4) - 35: TypeImage 25(int) 2D sampled format:Unknown - 36: TypePointer UniformConstant 35 - 37(g_tTex2di4): 36(ptr) Variable UniformConstant - 40: TypeSampledImage 35 - 45: TypeInt 32 0 - 46: TypeVector 45(int) 4 - 47: TypePointer Function 46(ivec4) - 49: TypeImage 45(int) 2D sampled format:Unknown - 50: TypePointer UniformConstant 49 - 51(g_tTex2du4): 50(ptr) Variable UniformConstant - 54: TypeSampledImage 49 - 86: 25(int) Constant 2 - 108: 25(int) Constant 3 - 125: TypeImage 6(float) Cube sampled format:Unknown - 126: TypePointer UniformConstant 125 - 127(g_tTexcdf4): 126(ptr) Variable UniformConstant - 130: TypeSampledImage 125 - 132: TypePointer Uniform 21(fvec3) - 137: TypeImage 25(int) Cube sampled format:Unknown - 138: TypePointer UniformConstant 137 - 139(g_tTexcdi4): 138(ptr) Variable UniformConstant - 142: TypeSampledImage 137 - 148: TypeImage 45(int) Cube sampled format:Unknown - 149: TypePointer UniformConstant 148 - 150(g_tTexcdu4): 149(ptr) Variable UniformConstant - 153: TypeSampledImage 148 - 221(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 222: TypePointer Function 221(PS_OUTPUT) - 224: 6(float) Constant 1065353216 - 225: 7(fvec4) ConstantComposite 224 224 224 224 - 227: TypePointer Function 6(float) - 229: TypePointer Output 7(fvec4) - 230(Color): 229(ptr) Variable Output - 233: TypePointer Output 6(float) - 234(Depth): 233(ptr) Variable Output - 238(g_sSamp2d): 15(ptr) Variable UniformConstant - 239: TypeImage 6(float) 1D sampled format:Unknown - 240: TypePointer UniformConstant 239 -241(g_tTex1df4a): 240(ptr) Variable UniformConstant - 242(g_tTex1df4): 240(ptr) Variable UniformConstant - 243: TypeImage 25(int) 1D sampled format:Unknown - 244: TypePointer UniformConstant 243 - 245(g_tTex1di4): 244(ptr) Variable UniformConstant - 246: TypeImage 45(int) 1D sampled format:Unknown + 16(g_tTex2df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: TypeVector 6(float) 2 + 25: TypeVector 6(float) 3 + 26($Global): TypeStruct 6(float) 24(fvec2) 25(fvec3) 7(fvec4) + 27: TypePointer Uniform 26($Global) + 28: 27(ptr) Variable Uniform + 29: TypeInt 32 1 + 30: 29(int) Constant 1 + 31: TypePointer Uniform 24(fvec2) + 34: 29(int) Constant 0 + 36: TypeVector 29(int) 4 + 37: TypePointer Function 36(ivec4) + 39: TypeImage 29(int) 2D sampled format:Unknown + 40: TypePointer UniformConstant 39 + 41(g_tTex2di4): 40(ptr) Variable UniformConstant + 44: TypeSampledImage 39 + 49: TypeInt 32 0 + 50: TypeVector 49(int) 4 + 51: TypePointer Function 50(ivec4) + 53: TypeImage 49(int) 2D sampled format:Unknown + 54: TypePointer UniformConstant 53 + 55(g_tTex2du4): 54(ptr) Variable UniformConstant + 58: TypeSampledImage 53 + 90: 29(int) Constant 2 + 112: 29(int) Constant 3 + 129: TypeImage 6(float) Cube sampled format:Unknown + 130: TypePointer UniformConstant 129 + 131(g_tTexcdf4): 130(ptr) Variable UniformConstant + 134: TypeSampledImage 129 + 136: TypePointer Uniform 25(fvec3) + 141: TypeImage 29(int) Cube sampled format:Unknown + 142: TypePointer UniformConstant 141 + 143(g_tTexcdi4): 142(ptr) Variable UniformConstant + 146: TypeSampledImage 141 + 152: TypeImage 49(int) Cube sampled format:Unknown + 153: TypePointer UniformConstant 152 + 154(g_tTexcdu4): 153(ptr) Variable UniformConstant + 157: TypeSampledImage 152 + 225: TypePointer Function 8(PS_OUTPUT) + 227: 6(float) Constant 1065353216 + 228: 7(fvec4) ConstantComposite 227 227 227 227 + 230: TypePointer Function 6(float) + 237: TypePointer Output 7(fvec4) + 238(Color): 237(ptr) Variable Output + 241: TypePointer Output 6(float) + 242(Depth): 241(ptr) Variable Output + 245(g_sSamp2d): 19(ptr) Variable UniformConstant + 246: TypeImage 6(float) 1D sampled format:Unknown 247: TypePointer UniformConstant 246 - 248(g_tTex1du4): 247(ptr) Variable UniformConstant - 249: TypeImage 6(float) 3D sampled format:Unknown - 250: TypePointer UniformConstant 249 - 251(g_tTex3df4): 250(ptr) Variable UniformConstant - 252: TypeImage 25(int) 3D sampled format:Unknown - 253: TypePointer UniformConstant 252 - 254(g_tTex3di4): 253(ptr) Variable UniformConstant - 255: TypeImage 45(int) 3D sampled format:Unknown - 256: TypePointer UniformConstant 255 - 257(g_tTex3du4): 256(ptr) Variable UniformConstant +248(g_tTex1df4a): 247(ptr) Variable UniformConstant + 249(g_tTex1df4): 247(ptr) Variable UniformConstant + 250: TypeImage 29(int) 1D sampled format:Unknown + 251: TypePointer UniformConstant 250 + 252(g_tTex1di4): 251(ptr) Variable UniformConstant + 253: TypeImage 49(int) 1D sampled format:Unknown + 254: TypePointer UniformConstant 253 + 255(g_tTex1du4): 254(ptr) Variable UniformConstant + 256: TypeImage 6(float) 3D sampled format:Unknown + 257: TypePointer UniformConstant 256 + 258(g_tTex3df4): 257(ptr) Variable UniformConstant + 259: TypeImage 29(int) 3D sampled format:Unknown + 260: TypePointer UniformConstant 259 + 261(g_tTex3di4): 260(ptr) Variable UniformConstant + 262: TypeImage 49(int) 3D sampled format:Unknown + 263: TypePointer UniformConstant 262 + 264(g_tTex3du4): 263(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval00): 8(ptr) Variable Function - 34(txval01): 33(ptr) Variable Function - 48(txval02): 47(ptr) Variable Function - 59(txval10): 8(ptr) Variable Function - 66(txval11): 33(ptr) Variable Function - 73(txval12): 47(ptr) Variable Function - 80(txval20): 8(ptr) Variable Function - 88(txval21): 33(ptr) Variable Function - 95(txval22): 47(ptr) Variable Function - 102(txval30): 8(ptr) Variable Function - 110(txval31): 33(ptr) Variable Function - 117(txval32): 47(ptr) Variable Function - 124(txval40): 8(ptr) Variable Function - 136(txval41): 33(ptr) Variable Function - 147(txval42): 47(ptr) Variable Function - 158(txval50): 8(ptr) Variable Function - 165(txval51): 33(ptr) Variable Function - 172(txval52): 47(ptr) Variable Function - 179(txval60): 8(ptr) Variable Function - 186(txval61): 33(ptr) Variable Function - 193(txval62): 47(ptr) Variable Function - 200(txval70): 8(ptr) Variable Function - 207(txval71): 33(ptr) Variable Function - 214(txval72): 47(ptr) Variable Function - 223(psout): 222(ptr) Variable Function - 13: 10 Load 12(g_tTex2df4) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 28: 27(ptr) AccessChain 24 26 - 29: 20(fvec2) Load 28 - 31: 7(fvec4) ImageGather 19 29 30 - Store 9(txval00) 31 - 38: 35 Load 37(g_tTex2di4) - 39: 14 Load 16(g_sSamp) - 41: 40 SampledImage 38 39 - 42: 27(ptr) AccessChain 24 26 - 43: 20(fvec2) Load 42 - 44: 32(ivec4) ImageGather 41 43 30 - Store 34(txval01) 44 - 52: 49 Load 51(g_tTex2du4) - 53: 14 Load 16(g_sSamp) - 55: 54 SampledImage 52 53 - 56: 27(ptr) AccessChain 24 26 - 57: 20(fvec2) Load 56 - 58: 46(ivec4) ImageGather 55 57 30 - Store 48(txval02) 58 - 60: 10 Load 12(g_tTex2df4) - 61: 14 Load 16(g_sSamp) - 62: 18 SampledImage 60 61 - 63: 27(ptr) AccessChain 24 26 - 64: 20(fvec2) Load 63 - 65: 7(fvec4) ImageGather 62 64 26 - Store 59(txval10) 65 - 67: 35 Load 37(g_tTex2di4) - 68: 14 Load 16(g_sSamp) - 69: 40 SampledImage 67 68 - 70: 27(ptr) AccessChain 24 26 - 71: 20(fvec2) Load 70 - 72: 32(ivec4) ImageGather 69 71 26 - Store 66(txval11) 72 - 74: 49 Load 51(g_tTex2du4) - 75: 14 Load 16(g_sSamp) - 76: 54 SampledImage 74 75 - 77: 27(ptr) AccessChain 24 26 - 78: 20(fvec2) Load 77 - 79: 46(ivec4) ImageGather 76 78 26 - Store 73(txval12) 79 - 81: 10 Load 12(g_tTex2df4) - 82: 14 Load 16(g_sSamp) - 83: 18 SampledImage 81 82 - 84: 27(ptr) AccessChain 24 26 - 85: 20(fvec2) Load 84 - 87: 7(fvec4) ImageGather 83 85 86 - Store 80(txval20) 87 - 89: 35 Load 37(g_tTex2di4) - 90: 14 Load 16(g_sSamp) - 91: 40 SampledImage 89 90 - 92: 27(ptr) AccessChain 24 26 - 93: 20(fvec2) Load 92 - 94: 32(ivec4) ImageGather 91 93 86 - Store 88(txval21) 94 - 96: 49 Load 51(g_tTex2du4) - 97: 14 Load 16(g_sSamp) - 98: 54 SampledImage 96 97 - 99: 27(ptr) AccessChain 24 26 - 100: 20(fvec2) Load 99 - 101: 46(ivec4) ImageGather 98 100 86 - Store 95(txval22) 101 - 103: 10 Load 12(g_tTex2df4) - 104: 14 Load 16(g_sSamp) - 105: 18 SampledImage 103 104 - 106: 27(ptr) AccessChain 24 26 - 107: 20(fvec2) Load 106 - 109: 7(fvec4) ImageGather 105 107 108 - Store 102(txval30) 109 - 111: 35 Load 37(g_tTex2di4) - 112: 14 Load 16(g_sSamp) - 113: 40 SampledImage 111 112 - 114: 27(ptr) AccessChain 24 26 - 115: 20(fvec2) Load 114 - 116: 32(ivec4) ImageGather 113 115 108 - Store 110(txval31) 116 - 118: 49 Load 51(g_tTex2du4) - 119: 14 Load 16(g_sSamp) - 120: 54 SampledImage 118 119 - 121: 27(ptr) AccessChain 24 26 - 122: 20(fvec2) Load 121 - 123: 46(ivec4) ImageGather 120 122 108 - Store 117(txval32) 123 - 128: 125 Load 127(g_tTexcdf4) - 129: 14 Load 16(g_sSamp) - 131: 130 SampledImage 128 129 - 133: 132(ptr) AccessChain 24 86 - 134: 21(fvec3) Load 133 - 135: 7(fvec4) ImageGather 131 134 30 - Store 124(txval40) 135 - 140: 137 Load 139(g_tTexcdi4) - 141: 14 Load 16(g_sSamp) - 143: 142 SampledImage 140 141 - 144: 132(ptr) AccessChain 24 86 - 145: 21(fvec3) Load 144 - 146: 32(ivec4) ImageGather 143 145 30 - Store 136(txval41) 146 - 151: 148 Load 150(g_tTexcdu4) - 152: 14 Load 16(g_sSamp) - 154: 153 SampledImage 151 152 - 155: 132(ptr) AccessChain 24 86 - 156: 21(fvec3) Load 155 - 157: 46(ivec4) ImageGather 154 156 30 - Store 147(txval42) 157 - 159: 125 Load 127(g_tTexcdf4) - 160: 14 Load 16(g_sSamp) - 161: 130 SampledImage 159 160 - 162: 132(ptr) AccessChain 24 86 - 163: 21(fvec3) Load 162 - 164: 7(fvec4) ImageGather 161 163 26 - Store 158(txval50) 164 - 166: 137 Load 139(g_tTexcdi4) - 167: 14 Load 16(g_sSamp) - 168: 142 SampledImage 166 167 - 169: 132(ptr) AccessChain 24 86 - 170: 21(fvec3) Load 169 - 171: 32(ivec4) ImageGather 168 170 26 - Store 165(txval51) 171 - 173: 148 Load 150(g_tTexcdu4) - 174: 14 Load 16(g_sSamp) - 175: 153 SampledImage 173 174 - 176: 132(ptr) AccessChain 24 86 - 177: 21(fvec3) Load 176 - 178: 46(ivec4) ImageGather 175 177 26 - Store 172(txval52) 178 - 180: 125 Load 127(g_tTexcdf4) - 181: 14 Load 16(g_sSamp) - 182: 130 SampledImage 180 181 - 183: 132(ptr) AccessChain 24 86 - 184: 21(fvec3) Load 183 - 185: 7(fvec4) ImageGather 182 184 86 - Store 179(txval60) 185 - 187: 137 Load 139(g_tTexcdi4) - 188: 14 Load 16(g_sSamp) - 189: 142 SampledImage 187 188 - 190: 132(ptr) AccessChain 24 86 - 191: 21(fvec3) Load 190 - 192: 32(ivec4) ImageGather 189 191 86 - Store 186(txval61) 192 - 194: 148 Load 150(g_tTexcdu4) - 195: 14 Load 16(g_sSamp) - 196: 153 SampledImage 194 195 - 197: 132(ptr) AccessChain 24 86 - 198: 21(fvec3) Load 197 - 199: 46(ivec4) ImageGather 196 198 86 - Store 193(txval62) 199 - 201: 125 Load 127(g_tTexcdf4) - 202: 14 Load 16(g_sSamp) - 203: 130 SampledImage 201 202 - 204: 132(ptr) AccessChain 24 86 - 205: 21(fvec3) Load 204 - 206: 7(fvec4) ImageGather 203 205 108 - Store 200(txval70) 206 - 208: 137 Load 139(g_tTexcdi4) - 209: 14 Load 16(g_sSamp) - 210: 142 SampledImage 208 209 - 211: 132(ptr) AccessChain 24 86 - 212: 21(fvec3) Load 211 - 213: 32(ivec4) ImageGather 210 212 108 - Store 207(txval71) 213 - 215: 148 Load 150(g_tTexcdu4) - 216: 14 Load 16(g_sSamp) - 217: 153 SampledImage 215 216 - 218: 132(ptr) AccessChain 24 86 - 219: 21(fvec3) Load 218 - 220: 46(ivec4) ImageGather 217 219 108 - Store 214(txval72) 220 - 226: 8(ptr) AccessChain 223(psout) 30 - Store 226 225 - 228: 227(ptr) AccessChain 223(psout) 26 - Store 228 224 - 231: 8(ptr) AccessChain 223(psout) 30 - 232: 7(fvec4) Load 231 - Store 230(Color) 232 - 235: 227(ptr) AccessChain 223(psout) 26 - 236: 6(float) Load 235 - Store 234(Depth) 236 +235(flattenTemp): 225(ptr) Variable Function + 236:8(PS_OUTPUT) FunctionCall 10(@main() + Store 235(flattenTemp) 236 + 239: 12(ptr) AccessChain 235(flattenTemp) 34 + 240: 7(fvec4) Load 239 + Store 238(Color) 240 + 243: 230(ptr) AccessChain 235(flattenTemp) 30 + 244: 6(float) Load 243 + Store 242(Depth) 244 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval00): 12(ptr) Variable Function + 38(txval01): 37(ptr) Variable Function + 52(txval02): 51(ptr) Variable Function + 63(txval10): 12(ptr) Variable Function + 70(txval11): 37(ptr) Variable Function + 77(txval12): 51(ptr) Variable Function + 84(txval20): 12(ptr) Variable Function + 92(txval21): 37(ptr) Variable Function + 99(txval22): 51(ptr) Variable Function + 106(txval30): 12(ptr) Variable Function + 114(txval31): 37(ptr) Variable Function + 121(txval32): 51(ptr) Variable Function + 128(txval40): 12(ptr) Variable Function + 140(txval41): 37(ptr) Variable Function + 151(txval42): 51(ptr) Variable Function + 162(txval50): 12(ptr) Variable Function + 169(txval51): 37(ptr) Variable Function + 176(txval52): 51(ptr) Variable Function + 183(txval60): 12(ptr) Variable Function + 190(txval61): 37(ptr) Variable Function + 197(txval62): 51(ptr) Variable Function + 204(txval70): 12(ptr) Variable Function + 211(txval71): 37(ptr) Variable Function + 218(txval72): 51(ptr) Variable Function + 226(psout): 225(ptr) Variable Function + 17: 14 Load 16(g_tTex2df4) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 32: 31(ptr) AccessChain 28 30 + 33: 24(fvec2) Load 32 + 35: 7(fvec4) ImageGather 23 33 34 + Store 13(txval00) 35 + 42: 39 Load 41(g_tTex2di4) + 43: 18 Load 20(g_sSamp) + 45: 44 SampledImage 42 43 + 46: 31(ptr) AccessChain 28 30 + 47: 24(fvec2) Load 46 + 48: 36(ivec4) ImageGather 45 47 34 + Store 38(txval01) 48 + 56: 53 Load 55(g_tTex2du4) + 57: 18 Load 20(g_sSamp) + 59: 58 SampledImage 56 57 + 60: 31(ptr) AccessChain 28 30 + 61: 24(fvec2) Load 60 + 62: 50(ivec4) ImageGather 59 61 34 + Store 52(txval02) 62 + 64: 14 Load 16(g_tTex2df4) + 65: 18 Load 20(g_sSamp) + 66: 22 SampledImage 64 65 + 67: 31(ptr) AccessChain 28 30 + 68: 24(fvec2) Load 67 + 69: 7(fvec4) ImageGather 66 68 30 + Store 63(txval10) 69 + 71: 39 Load 41(g_tTex2di4) + 72: 18 Load 20(g_sSamp) + 73: 44 SampledImage 71 72 + 74: 31(ptr) AccessChain 28 30 + 75: 24(fvec2) Load 74 + 76: 36(ivec4) ImageGather 73 75 30 + Store 70(txval11) 76 + 78: 53 Load 55(g_tTex2du4) + 79: 18 Load 20(g_sSamp) + 80: 58 SampledImage 78 79 + 81: 31(ptr) AccessChain 28 30 + 82: 24(fvec2) Load 81 + 83: 50(ivec4) ImageGather 80 82 30 + Store 77(txval12) 83 + 85: 14 Load 16(g_tTex2df4) + 86: 18 Load 20(g_sSamp) + 87: 22 SampledImage 85 86 + 88: 31(ptr) AccessChain 28 30 + 89: 24(fvec2) Load 88 + 91: 7(fvec4) ImageGather 87 89 90 + Store 84(txval20) 91 + 93: 39 Load 41(g_tTex2di4) + 94: 18 Load 20(g_sSamp) + 95: 44 SampledImage 93 94 + 96: 31(ptr) AccessChain 28 30 + 97: 24(fvec2) Load 96 + 98: 36(ivec4) ImageGather 95 97 90 + Store 92(txval21) 98 + 100: 53 Load 55(g_tTex2du4) + 101: 18 Load 20(g_sSamp) + 102: 58 SampledImage 100 101 + 103: 31(ptr) AccessChain 28 30 + 104: 24(fvec2) Load 103 + 105: 50(ivec4) ImageGather 102 104 90 + Store 99(txval22) 105 + 107: 14 Load 16(g_tTex2df4) + 108: 18 Load 20(g_sSamp) + 109: 22 SampledImage 107 108 + 110: 31(ptr) AccessChain 28 30 + 111: 24(fvec2) Load 110 + 113: 7(fvec4) ImageGather 109 111 112 + Store 106(txval30) 113 + 115: 39 Load 41(g_tTex2di4) + 116: 18 Load 20(g_sSamp) + 117: 44 SampledImage 115 116 + 118: 31(ptr) AccessChain 28 30 + 119: 24(fvec2) Load 118 + 120: 36(ivec4) ImageGather 117 119 112 + Store 114(txval31) 120 + 122: 53 Load 55(g_tTex2du4) + 123: 18 Load 20(g_sSamp) + 124: 58 SampledImage 122 123 + 125: 31(ptr) AccessChain 28 30 + 126: 24(fvec2) Load 125 + 127: 50(ivec4) ImageGather 124 126 112 + Store 121(txval32) 127 + 132: 129 Load 131(g_tTexcdf4) + 133: 18 Load 20(g_sSamp) + 135: 134 SampledImage 132 133 + 137: 136(ptr) AccessChain 28 90 + 138: 25(fvec3) Load 137 + 139: 7(fvec4) ImageGather 135 138 34 + Store 128(txval40) 139 + 144: 141 Load 143(g_tTexcdi4) + 145: 18 Load 20(g_sSamp) + 147: 146 SampledImage 144 145 + 148: 136(ptr) AccessChain 28 90 + 149: 25(fvec3) Load 148 + 150: 36(ivec4) ImageGather 147 149 34 + Store 140(txval41) 150 + 155: 152 Load 154(g_tTexcdu4) + 156: 18 Load 20(g_sSamp) + 158: 157 SampledImage 155 156 + 159: 136(ptr) AccessChain 28 90 + 160: 25(fvec3) Load 159 + 161: 50(ivec4) ImageGather 158 160 34 + Store 151(txval42) 161 + 163: 129 Load 131(g_tTexcdf4) + 164: 18 Load 20(g_sSamp) + 165: 134 SampledImage 163 164 + 166: 136(ptr) AccessChain 28 90 + 167: 25(fvec3) Load 166 + 168: 7(fvec4) ImageGather 165 167 30 + Store 162(txval50) 168 + 170: 141 Load 143(g_tTexcdi4) + 171: 18 Load 20(g_sSamp) + 172: 146 SampledImage 170 171 + 173: 136(ptr) AccessChain 28 90 + 174: 25(fvec3) Load 173 + 175: 36(ivec4) ImageGather 172 174 30 + Store 169(txval51) 175 + 177: 152 Load 154(g_tTexcdu4) + 178: 18 Load 20(g_sSamp) + 179: 157 SampledImage 177 178 + 180: 136(ptr) AccessChain 28 90 + 181: 25(fvec3) Load 180 + 182: 50(ivec4) ImageGather 179 181 30 + Store 176(txval52) 182 + 184: 129 Load 131(g_tTexcdf4) + 185: 18 Load 20(g_sSamp) + 186: 134 SampledImage 184 185 + 187: 136(ptr) AccessChain 28 90 + 188: 25(fvec3) Load 187 + 189: 7(fvec4) ImageGather 186 188 90 + Store 183(txval60) 189 + 191: 141 Load 143(g_tTexcdi4) + 192: 18 Load 20(g_sSamp) + 193: 146 SampledImage 191 192 + 194: 136(ptr) AccessChain 28 90 + 195: 25(fvec3) Load 194 + 196: 36(ivec4) ImageGather 193 195 90 + Store 190(txval61) 196 + 198: 152 Load 154(g_tTexcdu4) + 199: 18 Load 20(g_sSamp) + 200: 157 SampledImage 198 199 + 201: 136(ptr) AccessChain 28 90 + 202: 25(fvec3) Load 201 + 203: 50(ivec4) ImageGather 200 202 90 + Store 197(txval62) 203 + 205: 129 Load 131(g_tTexcdf4) + 206: 18 Load 20(g_sSamp) + 207: 134 SampledImage 205 206 + 208: 136(ptr) AccessChain 28 90 + 209: 25(fvec3) Load 208 + 210: 7(fvec4) ImageGather 207 209 112 + Store 204(txval70) 210 + 212: 141 Load 143(g_tTexcdi4) + 213: 18 Load 20(g_sSamp) + 214: 146 SampledImage 212 213 + 215: 136(ptr) AccessChain 28 90 + 216: 25(fvec3) Load 215 + 217: 36(ivec4) ImageGather 214 216 112 + Store 211(txval71) 217 + 219: 152 Load 154(g_tTexcdu4) + 220: 18 Load 20(g_sSamp) + 221: 157 SampledImage 219 220 + 222: 136(ptr) AccessChain 28 90 + 223: 25(fvec3) Load 222 + 224: 50(ivec4) ImageGather 221 223 112 + Store 218(txval72) 224 + 229: 12(ptr) AccessChain 226(psout) 34 + Store 229 228 + 231: 230(ptr) AccessChain 226(psout) 30 + Store 231 227 + 232:8(PS_OUTPUT) Load 226(psout) + ReturnValue 232 + FunctionEnd diff --git a/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out index 43395741..7aaa8fe3 100644 --- a/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.gatherRGBA.offset.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:39 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:39 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:39 Function Parameters: 0:? Sequence 0:46 Sequence @@ -586,24 +586,28 @@ gl_FragCoord origin is upper left 0:113 1 (const int) 0:113 Constant: 0:113 1.000000 -0:115 Sequence -0:115 Sequence -0:115 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:115 Color: direct index for structure (temp 4-component vector of float) -0:115 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:115 Constant: -0:115 0 (const int) -0:115 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:115 Depth: direct index for structure (temp float) -0:115 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:115 Constant: -0:115 1 (const int) -0:115 Branch: Return +0:115 Branch: Return with expression +0:115 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:39 Function Definition: main( (temp void) +0:39 Function Parameters: +0:? Sequence +0:39 Sequence +0:39 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:39 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:39 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:39 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:39 Color: direct index for structure (temp 4-component vector of float) +0:39 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:39 Constant: +0:39 0 (const int) +0:39 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:39 Depth: direct index for structure (temp float) +0:39 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:39 Constant: +0:39 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) @@ -619,6 +623,8 @@ gl_FragCoord origin is upper left 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) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) @@ -628,7 +634,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:39 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:39 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:39 Function Parameters: 0:? Sequence 0:46 Sequence @@ -1212,24 +1218,28 @@ gl_FragCoord origin is upper left 0:113 1 (const int) 0:113 Constant: 0:113 1.000000 -0:115 Sequence -0:115 Sequence -0:115 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:115 Color: direct index for structure (temp 4-component vector of float) -0:115 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:115 Constant: -0:115 0 (const int) -0:115 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:115 Depth: direct index for structure (temp float) -0:115 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:115 Constant: -0:115 1 (const int) -0:115 Branch: Return +0:115 Branch: Return with expression +0:115 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:39 Function Definition: main( (temp void) +0:39 Function Parameters: +0:? Sequence +0:39 Sequence +0:39 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:39 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:39 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:39 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:39 Color: direct index for structure (temp 4-component vector of float) +0:39 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:39 Constant: +0:39 0 (const int) +0:39 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:39 Depth: direct index for structure (temp float) +0:39 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:39 Constant: +0:39 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) @@ -1245,521 +1255,534 @@ gl_FragCoord origin is upper left 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) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 392 +// Id's are bound by 399 Capability Shader Capability ImageGatherExtended Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 355 359 + EntryPoint Fragment 4 "main" 363 367 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval001" - Name 12 "g_tTex2df4" - Name 16 "g_sSamp" - Name 26 "$Global" - MemberName 26($Global) 0 "c1" - MemberName 26($Global) 1 "c2" - MemberName 26($Global) 2 "c3" - MemberName 26($Global) 3 "c4" - MemberName 26($Global) 4 "o1" - MemberName 26($Global) 5 "o2" - MemberName 26($Global) 6 "o3" - MemberName 26($Global) 7 "o4" - Name 28 "" - Name 40 "txval011" - Name 43 "g_tTex2di4" - Name 56 "txval021" - Name 59 "g_tTex2du4" - Name 69 "txval004" - Name 87 "txval014" - Name 103 "txval024" - Name 119 "txval101" - Name 128 "txval111" - Name 137 "txval121" - Name 146 "txval104" - Name 162 "txval114" - Name 178 "txval124" - Name 194 "txval201" - Name 204 "txval211" - Name 213 "txval221" - Name 222 "txval204" - Name 238 "txval214" - Name 254 "txval224" - Name 270 "txval301" - Name 280 "txval311" - Name 289 "txval321" - Name 298 "txval304" - Name 314 "txval314" - Name 330 "txval324" - Name 346 "PS_OUTPUT" - MemberName 346(PS_OUTPUT) 0 "Color" - MemberName 346(PS_OUTPUT) 1 "Depth" - Name 348 "psout" - Name 355 "Color" - Name 359 "Depth" - Name 363 "g_sSamp2d" - Name 366 "g_tTex1df4a" - Name 367 "g_tTex1df4" - Name 370 "g_tTex1di4" - Name 373 "g_tTex1du4" - Name 376 "g_tTex3df4" - Name 379 "g_tTex3di4" - Name 382 "g_tTex3du4" - Name 385 "g_tTexcdf4" - Name 388 "g_tTexcdi4" - Name 391 "g_tTexcdu4" - Decorate 12(g_tTex2df4) DescriptorSet 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - MemberDecorate 26($Global) 0 Offset 0 - MemberDecorate 26($Global) 1 Offset 8 - MemberDecorate 26($Global) 2 Offset 16 - MemberDecorate 26($Global) 3 Offset 32 - MemberDecorate 26($Global) 4 Offset 48 - MemberDecorate 26($Global) 5 Offset 56 - MemberDecorate 26($Global) 6 Offset 64 - MemberDecorate 26($Global) 7 Offset 80 - Decorate 26($Global) Block - Decorate 28 DescriptorSet 0 - Decorate 43(g_tTex2di4) DescriptorSet 0 - Decorate 59(g_tTex2du4) DescriptorSet 0 - Decorate 355(Color) Location 0 - Decorate 359(Depth) BuiltIn FragDepth - Decorate 363(g_sSamp2d) DescriptorSet 0 - Decorate 366(g_tTex1df4a) DescriptorSet 0 - Decorate 366(g_tTex1df4a) Binding 1 - Decorate 367(g_tTex1df4) DescriptorSet 0 - Decorate 367(g_tTex1df4) Binding 0 - Decorate 370(g_tTex1di4) DescriptorSet 0 - Decorate 373(g_tTex1du4) DescriptorSet 0 - Decorate 376(g_tTex3df4) DescriptorSet 0 - Decorate 379(g_tTex3di4) DescriptorSet 0 - Decorate 382(g_tTex3du4) DescriptorSet 0 - Decorate 385(g_tTexcdf4) DescriptorSet 0 - Decorate 388(g_tTexcdi4) DescriptorSet 0 - Decorate 391(g_tTexcdu4) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval001" + Name 16 "g_tTex2df4" + Name 20 "g_sSamp" + Name 30 "$Global" + MemberName 30($Global) 0 "c1" + MemberName 30($Global) 1 "c2" + MemberName 30($Global) 2 "c3" + MemberName 30($Global) 3 "c4" + MemberName 30($Global) 4 "o1" + MemberName 30($Global) 5 "o2" + MemberName 30($Global) 6 "o3" + MemberName 30($Global) 7 "o4" + Name 32 "" + Name 44 "txval011" + Name 47 "g_tTex2di4" + Name 60 "txval021" + Name 63 "g_tTex2du4" + Name 73 "txval004" + Name 91 "txval014" + Name 107 "txval024" + Name 123 "txval101" + Name 132 "txval111" + Name 141 "txval121" + Name 150 "txval104" + Name 166 "txval114" + Name 182 "txval124" + Name 198 "txval201" + Name 208 "txval211" + Name 217 "txval221" + Name 226 "txval204" + Name 242 "txval214" + Name 258 "txval224" + Name 274 "txval301" + Name 284 "txval311" + Name 293 "txval321" + Name 302 "txval304" + Name 318 "txval314" + Name 334 "txval324" + Name 351 "psout" + Name 360 "flattenTemp" + Name 363 "Color" + Name 367 "Depth" + Name 370 "g_sSamp2d" + Name 373 "g_tTex1df4a" + Name 374 "g_tTex1df4" + Name 377 "g_tTex1di4" + Name 380 "g_tTex1du4" + Name 383 "g_tTex3df4" + Name 386 "g_tTex3di4" + Name 389 "g_tTex3du4" + Name 392 "g_tTexcdf4" + Name 395 "g_tTexcdi4" + Name 398 "g_tTexcdu4" + Decorate 16(g_tTex2df4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + MemberDecorate 30($Global) 0 Offset 0 + MemberDecorate 30($Global) 1 Offset 8 + MemberDecorate 30($Global) 2 Offset 16 + MemberDecorate 30($Global) 3 Offset 32 + MemberDecorate 30($Global) 4 Offset 48 + MemberDecorate 30($Global) 5 Offset 56 + MemberDecorate 30($Global) 6 Offset 64 + MemberDecorate 30($Global) 7 Offset 80 + Decorate 30($Global) Block + Decorate 32 DescriptorSet 0 + Decorate 47(g_tTex2di4) DescriptorSet 0 + Decorate 63(g_tTex2du4) DescriptorSet 0 + Decorate 363(Color) Location 0 + Decorate 367(Depth) BuiltIn FragDepth + Decorate 370(g_sSamp2d) DescriptorSet 0 + Decorate 373(g_tTex1df4a) DescriptorSet 0 + Decorate 373(g_tTex1df4a) Binding 1 + Decorate 374(g_tTex1df4) DescriptorSet 0 + Decorate 374(g_tTex1df4) Binding 0 + Decorate 377(g_tTex1di4) DescriptorSet 0 + Decorate 380(g_tTex1du4) DescriptorSet 0 + Decorate 383(g_tTex3df4) DescriptorSet 0 + Decorate 386(g_tTex3di4) DescriptorSet 0 + Decorate 389(g_tTex3du4) DescriptorSet 0 + Decorate 392(g_tTexcdf4) DescriptorSet 0 + Decorate 395(g_tTexcdi4) DescriptorSet 0 + Decorate 398(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 2D sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex2df4): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 2D sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: TypeVector 6(float) 2 - 21: TypeVector 6(float) 3 - 22: TypeInt 32 1 - 23: TypeVector 22(int) 2 - 24: TypeVector 22(int) 3 - 25: TypeVector 22(int) 4 - 26($Global): TypeStruct 6(float) 20(fvec2) 21(fvec3) 7(fvec4) 22(int) 23(ivec2) 24(ivec3) 25(ivec4) - 27: TypePointer Uniform 26($Global) - 28: 27(ptr) Variable Uniform - 29: 22(int) Constant 1 - 30: TypePointer Uniform 20(fvec2) - 33: 22(int) Constant 5 - 34: TypePointer Uniform 23(ivec2) - 37: 22(int) Constant 0 - 39: TypePointer Function 25(ivec4) - 41: TypeImage 22(int) 2D sampled format:Unknown - 42: TypePointer UniformConstant 41 - 43(g_tTex2di4): 42(ptr) Variable UniformConstant - 46: TypeSampledImage 41 - 53: TypeInt 32 0 - 54: TypeVector 53(int) 4 - 55: TypePointer Function 54(ivec4) - 57: TypeImage 53(int) 2D sampled format:Unknown - 58: TypePointer UniformConstant 57 - 59(g_tTex2du4): 58(ptr) Variable UniformConstant - 62: TypeSampledImage 57 - 83: 53(int) Constant 4 - 84: TypeArray 23(ivec2) 83 - 202: 22(int) Constant 2 - 278: 22(int) Constant 3 - 346(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 347: TypePointer Function 346(PS_OUTPUT) - 349: 6(float) Constant 1065353216 - 350: 7(fvec4) ConstantComposite 349 349 349 349 - 352: TypePointer Function 6(float) - 354: TypePointer Output 7(fvec4) - 355(Color): 354(ptr) Variable Output - 358: TypePointer Output 6(float) - 359(Depth): 358(ptr) Variable Output - 363(g_sSamp2d): 15(ptr) Variable UniformConstant - 364: TypeImage 6(float) 1D sampled format:Unknown - 365: TypePointer UniformConstant 364 -366(g_tTex1df4a): 365(ptr) Variable UniformConstant - 367(g_tTex1df4): 365(ptr) Variable UniformConstant - 368: TypeImage 22(int) 1D sampled format:Unknown - 369: TypePointer UniformConstant 368 - 370(g_tTex1di4): 369(ptr) Variable UniformConstant - 371: TypeImage 53(int) 1D sampled format:Unknown + 16(g_tTex2df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: TypeVector 6(float) 2 + 25: TypeVector 6(float) 3 + 26: TypeInt 32 1 + 27: TypeVector 26(int) 2 + 28: TypeVector 26(int) 3 + 29: TypeVector 26(int) 4 + 30($Global): TypeStruct 6(float) 24(fvec2) 25(fvec3) 7(fvec4) 26(int) 27(ivec2) 28(ivec3) 29(ivec4) + 31: TypePointer Uniform 30($Global) + 32: 31(ptr) Variable Uniform + 33: 26(int) Constant 1 + 34: TypePointer Uniform 24(fvec2) + 37: 26(int) Constant 5 + 38: TypePointer Uniform 27(ivec2) + 41: 26(int) Constant 0 + 43: TypePointer Function 29(ivec4) + 45: TypeImage 26(int) 2D sampled format:Unknown + 46: TypePointer UniformConstant 45 + 47(g_tTex2di4): 46(ptr) Variable UniformConstant + 50: TypeSampledImage 45 + 57: TypeInt 32 0 + 58: TypeVector 57(int) 4 + 59: TypePointer Function 58(ivec4) + 61: TypeImage 57(int) 2D sampled format:Unknown + 62: TypePointer UniformConstant 61 + 63(g_tTex2du4): 62(ptr) Variable UniformConstant + 66: TypeSampledImage 61 + 87: 57(int) Constant 4 + 88: TypeArray 27(ivec2) 87 + 206: 26(int) Constant 2 + 282: 26(int) Constant 3 + 350: TypePointer Function 8(PS_OUTPUT) + 352: 6(float) Constant 1065353216 + 353: 7(fvec4) ConstantComposite 352 352 352 352 + 355: TypePointer Function 6(float) + 362: TypePointer Output 7(fvec4) + 363(Color): 362(ptr) Variable Output + 366: TypePointer Output 6(float) + 367(Depth): 366(ptr) Variable Output + 370(g_sSamp2d): 19(ptr) Variable UniformConstant + 371: TypeImage 6(float) 1D sampled format:Unknown 372: TypePointer UniformConstant 371 - 373(g_tTex1du4): 372(ptr) Variable UniformConstant - 374: TypeImage 6(float) 3D sampled format:Unknown - 375: TypePointer UniformConstant 374 - 376(g_tTex3df4): 375(ptr) Variable UniformConstant - 377: TypeImage 22(int) 3D sampled format:Unknown - 378: TypePointer UniformConstant 377 - 379(g_tTex3di4): 378(ptr) Variable UniformConstant - 380: TypeImage 53(int) 3D sampled format:Unknown - 381: TypePointer UniformConstant 380 - 382(g_tTex3du4): 381(ptr) Variable UniformConstant - 383: TypeImage 6(float) Cube sampled format:Unknown - 384: TypePointer UniformConstant 383 - 385(g_tTexcdf4): 384(ptr) Variable UniformConstant - 386: TypeImage 22(int) Cube sampled format:Unknown - 387: TypePointer UniformConstant 386 - 388(g_tTexcdi4): 387(ptr) Variable UniformConstant - 389: TypeImage 53(int) Cube sampled format:Unknown - 390: TypePointer UniformConstant 389 - 391(g_tTexcdu4): 390(ptr) Variable UniformConstant +373(g_tTex1df4a): 372(ptr) Variable UniformConstant + 374(g_tTex1df4): 372(ptr) Variable UniformConstant + 375: TypeImage 26(int) 1D sampled format:Unknown + 376: TypePointer UniformConstant 375 + 377(g_tTex1di4): 376(ptr) Variable UniformConstant + 378: TypeImage 57(int) 1D sampled format:Unknown + 379: TypePointer UniformConstant 378 + 380(g_tTex1du4): 379(ptr) Variable UniformConstant + 381: TypeImage 6(float) 3D sampled format:Unknown + 382: TypePointer UniformConstant 381 + 383(g_tTex3df4): 382(ptr) Variable UniformConstant + 384: TypeImage 26(int) 3D sampled format:Unknown + 385: TypePointer UniformConstant 384 + 386(g_tTex3di4): 385(ptr) Variable UniformConstant + 387: TypeImage 57(int) 3D sampled format:Unknown + 388: TypePointer UniformConstant 387 + 389(g_tTex3du4): 388(ptr) Variable UniformConstant + 390: TypeImage 6(float) Cube sampled format:Unknown + 391: TypePointer UniformConstant 390 + 392(g_tTexcdf4): 391(ptr) Variable UniformConstant + 393: TypeImage 26(int) Cube sampled format:Unknown + 394: TypePointer UniformConstant 393 + 395(g_tTexcdi4): 394(ptr) Variable UniformConstant + 396: TypeImage 57(int) Cube sampled format:Unknown + 397: TypePointer UniformConstant 396 + 398(g_tTexcdu4): 397(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval001): 8(ptr) Variable Function - 40(txval011): 39(ptr) Variable Function - 56(txval021): 55(ptr) Variable Function - 69(txval004): 8(ptr) Variable Function - 87(txval014): 39(ptr) Variable Function - 103(txval024): 55(ptr) Variable Function - 119(txval101): 8(ptr) Variable Function - 128(txval111): 39(ptr) Variable Function - 137(txval121): 55(ptr) Variable Function - 146(txval104): 8(ptr) Variable Function - 162(txval114): 39(ptr) Variable Function - 178(txval124): 55(ptr) Variable Function - 194(txval201): 8(ptr) Variable Function - 204(txval211): 39(ptr) Variable Function - 213(txval221): 55(ptr) Variable Function - 222(txval204): 8(ptr) Variable Function - 238(txval214): 39(ptr) Variable Function - 254(txval224): 55(ptr) Variable Function - 270(txval301): 8(ptr) Variable Function - 280(txval311): 39(ptr) Variable Function - 289(txval321): 55(ptr) Variable Function - 298(txval304): 8(ptr) Variable Function - 314(txval314): 39(ptr) Variable Function - 330(txval324): 55(ptr) Variable Function - 348(psout): 347(ptr) Variable Function - 13: 10 Load 12(g_tTex2df4) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 31: 30(ptr) AccessChain 28 29 - 32: 20(fvec2) Load 31 - 35: 34(ptr) AccessChain 28 33 - 36: 23(ivec2) Load 35 - 38: 7(fvec4) ImageGather 19 32 37 Offset 36 - Store 9(txval001) 38 - 44: 41 Load 43(g_tTex2di4) - 45: 14 Load 16(g_sSamp) - 47: 46 SampledImage 44 45 - 48: 30(ptr) AccessChain 28 29 - 49: 20(fvec2) Load 48 - 50: 34(ptr) AccessChain 28 33 - 51: 23(ivec2) Load 50 - 52: 25(ivec4) ImageGather 47 49 37 Offset 51 - Store 40(txval011) 52 - 60: 57 Load 59(g_tTex2du4) - 61: 14 Load 16(g_sSamp) - 63: 62 SampledImage 60 61 - 64: 30(ptr) AccessChain 28 29 - 65: 20(fvec2) Load 64 - 66: 34(ptr) AccessChain 28 33 - 67: 23(ivec2) Load 66 - 68: 54(ivec4) ImageGather 63 65 37 Offset 67 - Store 56(txval021) 68 - 70: 10 Load 12(g_tTex2df4) - 71: 14 Load 16(g_sSamp) - 72: 18 SampledImage 70 71 - 73: 30(ptr) AccessChain 28 29 - 74: 20(fvec2) Load 73 - 75: 34(ptr) AccessChain 28 33 - 76: 23(ivec2) Load 75 - 77: 34(ptr) AccessChain 28 33 - 78: 23(ivec2) Load 77 - 79: 34(ptr) AccessChain 28 33 - 80: 23(ivec2) Load 79 - 81: 34(ptr) AccessChain 28 33 - 82: 23(ivec2) Load 81 - 85: 84 CompositeConstruct 76 78 80 82 - 86: 7(fvec4) ImageGather 72 74 37 ConstOffsets 85 - Store 69(txval004) 86 - 88: 41 Load 43(g_tTex2di4) - 89: 14 Load 16(g_sSamp) - 90: 46 SampledImage 88 89 - 91: 30(ptr) AccessChain 28 29 - 92: 20(fvec2) Load 91 - 93: 34(ptr) AccessChain 28 33 - 94: 23(ivec2) Load 93 - 95: 34(ptr) AccessChain 28 33 - 96: 23(ivec2) Load 95 - 97: 34(ptr) AccessChain 28 33 - 98: 23(ivec2) Load 97 - 99: 34(ptr) AccessChain 28 33 - 100: 23(ivec2) Load 99 - 101: 84 CompositeConstruct 94 96 98 100 - 102: 25(ivec4) ImageGather 90 92 37 ConstOffsets 101 - Store 87(txval014) 102 - 104: 57 Load 59(g_tTex2du4) - 105: 14 Load 16(g_sSamp) - 106: 62 SampledImage 104 105 - 107: 30(ptr) AccessChain 28 29 - 108: 20(fvec2) Load 107 - 109: 34(ptr) AccessChain 28 33 - 110: 23(ivec2) Load 109 - 111: 34(ptr) AccessChain 28 33 - 112: 23(ivec2) Load 111 - 113: 34(ptr) AccessChain 28 33 - 114: 23(ivec2) Load 113 - 115: 34(ptr) AccessChain 28 33 - 116: 23(ivec2) Load 115 - 117: 84 CompositeConstruct 110 112 114 116 - 118: 54(ivec4) ImageGather 106 108 37 ConstOffsets 117 - Store 103(txval024) 118 - 120: 10 Load 12(g_tTex2df4) - 121: 14 Load 16(g_sSamp) - 122: 18 SampledImage 120 121 - 123: 30(ptr) AccessChain 28 29 - 124: 20(fvec2) Load 123 - 125: 34(ptr) AccessChain 28 33 - 126: 23(ivec2) Load 125 - 127: 7(fvec4) ImageGather 122 124 29 Offset 126 - Store 119(txval101) 127 - 129: 41 Load 43(g_tTex2di4) - 130: 14 Load 16(g_sSamp) - 131: 46 SampledImage 129 130 - 132: 30(ptr) AccessChain 28 29 - 133: 20(fvec2) Load 132 - 134: 34(ptr) AccessChain 28 33 - 135: 23(ivec2) Load 134 - 136: 25(ivec4) ImageGather 131 133 29 Offset 135 - Store 128(txval111) 136 - 138: 57 Load 59(g_tTex2du4) - 139: 14 Load 16(g_sSamp) - 140: 62 SampledImage 138 139 - 141: 30(ptr) AccessChain 28 29 - 142: 20(fvec2) Load 141 - 143: 34(ptr) AccessChain 28 33 - 144: 23(ivec2) Load 143 - 145: 54(ivec4) ImageGather 140 142 29 Offset 144 - Store 137(txval121) 145 - 147: 10 Load 12(g_tTex2df4) - 148: 14 Load 16(g_sSamp) - 149: 18 SampledImage 147 148 - 150: 30(ptr) AccessChain 28 29 - 151: 20(fvec2) Load 150 - 152: 34(ptr) AccessChain 28 33 - 153: 23(ivec2) Load 152 - 154: 34(ptr) AccessChain 28 33 - 155: 23(ivec2) Load 154 - 156: 34(ptr) AccessChain 28 33 - 157: 23(ivec2) Load 156 - 158: 34(ptr) AccessChain 28 33 - 159: 23(ivec2) Load 158 - 160: 84 CompositeConstruct 153 155 157 159 - 161: 7(fvec4) ImageGather 149 151 29 ConstOffsets 160 - Store 146(txval104) 161 - 163: 41 Load 43(g_tTex2di4) - 164: 14 Load 16(g_sSamp) - 165: 46 SampledImage 163 164 - 166: 30(ptr) AccessChain 28 29 - 167: 20(fvec2) Load 166 - 168: 34(ptr) AccessChain 28 33 - 169: 23(ivec2) Load 168 - 170: 34(ptr) AccessChain 28 33 - 171: 23(ivec2) Load 170 - 172: 34(ptr) AccessChain 28 33 - 173: 23(ivec2) Load 172 - 174: 34(ptr) AccessChain 28 33 - 175: 23(ivec2) Load 174 - 176: 84 CompositeConstruct 169 171 173 175 - 177: 25(ivec4) ImageGather 165 167 29 ConstOffsets 176 - Store 162(txval114) 177 - 179: 57 Load 59(g_tTex2du4) - 180: 14 Load 16(g_sSamp) - 181: 62 SampledImage 179 180 - 182: 30(ptr) AccessChain 28 29 - 183: 20(fvec2) Load 182 - 184: 34(ptr) AccessChain 28 33 - 185: 23(ivec2) Load 184 - 186: 34(ptr) AccessChain 28 33 - 187: 23(ivec2) Load 186 - 188: 34(ptr) AccessChain 28 33 - 189: 23(ivec2) Load 188 - 190: 34(ptr) AccessChain 28 33 - 191: 23(ivec2) Load 190 - 192: 84 CompositeConstruct 185 187 189 191 - 193: 54(ivec4) ImageGather 181 183 29 ConstOffsets 192 - Store 178(txval124) 193 - 195: 10 Load 12(g_tTex2df4) - 196: 14 Load 16(g_sSamp) - 197: 18 SampledImage 195 196 - 198: 30(ptr) AccessChain 28 29 - 199: 20(fvec2) Load 198 - 200: 34(ptr) AccessChain 28 33 - 201: 23(ivec2) Load 200 - 203: 7(fvec4) ImageGather 197 199 202 Offset 201 - Store 194(txval201) 203 - 205: 41 Load 43(g_tTex2di4) - 206: 14 Load 16(g_sSamp) - 207: 46 SampledImage 205 206 - 208: 30(ptr) AccessChain 28 29 - 209: 20(fvec2) Load 208 - 210: 34(ptr) AccessChain 28 33 - 211: 23(ivec2) Load 210 - 212: 25(ivec4) ImageGather 207 209 202 Offset 211 - Store 204(txval211) 212 - 214: 57 Load 59(g_tTex2du4) - 215: 14 Load 16(g_sSamp) - 216: 62 SampledImage 214 215 - 217: 30(ptr) AccessChain 28 29 - 218: 20(fvec2) Load 217 - 219: 34(ptr) AccessChain 28 33 - 220: 23(ivec2) Load 219 - 221: 54(ivec4) ImageGather 216 218 202 Offset 220 - Store 213(txval221) 221 - 223: 10 Load 12(g_tTex2df4) - 224: 14 Load 16(g_sSamp) - 225: 18 SampledImage 223 224 - 226: 30(ptr) AccessChain 28 29 - 227: 20(fvec2) Load 226 - 228: 34(ptr) AccessChain 28 33 - 229: 23(ivec2) Load 228 - 230: 34(ptr) AccessChain 28 33 - 231: 23(ivec2) Load 230 - 232: 34(ptr) AccessChain 28 33 - 233: 23(ivec2) Load 232 - 234: 34(ptr) AccessChain 28 33 - 235: 23(ivec2) Load 234 - 236: 84 CompositeConstruct 229 231 233 235 - 237: 7(fvec4) ImageGather 225 227 202 ConstOffsets 236 - Store 222(txval204) 237 - 239: 41 Load 43(g_tTex2di4) - 240: 14 Load 16(g_sSamp) - 241: 46 SampledImage 239 240 - 242: 30(ptr) AccessChain 28 29 - 243: 20(fvec2) Load 242 - 244: 34(ptr) AccessChain 28 33 - 245: 23(ivec2) Load 244 - 246: 34(ptr) AccessChain 28 33 - 247: 23(ivec2) Load 246 - 248: 34(ptr) AccessChain 28 33 - 249: 23(ivec2) Load 248 - 250: 34(ptr) AccessChain 28 33 - 251: 23(ivec2) Load 250 - 252: 84 CompositeConstruct 245 247 249 251 - 253: 25(ivec4) ImageGather 241 243 202 ConstOffsets 252 - Store 238(txval214) 253 - 255: 57 Load 59(g_tTex2du4) - 256: 14 Load 16(g_sSamp) - 257: 62 SampledImage 255 256 - 258: 30(ptr) AccessChain 28 29 - 259: 20(fvec2) Load 258 - 260: 34(ptr) AccessChain 28 33 - 261: 23(ivec2) Load 260 - 262: 34(ptr) AccessChain 28 33 - 263: 23(ivec2) Load 262 - 264: 34(ptr) AccessChain 28 33 - 265: 23(ivec2) Load 264 - 266: 34(ptr) AccessChain 28 33 - 267: 23(ivec2) Load 266 - 268: 84 CompositeConstruct 261 263 265 267 - 269: 54(ivec4) ImageGather 257 259 202 ConstOffsets 268 - Store 254(txval224) 269 - 271: 10 Load 12(g_tTex2df4) - 272: 14 Load 16(g_sSamp) - 273: 18 SampledImage 271 272 - 274: 30(ptr) AccessChain 28 29 - 275: 20(fvec2) Load 274 - 276: 34(ptr) AccessChain 28 33 - 277: 23(ivec2) Load 276 - 279: 7(fvec4) ImageGather 273 275 278 Offset 277 - Store 270(txval301) 279 - 281: 41 Load 43(g_tTex2di4) - 282: 14 Load 16(g_sSamp) - 283: 46 SampledImage 281 282 - 284: 30(ptr) AccessChain 28 29 - 285: 20(fvec2) Load 284 - 286: 34(ptr) AccessChain 28 33 - 287: 23(ivec2) Load 286 - 288: 25(ivec4) ImageGather 283 285 278 Offset 287 - Store 280(txval311) 288 - 290: 57 Load 59(g_tTex2du4) - 291: 14 Load 16(g_sSamp) - 292: 62 SampledImage 290 291 - 293: 30(ptr) AccessChain 28 29 - 294: 20(fvec2) Load 293 - 295: 34(ptr) AccessChain 28 33 - 296: 23(ivec2) Load 295 - 297: 54(ivec4) ImageGather 292 294 278 Offset 296 - Store 289(txval321) 297 - 299: 10 Load 12(g_tTex2df4) - 300: 14 Load 16(g_sSamp) - 301: 18 SampledImage 299 300 - 302: 30(ptr) AccessChain 28 29 - 303: 20(fvec2) Load 302 - 304: 34(ptr) AccessChain 28 33 - 305: 23(ivec2) Load 304 - 306: 34(ptr) AccessChain 28 33 - 307: 23(ivec2) Load 306 - 308: 34(ptr) AccessChain 28 33 - 309: 23(ivec2) Load 308 - 310: 34(ptr) AccessChain 28 33 - 311: 23(ivec2) Load 310 - 312: 84 CompositeConstruct 305 307 309 311 - 313: 7(fvec4) ImageGather 301 303 278 ConstOffsets 312 - Store 298(txval304) 313 - 315: 41 Load 43(g_tTex2di4) - 316: 14 Load 16(g_sSamp) - 317: 46 SampledImage 315 316 - 318: 30(ptr) AccessChain 28 29 - 319: 20(fvec2) Load 318 - 320: 34(ptr) AccessChain 28 33 - 321: 23(ivec2) Load 320 - 322: 34(ptr) AccessChain 28 33 - 323: 23(ivec2) Load 322 - 324: 34(ptr) AccessChain 28 33 - 325: 23(ivec2) Load 324 - 326: 34(ptr) AccessChain 28 33 - 327: 23(ivec2) Load 326 - 328: 84 CompositeConstruct 321 323 325 327 - 329: 25(ivec4) ImageGather 317 319 278 ConstOffsets 328 - Store 314(txval314) 329 - 331: 57 Load 59(g_tTex2du4) - 332: 14 Load 16(g_sSamp) - 333: 62 SampledImage 331 332 - 334: 30(ptr) AccessChain 28 29 - 335: 20(fvec2) Load 334 - 336: 34(ptr) AccessChain 28 33 - 337: 23(ivec2) Load 336 - 338: 34(ptr) AccessChain 28 33 - 339: 23(ivec2) Load 338 - 340: 34(ptr) AccessChain 28 33 - 341: 23(ivec2) Load 340 - 342: 34(ptr) AccessChain 28 33 - 343: 23(ivec2) Load 342 - 344: 84 CompositeConstruct 337 339 341 343 - 345: 54(ivec4) ImageGather 333 335 278 ConstOffsets 344 - Store 330(txval324) 345 - 351: 8(ptr) AccessChain 348(psout) 37 - Store 351 350 - 353: 352(ptr) AccessChain 348(psout) 29 - Store 353 349 - 356: 8(ptr) AccessChain 348(psout) 37 - 357: 7(fvec4) Load 356 - Store 355(Color) 357 - 360: 352(ptr) AccessChain 348(psout) 29 - 361: 6(float) Load 360 - Store 359(Depth) 361 +360(flattenTemp): 350(ptr) Variable Function + 361:8(PS_OUTPUT) FunctionCall 10(@main() + Store 360(flattenTemp) 361 + 364: 12(ptr) AccessChain 360(flattenTemp) 41 + 365: 7(fvec4) Load 364 + Store 363(Color) 365 + 368: 355(ptr) AccessChain 360(flattenTemp) 33 + 369: 6(float) Load 368 + Store 367(Depth) 369 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval001): 12(ptr) Variable Function + 44(txval011): 43(ptr) Variable Function + 60(txval021): 59(ptr) Variable Function + 73(txval004): 12(ptr) Variable Function + 91(txval014): 43(ptr) Variable Function + 107(txval024): 59(ptr) Variable Function + 123(txval101): 12(ptr) Variable Function + 132(txval111): 43(ptr) Variable Function + 141(txval121): 59(ptr) Variable Function + 150(txval104): 12(ptr) Variable Function + 166(txval114): 43(ptr) Variable Function + 182(txval124): 59(ptr) Variable Function + 198(txval201): 12(ptr) Variable Function + 208(txval211): 43(ptr) Variable Function + 217(txval221): 59(ptr) Variable Function + 226(txval204): 12(ptr) Variable Function + 242(txval214): 43(ptr) Variable Function + 258(txval224): 59(ptr) Variable Function + 274(txval301): 12(ptr) Variable Function + 284(txval311): 43(ptr) Variable Function + 293(txval321): 59(ptr) Variable Function + 302(txval304): 12(ptr) Variable Function + 318(txval314): 43(ptr) Variable Function + 334(txval324): 59(ptr) Variable Function + 351(psout): 350(ptr) Variable Function + 17: 14 Load 16(g_tTex2df4) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 35: 34(ptr) AccessChain 32 33 + 36: 24(fvec2) Load 35 + 39: 38(ptr) AccessChain 32 37 + 40: 27(ivec2) Load 39 + 42: 7(fvec4) ImageGather 23 36 41 Offset 40 + Store 13(txval001) 42 + 48: 45 Load 47(g_tTex2di4) + 49: 18 Load 20(g_sSamp) + 51: 50 SampledImage 48 49 + 52: 34(ptr) AccessChain 32 33 + 53: 24(fvec2) Load 52 + 54: 38(ptr) AccessChain 32 37 + 55: 27(ivec2) Load 54 + 56: 29(ivec4) ImageGather 51 53 41 Offset 55 + Store 44(txval011) 56 + 64: 61 Load 63(g_tTex2du4) + 65: 18 Load 20(g_sSamp) + 67: 66 SampledImage 64 65 + 68: 34(ptr) AccessChain 32 33 + 69: 24(fvec2) Load 68 + 70: 38(ptr) AccessChain 32 37 + 71: 27(ivec2) Load 70 + 72: 58(ivec4) ImageGather 67 69 41 Offset 71 + Store 60(txval021) 72 + 74: 14 Load 16(g_tTex2df4) + 75: 18 Load 20(g_sSamp) + 76: 22 SampledImage 74 75 + 77: 34(ptr) AccessChain 32 33 + 78: 24(fvec2) Load 77 + 79: 38(ptr) AccessChain 32 37 + 80: 27(ivec2) Load 79 + 81: 38(ptr) AccessChain 32 37 + 82: 27(ivec2) Load 81 + 83: 38(ptr) AccessChain 32 37 + 84: 27(ivec2) Load 83 + 85: 38(ptr) AccessChain 32 37 + 86: 27(ivec2) Load 85 + 89: 88 CompositeConstruct 80 82 84 86 + 90: 7(fvec4) ImageGather 76 78 41 ConstOffsets 89 + Store 73(txval004) 90 + 92: 45 Load 47(g_tTex2di4) + 93: 18 Load 20(g_sSamp) + 94: 50 SampledImage 92 93 + 95: 34(ptr) AccessChain 32 33 + 96: 24(fvec2) Load 95 + 97: 38(ptr) AccessChain 32 37 + 98: 27(ivec2) Load 97 + 99: 38(ptr) AccessChain 32 37 + 100: 27(ivec2) Load 99 + 101: 38(ptr) AccessChain 32 37 + 102: 27(ivec2) Load 101 + 103: 38(ptr) AccessChain 32 37 + 104: 27(ivec2) Load 103 + 105: 88 CompositeConstruct 98 100 102 104 + 106: 29(ivec4) ImageGather 94 96 41 ConstOffsets 105 + Store 91(txval014) 106 + 108: 61 Load 63(g_tTex2du4) + 109: 18 Load 20(g_sSamp) + 110: 66 SampledImage 108 109 + 111: 34(ptr) AccessChain 32 33 + 112: 24(fvec2) Load 111 + 113: 38(ptr) AccessChain 32 37 + 114: 27(ivec2) Load 113 + 115: 38(ptr) AccessChain 32 37 + 116: 27(ivec2) Load 115 + 117: 38(ptr) AccessChain 32 37 + 118: 27(ivec2) Load 117 + 119: 38(ptr) AccessChain 32 37 + 120: 27(ivec2) Load 119 + 121: 88 CompositeConstruct 114 116 118 120 + 122: 58(ivec4) ImageGather 110 112 41 ConstOffsets 121 + Store 107(txval024) 122 + 124: 14 Load 16(g_tTex2df4) + 125: 18 Load 20(g_sSamp) + 126: 22 SampledImage 124 125 + 127: 34(ptr) AccessChain 32 33 + 128: 24(fvec2) Load 127 + 129: 38(ptr) AccessChain 32 37 + 130: 27(ivec2) Load 129 + 131: 7(fvec4) ImageGather 126 128 33 Offset 130 + Store 123(txval101) 131 + 133: 45 Load 47(g_tTex2di4) + 134: 18 Load 20(g_sSamp) + 135: 50 SampledImage 133 134 + 136: 34(ptr) AccessChain 32 33 + 137: 24(fvec2) Load 136 + 138: 38(ptr) AccessChain 32 37 + 139: 27(ivec2) Load 138 + 140: 29(ivec4) ImageGather 135 137 33 Offset 139 + Store 132(txval111) 140 + 142: 61 Load 63(g_tTex2du4) + 143: 18 Load 20(g_sSamp) + 144: 66 SampledImage 142 143 + 145: 34(ptr) AccessChain 32 33 + 146: 24(fvec2) Load 145 + 147: 38(ptr) AccessChain 32 37 + 148: 27(ivec2) Load 147 + 149: 58(ivec4) ImageGather 144 146 33 Offset 148 + Store 141(txval121) 149 + 151: 14 Load 16(g_tTex2df4) + 152: 18 Load 20(g_sSamp) + 153: 22 SampledImage 151 152 + 154: 34(ptr) AccessChain 32 33 + 155: 24(fvec2) Load 154 + 156: 38(ptr) AccessChain 32 37 + 157: 27(ivec2) Load 156 + 158: 38(ptr) AccessChain 32 37 + 159: 27(ivec2) Load 158 + 160: 38(ptr) AccessChain 32 37 + 161: 27(ivec2) Load 160 + 162: 38(ptr) AccessChain 32 37 + 163: 27(ivec2) Load 162 + 164: 88 CompositeConstruct 157 159 161 163 + 165: 7(fvec4) ImageGather 153 155 33 ConstOffsets 164 + Store 150(txval104) 165 + 167: 45 Load 47(g_tTex2di4) + 168: 18 Load 20(g_sSamp) + 169: 50 SampledImage 167 168 + 170: 34(ptr) AccessChain 32 33 + 171: 24(fvec2) Load 170 + 172: 38(ptr) AccessChain 32 37 + 173: 27(ivec2) Load 172 + 174: 38(ptr) AccessChain 32 37 + 175: 27(ivec2) Load 174 + 176: 38(ptr) AccessChain 32 37 + 177: 27(ivec2) Load 176 + 178: 38(ptr) AccessChain 32 37 + 179: 27(ivec2) Load 178 + 180: 88 CompositeConstruct 173 175 177 179 + 181: 29(ivec4) ImageGather 169 171 33 ConstOffsets 180 + Store 166(txval114) 181 + 183: 61 Load 63(g_tTex2du4) + 184: 18 Load 20(g_sSamp) + 185: 66 SampledImage 183 184 + 186: 34(ptr) AccessChain 32 33 + 187: 24(fvec2) Load 186 + 188: 38(ptr) AccessChain 32 37 + 189: 27(ivec2) Load 188 + 190: 38(ptr) AccessChain 32 37 + 191: 27(ivec2) Load 190 + 192: 38(ptr) AccessChain 32 37 + 193: 27(ivec2) Load 192 + 194: 38(ptr) AccessChain 32 37 + 195: 27(ivec2) Load 194 + 196: 88 CompositeConstruct 189 191 193 195 + 197: 58(ivec4) ImageGather 185 187 33 ConstOffsets 196 + Store 182(txval124) 197 + 199: 14 Load 16(g_tTex2df4) + 200: 18 Load 20(g_sSamp) + 201: 22 SampledImage 199 200 + 202: 34(ptr) AccessChain 32 33 + 203: 24(fvec2) Load 202 + 204: 38(ptr) AccessChain 32 37 + 205: 27(ivec2) Load 204 + 207: 7(fvec4) ImageGather 201 203 206 Offset 205 + Store 198(txval201) 207 + 209: 45 Load 47(g_tTex2di4) + 210: 18 Load 20(g_sSamp) + 211: 50 SampledImage 209 210 + 212: 34(ptr) AccessChain 32 33 + 213: 24(fvec2) Load 212 + 214: 38(ptr) AccessChain 32 37 + 215: 27(ivec2) Load 214 + 216: 29(ivec4) ImageGather 211 213 206 Offset 215 + Store 208(txval211) 216 + 218: 61 Load 63(g_tTex2du4) + 219: 18 Load 20(g_sSamp) + 220: 66 SampledImage 218 219 + 221: 34(ptr) AccessChain 32 33 + 222: 24(fvec2) Load 221 + 223: 38(ptr) AccessChain 32 37 + 224: 27(ivec2) Load 223 + 225: 58(ivec4) ImageGather 220 222 206 Offset 224 + Store 217(txval221) 225 + 227: 14 Load 16(g_tTex2df4) + 228: 18 Load 20(g_sSamp) + 229: 22 SampledImage 227 228 + 230: 34(ptr) AccessChain 32 33 + 231: 24(fvec2) Load 230 + 232: 38(ptr) AccessChain 32 37 + 233: 27(ivec2) Load 232 + 234: 38(ptr) AccessChain 32 37 + 235: 27(ivec2) Load 234 + 236: 38(ptr) AccessChain 32 37 + 237: 27(ivec2) Load 236 + 238: 38(ptr) AccessChain 32 37 + 239: 27(ivec2) Load 238 + 240: 88 CompositeConstruct 233 235 237 239 + 241: 7(fvec4) ImageGather 229 231 206 ConstOffsets 240 + Store 226(txval204) 241 + 243: 45 Load 47(g_tTex2di4) + 244: 18 Load 20(g_sSamp) + 245: 50 SampledImage 243 244 + 246: 34(ptr) AccessChain 32 33 + 247: 24(fvec2) Load 246 + 248: 38(ptr) AccessChain 32 37 + 249: 27(ivec2) Load 248 + 250: 38(ptr) AccessChain 32 37 + 251: 27(ivec2) Load 250 + 252: 38(ptr) AccessChain 32 37 + 253: 27(ivec2) Load 252 + 254: 38(ptr) AccessChain 32 37 + 255: 27(ivec2) Load 254 + 256: 88 CompositeConstruct 249 251 253 255 + 257: 29(ivec4) ImageGather 245 247 206 ConstOffsets 256 + Store 242(txval214) 257 + 259: 61 Load 63(g_tTex2du4) + 260: 18 Load 20(g_sSamp) + 261: 66 SampledImage 259 260 + 262: 34(ptr) AccessChain 32 33 + 263: 24(fvec2) Load 262 + 264: 38(ptr) AccessChain 32 37 + 265: 27(ivec2) Load 264 + 266: 38(ptr) AccessChain 32 37 + 267: 27(ivec2) Load 266 + 268: 38(ptr) AccessChain 32 37 + 269: 27(ivec2) Load 268 + 270: 38(ptr) AccessChain 32 37 + 271: 27(ivec2) Load 270 + 272: 88 CompositeConstruct 265 267 269 271 + 273: 58(ivec4) ImageGather 261 263 206 ConstOffsets 272 + Store 258(txval224) 273 + 275: 14 Load 16(g_tTex2df4) + 276: 18 Load 20(g_sSamp) + 277: 22 SampledImage 275 276 + 278: 34(ptr) AccessChain 32 33 + 279: 24(fvec2) Load 278 + 280: 38(ptr) AccessChain 32 37 + 281: 27(ivec2) Load 280 + 283: 7(fvec4) ImageGather 277 279 282 Offset 281 + Store 274(txval301) 283 + 285: 45 Load 47(g_tTex2di4) + 286: 18 Load 20(g_sSamp) + 287: 50 SampledImage 285 286 + 288: 34(ptr) AccessChain 32 33 + 289: 24(fvec2) Load 288 + 290: 38(ptr) AccessChain 32 37 + 291: 27(ivec2) Load 290 + 292: 29(ivec4) ImageGather 287 289 282 Offset 291 + Store 284(txval311) 292 + 294: 61 Load 63(g_tTex2du4) + 295: 18 Load 20(g_sSamp) + 296: 66 SampledImage 294 295 + 297: 34(ptr) AccessChain 32 33 + 298: 24(fvec2) Load 297 + 299: 38(ptr) AccessChain 32 37 + 300: 27(ivec2) Load 299 + 301: 58(ivec4) ImageGather 296 298 282 Offset 300 + Store 293(txval321) 301 + 303: 14 Load 16(g_tTex2df4) + 304: 18 Load 20(g_sSamp) + 305: 22 SampledImage 303 304 + 306: 34(ptr) AccessChain 32 33 + 307: 24(fvec2) Load 306 + 308: 38(ptr) AccessChain 32 37 + 309: 27(ivec2) Load 308 + 310: 38(ptr) AccessChain 32 37 + 311: 27(ivec2) Load 310 + 312: 38(ptr) AccessChain 32 37 + 313: 27(ivec2) Load 312 + 314: 38(ptr) AccessChain 32 37 + 315: 27(ivec2) Load 314 + 316: 88 CompositeConstruct 309 311 313 315 + 317: 7(fvec4) ImageGather 305 307 282 ConstOffsets 316 + Store 302(txval304) 317 + 319: 45 Load 47(g_tTex2di4) + 320: 18 Load 20(g_sSamp) + 321: 50 SampledImage 319 320 + 322: 34(ptr) AccessChain 32 33 + 323: 24(fvec2) Load 322 + 324: 38(ptr) AccessChain 32 37 + 325: 27(ivec2) Load 324 + 326: 38(ptr) AccessChain 32 37 + 327: 27(ivec2) Load 326 + 328: 38(ptr) AccessChain 32 37 + 329: 27(ivec2) Load 328 + 330: 38(ptr) AccessChain 32 37 + 331: 27(ivec2) Load 330 + 332: 88 CompositeConstruct 325 327 329 331 + 333: 29(ivec4) ImageGather 321 323 282 ConstOffsets 332 + Store 318(txval314) 333 + 335: 61 Load 63(g_tTex2du4) + 336: 18 Load 20(g_sSamp) + 337: 66 SampledImage 335 336 + 338: 34(ptr) AccessChain 32 33 + 339: 24(fvec2) Load 338 + 340: 38(ptr) AccessChain 32 37 + 341: 27(ivec2) Load 340 + 342: 38(ptr) AccessChain 32 37 + 343: 27(ivec2) Load 342 + 344: 38(ptr) AccessChain 32 37 + 345: 27(ivec2) Load 344 + 346: 38(ptr) AccessChain 32 37 + 347: 27(ivec2) Load 346 + 348: 88 CompositeConstruct 341 343 345 347 + 349: 58(ivec4) ImageGather 337 339 282 ConstOffsets 348 + Store 334(txval324) 349 + 354: 12(ptr) AccessChain 351(psout) 41 + Store 354 353 + 356: 355(ptr) AccessChain 351(psout) 33 + Store 356 352 + 357:8(PS_OUTPUT) Load 351(psout) + ReturnValue 357 + FunctionEnd diff --git a/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out index 4722cff6..3c0948c9 100644 --- a/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.gatherRGBA.offsetarray.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:33 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:33 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:33 Function Parameters: 0:? Sequence 0:40 Sequence @@ -586,24 +586,28 @@ gl_FragCoord origin is upper left 0:107 1 (const int) 0:107 Constant: 0:107 1.000000 -0:109 Sequence -0:109 Sequence -0:109 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:109 Color: direct index for structure (temp 4-component vector of float) -0:109 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:109 Constant: -0:109 0 (const int) -0:109 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:109 Depth: direct index for structure (temp float) -0:109 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:109 Constant: -0:109 1 (const int) -0:109 Branch: Return +0:109 Branch: Return with expression +0:109 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:33 Function Definition: main( (temp void) +0:33 Function Parameters: +0:? Sequence +0:33 Sequence +0:33 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:33 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:33 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:33 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:33 Color: direct index for structure (temp 4-component vector of float) +0:33 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:33 Constant: +0:33 0 (const int) +0:33 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:33 Depth: direct index for structure (temp float) +0:33 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:33 Constant: +0:33 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=0 ) uniform texture1DArray) @@ -615,6 +619,8 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) @@ -624,7 +630,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:33 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:33 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:33 Function Parameters: 0:? Sequence 0:40 Sequence @@ -1208,24 +1214,28 @@ gl_FragCoord origin is upper left 0:107 1 (const int) 0:107 Constant: 0:107 1.000000 -0:109 Sequence -0:109 Sequence -0:109 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:109 Color: direct index for structure (temp 4-component vector of float) -0:109 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:109 Constant: -0:109 0 (const int) -0:109 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:109 Depth: direct index for structure (temp float) -0:109 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:109 Constant: -0:109 1 (const int) -0:109 Branch: Return +0:109 Branch: Return with expression +0:109 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:33 Function Definition: main( (temp void) +0:33 Function Parameters: +0:? Sequence +0:33 Sequence +0:33 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:33 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:33 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:33 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:33 Color: direct index for structure (temp 4-component vector of float) +0:33 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:33 Constant: +0:33 0 (const int) +0:33 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:33 Depth: direct index for structure (temp float) +0:33 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:33 Constant: +0:33 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=0 ) uniform texture1DArray) @@ -1237,11 +1247,13 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 382 +// Id's are bound by 389 Capability Shader Capability ImageGatherExtended @@ -1249,491 +1261,502 @@ gl_FragCoord origin is upper left Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 355 359 + EntryPoint Fragment 4 "main" 363 367 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval001" - Name 12 "g_tTex2df4a" - Name 16 "g_sSamp" - Name 26 "$Global" - MemberName 26($Global) 0 "c1" - MemberName 26($Global) 1 "c2" - MemberName 26($Global) 2 "c3" - MemberName 26($Global) 3 "c4" - MemberName 26($Global) 4 "o1" - MemberName 26($Global) 5 "o2" - MemberName 26($Global) 6 "o3" - MemberName 26($Global) 7 "o4" - Name 28 "" - Name 40 "txval011" - Name 43 "g_tTex2di4a" - Name 56 "txval021" - Name 59 "g_tTex2du4a" - Name 69 "txval004" - Name 87 "txval014" - Name 103 "txval024" - Name 119 "txval101" - Name 129 "txval111" - Name 138 "txval121" - Name 147 "txval104" - Name 163 "txval114" - Name 179 "txval124" - Name 195 "txval201" - Name 204 "txval211" - Name 213 "txval221" - Name 222 "txval204" - Name 238 "txval214" - Name 254 "txval224" - Name 270 "txval301" - Name 280 "txval311" - Name 289 "txval321" - Name 298 "txval304" - Name 314 "txval314" - Name 330 "txval324" - Name 346 "PS_OUTPUT" - MemberName 346(PS_OUTPUT) 0 "Color" - MemberName 346(PS_OUTPUT) 1 "Depth" - Name 348 "psout" - Name 355 "Color" - Name 359 "Depth" - Name 363 "g_sSamp2d" - Name 366 "g_tTex1df4a" - Name 369 "g_tTex1di4a" - Name 372 "g_tTex1du4a" - Name 375 "g_tTexcdf4a" - Name 378 "g_tTexcdi4a" - Name 381 "g_tTexcdu4a" - Decorate 12(g_tTex2df4a) DescriptorSet 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - MemberDecorate 26($Global) 0 Offset 0 - MemberDecorate 26($Global) 1 Offset 8 - MemberDecorate 26($Global) 2 Offset 16 - MemberDecorate 26($Global) 3 Offset 32 - MemberDecorate 26($Global) 4 Offset 48 - MemberDecorate 26($Global) 5 Offset 56 - MemberDecorate 26($Global) 6 Offset 64 - MemberDecorate 26($Global) 7 Offset 80 - Decorate 26($Global) Block - Decorate 28 DescriptorSet 0 - Decorate 43(g_tTex2di4a) DescriptorSet 0 - Decorate 59(g_tTex2du4a) DescriptorSet 0 - Decorate 355(Color) Location 0 - Decorate 359(Depth) BuiltIn FragDepth - Decorate 363(g_sSamp2d) DescriptorSet 0 - Decorate 366(g_tTex1df4a) DescriptorSet 0 - Decorate 366(g_tTex1df4a) Binding 0 - Decorate 369(g_tTex1di4a) DescriptorSet 0 - Decorate 372(g_tTex1du4a) DescriptorSet 0 - Decorate 375(g_tTexcdf4a) DescriptorSet 0 - Decorate 378(g_tTexcdi4a) DescriptorSet 0 - Decorate 381(g_tTexcdu4a) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval001" + Name 16 "g_tTex2df4a" + Name 20 "g_sSamp" + Name 30 "$Global" + MemberName 30($Global) 0 "c1" + MemberName 30($Global) 1 "c2" + MemberName 30($Global) 2 "c3" + MemberName 30($Global) 3 "c4" + MemberName 30($Global) 4 "o1" + MemberName 30($Global) 5 "o2" + MemberName 30($Global) 6 "o3" + MemberName 30($Global) 7 "o4" + Name 32 "" + Name 44 "txval011" + Name 47 "g_tTex2di4a" + Name 60 "txval021" + Name 63 "g_tTex2du4a" + Name 73 "txval004" + Name 91 "txval014" + Name 107 "txval024" + Name 123 "txval101" + Name 133 "txval111" + Name 142 "txval121" + Name 151 "txval104" + Name 167 "txval114" + Name 183 "txval124" + Name 199 "txval201" + Name 208 "txval211" + Name 217 "txval221" + Name 226 "txval204" + Name 242 "txval214" + Name 258 "txval224" + Name 274 "txval301" + Name 284 "txval311" + Name 293 "txval321" + Name 302 "txval304" + Name 318 "txval314" + Name 334 "txval324" + Name 351 "psout" + Name 360 "flattenTemp" + Name 363 "Color" + Name 367 "Depth" + Name 370 "g_sSamp2d" + Name 373 "g_tTex1df4a" + Name 376 "g_tTex1di4a" + Name 379 "g_tTex1du4a" + Name 382 "g_tTexcdf4a" + Name 385 "g_tTexcdi4a" + Name 388 "g_tTexcdu4a" + Decorate 16(g_tTex2df4a) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + MemberDecorate 30($Global) 0 Offset 0 + MemberDecorate 30($Global) 1 Offset 8 + MemberDecorate 30($Global) 2 Offset 16 + MemberDecorate 30($Global) 3 Offset 32 + MemberDecorate 30($Global) 4 Offset 48 + MemberDecorate 30($Global) 5 Offset 56 + MemberDecorate 30($Global) 6 Offset 64 + MemberDecorate 30($Global) 7 Offset 80 + Decorate 30($Global) Block + Decorate 32 DescriptorSet 0 + Decorate 47(g_tTex2di4a) DescriptorSet 0 + Decorate 63(g_tTex2du4a) DescriptorSet 0 + Decorate 363(Color) Location 0 + Decorate 367(Depth) BuiltIn FragDepth + Decorate 370(g_sSamp2d) DescriptorSet 0 + Decorate 373(g_tTex1df4a) DescriptorSet 0 + Decorate 373(g_tTex1df4a) Binding 0 + Decorate 376(g_tTex1di4a) DescriptorSet 0 + Decorate 379(g_tTex1du4a) DescriptorSet 0 + Decorate 382(g_tTexcdf4a) DescriptorSet 0 + Decorate 385(g_tTexcdi4a) DescriptorSet 0 + Decorate 388(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 2D array sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex2df4a): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 2D array sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: TypeVector 6(float) 2 - 21: TypeVector 6(float) 3 - 22: TypeInt 32 1 - 23: TypeVector 22(int) 2 - 24: TypeVector 22(int) 3 - 25: TypeVector 22(int) 4 - 26($Global): TypeStruct 6(float) 20(fvec2) 21(fvec3) 7(fvec4) 22(int) 23(ivec2) 24(ivec3) 25(ivec4) - 27: TypePointer Uniform 26($Global) - 28: 27(ptr) Variable Uniform - 29: 22(int) Constant 2 - 30: TypePointer Uniform 21(fvec3) - 33: 22(int) Constant 5 - 34: TypePointer Uniform 23(ivec2) - 37: 22(int) Constant 0 - 39: TypePointer Function 25(ivec4) - 41: TypeImage 22(int) 2D array sampled format:Unknown - 42: TypePointer UniformConstant 41 - 43(g_tTex2di4a): 42(ptr) Variable UniformConstant - 46: TypeSampledImage 41 - 53: TypeInt 32 0 - 54: TypeVector 53(int) 4 - 55: TypePointer Function 54(ivec4) - 57: TypeImage 53(int) 2D array sampled format:Unknown - 58: TypePointer UniformConstant 57 - 59(g_tTex2du4a): 58(ptr) Variable UniformConstant - 62: TypeSampledImage 57 - 83: 53(int) Constant 4 - 84: TypeArray 23(ivec2) 83 - 127: 22(int) Constant 1 - 278: 22(int) Constant 3 - 346(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 347: TypePointer Function 346(PS_OUTPUT) - 349: 6(float) Constant 1065353216 - 350: 7(fvec4) ConstantComposite 349 349 349 349 - 352: TypePointer Function 6(float) - 354: TypePointer Output 7(fvec4) - 355(Color): 354(ptr) Variable Output - 358: TypePointer Output 6(float) - 359(Depth): 358(ptr) Variable Output - 363(g_sSamp2d): 15(ptr) Variable UniformConstant - 364: TypeImage 6(float) 1D array sampled format:Unknown - 365: TypePointer UniformConstant 364 -366(g_tTex1df4a): 365(ptr) Variable UniformConstant - 367: TypeImage 22(int) 1D array sampled format:Unknown - 368: TypePointer UniformConstant 367 -369(g_tTex1di4a): 368(ptr) Variable UniformConstant - 370: TypeImage 53(int) 1D array sampled format:Unknown - 371: TypePointer UniformConstant 370 -372(g_tTex1du4a): 371(ptr) Variable UniformConstant - 373: TypeImage 6(float) Cube array sampled format:Unknown - 374: TypePointer UniformConstant 373 -375(g_tTexcdf4a): 374(ptr) Variable UniformConstant - 376: TypeImage 22(int) Cube array sampled format:Unknown - 377: TypePointer UniformConstant 376 -378(g_tTexcdi4a): 377(ptr) Variable UniformConstant - 379: TypeImage 53(int) Cube array sampled format:Unknown - 380: TypePointer UniformConstant 379 -381(g_tTexcdu4a): 380(ptr) Variable UniformConstant + 16(g_tTex2df4a): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: TypeVector 6(float) 2 + 25: TypeVector 6(float) 3 + 26: TypeInt 32 1 + 27: TypeVector 26(int) 2 + 28: TypeVector 26(int) 3 + 29: TypeVector 26(int) 4 + 30($Global): TypeStruct 6(float) 24(fvec2) 25(fvec3) 7(fvec4) 26(int) 27(ivec2) 28(ivec3) 29(ivec4) + 31: TypePointer Uniform 30($Global) + 32: 31(ptr) Variable Uniform + 33: 26(int) Constant 2 + 34: TypePointer Uniform 25(fvec3) + 37: 26(int) Constant 5 + 38: TypePointer Uniform 27(ivec2) + 41: 26(int) Constant 0 + 43: TypePointer Function 29(ivec4) + 45: TypeImage 26(int) 2D array sampled format:Unknown + 46: TypePointer UniformConstant 45 + 47(g_tTex2di4a): 46(ptr) Variable UniformConstant + 50: TypeSampledImage 45 + 57: TypeInt 32 0 + 58: TypeVector 57(int) 4 + 59: TypePointer Function 58(ivec4) + 61: TypeImage 57(int) 2D array sampled format:Unknown + 62: TypePointer UniformConstant 61 + 63(g_tTex2du4a): 62(ptr) Variable UniformConstant + 66: TypeSampledImage 61 + 87: 57(int) Constant 4 + 88: TypeArray 27(ivec2) 87 + 131: 26(int) Constant 1 + 282: 26(int) Constant 3 + 350: TypePointer Function 8(PS_OUTPUT) + 352: 6(float) Constant 1065353216 + 353: 7(fvec4) ConstantComposite 352 352 352 352 + 355: TypePointer Function 6(float) + 362: TypePointer Output 7(fvec4) + 363(Color): 362(ptr) Variable Output + 366: TypePointer Output 6(float) + 367(Depth): 366(ptr) Variable Output + 370(g_sSamp2d): 19(ptr) Variable UniformConstant + 371: TypeImage 6(float) 1D array sampled format:Unknown + 372: TypePointer UniformConstant 371 +373(g_tTex1df4a): 372(ptr) Variable UniformConstant + 374: TypeImage 26(int) 1D array sampled format:Unknown + 375: TypePointer UniformConstant 374 +376(g_tTex1di4a): 375(ptr) Variable UniformConstant + 377: TypeImage 57(int) 1D array sampled format:Unknown + 378: TypePointer UniformConstant 377 +379(g_tTex1du4a): 378(ptr) Variable UniformConstant + 380: TypeImage 6(float) Cube array sampled format:Unknown + 381: TypePointer UniformConstant 380 +382(g_tTexcdf4a): 381(ptr) Variable UniformConstant + 383: TypeImage 26(int) Cube array sampled format:Unknown + 384: TypePointer UniformConstant 383 +385(g_tTexcdi4a): 384(ptr) Variable UniformConstant + 386: TypeImage 57(int) Cube array sampled format:Unknown + 387: TypePointer UniformConstant 386 +388(g_tTexcdu4a): 387(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval001): 8(ptr) Variable Function - 40(txval011): 39(ptr) Variable Function - 56(txval021): 55(ptr) Variable Function - 69(txval004): 8(ptr) Variable Function - 87(txval014): 39(ptr) Variable Function - 103(txval024): 55(ptr) Variable Function - 119(txval101): 8(ptr) Variable Function - 129(txval111): 39(ptr) Variable Function - 138(txval121): 55(ptr) Variable Function - 147(txval104): 8(ptr) Variable Function - 163(txval114): 39(ptr) Variable Function - 179(txval124): 55(ptr) Variable Function - 195(txval201): 8(ptr) Variable Function - 204(txval211): 39(ptr) Variable Function - 213(txval221): 55(ptr) Variable Function - 222(txval204): 8(ptr) Variable Function - 238(txval214): 39(ptr) Variable Function - 254(txval224): 55(ptr) Variable Function - 270(txval301): 8(ptr) Variable Function - 280(txval311): 39(ptr) Variable Function - 289(txval321): 55(ptr) Variable Function - 298(txval304): 8(ptr) Variable Function - 314(txval314): 39(ptr) Variable Function - 330(txval324): 55(ptr) Variable Function - 348(psout): 347(ptr) Variable Function - 13: 10 Load 12(g_tTex2df4a) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 31: 30(ptr) AccessChain 28 29 - 32: 21(fvec3) Load 31 - 35: 34(ptr) AccessChain 28 33 - 36: 23(ivec2) Load 35 - 38: 7(fvec4) ImageGather 19 32 37 Offset 36 - Store 9(txval001) 38 - 44: 41 Load 43(g_tTex2di4a) - 45: 14 Load 16(g_sSamp) - 47: 46 SampledImage 44 45 - 48: 30(ptr) AccessChain 28 29 - 49: 21(fvec3) Load 48 - 50: 34(ptr) AccessChain 28 33 - 51: 23(ivec2) Load 50 - 52: 25(ivec4) ImageGather 47 49 37 Offset 51 - Store 40(txval011) 52 - 60: 57 Load 59(g_tTex2du4a) - 61: 14 Load 16(g_sSamp) - 63: 62 SampledImage 60 61 - 64: 30(ptr) AccessChain 28 29 - 65: 21(fvec3) Load 64 - 66: 34(ptr) AccessChain 28 33 - 67: 23(ivec2) Load 66 - 68: 54(ivec4) ImageGather 63 65 37 Offset 67 - Store 56(txval021) 68 - 70: 10 Load 12(g_tTex2df4a) - 71: 14 Load 16(g_sSamp) - 72: 18 SampledImage 70 71 - 73: 30(ptr) AccessChain 28 29 - 74: 21(fvec3) Load 73 - 75: 34(ptr) AccessChain 28 33 - 76: 23(ivec2) Load 75 - 77: 34(ptr) AccessChain 28 33 - 78: 23(ivec2) Load 77 - 79: 34(ptr) AccessChain 28 33 - 80: 23(ivec2) Load 79 - 81: 34(ptr) AccessChain 28 33 - 82: 23(ivec2) Load 81 - 85: 84 CompositeConstruct 76 78 80 82 - 86: 7(fvec4) ImageGather 72 74 37 ConstOffsets 85 - Store 69(txval004) 86 - 88: 41 Load 43(g_tTex2di4a) - 89: 14 Load 16(g_sSamp) - 90: 46 SampledImage 88 89 - 91: 30(ptr) AccessChain 28 29 - 92: 21(fvec3) Load 91 - 93: 34(ptr) AccessChain 28 33 - 94: 23(ivec2) Load 93 - 95: 34(ptr) AccessChain 28 33 - 96: 23(ivec2) Load 95 - 97: 34(ptr) AccessChain 28 33 - 98: 23(ivec2) Load 97 - 99: 34(ptr) AccessChain 28 33 - 100: 23(ivec2) Load 99 - 101: 84 CompositeConstruct 94 96 98 100 - 102: 25(ivec4) ImageGather 90 92 37 ConstOffsets 101 - Store 87(txval014) 102 - 104: 57 Load 59(g_tTex2du4a) - 105: 14 Load 16(g_sSamp) - 106: 62 SampledImage 104 105 - 107: 30(ptr) AccessChain 28 29 - 108: 21(fvec3) Load 107 - 109: 34(ptr) AccessChain 28 33 - 110: 23(ivec2) Load 109 - 111: 34(ptr) AccessChain 28 33 - 112: 23(ivec2) Load 111 - 113: 34(ptr) AccessChain 28 33 - 114: 23(ivec2) Load 113 - 115: 34(ptr) AccessChain 28 33 - 116: 23(ivec2) Load 115 - 117: 84 CompositeConstruct 110 112 114 116 - 118: 54(ivec4) ImageGather 106 108 37 ConstOffsets 117 - Store 103(txval024) 118 - 120: 10 Load 12(g_tTex2df4a) - 121: 14 Load 16(g_sSamp) - 122: 18 SampledImage 120 121 - 123: 30(ptr) AccessChain 28 29 - 124: 21(fvec3) Load 123 - 125: 34(ptr) AccessChain 28 33 - 126: 23(ivec2) Load 125 - 128: 7(fvec4) ImageGather 122 124 127 Offset 126 - Store 119(txval101) 128 - 130: 41 Load 43(g_tTex2di4a) - 131: 14 Load 16(g_sSamp) - 132: 46 SampledImage 130 131 - 133: 30(ptr) AccessChain 28 29 - 134: 21(fvec3) Load 133 - 135: 34(ptr) AccessChain 28 33 - 136: 23(ivec2) Load 135 - 137: 25(ivec4) ImageGather 132 134 127 Offset 136 - Store 129(txval111) 137 - 139: 57 Load 59(g_tTex2du4a) - 140: 14 Load 16(g_sSamp) - 141: 62 SampledImage 139 140 - 142: 30(ptr) AccessChain 28 29 - 143: 21(fvec3) Load 142 - 144: 34(ptr) AccessChain 28 33 - 145: 23(ivec2) Load 144 - 146: 54(ivec4) ImageGather 141 143 127 Offset 145 - Store 138(txval121) 146 - 148: 10 Load 12(g_tTex2df4a) - 149: 14 Load 16(g_sSamp) - 150: 18 SampledImage 148 149 - 151: 30(ptr) AccessChain 28 29 - 152: 21(fvec3) Load 151 - 153: 34(ptr) AccessChain 28 33 - 154: 23(ivec2) Load 153 - 155: 34(ptr) AccessChain 28 33 - 156: 23(ivec2) Load 155 - 157: 34(ptr) AccessChain 28 33 - 158: 23(ivec2) Load 157 - 159: 34(ptr) AccessChain 28 33 - 160: 23(ivec2) Load 159 - 161: 84 CompositeConstruct 154 156 158 160 - 162: 7(fvec4) ImageGather 150 152 127 ConstOffsets 161 - Store 147(txval104) 162 - 164: 41 Load 43(g_tTex2di4a) - 165: 14 Load 16(g_sSamp) - 166: 46 SampledImage 164 165 - 167: 30(ptr) AccessChain 28 29 - 168: 21(fvec3) Load 167 - 169: 34(ptr) AccessChain 28 33 - 170: 23(ivec2) Load 169 - 171: 34(ptr) AccessChain 28 33 - 172: 23(ivec2) Load 171 - 173: 34(ptr) AccessChain 28 33 - 174: 23(ivec2) Load 173 - 175: 34(ptr) AccessChain 28 33 - 176: 23(ivec2) Load 175 - 177: 84 CompositeConstruct 170 172 174 176 - 178: 25(ivec4) ImageGather 166 168 127 ConstOffsets 177 - Store 163(txval114) 178 - 180: 57 Load 59(g_tTex2du4a) - 181: 14 Load 16(g_sSamp) - 182: 62 SampledImage 180 181 - 183: 30(ptr) AccessChain 28 29 - 184: 21(fvec3) Load 183 - 185: 34(ptr) AccessChain 28 33 - 186: 23(ivec2) Load 185 - 187: 34(ptr) AccessChain 28 33 - 188: 23(ivec2) Load 187 - 189: 34(ptr) AccessChain 28 33 - 190: 23(ivec2) Load 189 - 191: 34(ptr) AccessChain 28 33 - 192: 23(ivec2) Load 191 - 193: 84 CompositeConstruct 186 188 190 192 - 194: 54(ivec4) ImageGather 182 184 127 ConstOffsets 193 - Store 179(txval124) 194 - 196: 10 Load 12(g_tTex2df4a) - 197: 14 Load 16(g_sSamp) - 198: 18 SampledImage 196 197 - 199: 30(ptr) AccessChain 28 29 - 200: 21(fvec3) Load 199 - 201: 34(ptr) AccessChain 28 33 - 202: 23(ivec2) Load 201 - 203: 7(fvec4) ImageGather 198 200 29 Offset 202 - Store 195(txval201) 203 - 205: 41 Load 43(g_tTex2di4a) - 206: 14 Load 16(g_sSamp) - 207: 46 SampledImage 205 206 - 208: 30(ptr) AccessChain 28 29 - 209: 21(fvec3) Load 208 - 210: 34(ptr) AccessChain 28 33 - 211: 23(ivec2) Load 210 - 212: 25(ivec4) ImageGather 207 209 29 Offset 211 - Store 204(txval211) 212 - 214: 57 Load 59(g_tTex2du4a) - 215: 14 Load 16(g_sSamp) - 216: 62 SampledImage 214 215 - 217: 30(ptr) AccessChain 28 29 - 218: 21(fvec3) Load 217 - 219: 34(ptr) AccessChain 28 33 - 220: 23(ivec2) Load 219 - 221: 54(ivec4) ImageGather 216 218 29 Offset 220 - Store 213(txval221) 221 - 223: 10 Load 12(g_tTex2df4a) - 224: 14 Load 16(g_sSamp) - 225: 18 SampledImage 223 224 - 226: 30(ptr) AccessChain 28 29 - 227: 21(fvec3) Load 226 - 228: 34(ptr) AccessChain 28 33 - 229: 23(ivec2) Load 228 - 230: 34(ptr) AccessChain 28 33 - 231: 23(ivec2) Load 230 - 232: 34(ptr) AccessChain 28 33 - 233: 23(ivec2) Load 232 - 234: 34(ptr) AccessChain 28 33 - 235: 23(ivec2) Load 234 - 236: 84 CompositeConstruct 229 231 233 235 - 237: 7(fvec4) ImageGather 225 227 29 ConstOffsets 236 - Store 222(txval204) 237 - 239: 41 Load 43(g_tTex2di4a) - 240: 14 Load 16(g_sSamp) - 241: 46 SampledImage 239 240 - 242: 30(ptr) AccessChain 28 29 - 243: 21(fvec3) Load 242 - 244: 34(ptr) AccessChain 28 33 - 245: 23(ivec2) Load 244 - 246: 34(ptr) AccessChain 28 33 - 247: 23(ivec2) Load 246 - 248: 34(ptr) AccessChain 28 33 - 249: 23(ivec2) Load 248 - 250: 34(ptr) AccessChain 28 33 - 251: 23(ivec2) Load 250 - 252: 84 CompositeConstruct 245 247 249 251 - 253: 25(ivec4) ImageGather 241 243 29 ConstOffsets 252 - Store 238(txval214) 253 - 255: 57 Load 59(g_tTex2du4a) - 256: 14 Load 16(g_sSamp) - 257: 62 SampledImage 255 256 - 258: 30(ptr) AccessChain 28 29 - 259: 21(fvec3) Load 258 - 260: 34(ptr) AccessChain 28 33 - 261: 23(ivec2) Load 260 - 262: 34(ptr) AccessChain 28 33 - 263: 23(ivec2) Load 262 - 264: 34(ptr) AccessChain 28 33 - 265: 23(ivec2) Load 264 - 266: 34(ptr) AccessChain 28 33 - 267: 23(ivec2) Load 266 - 268: 84 CompositeConstruct 261 263 265 267 - 269: 54(ivec4) ImageGather 257 259 29 ConstOffsets 268 - Store 254(txval224) 269 - 271: 10 Load 12(g_tTex2df4a) - 272: 14 Load 16(g_sSamp) - 273: 18 SampledImage 271 272 - 274: 30(ptr) AccessChain 28 29 - 275: 21(fvec3) Load 274 - 276: 34(ptr) AccessChain 28 33 - 277: 23(ivec2) Load 276 - 279: 7(fvec4) ImageGather 273 275 278 Offset 277 - Store 270(txval301) 279 - 281: 41 Load 43(g_tTex2di4a) - 282: 14 Load 16(g_sSamp) - 283: 46 SampledImage 281 282 - 284: 30(ptr) AccessChain 28 29 - 285: 21(fvec3) Load 284 - 286: 34(ptr) AccessChain 28 33 - 287: 23(ivec2) Load 286 - 288: 25(ivec4) ImageGather 283 285 278 Offset 287 - Store 280(txval311) 288 - 290: 57 Load 59(g_tTex2du4a) - 291: 14 Load 16(g_sSamp) - 292: 62 SampledImage 290 291 - 293: 30(ptr) AccessChain 28 29 - 294: 21(fvec3) Load 293 - 295: 34(ptr) AccessChain 28 33 - 296: 23(ivec2) Load 295 - 297: 54(ivec4) ImageGather 292 294 278 Offset 296 - Store 289(txval321) 297 - 299: 10 Load 12(g_tTex2df4a) - 300: 14 Load 16(g_sSamp) - 301: 18 SampledImage 299 300 - 302: 30(ptr) AccessChain 28 29 - 303: 21(fvec3) Load 302 - 304: 34(ptr) AccessChain 28 33 - 305: 23(ivec2) Load 304 - 306: 34(ptr) AccessChain 28 33 - 307: 23(ivec2) Load 306 - 308: 34(ptr) AccessChain 28 33 - 309: 23(ivec2) Load 308 - 310: 34(ptr) AccessChain 28 33 - 311: 23(ivec2) Load 310 - 312: 84 CompositeConstruct 305 307 309 311 - 313: 7(fvec4) ImageGather 301 303 278 ConstOffsets 312 - Store 298(txval304) 313 - 315: 41 Load 43(g_tTex2di4a) - 316: 14 Load 16(g_sSamp) - 317: 46 SampledImage 315 316 - 318: 30(ptr) AccessChain 28 29 - 319: 21(fvec3) Load 318 - 320: 34(ptr) AccessChain 28 33 - 321: 23(ivec2) Load 320 - 322: 34(ptr) AccessChain 28 33 - 323: 23(ivec2) Load 322 - 324: 34(ptr) AccessChain 28 33 - 325: 23(ivec2) Load 324 - 326: 34(ptr) AccessChain 28 33 - 327: 23(ivec2) Load 326 - 328: 84 CompositeConstruct 321 323 325 327 - 329: 25(ivec4) ImageGather 317 319 278 ConstOffsets 328 - Store 314(txval314) 329 - 331: 57 Load 59(g_tTex2du4a) - 332: 14 Load 16(g_sSamp) - 333: 62 SampledImage 331 332 - 334: 30(ptr) AccessChain 28 29 - 335: 21(fvec3) Load 334 - 336: 34(ptr) AccessChain 28 33 - 337: 23(ivec2) Load 336 - 338: 34(ptr) AccessChain 28 33 - 339: 23(ivec2) Load 338 - 340: 34(ptr) AccessChain 28 33 - 341: 23(ivec2) Load 340 - 342: 34(ptr) AccessChain 28 33 - 343: 23(ivec2) Load 342 - 344: 84 CompositeConstruct 337 339 341 343 - 345: 54(ivec4) ImageGather 333 335 278 ConstOffsets 344 - Store 330(txval324) 345 - 351: 8(ptr) AccessChain 348(psout) 37 - Store 351 350 - 353: 352(ptr) AccessChain 348(psout) 127 - Store 353 349 - 356: 8(ptr) AccessChain 348(psout) 37 - 357: 7(fvec4) Load 356 - Store 355(Color) 357 - 360: 352(ptr) AccessChain 348(psout) 127 - 361: 6(float) Load 360 - Store 359(Depth) 361 +360(flattenTemp): 350(ptr) Variable Function + 361:8(PS_OUTPUT) FunctionCall 10(@main() + Store 360(flattenTemp) 361 + 364: 12(ptr) AccessChain 360(flattenTemp) 41 + 365: 7(fvec4) Load 364 + Store 363(Color) 365 + 368: 355(ptr) AccessChain 360(flattenTemp) 131 + 369: 6(float) Load 368 + Store 367(Depth) 369 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval001): 12(ptr) Variable Function + 44(txval011): 43(ptr) Variable Function + 60(txval021): 59(ptr) Variable Function + 73(txval004): 12(ptr) Variable Function + 91(txval014): 43(ptr) Variable Function + 107(txval024): 59(ptr) Variable Function + 123(txval101): 12(ptr) Variable Function + 133(txval111): 43(ptr) Variable Function + 142(txval121): 59(ptr) Variable Function + 151(txval104): 12(ptr) Variable Function + 167(txval114): 43(ptr) Variable Function + 183(txval124): 59(ptr) Variable Function + 199(txval201): 12(ptr) Variable Function + 208(txval211): 43(ptr) Variable Function + 217(txval221): 59(ptr) Variable Function + 226(txval204): 12(ptr) Variable Function + 242(txval214): 43(ptr) Variable Function + 258(txval224): 59(ptr) Variable Function + 274(txval301): 12(ptr) Variable Function + 284(txval311): 43(ptr) Variable Function + 293(txval321): 59(ptr) Variable Function + 302(txval304): 12(ptr) Variable Function + 318(txval314): 43(ptr) Variable Function + 334(txval324): 59(ptr) Variable Function + 351(psout): 350(ptr) Variable Function + 17: 14 Load 16(g_tTex2df4a) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 35: 34(ptr) AccessChain 32 33 + 36: 25(fvec3) Load 35 + 39: 38(ptr) AccessChain 32 37 + 40: 27(ivec2) Load 39 + 42: 7(fvec4) ImageGather 23 36 41 Offset 40 + Store 13(txval001) 42 + 48: 45 Load 47(g_tTex2di4a) + 49: 18 Load 20(g_sSamp) + 51: 50 SampledImage 48 49 + 52: 34(ptr) AccessChain 32 33 + 53: 25(fvec3) Load 52 + 54: 38(ptr) AccessChain 32 37 + 55: 27(ivec2) Load 54 + 56: 29(ivec4) ImageGather 51 53 41 Offset 55 + Store 44(txval011) 56 + 64: 61 Load 63(g_tTex2du4a) + 65: 18 Load 20(g_sSamp) + 67: 66 SampledImage 64 65 + 68: 34(ptr) AccessChain 32 33 + 69: 25(fvec3) Load 68 + 70: 38(ptr) AccessChain 32 37 + 71: 27(ivec2) Load 70 + 72: 58(ivec4) ImageGather 67 69 41 Offset 71 + Store 60(txval021) 72 + 74: 14 Load 16(g_tTex2df4a) + 75: 18 Load 20(g_sSamp) + 76: 22 SampledImage 74 75 + 77: 34(ptr) AccessChain 32 33 + 78: 25(fvec3) Load 77 + 79: 38(ptr) AccessChain 32 37 + 80: 27(ivec2) Load 79 + 81: 38(ptr) AccessChain 32 37 + 82: 27(ivec2) Load 81 + 83: 38(ptr) AccessChain 32 37 + 84: 27(ivec2) Load 83 + 85: 38(ptr) AccessChain 32 37 + 86: 27(ivec2) Load 85 + 89: 88 CompositeConstruct 80 82 84 86 + 90: 7(fvec4) ImageGather 76 78 41 ConstOffsets 89 + Store 73(txval004) 90 + 92: 45 Load 47(g_tTex2di4a) + 93: 18 Load 20(g_sSamp) + 94: 50 SampledImage 92 93 + 95: 34(ptr) AccessChain 32 33 + 96: 25(fvec3) Load 95 + 97: 38(ptr) AccessChain 32 37 + 98: 27(ivec2) Load 97 + 99: 38(ptr) AccessChain 32 37 + 100: 27(ivec2) Load 99 + 101: 38(ptr) AccessChain 32 37 + 102: 27(ivec2) Load 101 + 103: 38(ptr) AccessChain 32 37 + 104: 27(ivec2) Load 103 + 105: 88 CompositeConstruct 98 100 102 104 + 106: 29(ivec4) ImageGather 94 96 41 ConstOffsets 105 + Store 91(txval014) 106 + 108: 61 Load 63(g_tTex2du4a) + 109: 18 Load 20(g_sSamp) + 110: 66 SampledImage 108 109 + 111: 34(ptr) AccessChain 32 33 + 112: 25(fvec3) Load 111 + 113: 38(ptr) AccessChain 32 37 + 114: 27(ivec2) Load 113 + 115: 38(ptr) AccessChain 32 37 + 116: 27(ivec2) Load 115 + 117: 38(ptr) AccessChain 32 37 + 118: 27(ivec2) Load 117 + 119: 38(ptr) AccessChain 32 37 + 120: 27(ivec2) Load 119 + 121: 88 CompositeConstruct 114 116 118 120 + 122: 58(ivec4) ImageGather 110 112 41 ConstOffsets 121 + Store 107(txval024) 122 + 124: 14 Load 16(g_tTex2df4a) + 125: 18 Load 20(g_sSamp) + 126: 22 SampledImage 124 125 + 127: 34(ptr) AccessChain 32 33 + 128: 25(fvec3) Load 127 + 129: 38(ptr) AccessChain 32 37 + 130: 27(ivec2) Load 129 + 132: 7(fvec4) ImageGather 126 128 131 Offset 130 + Store 123(txval101) 132 + 134: 45 Load 47(g_tTex2di4a) + 135: 18 Load 20(g_sSamp) + 136: 50 SampledImage 134 135 + 137: 34(ptr) AccessChain 32 33 + 138: 25(fvec3) Load 137 + 139: 38(ptr) AccessChain 32 37 + 140: 27(ivec2) Load 139 + 141: 29(ivec4) ImageGather 136 138 131 Offset 140 + Store 133(txval111) 141 + 143: 61 Load 63(g_tTex2du4a) + 144: 18 Load 20(g_sSamp) + 145: 66 SampledImage 143 144 + 146: 34(ptr) AccessChain 32 33 + 147: 25(fvec3) Load 146 + 148: 38(ptr) AccessChain 32 37 + 149: 27(ivec2) Load 148 + 150: 58(ivec4) ImageGather 145 147 131 Offset 149 + Store 142(txval121) 150 + 152: 14 Load 16(g_tTex2df4a) + 153: 18 Load 20(g_sSamp) + 154: 22 SampledImage 152 153 + 155: 34(ptr) AccessChain 32 33 + 156: 25(fvec3) Load 155 + 157: 38(ptr) AccessChain 32 37 + 158: 27(ivec2) Load 157 + 159: 38(ptr) AccessChain 32 37 + 160: 27(ivec2) Load 159 + 161: 38(ptr) AccessChain 32 37 + 162: 27(ivec2) Load 161 + 163: 38(ptr) AccessChain 32 37 + 164: 27(ivec2) Load 163 + 165: 88 CompositeConstruct 158 160 162 164 + 166: 7(fvec4) ImageGather 154 156 131 ConstOffsets 165 + Store 151(txval104) 166 + 168: 45 Load 47(g_tTex2di4a) + 169: 18 Load 20(g_sSamp) + 170: 50 SampledImage 168 169 + 171: 34(ptr) AccessChain 32 33 + 172: 25(fvec3) Load 171 + 173: 38(ptr) AccessChain 32 37 + 174: 27(ivec2) Load 173 + 175: 38(ptr) AccessChain 32 37 + 176: 27(ivec2) Load 175 + 177: 38(ptr) AccessChain 32 37 + 178: 27(ivec2) Load 177 + 179: 38(ptr) AccessChain 32 37 + 180: 27(ivec2) Load 179 + 181: 88 CompositeConstruct 174 176 178 180 + 182: 29(ivec4) ImageGather 170 172 131 ConstOffsets 181 + Store 167(txval114) 182 + 184: 61 Load 63(g_tTex2du4a) + 185: 18 Load 20(g_sSamp) + 186: 66 SampledImage 184 185 + 187: 34(ptr) AccessChain 32 33 + 188: 25(fvec3) Load 187 + 189: 38(ptr) AccessChain 32 37 + 190: 27(ivec2) Load 189 + 191: 38(ptr) AccessChain 32 37 + 192: 27(ivec2) Load 191 + 193: 38(ptr) AccessChain 32 37 + 194: 27(ivec2) Load 193 + 195: 38(ptr) AccessChain 32 37 + 196: 27(ivec2) Load 195 + 197: 88 CompositeConstruct 190 192 194 196 + 198: 58(ivec4) ImageGather 186 188 131 ConstOffsets 197 + Store 183(txval124) 198 + 200: 14 Load 16(g_tTex2df4a) + 201: 18 Load 20(g_sSamp) + 202: 22 SampledImage 200 201 + 203: 34(ptr) AccessChain 32 33 + 204: 25(fvec3) Load 203 + 205: 38(ptr) AccessChain 32 37 + 206: 27(ivec2) Load 205 + 207: 7(fvec4) ImageGather 202 204 33 Offset 206 + Store 199(txval201) 207 + 209: 45 Load 47(g_tTex2di4a) + 210: 18 Load 20(g_sSamp) + 211: 50 SampledImage 209 210 + 212: 34(ptr) AccessChain 32 33 + 213: 25(fvec3) Load 212 + 214: 38(ptr) AccessChain 32 37 + 215: 27(ivec2) Load 214 + 216: 29(ivec4) ImageGather 211 213 33 Offset 215 + Store 208(txval211) 216 + 218: 61 Load 63(g_tTex2du4a) + 219: 18 Load 20(g_sSamp) + 220: 66 SampledImage 218 219 + 221: 34(ptr) AccessChain 32 33 + 222: 25(fvec3) Load 221 + 223: 38(ptr) AccessChain 32 37 + 224: 27(ivec2) Load 223 + 225: 58(ivec4) ImageGather 220 222 33 Offset 224 + Store 217(txval221) 225 + 227: 14 Load 16(g_tTex2df4a) + 228: 18 Load 20(g_sSamp) + 229: 22 SampledImage 227 228 + 230: 34(ptr) AccessChain 32 33 + 231: 25(fvec3) Load 230 + 232: 38(ptr) AccessChain 32 37 + 233: 27(ivec2) Load 232 + 234: 38(ptr) AccessChain 32 37 + 235: 27(ivec2) Load 234 + 236: 38(ptr) AccessChain 32 37 + 237: 27(ivec2) Load 236 + 238: 38(ptr) AccessChain 32 37 + 239: 27(ivec2) Load 238 + 240: 88 CompositeConstruct 233 235 237 239 + 241: 7(fvec4) ImageGather 229 231 33 ConstOffsets 240 + Store 226(txval204) 241 + 243: 45 Load 47(g_tTex2di4a) + 244: 18 Load 20(g_sSamp) + 245: 50 SampledImage 243 244 + 246: 34(ptr) AccessChain 32 33 + 247: 25(fvec3) Load 246 + 248: 38(ptr) AccessChain 32 37 + 249: 27(ivec2) Load 248 + 250: 38(ptr) AccessChain 32 37 + 251: 27(ivec2) Load 250 + 252: 38(ptr) AccessChain 32 37 + 253: 27(ivec2) Load 252 + 254: 38(ptr) AccessChain 32 37 + 255: 27(ivec2) Load 254 + 256: 88 CompositeConstruct 249 251 253 255 + 257: 29(ivec4) ImageGather 245 247 33 ConstOffsets 256 + Store 242(txval214) 257 + 259: 61 Load 63(g_tTex2du4a) + 260: 18 Load 20(g_sSamp) + 261: 66 SampledImage 259 260 + 262: 34(ptr) AccessChain 32 33 + 263: 25(fvec3) Load 262 + 264: 38(ptr) AccessChain 32 37 + 265: 27(ivec2) Load 264 + 266: 38(ptr) AccessChain 32 37 + 267: 27(ivec2) Load 266 + 268: 38(ptr) AccessChain 32 37 + 269: 27(ivec2) Load 268 + 270: 38(ptr) AccessChain 32 37 + 271: 27(ivec2) Load 270 + 272: 88 CompositeConstruct 265 267 269 271 + 273: 58(ivec4) ImageGather 261 263 33 ConstOffsets 272 + Store 258(txval224) 273 + 275: 14 Load 16(g_tTex2df4a) + 276: 18 Load 20(g_sSamp) + 277: 22 SampledImage 275 276 + 278: 34(ptr) AccessChain 32 33 + 279: 25(fvec3) Load 278 + 280: 38(ptr) AccessChain 32 37 + 281: 27(ivec2) Load 280 + 283: 7(fvec4) ImageGather 277 279 282 Offset 281 + Store 274(txval301) 283 + 285: 45 Load 47(g_tTex2di4a) + 286: 18 Load 20(g_sSamp) + 287: 50 SampledImage 285 286 + 288: 34(ptr) AccessChain 32 33 + 289: 25(fvec3) Load 288 + 290: 38(ptr) AccessChain 32 37 + 291: 27(ivec2) Load 290 + 292: 29(ivec4) ImageGather 287 289 282 Offset 291 + Store 284(txval311) 292 + 294: 61 Load 63(g_tTex2du4a) + 295: 18 Load 20(g_sSamp) + 296: 66 SampledImage 294 295 + 297: 34(ptr) AccessChain 32 33 + 298: 25(fvec3) Load 297 + 299: 38(ptr) AccessChain 32 37 + 300: 27(ivec2) Load 299 + 301: 58(ivec4) ImageGather 296 298 282 Offset 300 + Store 293(txval321) 301 + 303: 14 Load 16(g_tTex2df4a) + 304: 18 Load 20(g_sSamp) + 305: 22 SampledImage 303 304 + 306: 34(ptr) AccessChain 32 33 + 307: 25(fvec3) Load 306 + 308: 38(ptr) AccessChain 32 37 + 309: 27(ivec2) Load 308 + 310: 38(ptr) AccessChain 32 37 + 311: 27(ivec2) Load 310 + 312: 38(ptr) AccessChain 32 37 + 313: 27(ivec2) Load 312 + 314: 38(ptr) AccessChain 32 37 + 315: 27(ivec2) Load 314 + 316: 88 CompositeConstruct 309 311 313 315 + 317: 7(fvec4) ImageGather 305 307 282 ConstOffsets 316 + Store 302(txval304) 317 + 319: 45 Load 47(g_tTex2di4a) + 320: 18 Load 20(g_sSamp) + 321: 50 SampledImage 319 320 + 322: 34(ptr) AccessChain 32 33 + 323: 25(fvec3) Load 322 + 324: 38(ptr) AccessChain 32 37 + 325: 27(ivec2) Load 324 + 326: 38(ptr) AccessChain 32 37 + 327: 27(ivec2) Load 326 + 328: 38(ptr) AccessChain 32 37 + 329: 27(ivec2) Load 328 + 330: 38(ptr) AccessChain 32 37 + 331: 27(ivec2) Load 330 + 332: 88 CompositeConstruct 325 327 329 331 + 333: 29(ivec4) ImageGather 321 323 282 ConstOffsets 332 + Store 318(txval314) 333 + 335: 61 Load 63(g_tTex2du4a) + 336: 18 Load 20(g_sSamp) + 337: 66 SampledImage 335 336 + 338: 34(ptr) AccessChain 32 33 + 339: 25(fvec3) Load 338 + 340: 38(ptr) AccessChain 32 37 + 341: 27(ivec2) Load 340 + 342: 38(ptr) AccessChain 32 37 + 343: 27(ivec2) Load 342 + 344: 38(ptr) AccessChain 32 37 + 345: 27(ivec2) Load 344 + 346: 38(ptr) AccessChain 32 37 + 347: 27(ivec2) Load 346 + 348: 88 CompositeConstruct 341 343 345 347 + 349: 58(ivec4) ImageGather 337 339 282 ConstOffsets 348 + Store 334(txval324) 349 + 354: 12(ptr) AccessChain 351(psout) 41 + Store 354 353 + 356: 355(ptr) AccessChain 351(psout) 131 + Store 356 352 + 357:8(PS_OUTPUT) Load 351(psout) + ReturnValue 357 + FunctionEnd diff --git a/Test/baseResults/hlsl.getdimensions.dx10.frag.out b/Test/baseResults/hlsl.getdimensions.dx10.frag.out index 0c488cfb..e426e75e 100644 --- a/Test/baseResults/hlsl.getdimensions.dx10.frag.out +++ b/Test/baseResults/hlsl.getdimensions.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.getdimensions.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:46 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:46 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:46 Function Parameters: 0:? Sequence 0:65 Sequence @@ -1060,24 +1060,28 @@ gl_FragCoord origin is upper left 0:277 1 (const int) 0:277 Constant: 0:277 1.000000 -0:279 Sequence -0:279 Sequence -0:279 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:279 Color: direct index for structure (temp 4-component vector of float) -0:279 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:279 Constant: -0:279 0 (const int) -0:279 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:279 Depth: direct index for structure (temp float) -0:279 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:279 Constant: -0:279 1 (const int) -0:279 Branch: Return +0:279 Branch: Return with expression +0:279 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:46 Function Definition: main( (temp void) +0:46 Function Parameters: +0:? Sequence +0:46 Sequence +0:46 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:46 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:46 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:46 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:46 Color: direct index for structure (temp 4-component vector of float) +0:46 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:46 Constant: +0:46 0 (const int) +0:46 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:46 Depth: direct index for structure (temp float) +0:46 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:46 Constant: +0:46 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -1106,6 +1110,8 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2dmsf4a' (uniform texture2DMSArray) 0:? 'g_tTex2dmsi4a' (uniform itexture2DMSArray) 0:? 'g_tTex2dmsu4a' (uniform utexture2DMSArray) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -1114,7 +1120,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:46 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:46 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:46 Function Parameters: 0:? Sequence 0:65 Sequence @@ -2172,24 +2178,28 @@ gl_FragCoord origin is upper left 0:277 1 (const int) 0:277 Constant: 0:277 1.000000 -0:279 Sequence -0:279 Sequence -0:279 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:279 Color: direct index for structure (temp 4-component vector of float) -0:279 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:279 Constant: -0:279 0 (const int) -0:279 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:279 Depth: direct index for structure (temp float) -0:279 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:279 Constant: -0:279 1 (const int) -0:279 Branch: Return +0:279 Branch: Return with expression +0:279 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:46 Function Definition: main( (temp void) +0:46 Function Parameters: +0:? Sequence +0:46 Sequence +0:46 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:46 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:46 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:46 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:46 Color: direct index for structure (temp 4-component vector of float) +0:46 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:46 Constant: +0:46 0 (const int) +0:46 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:46 Depth: direct index for structure (temp float) +0:46 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:46 Constant: +0:46 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -2218,10 +2228,12 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2dmsf4a' (uniform texture2DMSArray) 0:? 'g_tTex2dmsi4a' (uniform itexture2DMSArray) 0:? 'g_tTex2dmsu4a' (uniform utexture2DMSArray) +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 545 +// Id's are bound by 552 Capability Shader Capability Sampled1D @@ -2230,860 +2242,871 @@ gl_FragCoord origin is upper left Capability ImageQuery 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 534 538 + EntryPoint Fragment 4 "main" 542 546 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "sizeQueryTemp" - Name 12 "g_tTex1df4" - Name 16 "WidthU" - Name 18 "sizeQueryTemp" - Name 23 "NumberOfLevelsU" - Name 26 "sizeQueryTemp" - Name 29 "g_tTex1di4" - Name 33 "sizeQueryTemp" - Name 39 "sizeQueryTemp" - Name 42 "g_tTex1du4" - Name 46 "sizeQueryTemp" - Name 54 "sizeQueryTemp" - Name 57 "g_tTex1df4a" - Name 64 "ElementsU" - Name 68 "sizeQueryTemp" - Name 77 "sizeQueryTemp" - Name 80 "g_tTex1di4a" - Name 87 "sizeQueryTemp" - Name 96 "sizeQueryTemp" - Name 99 "g_tTex1du4a" - Name 106 "sizeQueryTemp" - Name 115 "sizeQueryTemp" - Name 118 "g_tTex2df4" - Name 123 "HeightU" - Name 126 "sizeQueryTemp" - Name 135 "sizeQueryTemp" - Name 138 "g_tTex2di4" - Name 145 "sizeQueryTemp" - Name 154 "sizeQueryTemp" - Name 157 "g_tTex2du4" - Name 164 "sizeQueryTemp" - Name 175 "sizeQueryTemp" - Name 178 "g_tTex2df4a" - Name 189 "sizeQueryTemp" - Name 200 "sizeQueryTemp" - Name 203 "g_tTex2di4a" - Name 212 "sizeQueryTemp" - Name 223 "sizeQueryTemp" - Name 226 "g_tTex2du4a" - Name 235 "sizeQueryTemp" - Name 246 "sizeQueryTemp" - Name 249 "g_tTex3df4" - Name 256 "DepthU" - Name 259 "sizeQueryTemp" - Name 270 "sizeQueryTemp" - Name 273 "g_tTex3di4" - Name 282 "sizeQueryTemp" - Name 293 "sizeQueryTemp" - Name 296 "g_tTex3du4" - Name 305 "sizeQueryTemp" - Name 316 "sizeQueryTemp" - Name 319 "g_tTexcdf4" - Name 326 "sizeQueryTemp" - Name 335 "sizeQueryTemp" - Name 338 "g_tTexcdi4" - Name 345 "sizeQueryTemp" - Name 354 "sizeQueryTemp" - Name 357 "g_tTexcdu4" - Name 364 "sizeQueryTemp" - Name 373 "sizeQueryTemp" - Name 376 "g_tTexcdf4a" - Name 385 "sizeQueryTemp" - Name 396 "sizeQueryTemp" - Name 399 "g_tTexcdi4a" - Name 408 "sizeQueryTemp" - Name 419 "sizeQueryTemp" - Name 422 "g_tTexcdu4a" - Name 431 "sizeQueryTemp" - Name 442 "sizeQueryTemp" - Name 445 "g_tTex2dmsf4" - Name 452 "NumberOfSamplesU" - Name 455 "sizeQueryTemp" - Name 458 "g_tTex2dmsi4" - Name 467 "sizeQueryTemp" - Name 470 "g_tTex2dmsu4" - Name 479 "sizeQueryTemp" - Name 482 "g_tTex2dmsf4a" - Name 493 "sizeQueryTemp" - Name 496 "g_tTex2dmsi4a" - Name 507 "sizeQueryTemp" - Name 510 "g_tTex2dmsu4a" - Name 522 "PS_OUTPUT" - MemberName 522(PS_OUTPUT) 0 "Color" - MemberName 522(PS_OUTPUT) 1 "Depth" - Name 524 "psout" - Name 534 "Color" - Name 538 "Depth" - Name 544 "g_sSamp" - Decorate 12(g_tTex1df4) DescriptorSet 0 - Decorate 12(g_tTex1df4) Binding 0 - Decorate 29(g_tTex1di4) DescriptorSet 0 - Decorate 42(g_tTex1du4) DescriptorSet 0 - Decorate 57(g_tTex1df4a) DescriptorSet 0 - Decorate 80(g_tTex1di4a) DescriptorSet 0 - Decorate 99(g_tTex1du4a) DescriptorSet 0 - Decorate 118(g_tTex2df4) DescriptorSet 0 - Decorate 138(g_tTex2di4) DescriptorSet 0 - Decorate 157(g_tTex2du4) DescriptorSet 0 - Decorate 178(g_tTex2df4a) DescriptorSet 0 - Decorate 203(g_tTex2di4a) DescriptorSet 0 - Decorate 226(g_tTex2du4a) DescriptorSet 0 - Decorate 249(g_tTex3df4) DescriptorSet 0 - Decorate 273(g_tTex3di4) DescriptorSet 0 - Decorate 296(g_tTex3du4) DescriptorSet 0 - Decorate 319(g_tTexcdf4) DescriptorSet 0 - Decorate 338(g_tTexcdi4) DescriptorSet 0 - Decorate 357(g_tTexcdu4) DescriptorSet 0 - Decorate 376(g_tTexcdf4a) DescriptorSet 0 - Decorate 399(g_tTexcdi4a) DescriptorSet 0 - Decorate 422(g_tTexcdu4a) DescriptorSet 0 - Decorate 445(g_tTex2dmsf4) DescriptorSet 0 - Decorate 458(g_tTex2dmsi4) DescriptorSet 0 - Decorate 470(g_tTex2dmsu4) DescriptorSet 0 - Decorate 482(g_tTex2dmsf4a) DescriptorSet 0 - Decorate 496(g_tTex2dmsi4a) DescriptorSet 0 - Decorate 510(g_tTex2dmsu4a) DescriptorSet 0 - Decorate 534(Color) Location 0 - Decorate 538(Depth) BuiltIn FragDepth - Decorate 544(g_sSamp) DescriptorSet 0 - Decorate 544(g_sSamp) Binding 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 14 "sizeQueryTemp" + Name 17 "g_tTex1df4" + Name 21 "WidthU" + Name 23 "sizeQueryTemp" + Name 28 "NumberOfLevelsU" + Name 31 "sizeQueryTemp" + Name 34 "g_tTex1di4" + Name 38 "sizeQueryTemp" + Name 44 "sizeQueryTemp" + Name 47 "g_tTex1du4" + Name 51 "sizeQueryTemp" + Name 59 "sizeQueryTemp" + Name 62 "g_tTex1df4a" + Name 69 "ElementsU" + Name 73 "sizeQueryTemp" + Name 82 "sizeQueryTemp" + Name 85 "g_tTex1di4a" + Name 92 "sizeQueryTemp" + Name 101 "sizeQueryTemp" + Name 104 "g_tTex1du4a" + Name 111 "sizeQueryTemp" + Name 120 "sizeQueryTemp" + Name 123 "g_tTex2df4" + Name 128 "HeightU" + Name 131 "sizeQueryTemp" + Name 140 "sizeQueryTemp" + Name 143 "g_tTex2di4" + Name 150 "sizeQueryTemp" + Name 159 "sizeQueryTemp" + Name 162 "g_tTex2du4" + Name 169 "sizeQueryTemp" + Name 180 "sizeQueryTemp" + Name 183 "g_tTex2df4a" + Name 194 "sizeQueryTemp" + Name 205 "sizeQueryTemp" + Name 208 "g_tTex2di4a" + Name 217 "sizeQueryTemp" + Name 228 "sizeQueryTemp" + Name 231 "g_tTex2du4a" + Name 240 "sizeQueryTemp" + Name 251 "sizeQueryTemp" + Name 254 "g_tTex3df4" + Name 261 "DepthU" + Name 264 "sizeQueryTemp" + Name 275 "sizeQueryTemp" + Name 278 "g_tTex3di4" + Name 287 "sizeQueryTemp" + Name 298 "sizeQueryTemp" + Name 301 "g_tTex3du4" + Name 310 "sizeQueryTemp" + Name 321 "sizeQueryTemp" + Name 324 "g_tTexcdf4" + Name 331 "sizeQueryTemp" + Name 340 "sizeQueryTemp" + Name 343 "g_tTexcdi4" + Name 350 "sizeQueryTemp" + Name 359 "sizeQueryTemp" + Name 362 "g_tTexcdu4" + Name 369 "sizeQueryTemp" + Name 378 "sizeQueryTemp" + Name 381 "g_tTexcdf4a" + Name 390 "sizeQueryTemp" + Name 401 "sizeQueryTemp" + Name 404 "g_tTexcdi4a" + Name 413 "sizeQueryTemp" + Name 424 "sizeQueryTemp" + Name 427 "g_tTexcdu4a" + Name 436 "sizeQueryTemp" + Name 447 "sizeQueryTemp" + Name 450 "g_tTex2dmsf4" + Name 457 "NumberOfSamplesU" + Name 460 "sizeQueryTemp" + Name 463 "g_tTex2dmsi4" + Name 472 "sizeQueryTemp" + Name 475 "g_tTex2dmsu4" + Name 484 "sizeQueryTemp" + Name 487 "g_tTex2dmsf4a" + Name 498 "sizeQueryTemp" + Name 501 "g_tTex2dmsi4a" + Name 512 "sizeQueryTemp" + Name 515 "g_tTex2dmsu4a" + Name 527 "psout" + Name 539 "flattenTemp" + Name 542 "Color" + Name 546 "Depth" + Name 551 "g_sSamp" + Decorate 17(g_tTex1df4) DescriptorSet 0 + Decorate 17(g_tTex1df4) Binding 0 + Decorate 34(g_tTex1di4) DescriptorSet 0 + Decorate 47(g_tTex1du4) DescriptorSet 0 + Decorate 62(g_tTex1df4a) DescriptorSet 0 + Decorate 85(g_tTex1di4a) DescriptorSet 0 + Decorate 104(g_tTex1du4a) DescriptorSet 0 + Decorate 123(g_tTex2df4) DescriptorSet 0 + Decorate 143(g_tTex2di4) DescriptorSet 0 + Decorate 162(g_tTex2du4) DescriptorSet 0 + Decorate 183(g_tTex2df4a) DescriptorSet 0 + Decorate 208(g_tTex2di4a) DescriptorSet 0 + Decorate 231(g_tTex2du4a) DescriptorSet 0 + Decorate 254(g_tTex3df4) DescriptorSet 0 + Decorate 278(g_tTex3di4) DescriptorSet 0 + Decorate 301(g_tTex3du4) DescriptorSet 0 + Decorate 324(g_tTexcdf4) DescriptorSet 0 + Decorate 343(g_tTexcdi4) DescriptorSet 0 + Decorate 362(g_tTexcdu4) DescriptorSet 0 + Decorate 381(g_tTexcdf4a) DescriptorSet 0 + Decorate 404(g_tTexcdi4a) DescriptorSet 0 + Decorate 427(g_tTexcdu4a) DescriptorSet 0 + Decorate 450(g_tTex2dmsf4) DescriptorSet 0 + Decorate 463(g_tTex2dmsi4) DescriptorSet 0 + Decorate 475(g_tTex2dmsu4) DescriptorSet 0 + Decorate 487(g_tTex2dmsf4a) DescriptorSet 0 + Decorate 501(g_tTex2dmsi4a) DescriptorSet 0 + Decorate 515(g_tTex2dmsu4a) DescriptorSet 0 + Decorate 542(Color) Location 0 + Decorate 546(Depth) BuiltIn FragDepth + Decorate 551(g_sSamp) DescriptorSet 0 + Decorate 551(g_sSamp) Binding 0 2: TypeVoid 3: TypeFunction 2 - 6: TypeInt 32 0 - 7: TypePointer Function 6(int) - 9: TypeFloat 32 - 10: TypeImage 9(float) 1D sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex1df4): 11(ptr) Variable UniformConstant - 14: TypeInt 32 1 - 20: 6(int) Constant 6 - 27: TypeImage 14(int) 1D sampled format:Unknown - 28: TypePointer UniformConstant 27 - 29(g_tTex1di4): 28(ptr) Variable UniformConstant - 40: TypeImage 6(int) 1D sampled format:Unknown - 41: TypePointer UniformConstant 40 - 42(g_tTex1du4): 41(ptr) Variable UniformConstant - 52: TypeVector 6(int) 2 - 53: TypePointer Function 52(ivec2) - 55: TypeImage 9(float) 1D array sampled format:Unknown - 56: TypePointer UniformConstant 55 - 57(g_tTex1df4a): 56(ptr) Variable UniformConstant - 59: TypeVector 14(int) 2 - 61: 6(int) Constant 0 - 65: 6(int) Constant 1 - 78: TypeImage 14(int) 1D array sampled format:Unknown - 79: TypePointer UniformConstant 78 - 80(g_tTex1di4a): 79(ptr) Variable UniformConstant - 97: TypeImage 6(int) 1D array sampled format:Unknown - 98: TypePointer UniformConstant 97 - 99(g_tTex1du4a): 98(ptr) Variable UniformConstant - 116: TypeImage 9(float) 2D sampled format:Unknown - 117: TypePointer UniformConstant 116 - 118(g_tTex2df4): 117(ptr) Variable UniformConstant - 136: TypeImage 14(int) 2D sampled format:Unknown - 137: TypePointer UniformConstant 136 - 138(g_tTex2di4): 137(ptr) Variable UniformConstant - 155: TypeImage 6(int) 2D sampled format:Unknown - 156: TypePointer UniformConstant 155 - 157(g_tTex2du4): 156(ptr) Variable UniformConstant - 173: TypeVector 6(int) 3 - 174: TypePointer Function 173(ivec3) - 176: TypeImage 9(float) 2D array sampled format:Unknown - 177: TypePointer UniformConstant 176 -178(g_tTex2df4a): 177(ptr) Variable UniformConstant - 180: TypeVector 14(int) 3 - 186: 6(int) Constant 2 - 201: TypeImage 14(int) 2D array sampled format:Unknown - 202: TypePointer UniformConstant 201 -203(g_tTex2di4a): 202(ptr) Variable UniformConstant - 224: TypeImage 6(int) 2D array sampled format:Unknown - 225: TypePointer UniformConstant 224 -226(g_tTex2du4a): 225(ptr) Variable UniformConstant - 247: TypeImage 9(float) 3D sampled format:Unknown - 248: TypePointer UniformConstant 247 - 249(g_tTex3df4): 248(ptr) Variable UniformConstant - 271: TypeImage 14(int) 3D sampled format:Unknown - 272: TypePointer UniformConstant 271 - 273(g_tTex3di4): 272(ptr) Variable UniformConstant - 294: TypeImage 6(int) 3D sampled format:Unknown - 295: TypePointer UniformConstant 294 - 296(g_tTex3du4): 295(ptr) Variable UniformConstant - 317: TypeImage 9(float) Cube sampled format:Unknown - 318: TypePointer UniformConstant 317 - 319(g_tTexcdf4): 318(ptr) Variable UniformConstant - 336: TypeImage 14(int) Cube sampled format:Unknown - 337: TypePointer UniformConstant 336 - 338(g_tTexcdi4): 337(ptr) Variable UniformConstant - 355: TypeImage 6(int) Cube sampled format:Unknown - 356: TypePointer UniformConstant 355 - 357(g_tTexcdu4): 356(ptr) Variable UniformConstant - 374: TypeImage 9(float) Cube array sampled format:Unknown - 375: TypePointer UniformConstant 374 -376(g_tTexcdf4a): 375(ptr) Variable UniformConstant - 397: TypeImage 14(int) Cube array sampled format:Unknown - 398: TypePointer UniformConstant 397 -399(g_tTexcdi4a): 398(ptr) Variable UniformConstant - 420: TypeImage 6(int) Cube array sampled format:Unknown - 421: TypePointer UniformConstant 420 -422(g_tTexcdu4a): 421(ptr) Variable UniformConstant - 443: TypeImage 9(float) 2D multi-sampled sampled format:Unknown - 444: TypePointer UniformConstant 443 -445(g_tTex2dmsf4): 444(ptr) Variable UniformConstant - 456: TypeImage 14(int) 2D multi-sampled sampled format:Unknown - 457: TypePointer UniformConstant 456 -458(g_tTex2dmsi4): 457(ptr) Variable UniformConstant - 468: TypeImage 6(int) 2D multi-sampled sampled format:Unknown - 469: TypePointer UniformConstant 468 -470(g_tTex2dmsu4): 469(ptr) Variable UniformConstant - 480: TypeImage 9(float) 2D array multi-sampled sampled format:Unknown - 481: TypePointer UniformConstant 480 -482(g_tTex2dmsf4a): 481(ptr) Variable UniformConstant - 494: TypeImage 14(int) 2D array multi-sampled sampled format:Unknown - 495: TypePointer UniformConstant 494 -496(g_tTex2dmsi4a): 495(ptr) Variable UniformConstant - 508: TypeImage 6(int) 2D array multi-sampled sampled format:Unknown - 509: TypePointer UniformConstant 508 -510(g_tTex2dmsu4a): 509(ptr) Variable UniformConstant - 521: TypeVector 9(float) 4 - 522(PS_OUTPUT): TypeStruct 521(fvec4) 9(float) - 523: TypePointer Function 522(PS_OUTPUT) - 525: 14(int) Constant 0 - 526: 9(float) Constant 1065353216 - 527: 521(fvec4) ConstantComposite 526 526 526 526 - 528: TypePointer Function 521(fvec4) - 530: 14(int) Constant 1 - 531: TypePointer Function 9(float) - 533: TypePointer Output 521(fvec4) - 534(Color): 533(ptr) Variable Output - 537: TypePointer Output 9(float) - 538(Depth): 537(ptr) Variable Output - 542: TypeSampler - 543: TypePointer UniformConstant 542 - 544(g_sSamp): 543(ptr) Variable UniformConstant + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypeInt 32 0 + 13: TypePointer Function 12(int) + 15: TypeImage 6(float) 1D sampled format:Unknown + 16: TypePointer UniformConstant 15 + 17(g_tTex1df4): 16(ptr) Variable UniformConstant + 19: TypeInt 32 1 + 25: 12(int) Constant 6 + 32: TypeImage 19(int) 1D sampled format:Unknown + 33: TypePointer UniformConstant 32 + 34(g_tTex1di4): 33(ptr) Variable UniformConstant + 45: TypeImage 12(int) 1D sampled format:Unknown + 46: TypePointer UniformConstant 45 + 47(g_tTex1du4): 46(ptr) Variable UniformConstant + 57: TypeVector 12(int) 2 + 58: TypePointer Function 57(ivec2) + 60: TypeImage 6(float) 1D array sampled format:Unknown + 61: TypePointer UniformConstant 60 + 62(g_tTex1df4a): 61(ptr) Variable UniformConstant + 64: TypeVector 19(int) 2 + 66: 12(int) Constant 0 + 70: 12(int) Constant 1 + 83: TypeImage 19(int) 1D array sampled format:Unknown + 84: TypePointer UniformConstant 83 + 85(g_tTex1di4a): 84(ptr) Variable UniformConstant + 102: TypeImage 12(int) 1D array sampled format:Unknown + 103: TypePointer UniformConstant 102 +104(g_tTex1du4a): 103(ptr) Variable UniformConstant + 121: TypeImage 6(float) 2D sampled format:Unknown + 122: TypePointer UniformConstant 121 + 123(g_tTex2df4): 122(ptr) Variable UniformConstant + 141: TypeImage 19(int) 2D sampled format:Unknown + 142: TypePointer UniformConstant 141 + 143(g_tTex2di4): 142(ptr) Variable UniformConstant + 160: TypeImage 12(int) 2D sampled format:Unknown + 161: TypePointer UniformConstant 160 + 162(g_tTex2du4): 161(ptr) Variable UniformConstant + 178: TypeVector 12(int) 3 + 179: TypePointer Function 178(ivec3) + 181: TypeImage 6(float) 2D array sampled format:Unknown + 182: TypePointer UniformConstant 181 +183(g_tTex2df4a): 182(ptr) Variable UniformConstant + 185: TypeVector 19(int) 3 + 191: 12(int) Constant 2 + 206: TypeImage 19(int) 2D array sampled format:Unknown + 207: TypePointer UniformConstant 206 +208(g_tTex2di4a): 207(ptr) Variable UniformConstant + 229: TypeImage 12(int) 2D array sampled format:Unknown + 230: TypePointer UniformConstant 229 +231(g_tTex2du4a): 230(ptr) Variable UniformConstant + 252: TypeImage 6(float) 3D sampled format:Unknown + 253: TypePointer UniformConstant 252 + 254(g_tTex3df4): 253(ptr) Variable UniformConstant + 276: TypeImage 19(int) 3D sampled format:Unknown + 277: TypePointer UniformConstant 276 + 278(g_tTex3di4): 277(ptr) Variable UniformConstant + 299: TypeImage 12(int) 3D sampled format:Unknown + 300: TypePointer UniformConstant 299 + 301(g_tTex3du4): 300(ptr) Variable UniformConstant + 322: TypeImage 6(float) Cube sampled format:Unknown + 323: TypePointer UniformConstant 322 + 324(g_tTexcdf4): 323(ptr) Variable UniformConstant + 341: TypeImage 19(int) Cube sampled format:Unknown + 342: TypePointer UniformConstant 341 + 343(g_tTexcdi4): 342(ptr) Variable UniformConstant + 360: TypeImage 12(int) Cube sampled format:Unknown + 361: TypePointer UniformConstant 360 + 362(g_tTexcdu4): 361(ptr) Variable UniformConstant + 379: TypeImage 6(float) Cube array sampled format:Unknown + 380: TypePointer UniformConstant 379 +381(g_tTexcdf4a): 380(ptr) Variable UniformConstant + 402: TypeImage 19(int) Cube array sampled format:Unknown + 403: TypePointer UniformConstant 402 +404(g_tTexcdi4a): 403(ptr) Variable UniformConstant + 425: TypeImage 12(int) Cube array sampled format:Unknown + 426: TypePointer UniformConstant 425 +427(g_tTexcdu4a): 426(ptr) Variable UniformConstant + 448: TypeImage 6(float) 2D multi-sampled sampled format:Unknown + 449: TypePointer UniformConstant 448 +450(g_tTex2dmsf4): 449(ptr) Variable UniformConstant + 461: TypeImage 19(int) 2D multi-sampled sampled format:Unknown + 462: TypePointer UniformConstant 461 +463(g_tTex2dmsi4): 462(ptr) Variable UniformConstant + 473: TypeImage 12(int) 2D multi-sampled sampled format:Unknown + 474: TypePointer UniformConstant 473 +475(g_tTex2dmsu4): 474(ptr) Variable UniformConstant + 485: TypeImage 6(float) 2D array multi-sampled sampled format:Unknown + 486: TypePointer UniformConstant 485 +487(g_tTex2dmsf4a): 486(ptr) Variable UniformConstant + 499: TypeImage 19(int) 2D array multi-sampled sampled format:Unknown + 500: TypePointer UniformConstant 499 +501(g_tTex2dmsi4a): 500(ptr) Variable UniformConstant + 513: TypeImage 12(int) 2D array multi-sampled sampled format:Unknown + 514: TypePointer UniformConstant 513 +515(g_tTex2dmsu4a): 514(ptr) Variable UniformConstant + 526: TypePointer Function 8(PS_OUTPUT) + 528: 19(int) Constant 0 + 529: 6(float) Constant 1065353216 + 530: 7(fvec4) ConstantComposite 529 529 529 529 + 531: TypePointer Function 7(fvec4) + 533: 19(int) Constant 1 + 534: TypePointer Function 6(float) + 541: TypePointer Output 7(fvec4) + 542(Color): 541(ptr) Variable Output + 545: TypePointer Output 6(float) + 546(Depth): 545(ptr) Variable Output + 549: TypeSampler + 550: TypePointer UniformConstant 549 + 551(g_sSamp): 550(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label -8(sizeQueryTemp): 7(ptr) Variable Function - 16(WidthU): 7(ptr) Variable Function -18(sizeQueryTemp): 7(ptr) Variable Function -23(NumberOfLevelsU): 7(ptr) Variable Function -26(sizeQueryTemp): 7(ptr) Variable Function -33(sizeQueryTemp): 7(ptr) Variable Function -39(sizeQueryTemp): 7(ptr) Variable Function -46(sizeQueryTemp): 7(ptr) Variable Function -54(sizeQueryTemp): 53(ptr) Variable Function - 64(ElementsU): 7(ptr) Variable Function -68(sizeQueryTemp): 53(ptr) Variable Function -77(sizeQueryTemp): 53(ptr) Variable Function -87(sizeQueryTemp): 53(ptr) Variable Function -96(sizeQueryTemp): 53(ptr) Variable Function -106(sizeQueryTemp): 53(ptr) Variable Function -115(sizeQueryTemp): 53(ptr) Variable Function - 123(HeightU): 7(ptr) Variable Function -126(sizeQueryTemp): 53(ptr) Variable Function -135(sizeQueryTemp): 53(ptr) Variable Function -145(sizeQueryTemp): 53(ptr) Variable Function -154(sizeQueryTemp): 53(ptr) Variable Function -164(sizeQueryTemp): 53(ptr) Variable Function -175(sizeQueryTemp): 174(ptr) Variable Function -189(sizeQueryTemp): 174(ptr) Variable Function -200(sizeQueryTemp): 174(ptr) Variable Function -212(sizeQueryTemp): 174(ptr) Variable Function -223(sizeQueryTemp): 174(ptr) Variable Function -235(sizeQueryTemp): 174(ptr) Variable Function -246(sizeQueryTemp): 174(ptr) Variable Function - 256(DepthU): 7(ptr) Variable Function -259(sizeQueryTemp): 174(ptr) Variable Function -270(sizeQueryTemp): 174(ptr) Variable Function -282(sizeQueryTemp): 174(ptr) Variable Function -293(sizeQueryTemp): 174(ptr) Variable Function -305(sizeQueryTemp): 174(ptr) Variable Function -316(sizeQueryTemp): 53(ptr) Variable Function -326(sizeQueryTemp): 53(ptr) Variable Function -335(sizeQueryTemp): 53(ptr) Variable Function -345(sizeQueryTemp): 53(ptr) Variable Function -354(sizeQueryTemp): 53(ptr) Variable Function -364(sizeQueryTemp): 53(ptr) Variable Function -373(sizeQueryTemp): 174(ptr) Variable Function -385(sizeQueryTemp): 174(ptr) Variable Function -396(sizeQueryTemp): 174(ptr) Variable Function -408(sizeQueryTemp): 174(ptr) Variable Function -419(sizeQueryTemp): 174(ptr) Variable Function -431(sizeQueryTemp): 174(ptr) Variable Function -442(sizeQueryTemp): 53(ptr) Variable Function -452(NumberOfSamplesU): 7(ptr) Variable Function -455(sizeQueryTemp): 53(ptr) Variable Function -467(sizeQueryTemp): 53(ptr) Variable Function -479(sizeQueryTemp): 174(ptr) Variable Function -493(sizeQueryTemp): 174(ptr) Variable Function -507(sizeQueryTemp): 174(ptr) Variable Function - 524(psout): 523(ptr) Variable Function - 13: 10 Load 12(g_tTex1df4) - 15: 14(int) ImageQuerySize 13 - Store 8(sizeQueryTemp) 15 - 17: 6(int) Load 8(sizeQueryTemp) - Store 16(WidthU) 17 - 19: 10 Load 12(g_tTex1df4) - 21: 14(int) ImageQuerySizeLod 19 20 - Store 18(sizeQueryTemp) 21 - 22: 6(int) Load 18(sizeQueryTemp) - Store 16(WidthU) 22 - 24: 10 Load 12(g_tTex1df4) - 25: 14(int) ImageQueryLevels 24 - Store 23(NumberOfLevelsU) 25 - 30: 27 Load 29(g_tTex1di4) - 31: 14(int) ImageQuerySize 30 - Store 26(sizeQueryTemp) 31 - 32: 6(int) Load 26(sizeQueryTemp) - Store 16(WidthU) 32 - 34: 27 Load 29(g_tTex1di4) - 35: 14(int) ImageQuerySizeLod 34 20 - Store 33(sizeQueryTemp) 35 - 36: 6(int) Load 33(sizeQueryTemp) - Store 16(WidthU) 36 - 37: 27 Load 29(g_tTex1di4) - 38: 14(int) ImageQueryLevels 37 - Store 23(NumberOfLevelsU) 38 - 43: 40 Load 42(g_tTex1du4) - 44: 14(int) ImageQuerySize 43 - Store 39(sizeQueryTemp) 44 - 45: 6(int) Load 39(sizeQueryTemp) - Store 16(WidthU) 45 - 47: 40 Load 42(g_tTex1du4) - 48: 14(int) ImageQuerySizeLod 47 20 - Store 46(sizeQueryTemp) 48 - 49: 6(int) Load 46(sizeQueryTemp) - Store 16(WidthU) 49 - 50: 40 Load 42(g_tTex1du4) - 51: 14(int) ImageQueryLevels 50 - Store 23(NumberOfLevelsU) 51 - 58: 55 Load 57(g_tTex1df4a) - 60: 59(ivec2) ImageQuerySize 58 - Store 54(sizeQueryTemp) 60 - 62: 7(ptr) AccessChain 54(sizeQueryTemp) 61 - 63: 6(int) Load 62 - Store 16(WidthU) 63 - 66: 7(ptr) AccessChain 54(sizeQueryTemp) 65 - 67: 6(int) Load 66 - Store 64(ElementsU) 67 - 69: 55 Load 57(g_tTex1df4a) - 70: 59(ivec2) ImageQuerySizeLod 69 20 - Store 68(sizeQueryTemp) 70 - 71: 7(ptr) AccessChain 68(sizeQueryTemp) 61 - 72: 6(int) Load 71 - Store 16(WidthU) 72 - 73: 7(ptr) AccessChain 68(sizeQueryTemp) 65 - 74: 6(int) Load 73 - Store 64(ElementsU) 74 - 75: 55 Load 57(g_tTex1df4a) - 76: 14(int) ImageQueryLevels 75 - Store 23(NumberOfLevelsU) 76 - 81: 78 Load 80(g_tTex1di4a) - 82: 59(ivec2) ImageQuerySize 81 - Store 77(sizeQueryTemp) 82 - 83: 7(ptr) AccessChain 77(sizeQueryTemp) 61 - 84: 6(int) Load 83 - Store 16(WidthU) 84 - 85: 7(ptr) AccessChain 77(sizeQueryTemp) 65 - 86: 6(int) Load 85 - Store 64(ElementsU) 86 - 88: 78 Load 80(g_tTex1di4a) - 89: 59(ivec2) ImageQuerySizeLod 88 20 - Store 87(sizeQueryTemp) 89 - 90: 7(ptr) AccessChain 87(sizeQueryTemp) 61 - 91: 6(int) Load 90 - Store 16(WidthU) 91 - 92: 7(ptr) AccessChain 87(sizeQueryTemp) 65 - 93: 6(int) Load 92 - Store 64(ElementsU) 93 - 94: 78 Load 80(g_tTex1di4a) - 95: 14(int) ImageQueryLevels 94 - Store 23(NumberOfLevelsU) 95 - 100: 97 Load 99(g_tTex1du4a) - 101: 59(ivec2) ImageQuerySize 100 - Store 96(sizeQueryTemp) 101 - 102: 7(ptr) AccessChain 96(sizeQueryTemp) 61 - 103: 6(int) Load 102 - Store 16(WidthU) 103 - 104: 7(ptr) AccessChain 96(sizeQueryTemp) 65 - 105: 6(int) Load 104 - Store 64(ElementsU) 105 - 107: 97 Load 99(g_tTex1du4a) - 108: 59(ivec2) ImageQuerySizeLod 107 20 - Store 106(sizeQueryTemp) 108 - 109: 7(ptr) AccessChain 106(sizeQueryTemp) 61 - 110: 6(int) Load 109 - Store 16(WidthU) 110 - 111: 7(ptr) AccessChain 106(sizeQueryTemp) 65 - 112: 6(int) Load 111 - Store 64(ElementsU) 112 - 113: 97 Load 99(g_tTex1du4a) - 114: 14(int) ImageQueryLevels 113 - Store 23(NumberOfLevelsU) 114 - 119: 116 Load 118(g_tTex2df4) - 120: 59(ivec2) ImageQuerySize 119 - Store 115(sizeQueryTemp) 120 - 121: 7(ptr) AccessChain 115(sizeQueryTemp) 61 - 122: 6(int) Load 121 - Store 16(WidthU) 122 - 124: 7(ptr) AccessChain 115(sizeQueryTemp) 65 - 125: 6(int) Load 124 - Store 123(HeightU) 125 - 127: 116 Load 118(g_tTex2df4) - 128: 59(ivec2) ImageQuerySizeLod 127 20 - Store 126(sizeQueryTemp) 128 - 129: 7(ptr) AccessChain 126(sizeQueryTemp) 61 - 130: 6(int) Load 129 - Store 16(WidthU) 130 - 131: 7(ptr) AccessChain 126(sizeQueryTemp) 65 - 132: 6(int) Load 131 - Store 123(HeightU) 132 - 133: 116 Load 118(g_tTex2df4) - 134: 14(int) ImageQueryLevels 133 - Store 23(NumberOfLevelsU) 134 - 139: 136 Load 138(g_tTex2di4) - 140: 59(ivec2) ImageQuerySize 139 - Store 135(sizeQueryTemp) 140 - 141: 7(ptr) AccessChain 135(sizeQueryTemp) 61 - 142: 6(int) Load 141 - Store 16(WidthU) 142 - 143: 7(ptr) AccessChain 135(sizeQueryTemp) 65 - 144: 6(int) Load 143 - Store 123(HeightU) 144 - 146: 136 Load 138(g_tTex2di4) - 147: 59(ivec2) ImageQuerySizeLod 146 20 - Store 145(sizeQueryTemp) 147 - 148: 7(ptr) AccessChain 145(sizeQueryTemp) 61 - 149: 6(int) Load 148 - Store 16(WidthU) 149 - 150: 7(ptr) AccessChain 145(sizeQueryTemp) 65 - 151: 6(int) Load 150 - Store 123(HeightU) 151 - 152: 136 Load 138(g_tTex2di4) - 153: 14(int) ImageQueryLevels 152 - Store 23(NumberOfLevelsU) 153 - 158: 155 Load 157(g_tTex2du4) - 159: 59(ivec2) ImageQuerySize 158 - Store 154(sizeQueryTemp) 159 - 160: 7(ptr) AccessChain 154(sizeQueryTemp) 61 - 161: 6(int) Load 160 - Store 16(WidthU) 161 - 162: 7(ptr) AccessChain 154(sizeQueryTemp) 65 - 163: 6(int) Load 162 - Store 123(HeightU) 163 - 165: 155 Load 157(g_tTex2du4) - 166: 59(ivec2) ImageQuerySizeLod 165 20 - Store 164(sizeQueryTemp) 166 - 167: 7(ptr) AccessChain 164(sizeQueryTemp) 61 - 168: 6(int) Load 167 - Store 16(WidthU) 168 - 169: 7(ptr) AccessChain 164(sizeQueryTemp) 65 - 170: 6(int) Load 169 - Store 123(HeightU) 170 - 171: 155 Load 157(g_tTex2du4) - 172: 14(int) ImageQueryLevels 171 - Store 23(NumberOfLevelsU) 172 - 179: 176 Load 178(g_tTex2df4a) - 181: 180(ivec3) ImageQuerySize 179 - Store 175(sizeQueryTemp) 181 - 182: 7(ptr) AccessChain 175(sizeQueryTemp) 61 - 183: 6(int) Load 182 - Store 16(WidthU) 183 - 184: 7(ptr) AccessChain 175(sizeQueryTemp) 65 - 185: 6(int) Load 184 - Store 123(HeightU) 185 - 187: 7(ptr) AccessChain 175(sizeQueryTemp) 186 - 188: 6(int) Load 187 - Store 64(ElementsU) 188 - 190: 176 Load 178(g_tTex2df4a) - 191: 180(ivec3) ImageQuerySizeLod 190 20 - Store 189(sizeQueryTemp) 191 - 192: 7(ptr) AccessChain 189(sizeQueryTemp) 61 - 193: 6(int) Load 192 - Store 16(WidthU) 193 - 194: 7(ptr) AccessChain 189(sizeQueryTemp) 65 - 195: 6(int) Load 194 - Store 123(HeightU) 195 - 196: 7(ptr) AccessChain 189(sizeQueryTemp) 186 - 197: 6(int) Load 196 - Store 64(ElementsU) 197 - 198: 176 Load 178(g_tTex2df4a) - 199: 14(int) ImageQueryLevels 198 - Store 23(NumberOfLevelsU) 199 - 204: 201 Load 203(g_tTex2di4a) - 205: 180(ivec3) ImageQuerySize 204 - Store 200(sizeQueryTemp) 205 - 206: 7(ptr) AccessChain 200(sizeQueryTemp) 61 - 207: 6(int) Load 206 - Store 16(WidthU) 207 - 208: 7(ptr) AccessChain 200(sizeQueryTemp) 65 - 209: 6(int) Load 208 - Store 123(HeightU) 209 - 210: 7(ptr) AccessChain 200(sizeQueryTemp) 186 - 211: 6(int) Load 210 - Store 64(ElementsU) 211 - 213: 201 Load 203(g_tTex2di4a) - 214: 180(ivec3) ImageQuerySizeLod 213 20 - Store 212(sizeQueryTemp) 214 - 215: 7(ptr) AccessChain 212(sizeQueryTemp) 61 - 216: 6(int) Load 215 - Store 16(WidthU) 216 - 217: 7(ptr) AccessChain 212(sizeQueryTemp) 65 - 218: 6(int) Load 217 - Store 123(HeightU) 218 - 219: 7(ptr) AccessChain 212(sizeQueryTemp) 186 - 220: 6(int) Load 219 - Store 64(ElementsU) 220 - 221: 201 Load 203(g_tTex2di4a) - 222: 14(int) ImageQueryLevels 221 - Store 23(NumberOfLevelsU) 222 - 227: 224 Load 226(g_tTex2du4a) - 228: 180(ivec3) ImageQuerySize 227 - Store 223(sizeQueryTemp) 228 - 229: 7(ptr) AccessChain 223(sizeQueryTemp) 61 - 230: 6(int) Load 229 - Store 16(WidthU) 230 - 231: 7(ptr) AccessChain 223(sizeQueryTemp) 65 - 232: 6(int) Load 231 - Store 123(HeightU) 232 - 233: 7(ptr) AccessChain 223(sizeQueryTemp) 186 - 234: 6(int) Load 233 - Store 64(ElementsU) 234 - 236: 224 Load 226(g_tTex2du4a) - 237: 180(ivec3) ImageQuerySizeLod 236 20 - Store 235(sizeQueryTemp) 237 - 238: 7(ptr) AccessChain 235(sizeQueryTemp) 61 - 239: 6(int) Load 238 - Store 16(WidthU) 239 - 240: 7(ptr) AccessChain 235(sizeQueryTemp) 65 - 241: 6(int) Load 240 - Store 123(HeightU) 241 - 242: 7(ptr) AccessChain 235(sizeQueryTemp) 186 - 243: 6(int) Load 242 - Store 64(ElementsU) 243 - 244: 224 Load 226(g_tTex2du4a) - 245: 14(int) ImageQueryLevels 244 - Store 23(NumberOfLevelsU) 245 - 250: 247 Load 249(g_tTex3df4) - 251: 180(ivec3) ImageQuerySize 250 - Store 246(sizeQueryTemp) 251 - 252: 7(ptr) AccessChain 246(sizeQueryTemp) 61 - 253: 6(int) Load 252 - Store 16(WidthU) 253 - 254: 7(ptr) AccessChain 246(sizeQueryTemp) 65 - 255: 6(int) Load 254 - Store 123(HeightU) 255 - 257: 7(ptr) AccessChain 246(sizeQueryTemp) 186 - 258: 6(int) Load 257 - Store 256(DepthU) 258 - 260: 247 Load 249(g_tTex3df4) - 261: 180(ivec3) ImageQuerySizeLod 260 20 - Store 259(sizeQueryTemp) 261 - 262: 7(ptr) AccessChain 259(sizeQueryTemp) 61 - 263: 6(int) Load 262 - Store 16(WidthU) 263 - 264: 7(ptr) AccessChain 259(sizeQueryTemp) 65 - 265: 6(int) Load 264 - Store 123(HeightU) 265 - 266: 7(ptr) AccessChain 259(sizeQueryTemp) 186 - 267: 6(int) Load 266 - Store 256(DepthU) 267 - 268: 247 Load 249(g_tTex3df4) - 269: 14(int) ImageQueryLevels 268 - Store 23(NumberOfLevelsU) 269 - 274: 271 Load 273(g_tTex3di4) - 275: 180(ivec3) ImageQuerySize 274 - Store 270(sizeQueryTemp) 275 - 276: 7(ptr) AccessChain 270(sizeQueryTemp) 61 - 277: 6(int) Load 276 - Store 16(WidthU) 277 - 278: 7(ptr) AccessChain 270(sizeQueryTemp) 65 - 279: 6(int) Load 278 - Store 123(HeightU) 279 - 280: 7(ptr) AccessChain 270(sizeQueryTemp) 186 - 281: 6(int) Load 280 - Store 256(DepthU) 281 - 283: 271 Load 273(g_tTex3di4) - 284: 180(ivec3) ImageQuerySizeLod 283 20 - Store 282(sizeQueryTemp) 284 - 285: 7(ptr) AccessChain 282(sizeQueryTemp) 61 - 286: 6(int) Load 285 - Store 16(WidthU) 286 - 287: 7(ptr) AccessChain 282(sizeQueryTemp) 65 - 288: 6(int) Load 287 - Store 123(HeightU) 288 - 289: 7(ptr) AccessChain 282(sizeQueryTemp) 186 - 290: 6(int) Load 289 - Store 256(DepthU) 290 - 291: 271 Load 273(g_tTex3di4) - 292: 14(int) ImageQueryLevels 291 - Store 23(NumberOfLevelsU) 292 - 297: 294 Load 296(g_tTex3du4) - 298: 180(ivec3) ImageQuerySize 297 - Store 293(sizeQueryTemp) 298 - 299: 7(ptr) AccessChain 293(sizeQueryTemp) 61 - 300: 6(int) Load 299 - Store 16(WidthU) 300 - 301: 7(ptr) AccessChain 293(sizeQueryTemp) 65 - 302: 6(int) Load 301 - Store 123(HeightU) 302 - 303: 7(ptr) AccessChain 293(sizeQueryTemp) 186 - 304: 6(int) Load 303 - Store 256(DepthU) 304 - 306: 294 Load 296(g_tTex3du4) - 307: 180(ivec3) ImageQuerySizeLod 306 20 - Store 305(sizeQueryTemp) 307 - 308: 7(ptr) AccessChain 305(sizeQueryTemp) 61 - 309: 6(int) Load 308 - Store 16(WidthU) 309 - 310: 7(ptr) AccessChain 305(sizeQueryTemp) 65 - 311: 6(int) Load 310 - Store 123(HeightU) 311 - 312: 7(ptr) AccessChain 305(sizeQueryTemp) 186 - 313: 6(int) Load 312 - Store 256(DepthU) 313 - 314: 294 Load 296(g_tTex3du4) - 315: 14(int) ImageQueryLevels 314 - Store 23(NumberOfLevelsU) 315 - 320: 317 Load 319(g_tTexcdf4) - 321: 59(ivec2) ImageQuerySize 320 - Store 316(sizeQueryTemp) 321 - 322: 7(ptr) AccessChain 316(sizeQueryTemp) 61 - 323: 6(int) Load 322 - Store 16(WidthU) 323 - 324: 7(ptr) AccessChain 316(sizeQueryTemp) 65 - 325: 6(int) Load 324 - Store 123(HeightU) 325 - 327: 317 Load 319(g_tTexcdf4) - 328: 59(ivec2) ImageQuerySizeLod 327 20 - Store 326(sizeQueryTemp) 328 - 329: 7(ptr) AccessChain 326(sizeQueryTemp) 61 - 330: 6(int) Load 329 - Store 16(WidthU) 330 - 331: 7(ptr) AccessChain 326(sizeQueryTemp) 65 - 332: 6(int) Load 331 - Store 123(HeightU) 332 - 333: 317 Load 319(g_tTexcdf4) - 334: 14(int) ImageQueryLevels 333 - Store 23(NumberOfLevelsU) 334 - 339: 336 Load 338(g_tTexcdi4) - 340: 59(ivec2) ImageQuerySize 339 - Store 335(sizeQueryTemp) 340 - 341: 7(ptr) AccessChain 335(sizeQueryTemp) 61 - 342: 6(int) Load 341 - Store 16(WidthU) 342 - 343: 7(ptr) AccessChain 335(sizeQueryTemp) 65 - 344: 6(int) Load 343 - Store 123(HeightU) 344 - 346: 336 Load 338(g_tTexcdi4) - 347: 59(ivec2) ImageQuerySizeLod 346 20 - Store 345(sizeQueryTemp) 347 - 348: 7(ptr) AccessChain 345(sizeQueryTemp) 61 - 349: 6(int) Load 348 - Store 16(WidthU) 349 - 350: 7(ptr) AccessChain 345(sizeQueryTemp) 65 - 351: 6(int) Load 350 - Store 123(HeightU) 351 - 352: 336 Load 338(g_tTexcdi4) - 353: 14(int) ImageQueryLevels 352 - Store 23(NumberOfLevelsU) 353 - 358: 355 Load 357(g_tTexcdu4) - 359: 59(ivec2) ImageQuerySize 358 - Store 354(sizeQueryTemp) 359 - 360: 7(ptr) AccessChain 354(sizeQueryTemp) 61 - 361: 6(int) Load 360 - Store 16(WidthU) 361 - 362: 7(ptr) AccessChain 354(sizeQueryTemp) 65 - 363: 6(int) Load 362 - Store 123(HeightU) 363 - 365: 355 Load 357(g_tTexcdu4) - 366: 59(ivec2) ImageQuerySizeLod 365 20 - Store 364(sizeQueryTemp) 366 - 367: 7(ptr) AccessChain 364(sizeQueryTemp) 61 - 368: 6(int) Load 367 - Store 16(WidthU) 368 - 369: 7(ptr) AccessChain 364(sizeQueryTemp) 65 - 370: 6(int) Load 369 - Store 123(HeightU) 370 - 371: 355 Load 357(g_tTexcdu4) - 372: 14(int) ImageQueryLevels 371 - Store 23(NumberOfLevelsU) 372 - 377: 374 Load 376(g_tTexcdf4a) - 378: 180(ivec3) ImageQuerySize 377 - Store 373(sizeQueryTemp) 378 - 379: 7(ptr) AccessChain 373(sizeQueryTemp) 61 - 380: 6(int) Load 379 - Store 16(WidthU) 380 - 381: 7(ptr) AccessChain 373(sizeQueryTemp) 65 - 382: 6(int) Load 381 - Store 123(HeightU) 382 - 383: 7(ptr) AccessChain 373(sizeQueryTemp) 186 - 384: 6(int) Load 383 - Store 64(ElementsU) 384 - 386: 374 Load 376(g_tTexcdf4a) - 387: 180(ivec3) ImageQuerySizeLod 386 20 - Store 385(sizeQueryTemp) 387 - 388: 7(ptr) AccessChain 385(sizeQueryTemp) 61 - 389: 6(int) Load 388 - Store 16(WidthU) 389 - 390: 7(ptr) AccessChain 385(sizeQueryTemp) 65 - 391: 6(int) Load 390 - Store 123(HeightU) 391 - 392: 7(ptr) AccessChain 385(sizeQueryTemp) 186 - 393: 6(int) Load 392 - Store 64(ElementsU) 393 - 394: 374 Load 376(g_tTexcdf4a) - 395: 14(int) ImageQueryLevels 394 - Store 23(NumberOfLevelsU) 395 - 400: 397 Load 399(g_tTexcdi4a) - 401: 180(ivec3) ImageQuerySize 400 - Store 396(sizeQueryTemp) 401 - 402: 7(ptr) AccessChain 396(sizeQueryTemp) 61 - 403: 6(int) Load 402 - Store 16(WidthU) 403 - 404: 7(ptr) AccessChain 396(sizeQueryTemp) 65 - 405: 6(int) Load 404 - Store 123(HeightU) 405 - 406: 7(ptr) AccessChain 396(sizeQueryTemp) 186 - 407: 6(int) Load 406 - Store 64(ElementsU) 407 - 409: 397 Load 399(g_tTexcdi4a) - 410: 180(ivec3) ImageQuerySizeLod 409 20 - Store 408(sizeQueryTemp) 410 - 411: 7(ptr) AccessChain 408(sizeQueryTemp) 61 - 412: 6(int) Load 411 - Store 16(WidthU) 412 - 413: 7(ptr) AccessChain 408(sizeQueryTemp) 65 - 414: 6(int) Load 413 - Store 123(HeightU) 414 - 415: 7(ptr) AccessChain 408(sizeQueryTemp) 186 - 416: 6(int) Load 415 - Store 64(ElementsU) 416 - 417: 397 Load 399(g_tTexcdi4a) - 418: 14(int) ImageQueryLevels 417 - Store 23(NumberOfLevelsU) 418 - 423: 420 Load 422(g_tTexcdu4a) - 424: 180(ivec3) ImageQuerySize 423 - Store 419(sizeQueryTemp) 424 - 425: 7(ptr) AccessChain 419(sizeQueryTemp) 61 - 426: 6(int) Load 425 - Store 16(WidthU) 426 - 427: 7(ptr) AccessChain 419(sizeQueryTemp) 65 - 428: 6(int) Load 427 - Store 123(HeightU) 428 - 429: 7(ptr) AccessChain 419(sizeQueryTemp) 186 - 430: 6(int) Load 429 - Store 64(ElementsU) 430 - 432: 420 Load 422(g_tTexcdu4a) - 433: 180(ivec3) ImageQuerySizeLod 432 20 - Store 431(sizeQueryTemp) 433 - 434: 7(ptr) AccessChain 431(sizeQueryTemp) 61 - 435: 6(int) Load 434 - Store 16(WidthU) 435 - 436: 7(ptr) AccessChain 431(sizeQueryTemp) 65 - 437: 6(int) Load 436 - Store 123(HeightU) 437 - 438: 7(ptr) AccessChain 431(sizeQueryTemp) 186 - 439: 6(int) Load 438 - Store 64(ElementsU) 439 - 440: 420 Load 422(g_tTexcdu4a) - 441: 14(int) ImageQueryLevels 440 - Store 23(NumberOfLevelsU) 441 - 446: 443 Load 445(g_tTex2dmsf4) - 447: 59(ivec2) ImageQuerySize 446 - Store 442(sizeQueryTemp) 447 - 448: 7(ptr) AccessChain 442(sizeQueryTemp) 61 - 449: 6(int) Load 448 - Store 16(WidthU) 449 - 450: 7(ptr) AccessChain 442(sizeQueryTemp) 65 - 451: 6(int) Load 450 - Store 123(HeightU) 451 - 453: 443 Load 445(g_tTex2dmsf4) - 454: 14(int) ImageQuerySamples 453 - Store 452(NumberOfSamplesU) 454 - 459: 456 Load 458(g_tTex2dmsi4) - 460: 59(ivec2) ImageQuerySize 459 - Store 455(sizeQueryTemp) 460 - 461: 7(ptr) AccessChain 455(sizeQueryTemp) 61 - 462: 6(int) Load 461 - Store 16(WidthU) 462 - 463: 7(ptr) AccessChain 455(sizeQueryTemp) 65 - 464: 6(int) Load 463 - Store 123(HeightU) 464 - 465: 456 Load 458(g_tTex2dmsi4) - 466: 14(int) ImageQuerySamples 465 - Store 452(NumberOfSamplesU) 466 - 471: 468 Load 470(g_tTex2dmsu4) - 472: 59(ivec2) ImageQuerySize 471 - Store 467(sizeQueryTemp) 472 - 473: 7(ptr) AccessChain 467(sizeQueryTemp) 61 - 474: 6(int) Load 473 - Store 16(WidthU) 474 - 475: 7(ptr) AccessChain 467(sizeQueryTemp) 65 - 476: 6(int) Load 475 - Store 123(HeightU) 476 - 477: 468 Load 470(g_tTex2dmsu4) - 478: 14(int) ImageQuerySamples 477 - Store 452(NumberOfSamplesU) 478 - 483: 480 Load 482(g_tTex2dmsf4a) - 484: 180(ivec3) ImageQuerySize 483 - Store 479(sizeQueryTemp) 484 - 485: 7(ptr) AccessChain 479(sizeQueryTemp) 61 - 486: 6(int) Load 485 - Store 16(WidthU) 486 - 487: 7(ptr) AccessChain 479(sizeQueryTemp) 65 - 488: 6(int) Load 487 - Store 123(HeightU) 488 - 489: 7(ptr) AccessChain 479(sizeQueryTemp) 186 - 490: 6(int) Load 489 - Store 64(ElementsU) 490 - 491: 480 Load 482(g_tTex2dmsf4a) - 492: 14(int) ImageQuerySamples 491 - Store 452(NumberOfSamplesU) 492 - 497: 494 Load 496(g_tTex2dmsi4a) - 498: 180(ivec3) ImageQuerySize 497 - Store 493(sizeQueryTemp) 498 - 499: 7(ptr) AccessChain 493(sizeQueryTemp) 61 - 500: 6(int) Load 499 - Store 16(WidthU) 500 - 501: 7(ptr) AccessChain 493(sizeQueryTemp) 65 - 502: 6(int) Load 501 - Store 123(HeightU) 502 - 503: 7(ptr) AccessChain 493(sizeQueryTemp) 186 - 504: 6(int) Load 503 - Store 64(ElementsU) 504 - 505: 494 Load 496(g_tTex2dmsi4a) - 506: 14(int) ImageQuerySamples 505 - Store 452(NumberOfSamplesU) 506 - 511: 508 Load 510(g_tTex2dmsu4a) - 512: 180(ivec3) ImageQuerySize 511 - Store 507(sizeQueryTemp) 512 - 513: 7(ptr) AccessChain 507(sizeQueryTemp) 61 - 514: 6(int) Load 513 - Store 16(WidthU) 514 - 515: 7(ptr) AccessChain 507(sizeQueryTemp) 65 - 516: 6(int) Load 515 - Store 123(HeightU) 516 - 517: 7(ptr) AccessChain 507(sizeQueryTemp) 186 - 518: 6(int) Load 517 - Store 64(ElementsU) 518 - 519: 508 Load 510(g_tTex2dmsu4a) - 520: 14(int) ImageQuerySamples 519 - Store 452(NumberOfSamplesU) 520 - 529: 528(ptr) AccessChain 524(psout) 525 - Store 529 527 - 532: 531(ptr) AccessChain 524(psout) 530 - Store 532 526 - 535: 528(ptr) AccessChain 524(psout) 525 - 536: 521(fvec4) Load 535 - Store 534(Color) 536 - 539: 531(ptr) AccessChain 524(psout) 530 - 540: 9(float) Load 539 - Store 538(Depth) 540 +539(flattenTemp): 526(ptr) Variable Function + 540:8(PS_OUTPUT) FunctionCall 10(@main() + Store 539(flattenTemp) 540 + 543: 531(ptr) AccessChain 539(flattenTemp) 528 + 544: 7(fvec4) Load 543 + Store 542(Color) 544 + 547: 534(ptr) AccessChain 539(flattenTemp) 533 + 548: 6(float) Load 547 + Store 546(Depth) 548 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label +14(sizeQueryTemp): 13(ptr) Variable Function + 21(WidthU): 13(ptr) Variable Function +23(sizeQueryTemp): 13(ptr) Variable Function +28(NumberOfLevelsU): 13(ptr) Variable Function +31(sizeQueryTemp): 13(ptr) Variable Function +38(sizeQueryTemp): 13(ptr) Variable Function +44(sizeQueryTemp): 13(ptr) Variable Function +51(sizeQueryTemp): 13(ptr) Variable Function +59(sizeQueryTemp): 58(ptr) Variable Function + 69(ElementsU): 13(ptr) Variable Function +73(sizeQueryTemp): 58(ptr) Variable Function +82(sizeQueryTemp): 58(ptr) Variable Function +92(sizeQueryTemp): 58(ptr) Variable Function +101(sizeQueryTemp): 58(ptr) Variable Function +111(sizeQueryTemp): 58(ptr) Variable Function +120(sizeQueryTemp): 58(ptr) Variable Function + 128(HeightU): 13(ptr) Variable Function +131(sizeQueryTemp): 58(ptr) Variable Function +140(sizeQueryTemp): 58(ptr) Variable Function +150(sizeQueryTemp): 58(ptr) Variable Function +159(sizeQueryTemp): 58(ptr) Variable Function +169(sizeQueryTemp): 58(ptr) Variable Function +180(sizeQueryTemp): 179(ptr) Variable Function +194(sizeQueryTemp): 179(ptr) Variable Function +205(sizeQueryTemp): 179(ptr) Variable Function +217(sizeQueryTemp): 179(ptr) Variable Function +228(sizeQueryTemp): 179(ptr) Variable Function +240(sizeQueryTemp): 179(ptr) Variable Function +251(sizeQueryTemp): 179(ptr) Variable Function + 261(DepthU): 13(ptr) Variable Function +264(sizeQueryTemp): 179(ptr) Variable Function +275(sizeQueryTemp): 179(ptr) Variable Function +287(sizeQueryTemp): 179(ptr) Variable Function +298(sizeQueryTemp): 179(ptr) Variable Function +310(sizeQueryTemp): 179(ptr) Variable Function +321(sizeQueryTemp): 58(ptr) Variable Function +331(sizeQueryTemp): 58(ptr) Variable Function +340(sizeQueryTemp): 58(ptr) Variable Function +350(sizeQueryTemp): 58(ptr) Variable Function +359(sizeQueryTemp): 58(ptr) Variable Function +369(sizeQueryTemp): 58(ptr) Variable Function +378(sizeQueryTemp): 179(ptr) Variable Function +390(sizeQueryTemp): 179(ptr) Variable Function +401(sizeQueryTemp): 179(ptr) Variable Function +413(sizeQueryTemp): 179(ptr) Variable Function +424(sizeQueryTemp): 179(ptr) Variable Function +436(sizeQueryTemp): 179(ptr) Variable Function +447(sizeQueryTemp): 58(ptr) Variable Function +457(NumberOfSamplesU): 13(ptr) Variable Function +460(sizeQueryTemp): 58(ptr) Variable Function +472(sizeQueryTemp): 58(ptr) Variable Function +484(sizeQueryTemp): 179(ptr) Variable Function +498(sizeQueryTemp): 179(ptr) Variable Function +512(sizeQueryTemp): 179(ptr) Variable Function + 527(psout): 526(ptr) Variable Function + 18: 15 Load 17(g_tTex1df4) + 20: 19(int) ImageQuerySize 18 + Store 14(sizeQueryTemp) 20 + 22: 12(int) Load 14(sizeQueryTemp) + Store 21(WidthU) 22 + 24: 15 Load 17(g_tTex1df4) + 26: 19(int) ImageQuerySizeLod 24 25 + Store 23(sizeQueryTemp) 26 + 27: 12(int) Load 23(sizeQueryTemp) + Store 21(WidthU) 27 + 29: 15 Load 17(g_tTex1df4) + 30: 19(int) ImageQueryLevels 29 + Store 28(NumberOfLevelsU) 30 + 35: 32 Load 34(g_tTex1di4) + 36: 19(int) ImageQuerySize 35 + Store 31(sizeQueryTemp) 36 + 37: 12(int) Load 31(sizeQueryTemp) + Store 21(WidthU) 37 + 39: 32 Load 34(g_tTex1di4) + 40: 19(int) ImageQuerySizeLod 39 25 + Store 38(sizeQueryTemp) 40 + 41: 12(int) Load 38(sizeQueryTemp) + Store 21(WidthU) 41 + 42: 32 Load 34(g_tTex1di4) + 43: 19(int) ImageQueryLevels 42 + Store 28(NumberOfLevelsU) 43 + 48: 45 Load 47(g_tTex1du4) + 49: 19(int) ImageQuerySize 48 + Store 44(sizeQueryTemp) 49 + 50: 12(int) Load 44(sizeQueryTemp) + Store 21(WidthU) 50 + 52: 45 Load 47(g_tTex1du4) + 53: 19(int) ImageQuerySizeLod 52 25 + Store 51(sizeQueryTemp) 53 + 54: 12(int) Load 51(sizeQueryTemp) + Store 21(WidthU) 54 + 55: 45 Load 47(g_tTex1du4) + 56: 19(int) ImageQueryLevels 55 + Store 28(NumberOfLevelsU) 56 + 63: 60 Load 62(g_tTex1df4a) + 65: 64(ivec2) ImageQuerySize 63 + Store 59(sizeQueryTemp) 65 + 67: 13(ptr) AccessChain 59(sizeQueryTemp) 66 + 68: 12(int) Load 67 + Store 21(WidthU) 68 + 71: 13(ptr) AccessChain 59(sizeQueryTemp) 70 + 72: 12(int) Load 71 + Store 69(ElementsU) 72 + 74: 60 Load 62(g_tTex1df4a) + 75: 64(ivec2) ImageQuerySizeLod 74 25 + Store 73(sizeQueryTemp) 75 + 76: 13(ptr) AccessChain 73(sizeQueryTemp) 66 + 77: 12(int) Load 76 + Store 21(WidthU) 77 + 78: 13(ptr) AccessChain 73(sizeQueryTemp) 70 + 79: 12(int) Load 78 + Store 69(ElementsU) 79 + 80: 60 Load 62(g_tTex1df4a) + 81: 19(int) ImageQueryLevels 80 + Store 28(NumberOfLevelsU) 81 + 86: 83 Load 85(g_tTex1di4a) + 87: 64(ivec2) ImageQuerySize 86 + Store 82(sizeQueryTemp) 87 + 88: 13(ptr) AccessChain 82(sizeQueryTemp) 66 + 89: 12(int) Load 88 + Store 21(WidthU) 89 + 90: 13(ptr) AccessChain 82(sizeQueryTemp) 70 + 91: 12(int) Load 90 + Store 69(ElementsU) 91 + 93: 83 Load 85(g_tTex1di4a) + 94: 64(ivec2) ImageQuerySizeLod 93 25 + Store 92(sizeQueryTemp) 94 + 95: 13(ptr) AccessChain 92(sizeQueryTemp) 66 + 96: 12(int) Load 95 + Store 21(WidthU) 96 + 97: 13(ptr) AccessChain 92(sizeQueryTemp) 70 + 98: 12(int) Load 97 + Store 69(ElementsU) 98 + 99: 83 Load 85(g_tTex1di4a) + 100: 19(int) ImageQueryLevels 99 + Store 28(NumberOfLevelsU) 100 + 105: 102 Load 104(g_tTex1du4a) + 106: 64(ivec2) ImageQuerySize 105 + Store 101(sizeQueryTemp) 106 + 107: 13(ptr) AccessChain 101(sizeQueryTemp) 66 + 108: 12(int) Load 107 + Store 21(WidthU) 108 + 109: 13(ptr) AccessChain 101(sizeQueryTemp) 70 + 110: 12(int) Load 109 + Store 69(ElementsU) 110 + 112: 102 Load 104(g_tTex1du4a) + 113: 64(ivec2) ImageQuerySizeLod 112 25 + Store 111(sizeQueryTemp) 113 + 114: 13(ptr) AccessChain 111(sizeQueryTemp) 66 + 115: 12(int) Load 114 + Store 21(WidthU) 115 + 116: 13(ptr) AccessChain 111(sizeQueryTemp) 70 + 117: 12(int) Load 116 + Store 69(ElementsU) 117 + 118: 102 Load 104(g_tTex1du4a) + 119: 19(int) ImageQueryLevels 118 + Store 28(NumberOfLevelsU) 119 + 124: 121 Load 123(g_tTex2df4) + 125: 64(ivec2) ImageQuerySize 124 + Store 120(sizeQueryTemp) 125 + 126: 13(ptr) AccessChain 120(sizeQueryTemp) 66 + 127: 12(int) Load 126 + Store 21(WidthU) 127 + 129: 13(ptr) AccessChain 120(sizeQueryTemp) 70 + 130: 12(int) Load 129 + Store 128(HeightU) 130 + 132: 121 Load 123(g_tTex2df4) + 133: 64(ivec2) ImageQuerySizeLod 132 25 + Store 131(sizeQueryTemp) 133 + 134: 13(ptr) AccessChain 131(sizeQueryTemp) 66 + 135: 12(int) Load 134 + Store 21(WidthU) 135 + 136: 13(ptr) AccessChain 131(sizeQueryTemp) 70 + 137: 12(int) Load 136 + Store 128(HeightU) 137 + 138: 121 Load 123(g_tTex2df4) + 139: 19(int) ImageQueryLevels 138 + Store 28(NumberOfLevelsU) 139 + 144: 141 Load 143(g_tTex2di4) + 145: 64(ivec2) ImageQuerySize 144 + Store 140(sizeQueryTemp) 145 + 146: 13(ptr) AccessChain 140(sizeQueryTemp) 66 + 147: 12(int) Load 146 + Store 21(WidthU) 147 + 148: 13(ptr) AccessChain 140(sizeQueryTemp) 70 + 149: 12(int) Load 148 + Store 128(HeightU) 149 + 151: 141 Load 143(g_tTex2di4) + 152: 64(ivec2) ImageQuerySizeLod 151 25 + Store 150(sizeQueryTemp) 152 + 153: 13(ptr) AccessChain 150(sizeQueryTemp) 66 + 154: 12(int) Load 153 + Store 21(WidthU) 154 + 155: 13(ptr) AccessChain 150(sizeQueryTemp) 70 + 156: 12(int) Load 155 + Store 128(HeightU) 156 + 157: 141 Load 143(g_tTex2di4) + 158: 19(int) ImageQueryLevels 157 + Store 28(NumberOfLevelsU) 158 + 163: 160 Load 162(g_tTex2du4) + 164: 64(ivec2) ImageQuerySize 163 + Store 159(sizeQueryTemp) 164 + 165: 13(ptr) AccessChain 159(sizeQueryTemp) 66 + 166: 12(int) Load 165 + Store 21(WidthU) 166 + 167: 13(ptr) AccessChain 159(sizeQueryTemp) 70 + 168: 12(int) Load 167 + Store 128(HeightU) 168 + 170: 160 Load 162(g_tTex2du4) + 171: 64(ivec2) ImageQuerySizeLod 170 25 + Store 169(sizeQueryTemp) 171 + 172: 13(ptr) AccessChain 169(sizeQueryTemp) 66 + 173: 12(int) Load 172 + Store 21(WidthU) 173 + 174: 13(ptr) AccessChain 169(sizeQueryTemp) 70 + 175: 12(int) Load 174 + Store 128(HeightU) 175 + 176: 160 Load 162(g_tTex2du4) + 177: 19(int) ImageQueryLevels 176 + Store 28(NumberOfLevelsU) 177 + 184: 181 Load 183(g_tTex2df4a) + 186: 185(ivec3) ImageQuerySize 184 + Store 180(sizeQueryTemp) 186 + 187: 13(ptr) AccessChain 180(sizeQueryTemp) 66 + 188: 12(int) Load 187 + Store 21(WidthU) 188 + 189: 13(ptr) AccessChain 180(sizeQueryTemp) 70 + 190: 12(int) Load 189 + Store 128(HeightU) 190 + 192: 13(ptr) AccessChain 180(sizeQueryTemp) 191 + 193: 12(int) Load 192 + Store 69(ElementsU) 193 + 195: 181 Load 183(g_tTex2df4a) + 196: 185(ivec3) ImageQuerySizeLod 195 25 + Store 194(sizeQueryTemp) 196 + 197: 13(ptr) AccessChain 194(sizeQueryTemp) 66 + 198: 12(int) Load 197 + Store 21(WidthU) 198 + 199: 13(ptr) AccessChain 194(sizeQueryTemp) 70 + 200: 12(int) Load 199 + Store 128(HeightU) 200 + 201: 13(ptr) AccessChain 194(sizeQueryTemp) 191 + 202: 12(int) Load 201 + Store 69(ElementsU) 202 + 203: 181 Load 183(g_tTex2df4a) + 204: 19(int) ImageQueryLevels 203 + Store 28(NumberOfLevelsU) 204 + 209: 206 Load 208(g_tTex2di4a) + 210: 185(ivec3) ImageQuerySize 209 + Store 205(sizeQueryTemp) 210 + 211: 13(ptr) AccessChain 205(sizeQueryTemp) 66 + 212: 12(int) Load 211 + Store 21(WidthU) 212 + 213: 13(ptr) AccessChain 205(sizeQueryTemp) 70 + 214: 12(int) Load 213 + Store 128(HeightU) 214 + 215: 13(ptr) AccessChain 205(sizeQueryTemp) 191 + 216: 12(int) Load 215 + Store 69(ElementsU) 216 + 218: 206 Load 208(g_tTex2di4a) + 219: 185(ivec3) ImageQuerySizeLod 218 25 + Store 217(sizeQueryTemp) 219 + 220: 13(ptr) AccessChain 217(sizeQueryTemp) 66 + 221: 12(int) Load 220 + Store 21(WidthU) 221 + 222: 13(ptr) AccessChain 217(sizeQueryTemp) 70 + 223: 12(int) Load 222 + Store 128(HeightU) 223 + 224: 13(ptr) AccessChain 217(sizeQueryTemp) 191 + 225: 12(int) Load 224 + Store 69(ElementsU) 225 + 226: 206 Load 208(g_tTex2di4a) + 227: 19(int) ImageQueryLevels 226 + Store 28(NumberOfLevelsU) 227 + 232: 229 Load 231(g_tTex2du4a) + 233: 185(ivec3) ImageQuerySize 232 + Store 228(sizeQueryTemp) 233 + 234: 13(ptr) AccessChain 228(sizeQueryTemp) 66 + 235: 12(int) Load 234 + Store 21(WidthU) 235 + 236: 13(ptr) AccessChain 228(sizeQueryTemp) 70 + 237: 12(int) Load 236 + Store 128(HeightU) 237 + 238: 13(ptr) AccessChain 228(sizeQueryTemp) 191 + 239: 12(int) Load 238 + Store 69(ElementsU) 239 + 241: 229 Load 231(g_tTex2du4a) + 242: 185(ivec3) ImageQuerySizeLod 241 25 + Store 240(sizeQueryTemp) 242 + 243: 13(ptr) AccessChain 240(sizeQueryTemp) 66 + 244: 12(int) Load 243 + Store 21(WidthU) 244 + 245: 13(ptr) AccessChain 240(sizeQueryTemp) 70 + 246: 12(int) Load 245 + Store 128(HeightU) 246 + 247: 13(ptr) AccessChain 240(sizeQueryTemp) 191 + 248: 12(int) Load 247 + Store 69(ElementsU) 248 + 249: 229 Load 231(g_tTex2du4a) + 250: 19(int) ImageQueryLevels 249 + Store 28(NumberOfLevelsU) 250 + 255: 252 Load 254(g_tTex3df4) + 256: 185(ivec3) ImageQuerySize 255 + Store 251(sizeQueryTemp) 256 + 257: 13(ptr) AccessChain 251(sizeQueryTemp) 66 + 258: 12(int) Load 257 + Store 21(WidthU) 258 + 259: 13(ptr) AccessChain 251(sizeQueryTemp) 70 + 260: 12(int) Load 259 + Store 128(HeightU) 260 + 262: 13(ptr) AccessChain 251(sizeQueryTemp) 191 + 263: 12(int) Load 262 + Store 261(DepthU) 263 + 265: 252 Load 254(g_tTex3df4) + 266: 185(ivec3) ImageQuerySizeLod 265 25 + Store 264(sizeQueryTemp) 266 + 267: 13(ptr) AccessChain 264(sizeQueryTemp) 66 + 268: 12(int) Load 267 + Store 21(WidthU) 268 + 269: 13(ptr) AccessChain 264(sizeQueryTemp) 70 + 270: 12(int) Load 269 + Store 128(HeightU) 270 + 271: 13(ptr) AccessChain 264(sizeQueryTemp) 191 + 272: 12(int) Load 271 + Store 261(DepthU) 272 + 273: 252 Load 254(g_tTex3df4) + 274: 19(int) ImageQueryLevels 273 + Store 28(NumberOfLevelsU) 274 + 279: 276 Load 278(g_tTex3di4) + 280: 185(ivec3) ImageQuerySize 279 + Store 275(sizeQueryTemp) 280 + 281: 13(ptr) AccessChain 275(sizeQueryTemp) 66 + 282: 12(int) Load 281 + Store 21(WidthU) 282 + 283: 13(ptr) AccessChain 275(sizeQueryTemp) 70 + 284: 12(int) Load 283 + Store 128(HeightU) 284 + 285: 13(ptr) AccessChain 275(sizeQueryTemp) 191 + 286: 12(int) Load 285 + Store 261(DepthU) 286 + 288: 276 Load 278(g_tTex3di4) + 289: 185(ivec3) ImageQuerySizeLod 288 25 + Store 287(sizeQueryTemp) 289 + 290: 13(ptr) AccessChain 287(sizeQueryTemp) 66 + 291: 12(int) Load 290 + Store 21(WidthU) 291 + 292: 13(ptr) AccessChain 287(sizeQueryTemp) 70 + 293: 12(int) Load 292 + Store 128(HeightU) 293 + 294: 13(ptr) AccessChain 287(sizeQueryTemp) 191 + 295: 12(int) Load 294 + Store 261(DepthU) 295 + 296: 276 Load 278(g_tTex3di4) + 297: 19(int) ImageQueryLevels 296 + Store 28(NumberOfLevelsU) 297 + 302: 299 Load 301(g_tTex3du4) + 303: 185(ivec3) ImageQuerySize 302 + Store 298(sizeQueryTemp) 303 + 304: 13(ptr) AccessChain 298(sizeQueryTemp) 66 + 305: 12(int) Load 304 + Store 21(WidthU) 305 + 306: 13(ptr) AccessChain 298(sizeQueryTemp) 70 + 307: 12(int) Load 306 + Store 128(HeightU) 307 + 308: 13(ptr) AccessChain 298(sizeQueryTemp) 191 + 309: 12(int) Load 308 + Store 261(DepthU) 309 + 311: 299 Load 301(g_tTex3du4) + 312: 185(ivec3) ImageQuerySizeLod 311 25 + Store 310(sizeQueryTemp) 312 + 313: 13(ptr) AccessChain 310(sizeQueryTemp) 66 + 314: 12(int) Load 313 + Store 21(WidthU) 314 + 315: 13(ptr) AccessChain 310(sizeQueryTemp) 70 + 316: 12(int) Load 315 + Store 128(HeightU) 316 + 317: 13(ptr) AccessChain 310(sizeQueryTemp) 191 + 318: 12(int) Load 317 + Store 261(DepthU) 318 + 319: 299 Load 301(g_tTex3du4) + 320: 19(int) ImageQueryLevels 319 + Store 28(NumberOfLevelsU) 320 + 325: 322 Load 324(g_tTexcdf4) + 326: 64(ivec2) ImageQuerySize 325 + Store 321(sizeQueryTemp) 326 + 327: 13(ptr) AccessChain 321(sizeQueryTemp) 66 + 328: 12(int) Load 327 + Store 21(WidthU) 328 + 329: 13(ptr) AccessChain 321(sizeQueryTemp) 70 + 330: 12(int) Load 329 + Store 128(HeightU) 330 + 332: 322 Load 324(g_tTexcdf4) + 333: 64(ivec2) ImageQuerySizeLod 332 25 + Store 331(sizeQueryTemp) 333 + 334: 13(ptr) AccessChain 331(sizeQueryTemp) 66 + 335: 12(int) Load 334 + Store 21(WidthU) 335 + 336: 13(ptr) AccessChain 331(sizeQueryTemp) 70 + 337: 12(int) Load 336 + Store 128(HeightU) 337 + 338: 322 Load 324(g_tTexcdf4) + 339: 19(int) ImageQueryLevels 338 + Store 28(NumberOfLevelsU) 339 + 344: 341 Load 343(g_tTexcdi4) + 345: 64(ivec2) ImageQuerySize 344 + Store 340(sizeQueryTemp) 345 + 346: 13(ptr) AccessChain 340(sizeQueryTemp) 66 + 347: 12(int) Load 346 + Store 21(WidthU) 347 + 348: 13(ptr) AccessChain 340(sizeQueryTemp) 70 + 349: 12(int) Load 348 + Store 128(HeightU) 349 + 351: 341 Load 343(g_tTexcdi4) + 352: 64(ivec2) ImageQuerySizeLod 351 25 + Store 350(sizeQueryTemp) 352 + 353: 13(ptr) AccessChain 350(sizeQueryTemp) 66 + 354: 12(int) Load 353 + Store 21(WidthU) 354 + 355: 13(ptr) AccessChain 350(sizeQueryTemp) 70 + 356: 12(int) Load 355 + Store 128(HeightU) 356 + 357: 341 Load 343(g_tTexcdi4) + 358: 19(int) ImageQueryLevels 357 + Store 28(NumberOfLevelsU) 358 + 363: 360 Load 362(g_tTexcdu4) + 364: 64(ivec2) ImageQuerySize 363 + Store 359(sizeQueryTemp) 364 + 365: 13(ptr) AccessChain 359(sizeQueryTemp) 66 + 366: 12(int) Load 365 + Store 21(WidthU) 366 + 367: 13(ptr) AccessChain 359(sizeQueryTemp) 70 + 368: 12(int) Load 367 + Store 128(HeightU) 368 + 370: 360 Load 362(g_tTexcdu4) + 371: 64(ivec2) ImageQuerySizeLod 370 25 + Store 369(sizeQueryTemp) 371 + 372: 13(ptr) AccessChain 369(sizeQueryTemp) 66 + 373: 12(int) Load 372 + Store 21(WidthU) 373 + 374: 13(ptr) AccessChain 369(sizeQueryTemp) 70 + 375: 12(int) Load 374 + Store 128(HeightU) 375 + 376: 360 Load 362(g_tTexcdu4) + 377: 19(int) ImageQueryLevels 376 + Store 28(NumberOfLevelsU) 377 + 382: 379 Load 381(g_tTexcdf4a) + 383: 185(ivec3) ImageQuerySize 382 + Store 378(sizeQueryTemp) 383 + 384: 13(ptr) AccessChain 378(sizeQueryTemp) 66 + 385: 12(int) Load 384 + Store 21(WidthU) 385 + 386: 13(ptr) AccessChain 378(sizeQueryTemp) 70 + 387: 12(int) Load 386 + Store 128(HeightU) 387 + 388: 13(ptr) AccessChain 378(sizeQueryTemp) 191 + 389: 12(int) Load 388 + Store 69(ElementsU) 389 + 391: 379 Load 381(g_tTexcdf4a) + 392: 185(ivec3) ImageQuerySizeLod 391 25 + Store 390(sizeQueryTemp) 392 + 393: 13(ptr) AccessChain 390(sizeQueryTemp) 66 + 394: 12(int) Load 393 + Store 21(WidthU) 394 + 395: 13(ptr) AccessChain 390(sizeQueryTemp) 70 + 396: 12(int) Load 395 + Store 128(HeightU) 396 + 397: 13(ptr) AccessChain 390(sizeQueryTemp) 191 + 398: 12(int) Load 397 + Store 69(ElementsU) 398 + 399: 379 Load 381(g_tTexcdf4a) + 400: 19(int) ImageQueryLevels 399 + Store 28(NumberOfLevelsU) 400 + 405: 402 Load 404(g_tTexcdi4a) + 406: 185(ivec3) ImageQuerySize 405 + Store 401(sizeQueryTemp) 406 + 407: 13(ptr) AccessChain 401(sizeQueryTemp) 66 + 408: 12(int) Load 407 + Store 21(WidthU) 408 + 409: 13(ptr) AccessChain 401(sizeQueryTemp) 70 + 410: 12(int) Load 409 + Store 128(HeightU) 410 + 411: 13(ptr) AccessChain 401(sizeQueryTemp) 191 + 412: 12(int) Load 411 + Store 69(ElementsU) 412 + 414: 402 Load 404(g_tTexcdi4a) + 415: 185(ivec3) ImageQuerySizeLod 414 25 + Store 413(sizeQueryTemp) 415 + 416: 13(ptr) AccessChain 413(sizeQueryTemp) 66 + 417: 12(int) Load 416 + Store 21(WidthU) 417 + 418: 13(ptr) AccessChain 413(sizeQueryTemp) 70 + 419: 12(int) Load 418 + Store 128(HeightU) 419 + 420: 13(ptr) AccessChain 413(sizeQueryTemp) 191 + 421: 12(int) Load 420 + Store 69(ElementsU) 421 + 422: 402 Load 404(g_tTexcdi4a) + 423: 19(int) ImageQueryLevels 422 + Store 28(NumberOfLevelsU) 423 + 428: 425 Load 427(g_tTexcdu4a) + 429: 185(ivec3) ImageQuerySize 428 + Store 424(sizeQueryTemp) 429 + 430: 13(ptr) AccessChain 424(sizeQueryTemp) 66 + 431: 12(int) Load 430 + Store 21(WidthU) 431 + 432: 13(ptr) AccessChain 424(sizeQueryTemp) 70 + 433: 12(int) Load 432 + Store 128(HeightU) 433 + 434: 13(ptr) AccessChain 424(sizeQueryTemp) 191 + 435: 12(int) Load 434 + Store 69(ElementsU) 435 + 437: 425 Load 427(g_tTexcdu4a) + 438: 185(ivec3) ImageQuerySizeLod 437 25 + Store 436(sizeQueryTemp) 438 + 439: 13(ptr) AccessChain 436(sizeQueryTemp) 66 + 440: 12(int) Load 439 + Store 21(WidthU) 440 + 441: 13(ptr) AccessChain 436(sizeQueryTemp) 70 + 442: 12(int) Load 441 + Store 128(HeightU) 442 + 443: 13(ptr) AccessChain 436(sizeQueryTemp) 191 + 444: 12(int) Load 443 + Store 69(ElementsU) 444 + 445: 425 Load 427(g_tTexcdu4a) + 446: 19(int) ImageQueryLevels 445 + Store 28(NumberOfLevelsU) 446 + 451: 448 Load 450(g_tTex2dmsf4) + 452: 64(ivec2) ImageQuerySize 451 + Store 447(sizeQueryTemp) 452 + 453: 13(ptr) AccessChain 447(sizeQueryTemp) 66 + 454: 12(int) Load 453 + Store 21(WidthU) 454 + 455: 13(ptr) AccessChain 447(sizeQueryTemp) 70 + 456: 12(int) Load 455 + Store 128(HeightU) 456 + 458: 448 Load 450(g_tTex2dmsf4) + 459: 19(int) ImageQuerySamples 458 + Store 457(NumberOfSamplesU) 459 + 464: 461 Load 463(g_tTex2dmsi4) + 465: 64(ivec2) ImageQuerySize 464 + Store 460(sizeQueryTemp) 465 + 466: 13(ptr) AccessChain 460(sizeQueryTemp) 66 + 467: 12(int) Load 466 + Store 21(WidthU) 467 + 468: 13(ptr) AccessChain 460(sizeQueryTemp) 70 + 469: 12(int) Load 468 + Store 128(HeightU) 469 + 470: 461 Load 463(g_tTex2dmsi4) + 471: 19(int) ImageQuerySamples 470 + Store 457(NumberOfSamplesU) 471 + 476: 473 Load 475(g_tTex2dmsu4) + 477: 64(ivec2) ImageQuerySize 476 + Store 472(sizeQueryTemp) 477 + 478: 13(ptr) AccessChain 472(sizeQueryTemp) 66 + 479: 12(int) Load 478 + Store 21(WidthU) 479 + 480: 13(ptr) AccessChain 472(sizeQueryTemp) 70 + 481: 12(int) Load 480 + Store 128(HeightU) 481 + 482: 473 Load 475(g_tTex2dmsu4) + 483: 19(int) ImageQuerySamples 482 + Store 457(NumberOfSamplesU) 483 + 488: 485 Load 487(g_tTex2dmsf4a) + 489: 185(ivec3) ImageQuerySize 488 + Store 484(sizeQueryTemp) 489 + 490: 13(ptr) AccessChain 484(sizeQueryTemp) 66 + 491: 12(int) Load 490 + Store 21(WidthU) 491 + 492: 13(ptr) AccessChain 484(sizeQueryTemp) 70 + 493: 12(int) Load 492 + Store 128(HeightU) 493 + 494: 13(ptr) AccessChain 484(sizeQueryTemp) 191 + 495: 12(int) Load 494 + Store 69(ElementsU) 495 + 496: 485 Load 487(g_tTex2dmsf4a) + 497: 19(int) ImageQuerySamples 496 + Store 457(NumberOfSamplesU) 497 + 502: 499 Load 501(g_tTex2dmsi4a) + 503: 185(ivec3) ImageQuerySize 502 + Store 498(sizeQueryTemp) 503 + 504: 13(ptr) AccessChain 498(sizeQueryTemp) 66 + 505: 12(int) Load 504 + Store 21(WidthU) 505 + 506: 13(ptr) AccessChain 498(sizeQueryTemp) 70 + 507: 12(int) Load 506 + Store 128(HeightU) 507 + 508: 13(ptr) AccessChain 498(sizeQueryTemp) 191 + 509: 12(int) Load 508 + Store 69(ElementsU) 509 + 510: 499 Load 501(g_tTex2dmsi4a) + 511: 19(int) ImageQuerySamples 510 + Store 457(NumberOfSamplesU) 511 + 516: 513 Load 515(g_tTex2dmsu4a) + 517: 185(ivec3) ImageQuerySize 516 + Store 512(sizeQueryTemp) 517 + 518: 13(ptr) AccessChain 512(sizeQueryTemp) 66 + 519: 12(int) Load 518 + Store 21(WidthU) 519 + 520: 13(ptr) AccessChain 512(sizeQueryTemp) 70 + 521: 12(int) Load 520 + Store 128(HeightU) 521 + 522: 13(ptr) AccessChain 512(sizeQueryTemp) 191 + 523: 12(int) Load 522 + Store 69(ElementsU) 523 + 524: 513 Load 515(g_tTex2dmsu4a) + 525: 19(int) ImageQuerySamples 524 + Store 457(NumberOfSamplesU) 525 + 532: 531(ptr) AccessChain 527(psout) 528 + Store 532 530 + 535: 534(ptr) AccessChain 527(psout) 533 + Store 535 529 + 536:8(PS_OUTPUT) Load 527(psout) + ReturnValue 536 + FunctionEnd diff --git a/Test/baseResults/hlsl.getdimensions.dx10.vert.out b/Test/baseResults/hlsl.getdimensions.dx10.vert.out index 85a25af4..698a61ab 100644 --- a/Test/baseResults/hlsl.getdimensions.dx10.vert.out +++ b/Test/baseResults/hlsl.getdimensions.dx10.vert.out @@ -1,7 +1,7 @@ hlsl.getdimensions.dx10.vert Shader version: 450 0:? Sequence -0:11 Function Definition: main( (temp structure{temp 4-component vector of float Position Pos}) +0:11 Function Definition: @main( (temp structure{temp 4-component vector of float Position Pos}) 0:11 Function Parameters: 0:? Sequence 0:21 Sequence @@ -36,19 +36,22 @@ Shader version: 450 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:26 Sequence -0:26 Sequence -0:26 move second child to first child (temp 4-component vector of float) -0:? 'Pos' (out 4-component vector of float Position) -0:26 Pos: direct index for structure (temp 4-component vector of float) -0:26 'vsout' (temp structure{temp 4-component vector of float Pos}) -0:26 Constant: -0:26 0 (const int) -0:26 Branch: Return +0:26 Branch: Return with expression +0:26 'vsout' (temp structure{temp 4-component vector of float Pos}) +0:11 Function Definition: main( (temp void) +0:11 Function Parameters: +0:? Sequence +0:11 Sequence +0:11 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput_Pos' (out 4-component vector of float Position) +0:11 Pos: direct index for structure (temp 4-component vector of float Position) +0:11 Function Call: @main( (temp structure{temp 4-component vector of float Position Pos}) +0:11 Constant: +0:11 0 (const int) 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos}) +0:? 'PerVertex_out' (out block{out 4-component vector of float Position @entryPointOutput_Pos}) Linked vertex stage: @@ -56,7 +59,7 @@ Linked vertex stage: Shader version: 450 0:? Sequence -0:11 Function Definition: main( (temp structure{temp 4-component vector of float Position Pos}) +0:11 Function Definition: @main( (temp structure{temp 4-component vector of float Position Pos}) 0:11 Function Parameters: 0:? Sequence 0:21 Sequence @@ -91,100 +94,120 @@ Shader version: 450 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:26 Sequence -0:26 Sequence -0:26 move second child to first child (temp 4-component vector of float) -0:? 'Pos' (out 4-component vector of float Position) -0:26 Pos: direct index for structure (temp 4-component vector of float) -0:26 'vsout' (temp structure{temp 4-component vector of float Pos}) -0:26 Constant: -0:26 0 (const int) -0:26 Branch: Return +0:26 Branch: Return with expression +0:26 'vsout' (temp structure{temp 4-component vector of float Pos}) +0:11 Function Definition: main( (temp void) +0:11 Function Parameters: +0:? Sequence +0:11 Sequence +0:11 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput_Pos' (out 4-component vector of float Position) +0:11 Pos: direct index for structure (temp 4-component vector of float Position) +0:11 Function Call: @main( (temp structure{temp 4-component vector of float Position Pos}) +0:11 Constant: +0:11 0 (const int) 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos}) +0:? 'PerVertex_out' (out block{out 4-component vector of float Position @entryPointOutput_Pos}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 46 +// Id's are bound by 57 Capability Shader Capability Sampled1D Capability ImageQuery 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" 36 45 + EntryPoint Vertex 4 "main" 48 56 Name 4 "main" - Name 8 "sizeQueryTemp" - Name 12 "g_tTex1df4" - Name 16 "WidthU" - Name 18 "sizeQueryTemp" - Name 23 "NumberOfLevelsU" - Name 27 "VS_OUTPUT" - MemberName 27(VS_OUTPUT) 0 "Pos" - Name 29 "vsout" - Name 36 "Pos" - Name 42 "g_sSamp" - Name 43 "PerVertex_out" - MemberName 43(PerVertex_out) 0 "Pos" - Name 45 "PerVertex_out" - Decorate 12(g_tTex1df4) DescriptorSet 0 - Decorate 12(g_tTex1df4) Binding 0 - Decorate 36(Pos) BuiltIn Position - Decorate 42(g_sSamp) DescriptorSet 0 - Decorate 42(g_sSamp) Binding 0 - MemberDecorate 43(PerVertex_out) 0 BuiltIn Position - Decorate 43(PerVertex_out) Block + Name 8 "VS_OUTPUT" + MemberName 8(VS_OUTPUT) 0 "Pos" + Name 10 "@main(" + Name 14 "sizeQueryTemp" + Name 17 "g_tTex1df4" + Name 21 "WidthU" + Name 23 "sizeQueryTemp" + Name 28 "NumberOfLevelsU" + Name 31 "VS_OUTPUT" + MemberName 31(VS_OUTPUT) 0 "Pos" + Name 33 "vsout" + Name 48 "@entryPointOutput_Pos" + Name 53 "g_sSamp" + Name 54 "PerVertex_out" + MemberName 54(PerVertex_out) 0 "@entryPointOutput_Pos" + Name 56 "PerVertex_out" + MemberDecorate 8(VS_OUTPUT) 0 BuiltIn Position + Decorate 17(g_tTex1df4) DescriptorSet 0 + Decorate 17(g_tTex1df4) Binding 0 + Decorate 48(@entryPointOutput_Pos) BuiltIn Position + Decorate 53(g_sSamp) DescriptorSet 0 + Decorate 53(g_sSamp) Binding 0 + MemberDecorate 54(PerVertex_out) 0 BuiltIn Position + Decorate 54(PerVertex_out) Block 2: TypeVoid 3: TypeFunction 2 - 6: TypeInt 32 0 - 7: TypePointer Function 6(int) - 9: TypeFloat 32 - 10: TypeImage 9(float) 1D sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex1df4): 11(ptr) Variable UniformConstant - 14: TypeInt 32 1 - 20: 6(int) Constant 6 - 26: TypeVector 9(float) 4 - 27(VS_OUTPUT): TypeStruct 26(fvec4) - 28: TypePointer Function 27(VS_OUTPUT) - 30: 14(int) Constant 0 - 31: 9(float) Constant 0 - 32: 26(fvec4) ConstantComposite 31 31 31 31 - 33: TypePointer Function 26(fvec4) - 35: TypePointer Output 26(fvec4) - 36(Pos): 35(ptr) Variable Output - 40: TypeSampler - 41: TypePointer UniformConstant 40 - 42(g_sSamp): 41(ptr) Variable UniformConstant -43(PerVertex_out): TypeStruct 26(fvec4) - 44: TypePointer Output 43(PerVertex_out) -45(PerVertex_out): 44(ptr) Variable Output + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8(VS_OUTPUT): TypeStruct 7(fvec4) + 9: TypeFunction 8(VS_OUTPUT) + 12: TypeInt 32 0 + 13: TypePointer Function 12(int) + 15: TypeImage 6(float) 1D sampled format:Unknown + 16: TypePointer UniformConstant 15 + 17(g_tTex1df4): 16(ptr) Variable UniformConstant + 19: TypeInt 32 1 + 25: 12(int) Constant 6 + 31(VS_OUTPUT): TypeStruct 7(fvec4) + 32: TypePointer Function 31(VS_OUTPUT) + 34: 19(int) Constant 0 + 35: 6(float) Constant 0 + 36: 7(fvec4) ConstantComposite 35 35 35 35 + 37: TypePointer Function 7(fvec4) + 40: TypePointer Function 8(VS_OUTPUT) + 47: TypePointer Output 7(fvec4) +48(@entryPointOutput_Pos): 47(ptr) Variable Output + 51: TypeSampler + 52: TypePointer UniformConstant 51 + 53(g_sSamp): 52(ptr) Variable UniformConstant +54(PerVertex_out): TypeStruct 7(fvec4) + 55: TypePointer Output 54(PerVertex_out) +56(PerVertex_out): 55(ptr) Variable Output 4(main): 2 Function None 3 5: Label -8(sizeQueryTemp): 7(ptr) Variable Function - 16(WidthU): 7(ptr) Variable Function -18(sizeQueryTemp): 7(ptr) Variable Function -23(NumberOfLevelsU): 7(ptr) Variable Function - 29(vsout): 28(ptr) Variable Function - 13: 10 Load 12(g_tTex1df4) - 15: 14(int) ImageQuerySize 13 - Store 8(sizeQueryTemp) 15 - 17: 6(int) Load 8(sizeQueryTemp) - Store 16(WidthU) 17 - 19: 10 Load 12(g_tTex1df4) - 21: 14(int) ImageQuerySizeLod 19 20 - Store 18(sizeQueryTemp) 21 - 22: 6(int) Load 18(sizeQueryTemp) - Store 16(WidthU) 22 - 24: 10 Load 12(g_tTex1df4) - 25: 14(int) ImageQueryLevels 24 - Store 23(NumberOfLevelsU) 25 - 34: 33(ptr) AccessChain 29(vsout) 30 - Store 34 32 - 37: 33(ptr) AccessChain 29(vsout) 30 - 38: 26(fvec4) Load 37 - Store 36(Pos) 38 + 49:8(VS_OUTPUT) FunctionCall 10(@main() + 50: 7(fvec4) CompositeExtract 49 0 + Store 48(@entryPointOutput_Pos) 50 Return FunctionEnd + 10(@main():8(VS_OUTPUT) Function None 9 + 11: Label +14(sizeQueryTemp): 13(ptr) Variable Function + 21(WidthU): 13(ptr) Variable Function +23(sizeQueryTemp): 13(ptr) Variable Function +28(NumberOfLevelsU): 13(ptr) Variable Function + 33(vsout): 32(ptr) Variable Function + 41: 40(ptr) Variable Function + 18: 15 Load 17(g_tTex1df4) + 20: 19(int) ImageQuerySize 18 + Store 14(sizeQueryTemp) 20 + 22: 12(int) Load 14(sizeQueryTemp) + Store 21(WidthU) 22 + 24: 15 Load 17(g_tTex1df4) + 26: 19(int) ImageQuerySizeLod 24 25 + Store 23(sizeQueryTemp) 26 + 27: 12(int) Load 23(sizeQueryTemp) + Store 21(WidthU) 27 + 29: 15 Load 17(g_tTex1df4) + 30: 19(int) ImageQueryLevels 29 + Store 28(NumberOfLevelsU) 30 + 38: 37(ptr) AccessChain 33(vsout) 34 + Store 38 36 + 39:31(VS_OUTPUT) Load 33(vsout) + 42: 7(fvec4) CompositeExtract 39 0 + 43: 37(ptr) AccessChain 41 34 + Store 43 42 + 44:8(VS_OUTPUT) Load 41 + ReturnValue 44 + FunctionEnd diff --git a/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out b/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out index 918246b6..543ba944 100644 --- a/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out +++ b/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.getdimensions.rw.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:44 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:44 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:44 Function Parameters: 0:? Sequence 0:63 Sequence @@ -310,24 +310,28 @@ gl_FragCoord origin is upper left 0:93 1 (const int) 0:93 Constant: 0:93 1.000000 -0:95 Sequence -0:95 Sequence -0:95 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:95 Color: direct index for structure (temp 4-component vector of float) -0:95 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:95 Constant: -0:95 0 (const int) -0:95 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:95 Depth: direct index for structure (temp float) -0:95 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:95 Constant: -0:95 1 (const int) -0:95 Branch: Return +0:95 Branch: Return with expression +0:95 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:44 Function Definition: main( (temp void) +0:44 Function Parameters: +0:? Sequence +0:44 Sequence +0:44 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:44 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:44 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:44 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:44 Color: direct index for structure (temp 4-component vector of float) +0:44 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:44 Constant: +0:44 0 (const int) +0:44 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:44 Depth: direct index for structure (temp float) +0:44 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:44 Constant: +0:44 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) 0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) @@ -347,6 +351,8 @@ gl_FragCoord origin is upper left 0:? 'g_tBuffF' (layout(rgba32f ) uniform imageBuffer) 0:? 'g_tBuffI' (layout(rgba32i ) uniform iimageBuffer) 0:? 'g_tBuffU' (layout(rgba32ui ) uniform uimageBuffer) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) @@ -356,7 +362,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:44 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:44 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:44 Function Parameters: 0:? Sequence 0:63 Sequence @@ -664,24 +670,28 @@ gl_FragCoord origin is upper left 0:93 1 (const int) 0:93 Constant: 0:93 1.000000 -0:95 Sequence -0:95 Sequence -0:95 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:95 Color: direct index for structure (temp 4-component vector of float) -0:95 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:95 Constant: -0:95 0 (const int) -0:95 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:95 Depth: direct index for structure (temp float) -0:95 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:95 Constant: -0:95 1 (const int) -0:95 Branch: Return +0:95 Branch: Return with expression +0:95 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:44 Function Definition: main( (temp void) +0:44 Function Parameters: +0:? Sequence +0:44 Sequence +0:44 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:44 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:44 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:44 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:44 Color: direct index for structure (temp 4-component vector of float) +0:44 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:44 Constant: +0:44 0 (const int) +0:44 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:44 Depth: direct index for structure (temp float) +0:44 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:44 Constant: +0:44 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) 0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) @@ -701,11 +711,13 @@ gl_FragCoord origin is upper left 0:? 'g_tBuffF' (layout(rgba32f ) uniform imageBuffer) 0:? 'g_tBuffI' (layout(rgba32i ) uniform iimageBuffer) 0:? 'g_tBuffU' (layout(rgba32ui ) uniform uimageBuffer) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 225 +// Id's are bound by 232 Capability Shader Capability Sampled1D @@ -713,378 +725,389 @@ gl_FragCoord origin is upper left Capability ImageQuery 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 210 214 + EntryPoint Fragment 4 "main" 218 222 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "sizeQueryTemp" - Name 12 "g_tTex1df4" - Name 16 "WidthU" - Name 18 "sizeQueryTemp" - Name 21 "g_tTex1di4" - Name 25 "sizeQueryTemp" - Name 28 "g_tTex1du4" - Name 32 "sizeQueryTemp" - Name 35 "g_tBuffF" - Name 39 "sizeQueryTemp" - Name 42 "g_tBuffI" - Name 46 "sizeQueryTemp" - Name 49 "g_tBuffU" - Name 55 "sizeQueryTemp" - Name 58 "g_tTex1df4a" - Name 65 "ElementsU" - Name 69 "sizeQueryTemp" - Name 72 "g_tTex1di4a" - Name 79 "sizeQueryTemp" - Name 82 "g_tTex1du4a" - Name 89 "sizeQueryTemp" - Name 92 "g_tTex2df4" - Name 97 "HeightU" - Name 100 "sizeQueryTemp" - Name 103 "g_tTex2di4" - Name 110 "sizeQueryTemp" - Name 113 "g_tTex2du4" - Name 122 "sizeQueryTemp" - Name 125 "g_tTex2df4a" - Name 136 "sizeQueryTemp" - Name 139 "g_tTex2di4a" - Name 148 "sizeQueryTemp" - Name 151 "g_tTex2du4a" - Name 160 "sizeQueryTemp" - Name 163 "g_tTex3df4" - Name 170 "DepthU" - Name 173 "sizeQueryTemp" - Name 176 "g_tTex3di4" - Name 185 "sizeQueryTemp" - Name 188 "g_tTex3du4" - Name 198 "PS_OUTPUT" - MemberName 198(PS_OUTPUT) 0 "Color" - MemberName 198(PS_OUTPUT) 1 "Depth" - Name 200 "psout" - Name 210 "Color" - Name 214 "Depth" - Name 220 "g_sSamp" - Name 222 "$Global" - MemberName 222($Global) 0 "c1" - MemberName 222($Global) 1 "c2" - MemberName 222($Global) 2 "c3" - MemberName 222($Global) 3 "c4" - MemberName 222($Global) 4 "o1" - MemberName 222($Global) 5 "o2" - MemberName 222($Global) 6 "o3" - MemberName 222($Global) 7 "o4" - Name 224 "" - Decorate 12(g_tTex1df4) DescriptorSet 0 - Decorate 12(g_tTex1df4) Binding 0 - Decorate 21(g_tTex1di4) DescriptorSet 0 - Decorate 28(g_tTex1du4) DescriptorSet 0 - Decorate 35(g_tBuffF) DescriptorSet 0 - Decorate 42(g_tBuffI) DescriptorSet 0 - Decorate 49(g_tBuffU) DescriptorSet 0 - Decorate 58(g_tTex1df4a) DescriptorSet 0 - Decorate 72(g_tTex1di4a) DescriptorSet 0 - Decorate 82(g_tTex1du4a) DescriptorSet 0 - Decorate 92(g_tTex2df4) DescriptorSet 0 - Decorate 103(g_tTex2di4) DescriptorSet 0 - Decorate 113(g_tTex2du4) DescriptorSet 0 - Decorate 125(g_tTex2df4a) DescriptorSet 0 - Decorate 139(g_tTex2di4a) DescriptorSet 0 - Decorate 151(g_tTex2du4a) DescriptorSet 0 - Decorate 163(g_tTex3df4) DescriptorSet 0 - Decorate 176(g_tTex3di4) DescriptorSet 0 - Decorate 188(g_tTex3du4) DescriptorSet 0 - Decorate 210(Color) Location 0 - Decorate 214(Depth) BuiltIn FragDepth - Decorate 220(g_sSamp) DescriptorSet 0 - Decorate 220(g_sSamp) Binding 0 - MemberDecorate 222($Global) 0 Offset 0 - MemberDecorate 222($Global) 1 Offset 8 - MemberDecorate 222($Global) 2 Offset 16 - MemberDecorate 222($Global) 3 Offset 32 - MemberDecorate 222($Global) 4 Offset 48 - MemberDecorate 222($Global) 5 Offset 56 - MemberDecorate 222($Global) 6 Offset 64 - MemberDecorate 222($Global) 7 Offset 80 - Decorate 222($Global) Block - Decorate 224 DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 14 "sizeQueryTemp" + Name 17 "g_tTex1df4" + Name 21 "WidthU" + Name 23 "sizeQueryTemp" + Name 26 "g_tTex1di4" + Name 30 "sizeQueryTemp" + Name 33 "g_tTex1du4" + Name 37 "sizeQueryTemp" + Name 40 "g_tBuffF" + Name 44 "sizeQueryTemp" + Name 47 "g_tBuffI" + Name 51 "sizeQueryTemp" + Name 54 "g_tBuffU" + Name 60 "sizeQueryTemp" + Name 63 "g_tTex1df4a" + Name 70 "ElementsU" + Name 74 "sizeQueryTemp" + Name 77 "g_tTex1di4a" + Name 84 "sizeQueryTemp" + Name 87 "g_tTex1du4a" + Name 94 "sizeQueryTemp" + Name 97 "g_tTex2df4" + Name 102 "HeightU" + Name 105 "sizeQueryTemp" + Name 108 "g_tTex2di4" + Name 115 "sizeQueryTemp" + Name 118 "g_tTex2du4" + Name 127 "sizeQueryTemp" + Name 130 "g_tTex2df4a" + Name 141 "sizeQueryTemp" + Name 144 "g_tTex2di4a" + Name 153 "sizeQueryTemp" + Name 156 "g_tTex2du4a" + Name 165 "sizeQueryTemp" + Name 168 "g_tTex3df4" + Name 175 "DepthU" + Name 178 "sizeQueryTemp" + Name 181 "g_tTex3di4" + Name 190 "sizeQueryTemp" + Name 193 "g_tTex3du4" + Name 203 "psout" + Name 215 "flattenTemp" + Name 218 "Color" + Name 222 "Depth" + Name 227 "g_sSamp" + Name 229 "$Global" + MemberName 229($Global) 0 "c1" + MemberName 229($Global) 1 "c2" + MemberName 229($Global) 2 "c3" + MemberName 229($Global) 3 "c4" + MemberName 229($Global) 4 "o1" + MemberName 229($Global) 5 "o2" + MemberName 229($Global) 6 "o3" + MemberName 229($Global) 7 "o4" + Name 231 "" + Decorate 17(g_tTex1df4) DescriptorSet 0 + Decorate 17(g_tTex1df4) Binding 0 + Decorate 26(g_tTex1di4) DescriptorSet 0 + Decorate 33(g_tTex1du4) DescriptorSet 0 + Decorate 40(g_tBuffF) DescriptorSet 0 + Decorate 47(g_tBuffI) DescriptorSet 0 + Decorate 54(g_tBuffU) DescriptorSet 0 + Decorate 63(g_tTex1df4a) DescriptorSet 0 + Decorate 77(g_tTex1di4a) DescriptorSet 0 + Decorate 87(g_tTex1du4a) DescriptorSet 0 + Decorate 97(g_tTex2df4) DescriptorSet 0 + Decorate 108(g_tTex2di4) DescriptorSet 0 + Decorate 118(g_tTex2du4) DescriptorSet 0 + Decorate 130(g_tTex2df4a) DescriptorSet 0 + Decorate 144(g_tTex2di4a) DescriptorSet 0 + Decorate 156(g_tTex2du4a) DescriptorSet 0 + Decorate 168(g_tTex3df4) DescriptorSet 0 + Decorate 181(g_tTex3di4) DescriptorSet 0 + Decorate 193(g_tTex3du4) DescriptorSet 0 + Decorate 218(Color) Location 0 + Decorate 222(Depth) BuiltIn FragDepth + Decorate 227(g_sSamp) DescriptorSet 0 + Decorate 227(g_sSamp) Binding 0 + MemberDecorate 229($Global) 0 Offset 0 + MemberDecorate 229($Global) 1 Offset 8 + MemberDecorate 229($Global) 2 Offset 16 + MemberDecorate 229($Global) 3 Offset 32 + MemberDecorate 229($Global) 4 Offset 48 + MemberDecorate 229($Global) 5 Offset 56 + MemberDecorate 229($Global) 6 Offset 64 + MemberDecorate 229($Global) 7 Offset 80 + Decorate 229($Global) Block + Decorate 231 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 - 6: TypeInt 32 0 - 7: TypePointer Function 6(int) - 9: TypeFloat 32 - 10: TypeImage 9(float) 1D nonsampled format:Rgba32f - 11: TypePointer UniformConstant 10 - 12(g_tTex1df4): 11(ptr) Variable UniformConstant - 14: TypeInt 32 1 - 19: TypeImage 14(int) 1D nonsampled format:Rgba32i - 20: TypePointer UniformConstant 19 - 21(g_tTex1di4): 20(ptr) Variable UniformConstant - 26: TypeImage 6(int) 1D nonsampled format:Rgba32ui - 27: TypePointer UniformConstant 26 - 28(g_tTex1du4): 27(ptr) Variable UniformConstant - 33: TypeImage 9(float) Buffer nonsampled format:Rgba32f - 34: TypePointer UniformConstant 33 - 35(g_tBuffF): 34(ptr) Variable UniformConstant - 40: TypeImage 14(int) Buffer nonsampled format:Rgba32i - 41: TypePointer UniformConstant 40 - 42(g_tBuffI): 41(ptr) Variable UniformConstant - 47: TypeImage 6(int) Buffer nonsampled format:Rgba32ui - 48: TypePointer UniformConstant 47 - 49(g_tBuffU): 48(ptr) Variable UniformConstant - 53: TypeVector 6(int) 2 - 54: TypePointer Function 53(ivec2) - 56: TypeImage 9(float) 1D array nonsampled format:Rgba32f - 57: TypePointer UniformConstant 56 - 58(g_tTex1df4a): 57(ptr) Variable UniformConstant - 60: TypeVector 14(int) 2 - 62: 6(int) Constant 0 - 66: 6(int) Constant 1 - 70: TypeImage 14(int) 1D array nonsampled format:Rgba32i - 71: TypePointer UniformConstant 70 - 72(g_tTex1di4a): 71(ptr) Variable UniformConstant - 80: TypeImage 6(int) 1D array nonsampled format:Rgba32ui - 81: TypePointer UniformConstant 80 - 82(g_tTex1du4a): 81(ptr) Variable UniformConstant - 90: TypeImage 9(float) 2D nonsampled format:Rgba32f - 91: TypePointer UniformConstant 90 - 92(g_tTex2df4): 91(ptr) Variable UniformConstant - 101: TypeImage 14(int) 2D nonsampled format:Rgba32i - 102: TypePointer UniformConstant 101 - 103(g_tTex2di4): 102(ptr) Variable UniformConstant - 111: TypeImage 6(int) 2D nonsampled format:Rgba32ui - 112: TypePointer UniformConstant 111 - 113(g_tTex2du4): 112(ptr) Variable UniformConstant - 120: TypeVector 6(int) 3 - 121: TypePointer Function 120(ivec3) - 123: TypeImage 9(float) 2D array nonsampled format:Rgba32f - 124: TypePointer UniformConstant 123 -125(g_tTex2df4a): 124(ptr) Variable UniformConstant - 127: TypeVector 14(int) 3 - 133: 6(int) Constant 2 - 137: TypeImage 14(int) 2D array nonsampled format:Rgba32i - 138: TypePointer UniformConstant 137 -139(g_tTex2di4a): 138(ptr) Variable UniformConstant - 149: TypeImage 6(int) 2D array nonsampled format:Rgba32ui - 150: TypePointer UniformConstant 149 -151(g_tTex2du4a): 150(ptr) Variable UniformConstant - 161: TypeImage 9(float) 3D nonsampled format:Rgba32f - 162: TypePointer UniformConstant 161 - 163(g_tTex3df4): 162(ptr) Variable UniformConstant - 174: TypeImage 14(int) 3D nonsampled format:Rgba32i - 175: TypePointer UniformConstant 174 - 176(g_tTex3di4): 175(ptr) Variable UniformConstant - 186: TypeImage 6(int) 3D nonsampled format:Rgba32ui - 187: TypePointer UniformConstant 186 - 188(g_tTex3du4): 187(ptr) Variable UniformConstant - 197: TypeVector 9(float) 4 - 198(PS_OUTPUT): TypeStruct 197(fvec4) 9(float) - 199: TypePointer Function 198(PS_OUTPUT) - 201: 14(int) Constant 0 - 202: 9(float) Constant 1065353216 - 203: 197(fvec4) ConstantComposite 202 202 202 202 - 204: TypePointer Function 197(fvec4) - 206: 14(int) Constant 1 - 207: TypePointer Function 9(float) - 209: TypePointer Output 197(fvec4) - 210(Color): 209(ptr) Variable Output - 213: TypePointer Output 9(float) - 214(Depth): 213(ptr) Variable Output - 218: TypeSampler - 219: TypePointer UniformConstant 218 - 220(g_sSamp): 219(ptr) Variable UniformConstant - 221: TypeVector 14(int) 4 - 222($Global): TypeStruct 14(int) 60(ivec2) 127(ivec3) 221(ivec4) 14(int) 60(ivec2) 127(ivec3) 221(ivec4) - 223: TypePointer Uniform 222($Global) - 224: 223(ptr) Variable Uniform + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypeInt 32 0 + 13: TypePointer Function 12(int) + 15: TypeImage 6(float) 1D nonsampled format:Rgba32f + 16: TypePointer UniformConstant 15 + 17(g_tTex1df4): 16(ptr) Variable UniformConstant + 19: TypeInt 32 1 + 24: TypeImage 19(int) 1D nonsampled format:Rgba32i + 25: TypePointer UniformConstant 24 + 26(g_tTex1di4): 25(ptr) Variable UniformConstant + 31: TypeImage 12(int) 1D nonsampled format:Rgba32ui + 32: TypePointer UniformConstant 31 + 33(g_tTex1du4): 32(ptr) Variable UniformConstant + 38: TypeImage 6(float) Buffer nonsampled format:Rgba32f + 39: TypePointer UniformConstant 38 + 40(g_tBuffF): 39(ptr) Variable UniformConstant + 45: TypeImage 19(int) Buffer nonsampled format:Rgba32i + 46: TypePointer UniformConstant 45 + 47(g_tBuffI): 46(ptr) Variable UniformConstant + 52: TypeImage 12(int) Buffer nonsampled format:Rgba32ui + 53: TypePointer UniformConstant 52 + 54(g_tBuffU): 53(ptr) Variable UniformConstant + 58: TypeVector 12(int) 2 + 59: TypePointer Function 58(ivec2) + 61: TypeImage 6(float) 1D array nonsampled format:Rgba32f + 62: TypePointer UniformConstant 61 + 63(g_tTex1df4a): 62(ptr) Variable UniformConstant + 65: TypeVector 19(int) 2 + 67: 12(int) Constant 0 + 71: 12(int) Constant 1 + 75: TypeImage 19(int) 1D array nonsampled format:Rgba32i + 76: TypePointer UniformConstant 75 + 77(g_tTex1di4a): 76(ptr) Variable UniformConstant + 85: TypeImage 12(int) 1D array nonsampled format:Rgba32ui + 86: TypePointer UniformConstant 85 + 87(g_tTex1du4a): 86(ptr) Variable UniformConstant + 95: TypeImage 6(float) 2D nonsampled format:Rgba32f + 96: TypePointer UniformConstant 95 + 97(g_tTex2df4): 96(ptr) Variable UniformConstant + 106: TypeImage 19(int) 2D nonsampled format:Rgba32i + 107: TypePointer UniformConstant 106 + 108(g_tTex2di4): 107(ptr) Variable UniformConstant + 116: TypeImage 12(int) 2D nonsampled format:Rgba32ui + 117: TypePointer UniformConstant 116 + 118(g_tTex2du4): 117(ptr) Variable UniformConstant + 125: TypeVector 12(int) 3 + 126: TypePointer Function 125(ivec3) + 128: TypeImage 6(float) 2D array nonsampled format:Rgba32f + 129: TypePointer UniformConstant 128 +130(g_tTex2df4a): 129(ptr) Variable UniformConstant + 132: TypeVector 19(int) 3 + 138: 12(int) Constant 2 + 142: TypeImage 19(int) 2D array nonsampled format:Rgba32i + 143: TypePointer UniformConstant 142 +144(g_tTex2di4a): 143(ptr) Variable UniformConstant + 154: TypeImage 12(int) 2D array nonsampled format:Rgba32ui + 155: TypePointer UniformConstant 154 +156(g_tTex2du4a): 155(ptr) Variable UniformConstant + 166: TypeImage 6(float) 3D nonsampled format:Rgba32f + 167: TypePointer UniformConstant 166 + 168(g_tTex3df4): 167(ptr) Variable UniformConstant + 179: TypeImage 19(int) 3D nonsampled format:Rgba32i + 180: TypePointer UniformConstant 179 + 181(g_tTex3di4): 180(ptr) Variable UniformConstant + 191: TypeImage 12(int) 3D nonsampled format:Rgba32ui + 192: TypePointer UniformConstant 191 + 193(g_tTex3du4): 192(ptr) Variable UniformConstant + 202: TypePointer Function 8(PS_OUTPUT) + 204: 19(int) Constant 0 + 205: 6(float) Constant 1065353216 + 206: 7(fvec4) ConstantComposite 205 205 205 205 + 207: TypePointer Function 7(fvec4) + 209: 19(int) Constant 1 + 210: TypePointer Function 6(float) + 217: TypePointer Output 7(fvec4) + 218(Color): 217(ptr) Variable Output + 221: TypePointer Output 6(float) + 222(Depth): 221(ptr) Variable Output + 225: TypeSampler + 226: TypePointer UniformConstant 225 + 227(g_sSamp): 226(ptr) Variable UniformConstant + 228: TypeVector 19(int) 4 + 229($Global): TypeStruct 19(int) 65(ivec2) 132(ivec3) 228(ivec4) 19(int) 65(ivec2) 132(ivec3) 228(ivec4) + 230: TypePointer Uniform 229($Global) + 231: 230(ptr) Variable Uniform 4(main): 2 Function None 3 5: Label -8(sizeQueryTemp): 7(ptr) Variable Function - 16(WidthU): 7(ptr) Variable Function -18(sizeQueryTemp): 7(ptr) Variable Function -25(sizeQueryTemp): 7(ptr) Variable Function -32(sizeQueryTemp): 7(ptr) Variable Function -39(sizeQueryTemp): 7(ptr) Variable Function -46(sizeQueryTemp): 7(ptr) Variable Function -55(sizeQueryTemp): 54(ptr) Variable Function - 65(ElementsU): 7(ptr) Variable Function -69(sizeQueryTemp): 54(ptr) Variable Function -79(sizeQueryTemp): 54(ptr) Variable Function -89(sizeQueryTemp): 54(ptr) Variable Function - 97(HeightU): 7(ptr) Variable Function -100(sizeQueryTemp): 54(ptr) Variable Function -110(sizeQueryTemp): 54(ptr) Variable Function -122(sizeQueryTemp): 121(ptr) Variable Function -136(sizeQueryTemp): 121(ptr) Variable Function -148(sizeQueryTemp): 121(ptr) Variable Function -160(sizeQueryTemp): 121(ptr) Variable Function - 170(DepthU): 7(ptr) Variable Function -173(sizeQueryTemp): 121(ptr) Variable Function -185(sizeQueryTemp): 121(ptr) Variable Function - 200(psout): 199(ptr) Variable Function - 13: 10 Load 12(g_tTex1df4) - 15: 14(int) ImageQuerySize 13 - Store 8(sizeQueryTemp) 15 - 17: 6(int) Load 8(sizeQueryTemp) - Store 16(WidthU) 17 - 22: 19 Load 21(g_tTex1di4) - 23: 14(int) ImageQuerySize 22 - Store 18(sizeQueryTemp) 23 - 24: 6(int) Load 18(sizeQueryTemp) - Store 16(WidthU) 24 - 29: 26 Load 28(g_tTex1du4) - 30: 14(int) ImageQuerySize 29 - Store 25(sizeQueryTemp) 30 - 31: 6(int) Load 25(sizeQueryTemp) - Store 16(WidthU) 31 - 36: 33 Load 35(g_tBuffF) - 37: 14(int) ImageQuerySize 36 - Store 32(sizeQueryTemp) 37 - 38: 6(int) Load 32(sizeQueryTemp) - Store 16(WidthU) 38 - 43: 40 Load 42(g_tBuffI) - 44: 14(int) ImageQuerySize 43 - Store 39(sizeQueryTemp) 44 - 45: 6(int) Load 39(sizeQueryTemp) - Store 16(WidthU) 45 - 50: 47 Load 49(g_tBuffU) - 51: 14(int) ImageQuerySize 50 - Store 46(sizeQueryTemp) 51 - 52: 6(int) Load 46(sizeQueryTemp) - Store 16(WidthU) 52 - 59: 56 Load 58(g_tTex1df4a) - 61: 60(ivec2) ImageQuerySize 59 - Store 55(sizeQueryTemp) 61 - 63: 7(ptr) AccessChain 55(sizeQueryTemp) 62 - 64: 6(int) Load 63 - Store 16(WidthU) 64 - 67: 7(ptr) AccessChain 55(sizeQueryTemp) 66 - 68: 6(int) Load 67 - Store 65(ElementsU) 68 - 73: 70 Load 72(g_tTex1di4a) - 74: 60(ivec2) ImageQuerySize 73 - Store 69(sizeQueryTemp) 74 - 75: 7(ptr) AccessChain 69(sizeQueryTemp) 62 - 76: 6(int) Load 75 - Store 16(WidthU) 76 - 77: 7(ptr) AccessChain 69(sizeQueryTemp) 66 - 78: 6(int) Load 77 - Store 65(ElementsU) 78 - 83: 80 Load 82(g_tTex1du4a) - 84: 60(ivec2) ImageQuerySize 83 - Store 79(sizeQueryTemp) 84 - 85: 7(ptr) AccessChain 79(sizeQueryTemp) 62 - 86: 6(int) Load 85 - Store 16(WidthU) 86 - 87: 7(ptr) AccessChain 79(sizeQueryTemp) 66 - 88: 6(int) Load 87 - Store 65(ElementsU) 88 - 93: 90 Load 92(g_tTex2df4) - 94: 60(ivec2) ImageQuerySize 93 - Store 89(sizeQueryTemp) 94 - 95: 7(ptr) AccessChain 89(sizeQueryTemp) 62 - 96: 6(int) Load 95 - Store 16(WidthU) 96 - 98: 7(ptr) AccessChain 89(sizeQueryTemp) 66 - 99: 6(int) Load 98 - Store 97(HeightU) 99 - 104: 101 Load 103(g_tTex2di4) - 105: 60(ivec2) ImageQuerySize 104 - Store 100(sizeQueryTemp) 105 - 106: 7(ptr) AccessChain 100(sizeQueryTemp) 62 - 107: 6(int) Load 106 - Store 16(WidthU) 107 - 108: 7(ptr) AccessChain 100(sizeQueryTemp) 66 - 109: 6(int) Load 108 - Store 97(HeightU) 109 - 114: 111 Load 113(g_tTex2du4) - 115: 60(ivec2) ImageQuerySize 114 - Store 110(sizeQueryTemp) 115 - 116: 7(ptr) AccessChain 110(sizeQueryTemp) 62 - 117: 6(int) Load 116 - Store 16(WidthU) 117 - 118: 7(ptr) AccessChain 110(sizeQueryTemp) 66 - 119: 6(int) Load 118 - Store 97(HeightU) 119 - 126: 123 Load 125(g_tTex2df4a) - 128: 127(ivec3) ImageQuerySize 126 - Store 122(sizeQueryTemp) 128 - 129: 7(ptr) AccessChain 122(sizeQueryTemp) 62 - 130: 6(int) Load 129 - Store 16(WidthU) 130 - 131: 7(ptr) AccessChain 122(sizeQueryTemp) 66 - 132: 6(int) Load 131 - Store 97(HeightU) 132 - 134: 7(ptr) AccessChain 122(sizeQueryTemp) 133 - 135: 6(int) Load 134 - Store 65(ElementsU) 135 - 140: 137 Load 139(g_tTex2di4a) - 141: 127(ivec3) ImageQuerySize 140 - Store 136(sizeQueryTemp) 141 - 142: 7(ptr) AccessChain 136(sizeQueryTemp) 62 - 143: 6(int) Load 142 - Store 16(WidthU) 143 - 144: 7(ptr) AccessChain 136(sizeQueryTemp) 66 - 145: 6(int) Load 144 - Store 97(HeightU) 145 - 146: 7(ptr) AccessChain 136(sizeQueryTemp) 133 - 147: 6(int) Load 146 - Store 65(ElementsU) 147 - 152: 149 Load 151(g_tTex2du4a) - 153: 127(ivec3) ImageQuerySize 152 - Store 148(sizeQueryTemp) 153 - 154: 7(ptr) AccessChain 148(sizeQueryTemp) 62 - 155: 6(int) Load 154 - Store 16(WidthU) 155 - 156: 7(ptr) AccessChain 148(sizeQueryTemp) 66 - 157: 6(int) Load 156 - Store 97(HeightU) 157 - 158: 7(ptr) AccessChain 148(sizeQueryTemp) 133 - 159: 6(int) Load 158 - Store 65(ElementsU) 159 - 164: 161 Load 163(g_tTex3df4) - 165: 127(ivec3) ImageQuerySize 164 - Store 160(sizeQueryTemp) 165 - 166: 7(ptr) AccessChain 160(sizeQueryTemp) 62 - 167: 6(int) Load 166 - Store 16(WidthU) 167 - 168: 7(ptr) AccessChain 160(sizeQueryTemp) 66 - 169: 6(int) Load 168 - Store 97(HeightU) 169 - 171: 7(ptr) AccessChain 160(sizeQueryTemp) 133 - 172: 6(int) Load 171 - Store 170(DepthU) 172 - 177: 174 Load 176(g_tTex3di4) - 178: 127(ivec3) ImageQuerySize 177 - Store 173(sizeQueryTemp) 178 - 179: 7(ptr) AccessChain 173(sizeQueryTemp) 62 - 180: 6(int) Load 179 - Store 16(WidthU) 180 - 181: 7(ptr) AccessChain 173(sizeQueryTemp) 66 - 182: 6(int) Load 181 - Store 97(HeightU) 182 - 183: 7(ptr) AccessChain 173(sizeQueryTemp) 133 - 184: 6(int) Load 183 - Store 170(DepthU) 184 - 189: 186 Load 188(g_tTex3du4) - 190: 127(ivec3) ImageQuerySize 189 - Store 185(sizeQueryTemp) 190 - 191: 7(ptr) AccessChain 185(sizeQueryTemp) 62 - 192: 6(int) Load 191 - Store 16(WidthU) 192 - 193: 7(ptr) AccessChain 185(sizeQueryTemp) 66 - 194: 6(int) Load 193 - Store 97(HeightU) 194 - 195: 7(ptr) AccessChain 185(sizeQueryTemp) 133 - 196: 6(int) Load 195 - Store 170(DepthU) 196 - 205: 204(ptr) AccessChain 200(psout) 201 - Store 205 203 - 208: 207(ptr) AccessChain 200(psout) 206 - Store 208 202 - 211: 204(ptr) AccessChain 200(psout) 201 - 212: 197(fvec4) Load 211 - Store 210(Color) 212 - 215: 207(ptr) AccessChain 200(psout) 206 - 216: 9(float) Load 215 - Store 214(Depth) 216 +215(flattenTemp): 202(ptr) Variable Function + 216:8(PS_OUTPUT) FunctionCall 10(@main() + Store 215(flattenTemp) 216 + 219: 207(ptr) AccessChain 215(flattenTemp) 204 + 220: 7(fvec4) Load 219 + Store 218(Color) 220 + 223: 210(ptr) AccessChain 215(flattenTemp) 209 + 224: 6(float) Load 223 + Store 222(Depth) 224 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label +14(sizeQueryTemp): 13(ptr) Variable Function + 21(WidthU): 13(ptr) Variable Function +23(sizeQueryTemp): 13(ptr) Variable Function +30(sizeQueryTemp): 13(ptr) Variable Function +37(sizeQueryTemp): 13(ptr) Variable Function +44(sizeQueryTemp): 13(ptr) Variable Function +51(sizeQueryTemp): 13(ptr) Variable Function +60(sizeQueryTemp): 59(ptr) Variable Function + 70(ElementsU): 13(ptr) Variable Function +74(sizeQueryTemp): 59(ptr) Variable Function +84(sizeQueryTemp): 59(ptr) Variable Function +94(sizeQueryTemp): 59(ptr) Variable Function + 102(HeightU): 13(ptr) Variable Function +105(sizeQueryTemp): 59(ptr) Variable Function +115(sizeQueryTemp): 59(ptr) Variable Function +127(sizeQueryTemp): 126(ptr) Variable Function +141(sizeQueryTemp): 126(ptr) Variable Function +153(sizeQueryTemp): 126(ptr) Variable Function +165(sizeQueryTemp): 126(ptr) Variable Function + 175(DepthU): 13(ptr) Variable Function +178(sizeQueryTemp): 126(ptr) Variable Function +190(sizeQueryTemp): 126(ptr) Variable Function + 203(psout): 202(ptr) Variable Function + 18: 15 Load 17(g_tTex1df4) + 20: 19(int) ImageQuerySize 18 + Store 14(sizeQueryTemp) 20 + 22: 12(int) Load 14(sizeQueryTemp) + Store 21(WidthU) 22 + 27: 24 Load 26(g_tTex1di4) + 28: 19(int) ImageQuerySize 27 + Store 23(sizeQueryTemp) 28 + 29: 12(int) Load 23(sizeQueryTemp) + Store 21(WidthU) 29 + 34: 31 Load 33(g_tTex1du4) + 35: 19(int) ImageQuerySize 34 + Store 30(sizeQueryTemp) 35 + 36: 12(int) Load 30(sizeQueryTemp) + Store 21(WidthU) 36 + 41: 38 Load 40(g_tBuffF) + 42: 19(int) ImageQuerySize 41 + Store 37(sizeQueryTemp) 42 + 43: 12(int) Load 37(sizeQueryTemp) + Store 21(WidthU) 43 + 48: 45 Load 47(g_tBuffI) + 49: 19(int) ImageQuerySize 48 + Store 44(sizeQueryTemp) 49 + 50: 12(int) Load 44(sizeQueryTemp) + Store 21(WidthU) 50 + 55: 52 Load 54(g_tBuffU) + 56: 19(int) ImageQuerySize 55 + Store 51(sizeQueryTemp) 56 + 57: 12(int) Load 51(sizeQueryTemp) + Store 21(WidthU) 57 + 64: 61 Load 63(g_tTex1df4a) + 66: 65(ivec2) ImageQuerySize 64 + Store 60(sizeQueryTemp) 66 + 68: 13(ptr) AccessChain 60(sizeQueryTemp) 67 + 69: 12(int) Load 68 + Store 21(WidthU) 69 + 72: 13(ptr) AccessChain 60(sizeQueryTemp) 71 + 73: 12(int) Load 72 + Store 70(ElementsU) 73 + 78: 75 Load 77(g_tTex1di4a) + 79: 65(ivec2) ImageQuerySize 78 + Store 74(sizeQueryTemp) 79 + 80: 13(ptr) AccessChain 74(sizeQueryTemp) 67 + 81: 12(int) Load 80 + Store 21(WidthU) 81 + 82: 13(ptr) AccessChain 74(sizeQueryTemp) 71 + 83: 12(int) Load 82 + Store 70(ElementsU) 83 + 88: 85 Load 87(g_tTex1du4a) + 89: 65(ivec2) ImageQuerySize 88 + Store 84(sizeQueryTemp) 89 + 90: 13(ptr) AccessChain 84(sizeQueryTemp) 67 + 91: 12(int) Load 90 + Store 21(WidthU) 91 + 92: 13(ptr) AccessChain 84(sizeQueryTemp) 71 + 93: 12(int) Load 92 + Store 70(ElementsU) 93 + 98: 95 Load 97(g_tTex2df4) + 99: 65(ivec2) ImageQuerySize 98 + Store 94(sizeQueryTemp) 99 + 100: 13(ptr) AccessChain 94(sizeQueryTemp) 67 + 101: 12(int) Load 100 + Store 21(WidthU) 101 + 103: 13(ptr) AccessChain 94(sizeQueryTemp) 71 + 104: 12(int) Load 103 + Store 102(HeightU) 104 + 109: 106 Load 108(g_tTex2di4) + 110: 65(ivec2) ImageQuerySize 109 + Store 105(sizeQueryTemp) 110 + 111: 13(ptr) AccessChain 105(sizeQueryTemp) 67 + 112: 12(int) Load 111 + Store 21(WidthU) 112 + 113: 13(ptr) AccessChain 105(sizeQueryTemp) 71 + 114: 12(int) Load 113 + Store 102(HeightU) 114 + 119: 116 Load 118(g_tTex2du4) + 120: 65(ivec2) ImageQuerySize 119 + Store 115(sizeQueryTemp) 120 + 121: 13(ptr) AccessChain 115(sizeQueryTemp) 67 + 122: 12(int) Load 121 + Store 21(WidthU) 122 + 123: 13(ptr) AccessChain 115(sizeQueryTemp) 71 + 124: 12(int) Load 123 + Store 102(HeightU) 124 + 131: 128 Load 130(g_tTex2df4a) + 133: 132(ivec3) ImageQuerySize 131 + Store 127(sizeQueryTemp) 133 + 134: 13(ptr) AccessChain 127(sizeQueryTemp) 67 + 135: 12(int) Load 134 + Store 21(WidthU) 135 + 136: 13(ptr) AccessChain 127(sizeQueryTemp) 71 + 137: 12(int) Load 136 + Store 102(HeightU) 137 + 139: 13(ptr) AccessChain 127(sizeQueryTemp) 138 + 140: 12(int) Load 139 + Store 70(ElementsU) 140 + 145: 142 Load 144(g_tTex2di4a) + 146: 132(ivec3) ImageQuerySize 145 + Store 141(sizeQueryTemp) 146 + 147: 13(ptr) AccessChain 141(sizeQueryTemp) 67 + 148: 12(int) Load 147 + Store 21(WidthU) 148 + 149: 13(ptr) AccessChain 141(sizeQueryTemp) 71 + 150: 12(int) Load 149 + Store 102(HeightU) 150 + 151: 13(ptr) AccessChain 141(sizeQueryTemp) 138 + 152: 12(int) Load 151 + Store 70(ElementsU) 152 + 157: 154 Load 156(g_tTex2du4a) + 158: 132(ivec3) ImageQuerySize 157 + Store 153(sizeQueryTemp) 158 + 159: 13(ptr) AccessChain 153(sizeQueryTemp) 67 + 160: 12(int) Load 159 + Store 21(WidthU) 160 + 161: 13(ptr) AccessChain 153(sizeQueryTemp) 71 + 162: 12(int) Load 161 + Store 102(HeightU) 162 + 163: 13(ptr) AccessChain 153(sizeQueryTemp) 138 + 164: 12(int) Load 163 + Store 70(ElementsU) 164 + 169: 166 Load 168(g_tTex3df4) + 170: 132(ivec3) ImageQuerySize 169 + Store 165(sizeQueryTemp) 170 + 171: 13(ptr) AccessChain 165(sizeQueryTemp) 67 + 172: 12(int) Load 171 + Store 21(WidthU) 172 + 173: 13(ptr) AccessChain 165(sizeQueryTemp) 71 + 174: 12(int) Load 173 + Store 102(HeightU) 174 + 176: 13(ptr) AccessChain 165(sizeQueryTemp) 138 + 177: 12(int) Load 176 + Store 175(DepthU) 177 + 182: 179 Load 181(g_tTex3di4) + 183: 132(ivec3) ImageQuerySize 182 + Store 178(sizeQueryTemp) 183 + 184: 13(ptr) AccessChain 178(sizeQueryTemp) 67 + 185: 12(int) Load 184 + Store 21(WidthU) 185 + 186: 13(ptr) AccessChain 178(sizeQueryTemp) 71 + 187: 12(int) Load 186 + Store 102(HeightU) 187 + 188: 13(ptr) AccessChain 178(sizeQueryTemp) 138 + 189: 12(int) Load 188 + Store 175(DepthU) 189 + 194: 191 Load 193(g_tTex3du4) + 195: 132(ivec3) ImageQuerySize 194 + Store 190(sizeQueryTemp) 195 + 196: 13(ptr) AccessChain 190(sizeQueryTemp) 67 + 197: 12(int) Load 196 + Store 21(WidthU) 197 + 198: 13(ptr) AccessChain 190(sizeQueryTemp) 71 + 199: 12(int) Load 198 + Store 102(HeightU) 199 + 200: 13(ptr) AccessChain 190(sizeQueryTemp) 138 + 201: 12(int) Load 200 + Store 175(DepthU) 201 + 208: 207(ptr) AccessChain 203(psout) 204 + Store 208 206 + 211: 210(ptr) AccessChain 203(psout) 209 + Store 211 205 + 212:8(PS_OUTPUT) Load 203(psout) + ReturnValue 212 + FunctionEnd diff --git a/Test/baseResults/hlsl.getsampleposition.dx10.frag.out b/Test/baseResults/hlsl.getsampleposition.dx10.frag.out index 5985eadc..83a24bdd 100644 --- a/Test/baseResults/hlsl.getsampleposition.dx10.frag.out +++ b/Test/baseResults/hlsl.getsampleposition.dx10.frag.out @@ -7,7 +7,7 @@ ERROR: 2 compilation errors. No code generated. Shader version: 450 gl_FragCoord origin is upper left ERROR: node is still EOpNull! -0:13 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:13 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:13 Function Parameters: 0:? Sequence 0:16 Sequence @@ -43,27 +43,33 @@ ERROR: node is still EOpNull! 0:20 1 (const int) 0:20 Constant: 0:20 1.000000 -0:22 Sequence -0:22 Sequence -0:22 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:22 Color: direct index for structure (temp 4-component vector of float) -0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:22 Constant: -0:22 0 (const int) -0:22 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:22 Depth: direct index for structure (temp float) -0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:22 Constant: -0:22 1 (const int) -0:22 Branch: Return +0:22 Branch: Return with expression +0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:13 Function Definition: main( (temp void) +0:13 Function Parameters: +0:? Sequence +0:13 Sequence +0:13 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:13 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:13 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:13 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:13 Color: direct index for structure (temp 4-component vector of float) +0:13 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:13 Constant: +0:13 0 (const int) +0:13 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:13 Depth: direct index for structure (temp float) +0:13 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:13 Constant: +0:13 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex2dmsf4' (uniform texture2DMS) 0:? 'g_tTex2dmsf4a' (uniform texture2DMSArray) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -72,7 +78,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left ERROR: node is still EOpNull! -0:13 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:13 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:13 Function Parameters: 0:? Sequence 0:16 Sequence @@ -108,26 +114,32 @@ ERROR: node is still EOpNull! 0:20 1 (const int) 0:20 Constant: 0:20 1.000000 -0:22 Sequence -0:22 Sequence -0:22 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:22 Color: direct index for structure (temp 4-component vector of float) -0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:22 Constant: -0:22 0 (const int) -0:22 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:22 Depth: direct index for structure (temp float) -0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:22 Constant: -0:22 1 (const int) -0:22 Branch: Return +0:22 Branch: Return with expression +0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:13 Function Definition: main( (temp void) +0:13 Function Parameters: +0:? Sequence +0:13 Sequence +0:13 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:13 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:13 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:13 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:13 Color: direct index for structure (temp 4-component vector of float) +0:13 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:13 Constant: +0:13 0 (const int) +0:13 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:13 Depth: direct index for structure (temp float) +0:13 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:13 Constant: +0:13 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex2dmsf4' (uniform texture2DMS) 0:? 'g_tTex2dmsf4a' (uniform texture2DMSArray) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) SPIR-V is not generated for failed compile or link diff --git a/Test/baseResults/hlsl.identifier.sample.frag.out b/Test/baseResults/hlsl.identifier.sample.frag.out index 35e88e93..675e97a2 100644 --- a/Test/baseResults/hlsl.identifier.sample.frag.out +++ b/Test/baseResults/hlsl.identifier.sample.frag.out @@ -8,7 +8,7 @@ gl_FragCoord origin is upper left 0:? Sequence 0:9 Branch: Return with expression 0:9 'x' (in int) -0:12 Function Definition: main( (temp 4-component vector of float) +0:12 Function Definition: @main( (temp 4-component vector of float) 0:12 Function Parameters: 0:? Sequence 0:15 Sequence @@ -19,21 +19,24 @@ gl_FragCoord origin is upper left 0:? 4.000000 0:? 5.000000 0:? 6.000000 -0:17 Sequence -0:17 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:17 vector swizzle (temp 4-component vector of float) -0:17 'sample' (temp 4-component vector of float) -0:17 Sequence -0:17 Constant: -0:17 0 (const int) -0:17 Constant: -0:17 1 (const int) -0:17 Constant: -0:17 2 (const int) -0:17 Constant: -0:17 3 (const int) -0:17 Branch: Return +0:17 Branch: Return with expression +0:17 vector swizzle (temp 4-component vector of float) +0:17 'sample' (temp 4-component vector of float) +0:17 Sequence +0:17 Constant: +0:17 0 (const int) +0:17 Constant: +0:17 1 (const int) +0:17 Constant: +0:17 2 (const int) +0:17 Constant: +0:17 3 (const int) +0:12 Function Definition: main( (temp void) +0:12 Function Parameters: +0:? Sequence +0:12 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:12 Function Call: @main( (temp 4-component vector of float) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) @@ -50,7 +53,7 @@ gl_FragCoord origin is upper left 0:? Sequence 0:9 Branch: Return with expression 0:9 'x' (in int) -0:12 Function Definition: main( (temp 4-component vector of float) +0:12 Function Definition: @main( (temp 4-component vector of float) 0:12 Function Parameters: 0:? Sequence 0:15 Sequence @@ -61,65 +64,75 @@ gl_FragCoord origin is upper left 0:? 4.000000 0:? 5.000000 0:? 6.000000 -0:17 Sequence -0:17 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:17 vector swizzle (temp 4-component vector of float) -0:17 'sample' (temp 4-component vector of float) -0:17 Sequence -0:17 Constant: -0:17 0 (const int) -0:17 Constant: -0:17 1 (const int) -0:17 Constant: -0:17 2 (const int) -0:17 Constant: -0:17 3 (const int) -0:17 Branch: Return +0:17 Branch: Return with expression +0:17 vector swizzle (temp 4-component vector of float) +0:17 'sample' (temp 4-component vector of float) +0:17 Sequence +0:17 Constant: +0:17 0 (const int) +0:17 Constant: +0:17 1 (const int) +0:17 Constant: +0:17 2 (const int) +0:17 Constant: +0:17 3 (const int) +0:12 Function Definition: main( (temp void) +0:12 Function Parameters: +0:? Sequence +0:12 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:12 Function Call: @main( (temp 4-component vector of float) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 28 +// Id's are bound by 33 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 25 + EntryPoint Fragment 4 "main" 31 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 10 "sample(i1;" Name 9 "x" - Name 18 "sample" - Name 25 "@entryPointOutput" - Decorate 25(@entryPointOutput) Location 0 + Name 15 "@main(" + Name 21 "sample" + Name 31 "@entryPointOutput" + Decorate 31(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 7: TypePointer Function 6(int) 8: TypeFunction 6(int) 7(ptr) - 15: TypeFloat 32 - 16: TypeVector 15(float) 4 - 17: TypePointer Function 16(fvec4) - 19: 15(float) Constant 1077936128 - 20: 15(float) Constant 1082130432 - 21: 15(float) Constant 1084227584 - 22: 15(float) Constant 1086324736 - 23: 16(fvec4) ConstantComposite 19 20 21 22 - 24: TypePointer Output 16(fvec4) -25(@entryPointOutput): 24(ptr) Variable Output + 12: TypeFloat 32 + 13: TypeVector 12(float) 4 + 14: TypeFunction 13(fvec4) + 20: TypePointer Function 13(fvec4) + 22: 12(float) Constant 1077936128 + 23: 12(float) Constant 1082130432 + 24: 12(float) Constant 1084227584 + 25: 12(float) Constant 1086324736 + 26: 13(fvec4) ConstantComposite 22 23 24 25 + 30: TypePointer Output 13(fvec4) +31(@entryPointOutput): 30(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 18(sample): 17(ptr) Variable Function - Store 18(sample) 23 - 26: 16(fvec4) Load 18(sample) - Store 25(@entryPointOutput) 26 + 32: 13(fvec4) FunctionCall 15(@main() + Store 31(@entryPointOutput) 32 Return FunctionEnd 10(sample(i1;): 6(int) Function None 8 9(x): 7(ptr) FunctionParameter 11: Label - 12: 6(int) Load 9(x) - ReturnValue 12 + 17: 6(int) Load 9(x) + ReturnValue 17 + FunctionEnd + 15(@main(): 13(fvec4) Function None 14 + 16: Label + 21(sample): 20(ptr) Variable Function + Store 21(sample) 26 + 27: 13(fvec4) Load 21(sample) + ReturnValue 27 FunctionEnd diff --git a/Test/baseResults/hlsl.if.frag.out b/Test/baseResults/hlsl.if.frag.out index c37bff61..a0a67aa8 100755 --- a/Test/baseResults/hlsl.if.frag.out +++ b/Test/baseResults/hlsl.if.frag.out @@ -2,95 +2,77 @@ hlsl.if.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) +0:2 Function Definition: @PixelShaderFunction(vf4; (temp 4-component vector of float) 0:2 Function Parameters: -0:2 'input' (layout(location=0 ) in 4-component vector of float) +0:2 'input' (in 4-component vector of float) 0:? Sequence 0:3 Test condition and select (temp void) 0:3 Condition 0:3 all (temp bool) 0:3 Equal (temp 4-component vector of bool) -0:3 'input' (layout(location=0 ) in 4-component vector of float) -0:3 'input' (layout(location=0 ) in 4-component vector of float) +0:3 'input' (in 4-component vector of float) +0:3 'input' (in 4-component vector of float) 0:3 true case -0:4 Sequence -0:4 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:4 'input' (layout(location=0 ) in 4-component vector of float) -0:4 Branch: Return +0:4 Branch: Return with expression +0:4 'input' (in 4-component vector of float) 0:6 Test condition and select (temp void) 0:6 Condition 0:6 all (temp bool) 0:6 Equal (temp 4-component vector of bool) -0:6 'input' (layout(location=0 ) in 4-component vector of float) -0:6 'input' (layout(location=0 ) in 4-component vector of float) +0:6 'input' (in 4-component vector of float) +0:6 'input' (in 4-component vector of float) 0:6 true case -0:7 Sequence -0:7 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:7 'input' (layout(location=0 ) in 4-component vector of float) -0:7 Branch: Return +0:7 Branch: Return with expression +0:7 'input' (in 4-component vector of float) 0:6 false case -0:9 Sequence -0:9 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:9 Negate value (temp 4-component vector of float) -0:9 'input' (layout(location=0 ) in 4-component vector of float) -0:9 Branch: Return +0:9 Branch: Return with expression +0:9 Negate value (temp 4-component vector of float) +0:9 'input' (in 4-component vector of float) 0:11 Test condition and select (temp void) 0:11 Condition 0:11 all (temp bool) 0:11 Equal (temp 4-component vector of bool) -0:11 'input' (layout(location=0 ) in 4-component vector of float) -0:11 'input' (layout(location=0 ) in 4-component vector of float) +0:11 'input' (in 4-component vector of float) +0:11 'input' (in 4-component vector of float) 0:11 true case is null 0:14 Test condition and select (temp void) 0:14 Condition 0:14 all (temp bool) 0:14 Equal (temp 4-component vector of bool) -0:14 'input' (layout(location=0 ) in 4-component vector of float) -0:14 'input' (layout(location=0 ) in 4-component vector of float) +0:14 'input' (in 4-component vector of float) +0:14 'input' (in 4-component vector of float) 0:14 true case is null 0:19 Test condition and select (temp void) 0:19 Condition 0:19 all (temp bool) 0:19 Equal (temp 4-component vector of bool) -0:19 'input' (layout(location=0 ) in 4-component vector of float) -0:19 'input' (layout(location=0 ) in 4-component vector of float) +0:19 'input' (in 4-component vector of float) +0:19 'input' (in 4-component vector of float) 0:19 true case 0:? Sequence -0:20 Sequence -0:20 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:20 'input' (layout(location=0 ) in 4-component vector of float) -0:20 Branch: Return +0:20 Branch: Return with expression +0:20 'input' (in 4-component vector of float) 0:23 Test condition and select (temp void) 0:23 Condition 0:23 all (temp bool) 0:23 Equal (temp 4-component vector of bool) -0:23 'input' (layout(location=0 ) in 4-component vector of float) -0:23 'input' (layout(location=0 ) in 4-component vector of float) +0:23 'input' (in 4-component vector of float) +0:23 'input' (in 4-component vector of float) 0:23 true case 0:? Sequence -0:24 Sequence -0:24 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:24 'input' (layout(location=0 ) in 4-component vector of float) -0:24 Branch: Return +0:24 Branch: Return with expression +0:24 'input' (in 4-component vector of float) 0:23 false case 0:? Sequence -0:26 Sequence -0:26 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:26 Negate value (temp 4-component vector of float) -0:26 'input' (layout(location=0 ) in 4-component vector of float) -0:26 Branch: Return +0:26 Branch: Return with expression +0:26 Negate value (temp 4-component vector of float) +0:26 'input' (in 4-component vector of float) 0:30 Test condition and select (temp void) 0:30 Condition 0:30 move second child to first child (temp float) 0:30 'ii' (temp float) 0:30 direct index (temp float) -0:30 'input' (layout(location=0 ) in 4-component vector of float) +0:30 'input' (in 4-component vector of float) 0:30 Constant: 0:30 2 (const int) 0:30 true case @@ -98,6 +80,16 @@ gl_FragCoord origin is upper left 0:31 'ii' (temp float) 0:32 Pre-Increment (temp int) 0:32 'ii' (temp int) +0:2 Function Definition: PixelShaderFunction( (temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:2 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:2 Function Call: @PixelShaderFunction(vf4; (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 'input' (layout(location=0 ) in 4-component vector of float) @@ -109,95 +101,77 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) +0:2 Function Definition: @PixelShaderFunction(vf4; (temp 4-component vector of float) 0:2 Function Parameters: -0:2 'input' (layout(location=0 ) in 4-component vector of float) +0:2 'input' (in 4-component vector of float) 0:? Sequence 0:3 Test condition and select (temp void) 0:3 Condition 0:3 all (temp bool) 0:3 Equal (temp 4-component vector of bool) -0:3 'input' (layout(location=0 ) in 4-component vector of float) -0:3 'input' (layout(location=0 ) in 4-component vector of float) +0:3 'input' (in 4-component vector of float) +0:3 'input' (in 4-component vector of float) 0:3 true case -0:4 Sequence -0:4 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:4 'input' (layout(location=0 ) in 4-component vector of float) -0:4 Branch: Return +0:4 Branch: Return with expression +0:4 'input' (in 4-component vector of float) 0:6 Test condition and select (temp void) 0:6 Condition 0:6 all (temp bool) 0:6 Equal (temp 4-component vector of bool) -0:6 'input' (layout(location=0 ) in 4-component vector of float) -0:6 'input' (layout(location=0 ) in 4-component vector of float) +0:6 'input' (in 4-component vector of float) +0:6 'input' (in 4-component vector of float) 0:6 true case -0:7 Sequence -0:7 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:7 'input' (layout(location=0 ) in 4-component vector of float) -0:7 Branch: Return +0:7 Branch: Return with expression +0:7 'input' (in 4-component vector of float) 0:6 false case -0:9 Sequence -0:9 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:9 Negate value (temp 4-component vector of float) -0:9 'input' (layout(location=0 ) in 4-component vector of float) -0:9 Branch: Return +0:9 Branch: Return with expression +0:9 Negate value (temp 4-component vector of float) +0:9 'input' (in 4-component vector of float) 0:11 Test condition and select (temp void) 0:11 Condition 0:11 all (temp bool) 0:11 Equal (temp 4-component vector of bool) -0:11 'input' (layout(location=0 ) in 4-component vector of float) -0:11 'input' (layout(location=0 ) in 4-component vector of float) +0:11 'input' (in 4-component vector of float) +0:11 'input' (in 4-component vector of float) 0:11 true case is null 0:14 Test condition and select (temp void) 0:14 Condition 0:14 all (temp bool) 0:14 Equal (temp 4-component vector of bool) -0:14 'input' (layout(location=0 ) in 4-component vector of float) -0:14 'input' (layout(location=0 ) in 4-component vector of float) +0:14 'input' (in 4-component vector of float) +0:14 'input' (in 4-component vector of float) 0:14 true case is null 0:19 Test condition and select (temp void) 0:19 Condition 0:19 all (temp bool) 0:19 Equal (temp 4-component vector of bool) -0:19 'input' (layout(location=0 ) in 4-component vector of float) -0:19 'input' (layout(location=0 ) in 4-component vector of float) +0:19 'input' (in 4-component vector of float) +0:19 'input' (in 4-component vector of float) 0:19 true case 0:? Sequence -0:20 Sequence -0:20 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:20 'input' (layout(location=0 ) in 4-component vector of float) -0:20 Branch: Return +0:20 Branch: Return with expression +0:20 'input' (in 4-component vector of float) 0:23 Test condition and select (temp void) 0:23 Condition 0:23 all (temp bool) 0:23 Equal (temp 4-component vector of bool) -0:23 'input' (layout(location=0 ) in 4-component vector of float) -0:23 'input' (layout(location=0 ) in 4-component vector of float) +0:23 'input' (in 4-component vector of float) +0:23 'input' (in 4-component vector of float) 0:23 true case 0:? Sequence -0:24 Sequence -0:24 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:24 'input' (layout(location=0 ) in 4-component vector of float) -0:24 Branch: Return +0:24 Branch: Return with expression +0:24 'input' (in 4-component vector of float) 0:23 false case 0:? Sequence -0:26 Sequence -0:26 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:26 Negate value (temp 4-component vector of float) -0:26 'input' (layout(location=0 ) in 4-component vector of float) -0:26 Branch: Return +0:26 Branch: Return with expression +0:26 Negate value (temp 4-component vector of float) +0:26 'input' (in 4-component vector of float) 0:30 Test condition and select (temp void) 0:30 Condition 0:30 move second child to first child (temp float) 0:30 'ii' (temp float) 0:30 direct index (temp float) -0:30 'input' (layout(location=0 ) in 4-component vector of float) +0:30 'input' (in 4-component vector of float) 0:30 Constant: 0:30 2 (const int) 0:30 true case @@ -205,133 +179,156 @@ gl_FragCoord origin is upper left 0:31 'ii' (temp float) 0:32 Pre-Increment (temp int) 0:32 'ii' (temp int) +0:2 Function Definition: PixelShaderFunction( (temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:2 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:2 Function Call: @PixelShaderFunction(vf4; (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 'input' (layout(location=0 ) in 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 84 +// Id's are bound by 94 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 9 19 + EntryPoint Fragment 4 "PixelShaderFunction" 87 90 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 9 "input" - Name 19 "@entryPointOutput" - Name 67 "ii" + Name 11 "@PixelShaderFunction(vf4;" + Name 10 "input" + Name 68 "ii" Name 80 "ii" - Decorate 9(input) Location 0 - Decorate 19(@entryPointOutput) Location 0 + Name 85 "input" + Name 87 "input" + Name 90 "@entryPointOutput" + Name 91 "param" + Decorate 87(input) Location 0 + Decorate 90(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Input 7(fvec4) - 9(input): 8(ptr) Variable Input - 12: TypeBool - 13: TypeVector 12(bool) 4 - 18: TypePointer Output 7(fvec4) -19(@entryPointOutput): 18(ptr) Variable Output - 66: TypePointer Function 6(float) - 68: TypeInt 32 0 - 69: 68(int) Constant 2 - 70: TypePointer Input 6(float) + 8: TypePointer Function 7(fvec4) + 9: TypeFunction 7(fvec4) 8(ptr) + 15: TypeBool + 16: TypeVector 15(bool) 4 + 67: TypePointer Function 6(float) + 69: TypeInt 32 0 + 70: 69(int) Constant 2 76: 6(float) Constant 1065353216 78: TypeInt 32 1 79: TypePointer Function 78(int) 82: 78(int) Constant 1 + 86: TypePointer Input 7(fvec4) + 87(input): 86(ptr) Variable Input + 89: TypePointer Output 7(fvec4) +90(@entryPointOutput): 89(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label - 67(ii): 66(ptr) Variable Function + 85(input): 8(ptr) Variable Function + 91(param): 8(ptr) Variable Function + 88: 7(fvec4) Load 87(input) + Store 85(input) 88 + 92: 7(fvec4) Load 85(input) + Store 91(param) 92 + 93: 7(fvec4) FunctionCall 11(@PixelShaderFunction(vf4;) 91(param) + Store 90(@entryPointOutput) 93 + Return + FunctionEnd +11(@PixelShaderFunction(vf4;): 7(fvec4) Function None 9 + 10(input): 8(ptr) FunctionParameter + 12: Label + 68(ii): 67(ptr) Variable Function 80(ii): 79(ptr) Variable Function - 10: 7(fvec4) Load 9(input) - 11: 7(fvec4) Load 9(input) - 14: 13(bvec4) FOrdEqual 10 11 - 15: 12(bool) All 14 - SelectionMerge 17 None - BranchConditional 15 16 17 - 16: Label - 20: 7(fvec4) Load 9(input) - Store 19(@entryPointOutput) 20 - Return - 17: Label - 22: 7(fvec4) Load 9(input) - 23: 7(fvec4) Load 9(input) - 24: 13(bvec4) FOrdEqual 22 23 - 25: 12(bool) All 24 - SelectionMerge 27 None - BranchConditional 25 26 30 - 26: Label - 28: 7(fvec4) Load 9(input) - Store 19(@entryPointOutput) 28 - Return - 30: Label - 31: 7(fvec4) Load 9(input) - 32: 7(fvec4) FNegate 31 - Store 19(@entryPointOutput) 32 - Return - 27: Label - 34: 7(fvec4) Load 9(input) - 35: 7(fvec4) Load 9(input) - 36: 13(bvec4) FOrdEqual 34 35 - 37: 12(bool) All 36 - SelectionMerge 39 None - BranchConditional 37 38 39 - 38: Label - Branch 39 - 39: Label - 40: 7(fvec4) Load 9(input) - 41: 7(fvec4) Load 9(input) - 42: 13(bvec4) FOrdEqual 40 41 - 43: 12(bool) All 42 - SelectionMerge 45 None - BranchConditional 43 44 45 - 44: Label - Branch 45 - 45: Label - 46: 7(fvec4) Load 9(input) - 47: 7(fvec4) Load 9(input) - 48: 13(bvec4) FOrdEqual 46 47 - 49: 12(bool) All 48 - SelectionMerge 51 None - BranchConditional 49 50 51 - 50: Label - 52: 7(fvec4) Load 9(input) - Store 19(@entryPointOutput) 52 - Return - 51: Label - 54: 7(fvec4) Load 9(input) - 55: 7(fvec4) Load 9(input) - 56: 13(bvec4) FOrdEqual 54 55 - 57: 12(bool) All 56 - SelectionMerge 59 None - BranchConditional 57 58 62 - 58: Label - 60: 7(fvec4) Load 9(input) - Store 19(@entryPointOutput) 60 - Return - 62: Label - 63: 7(fvec4) Load 9(input) - 64: 7(fvec4) FNegate 63 - Store 19(@entryPointOutput) 64 - Return - 59: Label - 71: 70(ptr) AccessChain 9(input) 69 + 13: 7(fvec4) Load 10(input) + 14: 7(fvec4) Load 10(input) + 17: 16(bvec4) FOrdEqual 13 14 + 18: 15(bool) All 17 + SelectionMerge 20 None + BranchConditional 18 19 20 + 19: Label + 21: 7(fvec4) Load 10(input) + ReturnValue 21 + 20: Label + 23: 7(fvec4) Load 10(input) + 24: 7(fvec4) Load 10(input) + 25: 16(bvec4) FOrdEqual 23 24 + 26: 15(bool) All 25 + SelectionMerge 28 None + BranchConditional 26 27 31 + 27: Label + 29: 7(fvec4) Load 10(input) + ReturnValue 29 + 31: Label + 32: 7(fvec4) Load 10(input) + 33: 7(fvec4) FNegate 32 + ReturnValue 33 + 28: Label + 35: 7(fvec4) Load 10(input) + 36: 7(fvec4) Load 10(input) + 37: 16(bvec4) FOrdEqual 35 36 + 38: 15(bool) All 37 + SelectionMerge 40 None + BranchConditional 38 39 40 + 39: Label + Branch 40 + 40: Label + 41: 7(fvec4) Load 10(input) + 42: 7(fvec4) Load 10(input) + 43: 16(bvec4) FOrdEqual 41 42 + 44: 15(bool) All 43 + SelectionMerge 46 None + BranchConditional 44 45 46 + 45: Label + Branch 46 + 46: Label + 47: 7(fvec4) Load 10(input) + 48: 7(fvec4) Load 10(input) + 49: 16(bvec4) FOrdEqual 47 48 + 50: 15(bool) All 49 + SelectionMerge 52 None + BranchConditional 50 51 52 + 51: Label + 53: 7(fvec4) Load 10(input) + ReturnValue 53 + 52: Label + 55: 7(fvec4) Load 10(input) + 56: 7(fvec4) Load 10(input) + 57: 16(bvec4) FOrdEqual 55 56 + 58: 15(bool) All 57 + SelectionMerge 60 None + BranchConditional 58 59 63 + 59: Label + 61: 7(fvec4) Load 10(input) + ReturnValue 61 + 63: Label + 64: 7(fvec4) Load 10(input) + 65: 7(fvec4) FNegate 64 + ReturnValue 65 + 60: Label + 71: 67(ptr) AccessChain 10(input) 70 72: 6(float) Load 71 - Store 67(ii) 72 + Store 68(ii) 72 SelectionMerge 74 None BranchConditional 72 73 74 73: Label - 75: 6(float) Load 67(ii) + 75: 6(float) Load 68(ii) 77: 6(float) FAdd 75 76 - Store 67(ii) 77 + Store 68(ii) 77 Branch 74 74: Label 81: 78(int) Load 80(ii) 83: 78(int) IAdd 81 82 Store 80(ii) 83 - Return + 84: 7(fvec4) Undef + ReturnValue 84 FunctionEnd diff --git a/Test/baseResults/hlsl.init.frag.out b/Test/baseResults/hlsl.init.frag.out index c7e5e23f..b3d76f54 100755 --- a/Test/baseResults/hlsl.init.frag.out +++ b/Test/baseResults/hlsl.init.frag.out @@ -81,9 +81,9 @@ gl_FragCoord origin is upper left 0:18 Constant: 0:18 4 (const uint) 0:18 5 (const uint) -0:21 Function Definition: ShaderFunction(vf4; (temp 4-component vector of float) +0:21 Function Definition: @ShaderFunction(vf4; (temp 4-component vector of float) 0:21 Function Parameters: -0:21 'input' (layout(location=0 ) in 4-component vector of float) +0:21 'input' (in 4-component vector of float) 0:? Sequence 0:22 Sequence 0:22 move second child to first child (temp 4-component vector of float) @@ -127,16 +127,21 @@ gl_FragCoord origin is upper left 0:33 move second child to first child (temp float) 0:33 'a9' (temp float) 0:33 'a5' (global float) -0:35 Sequence -0:35 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:35 component-wise multiply (temp 4-component vector of float) -0:35 'input' (layout(location=0 ) in 4-component vector of float) -0:35 'a1' (global 4-component vector of float) -0:35 Branch: Return +0:35 Branch: Return with expression +0:35 component-wise multiply (temp 4-component vector of float) +0:35 'input' (in 4-component vector of float) +0:35 'a1' (global 4-component vector of float) +0:21 Function Definition: ShaderFunction( (temp void) +0:21 Function Parameters: +0:? Sequence +0:21 move second child to first child (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:21 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:21 Function Call: @ShaderFunction(vf4; (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'input' (layout(location=0 ) in 4-component vector of float) 0:? 'a1' (global 4-component vector of float) 0:? 'b1' (global 4-component vector of float) 0:? 'a1i' (global 4-component vector of float) @@ -155,6 +160,8 @@ gl_FragCoord origin is upper left 0:? 'single2' (global structure{temp 2-component vector of uint v}) 0:? 'single3' (global structure{temp structure{temp int f} s1}) 0:? 'single4' (global structure{temp structure{temp 2-component vector of uint v} s1}) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform float a, layout(row_major std140 ) uniform float b, layout(row_major std140 ) uniform float c}) @@ -240,9 +247,9 @@ gl_FragCoord origin is upper left 0:18 Constant: 0:18 4 (const uint) 0:18 5 (const uint) -0:21 Function Definition: ShaderFunction(vf4; (temp 4-component vector of float) +0:21 Function Definition: @ShaderFunction(vf4; (temp 4-component vector of float) 0:21 Function Parameters: -0:21 'input' (layout(location=0 ) in 4-component vector of float) +0:21 'input' (in 4-component vector of float) 0:? Sequence 0:22 Sequence 0:22 move second child to first child (temp 4-component vector of float) @@ -286,16 +293,21 @@ gl_FragCoord origin is upper left 0:33 move second child to first child (temp float) 0:33 'a9' (temp float) 0:33 'a5' (global float) -0:35 Sequence -0:35 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:35 component-wise multiply (temp 4-component vector of float) -0:35 'input' (layout(location=0 ) in 4-component vector of float) -0:35 'a1' (global 4-component vector of float) -0:35 Branch: Return +0:35 Branch: Return with expression +0:35 component-wise multiply (temp 4-component vector of float) +0:35 'input' (in 4-component vector of float) +0:35 'a1' (global 4-component vector of float) +0:21 Function Definition: ShaderFunction( (temp void) +0:21 Function Parameters: +0:? Sequence +0:21 move second child to first child (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:21 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:21 Function Call: @ShaderFunction(vf4; (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'input' (layout(location=0 ) in 4-component vector of float) 0:? 'a1' (global 4-component vector of float) 0:? 'b1' (global 4-component vector of float) 0:? 'a1i' (global 4-component vector of float) @@ -314,185 +326,204 @@ gl_FragCoord origin is upper left 0:? 'single2' (global structure{temp 2-component vector of uint v}) 0:? 'single3' (global structure{temp structure{temp int f} s1}) 0:? 'single4' (global structure{temp structure{temp 2-component vector of uint v} s1}) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform float a, layout(row_major std140 ) uniform float b, layout(row_major std140 ) uniform float c}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 100 +// Id's are bound by 110 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "ShaderFunction" 88 90 + EntryPoint Fragment 4 "ShaderFunction" 98 101 ExecutionMode 4 OriginUpperLeft Name 4 "ShaderFunction" - Name 9 "a1" - Name 14 "b1" - Name 20 "a1i" - Name 21 "b1i" - Name 23 "a2" - Name 25 "b3" - Name 27 "b4" - Name 29 "a5" - Name 30 "c5" - Name 33 "Single1" - MemberName 33(Single1) 0 "f" - Name 35 "single1" - Name 40 "Single2" - MemberName 40(Single2) 0 "v" - Name 42 "single2" - Name 47 "Single3" - MemberName 47(Single3) 0 "s1" - Name 49 "single3" - Name 53 "Single4" - MemberName 53(Single4) 0 "s1" - Name 55 "single4" - Name 62 "a2" - Name 64 "S1" - MemberName 64(S1) 0 "f" - MemberName 64(S1) 1 "i" - Name 65 "S2" - MemberName 65(S2) 0 "j" - MemberName 65(S2) 1 "g" - MemberName 65(S2) 2 "s1" - Name 67 "s2i" - Name 70 "a3" - Name 71 "a4" - Name 76 "s2" - Name 82 "a8" - Name 83 "b2" - Name 85 "a9" - Name 88 "@entryPointOutput" - Name 90 "input" - Name 95 "c4" - Name 96 "b5" - Name 97 "Constants" - MemberName 97(Constants) 0 "a" - MemberName 97(Constants) 1 "b" - MemberName 97(Constants) 2 "c" - Name 99 "" - Decorate 88(@entryPointOutput) Location 0 - Decorate 90(input) Location 0 - MemberDecorate 97(Constants) 0 Offset 0 - MemberDecorate 97(Constants) 1 Offset 4 - MemberDecorate 97(Constants) 2 Offset 8 - Decorate 97(Constants) Block - Decorate 99 DescriptorSet 0 + Name 11 "@ShaderFunction(vf4;" + Name 10 "input" + Name 14 "a1" + Name 19 "b1" + Name 25 "a1i" + Name 26 "b1i" + Name 28 "a2" + Name 30 "b3" + Name 32 "b4" + Name 34 "a5" + Name 35 "c5" + Name 38 "Single1" + MemberName 38(Single1) 0 "f" + Name 40 "single1" + Name 45 "Single2" + MemberName 45(Single2) 0 "v" + Name 47 "single2" + Name 52 "Single3" + MemberName 52(Single3) 0 "s1" + Name 54 "single3" + Name 58 "Single4" + MemberName 58(Single4) 0 "s1" + Name 60 "single4" + Name 66 "a2" + Name 68 "S1" + MemberName 68(S1) 0 "f" + MemberName 68(S1) 1 "i" + Name 69 "S2" + MemberName 69(S2) 0 "j" + MemberName 69(S2) 1 "g" + MemberName 69(S2) 2 "s1" + Name 71 "s2i" + Name 74 "a3" + Name 75 "a4" + Name 80 "s2" + Name 86 "a8" + Name 87 "b2" + Name 89 "a9" + Name 96 "input" + Name 98 "input" + Name 101 "@entryPointOutput" + Name 102 "param" + Name 105 "c4" + Name 106 "b5" + Name 107 "Constants" + MemberName 107(Constants) 0 "a" + MemberName 107(Constants) 1 "b" + MemberName 107(Constants) 2 "c" + Name 109 "" + Decorate 98(input) Location 0 + Decorate 101(@entryPointOutput) Location 0 + MemberDecorate 107(Constants) 0 Offset 0 + MemberDecorate 107(Constants) 1 Offset 4 + MemberDecorate 107(Constants) 2 Offset 8 + Decorate 107(Constants) Block + Decorate 109 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Private 7(fvec4) - 9(a1): 8(ptr) Variable Private - 10: 6(float) Constant 1065353216 - 11: 6(float) Constant 1056964608 - 12: 6(float) Constant 0 - 13: 7(fvec4) ConstantComposite 10 11 12 10 - 14(b1): 8(ptr) Variable Private - 15: 6(float) Constant 1073741824 - 16: 6(float) Constant 1075838976 - 17: 6(float) Constant 1074161254 - 18: 6(float) Constant 1074580685 - 19: 7(fvec4) ConstantComposite 15 16 17 18 - 20(a1i): 8(ptr) Variable Private - 21(b1i): 8(ptr) Variable Private - 22: TypePointer Private 6(float) - 23(a2): 22(ptr) Variable Private - 24: 6(float) Constant 1045220557 - 25(b3): 22(ptr) Variable Private - 26: 6(float) Constant 1050253722 - 27(b4): 22(ptr) Variable Private - 28: 6(float) Constant 1053609165 - 29(a5): 22(ptr) Variable Private - 30(c5): 22(ptr) Variable Private - 31: 6(float) Constant 1069547520 - 32: TypeInt 32 1 - 33(Single1): TypeStruct 32(int) - 34: TypePointer Private 33(Single1) - 35(single1): 34(ptr) Variable Private - 36: 32(int) Constant 10 - 37: 33(Single1) ConstantComposite 36 - 38: TypeInt 32 0 - 39: TypeVector 38(int) 2 - 40(Single2): TypeStruct 39(ivec2) - 41: TypePointer Private 40(Single2) - 42(single2): 41(ptr) Variable Private - 43: 38(int) Constant 1 - 44: 38(int) Constant 2 - 45: 39(ivec2) ConstantComposite 43 44 - 46: 40(Single2) ConstantComposite 45 - 47(Single3): TypeStruct 33(Single1) - 48: TypePointer Private 47(Single3) - 49(single3): 48(ptr) Variable Private - 50: 32(int) Constant 3 - 51: 33(Single1) ConstantComposite 50 - 52: 47(Single3) ConstantComposite 51 - 53(Single4): TypeStruct 40(Single2) - 54: TypePointer Private 53(Single4) - 55(single4): 54(ptr) Variable Private - 56: 38(int) Constant 4 - 57: 38(int) Constant 5 - 58: 39(ivec2) ConstantComposite 56 57 - 59: 40(Single2) ConstantComposite 58 - 60: 53(Single4) ConstantComposite 59 - 61: TypePointer Function 7(fvec4) - 63: 7(fvec4) ConstantComposite 24 26 28 11 - 64(S1): TypeStruct 6(float) 32(int) - 65(S2): TypeStruct 32(int) 6(float) 64(S1) - 66: TypePointer Function 65(S2) - 68: 32(int) Constant 9 - 70(a3): 22(ptr) Variable Private - 71(a4): 22(ptr) Variable Private - 73: 32(int) Constant 12 - 81: TypePointer Function 6(float) - 83(b2): 22(ptr) Variable Private - 87: TypePointer Output 7(fvec4) -88(@entryPointOutput): 87(ptr) Variable Output - 89: TypePointer Input 7(fvec4) - 90(input): 89(ptr) Variable Input - 95(c4): 22(ptr) Variable Private - 96(b5): 22(ptr) Variable Private - 97(Constants): TypeStruct 6(float) 6(float) 6(float) - 98: TypePointer Uniform 97(Constants) - 99: 98(ptr) Variable Uniform + 8: TypePointer Function 7(fvec4) + 9: TypeFunction 7(fvec4) 8(ptr) + 13: TypePointer Private 7(fvec4) + 14(a1): 13(ptr) Variable Private + 15: 6(float) Constant 1065353216 + 16: 6(float) Constant 1056964608 + 17: 6(float) Constant 0 + 18: 7(fvec4) ConstantComposite 15 16 17 15 + 19(b1): 13(ptr) Variable Private + 20: 6(float) Constant 1073741824 + 21: 6(float) Constant 1075838976 + 22: 6(float) Constant 1074161254 + 23: 6(float) Constant 1074580685 + 24: 7(fvec4) ConstantComposite 20 21 22 23 + 25(a1i): 13(ptr) Variable Private + 26(b1i): 13(ptr) Variable Private + 27: TypePointer Private 6(float) + 28(a2): 27(ptr) Variable Private + 29: 6(float) Constant 1045220557 + 30(b3): 27(ptr) Variable Private + 31: 6(float) Constant 1050253722 + 32(b4): 27(ptr) Variable Private + 33: 6(float) Constant 1053609165 + 34(a5): 27(ptr) Variable Private + 35(c5): 27(ptr) Variable Private + 36: 6(float) Constant 1069547520 + 37: TypeInt 32 1 + 38(Single1): TypeStruct 37(int) + 39: TypePointer Private 38(Single1) + 40(single1): 39(ptr) Variable Private + 41: 37(int) Constant 10 + 42: 38(Single1) ConstantComposite 41 + 43: TypeInt 32 0 + 44: TypeVector 43(int) 2 + 45(Single2): TypeStruct 44(ivec2) + 46: TypePointer Private 45(Single2) + 47(single2): 46(ptr) Variable Private + 48: 43(int) Constant 1 + 49: 43(int) Constant 2 + 50: 44(ivec2) ConstantComposite 48 49 + 51: 45(Single2) ConstantComposite 50 + 52(Single3): TypeStruct 38(Single1) + 53: TypePointer Private 52(Single3) + 54(single3): 53(ptr) Variable Private + 55: 37(int) Constant 3 + 56: 38(Single1) ConstantComposite 55 + 57: 52(Single3) ConstantComposite 56 + 58(Single4): TypeStruct 45(Single2) + 59: TypePointer Private 58(Single4) + 60(single4): 59(ptr) Variable Private + 61: 43(int) Constant 4 + 62: 43(int) Constant 5 + 63: 44(ivec2) ConstantComposite 61 62 + 64: 45(Single2) ConstantComposite 63 + 65: 58(Single4) ConstantComposite 64 + 67: 7(fvec4) ConstantComposite 29 31 33 16 + 68(S1): TypeStruct 6(float) 37(int) + 69(S2): TypeStruct 37(int) 6(float) 68(S1) + 70: TypePointer Function 69(S2) + 72: 37(int) Constant 9 + 74(a3): 27(ptr) Variable Private + 75(a4): 27(ptr) Variable Private + 77: 37(int) Constant 12 + 85: TypePointer Function 6(float) + 87(b2): 27(ptr) Variable Private + 97: TypePointer Input 7(fvec4) + 98(input): 97(ptr) Variable Input + 100: TypePointer Output 7(fvec4) +101(@entryPointOutput): 100(ptr) Variable Output + 105(c4): 27(ptr) Variable Private + 106(b5): 27(ptr) Variable Private + 107(Constants): TypeStruct 6(float) 6(float) 6(float) + 108: TypePointer Uniform 107(Constants) + 109: 108(ptr) Variable Uniform 4(ShaderFunction): 2 Function None 3 5: Label - 62(a2): 61(ptr) Variable Function - 67(s2i): 66(ptr) Variable Function - 76(s2): 66(ptr) Variable Function - 82(a8): 81(ptr) Variable Function - 85(a9): 81(ptr) Variable Function - Store 9(a1) 13 - Store 14(b1) 19 - Store 20(a1i) 13 - Store 21(b1i) 19 - Store 23(a2) 24 - Store 25(b3) 26 - Store 27(b4) 28 - Store 29(a5) 11 - Store 30(c5) 31 - Store 35(single1) 37 - Store 42(single2) 46 - Store 49(single3) 52 - Store 55(single4) 60 - Store 62(a2) 63 - 69: 6(float) Load 29(a5) - 72: 6(float) Load 71(a4) - 74: 64(S1) CompositeConstruct 72 73 - 75: 65(S2) CompositeConstruct 68 69 74 - Store 67(s2i) 75 - 77: 6(float) Load 29(a5) - 78: 6(float) Load 71(a4) - 79: 64(S1) CompositeConstruct 78 73 - 80: 65(S2) CompositeConstruct 68 77 79 - Store 76(s2) 80 - 84: 6(float) Load 83(b2) - Store 82(a8) 84 - 86: 6(float) Load 29(a5) - Store 85(a9) 86 - 91: 7(fvec4) Load 90(input) - 92: 7(fvec4) Load 9(a1) - 93: 7(fvec4) FMul 91 92 - Store 88(@entryPointOutput) 93 + 96(input): 8(ptr) Variable Function + 102(param): 8(ptr) Variable Function + Store 14(a1) 18 + Store 19(b1) 24 + Store 25(a1i) 18 + Store 26(b1i) 24 + Store 28(a2) 29 + Store 30(b3) 31 + Store 32(b4) 33 + Store 34(a5) 16 + Store 35(c5) 36 + Store 40(single1) 42 + Store 47(single2) 51 + Store 54(single3) 57 + Store 60(single4) 65 + 99: 7(fvec4) Load 98(input) + Store 96(input) 99 + 103: 7(fvec4) Load 96(input) + Store 102(param) 103 + 104: 7(fvec4) FunctionCall 11(@ShaderFunction(vf4;) 102(param) + Store 101(@entryPointOutput) 104 Return FunctionEnd +11(@ShaderFunction(vf4;): 7(fvec4) Function None 9 + 10(input): 8(ptr) FunctionParameter + 12: Label + 66(a2): 8(ptr) Variable Function + 71(s2i): 70(ptr) Variable Function + 80(s2): 70(ptr) Variable Function + 86(a8): 85(ptr) Variable Function + 89(a9): 85(ptr) Variable Function + Store 66(a2) 67 + 73: 6(float) Load 34(a5) + 76: 6(float) Load 75(a4) + 78: 68(S1) CompositeConstruct 76 77 + 79: 69(S2) CompositeConstruct 72 73 78 + Store 71(s2i) 79 + 81: 6(float) Load 34(a5) + 82: 6(float) Load 75(a4) + 83: 68(S1) CompositeConstruct 82 77 + 84: 69(S2) CompositeConstruct 72 81 83 + Store 80(s2) 84 + 88: 6(float) Load 87(b2) + Store 86(a8) 88 + 90: 6(float) Load 34(a5) + Store 89(a9) 90 + 91: 7(fvec4) Load 10(input) + 92: 7(fvec4) Load 14(a1) + 93: 7(fvec4) FMul 91 92 + ReturnValue 93 + FunctionEnd diff --git a/Test/baseResults/hlsl.init2.frag.out b/Test/baseResults/hlsl.init2.frag.out index d8d2d371..5cd01390 100644 --- a/Test/baseResults/hlsl.init2.frag.out +++ b/Test/baseResults/hlsl.init2.frag.out @@ -147,7 +147,7 @@ gl_FragCoord origin is upper left 0:39 'n' (temp float) 0:39 Constant: 0:39 1.000000 -0:45 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:45 Function Definition: @main( (temp structure{temp 4-component vector of float color}) 0:45 Function Parameters: 0:? Sequence 0:46 Function Call: Test1( (temp void) @@ -161,15 +161,18 @@ gl_FragCoord origin is upper left 0:49 1.000000 0:49 1.000000 0:49 1.000000 -0:50 Sequence -0:50 Sequence -0:50 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:50 color: direct index for structure (temp 4-component vector of float) -0:50 'ps_output' (temp structure{temp 4-component vector of float color}) -0:50 Constant: -0:50 0 (const int) -0:50 Branch: Return +0:50 Branch: Return with expression +0:50 'ps_output' (temp structure{temp 4-component vector of float color}) +0:45 Function Definition: main( (temp void) +0:45 Function Parameters: +0:? Sequence +0:45 Sequence +0:45 move second child to first child (temp 4-component vector of float) +0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:45 color: direct index for structure (temp 4-component vector of float) +0:45 Function Call: @main( (temp structure{temp 4-component vector of float color}) +0:45 Constant: +0:45 0 (const int) 0:? Linker Objects 0:? 'color' (layout(location=0 ) out 4-component vector of float) @@ -325,7 +328,7 @@ gl_FragCoord origin is upper left 0:39 'n' (temp float) 0:39 Constant: 0:39 1.000000 -0:45 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:45 Function Definition: @main( (temp structure{temp 4-component vector of float color}) 0:45 Function Parameters: 0:? Sequence 0:46 Function Call: Test1( (temp void) @@ -339,179 +342,189 @@ gl_FragCoord origin is upper left 0:49 1.000000 0:49 1.000000 0:49 1.000000 -0:50 Sequence -0:50 Sequence -0:50 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:50 color: direct index for structure (temp 4-component vector of float) -0:50 'ps_output' (temp structure{temp 4-component vector of float color}) -0:50 Constant: -0:50 0 (const int) -0:50 Branch: Return +0:50 Branch: Return with expression +0:50 'ps_output' (temp structure{temp 4-component vector of float color}) +0:45 Function Definition: main( (temp void) +0:45 Function Parameters: +0:? Sequence +0:45 Sequence +0:45 move second child to first child (temp 4-component vector of float) +0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:45 color: direct index for structure (temp 4-component vector of float) +0:45 Function Call: @main( (temp structure{temp 4-component vector of float color}) +0:45 Constant: +0:45 0 (const int) 0:? Linker Objects 0:? 'color' (layout(location=0 ) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 107 +// Id's are bound by 112 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 103 + EntryPoint Fragment 4 "main" 109 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 6 "Test1(" - Name 10 "mystruct" - MemberName 10(mystruct) 0 "a" - Name 12 "test1" - Name 17 "test2" - Name 23 "test4" - Name 25 "mystruct2" - MemberName 25(mystruct2) 0 "a" - MemberName 25(mystruct2) 1 "b" - MemberName 25(mystruct2) 2 "c" - Name 27 "test5" - Name 32 "n" - Name 39 "a" - Name 75 "one" - MemberName 75(one) 0 "a" - Name 77 "oneNonConst" - Name 82 "two" - MemberName 82(two) 0 "a" - MemberName 82(two) 1 "b" - Name 84 "twoNonConst" - Name 94 "PS_OUTPUT" - MemberName 94(PS_OUTPUT) 0 "color" - Name 96 "ps_output" - Name 103 "color" - Decorate 103(color) Location 0 + Name 10 "PS_OUTPUT" + MemberName 10(PS_OUTPUT) 0 "color" + Name 12 "@main(" + Name 15 "mystruct" + MemberName 15(mystruct) 0 "a" + Name 17 "test1" + Name 22 "test2" + Name 28 "test4" + Name 30 "mystruct2" + MemberName 30(mystruct2) 0 "a" + MemberName 30(mystruct2) 1 "b" + MemberName 30(mystruct2) 2 "c" + Name 32 "test5" + Name 37 "n" + Name 44 "a" + Name 80 "one" + MemberName 80(one) 0 "a" + Name 82 "oneNonConst" + Name 87 "two" + MemberName 87(two) 0 "a" + MemberName 87(two) 1 "b" + Name 89 "twoNonConst" + Name 99 "ps_output" + Name 109 "color" + Decorate 109(color) Location 0 2: TypeVoid 3: TypeFunction 2 8: TypeFloat 32 - 9: TypeVector 8(float) 2 - 10(mystruct): TypeStruct 9(fvec2) - 11: TypePointer Function 10(mystruct) - 13: 8(float) Constant 1065353216 - 14: 8(float) Constant 1073741824 - 15: 9(fvec2) ConstantComposite 13 14 - 16:10(mystruct) ConstantComposite 15 - 18: 8(float) Constant 1077936128 - 19: 8(float) Constant 1082130432 - 20: 9(fvec2) ConstantComposite 18 19 - 21:10(mystruct) ConstantComposite 20 - 22: TypePointer Function 8(float) - 24: 8(float) Constant 1088421888 - 25(mystruct2): TypeStruct 8(float) 8(float) 8(float) - 26: TypePointer Function 25(mystruct2) - 28: 8(float) Constant 1090519040 - 29: 8(float) Constant 1091567616 - 30: 8(float) Constant 1092616192 - 31:25(mystruct2) ConstantComposite 28 29 30 - 33: 8(float) Constant 0 - 34: TypeVector 8(float) 3 - 35: TypeInt 32 0 - 36: 35(int) Constant 8 - 37: TypeArray 34(fvec3) 36 - 38: TypePointer Function 37 - 40: 8(float) Constant 1058262330 - 41: 34(fvec3) ConstantComposite 40 40 40 - 45: 8(float) Constant 3205745978 - 46: 34(fvec3) ConstantComposite 45 45 45 - 50: 34(fvec3) ConstantComposite 45 45 40 - 54: 34(fvec3) ConstantComposite 45 40 45 - 58: 34(fvec3) ConstantComposite 45 40 40 - 62: 34(fvec3) ConstantComposite 40 45 45 - 66: 34(fvec3) ConstantComposite 40 45 40 - 70: 34(fvec3) ConstantComposite 40 40 45 - 75(one): TypeStruct 34(fvec3) - 76: TypePointer Function 75(one) - 82(two): TypeStruct 34(fvec3) 34(fvec3) - 83: TypePointer Function 82(two) - 93: TypeVector 8(float) 4 - 94(PS_OUTPUT): TypeStruct 93(fvec4) - 95: TypePointer Function 94(PS_OUTPUT) - 97: TypeInt 32 1 - 98: 97(int) Constant 0 - 99: 93(fvec4) ConstantComposite 13 13 13 13 - 100: TypePointer Function 93(fvec4) - 102: TypePointer Output 93(fvec4) - 103(color): 102(ptr) Variable Output + 9: TypeVector 8(float) 4 + 10(PS_OUTPUT): TypeStruct 9(fvec4) + 11: TypeFunction 10(PS_OUTPUT) + 14: TypeVector 8(float) 2 + 15(mystruct): TypeStruct 14(fvec2) + 16: TypePointer Function 15(mystruct) + 18: 8(float) Constant 1065353216 + 19: 8(float) Constant 1073741824 + 20: 14(fvec2) ConstantComposite 18 19 + 21:15(mystruct) ConstantComposite 20 + 23: 8(float) Constant 1077936128 + 24: 8(float) Constant 1082130432 + 25: 14(fvec2) ConstantComposite 23 24 + 26:15(mystruct) ConstantComposite 25 + 27: TypePointer Function 8(float) + 29: 8(float) Constant 1088421888 + 30(mystruct2): TypeStruct 8(float) 8(float) 8(float) + 31: TypePointer Function 30(mystruct2) + 33: 8(float) Constant 1090519040 + 34: 8(float) Constant 1091567616 + 35: 8(float) Constant 1092616192 + 36:30(mystruct2) ConstantComposite 33 34 35 + 38: 8(float) Constant 0 + 39: TypeVector 8(float) 3 + 40: TypeInt 32 0 + 41: 40(int) Constant 8 + 42: TypeArray 39(fvec3) 41 + 43: TypePointer Function 42 + 45: 8(float) Constant 1058262330 + 46: 39(fvec3) ConstantComposite 45 45 45 + 50: 8(float) Constant 3205745978 + 51: 39(fvec3) ConstantComposite 50 50 50 + 55: 39(fvec3) ConstantComposite 50 50 45 + 59: 39(fvec3) ConstantComposite 50 45 50 + 63: 39(fvec3) ConstantComposite 50 45 45 + 67: 39(fvec3) ConstantComposite 45 50 50 + 71: 39(fvec3) ConstantComposite 45 50 45 + 75: 39(fvec3) ConstantComposite 45 45 50 + 80(one): TypeStruct 39(fvec3) + 81: TypePointer Function 80(one) + 87(two): TypeStruct 39(fvec3) 39(fvec3) + 88: TypePointer Function 87(two) + 98: TypePointer Function 10(PS_OUTPUT) + 100: TypeInt 32 1 + 101: 100(int) Constant 0 + 102: 9(fvec4) ConstantComposite 18 18 18 18 + 103: TypePointer Function 9(fvec4) + 108: TypePointer Output 9(fvec4) + 109(color): 108(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 96(ps_output): 95(ptr) Variable Function - 92: 2 FunctionCall 6(Test1() - 101: 100(ptr) AccessChain 96(ps_output) 98 - Store 101 99 - 104: 100(ptr) AccessChain 96(ps_output) 98 - 105: 93(fvec4) Load 104 - Store 103(color) 105 + 110:10(PS_OUTPUT) FunctionCall 12(@main() + 111: 9(fvec4) CompositeExtract 110 0 + Store 109(color) 111 Return FunctionEnd 6(Test1(): 2 Function None 3 7: Label - 12(test1): 11(ptr) Variable Function - 17(test2): 11(ptr) Variable Function - 23(test4): 22(ptr) Variable Function - 27(test5): 26(ptr) Variable Function - 32(n): 22(ptr) Variable Function - 39(a): 38(ptr) Variable Function - 77(oneNonConst): 76(ptr) Variable Function - 84(twoNonConst): 83(ptr) Variable Function - Store 12(test1) 16 - Store 17(test2) 21 - Store 23(test4) 24 - Store 27(test5) 31 - Store 32(n) 33 - 42: 8(float) Load 32(n) - 43: 8(float) FAdd 42 13 - Store 32(n) 43 - 44: 34(fvec3) VectorTimesScalar 41 43 - 47: 8(float) Load 32(n) - 48: 8(float) FAdd 47 13 - Store 32(n) 48 - 49: 34(fvec3) VectorTimesScalar 46 48 - 51: 8(float) Load 32(n) - 52: 8(float) FAdd 51 13 - Store 32(n) 52 - 53: 34(fvec3) VectorTimesScalar 50 52 - 55: 8(float) Load 32(n) - 56: 8(float) FAdd 55 13 - Store 32(n) 56 - 57: 34(fvec3) VectorTimesScalar 54 56 - 59: 8(float) Load 32(n) - 60: 8(float) FAdd 59 13 - Store 32(n) 60 - 61: 34(fvec3) VectorTimesScalar 58 60 - 63: 8(float) Load 32(n) - 64: 8(float) FAdd 63 13 - Store 32(n) 64 - 65: 34(fvec3) VectorTimesScalar 62 64 - 67: 8(float) Load 32(n) - 68: 8(float) FAdd 67 13 - Store 32(n) 68 - 69: 34(fvec3) VectorTimesScalar 66 68 - 71: 8(float) Load 32(n) - 72: 8(float) FAdd 71 13 - Store 32(n) 72 - 73: 34(fvec3) VectorTimesScalar 70 72 - 74: 37 CompositeConstruct 44 49 53 57 61 65 69 73 - Store 39(a) 74 - 78: 8(float) Load 32(n) - 79: 8(float) FAdd 78 13 - Store 32(n) 79 - 80: 34(fvec3) VectorTimesScalar 58 79 - 81: 75(one) CompositeConstruct 80 - Store 77(oneNonConst) 81 - 85: 8(float) Load 32(n) - 86: 8(float) FAdd 85 13 - Store 32(n) 86 - 87: 34(fvec3) VectorTimesScalar 58 86 - 88: 8(float) Load 32(n) - 89: 8(float) FAdd 88 13 - Store 32(n) 89 - 90: 34(fvec3) VectorTimesScalar 58 89 - 91: 82(two) CompositeConstruct 87 90 - Store 84(twoNonConst) 91 + 17(test1): 16(ptr) Variable Function + 22(test2): 16(ptr) Variable Function + 28(test4): 27(ptr) Variable Function + 32(test5): 31(ptr) Variable Function + 37(n): 27(ptr) Variable Function + 44(a): 43(ptr) Variable Function + 82(oneNonConst): 81(ptr) Variable Function + 89(twoNonConst): 88(ptr) Variable Function + Store 17(test1) 21 + Store 22(test2) 26 + Store 28(test4) 29 + Store 32(test5) 36 + Store 37(n) 38 + 47: 8(float) Load 37(n) + 48: 8(float) FAdd 47 18 + Store 37(n) 48 + 49: 39(fvec3) VectorTimesScalar 46 48 + 52: 8(float) Load 37(n) + 53: 8(float) FAdd 52 18 + Store 37(n) 53 + 54: 39(fvec3) VectorTimesScalar 51 53 + 56: 8(float) Load 37(n) + 57: 8(float) FAdd 56 18 + Store 37(n) 57 + 58: 39(fvec3) VectorTimesScalar 55 57 + 60: 8(float) Load 37(n) + 61: 8(float) FAdd 60 18 + Store 37(n) 61 + 62: 39(fvec3) VectorTimesScalar 59 61 + 64: 8(float) Load 37(n) + 65: 8(float) FAdd 64 18 + Store 37(n) 65 + 66: 39(fvec3) VectorTimesScalar 63 65 + 68: 8(float) Load 37(n) + 69: 8(float) FAdd 68 18 + Store 37(n) 69 + 70: 39(fvec3) VectorTimesScalar 67 69 + 72: 8(float) Load 37(n) + 73: 8(float) FAdd 72 18 + Store 37(n) 73 + 74: 39(fvec3) VectorTimesScalar 71 73 + 76: 8(float) Load 37(n) + 77: 8(float) FAdd 76 18 + Store 37(n) 77 + 78: 39(fvec3) VectorTimesScalar 75 77 + 79: 42 CompositeConstruct 49 54 58 62 66 70 74 78 + Store 44(a) 79 + 83: 8(float) Load 37(n) + 84: 8(float) FAdd 83 18 + Store 37(n) 84 + 85: 39(fvec3) VectorTimesScalar 63 84 + 86: 80(one) CompositeConstruct 85 + Store 82(oneNonConst) 86 + 90: 8(float) Load 37(n) + 91: 8(float) FAdd 90 18 + Store 37(n) 91 + 92: 39(fvec3) VectorTimesScalar 63 91 + 93: 8(float) Load 37(n) + 94: 8(float) FAdd 93 18 + Store 37(n) 94 + 95: 39(fvec3) VectorTimesScalar 63 94 + 96: 87(two) CompositeConstruct 92 95 + Store 89(twoNonConst) 96 Return FunctionEnd + 12(@main():10(PS_OUTPUT) Function None 11 + 13: Label + 99(ps_output): 98(ptr) Variable Function + 97: 2 FunctionCall 6(Test1() + 104: 103(ptr) AccessChain 99(ps_output) 101 + Store 104 102 + 105:10(PS_OUTPUT) Load 99(ps_output) + ReturnValue 105 + FunctionEnd diff --git a/Test/baseResults/hlsl.inoutquals.frag.out b/Test/baseResults/hlsl.inoutquals.frag.out index b2716a4c..17c9b334 100644 --- a/Test/baseResults/hlsl.inoutquals.frag.out +++ b/Test/baseResults/hlsl.inoutquals.frag.out @@ -18,7 +18,7 @@ gl_FragCoord origin is upper left 0:11 'x' (in float) 0:11 Constant: 0:11 -1.000000 -0:15 Function Definition: main(vf4;i1; (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:15 Function Definition: @main(vf4;i1; (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:15 Function Parameters: 0:15 'inpos' (noperspective in 4-component vector of float FragCoord) 0:15 'sampleMask' (out int SampleMaskIn) @@ -56,21 +56,35 @@ gl_FragCoord origin is upper left 0:22 'inpos' (noperspective in 4-component vector of float FragCoord) 0:22 Constant: 0:22 3 (const int) -0:24 Sequence -0:24 Sequence -0:24 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:24 Color: direct index for structure (temp 4-component vector of float) -0:24 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:24 Constant: -0:24 0 (const int) -0:24 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:24 Depth: direct index for structure (temp float) -0:24 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:24 Constant: -0:24 1 (const int) -0:24 Branch: Return +0:24 Branch: Return with expression +0:24 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:15 Function Definition: main( (temp void) +0:15 Function Parameters: +0:? Sequence +0:15 move second child to first child (temp 4-component vector of float) +0:? 'inpos' (temp 4-component vector of float) +0:? 'inpos' (noperspective in 4-component vector of float FragCoord) +0:15 Sequence +0:15 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:15 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:15 Function Call: @main(vf4;i1; (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:? 'inpos' (temp 4-component vector of float) +0:? 'sampleMask' (temp int) +0:15 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:15 Color: direct index for structure (temp 4-component vector of float) +0:15 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:15 Constant: +0:15 0 (const int) +0:15 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:15 Depth: direct index for structure (temp float) +0:15 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:15 Constant: +0:15 1 (const int) +0:15 move second child to first child (temp int) +0:? 'sampleMask' (out int SampleMaskIn) +0:? 'sampleMask' (temp int) 0:? Linker Objects 0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'Depth' (out float FragDepth) @@ -100,7 +114,7 @@ gl_FragCoord origin is upper left 0:11 'x' (in float) 0:11 Constant: 0:11 -1.000000 -0:15 Function Definition: main(vf4;i1; (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:15 Function Definition: @main(vf4;i1; (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:15 Function Parameters: 0:15 'inpos' (noperspective in 4-component vector of float FragCoord) 0:15 'sampleMask' (out int SampleMaskIn) @@ -138,21 +152,35 @@ gl_FragCoord origin is upper left 0:22 'inpos' (noperspective in 4-component vector of float FragCoord) 0:22 Constant: 0:22 3 (const int) -0:24 Sequence -0:24 Sequence -0:24 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:24 Color: direct index for structure (temp 4-component vector of float) -0:24 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:24 Constant: -0:24 0 (const int) -0:24 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:24 Depth: direct index for structure (temp float) -0:24 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:24 Constant: -0:24 1 (const int) -0:24 Branch: Return +0:24 Branch: Return with expression +0:24 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:15 Function Definition: main( (temp void) +0:15 Function Parameters: +0:? Sequence +0:15 move second child to first child (temp 4-component vector of float) +0:? 'inpos' (temp 4-component vector of float) +0:? 'inpos' (noperspective in 4-component vector of float FragCoord) +0:15 Sequence +0:15 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:15 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:15 Function Call: @main(vf4;i1; (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:? 'inpos' (temp 4-component vector of float) +0:? 'sampleMask' (temp int) +0:15 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:15 Color: direct index for structure (temp 4-component vector of float) +0:15 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:15 Constant: +0:15 0 (const int) +0:15 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:15 Depth: direct index for structure (temp float) +0:15 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:15 Constant: +0:15 1 (const int) +0:15 move second child to first child (temp int) +0:? 'sampleMask' (out int SampleMaskIn) +0:? 'sampleMask' (temp int) 0:? Linker Objects 0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'Depth' (out float FragDepth) @@ -161,101 +189,97 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 63 +// Id's are bound by 80 Capability Shader Capability SampleRateShading 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 45 53 57 62 + EntryPoint Fragment 4 "main" 60 70 74 78 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 12 "MyFunc(f1;f1;f1;" Name 9 "x" Name 10 "y" Name 11 "z" - Name 17 "x" - Name 19 "z" - Name 21 "y" - Name 22 "param" - Name 24 "param" - Name 25 "param" - Name 31 "PS_OUTPUT" - MemberName 31(PS_OUTPUT) 0 "Color" - MemberName 31(PS_OUTPUT) 1 "Depth" - Name 33 "psout" - Name 45 "inpos" - Name 53 "Color" - Name 57 "Depth" - Name 62 "sampleMask" - Decorate 45(inpos) NoPerspective - Decorate 45(inpos) BuiltIn FragCoord - Decorate 53(Color) Location 0 - Decorate 57(Depth) BuiltIn FragDepth - Decorate 62(sampleMask) BuiltIn SampleMask + Name 18 "PS_OUTPUT" + MemberName 18(PS_OUTPUT) 0 "Color" + MemberName 18(PS_OUTPUT) 1 "Depth" + Name 22 "@main(vf4;i1;" + Name 20 "inpos" + Name 21 "sampleMask" + Name 27 "x" + Name 29 "z" + Name 31 "y" + Name 32 "param" + Name 34 "param" + Name 35 "param" + Name 41 "psout" + Name 58 "inpos" + Name 60 "inpos" + Name 62 "flattenTemp" + Name 63 "sampleMask" + Name 64 "param" + Name 66 "param" + Name 70 "Color" + Name 74 "Depth" + Name 78 "sampleMask" + Decorate 60(inpos) NoPerspective + Decorate 60(inpos) BuiltIn FragCoord + Decorate 70(Color) Location 0 + Decorate 74(Depth) BuiltIn FragDepth + Decorate 78(sampleMask) BuiltIn SampleMask 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypePointer Function 6(float) 8: TypeFunction 2 7(ptr) 7(ptr) 7(ptr) - 16: 6(float) Constant 3212836864 - 18: 6(float) Constant 1088421888 - 20: 6(float) Constant 1077936128 - 30: TypeVector 6(float) 4 - 31(PS_OUTPUT): TypeStruct 30(fvec4) 6(float) - 32: TypePointer Function 31(PS_OUTPUT) - 34: TypeInt 32 1 - 35: 34(int) Constant 0 - 39: 6(float) Constant 1065353216 - 41: TypePointer Function 30(fvec4) - 43: 34(int) Constant 1 - 44: TypePointer Input 30(fvec4) - 45(inpos): 44(ptr) Variable Input - 46: TypeInt 32 0 - 47: 46(int) Constant 3 - 48: TypePointer Input 6(float) - 52: TypePointer Output 30(fvec4) - 53(Color): 52(ptr) Variable Output - 56: TypePointer Output 6(float) - 57(Depth): 56(ptr) Variable Output - 61: TypePointer Output 34(int) - 62(sampleMask): 61(ptr) Variable Output + 14: TypeVector 6(float) 4 + 15: TypePointer Function 14(fvec4) + 16: TypeInt 32 1 + 17: TypePointer Function 16(int) + 18(PS_OUTPUT): TypeStruct 14(fvec4) 6(float) + 19: TypeFunction 18(PS_OUTPUT) 15(ptr) 17(ptr) + 26: 6(float) Constant 3212836864 + 28: 6(float) Constant 1088421888 + 30: 6(float) Constant 1077936128 + 40: TypePointer Function 18(PS_OUTPUT) + 42: 16(int) Constant 0 + 46: 6(float) Constant 1065353216 + 49: 16(int) Constant 1 + 50: TypeInt 32 0 + 51: 50(int) Constant 3 + 59: TypePointer Input 14(fvec4) + 60(inpos): 59(ptr) Variable Input + 69: TypePointer Output 14(fvec4) + 70(Color): 69(ptr) Variable Output + 73: TypePointer Output 6(float) + 74(Depth): 73(ptr) Variable Output + 77: TypePointer Output 16(int) + 78(sampleMask): 77(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 17(x): 7(ptr) Variable Function - 19(z): 7(ptr) Variable Function - 21(y): 7(ptr) Variable Function - 22(param): 7(ptr) Variable Function - 24(param): 7(ptr) Variable Function - 25(param): 7(ptr) Variable Function - 33(psout): 32(ptr) Variable Function - Store 17(x) 18 - Store 19(z) 20 - 23: 6(float) Load 17(x) - Store 22(param) 23 - 26: 6(float) Load 19(z) - Store 25(param) 26 - 27: 2 FunctionCall 12(MyFunc(f1;f1;f1;) 22(param) 24(param) 25(param) - 28: 6(float) Load 24(param) - Store 21(y) 28 - 29: 6(float) Load 25(param) - Store 19(z) 29 - 36: 6(float) Load 17(x) - 37: 6(float) Load 21(y) - 38: 6(float) Load 19(z) - 40: 30(fvec4) CompositeConstruct 36 37 38 39 - 42: 41(ptr) AccessChain 33(psout) 35 - Store 42 40 - 49: 48(ptr) AccessChain 45(inpos) 47 - 50: 6(float) Load 49 - 51: 7(ptr) AccessChain 33(psout) 43 - Store 51 50 - 54: 41(ptr) AccessChain 33(psout) 35 - 55: 30(fvec4) Load 54 - Store 53(Color) 55 - 58: 7(ptr) AccessChain 33(psout) 43 - 59: 6(float) Load 58 - Store 57(Depth) 59 + 58(inpos): 15(ptr) Variable Function + 62(flattenTemp): 40(ptr) Variable Function + 63(sampleMask): 17(ptr) Variable Function + 64(param): 15(ptr) Variable Function + 66(param): 17(ptr) Variable Function + 61: 14(fvec4) Load 60(inpos) + Store 58(inpos) 61 + 65: 14(fvec4) Load 58(inpos) + Store 64(param) 65 + 67:18(PS_OUTPUT) FunctionCall 22(@main(vf4;i1;) 64(param) 66(param) + 68: 16(int) Load 66(param) + Store 63(sampleMask) 68 + Store 62(flattenTemp) 67 + 71: 15(ptr) AccessChain 62(flattenTemp) 42 + 72: 14(fvec4) Load 71 + Store 70(Color) 72 + 75: 7(ptr) AccessChain 62(flattenTemp) 49 + 76: 6(float) Load 75 + Store 74(Depth) 76 + 79: 16(int) Load 63(sampleMask) + Store 78(sampleMask) 79 Return FunctionEnd 12(MyFunc(f1;f1;f1;): 2 Function None 8 @@ -263,10 +287,45 @@ gl_FragCoord origin is upper left 10(y): 7(ptr) FunctionParameter 11(z): 7(ptr) FunctionParameter 13: Label - 14: 6(float) Load 9(x) - Store 10(y) 14 - 15: 6(float) Load 10(y) - Store 11(z) 15 - Store 9(x) 16 + 24: 6(float) Load 9(x) + Store 10(y) 24 + 25: 6(float) Load 10(y) + Store 11(z) 25 + Store 9(x) 26 Return FunctionEnd +22(@main(vf4;i1;):18(PS_OUTPUT) Function None 19 + 20(inpos): 15(ptr) FunctionParameter + 21(sampleMask): 17(ptr) FunctionParameter + 23: Label + 27(x): 7(ptr) Variable Function + 29(z): 7(ptr) Variable Function + 31(y): 7(ptr) Variable Function + 32(param): 7(ptr) Variable Function + 34(param): 7(ptr) Variable Function + 35(param): 7(ptr) Variable Function + 41(psout): 40(ptr) Variable Function + Store 27(x) 28 + Store 29(z) 30 + 33: 6(float) Load 27(x) + Store 32(param) 33 + 36: 6(float) Load 29(z) + Store 35(param) 36 + 37: 2 FunctionCall 12(MyFunc(f1;f1;f1;) 32(param) 34(param) 35(param) + 38: 6(float) Load 34(param) + Store 31(y) 38 + 39: 6(float) Load 35(param) + Store 29(z) 39 + 43: 6(float) Load 27(x) + 44: 6(float) Load 31(y) + 45: 6(float) Load 29(z) + 47: 14(fvec4) CompositeConstruct 43 44 45 46 + 48: 15(ptr) AccessChain 41(psout) 42 + Store 48 47 + 52: 7(ptr) AccessChain 20(inpos) 51 + 53: 6(float) Load 52 + 54: 7(ptr) AccessChain 41(psout) 49 + Store 54 53 + 55:18(PS_OUTPUT) Load 41(psout) + ReturnValue 55 + FunctionEnd diff --git a/Test/baseResults/hlsl.intrinsics.barriers.comp.out b/Test/baseResults/hlsl.intrinsics.barriers.comp.out index 07bd3709..d23a2300 100644 --- a/Test/baseResults/hlsl.intrinsics.barriers.comp.out +++ b/Test/baseResults/hlsl.intrinsics.barriers.comp.out @@ -2,7 +2,7 @@ hlsl.intrinsics.barriers.comp Shader version: 450 local_size = (1, 1, 1) 0:? Sequence -0:3 Function Definition: ComputeShaderFunction( (temp float) +0:3 Function Definition: @ComputeShaderFunction( (temp float) 0:3 Function Parameters: 0:? Sequence 0:4 MemoryBarrier (temp void) @@ -11,12 +11,15 @@ local_size = (1, 1, 1) 0:7 GroupMemoryBarrierWithGroupSync (temp void) 0:8 WorkgroupMemoryBarrier (temp void) 0:9 WorkgroupMemoryBarrierWithGroupSync (temp void) -0:11 Sequence -0:11 move second child to first child (temp float) -0:? '@entryPointOutput' (layout(location=0 ) out float) -0:11 Constant: -0:11 0.000000 -0:11 Branch: Return +0:11 Branch: Return with expression +0:11 Constant: +0:11 0.000000 +0:3 Function Definition: ComputeShaderFunction( (temp void) +0:3 Function Parameters: +0:? Sequence +0:3 move second child to first child (temp float) +0:? '@entryPointOutput' (layout(location=0 ) out float) +0:3 Function Call: @ComputeShaderFunction( (temp float) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out float) @@ -27,7 +30,7 @@ Linked compute stage: Shader version: 450 local_size = (1, 1, 1) 0:? Sequence -0:3 Function Definition: ComputeShaderFunction( (temp float) +0:3 Function Definition: @ComputeShaderFunction( (temp float) 0:3 Function Parameters: 0:? Sequence 0:4 MemoryBarrier (temp void) @@ -36,47 +39,57 @@ local_size = (1, 1, 1) 0:7 GroupMemoryBarrierWithGroupSync (temp void) 0:8 WorkgroupMemoryBarrier (temp void) 0:9 WorkgroupMemoryBarrierWithGroupSync (temp void) -0:11 Sequence -0:11 move second child to first child (temp float) -0:? '@entryPointOutput' (layout(location=0 ) out float) -0:11 Constant: -0:11 0.000000 -0:11 Branch: Return +0:11 Branch: Return with expression +0:11 Constant: +0:11 0.000000 +0:3 Function Definition: ComputeShaderFunction( (temp void) +0:3 Function Parameters: +0:? Sequence +0:3 move second child to first child (temp float) +0:? '@entryPointOutput' (layout(location=0 ) out float) +0:3 Function Call: @ComputeShaderFunction( (temp float) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 17 +// Id's are bound by 22 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint GLCompute 4 "ComputeShaderFunction" 14 + EntryPoint GLCompute 4 "ComputeShaderFunction" 20 ExecutionMode 4 LocalSize 1 1 1 Name 4 "ComputeShaderFunction" - Name 14 "@entryPointOutput" - Decorate 14(@entryPointOutput) Location 0 + Name 8 "@ComputeShaderFunction(" + Name 20 "@entryPointOutput" + Decorate 20(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 - 6: TypeInt 32 0 - 7: 6(int) Constant 1 - 8: 6(int) Constant 4048 - 9: 6(int) Constant 512 - 10: 6(int) Constant 2 - 11: 6(int) Constant 256 - 12: TypeFloat 32 - 13: TypePointer Output 12(float) -14(@entryPointOutput): 13(ptr) Variable Output - 15: 12(float) Constant 0 + 6: TypeFloat 32 + 7: TypeFunction 6(float) + 10: TypeInt 32 0 + 11: 10(int) Constant 1 + 12: 10(int) Constant 4048 + 13: 10(int) Constant 512 + 14: 10(int) Constant 2 + 15: 10(int) Constant 256 + 16: 6(float) Constant 0 + 19: TypePointer Output 6(float) +20(@entryPointOutput): 19(ptr) Variable Output 4(ComputeShaderFunction): 2 Function None 3 5: Label - MemoryBarrier 7 8 - ControlBarrier 7 7 8 - MemoryBarrier 7 9 - ControlBarrier 7 7 9 - MemoryBarrier 10 11 - ControlBarrier 10 10 11 - Store 14(@entryPointOutput) 15 + 21: 6(float) FunctionCall 8(@ComputeShaderFunction() + Store 20(@entryPointOutput) 21 Return FunctionEnd +8(@ComputeShaderFunction(): 6(float) Function None 7 + 9: Label + MemoryBarrier 11 12 + ControlBarrier 11 11 12 + MemoryBarrier 11 13 + ControlBarrier 11 11 13 + MemoryBarrier 14 15 + ControlBarrier 14 14 15 + ReturnValue 16 + FunctionEnd diff --git a/Test/baseResults/hlsl.intrinsics.comp.out b/Test/baseResults/hlsl.intrinsics.comp.out index 42ad9731..fed0542b 100644 --- a/Test/baseResults/hlsl.intrinsics.comp.out +++ b/Test/baseResults/hlsl.intrinsics.comp.out @@ -230,16 +230,16 @@ local_size = (1, 1, 1) 0:? 1.000000 0:? 2.000000 0:? 3.000000 -0:105 Function Definition: ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4; (temp 4-component vector of float) +0:105 Function Definition: @ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4; (temp 4-component vector of float) 0:105 Function Parameters: -0:105 'inF0' (layout(location=0 ) in 4-component vector of float) -0:105 'inF1' (layout(location=1 ) in 4-component vector of float) -0:105 'inF2' (layout(location=2 ) in 4-component vector of float) -0:105 'inU0' (layout(location=3 ) in 4-component vector of uint) -0:105 'inU1' (layout(location=4 ) in 4-component vector of uint) +0:105 'inF0' (in 4-component vector of float) +0:105 'inF1' (in 4-component vector of float) +0:105 'inF2' (in 4-component vector of float) +0:105 'inU0' (in 4-component vector of uint) +0:105 'inU1' (in 4-component vector of uint) 0:? Sequence 0:109 all (temp bool) -0:109 'inF0' (layout(location=0 ) in 4-component vector of float) +0:109 'inF0' (in 4-component vector of float) 0:112 AtomicAdd (temp void) 0:112 'gs_ua4' (shared 4-component vector of uint) 0:112 'gs_ub4' (shared 4-component vector of uint) @@ -299,22 +299,39 @@ local_size = (1, 1, 1) 0:125 AtomicXor (temp 4-component vector of uint) 0:125 'gs_ua4' (shared 4-component vector of uint) 0:125 'gs_ub4' (shared 4-component vector of uint) -0:128 Sequence -0:128 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? Constant: -0:? 1.000000 -0:? 2.000000 -0:? 3.000000 -0:? 4.000000 -0:128 Branch: Return +0:128 Branch: Return with expression +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:? 3.000000 +0:? 4.000000 +0:105 Function Definition: ComputeShaderFunction( (temp void) +0:105 Function Parameters: +0:? Sequence +0:105 move second child to first child (temp 4-component vector of float) +0:? 'inF0' (temp 4-component vector of float) +0:? 'inF0' (layout(location=0 ) in 4-component vector of float) +0:105 move second child to first child (temp 4-component vector of float) +0:? 'inF1' (temp 4-component vector of float) +0:? 'inF1' (layout(location=1 ) in 4-component vector of float) +0:105 move second child to first child (temp 4-component vector of float) +0:? 'inF2' (temp 4-component vector of float) +0:? 'inF2' (layout(location=2 ) in 4-component vector of float) +0:105 move second child to first child (temp 4-component vector of uint) +0:? 'inU0' (temp 4-component vector of uint) +0:? 'inU0' (layout(location=3 ) in 4-component vector of uint) +0:105 move second child to first child (temp 4-component vector of uint) +0:? 'inU1' (temp 4-component vector of uint) +0:? 'inU1' (layout(location=4 ) in 4-component vector of uint) +0:105 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:105 Function Call: @ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4; (temp 4-component vector of float) +0:? 'inF0' (temp 4-component vector of float) +0:? 'inF1' (temp 4-component vector of float) +0:? 'inF2' (temp 4-component vector of float) +0:? 'inU0' (temp 4-component vector of uint) +0:? 'inU1' (temp 4-component vector of uint) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'inF0' (layout(location=0 ) in 4-component vector of float) -0:? 'inF1' (layout(location=1 ) in 4-component vector of float) -0:? 'inF2' (layout(location=2 ) in 4-component vector of float) -0:? 'inU0' (layout(location=3 ) in 4-component vector of uint) -0:? 'inU1' (layout(location=4 ) in 4-component vector of uint) 0:? 'gs_ua' (shared uint) 0:? 'gs_ub' (shared uint) 0:? 'gs_uc' (shared uint) @@ -327,6 +344,12 @@ local_size = (1, 1, 1) 0:? 'gs_ua4' (shared 4-component vector of uint) 0:? 'gs_ub4' (shared 4-component vector of uint) 0:? 'gs_uc4' (shared 4-component vector of uint) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:? 'inF0' (layout(location=0 ) in 4-component vector of float) +0:? 'inF1' (layout(location=1 ) in 4-component vector of float) +0:? 'inF2' (layout(location=2 ) in 4-component vector of float) +0:? 'inU0' (layout(location=3 ) in 4-component vector of uint) +0:? 'inU1' (layout(location=4 ) in 4-component vector of uint) Linked compute stage: @@ -563,16 +586,16 @@ local_size = (1, 1, 1) 0:? 1.000000 0:? 2.000000 0:? 3.000000 -0:105 Function Definition: ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4; (temp 4-component vector of float) +0:105 Function Definition: @ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4; (temp 4-component vector of float) 0:105 Function Parameters: -0:105 'inF0' (layout(location=0 ) in 4-component vector of float) -0:105 'inF1' (layout(location=1 ) in 4-component vector of float) -0:105 'inF2' (layout(location=2 ) in 4-component vector of float) -0:105 'inU0' (layout(location=3 ) in 4-component vector of uint) -0:105 'inU1' (layout(location=4 ) in 4-component vector of uint) +0:105 'inF0' (in 4-component vector of float) +0:105 'inF1' (in 4-component vector of float) +0:105 'inF2' (in 4-component vector of float) +0:105 'inU0' (in 4-component vector of uint) +0:105 'inU1' (in 4-component vector of uint) 0:? Sequence 0:109 all (temp bool) -0:109 'inF0' (layout(location=0 ) in 4-component vector of float) +0:109 'inF0' (in 4-component vector of float) 0:112 AtomicAdd (temp void) 0:112 'gs_ua4' (shared 4-component vector of uint) 0:112 'gs_ub4' (shared 4-component vector of uint) @@ -632,22 +655,39 @@ local_size = (1, 1, 1) 0:125 AtomicXor (temp 4-component vector of uint) 0:125 'gs_ua4' (shared 4-component vector of uint) 0:125 'gs_ub4' (shared 4-component vector of uint) -0:128 Sequence -0:128 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? Constant: -0:? 1.000000 -0:? 2.000000 -0:? 3.000000 -0:? 4.000000 -0:128 Branch: Return +0:128 Branch: Return with expression +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:? 3.000000 +0:? 4.000000 +0:105 Function Definition: ComputeShaderFunction( (temp void) +0:105 Function Parameters: +0:? Sequence +0:105 move second child to first child (temp 4-component vector of float) +0:? 'inF0' (temp 4-component vector of float) +0:? 'inF0' (layout(location=0 ) in 4-component vector of float) +0:105 move second child to first child (temp 4-component vector of float) +0:? 'inF1' (temp 4-component vector of float) +0:? 'inF1' (layout(location=1 ) in 4-component vector of float) +0:105 move second child to first child (temp 4-component vector of float) +0:? 'inF2' (temp 4-component vector of float) +0:? 'inF2' (layout(location=2 ) in 4-component vector of float) +0:105 move second child to first child (temp 4-component vector of uint) +0:? 'inU0' (temp 4-component vector of uint) +0:? 'inU0' (layout(location=3 ) in 4-component vector of uint) +0:105 move second child to first child (temp 4-component vector of uint) +0:? 'inU1' (temp 4-component vector of uint) +0:? 'inU1' (layout(location=4 ) in 4-component vector of uint) +0:105 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:105 Function Call: @ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4; (temp 4-component vector of float) +0:? 'inF0' (temp 4-component vector of float) +0:? 'inF1' (temp 4-component vector of float) +0:? 'inF2' (temp 4-component vector of float) +0:? 'inU0' (temp 4-component vector of uint) +0:? 'inU1' (temp 4-component vector of uint) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'inF0' (layout(location=0 ) in 4-component vector of float) -0:? 'inF1' (layout(location=1 ) in 4-component vector of float) -0:? 'inF2' (layout(location=2 ) in 4-component vector of float) -0:? 'inU0' (layout(location=3 ) in 4-component vector of uint) -0:? 'inU1' (layout(location=4 ) in 4-component vector of uint) 0:? 'gs_ua' (shared uint) 0:? 'gs_ub' (shared uint) 0:? 'gs_uc' (shared uint) @@ -660,15 +700,21 @@ local_size = (1, 1, 1) 0:? 'gs_ua4' (shared 4-component vector of uint) 0:? 'gs_ub4' (shared 4-component vector of uint) 0:? 'gs_uc4' (shared 4-component vector of uint) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:? 'inF0' (layout(location=0 ) in 4-component vector of float) +0:? 'inF1' (layout(location=1 ) in 4-component vector of float) +0:? 'inF2' (layout(location=2 ) in 4-component vector of float) +0:? 'inU0' (layout(location=3 ) in 4-component vector of uint) +0:? 'inU1' (layout(location=4 ) in 4-component vector of uint) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 224 +// Id's are bound by 255 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint GLCompute 4 "ComputeShaderFunction" 175 215 219 220 222 223 + EntryPoint GLCompute 4 "ComputeShaderFunction" 227 230 233 237 240 243 ExecutionMode 4 LocalSize 1 1 1 Name 4 "ComputeShaderFunction" Name 16 "ComputeShaderFunctionS(f1;f1;f1;u1;u1;" @@ -693,34 +739,50 @@ local_size = (1, 1, 1) Name 43 "inF2" Name 44 "inU0" Name 45 "inU1" - Name 52 "gs_ua" - Name 53 "gs_ub" - Name 58 "out_u1" - Name 66 "gs_uc" - Name 95 "gs_ua2" - Name 96 "gs_ub2" - Name 99 "out_u2" - Name 107 "gs_uc2" - Name 136 "gs_ua3" - Name 137 "gs_ub3" - Name 140 "out_u3" - Name 148 "gs_uc3" - Name 175 "inF0" - Name 180 "gs_ua4" - Name 181 "gs_ub4" - Name 185 "out_u4" - Name 193 "gs_uc4" - Name 215 "@entryPointOutput" - Name 219 "inF1" - Name 220 "inF2" - Name 222 "inU0" - Name 223 "inU1" - Decorate 175(inF0) Location 0 - Decorate 215(@entryPointOutput) Location 0 - Decorate 219(inF1) Location 1 - Decorate 220(inF2) Location 2 - Decorate 222(inU0) Location 3 - Decorate 223(inU1) Location 4 + Name 58 "@ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4;" + Name 53 "inF0" + Name 54 "inF1" + Name 55 "inF2" + Name 56 "inU0" + Name 57 "inU1" + Name 64 "gs_ua" + Name 65 "gs_ub" + Name 70 "out_u1" + Name 78 "gs_uc" + Name 107 "gs_ua2" + Name 108 "gs_ub2" + Name 111 "out_u2" + Name 119 "gs_uc2" + Name 148 "gs_ua3" + Name 149 "gs_ub3" + Name 152 "out_u3" + Name 160 "gs_uc3" + Name 188 "gs_ua4" + Name 189 "gs_ub4" + Name 192 "out_u4" + Name 200 "gs_uc4" + Name 225 "inF0" + Name 227 "inF0" + Name 229 "inF1" + Name 230 "inF1" + Name 232 "inF2" + Name 233 "inF2" + Name 235 "inU0" + Name 237 "inU0" + Name 239 "inU1" + Name 240 "inU1" + Name 243 "@entryPointOutput" + Name 244 "param" + Name 246 "param" + Name 248 "param" + Name 250 "param" + Name 252 "param" + Decorate 227(inF0) Location 0 + Decorate 230(inF1) Location 1 + Decorate 233(inF2) Location 2 + Decorate 237(inU0) Location 3 + Decorate 240(inU1) Location 4 + Decorate 243(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -739,88 +801,81 @@ local_size = (1, 1, 1) 38: TypeVector 8(int) 3 39: TypePointer Function 38(ivec3) 40: TypeFunction 36(fvec3) 37(ptr) 37(ptr) 37(ptr) 39(ptr) 39(ptr) - 49: TypeBool - 51: TypePointer Workgroup 8(int) - 52(gs_ua): 51(ptr) Variable Workgroup - 53(gs_ub): 51(ptr) Variable Workgroup - 55: 8(int) Constant 1 - 56: 8(int) Constant 0 - 66(gs_uc): 51(ptr) Variable Workgroup - 87: 6(float) Constant 0 - 94: TypePointer Workgroup 26(ivec2) - 95(gs_ua2): 94(ptr) Variable Workgroup - 96(gs_ub2): 94(ptr) Variable Workgroup - 107(gs_uc2): 94(ptr) Variable Workgroup - 128: 6(float) Constant 1065353216 - 129: 6(float) Constant 1073741824 - 130: 24(fvec2) ConstantComposite 128 129 - 135: TypePointer Workgroup 38(ivec3) - 136(gs_ua3): 135(ptr) Variable Workgroup - 137(gs_ub3): 135(ptr) Variable Workgroup - 148(gs_uc3): 135(ptr) Variable Workgroup - 169: 6(float) Constant 1077936128 - 170: 36(fvec3) ConstantComposite 128 129 169 - 173: TypeVector 6(float) 4 - 174: TypePointer Input 173(fvec4) - 175(inF0): 174(ptr) Variable Input - 178: TypeVector 8(int) 4 - 179: TypePointer Workgroup 178(ivec4) - 180(gs_ua4): 179(ptr) Variable Workgroup - 181(gs_ub4): 179(ptr) Variable Workgroup - 184: TypePointer Function 178(ivec4) - 193(gs_uc4): 179(ptr) Variable Workgroup - 214: TypePointer Output 173(fvec4) -215(@entryPointOutput): 214(ptr) Variable Output - 216: 6(float) Constant 1082130432 - 217: 173(fvec4) ConstantComposite 128 129 169 216 - 219(inF1): 174(ptr) Variable Input - 220(inF2): 174(ptr) Variable Input - 221: TypePointer Input 178(ivec4) - 222(inU0): 221(ptr) Variable Input - 223(inU1): 221(ptr) Variable Input + 48: TypeVector 6(float) 4 + 49: TypePointer Function 48(fvec4) + 50: TypeVector 8(int) 4 + 51: TypePointer Function 50(ivec4) + 52: TypeFunction 48(fvec4) 49(ptr) 49(ptr) 49(ptr) 51(ptr) 51(ptr) + 61: TypeBool + 63: TypePointer Workgroup 8(int) + 64(gs_ua): 63(ptr) Variable Workgroup + 65(gs_ub): 63(ptr) Variable Workgroup + 67: 8(int) Constant 1 + 68: 8(int) Constant 0 + 78(gs_uc): 63(ptr) Variable Workgroup + 99: 6(float) Constant 0 + 106: TypePointer Workgroup 26(ivec2) + 107(gs_ua2): 106(ptr) Variable Workgroup + 108(gs_ub2): 106(ptr) Variable Workgroup + 119(gs_uc2): 106(ptr) Variable Workgroup + 140: 6(float) Constant 1065353216 + 141: 6(float) Constant 1073741824 + 142: 24(fvec2) ConstantComposite 140 141 + 147: TypePointer Workgroup 38(ivec3) + 148(gs_ua3): 147(ptr) Variable Workgroup + 149(gs_ub3): 147(ptr) Variable Workgroup + 160(gs_uc3): 147(ptr) Variable Workgroup + 181: 6(float) Constant 1077936128 + 182: 36(fvec3) ConstantComposite 140 141 181 + 187: TypePointer Workgroup 50(ivec4) + 188(gs_ua4): 187(ptr) Variable Workgroup + 189(gs_ub4): 187(ptr) Variable Workgroup + 200(gs_uc4): 187(ptr) Variable Workgroup + 221: 6(float) Constant 1082130432 + 222: 48(fvec4) ConstantComposite 140 141 181 221 + 226: TypePointer Input 48(fvec4) + 227(inF0): 226(ptr) Variable Input + 230(inF1): 226(ptr) Variable Input + 233(inF2): 226(ptr) Variable Input + 236: TypePointer Input 50(ivec4) + 237(inU0): 236(ptr) Variable Input + 240(inU1): 236(ptr) Variable Input + 242: TypePointer Output 48(fvec4) +243(@entryPointOutput): 242(ptr) Variable Output 4(ComputeShaderFunction): 2 Function None 3 5: Label - 185(out_u4): 184(ptr) Variable Function - 176: 173(fvec4) Load 175(inF0) - 177: 49(bool) All 176 - 182: 178(ivec4) Load 181(gs_ub4) - 183: 2 AtomicIAdd 180(gs_ua4) 55 56 182 - 186: 178(ivec4) Load 181(gs_ub4) - 187: 178(ivec4) AtomicIAdd 180(gs_ua4) 55 56 186 - Store 185(out_u4) 187 - 188: 178(ivec4) Load 181(gs_ub4) - 189: 2 AtomicAnd 180(gs_ua4) 55 56 188 - 190: 178(ivec4) Load 181(gs_ub4) - 191: 178(ivec4) AtomicAnd 180(gs_ua4) 55 56 190 - Store 185(out_u4) 191 - 192: 178(ivec4) Load 181(gs_ub4) - 194: 178(ivec4) Load 193(gs_uc4) - 195: 178(ivec4) AtomicCompareExchange 180(gs_ua4) 55 56 56 194 192 - Store 185(out_u4) 195 - 196: 178(ivec4) Load 181(gs_ub4) - 197: 178(ivec4) AtomicExchange 180(gs_ua4) 55 56 196 - Store 185(out_u4) 197 - 198: 178(ivec4) Load 181(gs_ub4) - 199: 2 AtomicSMax 180(gs_ua4) 55 56 198 - 200: 178(ivec4) Load 181(gs_ub4) - 201: 178(ivec4) AtomicUMax 180(gs_ua4) 55 56 200 - Store 185(out_u4) 201 - 202: 178(ivec4) Load 181(gs_ub4) - 203: 2 AtomicSMin 180(gs_ua4) 55 56 202 - 204: 178(ivec4) Load 181(gs_ub4) - 205: 178(ivec4) AtomicUMin 180(gs_ua4) 55 56 204 - Store 185(out_u4) 205 - 206: 178(ivec4) Load 181(gs_ub4) - 207: 2 AtomicOr 180(gs_ua4) 55 56 206 - 208: 178(ivec4) Load 181(gs_ub4) - 209: 178(ivec4) AtomicOr 180(gs_ua4) 55 56 208 - Store 185(out_u4) 209 - 210: 178(ivec4) Load 181(gs_ub4) - 211: 2 AtomicXor 180(gs_ua4) 55 56 210 - 212: 178(ivec4) Load 181(gs_ub4) - 213: 178(ivec4) AtomicXor 180(gs_ua4) 55 56 212 - Store 185(out_u4) 213 - Store 215(@entryPointOutput) 217 + 225(inF0): 49(ptr) Variable Function + 229(inF1): 49(ptr) Variable Function + 232(inF2): 49(ptr) Variable Function + 235(inU0): 51(ptr) Variable Function + 239(inU1): 51(ptr) Variable Function + 244(param): 49(ptr) Variable Function + 246(param): 49(ptr) Variable Function + 248(param): 49(ptr) Variable Function + 250(param): 51(ptr) Variable Function + 252(param): 51(ptr) Variable Function + 228: 48(fvec4) Load 227(inF0) + Store 225(inF0) 228 + 231: 48(fvec4) Load 230(inF1) + Store 229(inF1) 231 + 234: 48(fvec4) Load 233(inF2) + Store 232(inF2) 234 + 238: 50(ivec4) Load 237(inU0) + Store 235(inU0) 238 + 241: 50(ivec4) Load 240(inU1) + Store 239(inU1) 241 + 245: 48(fvec4) Load 225(inF0) + Store 244(param) 245 + 247: 48(fvec4) Load 229(inF1) + Store 246(param) 247 + 249: 48(fvec4) Load 232(inF2) + Store 248(param) 249 + 251: 50(ivec4) Load 235(inU0) + Store 250(param) 251 + 253: 50(ivec4) Load 239(inU1) + Store 252(param) 253 + 254: 48(fvec4) FunctionCall 58(@ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4;) 244(param) 246(param) 248(param) 250(param) 252(param) + Store 243(@entryPointOutput) 254 Return FunctionEnd 16(ComputeShaderFunctionS(f1;f1;f1;u1;u1;): 6(float) Function None 10 @@ -830,54 +885,54 @@ local_size = (1, 1, 1) 14(inU0): 9(ptr) FunctionParameter 15(inU1): 9(ptr) FunctionParameter 17: Label - 58(out_u1): 9(ptr) Variable Function - 48: 6(float) Load 11(inF0) - 50: 49(bool) All 48 - 54: 8(int) Load 53(gs_ub) - 57: 2 AtomicIAdd 52(gs_ua) 55 56 54 - 59: 8(int) Load 53(gs_ub) - 60: 8(int) AtomicIAdd 52(gs_ua) 55 56 59 - Store 58(out_u1) 60 - 61: 8(int) Load 53(gs_ub) - 62: 2 AtomicAnd 52(gs_ua) 55 56 61 - 63: 8(int) Load 53(gs_ub) - 64: 8(int) AtomicAnd 52(gs_ua) 55 56 63 - Store 58(out_u1) 64 - 65: 8(int) Load 53(gs_ub) - 67: 8(int) Load 66(gs_uc) - 68: 8(int) AtomicCompareExchange 52(gs_ua) 55 56 56 67 65 - Store 58(out_u1) 68 - 69: 8(int) Load 53(gs_ub) - 70: 8(int) AtomicExchange 52(gs_ua) 55 56 69 - Store 58(out_u1) 70 - 71: 8(int) Load 53(gs_ub) - 72: 2 AtomicSMax 52(gs_ua) 55 56 71 - 73: 8(int) Load 53(gs_ub) - 74: 8(int) AtomicUMax 52(gs_ua) 55 56 73 - Store 58(out_u1) 74 - 75: 8(int) Load 53(gs_ub) - 76: 2 AtomicSMin 52(gs_ua) 55 56 75 - 77: 8(int) Load 53(gs_ub) - 78: 8(int) AtomicUMin 52(gs_ua) 55 56 77 - Store 58(out_u1) 78 - 79: 8(int) Load 53(gs_ub) - 80: 2 AtomicOr 52(gs_ua) 55 56 79 - 81: 8(int) Load 53(gs_ub) - 82: 8(int) AtomicOr 52(gs_ua) 55 56 81 - Store 58(out_u1) 82 - 83: 8(int) Load 53(gs_ub) - 84: 2 AtomicXor 52(gs_ua) 55 56 83 - 85: 8(int) Load 53(gs_ub) - 86: 8(int) AtomicXor 52(gs_ua) 55 56 85 - Store 58(out_u1) 86 - ReturnValue 87 + 70(out_u1): 9(ptr) Variable Function + 60: 6(float) Load 11(inF0) + 62: 61(bool) All 60 + 66: 8(int) Load 65(gs_ub) + 69: 2 AtomicIAdd 64(gs_ua) 67 68 66 + 71: 8(int) Load 65(gs_ub) + 72: 8(int) AtomicIAdd 64(gs_ua) 67 68 71 + Store 70(out_u1) 72 + 73: 8(int) Load 65(gs_ub) + 74: 2 AtomicAnd 64(gs_ua) 67 68 73 + 75: 8(int) Load 65(gs_ub) + 76: 8(int) AtomicAnd 64(gs_ua) 67 68 75 + Store 70(out_u1) 76 + 77: 8(int) Load 65(gs_ub) + 79: 8(int) Load 78(gs_uc) + 80: 8(int) AtomicCompareExchange 64(gs_ua) 67 68 68 79 77 + Store 70(out_u1) 80 + 81: 8(int) Load 65(gs_ub) + 82: 8(int) AtomicExchange 64(gs_ua) 67 68 81 + Store 70(out_u1) 82 + 83: 8(int) Load 65(gs_ub) + 84: 2 AtomicSMax 64(gs_ua) 67 68 83 + 85: 8(int) Load 65(gs_ub) + 86: 8(int) AtomicUMax 64(gs_ua) 67 68 85 + Store 70(out_u1) 86 + 87: 8(int) Load 65(gs_ub) + 88: 2 AtomicSMin 64(gs_ua) 67 68 87 + 89: 8(int) Load 65(gs_ub) + 90: 8(int) AtomicUMin 64(gs_ua) 67 68 89 + Store 70(out_u1) 90 + 91: 8(int) Load 65(gs_ub) + 92: 2 AtomicOr 64(gs_ua) 67 68 91 + 93: 8(int) Load 65(gs_ub) + 94: 8(int) AtomicOr 64(gs_ua) 67 68 93 + Store 70(out_u1) 94 + 95: 8(int) Load 65(gs_ub) + 96: 2 AtomicXor 64(gs_ua) 67 68 95 + 97: 8(int) Load 65(gs_ub) + 98: 8(int) AtomicXor 64(gs_ua) 67 68 97 + Store 70(out_u1) 98 + ReturnValue 99 FunctionEnd 22(ComputeShaderFunction1(vf1;vf1;vf1;): 6(float) Function None 18 19(inF0): 7(ptr) FunctionParameter 20(inF1): 7(ptr) FunctionParameter 21(inF2): 7(ptr) FunctionParameter 23: Label - ReturnValue 87 + ReturnValue 99 FunctionEnd 34(ComputeShaderFunction2(vf2;vf2;vf2;vu2;vu2;): 24(fvec2) Function None 28 29(inF0): 25(ptr) FunctionParameter @@ -886,47 +941,47 @@ local_size = (1, 1, 1) 32(inU0): 27(ptr) FunctionParameter 33(inU1): 27(ptr) FunctionParameter 35: Label - 99(out_u2): 27(ptr) Variable Function - 92: 24(fvec2) Load 29(inF0) - 93: 49(bool) All 92 - 97: 26(ivec2) Load 96(gs_ub2) - 98: 2 AtomicIAdd 95(gs_ua2) 55 56 97 - 100: 26(ivec2) Load 96(gs_ub2) - 101: 26(ivec2) AtomicIAdd 95(gs_ua2) 55 56 100 - Store 99(out_u2) 101 - 102: 26(ivec2) Load 96(gs_ub2) - 103: 2 AtomicAnd 95(gs_ua2) 55 56 102 - 104: 26(ivec2) Load 96(gs_ub2) - 105: 26(ivec2) AtomicAnd 95(gs_ua2) 55 56 104 - Store 99(out_u2) 105 - 106: 26(ivec2) Load 96(gs_ub2) - 108: 26(ivec2) Load 107(gs_uc2) - 109: 26(ivec2) AtomicCompareExchange 95(gs_ua2) 55 56 56 108 106 - Store 99(out_u2) 109 - 110: 26(ivec2) Load 96(gs_ub2) - 111: 26(ivec2) AtomicExchange 95(gs_ua2) 55 56 110 - Store 99(out_u2) 111 - 112: 26(ivec2) Load 96(gs_ub2) - 113: 2 AtomicSMax 95(gs_ua2) 55 56 112 - 114: 26(ivec2) Load 96(gs_ub2) - 115: 26(ivec2) AtomicUMax 95(gs_ua2) 55 56 114 - Store 99(out_u2) 115 - 116: 26(ivec2) Load 96(gs_ub2) - 117: 2 AtomicSMin 95(gs_ua2) 55 56 116 - 118: 26(ivec2) Load 96(gs_ub2) - 119: 26(ivec2) AtomicUMin 95(gs_ua2) 55 56 118 - Store 99(out_u2) 119 - 120: 26(ivec2) Load 96(gs_ub2) - 121: 2 AtomicOr 95(gs_ua2) 55 56 120 - 122: 26(ivec2) Load 96(gs_ub2) - 123: 26(ivec2) AtomicOr 95(gs_ua2) 55 56 122 - Store 99(out_u2) 123 - 124: 26(ivec2) Load 96(gs_ub2) - 125: 2 AtomicXor 95(gs_ua2) 55 56 124 - 126: 26(ivec2) Load 96(gs_ub2) - 127: 26(ivec2) AtomicXor 95(gs_ua2) 55 56 126 - Store 99(out_u2) 127 - ReturnValue 130 + 111(out_u2): 27(ptr) Variable Function + 104: 24(fvec2) Load 29(inF0) + 105: 61(bool) All 104 + 109: 26(ivec2) Load 108(gs_ub2) + 110: 2 AtomicIAdd 107(gs_ua2) 67 68 109 + 112: 26(ivec2) Load 108(gs_ub2) + 113: 26(ivec2) AtomicIAdd 107(gs_ua2) 67 68 112 + Store 111(out_u2) 113 + 114: 26(ivec2) Load 108(gs_ub2) + 115: 2 AtomicAnd 107(gs_ua2) 67 68 114 + 116: 26(ivec2) Load 108(gs_ub2) + 117: 26(ivec2) AtomicAnd 107(gs_ua2) 67 68 116 + Store 111(out_u2) 117 + 118: 26(ivec2) Load 108(gs_ub2) + 120: 26(ivec2) Load 119(gs_uc2) + 121: 26(ivec2) AtomicCompareExchange 107(gs_ua2) 67 68 68 120 118 + Store 111(out_u2) 121 + 122: 26(ivec2) Load 108(gs_ub2) + 123: 26(ivec2) AtomicExchange 107(gs_ua2) 67 68 122 + Store 111(out_u2) 123 + 124: 26(ivec2) Load 108(gs_ub2) + 125: 2 AtomicSMax 107(gs_ua2) 67 68 124 + 126: 26(ivec2) Load 108(gs_ub2) + 127: 26(ivec2) AtomicUMax 107(gs_ua2) 67 68 126 + Store 111(out_u2) 127 + 128: 26(ivec2) Load 108(gs_ub2) + 129: 2 AtomicSMin 107(gs_ua2) 67 68 128 + 130: 26(ivec2) Load 108(gs_ub2) + 131: 26(ivec2) AtomicUMin 107(gs_ua2) 67 68 130 + Store 111(out_u2) 131 + 132: 26(ivec2) Load 108(gs_ub2) + 133: 2 AtomicOr 107(gs_ua2) 67 68 132 + 134: 26(ivec2) Load 108(gs_ub2) + 135: 26(ivec2) AtomicOr 107(gs_ua2) 67 68 134 + Store 111(out_u2) 135 + 136: 26(ivec2) Load 108(gs_ub2) + 137: 2 AtomicXor 107(gs_ua2) 67 68 136 + 138: 26(ivec2) Load 108(gs_ub2) + 139: 26(ivec2) AtomicXor 107(gs_ua2) 67 68 138 + Store 111(out_u2) 139 + ReturnValue 142 FunctionEnd 46(ComputeShaderFunction3(vf3;vf3;vf3;vu3;vu3;): 36(fvec3) Function None 40 41(inF0): 37(ptr) FunctionParameter @@ -935,45 +990,94 @@ local_size = (1, 1, 1) 44(inU0): 39(ptr) FunctionParameter 45(inU1): 39(ptr) FunctionParameter 47: Label - 140(out_u3): 39(ptr) Variable Function - 133: 36(fvec3) Load 41(inF0) - 134: 49(bool) All 133 - 138: 38(ivec3) Load 137(gs_ub3) - 139: 2 AtomicIAdd 136(gs_ua3) 55 56 138 - 141: 38(ivec3) Load 137(gs_ub3) - 142: 38(ivec3) AtomicIAdd 136(gs_ua3) 55 56 141 - Store 140(out_u3) 142 - 143: 38(ivec3) Load 137(gs_ub3) - 144: 2 AtomicAnd 136(gs_ua3) 55 56 143 - 145: 38(ivec3) Load 137(gs_ub3) - 146: 38(ivec3) AtomicAnd 136(gs_ua3) 55 56 145 - Store 140(out_u3) 146 - 147: 38(ivec3) Load 137(gs_ub3) - 149: 38(ivec3) Load 148(gs_uc3) - 150: 38(ivec3) AtomicCompareExchange 136(gs_ua3) 55 56 56 149 147 - Store 140(out_u3) 150 - 151: 38(ivec3) Load 137(gs_ub3) - 152: 38(ivec3) AtomicExchange 136(gs_ua3) 55 56 151 - Store 140(out_u3) 152 - 153: 38(ivec3) Load 137(gs_ub3) - 154: 2 AtomicSMax 136(gs_ua3) 55 56 153 - 155: 38(ivec3) Load 137(gs_ub3) - 156: 38(ivec3) AtomicUMax 136(gs_ua3) 55 56 155 - Store 140(out_u3) 156 - 157: 38(ivec3) Load 137(gs_ub3) - 158: 2 AtomicSMin 136(gs_ua3) 55 56 157 - 159: 38(ivec3) Load 137(gs_ub3) - 160: 38(ivec3) AtomicUMin 136(gs_ua3) 55 56 159 - Store 140(out_u3) 160 - 161: 38(ivec3) Load 137(gs_ub3) - 162: 2 AtomicOr 136(gs_ua3) 55 56 161 - 163: 38(ivec3) Load 137(gs_ub3) - 164: 38(ivec3) AtomicOr 136(gs_ua3) 55 56 163 - Store 140(out_u3) 164 - 165: 38(ivec3) Load 137(gs_ub3) - 166: 2 AtomicXor 136(gs_ua3) 55 56 165 - 167: 38(ivec3) Load 137(gs_ub3) - 168: 38(ivec3) AtomicXor 136(gs_ua3) 55 56 167 - Store 140(out_u3) 168 - ReturnValue 170 + 152(out_u3): 39(ptr) Variable Function + 145: 36(fvec3) Load 41(inF0) + 146: 61(bool) All 145 + 150: 38(ivec3) Load 149(gs_ub3) + 151: 2 AtomicIAdd 148(gs_ua3) 67 68 150 + 153: 38(ivec3) Load 149(gs_ub3) + 154: 38(ivec3) AtomicIAdd 148(gs_ua3) 67 68 153 + Store 152(out_u3) 154 + 155: 38(ivec3) Load 149(gs_ub3) + 156: 2 AtomicAnd 148(gs_ua3) 67 68 155 + 157: 38(ivec3) Load 149(gs_ub3) + 158: 38(ivec3) AtomicAnd 148(gs_ua3) 67 68 157 + Store 152(out_u3) 158 + 159: 38(ivec3) Load 149(gs_ub3) + 161: 38(ivec3) Load 160(gs_uc3) + 162: 38(ivec3) AtomicCompareExchange 148(gs_ua3) 67 68 68 161 159 + Store 152(out_u3) 162 + 163: 38(ivec3) Load 149(gs_ub3) + 164: 38(ivec3) AtomicExchange 148(gs_ua3) 67 68 163 + Store 152(out_u3) 164 + 165: 38(ivec3) Load 149(gs_ub3) + 166: 2 AtomicSMax 148(gs_ua3) 67 68 165 + 167: 38(ivec3) Load 149(gs_ub3) + 168: 38(ivec3) AtomicUMax 148(gs_ua3) 67 68 167 + Store 152(out_u3) 168 + 169: 38(ivec3) Load 149(gs_ub3) + 170: 2 AtomicSMin 148(gs_ua3) 67 68 169 + 171: 38(ivec3) Load 149(gs_ub3) + 172: 38(ivec3) AtomicUMin 148(gs_ua3) 67 68 171 + Store 152(out_u3) 172 + 173: 38(ivec3) Load 149(gs_ub3) + 174: 2 AtomicOr 148(gs_ua3) 67 68 173 + 175: 38(ivec3) Load 149(gs_ub3) + 176: 38(ivec3) AtomicOr 148(gs_ua3) 67 68 175 + Store 152(out_u3) 176 + 177: 38(ivec3) Load 149(gs_ub3) + 178: 2 AtomicXor 148(gs_ua3) 67 68 177 + 179: 38(ivec3) Load 149(gs_ub3) + 180: 38(ivec3) AtomicXor 148(gs_ua3) 67 68 179 + Store 152(out_u3) 180 + ReturnValue 182 + FunctionEnd +58(@ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4;): 48(fvec4) Function None 52 + 53(inF0): 49(ptr) FunctionParameter + 54(inF1): 49(ptr) FunctionParameter + 55(inF2): 49(ptr) FunctionParameter + 56(inU0): 51(ptr) FunctionParameter + 57(inU1): 51(ptr) FunctionParameter + 59: Label + 192(out_u4): 51(ptr) Variable Function + 185: 48(fvec4) Load 53(inF0) + 186: 61(bool) All 185 + 190: 50(ivec4) Load 189(gs_ub4) + 191: 2 AtomicIAdd 188(gs_ua4) 67 68 190 + 193: 50(ivec4) Load 189(gs_ub4) + 194: 50(ivec4) AtomicIAdd 188(gs_ua4) 67 68 193 + Store 192(out_u4) 194 + 195: 50(ivec4) Load 189(gs_ub4) + 196: 2 AtomicAnd 188(gs_ua4) 67 68 195 + 197: 50(ivec4) Load 189(gs_ub4) + 198: 50(ivec4) AtomicAnd 188(gs_ua4) 67 68 197 + Store 192(out_u4) 198 + 199: 50(ivec4) Load 189(gs_ub4) + 201: 50(ivec4) Load 200(gs_uc4) + 202: 50(ivec4) AtomicCompareExchange 188(gs_ua4) 67 68 68 201 199 + Store 192(out_u4) 202 + 203: 50(ivec4) Load 189(gs_ub4) + 204: 50(ivec4) AtomicExchange 188(gs_ua4) 67 68 203 + Store 192(out_u4) 204 + 205: 50(ivec4) Load 189(gs_ub4) + 206: 2 AtomicSMax 188(gs_ua4) 67 68 205 + 207: 50(ivec4) Load 189(gs_ub4) + 208: 50(ivec4) AtomicUMax 188(gs_ua4) 67 68 207 + Store 192(out_u4) 208 + 209: 50(ivec4) Load 189(gs_ub4) + 210: 2 AtomicSMin 188(gs_ua4) 67 68 209 + 211: 50(ivec4) Load 189(gs_ub4) + 212: 50(ivec4) AtomicUMin 188(gs_ua4) 67 68 211 + Store 192(out_u4) 212 + 213: 50(ivec4) Load 189(gs_ub4) + 214: 2 AtomicOr 188(gs_ua4) 67 68 213 + 215: 50(ivec4) Load 189(gs_ub4) + 216: 50(ivec4) AtomicOr 188(gs_ua4) 67 68 215 + Store 192(out_u4) 216 + 217: 50(ivec4) Load 189(gs_ub4) + 218: 2 AtomicXor 188(gs_ua4) 67 68 217 + 219: 50(ivec4) Load 189(gs_ub4) + 220: 50(ivec4) AtomicXor 188(gs_ua4) 67 68 219 + Store 192(out_u4) 220 + ReturnValue 222 FunctionEnd diff --git a/Test/baseResults/hlsl.intrinsics.d3dcolortoubyte4.frag.out b/Test/baseResults/hlsl.intrinsics.d3dcolortoubyte4.frag.out index 0bd429b5..c2e842d2 100644 --- a/Test/baseResults/hlsl.intrinsics.d3dcolortoubyte4.frag.out +++ b/Test/baseResults/hlsl.intrinsics.d3dcolortoubyte4.frag.out @@ -2,31 +2,34 @@ hlsl.intrinsics.d3dcolortoubyte4.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:5 Function Definition: main( (temp 4-component vector of int) +0:5 Function Definition: @main( (temp 4-component vector of int) 0:5 Function Parameters: 0:? Sequence -0:6 Sequence -0:6 move second child to first child (temp 4-component vector of int) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int) -0:6 Convert float to int (temp 4-component vector of int) -0:6 vector-scale (temp 4-component vector of float) -0:6 Constant: -0:6 255.001953 -0:6 vector swizzle (temp 4-component vector of float) -0:6 col4: direct index for structure (layout(offset=0 ) uniform 4-component vector of float) -0:6 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float col4}) -0:6 Constant: -0:6 0 (const uint) -0:6 Sequence -0:6 Constant: -0:6 2 (const int) -0:6 Constant: -0:6 1 (const int) -0:6 Constant: -0:6 0 (const int) -0:6 Constant: -0:6 3 (const int) -0:6 Branch: Return +0:6 Branch: Return with expression +0:6 Convert float to int (temp 4-component vector of int) +0:6 vector-scale (temp 4-component vector of float) +0:6 Constant: +0:6 255.001953 +0:6 vector swizzle (temp 4-component vector of float) +0:6 col4: direct index for structure (layout(offset=0 ) uniform 4-component vector of float) +0:6 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float col4}) +0:6 Constant: +0:6 0 (const uint) +0:6 Sequence +0:6 Constant: +0:6 2 (const int) +0:6 Constant: +0:6 1 (const int) +0:6 Constant: +0:6 0 (const int) +0:6 Constant: +0:6 3 (const int) +0:5 Function Definition: main( (temp void) +0:5 Function Parameters: +0:? Sequence +0:5 move second child to first child (temp 4-component vector of int) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int) +0:5 Function Call: @main( (temp 4-component vector of int) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float col4}) @@ -38,74 +41,84 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:5 Function Definition: main( (temp 4-component vector of int) +0:5 Function Definition: @main( (temp 4-component vector of int) 0:5 Function Parameters: 0:? Sequence -0:6 Sequence -0:6 move second child to first child (temp 4-component vector of int) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int) -0:6 Convert float to int (temp 4-component vector of int) -0:6 vector-scale (temp 4-component vector of float) -0:6 Constant: -0:6 255.001953 -0:6 vector swizzle (temp 4-component vector of float) -0:6 col4: direct index for structure (layout(offset=0 ) uniform 4-component vector of float) -0:6 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float col4}) -0:6 Constant: -0:6 0 (const uint) -0:6 Sequence -0:6 Constant: -0:6 2 (const int) -0:6 Constant: -0:6 1 (const int) -0:6 Constant: -0:6 0 (const int) -0:6 Constant: -0:6 3 (const int) -0:6 Branch: Return +0:6 Branch: Return with expression +0:6 Convert float to int (temp 4-component vector of int) +0:6 vector-scale (temp 4-component vector of float) +0:6 Constant: +0:6 255.001953 +0:6 vector swizzle (temp 4-component vector of float) +0:6 col4: direct index for structure (layout(offset=0 ) uniform 4-component vector of float) +0:6 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float col4}) +0:6 Constant: +0:6 0 (const uint) +0:6 Sequence +0:6 Constant: +0:6 2 (const int) +0:6 Constant: +0:6 1 (const int) +0:6 Constant: +0:6 0 (const int) +0:6 Constant: +0:6 3 (const int) +0:5 Function Definition: main( (temp void) +0:5 Function Parameters: +0:? Sequence +0:5 move second child to first child (temp 4-component vector of int) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int) +0:5 Function Call: @main( (temp 4-component vector of int) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float col4}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 24 +// Id's are bound by 29 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 9 + EntryPoint Fragment 4 "main" 27 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "@entryPointOutput" - Name 13 "$Global" - MemberName 13($Global) 0 "col4" - Name 15 "" - Decorate 9(@entryPointOutput) Location 0 - MemberDecorate 13($Global) 0 Offset 0 - Decorate 13($Global) Block - Decorate 15 DescriptorSet 0 + Name 9 "@main(" + Name 14 "$Global" + MemberName 14($Global) 0 "col4" + Name 16 "" + Name 27 "@entryPointOutput" + MemberDecorate 14($Global) 0 Offset 0 + Decorate 14($Global) Block + Decorate 16 DescriptorSet 0 + Decorate 27(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 7: TypeVector 6(int) 4 - 8: TypePointer Output 7(ivec4) -9(@entryPointOutput): 8(ptr) Variable Output - 10: TypeFloat 32 - 11: 10(float) Constant 1132396672 - 12: TypeVector 10(float) 4 - 13($Global): TypeStruct 12(fvec4) - 14: TypePointer Uniform 13($Global) - 15: 14(ptr) Variable Uniform - 16: 6(int) Constant 0 - 17: TypePointer Uniform 12(fvec4) + 8: TypeFunction 7(ivec4) + 11: TypeFloat 32 + 12: 11(float) Constant 1132396672 + 13: TypeVector 11(float) 4 + 14($Global): TypeStruct 13(fvec4) + 15: TypePointer Uniform 14($Global) + 16: 15(ptr) Variable Uniform + 17: 6(int) Constant 0 + 18: TypePointer Uniform 13(fvec4) + 26: TypePointer Output 7(ivec4) +27(@entryPointOutput): 26(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 18: 17(ptr) AccessChain 15 16 - 19: 12(fvec4) Load 18 - 20: 12(fvec4) VectorShuffle 19 19 2 1 0 3 - 21: 12(fvec4) VectorTimesScalar 20 11 - 22: 7(ivec4) ConvertFToS 21 - Store 9(@entryPointOutput) 22 + 28: 7(ivec4) FunctionCall 9(@main() + Store 27(@entryPointOutput) 28 Return FunctionEnd + 9(@main(): 7(ivec4) Function None 8 + 10: Label + 19: 18(ptr) AccessChain 16 17 + 20: 13(fvec4) Load 19 + 21: 13(fvec4) VectorShuffle 20 20 2 1 0 3 + 22: 13(fvec4) VectorTimesScalar 21 12 + 23: 7(ivec4) ConvertFToS 22 + ReturnValue 23 + FunctionEnd diff --git a/Test/baseResults/hlsl.intrinsics.double.frag.out b/Test/baseResults/hlsl.intrinsics.double.frag.out index 91abf737..3a13fae2 100644 --- a/Test/baseResults/hlsl.intrinsics.double.frag.out +++ b/Test/baseResults/hlsl.intrinsics.double.frag.out @@ -2,37 +2,72 @@ hlsl.intrinsics.double.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:5 Function Definition: PixelShaderFunction(d1;d1;d1;vd2;vd3;vd4;u1;u1; (temp float) +0:5 Function Definition: @PixelShaderFunction(d1;d1;d1;vd2;vd3;vd4;u1;u1; (temp float) 0:5 Function Parameters: -0:5 'inDV1a' (layout(location=0 ) in double) -0:5 'inDV1b' (layout(location=1 ) in double) -0:5 'inDV1c' (layout(location=2 ) in double) -0:5 'inDV2' (layout(location=3 ) in 2-component vector of double) -0:5 'inDV3' (layout(location=4 ) in 3-component vector of double) -0:5 'inDV4' (layout(location=6 ) in 4-component vector of double) -0:5 'inU1a' (layout(location=8 ) in uint) -0:5 'inU1b' (layout(location=9 ) in uint) +0:5 'inDV1a' (in double) +0:5 'inDV1b' (in double) +0:5 'inDV1c' (in double) +0:5 'inDV2' (in 2-component vector of double) +0:5 'inDV3' (in 3-component vector of double) +0:5 'inDV4' (in 4-component vector of double) +0:5 'inU1a' (in uint) +0:5 'inU1b' (in uint) 0:? Sequence 0:6 Sequence 0:6 move second child to first child (temp double) 0:6 'r00' (temp double) 0:6 fma (temp double) -0:6 'inDV1a' (layout(location=0 ) in double) -0:6 'inDV1b' (layout(location=1 ) in double) -0:6 'inDV1c' (layout(location=2 ) in double) +0:6 'inDV1a' (in double) +0:6 'inDV1b' (in double) +0:6 'inDV1c' (in double) 0:7 Sequence 0:7 move second child to first child (temp double) 0:7 'r01' (temp double) 0:7 uint64BitsToDouble (temp double) 0:7 Construct uvec2 (temp 2-component vector of uint) -0:7 'inU1a' (layout(location=8 ) in uint) -0:7 'inU1b' (layout(location=9 ) in uint) -0:9 Sequence -0:9 move second child to first child (temp float) -0:? '@entryPointOutput' (layout(location=0 ) out float) -0:9 Constant: -0:9 0.000000 -0:9 Branch: Return +0:7 'inU1a' (in uint) +0:7 'inU1b' (in uint) +0:9 Branch: Return with expression +0:9 Constant: +0:9 0.000000 +0:5 Function Definition: PixelShaderFunction( (temp void) +0:5 Function Parameters: +0:? Sequence +0:5 move second child to first child (temp double) +0:? 'inDV1a' (temp double) +0:? 'inDV1a' (layout(location=0 ) in double) +0:5 move second child to first child (temp double) +0:? 'inDV1b' (temp double) +0:? 'inDV1b' (layout(location=1 ) in double) +0:5 move second child to first child (temp double) +0:? 'inDV1c' (temp double) +0:? 'inDV1c' (layout(location=2 ) in double) +0:5 move second child to first child (temp 2-component vector of double) +0:? 'inDV2' (temp 2-component vector of double) +0:? 'inDV2' (layout(location=3 ) in 2-component vector of double) +0:5 move second child to first child (temp 3-component vector of double) +0:? 'inDV3' (temp 3-component vector of double) +0:? 'inDV3' (layout(location=4 ) in 3-component vector of double) +0:5 move second child to first child (temp 4-component vector of double) +0:? 'inDV4' (temp 4-component vector of double) +0:? 'inDV4' (layout(location=6 ) in 4-component vector of double) +0:5 move second child to first child (temp uint) +0:? 'inU1a' (temp uint) +0:? 'inU1a' (layout(location=8 ) in uint) +0:5 move second child to first child (temp uint) +0:? 'inU1b' (temp uint) +0:? 'inU1b' (layout(location=9 ) in uint) +0:5 move second child to first child (temp float) +0:? '@entryPointOutput' (layout(location=0 ) out float) +0:5 Function Call: @PixelShaderFunction(d1;d1;d1;vd2;vd3;vd4;u1;u1; (temp float) +0:? 'inDV1a' (temp double) +0:? 'inDV1b' (temp double) +0:? 'inDV1c' (temp double) +0:? 'inDV2' (temp 2-component vector of double) +0:? 'inDV3' (temp 3-component vector of double) +0:? 'inDV4' (temp 4-component vector of double) +0:? 'inU1a' (temp uint) +0:? 'inU1b' (temp uint) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out float) 0:? 'inDV1a' (layout(location=0 ) in double) @@ -51,37 +86,72 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:5 Function Definition: PixelShaderFunction(d1;d1;d1;vd2;vd3;vd4;u1;u1; (temp float) +0:5 Function Definition: @PixelShaderFunction(d1;d1;d1;vd2;vd3;vd4;u1;u1; (temp float) 0:5 Function Parameters: -0:5 'inDV1a' (layout(location=0 ) in double) -0:5 'inDV1b' (layout(location=1 ) in double) -0:5 'inDV1c' (layout(location=2 ) in double) -0:5 'inDV2' (layout(location=3 ) in 2-component vector of double) -0:5 'inDV3' (layout(location=4 ) in 3-component vector of double) -0:5 'inDV4' (layout(location=6 ) in 4-component vector of double) -0:5 'inU1a' (layout(location=8 ) in uint) -0:5 'inU1b' (layout(location=9 ) in uint) +0:5 'inDV1a' (in double) +0:5 'inDV1b' (in double) +0:5 'inDV1c' (in double) +0:5 'inDV2' (in 2-component vector of double) +0:5 'inDV3' (in 3-component vector of double) +0:5 'inDV4' (in 4-component vector of double) +0:5 'inU1a' (in uint) +0:5 'inU1b' (in uint) 0:? Sequence 0:6 Sequence 0:6 move second child to first child (temp double) 0:6 'r00' (temp double) 0:6 fma (temp double) -0:6 'inDV1a' (layout(location=0 ) in double) -0:6 'inDV1b' (layout(location=1 ) in double) -0:6 'inDV1c' (layout(location=2 ) in double) +0:6 'inDV1a' (in double) +0:6 'inDV1b' (in double) +0:6 'inDV1c' (in double) 0:7 Sequence 0:7 move second child to first child (temp double) 0:7 'r01' (temp double) 0:7 uint64BitsToDouble (temp double) 0:7 Construct uvec2 (temp 2-component vector of uint) -0:7 'inU1a' (layout(location=8 ) in uint) -0:7 'inU1b' (layout(location=9 ) in uint) -0:9 Sequence -0:9 move second child to first child (temp float) -0:? '@entryPointOutput' (layout(location=0 ) out float) -0:9 Constant: -0:9 0.000000 -0:9 Branch: Return +0:7 'inU1a' (in uint) +0:7 'inU1b' (in uint) +0:9 Branch: Return with expression +0:9 Constant: +0:9 0.000000 +0:5 Function Definition: PixelShaderFunction( (temp void) +0:5 Function Parameters: +0:? Sequence +0:5 move second child to first child (temp double) +0:? 'inDV1a' (temp double) +0:? 'inDV1a' (layout(location=0 ) in double) +0:5 move second child to first child (temp double) +0:? 'inDV1b' (temp double) +0:? 'inDV1b' (layout(location=1 ) in double) +0:5 move second child to first child (temp double) +0:? 'inDV1c' (temp double) +0:? 'inDV1c' (layout(location=2 ) in double) +0:5 move second child to first child (temp 2-component vector of double) +0:? 'inDV2' (temp 2-component vector of double) +0:? 'inDV2' (layout(location=3 ) in 2-component vector of double) +0:5 move second child to first child (temp 3-component vector of double) +0:? 'inDV3' (temp 3-component vector of double) +0:? 'inDV3' (layout(location=4 ) in 3-component vector of double) +0:5 move second child to first child (temp 4-component vector of double) +0:? 'inDV4' (temp 4-component vector of double) +0:? 'inDV4' (layout(location=6 ) in 4-component vector of double) +0:5 move second child to first child (temp uint) +0:? 'inU1a' (temp uint) +0:? 'inU1a' (layout(location=8 ) in uint) +0:5 move second child to first child (temp uint) +0:? 'inU1b' (temp uint) +0:? 'inU1b' (layout(location=9 ) in uint) +0:5 move second child to first child (temp float) +0:? '@entryPointOutput' (layout(location=0 ) out float) +0:5 Function Call: @PixelShaderFunction(d1;d1;d1;vd2;vd3;vd4;u1;u1; (temp float) +0:? 'inDV1a' (temp double) +0:? 'inDV1b' (temp double) +0:? 'inDV1c' (temp double) +0:? 'inDV2' (temp 2-component vector of double) +0:? 'inDV3' (temp 3-component vector of double) +0:? 'inDV4' (temp 4-component vector of double) +0:? 'inU1a' (temp uint) +0:? 'inU1b' (temp uint) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out float) 0:? 'inDV1a' (layout(location=0 ) in double) @@ -95,75 +165,166 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 41 +// Id's are bound by 90 Capability Shader Capability Float64 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 10 12 14 20 22 29 34 37 40 + EntryPoint Fragment 4 "PixelShaderFunction" 44 47 50 54 58 62 66 69 72 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 8 "r00" - Name 10 "inDV1a" - Name 12 "inDV1b" - Name 14 "inDV1c" - Name 17 "r01" - Name 20 "inU1a" - Name 22 "inU1b" - Name 29 "@entryPointOutput" - Name 34 "inDV2" - Name 37 "inDV3" - Name 40 "inDV4" - Decorate 10(inDV1a) Location 0 - Decorate 12(inDV1b) Location 1 - Decorate 14(inDV1c) Location 2 - Decorate 20(inU1a) Location 8 - Decorate 22(inU1b) Location 9 - Decorate 29(@entryPointOutput) Location 0 - Decorate 34(inDV2) Location 3 - Decorate 37(inDV3) Location 4 - Decorate 40(inDV4) Location 6 + Name 26 "@PixelShaderFunction(d1;d1;d1;vd2;vd3;vd4;u1;u1;" + Name 18 "inDV1a" + Name 19 "inDV1b" + Name 20 "inDV1c" + Name 21 "inDV2" + Name 22 "inDV3" + Name 23 "inDV4" + Name 24 "inU1a" + Name 25 "inU1b" + Name 28 "r00" + Name 33 "r01" + Name 42 "inDV1a" + Name 44 "inDV1a" + Name 46 "inDV1b" + Name 47 "inDV1b" + Name 49 "inDV1c" + Name 50 "inDV1c" + Name 52 "inDV2" + Name 54 "inDV2" + Name 56 "inDV3" + Name 58 "inDV3" + Name 60 "inDV4" + Name 62 "inDV4" + Name 64 "inU1a" + Name 66 "inU1a" + Name 68 "inU1b" + Name 69 "inU1b" + Name 72 "@entryPointOutput" + Name 73 "param" + Name 75 "param" + Name 77 "param" + Name 79 "param" + Name 81 "param" + Name 83 "param" + Name 85 "param" + Name 87 "param" + Decorate 44(inDV1a) Location 0 + Decorate 47(inDV1b) Location 1 + Decorate 50(inDV1c) Location 2 + Decorate 54(inDV2) Location 3 + Decorate 58(inDV3) Location 4 + Decorate 62(inDV4) Location 6 + Decorate 66(inU1a) Location 8 + Decorate 69(inU1b) Location 9 + Decorate 72(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 64 7: TypePointer Function 6(float) - 9: TypePointer Input 6(float) - 10(inDV1a): 9(ptr) Variable Input - 12(inDV1b): 9(ptr) Variable Input - 14(inDV1c): 9(ptr) Variable Input - 18: TypeInt 32 0 - 19: TypePointer Input 18(int) - 20(inU1a): 19(ptr) Variable Input - 22(inU1b): 19(ptr) Variable Input - 24: TypeVector 18(int) 2 - 27: TypeFloat 32 - 28: TypePointer Output 27(float) -29(@entryPointOutput): 28(ptr) Variable Output - 30: 27(float) Constant 0 - 32: TypeVector 6(float) 2 - 33: TypePointer Input 32(fvec2) - 34(inDV2): 33(ptr) Variable Input - 35: TypeVector 6(float) 3 - 36: TypePointer Input 35(fvec3) - 37(inDV3): 36(ptr) Variable Input - 38: TypeVector 6(float) 4 - 39: TypePointer Input 38(fvec4) - 40(inDV4): 39(ptr) Variable Input + 8: TypeVector 6(float) 2 + 9: TypePointer Function 8(fvec2) + 10: TypeVector 6(float) 3 + 11: TypePointer Function 10(fvec3) + 12: TypeVector 6(float) 4 + 13: TypePointer Function 12(fvec4) + 14: TypeInt 32 0 + 15: TypePointer Function 14(int) + 16: TypeFloat 32 + 17: TypeFunction 16(float) 7(ptr) 7(ptr) 7(ptr) 9(ptr) 11(ptr) 13(ptr) 15(ptr) 15(ptr) + 36: TypeVector 14(int) 2 + 39: 16(float) Constant 0 + 43: TypePointer Input 6(float) + 44(inDV1a): 43(ptr) Variable Input + 47(inDV1b): 43(ptr) Variable Input + 50(inDV1c): 43(ptr) Variable Input + 53: TypePointer Input 8(fvec2) + 54(inDV2): 53(ptr) Variable Input + 57: TypePointer Input 10(fvec3) + 58(inDV3): 57(ptr) Variable Input + 61: TypePointer Input 12(fvec4) + 62(inDV4): 61(ptr) Variable Input + 65: TypePointer Input 14(int) + 66(inU1a): 65(ptr) Variable Input + 69(inU1b): 65(ptr) Variable Input + 71: TypePointer Output 16(float) +72(@entryPointOutput): 71(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label - 8(r00): 7(ptr) Variable Function - 17(r01): 7(ptr) Variable Function - 11: 6(float) Load 10(inDV1a) - 13: 6(float) Load 12(inDV1b) - 15: 6(float) Load 14(inDV1c) - 16: 6(float) ExtInst 1(GLSL.std.450) 50(Fma) 11 13 15 - Store 8(r00) 16 - 21: 18(int) Load 20(inU1a) - 23: 18(int) Load 22(inU1b) - 25: 24(ivec2) CompositeConstruct 21 23 - 26: 6(float) Bitcast 25 - Store 17(r01) 26 - Store 29(@entryPointOutput) 30 + 42(inDV1a): 7(ptr) Variable Function + 46(inDV1b): 7(ptr) Variable Function + 49(inDV1c): 7(ptr) Variable Function + 52(inDV2): 9(ptr) Variable Function + 56(inDV3): 11(ptr) Variable Function + 60(inDV4): 13(ptr) Variable Function + 64(inU1a): 15(ptr) Variable Function + 68(inU1b): 15(ptr) Variable Function + 73(param): 7(ptr) Variable Function + 75(param): 7(ptr) Variable Function + 77(param): 7(ptr) Variable Function + 79(param): 9(ptr) Variable Function + 81(param): 11(ptr) Variable Function + 83(param): 13(ptr) Variable Function + 85(param): 15(ptr) Variable Function + 87(param): 15(ptr) Variable Function + 45: 6(float) Load 44(inDV1a) + Store 42(inDV1a) 45 + 48: 6(float) Load 47(inDV1b) + Store 46(inDV1b) 48 + 51: 6(float) Load 50(inDV1c) + Store 49(inDV1c) 51 + 55: 8(fvec2) Load 54(inDV2) + Store 52(inDV2) 55 + 59: 10(fvec3) Load 58(inDV3) + Store 56(inDV3) 59 + 63: 12(fvec4) Load 62(inDV4) + Store 60(inDV4) 63 + 67: 14(int) Load 66(inU1a) + Store 64(inU1a) 67 + 70: 14(int) Load 69(inU1b) + Store 68(inU1b) 70 + 74: 6(float) Load 42(inDV1a) + Store 73(param) 74 + 76: 6(float) Load 46(inDV1b) + Store 75(param) 76 + 78: 6(float) Load 49(inDV1c) + Store 77(param) 78 + 80: 8(fvec2) Load 52(inDV2) + Store 79(param) 80 + 82: 10(fvec3) Load 56(inDV3) + Store 81(param) 82 + 84: 12(fvec4) Load 60(inDV4) + Store 83(param) 84 + 86: 14(int) Load 64(inU1a) + Store 85(param) 86 + 88: 14(int) Load 68(inU1b) + Store 87(param) 88 + 89: 16(float) FunctionCall 26(@PixelShaderFunction(d1;d1;d1;vd2;vd3;vd4;u1;u1;) 73(param) 75(param) 77(param) 79(param) 81(param) 83(param) 85(param) 87(param) + Store 72(@entryPointOutput) 89 Return FunctionEnd +26(@PixelShaderFunction(d1;d1;d1;vd2;vd3;vd4;u1;u1;): 16(float) Function None 17 + 18(inDV1a): 7(ptr) FunctionParameter + 19(inDV1b): 7(ptr) FunctionParameter + 20(inDV1c): 7(ptr) FunctionParameter + 21(inDV2): 9(ptr) FunctionParameter + 22(inDV3): 11(ptr) FunctionParameter + 23(inDV4): 13(ptr) FunctionParameter + 24(inU1a): 15(ptr) FunctionParameter + 25(inU1b): 15(ptr) FunctionParameter + 27: Label + 28(r00): 7(ptr) Variable Function + 33(r01): 7(ptr) Variable Function + 29: 6(float) Load 18(inDV1a) + 30: 6(float) Load 19(inDV1b) + 31: 6(float) Load 20(inDV1c) + 32: 6(float) ExtInst 1(GLSL.std.450) 50(Fma) 29 30 31 + Store 28(r00) 32 + 34: 14(int) Load 24(inU1a) + 35: 14(int) Load 25(inU1b) + 37: 36(ivec2) CompositeConstruct 34 35 + 38: 6(float) Bitcast 37 + Store 33(r01) 38 + ReturnValue 39 + FunctionEnd diff --git a/Test/baseResults/hlsl.intrinsics.evalfns.frag.out b/Test/baseResults/hlsl.intrinsics.evalfns.frag.out index 8f8dd610..0b28c326 100644 --- a/Test/baseResults/hlsl.intrinsics.evalfns.frag.out +++ b/Test/baseResults/hlsl.intrinsics.evalfns.frag.out @@ -2,47 +2,71 @@ hlsl.intrinsics.evalfns.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:3 Function Definition: main(f1;vf2;vf3;vf4;vi2; (temp void) +0:3 Function Definition: @main(f1;vf2;vf3;vf4;vi2; (temp void) 0:3 Function Parameters: -0:3 'inF1' (layout(location=0 ) in float) -0:3 'inF2' (layout(location=1 ) in 2-component vector of float) -0:3 'inF3' (layout(location=2 ) in 3-component vector of float) -0:3 'inF4' (layout(location=3 ) in 4-component vector of float) -0:3 'inI2' (layout(location=4 ) in 2-component vector of int) +0:3 'inF1' (in float) +0:3 'inF2' (in 2-component vector of float) +0:3 'inF3' (in 3-component vector of float) +0:3 'inF4' (in 4-component vector of float) +0:3 'inI2' (in 2-component vector of int) 0:? Sequence 0:4 interpolateAtOffset (temp float) -0:4 'inF1' (layout(location=0 ) in float) +0:4 'inF1' (in float) 0:? Constant: 0:? -0.500000 0:? -0.062500 0:5 interpolateAtOffset (temp 2-component vector of float) -0:5 'inF2' (layout(location=1 ) in 2-component vector of float) +0:5 'inF2' (in 2-component vector of float) 0:? Constant: 0:? 0.000000 0:? 0.062500 0:6 interpolateAtOffset (temp 3-component vector of float) -0:6 'inF3' (layout(location=2 ) in 3-component vector of float) +0:6 'inF3' (in 3-component vector of float) 0:? Constant: 0:? 0.187500 0:? -0.375000 0:7 interpolateAtOffset (temp 4-component vector of float) -0:7 'inF4' (layout(location=3 ) in 4-component vector of float) +0:7 'inF4' (in 4-component vector of float) 0:? Constant: 0:? 0.437500 0:? -0.500000 0:9 interpolateAtOffset (temp float) -0:9 'inF1' (layout(location=0 ) in float) +0:9 'inF1' (in float) 0:9 vector-scale (temp 2-component vector of float) 0:9 Convert int to float (temp 2-component vector of float) 0:9 right-shift (temp 2-component vector of int) 0:9 left-shift (temp 2-component vector of int) -0:9 'inI2' (layout(location=4 ) in 2-component vector of int) +0:9 'inI2' (in 2-component vector of int) 0:9 Constant: 0:9 28 (const int) 0:9 Constant: 0:9 28 (const int) 0:9 Constant: 0:9 0.062500 +0:3 Function Definition: main( (temp void) +0:3 Function Parameters: +0:? Sequence +0:3 move second child to first child (temp float) +0:? 'inF1' (temp float) +0:? 'inF1' (layout(location=0 ) in float) +0:3 move second child to first child (temp 2-component vector of float) +0:? 'inF2' (temp 2-component vector of float) +0:? 'inF2' (layout(location=1 ) in 2-component vector of float) +0:3 move second child to first child (temp 3-component vector of float) +0:? 'inF3' (temp 3-component vector of float) +0:? 'inF3' (layout(location=2 ) in 3-component vector of float) +0:3 move second child to first child (temp 4-component vector of float) +0:? 'inF4' (temp 4-component vector of float) +0:? 'inF4' (layout(location=3 ) in 4-component vector of float) +0:3 move second child to first child (temp 2-component vector of int) +0:? 'inI2' (temp 2-component vector of int) +0:? 'inI2' (layout(location=4 ) in 2-component vector of int) +0:3 Function Call: @main(f1;vf2;vf3;vf4;vi2; (temp void) +0:? 'inF1' (temp float) +0:? 'inF2' (temp 2-component vector of float) +0:? 'inF3' (temp 3-component vector of float) +0:? 'inF4' (temp 4-component vector of float) +0:? 'inI2' (temp 2-component vector of int) 0:? Linker Objects 0:? 'inF1' (layout(location=0 ) in float) 0:? 'inF2' (layout(location=1 ) in 2-component vector of float) @@ -57,47 +81,71 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:3 Function Definition: main(f1;vf2;vf3;vf4;vi2; (temp void) +0:3 Function Definition: @main(f1;vf2;vf3;vf4;vi2; (temp void) 0:3 Function Parameters: -0:3 'inF1' (layout(location=0 ) in float) -0:3 'inF2' (layout(location=1 ) in 2-component vector of float) -0:3 'inF3' (layout(location=2 ) in 3-component vector of float) -0:3 'inF4' (layout(location=3 ) in 4-component vector of float) -0:3 'inI2' (layout(location=4 ) in 2-component vector of int) +0:3 'inF1' (in float) +0:3 'inF2' (in 2-component vector of float) +0:3 'inF3' (in 3-component vector of float) +0:3 'inF4' (in 4-component vector of float) +0:3 'inI2' (in 2-component vector of int) 0:? Sequence 0:4 interpolateAtOffset (temp float) -0:4 'inF1' (layout(location=0 ) in float) +0:4 'inF1' (in float) 0:? Constant: 0:? -0.500000 0:? -0.062500 0:5 interpolateAtOffset (temp 2-component vector of float) -0:5 'inF2' (layout(location=1 ) in 2-component vector of float) +0:5 'inF2' (in 2-component vector of float) 0:? Constant: 0:? 0.000000 0:? 0.062500 0:6 interpolateAtOffset (temp 3-component vector of float) -0:6 'inF3' (layout(location=2 ) in 3-component vector of float) +0:6 'inF3' (in 3-component vector of float) 0:? Constant: 0:? 0.187500 0:? -0.375000 0:7 interpolateAtOffset (temp 4-component vector of float) -0:7 'inF4' (layout(location=3 ) in 4-component vector of float) +0:7 'inF4' (in 4-component vector of float) 0:? Constant: 0:? 0.437500 0:? -0.500000 0:9 interpolateAtOffset (temp float) -0:9 'inF1' (layout(location=0 ) in float) +0:9 'inF1' (in float) 0:9 vector-scale (temp 2-component vector of float) 0:9 Convert int to float (temp 2-component vector of float) 0:9 right-shift (temp 2-component vector of int) 0:9 left-shift (temp 2-component vector of int) -0:9 'inI2' (layout(location=4 ) in 2-component vector of int) +0:9 'inI2' (in 2-component vector of int) 0:9 Constant: 0:9 28 (const int) 0:9 Constant: 0:9 28 (const int) 0:9 Constant: 0:9 0.062500 +0:3 Function Definition: main( (temp void) +0:3 Function Parameters: +0:? Sequence +0:3 move second child to first child (temp float) +0:? 'inF1' (temp float) +0:? 'inF1' (layout(location=0 ) in float) +0:3 move second child to first child (temp 2-component vector of float) +0:? 'inF2' (temp 2-component vector of float) +0:? 'inF2' (layout(location=1 ) in 2-component vector of float) +0:3 move second child to first child (temp 3-component vector of float) +0:? 'inF3' (temp 3-component vector of float) +0:? 'inF3' (layout(location=2 ) in 3-component vector of float) +0:3 move second child to first child (temp 4-component vector of float) +0:? 'inF4' (temp 4-component vector of float) +0:? 'inF4' (layout(location=3 ) in 4-component vector of float) +0:3 move second child to first child (temp 2-component vector of int) +0:? 'inI2' (temp 2-component vector of int) +0:? 'inI2' (layout(location=4 ) in 2-component vector of int) +0:3 Function Call: @main(f1;vf2;vf3;vf4;vi2; (temp void) +0:? 'inF1' (temp float) +0:? 'inF2' (temp 2-component vector of float) +0:? 'inF3' (temp 3-component vector of float) +0:? 'inF4' (temp 4-component vector of float) +0:? 'inI2' (temp 2-component vector of int) 0:? Linker Objects 0:? 'inF1' (layout(location=0 ) in float) 0:? 'inF2' (layout(location=1 ) in 2-component vector of float) @@ -107,68 +155,130 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 46 +// Id's are bound by 80 Capability Shader Capability InterpolationFunction 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 8 15 22 29 36 + EntryPoint Fragment 4 "main" 51 55 59 63 67 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "inF1" - Name 15 "inF2" - Name 22 "inF3" - Name 29 "inF4" - Name 36 "inI2" - Decorate 8(inF1) Location 0 - Decorate 15(inF2) Location 1 - Decorate 22(inF3) Location 2 - Decorate 29(inF4) Location 3 - Decorate 36(inI2) Location 4 + Name 23 "@main(f1;vf2;vf3;vf4;vi2;" + Name 18 "inF1" + Name 19 "inF2" + Name 20 "inF3" + Name 21 "inF4" + Name 22 "inI2" + Name 49 "inF1" + Name 51 "inF1" + Name 53 "inF2" + Name 55 "inF2" + Name 57 "inF3" + Name 59 "inF3" + Name 61 "inF4" + Name 63 "inF4" + Name 65 "inI2" + Name 67 "inI2" + Name 69 "param" + Name 71 "param" + Name 73 "param" + Name 75 "param" + Name 77 "param" + Decorate 51(inF1) Location 0 + Decorate 55(inF2) Location 1 + Decorate 59(inF3) Location 2 + Decorate 63(inF4) Location 3 + Decorate 67(inI2) Location 4 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypePointer Input 6(float) - 8(inF1): 7(ptr) Variable Input - 9: TypeVector 6(float) 2 - 10: 6(float) Constant 3204448256 - 11: 6(float) Constant 3179282432 - 12: 9(fvec2) ConstantComposite 10 11 - 14: TypePointer Input 9(fvec2) - 15(inF2): 14(ptr) Variable Input - 16: 6(float) Constant 0 - 17: 6(float) Constant 1031798784 - 18: 9(fvec2) ConstantComposite 16 17 - 20: TypeVector 6(float) 3 - 21: TypePointer Input 20(fvec3) - 22(inF3): 21(ptr) Variable Input - 23: 6(float) Constant 1044381696 - 24: 6(float) Constant 3200253952 - 25: 9(fvec2) ConstantComposite 23 24 - 27: TypeVector 6(float) 4 - 28: TypePointer Input 27(fvec4) - 29(inF4): 28(ptr) Variable Input - 30: 6(float) Constant 1054867456 - 31: 9(fvec2) ConstantComposite 30 10 - 33: TypeInt 32 1 - 34: TypeVector 33(int) 2 - 35: TypePointer Input 34(ivec2) - 36(inI2): 35(ptr) Variable Input - 38: 33(int) Constant 28 + 7: TypePointer Function 6(float) + 8: TypeVector 6(float) 2 + 9: TypePointer Function 8(fvec2) + 10: TypeVector 6(float) 3 + 11: TypePointer Function 10(fvec3) + 12: TypeVector 6(float) 4 + 13: TypePointer Function 12(fvec4) + 14: TypeInt 32 1 + 15: TypeVector 14(int) 2 + 16: TypePointer Function 15(ivec2) + 17: TypeFunction 2 7(ptr) 9(ptr) 11(ptr) 13(ptr) 16(ptr) + 25: 6(float) Constant 3204448256 + 26: 6(float) Constant 3179282432 + 27: 8(fvec2) ConstantComposite 25 26 + 29: 6(float) Constant 0 + 30: 6(float) Constant 1031798784 + 31: 8(fvec2) ConstantComposite 29 30 + 33: 6(float) Constant 1044381696 + 34: 6(float) Constant 3200253952 + 35: 8(fvec2) ConstantComposite 33 34 + 37: 6(float) Constant 1054867456 + 38: 8(fvec2) ConstantComposite 37 25 + 41: 14(int) Constant 28 + 50: TypePointer Input 6(float) + 51(inF1): 50(ptr) Variable Input + 54: TypePointer Input 8(fvec2) + 55(inF2): 54(ptr) Variable Input + 58: TypePointer Input 10(fvec3) + 59(inF3): 58(ptr) Variable Input + 62: TypePointer Input 12(fvec4) + 63(inF4): 62(ptr) Variable Input + 66: TypePointer Input 15(ivec2) + 67(inI2): 66(ptr) Variable Input 4(main): 2 Function None 3 5: Label - 13: 6(float) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 8(inF1) 12 - 19: 9(fvec2) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 15(inF2) 18 - 26: 20(fvec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 22(inF3) 25 - 32: 27(fvec4) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 29(inF4) 31 - 37: 34(ivec2) Load 36(inI2) - 39: 34(ivec2) CompositeConstruct 38 38 - 40: 34(ivec2) ShiftLeftLogical 37 39 - 41: 34(ivec2) CompositeConstruct 38 38 - 42: 34(ivec2) ShiftRightArithmetic 40 41 - 43: 9(fvec2) ConvertSToF 42 - 44: 9(fvec2) VectorTimesScalar 43 17 - 45: 6(float) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 8(inF1) 44 + 49(inF1): 7(ptr) Variable Function + 53(inF2): 9(ptr) Variable Function + 57(inF3): 11(ptr) Variable Function + 61(inF4): 13(ptr) Variable Function + 65(inI2): 16(ptr) Variable Function + 69(param): 7(ptr) Variable Function + 71(param): 9(ptr) Variable Function + 73(param): 11(ptr) Variable Function + 75(param): 13(ptr) Variable Function + 77(param): 16(ptr) Variable Function + 52: 6(float) Load 51(inF1) + Store 49(inF1) 52 + 56: 8(fvec2) Load 55(inF2) + Store 53(inF2) 56 + 60: 10(fvec3) Load 59(inF3) + Store 57(inF3) 60 + 64: 12(fvec4) Load 63(inF4) + Store 61(inF4) 64 + 68: 15(ivec2) Load 67(inI2) + Store 65(inI2) 68 + 70: 6(float) Load 49(inF1) + Store 69(param) 70 + 72: 8(fvec2) Load 53(inF2) + Store 71(param) 72 + 74: 10(fvec3) Load 57(inF3) + Store 73(param) 74 + 76: 12(fvec4) Load 61(inF4) + Store 75(param) 76 + 78: 15(ivec2) Load 65(inI2) + Store 77(param) 78 + 79: 2 FunctionCall 23(@main(f1;vf2;vf3;vf4;vi2;) 69(param) 71(param) 73(param) 75(param) 77(param) + Return + FunctionEnd +23(@main(f1;vf2;vf3;vf4;vi2;): 2 Function None 17 + 18(inF1): 7(ptr) FunctionParameter + 19(inF2): 9(ptr) FunctionParameter + 20(inF3): 11(ptr) FunctionParameter + 21(inF4): 13(ptr) FunctionParameter + 22(inI2): 16(ptr) FunctionParameter + 24: Label + 28: 6(float) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 18(inF1) 27 + 32: 8(fvec2) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 19(inF2) 31 + 36: 10(fvec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 20(inF3) 35 + 39: 12(fvec4) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 21(inF4) 38 + 40: 15(ivec2) Load 22(inI2) + 42: 15(ivec2) CompositeConstruct 41 41 + 43: 15(ivec2) ShiftLeftLogical 40 42 + 44: 15(ivec2) CompositeConstruct 41 41 + 45: 15(ivec2) ShiftRightArithmetic 43 44 + 46: 8(fvec2) ConvertSToF 45 + 47: 8(fvec2) VectorTimesScalar 46 30 + 48: 6(float) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 18(inF1) 47 Return FunctionEnd diff --git a/Test/baseResults/hlsl.intrinsics.f1632.frag.out b/Test/baseResults/hlsl.intrinsics.f1632.frag.out index 0b4c0746..f00c6f89 100644 --- a/Test/baseResults/hlsl.intrinsics.f1632.frag.out +++ b/Test/baseResults/hlsl.intrinsics.f1632.frag.out @@ -49,22 +49,29 @@ ERROR: node is still EOpNull! 0:? 1.000000 0:? 2.000000 0:? 3.000000 -0:29 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) +0:29 Function Definition: @PixelShaderFunction(vf4; (temp 4-component vector of float) 0:29 Function Parameters: -0:29 'inF0' (layout(location=0 ) in 4-component vector of float) +0:29 'inF0' (in 4-component vector of float) 0:? Sequence 0:30 ERROR: Bad unary op (temp 4-component vector of uint) -0:30 'inF0' (layout(location=0 ) in 4-component vector of float) -0:32 Sequence -0:32 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? Constant: -0:? 1.000000 -0:? 2.000000 -0:? 3.000000 -0:? 4.000000 -0:32 Branch: Return +0:30 'inF0' (in 4-component vector of float) +0:32 Branch: Return with expression +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:? 3.000000 +0:? 4.000000 +0:29 Function Definition: PixelShaderFunction( (temp void) +0:29 Function Parameters: +0:? Sequence +0:29 move second child to first child (temp 4-component vector of float) +0:? 'inF0' (temp 4-component vector of float) +0:? 'inF0' (layout(location=0 ) in 4-component vector of float) +0:29 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:29 Function Call: @PixelShaderFunction(vf4; (temp 4-component vector of float) +0:? 'inF0' (temp 4-component vector of float) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 'inF0' (layout(location=0 ) in 4-component vector of float) @@ -116,22 +123,29 @@ ERROR: node is still EOpNull! 0:? 1.000000 0:? 2.000000 0:? 3.000000 -0:29 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) +0:29 Function Definition: @PixelShaderFunction(vf4; (temp 4-component vector of float) 0:29 Function Parameters: -0:29 'inF0' (layout(location=0 ) in 4-component vector of float) +0:29 'inF0' (in 4-component vector of float) 0:? Sequence 0:30 ERROR: Bad unary op (temp 4-component vector of uint) -0:30 'inF0' (layout(location=0 ) in 4-component vector of float) -0:32 Sequence -0:32 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? Constant: -0:? 1.000000 -0:? 2.000000 -0:? 3.000000 -0:? 4.000000 -0:32 Branch: Return +0:30 'inF0' (in 4-component vector of float) +0:32 Branch: Return with expression +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:? 3.000000 +0:? 4.000000 +0:29 Function Definition: PixelShaderFunction( (temp void) +0:29 Function Parameters: +0:? Sequence +0:29 move second child to first child (temp 4-component vector of float) +0:? 'inF0' (temp 4-component vector of float) +0:? 'inF0' (layout(location=0 ) in 4-component vector of float) +0:29 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:29 Function Call: @PixelShaderFunction(vf4; (temp 4-component vector of float) +0:? 'inF0' (temp 4-component vector of float) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 'inF0' (layout(location=0 ) in 4-component vector of float) diff --git a/Test/baseResults/hlsl.intrinsics.frag.out b/Test/baseResults/hlsl.intrinsics.frag.out index 5def9667..76b795c3 100644 --- a/Test/baseResults/hlsl.intrinsics.frag.out +++ b/Test/baseResults/hlsl.intrinsics.frag.out @@ -2760,7 +2760,7 @@ gl_FragCoord origin is upper left 0:483 matrix-multiply (temp 3X4 matrix of float) 0:483 'inFM2x4' (in 2X4 matrix of float) 0:483 'inFM3x2' (in 3X2 matrix of float) -0:489 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:489 Function Definition: @main( (temp structure{temp 4-component vector of float color}) 0:489 Function Parameters: 0:? Sequence 0:491 move second child to first child (temp 4-component vector of float) @@ -2773,17 +2773,19 @@ gl_FragCoord origin is upper left 0:491 1.000000 0:491 1.000000 0:491 1.000000 -0:492 Sequence -0:492 Sequence -0:492 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:492 color: direct index for structure (temp 4-component vector of float) -0:492 'ps_output' (temp structure{temp 4-component vector of float color}) -0:492 Constant: -0:492 0 (const int) -0:492 Branch: Return +0:492 Branch: Return with expression +0:492 'ps_output' (temp structure{temp 4-component vector of float color}) +0:489 Function Definition: main( (temp void) +0:489 Function Parameters: +0:? Sequence +0:489 Sequence +0:489 move second child to first child (temp 4-component vector of float) +0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:489 color: direct index for structure (temp 4-component vector of float) +0:489 Function Call: @main( (temp structure{temp 4-component vector of float color}) +0:489 Constant: +0:489 0 (const int) 0:? Linker Objects -0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:? 'gs_ua' (shared uint) 0:? 'gs_ub' (shared uint) 0:? 'gs_uc' (shared uint) @@ -2796,6 +2798,7 @@ gl_FragCoord origin is upper left 0:? 'gs_ua4' (shared 4-component vector of uint) 0:? 'gs_ub4' (shared 4-component vector of uint) 0:? 'gs_uc4' (shared 4-component vector of uint) +0:? 'color' (layout(location=0 ) out 4-component vector of float) Linked fragment stage: @@ -5562,7 +5565,7 @@ gl_FragCoord origin is upper left 0:483 matrix-multiply (temp 3X4 matrix of float) 0:483 'inFM2x4' (in 2X4 matrix of float) 0:483 'inFM3x2' (in 3X2 matrix of float) -0:489 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:489 Function Definition: @main( (temp structure{temp 4-component vector of float color}) 0:489 Function Parameters: 0:? Sequence 0:491 move second child to first child (temp 4-component vector of float) @@ -5575,17 +5578,19 @@ gl_FragCoord origin is upper left 0:491 1.000000 0:491 1.000000 0:491 1.000000 -0:492 Sequence -0:492 Sequence -0:492 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:492 color: direct index for structure (temp 4-component vector of float) -0:492 'ps_output' (temp structure{temp 4-component vector of float color}) -0:492 Constant: -0:492 0 (const int) -0:492 Branch: Return +0:492 Branch: Return with expression +0:492 'ps_output' (temp structure{temp 4-component vector of float color}) +0:489 Function Definition: main( (temp void) +0:489 Function Parameters: +0:? Sequence +0:489 Sequence +0:489 move second child to first child (temp 4-component vector of float) +0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:489 color: direct index for structure (temp 4-component vector of float) +0:489 Function Call: @main( (temp structure{temp 4-component vector of float color}) +0:489 Constant: +0:489 0 (const int) 0:? Linker Objects -0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:? 'gs_ua' (shared uint) 0:? 'gs_ub' (shared uint) 0:? 'gs_uc' (shared uint) @@ -5598,16 +5603,17 @@ gl_FragCoord origin is upper left 0:? 'gs_ua4' (shared 4-component vector of uint) 0:? 'gs_ub4' (shared 4-component vector of uint) 0:? 'gs_uc4' (shared 4-component vector of uint) +0:? 'color' (layout(location=0 ) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 1828 +// Id's are bound by 1833 Capability Shader Capability DerivativeControl 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 1808 + EntryPoint Fragment 4 "main" 1814 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 16 "PixelShaderFunctionS(f1;f1;f1;u1;u1;" @@ -5681,460 +5687,461 @@ gl_FragCoord origin is upper left Name 126 "inFM3x3" Name 127 "inFM3x4" Name 128 "inFM2x4" - Name 133 "r000" - Name 136 "r001" - Name 139 "r002" - Name 142 "r003" - Name 145 "r004" - Name 150 "r005" - Name 153 "r006" - Name 156 "r007" - Name 159 "r009" - Name 162 "r010" - Name 166 "r011" - Name 169 "r012" - Name 180 "r014" - Name 183 "r015" - Name 186 "r016" - Name 189 "r017" - Name 192 "r018" - Name 195 "r019" - Name 198 "r020" - Name 201 "r021" - Name 204 "r022" - Name 207 "r023" - Name 210 "r027" - Name 213 "r028" - Name 216 "r029" - Name 219 "r030" - Name 222 "r031" - Name 225 "r033" - Name 229 "r034" - Name 232 "r035" - Name 234 "ResType" - Name 238 "r036" - Name 241 "r037" - Name 244 "r038" - Name 247 "r039" - Name 251 "r039a" - Name 256 "r040" - Name 259 "r041" - Name 264 "r042" - Name 267 "r043" - Name 271 "r044" - Name 275 "r045" - Name 279 "r046" - Name 282 "r047" - Name 286 "r048" - Name 290 "r049" - Name 293 "r050" - Name 296 "r051" - Name 299 "r052" - Name 302 "r053" - Name 309 "r055" - Name 312 "r056" - Name 317 "r057" - Name 320 "r058" - Name 324 "r059" - Name 327 "r060" - Name 330 "r061" - Name 337 "r000" - Name 340 "r001" - Name 343 "r002" - Name 346 "r003" - Name 349 "r004" - Name 354 "r005" - Name 357 "r006" - Name 360 "r007" - Name 363 "r009" - Name 366 "r010" - Name 370 "r011" - Name 373 "r012" - Name 386 "r013" - Name 389 "r015" - Name 392 "r016" - Name 396 "r017" - Name 399 "r018" - Name 402 "r019" - Name 405 "r020" - Name 408 "r021" - Name 411 "r022" - Name 414 "r023" - Name 417 "r026" - Name 421 "r027" - Name 425 "r028" - Name 428 "r029" - Name 431 "r030" - Name 436 "r031" - Name 441 "r032" - Name 443 "r033" - Name 446 "r035" - Name 450 "r036" - Name 453 "r037" - Name 455 "ResType" - Name 459 "r038" - Name 463 "r039" - Name 466 "r040" - Name 469 "r041" - Name 473 "r039a" - Name 478 "r042" - Name 481 "r043" - Name 484 "r044" - Name 488 "r045" - Name 491 "r046" - Name 495 "r047" - Name 499 "r048" - Name 502 "r049" - Name 506 "r050" - Name 509 "r051" - Name 513 "r052" - Name 517 "r053" - Name 522 "r054" - Name 527 "r055" - Name 530 "r056" - Name 533 "r057" - Name 538 "r058" - Name 541 "r059" - Name 548 "r060" - Name 551 "r061" - Name 556 "r062" - Name 559 "r063" - Name 563 "r064" - Name 566 "r065" - Name 569 "r066" - Name 575 "r000" - Name 578 "r001" - Name 581 "r002" - Name 584 "r003" - Name 587 "r004" - Name 592 "r005" - Name 595 "r006" - Name 598 "r007" - Name 601 "r009" - Name 604 "r010" - Name 608 "r011" - Name 611 "r012" - Name 624 "r013" - Name 627 "r014" - Name 630 "r015" - Name 635 "r016" - Name 639 "r017" - Name 642 "r018" - Name 645 "r019" - Name 648 "r020" - Name 651 "r021" - Name 654 "r022" - Name 657 "r023" - Name 660 "r024" - Name 664 "r025" - Name 668 "r029" - Name 671 "r030" - Name 674 "r031" - Name 679 "r032" - Name 683 "r033" - Name 685 "r034" - Name 688 "r036" - Name 692 "r037" - Name 695 "r038" - Name 697 "ResType" - Name 701 "r039" - Name 705 "r040" - Name 708 "r041" - Name 711 "r042" - Name 715 "r039a" - Name 720 "r039b" - Name 726 "r043" - Name 729 "r044" - Name 732 "r045" - Name 736 "r046" - Name 739 "r047" - Name 743 "r048" - Name 747 "r049" - Name 750 "r050" - Name 754 "r051" - Name 757 "r052" - Name 761 "r053" - Name 765 "r054" - Name 769 "r055" - Name 772 "r056" - Name 775 "r057" - Name 778 "r058" - Name 783 "r059" - Name 786 "r060" - Name 793 "r061" - Name 796 "r062" - Name 801 "r063" - Name 804 "r064" - Name 808 "r065" - Name 811 "r066" - Name 814 "r067" - Name 821 "r000" - Name 824 "r001" - Name 827 "r002" - Name 830 "r003" - Name 833 "r004" - Name 838 "r005" - Name 841 "r006" - Name 844 "r007" - Name 847 "r009" - Name 850 "r010" - Name 854 "r011" - Name 857 "r012" - Name 870 "r013" - Name 873 "r014" - Name 876 "r015" - Name 879 "r016" - Name 882 "r017" - Name 885 "r018" - Name 888 "r019" - Name 891 "r020" - Name 894 "r021" - Name 897 "r022" - Name 900 "r023" - Name 904 "r024" - Name 908 "r025" - Name 919 "r029" - Name 922 "r030" - Name 925 "r031" - Name 930 "r032" - Name 935 "r033" - Name 937 "r034" - Name 940 "r036" - Name 944 "r037" - Name 947 "r038" - Name 949 "ResType" - Name 953 "r039" - Name 957 "r040" - Name 960 "r041" - Name 963 "r042" - Name 967 "r039a" - Name 972 "r043" - Name 975 "r044" - Name 978 "r045" - Name 982 "r046" - Name 985 "r047" - Name 989 "r048" - Name 993 "r049" - Name 996 "r050" - Name 1000 "r051" - Name 1003 "r052" - Name 1007 "r053" - Name 1011 "r054" - Name 1015 "r055" - Name 1018 "r056" - Name 1021 "r057" - Name 1024 "r058" - Name 1029 "r059" - Name 1032 "r060" - Name 1039 "r061" - Name 1042 "r062" - Name 1047 "r063" - Name 1050 "r064" - Name 1054 "r065" - Name 1057 "r066" - Name 1060 "r067" - Name 1067 "r000" - Name 1070 "r001" - Name 1075 "r003" - Name 1078 "r004" - Name 1081 "r005" - Name 1084 "r006" - Name 1088 "r007" - Name 1099 "r008" - Name 1104 "r009" - Name 1107 "r010" - Name 1110 "r011" - Name 1113 "r012" - Name 1116 "r013" - Name 1119 "r014" - Name 1122 "r015" - Name 1125 "r016" - Name 1128 "r017" - Name 1131 "r018" - Name 1134 "r019" - Name 1137 "R020" - Name 1140 "r021" - Name 1143 "r022" - Name 1153 "r023" - Name 1156 "r024" - Name 1158 "ResType" - Name 1162 "r025" - Name 1165 "r026" - Name 1169 "r026a" - Name 1174 "r027" - Name 1177 "r028" - Name 1181 "r029" - Name 1184 "r030" - Name 1188 "r031" - Name 1192 "r032" - Name 1196 "r033" - Name 1199 "r034" - Name 1202 "r035" - Name 1205 "r036" - Name 1210 "r037" - Name 1213 "r038" - Name 1220 "r039" - Name 1223 "r049" - Name 1228 "r041" - Name 1231 "r042" - Name 1235 "r043" - Name 1238 "r044" - Name 1243 "r046" - Name 1250 "r000" - Name 1253 "r001" - Name 1258 "r003" - Name 1261 "r004" - Name 1264 "r005" - Name 1267 "r006" - Name 1271 "r007" - Name 1282 "r008" - Name 1287 "r009" - Name 1290 "r010" - Name 1293 "r011" - Name 1296 "r012" - Name 1299 "r013" - Name 1302 "r014" - Name 1305 "r015" - Name 1308 "r016" - Name 1311 "r017" - Name 1314 "r018" - Name 1317 "r019" - Name 1320 "R020" - Name 1323 "r021" - Name 1326 "r022" - Name 1339 "r023" - Name 1342 "r024" - Name 1344 "ResType" - Name 1348 "r025" - Name 1351 "r026" - Name 1355 "r026a" - Name 1360 "r027" - Name 1363 "r028" - Name 1367 "r029" - Name 1370 "r030" - Name 1374 "r031" - Name 1378 "r032" - Name 1382 "r033" - Name 1385 "r034" - Name 1388 "r035" - Name 1391 "r036" - Name 1396 "r037" - Name 1399 "r038" - Name 1406 "r039" - Name 1409 "r049" - Name 1414 "r041" - Name 1417 "r042" - Name 1421 "r043" - Name 1424 "r044" - Name 1429 "r046" - Name 1436 "r000" - Name 1439 "r001" - Name 1444 "r003" - Name 1447 "r004" - Name 1450 "r005" - Name 1453 "r006" - Name 1457 "r007" - Name 1468 "r008" - Name 1473 "r009" - Name 1476 "r010" - Name 1479 "r011" - Name 1482 "r012" - Name 1485 "r013" - Name 1488 "r014" - Name 1491 "r015" - Name 1494 "r016" - Name 1497 "r017" - Name 1500 "r018" - Name 1503 "r019" - Name 1506 "R020" - Name 1509 "r021" - Name 1512 "r022" - Name 1528 "r023" - Name 1531 "r024" - Name 1533 "ResType" - Name 1537 "r025" - Name 1540 "r026" - Name 1544 "r026a" - Name 1549 "r027" - Name 1552 "r028" - Name 1556 "r029" - Name 1559 "r030" - Name 1563 "r031" - Name 1567 "r032" - Name 1571 "r033" - Name 1574 "r034" - Name 1577 "r035" - Name 1580 "r036" - Name 1585 "r037" - Name 1588 "r038" - Name 1595 "r039" - Name 1598 "r049" - Name 1603 "r041" - Name 1606 "r042" - Name 1610 "r043" - Name 1613 "r044" - Name 1618 "r046" - Name 1625 "r0" - Name 1629 "r1" - Name 1633 "r2" - Name 1637 "r3" - Name 1641 "r4" - Name 1645 "r5" - Name 1649 "r6" - Name 1653 "r7" - Name 1657 "r8" - Name 1661 "r0" - Name 1665 "r1" - Name 1669 "r2" - Name 1673 "r3" - Name 1677 "r4" - Name 1681 "r5" - Name 1685 "r6" - Name 1689 "r7" - Name 1693 "r8" - Name 1697 "r0" - Name 1701 "r1" - Name 1705 "r2" - Name 1709 "r3" - Name 1713 "r4" - Name 1717 "r5" - Name 1721 "r6" - Name 1725 "r7" - Name 1729 "r8" - Name 1733 "r00" - Name 1737 "r01" - Name 1741 "r02" - Name 1745 "r03" - Name 1749 "r04" - Name 1753 "r05" - Name 1757 "r06" - Name 1761 "r07" - Name 1765 "r08" - Name 1769 "r09" - Name 1773 "r10" - Name 1777 "r11" - Name 1781 "r12" - Name 1785 "r13" - Name 1789 "r14" - Name 1793 "r15" - Name 1797 "r16" - Name 1801 "PS_OUTPUT" - MemberName 1801(PS_OUTPUT) 0 "color" - Name 1803 "ps_output" - Name 1808 "color" - Name 1813 "gs_ua" - Name 1814 "gs_ub" - Name 1815 "gs_uc" - Name 1817 "gs_ua2" - Name 1818 "gs_ub2" - Name 1819 "gs_uc2" - Name 1821 "gs_ua3" - Name 1822 "gs_ub3" - Name 1823 "gs_uc3" - Name 1825 "gs_ua4" - Name 1826 "gs_ub4" - Name 1827 "gs_uc4" - Decorate 1808(color) Location 0 + Name 131 "PS_OUTPUT" + MemberName 131(PS_OUTPUT) 0 "color" + Name 133 "@main(" + Name 137 "r000" + Name 140 "r001" + Name 143 "r002" + Name 146 "r003" + Name 149 "r004" + Name 154 "r005" + Name 157 "r006" + Name 160 "r007" + Name 163 "r009" + Name 166 "r010" + Name 170 "r011" + Name 173 "r012" + Name 184 "r014" + Name 187 "r015" + Name 190 "r016" + Name 193 "r017" + Name 196 "r018" + Name 199 "r019" + Name 202 "r020" + Name 205 "r021" + Name 208 "r022" + Name 211 "r023" + Name 214 "r027" + Name 217 "r028" + Name 220 "r029" + Name 223 "r030" + Name 226 "r031" + Name 229 "r033" + Name 233 "r034" + Name 236 "r035" + Name 238 "ResType" + Name 242 "r036" + Name 245 "r037" + Name 248 "r038" + Name 251 "r039" + Name 255 "r039a" + Name 260 "r040" + Name 263 "r041" + Name 268 "r042" + Name 271 "r043" + Name 275 "r044" + Name 279 "r045" + Name 283 "r046" + Name 286 "r047" + Name 290 "r048" + Name 294 "r049" + Name 297 "r050" + Name 300 "r051" + Name 303 "r052" + Name 306 "r053" + Name 313 "r055" + Name 316 "r056" + Name 321 "r057" + Name 324 "r058" + Name 328 "r059" + Name 331 "r060" + Name 334 "r061" + Name 341 "r000" + Name 344 "r001" + Name 347 "r002" + Name 350 "r003" + Name 353 "r004" + Name 358 "r005" + Name 361 "r006" + Name 364 "r007" + Name 367 "r009" + Name 370 "r010" + Name 374 "r011" + Name 377 "r012" + Name 390 "r013" + Name 393 "r015" + Name 396 "r016" + Name 400 "r017" + Name 403 "r018" + Name 406 "r019" + Name 409 "r020" + Name 412 "r021" + Name 415 "r022" + Name 418 "r023" + Name 421 "r026" + Name 425 "r027" + Name 429 "r028" + Name 432 "r029" + Name 435 "r030" + Name 440 "r031" + Name 445 "r032" + Name 447 "r033" + Name 450 "r035" + Name 454 "r036" + Name 457 "r037" + Name 459 "ResType" + Name 463 "r038" + Name 467 "r039" + Name 470 "r040" + Name 473 "r041" + Name 477 "r039a" + Name 482 "r042" + Name 485 "r043" + Name 488 "r044" + Name 492 "r045" + Name 495 "r046" + Name 499 "r047" + Name 503 "r048" + Name 506 "r049" + Name 510 "r050" + Name 513 "r051" + Name 517 "r052" + Name 521 "r053" + Name 526 "r054" + Name 531 "r055" + Name 534 "r056" + Name 537 "r057" + Name 542 "r058" + Name 545 "r059" + Name 552 "r060" + Name 555 "r061" + Name 560 "r062" + Name 563 "r063" + Name 567 "r064" + Name 570 "r065" + Name 573 "r066" + Name 579 "r000" + Name 582 "r001" + Name 585 "r002" + Name 588 "r003" + Name 591 "r004" + Name 596 "r005" + Name 599 "r006" + Name 602 "r007" + Name 605 "r009" + Name 608 "r010" + Name 612 "r011" + Name 615 "r012" + Name 628 "r013" + Name 631 "r014" + Name 634 "r015" + Name 639 "r016" + Name 643 "r017" + Name 646 "r018" + Name 649 "r019" + Name 652 "r020" + Name 655 "r021" + Name 658 "r022" + Name 661 "r023" + Name 664 "r024" + Name 668 "r025" + Name 672 "r029" + Name 675 "r030" + Name 678 "r031" + Name 683 "r032" + Name 687 "r033" + Name 689 "r034" + Name 692 "r036" + Name 696 "r037" + Name 699 "r038" + Name 701 "ResType" + Name 705 "r039" + Name 709 "r040" + Name 712 "r041" + Name 715 "r042" + Name 719 "r039a" + Name 724 "r039b" + Name 730 "r043" + Name 733 "r044" + Name 736 "r045" + Name 740 "r046" + Name 743 "r047" + Name 747 "r048" + Name 751 "r049" + Name 754 "r050" + Name 758 "r051" + Name 761 "r052" + Name 765 "r053" + Name 769 "r054" + Name 773 "r055" + Name 776 "r056" + Name 779 "r057" + Name 782 "r058" + Name 787 "r059" + Name 790 "r060" + Name 797 "r061" + Name 800 "r062" + Name 805 "r063" + Name 808 "r064" + Name 812 "r065" + Name 815 "r066" + Name 818 "r067" + Name 825 "r000" + Name 828 "r001" + Name 831 "r002" + Name 834 "r003" + Name 837 "r004" + Name 842 "r005" + Name 845 "r006" + Name 848 "r007" + Name 851 "r009" + Name 854 "r010" + Name 858 "r011" + Name 861 "r012" + Name 874 "r013" + Name 877 "r014" + Name 880 "r015" + Name 883 "r016" + Name 886 "r017" + Name 889 "r018" + Name 892 "r019" + Name 895 "r020" + Name 898 "r021" + Name 901 "r022" + Name 904 "r023" + Name 908 "r024" + Name 912 "r025" + Name 923 "r029" + Name 926 "r030" + Name 929 "r031" + Name 934 "r032" + Name 939 "r033" + Name 941 "r034" + Name 944 "r036" + Name 948 "r037" + Name 951 "r038" + Name 953 "ResType" + Name 957 "r039" + Name 961 "r040" + Name 964 "r041" + Name 967 "r042" + Name 971 "r039a" + Name 976 "r043" + Name 979 "r044" + Name 982 "r045" + Name 986 "r046" + Name 989 "r047" + Name 993 "r048" + Name 997 "r049" + Name 1000 "r050" + Name 1004 "r051" + Name 1007 "r052" + Name 1011 "r053" + Name 1015 "r054" + Name 1019 "r055" + Name 1022 "r056" + Name 1025 "r057" + Name 1028 "r058" + Name 1033 "r059" + Name 1036 "r060" + Name 1043 "r061" + Name 1046 "r062" + Name 1051 "r063" + Name 1054 "r064" + Name 1058 "r065" + Name 1061 "r066" + Name 1064 "r067" + Name 1071 "r000" + Name 1074 "r001" + Name 1079 "r003" + Name 1082 "r004" + Name 1085 "r005" + Name 1088 "r006" + Name 1092 "r007" + Name 1103 "r008" + Name 1108 "r009" + Name 1111 "r010" + Name 1114 "r011" + Name 1117 "r012" + Name 1120 "r013" + Name 1123 "r014" + Name 1126 "r015" + Name 1129 "r016" + Name 1132 "r017" + Name 1135 "r018" + Name 1138 "r019" + Name 1141 "R020" + Name 1144 "r021" + Name 1147 "r022" + Name 1157 "r023" + Name 1160 "r024" + Name 1162 "ResType" + Name 1166 "r025" + Name 1169 "r026" + Name 1173 "r026a" + Name 1178 "r027" + Name 1181 "r028" + Name 1185 "r029" + Name 1188 "r030" + Name 1192 "r031" + Name 1196 "r032" + Name 1200 "r033" + Name 1203 "r034" + Name 1206 "r035" + Name 1209 "r036" + Name 1214 "r037" + Name 1217 "r038" + Name 1224 "r039" + Name 1227 "r049" + Name 1232 "r041" + Name 1235 "r042" + Name 1239 "r043" + Name 1242 "r044" + Name 1247 "r046" + Name 1254 "r000" + Name 1257 "r001" + Name 1262 "r003" + Name 1265 "r004" + Name 1268 "r005" + Name 1271 "r006" + Name 1275 "r007" + Name 1286 "r008" + Name 1291 "r009" + Name 1294 "r010" + Name 1297 "r011" + Name 1300 "r012" + Name 1303 "r013" + Name 1306 "r014" + Name 1309 "r015" + Name 1312 "r016" + Name 1315 "r017" + Name 1318 "r018" + Name 1321 "r019" + Name 1324 "R020" + Name 1327 "r021" + Name 1330 "r022" + Name 1343 "r023" + Name 1346 "r024" + Name 1348 "ResType" + Name 1352 "r025" + Name 1355 "r026" + Name 1359 "r026a" + Name 1364 "r027" + Name 1367 "r028" + Name 1371 "r029" + Name 1374 "r030" + Name 1378 "r031" + Name 1382 "r032" + Name 1386 "r033" + Name 1389 "r034" + Name 1392 "r035" + Name 1395 "r036" + Name 1400 "r037" + Name 1403 "r038" + Name 1410 "r039" + Name 1413 "r049" + Name 1418 "r041" + Name 1421 "r042" + Name 1425 "r043" + Name 1428 "r044" + Name 1433 "r046" + Name 1440 "r000" + Name 1443 "r001" + Name 1448 "r003" + Name 1451 "r004" + Name 1454 "r005" + Name 1457 "r006" + Name 1461 "r007" + Name 1472 "r008" + Name 1477 "r009" + Name 1480 "r010" + Name 1483 "r011" + Name 1486 "r012" + Name 1489 "r013" + Name 1492 "r014" + Name 1495 "r015" + Name 1498 "r016" + Name 1501 "r017" + Name 1504 "r018" + Name 1507 "r019" + Name 1510 "R020" + Name 1513 "r021" + Name 1516 "r022" + Name 1532 "r023" + Name 1535 "r024" + Name 1537 "ResType" + Name 1541 "r025" + Name 1544 "r026" + Name 1548 "r026a" + Name 1553 "r027" + Name 1556 "r028" + Name 1560 "r029" + Name 1563 "r030" + Name 1567 "r031" + Name 1571 "r032" + Name 1575 "r033" + Name 1578 "r034" + Name 1581 "r035" + Name 1584 "r036" + Name 1589 "r037" + Name 1592 "r038" + Name 1599 "r039" + Name 1602 "r049" + Name 1607 "r041" + Name 1610 "r042" + Name 1614 "r043" + Name 1617 "r044" + Name 1622 "r046" + Name 1629 "r0" + Name 1633 "r1" + Name 1637 "r2" + Name 1641 "r3" + Name 1645 "r4" + Name 1649 "r5" + Name 1653 "r6" + Name 1657 "r7" + Name 1661 "r8" + Name 1665 "r0" + Name 1669 "r1" + Name 1673 "r2" + Name 1677 "r3" + Name 1681 "r4" + Name 1685 "r5" + Name 1689 "r6" + Name 1693 "r7" + Name 1697 "r8" + Name 1701 "r0" + Name 1705 "r1" + Name 1709 "r2" + Name 1713 "r3" + Name 1717 "r4" + Name 1721 "r5" + Name 1725 "r6" + Name 1729 "r7" + Name 1733 "r8" + Name 1737 "r00" + Name 1741 "r01" + Name 1745 "r02" + Name 1749 "r03" + Name 1753 "r04" + Name 1757 "r05" + Name 1761 "r06" + Name 1765 "r07" + Name 1769 "r08" + Name 1773 "r09" + Name 1777 "r10" + Name 1781 "r11" + Name 1785 "r12" + Name 1789 "r13" + Name 1793 "r14" + Name 1797 "r15" + Name 1801 "r16" + Name 1806 "ps_output" + Name 1814 "color" + Name 1818 "gs_ua" + Name 1819 "gs_ub" + Name 1820 "gs_uc" + Name 1822 "gs_ua2" + Name 1823 "gs_ub2" + Name 1824 "gs_uc2" + Name 1826 "gs_ua3" + Name 1827 "gs_ub3" + Name 1828 "gs_uc3" + Name 1830 "gs_ua4" + Name 1831 "gs_ub4" + Name 1832 "gs_uc4" + Decorate 1814(color) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -6179,105 +6186,103 @@ gl_FragCoord origin is upper left 117: TypeMatrix 48(fvec4) 2 118: TypePointer Function 117 119: TypeFunction 2 7(ptr) 7(ptr) 25(ptr) 37(ptr) 112(ptr) 114(ptr) 69(ptr) 116(ptr) 118(ptr) - 131: TypeBool - 132: TypePointer Function 131(bool) - 148: TypeInt 32 1 - 149: TypePointer Function 148(int) - 175: 6(float) Constant 0 - 187: 148(int) Constant 7 - 234(ResType): TypeStruct 6(float) 148(int) - 262: 6(float) Constant 1050288283 - 283: 6(float) Constant 1065353216 - 287: 148(int) Constant 2 - 352: TypeVector 148(int) 2 - 353: TypePointer Function 352(ivec2) - 379: 24(fvec2) ConstantComposite 175 175 - 380: TypeVector 131(bool) 2 - 393: 148(int) Constant 3 - 394: 352(ivec2) ConstantComposite 187 393 - 437: 8(int) Constant 7 - 438: 8(int) Constant 8 - 439: 26(ivec2) ConstantComposite 437 438 - 455(ResType): TypeStruct 24(fvec2) 352(ivec2) - 462: TypePointer Function 380(bvec2) - 520: 6(float) Constant 1073741824 - 523: 8(int) Constant 1 - 524: 8(int) Constant 2 - 525: 26(ivec2) ConstantComposite 523 524 - 572: 24(fvec2) ConstantComposite 283 520 - 590: TypeVector 148(int) 3 - 591: TypePointer Function 590(ivec3) - 617: 36(fvec3) ConstantComposite 175 175 175 - 618: TypeVector 131(bool) 3 - 631: 8(int) Constant 3 - 632: 8(int) Constant 5 - 633: 38(ivec3) ConstantComposite 437 631 632 - 680: 8(int) Constant 4 - 681: 38(ivec3) ConstantComposite 524 631 680 - 697(ResType): TypeStruct 36(fvec3) 590(ivec3) - 704: TypePointer Function 618(bvec3) - 723: 6(float) Constant 1050253722 - 770: 38(ivec3) ConstantComposite 523 524 631 - 817: 6(float) Constant 1077936128 - 818: 36(fvec3) ConstantComposite 283 520 817 - 836: TypeVector 148(int) 4 - 837: TypePointer Function 836(ivec4) - 863: 48(fvec4) ConstantComposite 175 175 175 175 - 864: TypeVector 131(bool) 4 - 877: 50(ivec4) ConstantComposite 437 631 632 524 - 931: 8(int) Constant 9 - 932: 8(int) Constant 10 - 933: 50(ivec4) ConstantComposite 437 438 931 932 - 949(ResType): TypeStruct 48(fvec4) 836(ivec4) - 956: TypePointer Function 864(bvec4) - 1016: 50(ivec4) ConstantComposite 523 524 631 680 - 1063: 6(float) Constant 1082130432 - 1064: 48(fvec4) ConstantComposite 283 520 817 1063 - 1092: 60 ConstantComposite 379 379 - 1093: TypeMatrix 380(bvec2) 2 - 1158(ResType): TypeStruct 60 352(ivec2) - 1246: 24(fvec2) ConstantComposite 520 520 - 1247: 60 ConstantComposite 1246 1246 - 1275: 68 ConstantComposite 617 617 617 - 1276: TypeMatrix 618(bvec3) 3 - 1344(ResType): TypeStruct 68 590(ivec3) - 1432: 36(fvec3) ConstantComposite 817 817 817 - 1433: 68 ConstantComposite 1432 1432 1432 - 1461: 76 ConstantComposite 863 863 863 863 - 1462: TypeMatrix 864(bvec4) 4 - 1533(ResType): TypeStruct 76 836(ivec4) - 1621: 48(fvec4) ConstantComposite 1063 1063 1063 1063 - 1622: 76 ConstantComposite 1621 1621 1621 1621 - 1801(PS_OUTPUT): TypeStruct 48(fvec4) - 1802: TypePointer Function 1801(PS_OUTPUT) - 1804: 148(int) Constant 0 - 1805: 48(fvec4) ConstantComposite 283 283 283 283 - 1807: TypePointer Output 48(fvec4) - 1808(color): 1807(ptr) Variable Output - 1812: TypePointer Workgroup 8(int) - 1813(gs_ua): 1812(ptr) Variable Workgroup - 1814(gs_ub): 1812(ptr) Variable Workgroup - 1815(gs_uc): 1812(ptr) Variable Workgroup - 1816: TypePointer Workgroup 26(ivec2) - 1817(gs_ua2): 1816(ptr) Variable Workgroup - 1818(gs_ub2): 1816(ptr) Variable Workgroup - 1819(gs_uc2): 1816(ptr) Variable Workgroup - 1820: TypePointer Workgroup 38(ivec3) - 1821(gs_ua3): 1820(ptr) Variable Workgroup - 1822(gs_ub3): 1820(ptr) Variable Workgroup - 1823(gs_uc3): 1820(ptr) Variable Workgroup - 1824: TypePointer Workgroup 50(ivec4) - 1825(gs_ua4): 1824(ptr) Variable Workgroup - 1826(gs_ub4): 1824(ptr) Variable Workgroup - 1827(gs_uc4): 1824(ptr) Variable Workgroup + 131(PS_OUTPUT): TypeStruct 48(fvec4) + 132: TypeFunction 131(PS_OUTPUT) + 135: TypeBool + 136: TypePointer Function 135(bool) + 152: TypeInt 32 1 + 153: TypePointer Function 152(int) + 179: 6(float) Constant 0 + 191: 152(int) Constant 7 + 238(ResType): TypeStruct 6(float) 152(int) + 266: 6(float) Constant 1050288283 + 287: 6(float) Constant 1065353216 + 291: 152(int) Constant 2 + 356: TypeVector 152(int) 2 + 357: TypePointer Function 356(ivec2) + 383: 24(fvec2) ConstantComposite 179 179 + 384: TypeVector 135(bool) 2 + 397: 152(int) Constant 3 + 398: 356(ivec2) ConstantComposite 191 397 + 441: 8(int) Constant 7 + 442: 8(int) Constant 8 + 443: 26(ivec2) ConstantComposite 441 442 + 459(ResType): TypeStruct 24(fvec2) 356(ivec2) + 466: TypePointer Function 384(bvec2) + 524: 6(float) Constant 1073741824 + 527: 8(int) Constant 1 + 528: 8(int) Constant 2 + 529: 26(ivec2) ConstantComposite 527 528 + 576: 24(fvec2) ConstantComposite 287 524 + 594: TypeVector 152(int) 3 + 595: TypePointer Function 594(ivec3) + 621: 36(fvec3) ConstantComposite 179 179 179 + 622: TypeVector 135(bool) 3 + 635: 8(int) Constant 3 + 636: 8(int) Constant 5 + 637: 38(ivec3) ConstantComposite 441 635 636 + 684: 8(int) Constant 4 + 685: 38(ivec3) ConstantComposite 528 635 684 + 701(ResType): TypeStruct 36(fvec3) 594(ivec3) + 708: TypePointer Function 622(bvec3) + 727: 6(float) Constant 1050253722 + 774: 38(ivec3) ConstantComposite 527 528 635 + 821: 6(float) Constant 1077936128 + 822: 36(fvec3) ConstantComposite 287 524 821 + 840: TypeVector 152(int) 4 + 841: TypePointer Function 840(ivec4) + 867: 48(fvec4) ConstantComposite 179 179 179 179 + 868: TypeVector 135(bool) 4 + 881: 50(ivec4) ConstantComposite 441 635 636 528 + 935: 8(int) Constant 9 + 936: 8(int) Constant 10 + 937: 50(ivec4) ConstantComposite 441 442 935 936 + 953(ResType): TypeStruct 48(fvec4) 840(ivec4) + 960: TypePointer Function 868(bvec4) + 1020: 50(ivec4) ConstantComposite 527 528 635 684 + 1067: 6(float) Constant 1082130432 + 1068: 48(fvec4) ConstantComposite 287 524 821 1067 + 1096: 60 ConstantComposite 383 383 + 1097: TypeMatrix 384(bvec2) 2 + 1162(ResType): TypeStruct 60 356(ivec2) + 1250: 24(fvec2) ConstantComposite 524 524 + 1251: 60 ConstantComposite 1250 1250 + 1279: 68 ConstantComposite 621 621 621 + 1280: TypeMatrix 622(bvec3) 3 + 1348(ResType): TypeStruct 68 594(ivec3) + 1436: 36(fvec3) ConstantComposite 821 821 821 + 1437: 68 ConstantComposite 1436 1436 1436 + 1465: 76 ConstantComposite 867 867 867 867 + 1466: TypeMatrix 868(bvec4) 4 + 1537(ResType): TypeStruct 76 840(ivec4) + 1625: 48(fvec4) ConstantComposite 1067 1067 1067 1067 + 1626: 76 ConstantComposite 1625 1625 1625 1625 + 1805: TypePointer Function 131(PS_OUTPUT) + 1807: 152(int) Constant 0 + 1808: 48(fvec4) ConstantComposite 287 287 287 287 + 1813: TypePointer Output 48(fvec4) + 1814(color): 1813(ptr) Variable Output + 1817: TypePointer Workgroup 8(int) + 1818(gs_ua): 1817(ptr) Variable Workgroup + 1819(gs_ub): 1817(ptr) Variable Workgroup + 1820(gs_uc): 1817(ptr) Variable Workgroup + 1821: TypePointer Workgroup 26(ivec2) + 1822(gs_ua2): 1821(ptr) Variable Workgroup + 1823(gs_ub2): 1821(ptr) Variable Workgroup + 1824(gs_uc2): 1821(ptr) Variable Workgroup + 1825: TypePointer Workgroup 38(ivec3) + 1826(gs_ua3): 1825(ptr) Variable Workgroup + 1827(gs_ub3): 1825(ptr) Variable Workgroup + 1828(gs_uc3): 1825(ptr) Variable Workgroup + 1829: TypePointer Workgroup 50(ivec4) + 1830(gs_ua4): 1829(ptr) Variable Workgroup + 1831(gs_ub4): 1829(ptr) Variable Workgroup + 1832(gs_uc4): 1829(ptr) Variable Workgroup 4(main): 2 Function None 3 5: Label - 1803(ps_output): 1802(ptr) Variable Function - 1806: 49(ptr) AccessChain 1803(ps_output) 1804 - Store 1806 1805 - 1809: 49(ptr) AccessChain 1803(ps_output) 1804 - 1810: 48(fvec4) Load 1809 - Store 1808(color) 1810 + 1815:131(PS_OUTPUT) FunctionCall 133(@main() + 1816: 48(fvec4) CompositeExtract 1815 0 + Store 1814(color) 1816 Return FunctionEnd 16(PixelShaderFunctionS(f1;f1;f1;u1;u1;): 6(float) Function None 10 @@ -6287,267 +6292,267 @@ gl_FragCoord origin is upper left 14(inU0): 9(ptr) FunctionParameter 15(inU1): 9(ptr) FunctionParameter 17: Label - 133(r000): 132(ptr) Variable Function - 136(r001): 7(ptr) Variable Function - 139(r002): 7(ptr) Variable Function - 142(r003): 132(ptr) Variable Function - 145(r004): 7(ptr) Variable Function - 150(r005): 149(ptr) Variable Function - 153(r006): 9(ptr) Variable Function - 156(r007): 7(ptr) Variable Function - 159(r009): 7(ptr) Variable Function - 162(r010): 7(ptr) Variable Function - 166(r011): 7(ptr) Variable Function - 169(r012): 7(ptr) Variable Function - 180(r014): 7(ptr) Variable Function - 183(r015): 7(ptr) Variable Function - 186(r016): 149(ptr) Variable Function - 189(r017): 7(ptr) Variable Function - 192(r018): 7(ptr) Variable Function - 195(r019): 7(ptr) Variable Function - 198(r020): 7(ptr) Variable Function - 201(r021): 7(ptr) Variable Function - 204(r022): 7(ptr) Variable Function - 207(r023): 7(ptr) Variable Function - 210(r027): 7(ptr) Variable Function - 213(r028): 7(ptr) Variable Function - 216(r029): 9(ptr) Variable Function - 219(r030): 9(ptr) Variable Function - 222(r031): 7(ptr) Variable Function - 225(r033): 7(ptr) Variable Function - 229(r034): 7(ptr) Variable Function - 232(r035): 7(ptr) Variable Function - 238(r036): 7(ptr) Variable Function - 241(r037): 132(ptr) Variable Function - 244(r038): 132(ptr) Variable Function - 247(r039): 7(ptr) Variable Function - 251(r039a): 7(ptr) Variable Function - 256(r040): 7(ptr) Variable Function - 259(r041): 7(ptr) Variable Function - 264(r042): 7(ptr) Variable Function - 267(r043): 7(ptr) Variable Function - 271(r044): 7(ptr) Variable Function - 275(r045): 7(ptr) Variable Function - 279(r046): 7(ptr) Variable Function - 282(r047): 7(ptr) Variable Function - 286(r048): 9(ptr) Variable Function - 290(r049): 7(ptr) Variable Function - 293(r050): 7(ptr) Variable Function - 296(r051): 7(ptr) Variable Function - 299(r052): 7(ptr) Variable Function - 302(r053): 7(ptr) Variable Function - 309(r055): 7(ptr) Variable Function - 312(r056): 7(ptr) Variable Function - 317(r057): 7(ptr) Variable Function - 320(r058): 7(ptr) Variable Function - 324(r059): 7(ptr) Variable Function - 327(r060): 7(ptr) Variable Function - 330(r061): 7(ptr) Variable Function - 134: 6(float) Load 11(inF0) - 135: 131(bool) All 134 - Store 133(r000) 135 - 137: 6(float) Load 11(inF0) - 138: 6(float) ExtInst 1(GLSL.std.450) 4(FAbs) 137 - Store 136(r001) 138 - 140: 6(float) Load 11(inF0) - 141: 6(float) ExtInst 1(GLSL.std.450) 17(Acos) 140 - Store 139(r002) 141 - 143: 6(float) Load 11(inF0) - 144: 131(bool) Any 143 - Store 142(r003) 144 - 146: 6(float) Load 11(inF0) - 147: 6(float) ExtInst 1(GLSL.std.450) 16(Asin) 146 - Store 145(r004) 147 - 151: 6(float) Load 11(inF0) - 152: 148(int) Bitcast 151 - Store 150(r005) 152 - 154: 6(float) Load 11(inF0) - 155: 8(int) Bitcast 154 - Store 153(r006) 155 - 157: 8(int) Load 14(inU0) - 158: 6(float) Bitcast 157 - Store 156(r007) 158 - 160: 6(float) Load 11(inF0) - 161: 6(float) ExtInst 1(GLSL.std.450) 18(Atan) 160 - Store 159(r009) 161 - 163: 6(float) Load 11(inF0) - 164: 6(float) Load 12(inF1) - 165: 6(float) ExtInst 1(GLSL.std.450) 25(Atan2) 163 164 - Store 162(r010) 165 + 137(r000): 136(ptr) Variable Function + 140(r001): 7(ptr) Variable Function + 143(r002): 7(ptr) Variable Function + 146(r003): 136(ptr) Variable Function + 149(r004): 7(ptr) Variable Function + 154(r005): 153(ptr) Variable Function + 157(r006): 9(ptr) Variable Function + 160(r007): 7(ptr) Variable Function + 163(r009): 7(ptr) Variable Function + 166(r010): 7(ptr) Variable Function + 170(r011): 7(ptr) Variable Function + 173(r012): 7(ptr) Variable Function + 184(r014): 7(ptr) Variable Function + 187(r015): 7(ptr) Variable Function + 190(r016): 153(ptr) Variable Function + 193(r017): 7(ptr) Variable Function + 196(r018): 7(ptr) Variable Function + 199(r019): 7(ptr) Variable Function + 202(r020): 7(ptr) Variable Function + 205(r021): 7(ptr) Variable Function + 208(r022): 7(ptr) Variable Function + 211(r023): 7(ptr) Variable Function + 214(r027): 7(ptr) Variable Function + 217(r028): 7(ptr) Variable Function + 220(r029): 9(ptr) Variable Function + 223(r030): 9(ptr) Variable Function + 226(r031): 7(ptr) Variable Function + 229(r033): 7(ptr) Variable Function + 233(r034): 7(ptr) Variable Function + 236(r035): 7(ptr) Variable Function + 242(r036): 7(ptr) Variable Function + 245(r037): 136(ptr) Variable Function + 248(r038): 136(ptr) Variable Function + 251(r039): 7(ptr) Variable Function + 255(r039a): 7(ptr) Variable Function + 260(r040): 7(ptr) Variable Function + 263(r041): 7(ptr) Variable Function + 268(r042): 7(ptr) Variable Function + 271(r043): 7(ptr) Variable Function + 275(r044): 7(ptr) Variable Function + 279(r045): 7(ptr) Variable Function + 283(r046): 7(ptr) Variable Function + 286(r047): 7(ptr) Variable Function + 290(r048): 9(ptr) Variable Function + 294(r049): 7(ptr) Variable Function + 297(r050): 7(ptr) Variable Function + 300(r051): 7(ptr) Variable Function + 303(r052): 7(ptr) Variable Function + 306(r053): 7(ptr) Variable Function + 313(r055): 7(ptr) Variable Function + 316(r056): 7(ptr) Variable Function + 321(r057): 7(ptr) Variable Function + 324(r058): 7(ptr) Variable Function + 328(r059): 7(ptr) Variable Function + 331(r060): 7(ptr) Variable Function + 334(r061): 7(ptr) Variable Function + 138: 6(float) Load 11(inF0) + 139: 135(bool) All 138 + Store 137(r000) 139 + 141: 6(float) Load 11(inF0) + 142: 6(float) ExtInst 1(GLSL.std.450) 4(FAbs) 141 + Store 140(r001) 142 + 144: 6(float) Load 11(inF0) + 145: 6(float) ExtInst 1(GLSL.std.450) 17(Acos) 144 + Store 143(r002) 145 + 147: 6(float) Load 11(inF0) + 148: 135(bool) Any 147 + Store 146(r003) 148 + 150: 6(float) Load 11(inF0) + 151: 6(float) ExtInst 1(GLSL.std.450) 16(Asin) 150 + Store 149(r004) 151 + 155: 6(float) Load 11(inF0) + 156: 152(int) Bitcast 155 + Store 154(r005) 156 + 158: 6(float) Load 11(inF0) + 159: 8(int) Bitcast 158 + Store 157(r006) 159 + 161: 8(int) Load 14(inU0) + 162: 6(float) Bitcast 161 + Store 160(r007) 162 + 164: 6(float) Load 11(inF0) + 165: 6(float) ExtInst 1(GLSL.std.450) 18(Atan) 164 + Store 163(r009) 165 167: 6(float) Load 11(inF0) - 168: 6(float) ExtInst 1(GLSL.std.450) 9(Ceil) 167 - Store 166(r011) 168 - 170: 6(float) Load 11(inF0) - 171: 6(float) Load 12(inF1) - 172: 6(float) Load 13(inF2) - 173: 6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 170 171 172 - Store 169(r012) 173 + 168: 6(float) Load 12(inF1) + 169: 6(float) ExtInst 1(GLSL.std.450) 25(Atan2) 167 168 + Store 166(r010) 169 + 171: 6(float) Load 11(inF0) + 172: 6(float) ExtInst 1(GLSL.std.450) 9(Ceil) 171 + Store 170(r011) 172 174: 6(float) Load 11(inF0) - 176: 131(bool) FOrdLessThan 174 175 - SelectionMerge 178 None - BranchConditional 176 177 178 - 177: Label + 175: 6(float) Load 12(inF1) + 176: 6(float) Load 13(inF2) + 177: 6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 174 175 176 + Store 173(r012) 177 + 178: 6(float) Load 11(inF0) + 180: 135(bool) FOrdLessThan 178 179 + SelectionMerge 182 None + BranchConditional 180 181 182 + 181: Label Kill - 178: Label - 181: 6(float) Load 11(inF0) - 182: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 181 - Store 180(r014) 182 - 184: 6(float) Load 11(inF0) - 185: 6(float) ExtInst 1(GLSL.std.450) 20(Cosh) 184 - Store 183(r015) 185 - 188: 148(int) BitCount 187 - Store 186(r016) 188 - 190: 6(float) Load 11(inF0) - 191: 6(float) DPdx 190 - Store 189(r017) 191 - 193: 6(float) Load 11(inF0) - 194: 6(float) DPdxCoarse 193 - Store 192(r018) 194 - 196: 6(float) Load 11(inF0) - 197: 6(float) DPdxFine 196 - Store 195(r019) 197 - 199: 6(float) Load 11(inF0) - 200: 6(float) DPdy 199 - Store 198(r020) 200 - 202: 6(float) Load 11(inF0) - 203: 6(float) DPdyCoarse 202 - Store 201(r021) 203 - 205: 6(float) Load 11(inF0) - 206: 6(float) DPdyFine 205 - Store 204(r022) 206 - 208: 6(float) Load 11(inF0) - 209: 6(float) ExtInst 1(GLSL.std.450) 12(Degrees) 208 - Store 207(r023) 209 - 211: 6(float) Load 11(inF0) - 212: 6(float) ExtInst 1(GLSL.std.450) 27(Exp) 211 - Store 210(r027) 212 - 214: 6(float) Load 11(inF0) - 215: 6(float) ExtInst 1(GLSL.std.450) 29(Exp2) 214 - Store 213(r028) 215 - 217: 148(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 187 - 218: 8(int) Bitcast 217 - Store 216(r029) 218 - 220: 148(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 187 - 221: 8(int) Bitcast 220 - Store 219(r030) 221 - 223: 6(float) Load 11(inF0) - 224: 6(float) ExtInst 1(GLSL.std.450) 8(Floor) 223 - Store 222(r031) 224 - 226: 6(float) Load 11(inF0) - 227: 6(float) Load 12(inF1) - 228: 6(float) FMod 226 227 - Store 225(r033) 228 + 182: Label + 185: 6(float) Load 11(inF0) + 186: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 185 + Store 184(r014) 186 + 188: 6(float) Load 11(inF0) + 189: 6(float) ExtInst 1(GLSL.std.450) 20(Cosh) 188 + Store 187(r015) 189 + 192: 152(int) BitCount 191 + Store 190(r016) 192 + 194: 6(float) Load 11(inF0) + 195: 6(float) DPdx 194 + Store 193(r017) 195 + 197: 6(float) Load 11(inF0) + 198: 6(float) DPdxCoarse 197 + Store 196(r018) 198 + 200: 6(float) Load 11(inF0) + 201: 6(float) DPdxFine 200 + Store 199(r019) 201 + 203: 6(float) Load 11(inF0) + 204: 6(float) DPdy 203 + Store 202(r020) 204 + 206: 6(float) Load 11(inF0) + 207: 6(float) DPdyCoarse 206 + Store 205(r021) 207 + 209: 6(float) Load 11(inF0) + 210: 6(float) DPdyFine 209 + Store 208(r022) 210 + 212: 6(float) Load 11(inF0) + 213: 6(float) ExtInst 1(GLSL.std.450) 12(Degrees) 212 + Store 211(r023) 213 + 215: 6(float) Load 11(inF0) + 216: 6(float) ExtInst 1(GLSL.std.450) 27(Exp) 215 + Store 214(r027) 216 + 218: 6(float) Load 11(inF0) + 219: 6(float) ExtInst 1(GLSL.std.450) 29(Exp2) 218 + Store 217(r028) 219 + 221: 152(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 191 + 222: 8(int) Bitcast 221 + Store 220(r029) 222 + 224: 152(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 191 + 225: 8(int) Bitcast 224 + Store 223(r030) 225 + 227: 6(float) Load 11(inF0) + 228: 6(float) ExtInst 1(GLSL.std.450) 8(Floor) 227 + Store 226(r031) 228 230: 6(float) Load 11(inF0) - 231: 6(float) ExtInst 1(GLSL.std.450) 10(Fract) 230 - Store 229(r034) 231 - 233: 6(float) Load 11(inF0) - 235:234(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 233 - 236: 148(int) CompositeExtract 235 1 - Store 12(inF1) 236 - 237: 6(float) CompositeExtract 235 0 - Store 232(r035) 237 - 239: 6(float) Load 11(inF0) - 240: 6(float) Fwidth 239 - Store 238(r036) 240 - 242: 6(float) Load 11(inF0) - 243: 131(bool) IsInf 242 - Store 241(r037) 243 - 245: 6(float) Load 11(inF0) - 246: 131(bool) IsNan 245 - Store 244(r038) 246 - 248: 6(float) Load 11(inF0) - 249: 6(float) Load 12(inF1) - 250: 6(float) ExtInst 1(GLSL.std.450) 53(Ldexp) 248 249 - Store 247(r039) 250 + 231: 6(float) Load 12(inF1) + 232: 6(float) FMod 230 231 + Store 229(r033) 232 + 234: 6(float) Load 11(inF0) + 235: 6(float) ExtInst 1(GLSL.std.450) 10(Fract) 234 + Store 233(r034) 235 + 237: 6(float) Load 11(inF0) + 239:238(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 237 + 240: 152(int) CompositeExtract 239 1 + Store 12(inF1) 240 + 241: 6(float) CompositeExtract 239 0 + Store 236(r035) 241 + 243: 6(float) Load 11(inF0) + 244: 6(float) Fwidth 243 + Store 242(r036) 244 + 246: 6(float) Load 11(inF0) + 247: 135(bool) IsInf 246 + Store 245(r037) 247 + 249: 6(float) Load 11(inF0) + 250: 135(bool) IsNan 249 + Store 248(r038) 250 252: 6(float) Load 11(inF0) 253: 6(float) Load 12(inF1) - 254: 6(float) Load 13(inF2) - 255: 6(float) ExtInst 1(GLSL.std.450) 46(FMix) 252 253 254 - Store 251(r039a) 255 - 257: 6(float) Load 11(inF0) - 258: 6(float) ExtInst 1(GLSL.std.450) 28(Log) 257 - Store 256(r040) 258 - 260: 6(float) Load 11(inF0) - 261: 6(float) ExtInst 1(GLSL.std.450) 30(Log2) 260 - 263: 6(float) FMul 261 262 - Store 259(r041) 263 - 265: 6(float) Load 11(inF0) - 266: 6(float) ExtInst 1(GLSL.std.450) 30(Log2) 265 - Store 264(r042) 266 - 268: 6(float) Load 11(inF0) - 269: 6(float) Load 12(inF1) - 270: 6(float) ExtInst 1(GLSL.std.450) 40(FMax) 268 269 - Store 267(r043) 270 + 254: 6(float) ExtInst 1(GLSL.std.450) 53(Ldexp) 252 253 + Store 251(r039) 254 + 256: 6(float) Load 11(inF0) + 257: 6(float) Load 12(inF1) + 258: 6(float) Load 13(inF2) + 259: 6(float) ExtInst 1(GLSL.std.450) 46(FMix) 256 257 258 + Store 255(r039a) 259 + 261: 6(float) Load 11(inF0) + 262: 6(float) ExtInst 1(GLSL.std.450) 28(Log) 261 + Store 260(r040) 262 + 264: 6(float) Load 11(inF0) + 265: 6(float) ExtInst 1(GLSL.std.450) 30(Log2) 264 + 267: 6(float) FMul 265 266 + Store 263(r041) 267 + 269: 6(float) Load 11(inF0) + 270: 6(float) ExtInst 1(GLSL.std.450) 30(Log2) 269 + Store 268(r042) 270 272: 6(float) Load 11(inF0) 273: 6(float) Load 12(inF1) - 274: 6(float) ExtInst 1(GLSL.std.450) 37(FMin) 272 273 - Store 271(r044) 274 + 274: 6(float) ExtInst 1(GLSL.std.450) 40(FMax) 272 273 + Store 271(r043) 274 276: 6(float) Load 11(inF0) 277: 6(float) Load 12(inF1) - 278: 6(float) ExtInst 1(GLSL.std.450) 26(Pow) 276 277 - Store 275(r045) 278 + 278: 6(float) ExtInst 1(GLSL.std.450) 37(FMin) 276 277 + Store 275(r044) 278 280: 6(float) Load 11(inF0) - 281: 6(float) ExtInst 1(GLSL.std.450) 11(Radians) 280 - Store 279(r046) 281 + 281: 6(float) Load 12(inF1) + 282: 6(float) ExtInst 1(GLSL.std.450) 26(Pow) 280 281 + Store 279(r045) 282 284: 6(float) Load 11(inF0) - 285: 6(float) FDiv 283 284 - Store 282(r047) 285 - 288: 148(int) BitReverse 287 - 289: 8(int) Bitcast 288 - Store 286(r048) 289 - 291: 6(float) Load 11(inF0) - 292: 6(float) ExtInst 1(GLSL.std.450) 2(RoundEven) 291 - Store 290(r049) 292 - 294: 6(float) Load 11(inF0) - 295: 6(float) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 294 - Store 293(r050) 295 - 297: 6(float) Load 11(inF0) - 298: 6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 297 175 283 - Store 296(r051) 298 - 300: 6(float) Load 11(inF0) - 301: 6(float) ExtInst 1(GLSL.std.450) 6(FSign) 300 - Store 299(r052) 301 - 303: 6(float) Load 11(inF0) - 304: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 303 - Store 302(r053) 304 - 305: 6(float) Load 11(inF0) - 306: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 305 - Store 12(inF1) 306 + 285: 6(float) ExtInst 1(GLSL.std.450) 11(Radians) 284 + Store 283(r046) 285 + 288: 6(float) Load 11(inF0) + 289: 6(float) FDiv 287 288 + Store 286(r047) 289 + 292: 152(int) BitReverse 291 + 293: 8(int) Bitcast 292 + Store 290(r048) 293 + 295: 6(float) Load 11(inF0) + 296: 6(float) ExtInst 1(GLSL.std.450) 2(RoundEven) 295 + Store 294(r049) 296 + 298: 6(float) Load 11(inF0) + 299: 6(float) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 298 + Store 297(r050) 299 + 301: 6(float) Load 11(inF0) + 302: 6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 301 179 287 + Store 300(r051) 302 + 304: 6(float) Load 11(inF0) + 305: 6(float) ExtInst 1(GLSL.std.450) 6(FSign) 304 + Store 303(r052) 305 307: 6(float) Load 11(inF0) - 308: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 307 - Store 13(inF2) 308 - 310: 6(float) Load 11(inF0) - 311: 6(float) ExtInst 1(GLSL.std.450) 19(Sinh) 310 - Store 309(r055) 311 - 313: 6(float) Load 11(inF0) - 314: 6(float) Load 12(inF1) - 315: 6(float) Load 13(inF2) - 316: 6(float) ExtInst 1(GLSL.std.450) 49(SmoothStep) 313 314 315 - Store 312(r056) 316 - 318: 6(float) Load 11(inF0) - 319: 6(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 318 - Store 317(r057) 319 - 321: 6(float) Load 11(inF0) - 322: 6(float) Load 12(inF1) - 323: 6(float) ExtInst 1(GLSL.std.450) 48(Step) 321 322 - Store 320(r058) 323 + 308: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 307 + Store 306(r053) 308 + 309: 6(float) Load 11(inF0) + 310: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 309 + Store 12(inF1) 310 + 311: 6(float) Load 11(inF0) + 312: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 311 + Store 13(inF2) 312 + 314: 6(float) Load 11(inF0) + 315: 6(float) ExtInst 1(GLSL.std.450) 19(Sinh) 314 + Store 313(r055) 315 + 317: 6(float) Load 11(inF0) + 318: 6(float) Load 12(inF1) + 319: 6(float) Load 13(inF2) + 320: 6(float) ExtInst 1(GLSL.std.450) 49(SmoothStep) 317 318 319 + Store 316(r056) 320 + 322: 6(float) Load 11(inF0) + 323: 6(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 322 + Store 321(r057) 323 325: 6(float) Load 11(inF0) - 326: 6(float) ExtInst 1(GLSL.std.450) 15(Tan) 325 - Store 324(r059) 326 - 328: 6(float) Load 11(inF0) - 329: 6(float) ExtInst 1(GLSL.std.450) 21(Tanh) 328 - Store 327(r060) 329 - 331: 6(float) Load 11(inF0) - 332: 6(float) ExtInst 1(GLSL.std.450) 3(Trunc) 331 - Store 330(r061) 332 - ReturnValue 175 + 326: 6(float) Load 12(inF1) + 327: 6(float) ExtInst 1(GLSL.std.450) 48(Step) 325 326 + Store 324(r058) 327 + 329: 6(float) Load 11(inF0) + 330: 6(float) ExtInst 1(GLSL.std.450) 15(Tan) 329 + Store 328(r059) 330 + 332: 6(float) Load 11(inF0) + 333: 6(float) ExtInst 1(GLSL.std.450) 21(Tanh) 332 + Store 331(r060) 333 + 335: 6(float) Load 11(inF0) + 336: 6(float) ExtInst 1(GLSL.std.450) 3(Trunc) 335 + Store 334(r061) 336 + ReturnValue 179 FunctionEnd 22(PixelShaderFunction1(vf1;vf1;vf1;): 6(float) Function None 18 19(inF0): 7(ptr) FunctionParameter 20(inF1): 7(ptr) FunctionParameter 21(inF2): 7(ptr) FunctionParameter 23: Label - ReturnValue 175 + ReturnValue 179 FunctionEnd 34(PixelShaderFunction2(vf2;vf2;vf2;vu2;vu2;): 24(fvec2) Function None 28 29(inF0): 25(ptr) FunctionParameter @@ -6556,295 +6561,295 @@ gl_FragCoord origin is upper left 32(inU0): 27(ptr) FunctionParameter 33(inU1): 27(ptr) FunctionParameter 35: Label - 337(r000): 132(ptr) Variable Function - 340(r001): 25(ptr) Variable Function - 343(r002): 25(ptr) Variable Function - 346(r003): 132(ptr) Variable Function - 349(r004): 25(ptr) Variable Function - 354(r005): 353(ptr) Variable Function - 357(r006): 27(ptr) Variable Function - 360(r007): 25(ptr) Variable Function - 363(r009): 25(ptr) Variable Function - 366(r010): 25(ptr) Variable Function - 370(r011): 25(ptr) Variable Function - 373(r012): 25(ptr) Variable Function - 386(r013): 25(ptr) Variable Function - 389(r015): 25(ptr) Variable Function - 392(r016): 353(ptr) Variable Function - 396(r017): 25(ptr) Variable Function - 399(r018): 25(ptr) Variable Function - 402(r019): 25(ptr) Variable Function - 405(r020): 25(ptr) Variable Function - 408(r021): 25(ptr) Variable Function - 411(r022): 25(ptr) Variable Function - 414(r023): 25(ptr) Variable Function - 417(r026): 7(ptr) Variable Function - 421(r027): 7(ptr) Variable Function - 425(r028): 25(ptr) Variable Function - 428(r029): 25(ptr) Variable Function - 431(r030): 25(ptr) Variable Function - 436(r031): 27(ptr) Variable Function - 441(r032): 27(ptr) Variable Function - 443(r033): 25(ptr) Variable Function - 446(r035): 25(ptr) Variable Function - 450(r036): 25(ptr) Variable Function - 453(r037): 25(ptr) Variable Function - 459(r038): 25(ptr) Variable Function - 463(r039): 462(ptr) Variable Function - 466(r040): 462(ptr) Variable Function - 469(r041): 25(ptr) Variable Function - 473(r039a): 25(ptr) Variable Function - 478(r042): 7(ptr) Variable Function - 481(r043): 25(ptr) Variable Function - 484(r044): 25(ptr) Variable Function - 488(r045): 25(ptr) Variable Function - 491(r046): 25(ptr) Variable Function - 495(r047): 25(ptr) Variable Function - 499(r048): 25(ptr) Variable Function - 502(r049): 25(ptr) Variable Function - 506(r050): 25(ptr) Variable Function - 509(r051): 25(ptr) Variable Function - 513(r052): 25(ptr) Variable Function - 517(r053): 25(ptr) Variable Function - 522(r054): 27(ptr) Variable Function - 527(r055): 25(ptr) Variable Function - 530(r056): 25(ptr) Variable Function - 533(r057): 25(ptr) Variable Function - 538(r058): 25(ptr) Variable Function - 541(r059): 25(ptr) Variable Function - 548(r060): 25(ptr) Variable Function - 551(r061): 25(ptr) Variable Function - 556(r062): 25(ptr) Variable Function - 559(r063): 25(ptr) Variable Function - 563(r064): 25(ptr) Variable Function - 566(r065): 25(ptr) Variable Function - 569(r066): 25(ptr) Variable Function - 338: 24(fvec2) Load 29(inF0) - 339: 131(bool) All 338 - Store 337(r000) 339 - 341: 24(fvec2) Load 29(inF0) - 342: 24(fvec2) ExtInst 1(GLSL.std.450) 4(FAbs) 341 - Store 340(r001) 342 - 344: 24(fvec2) Load 29(inF0) - 345: 24(fvec2) ExtInst 1(GLSL.std.450) 17(Acos) 344 - Store 343(r002) 345 - 347: 24(fvec2) Load 29(inF0) - 348: 131(bool) Any 347 - Store 346(r003) 348 - 350: 24(fvec2) Load 29(inF0) - 351: 24(fvec2) ExtInst 1(GLSL.std.450) 16(Asin) 350 - Store 349(r004) 351 - 355: 24(fvec2) Load 29(inF0) - 356: 352(ivec2) Bitcast 355 - Store 354(r005) 356 - 358: 24(fvec2) Load 29(inF0) - 359: 26(ivec2) Bitcast 358 - Store 357(r006) 359 - 361: 26(ivec2) Load 32(inU0) - 362: 24(fvec2) Bitcast 361 - Store 360(r007) 362 - 364: 24(fvec2) Load 29(inF0) - 365: 24(fvec2) ExtInst 1(GLSL.std.450) 18(Atan) 364 - Store 363(r009) 365 - 367: 24(fvec2) Load 29(inF0) - 368: 24(fvec2) Load 30(inF1) - 369: 24(fvec2) ExtInst 1(GLSL.std.450) 25(Atan2) 367 368 - Store 366(r010) 369 + 341(r000): 136(ptr) Variable Function + 344(r001): 25(ptr) Variable Function + 347(r002): 25(ptr) Variable Function + 350(r003): 136(ptr) Variable Function + 353(r004): 25(ptr) Variable Function + 358(r005): 357(ptr) Variable Function + 361(r006): 27(ptr) Variable Function + 364(r007): 25(ptr) Variable Function + 367(r009): 25(ptr) Variable Function + 370(r010): 25(ptr) Variable Function + 374(r011): 25(ptr) Variable Function + 377(r012): 25(ptr) Variable Function + 390(r013): 25(ptr) Variable Function + 393(r015): 25(ptr) Variable Function + 396(r016): 357(ptr) Variable Function + 400(r017): 25(ptr) Variable Function + 403(r018): 25(ptr) Variable Function + 406(r019): 25(ptr) Variable Function + 409(r020): 25(ptr) Variable Function + 412(r021): 25(ptr) Variable Function + 415(r022): 25(ptr) Variable Function + 418(r023): 25(ptr) Variable Function + 421(r026): 7(ptr) Variable Function + 425(r027): 7(ptr) Variable Function + 429(r028): 25(ptr) Variable Function + 432(r029): 25(ptr) Variable Function + 435(r030): 25(ptr) Variable Function + 440(r031): 27(ptr) Variable Function + 445(r032): 27(ptr) Variable Function + 447(r033): 25(ptr) Variable Function + 450(r035): 25(ptr) Variable Function + 454(r036): 25(ptr) Variable Function + 457(r037): 25(ptr) Variable Function + 463(r038): 25(ptr) Variable Function + 467(r039): 466(ptr) Variable Function + 470(r040): 466(ptr) Variable Function + 473(r041): 25(ptr) Variable Function + 477(r039a): 25(ptr) Variable Function + 482(r042): 7(ptr) Variable Function + 485(r043): 25(ptr) Variable Function + 488(r044): 25(ptr) Variable Function + 492(r045): 25(ptr) Variable Function + 495(r046): 25(ptr) Variable Function + 499(r047): 25(ptr) Variable Function + 503(r048): 25(ptr) Variable Function + 506(r049): 25(ptr) Variable Function + 510(r050): 25(ptr) Variable Function + 513(r051): 25(ptr) Variable Function + 517(r052): 25(ptr) Variable Function + 521(r053): 25(ptr) Variable Function + 526(r054): 27(ptr) Variable Function + 531(r055): 25(ptr) Variable Function + 534(r056): 25(ptr) Variable Function + 537(r057): 25(ptr) Variable Function + 542(r058): 25(ptr) Variable Function + 545(r059): 25(ptr) Variable Function + 552(r060): 25(ptr) Variable Function + 555(r061): 25(ptr) Variable Function + 560(r062): 25(ptr) Variable Function + 563(r063): 25(ptr) Variable Function + 567(r064): 25(ptr) Variable Function + 570(r065): 25(ptr) Variable Function + 573(r066): 25(ptr) Variable Function + 342: 24(fvec2) Load 29(inF0) + 343: 135(bool) All 342 + Store 341(r000) 343 + 345: 24(fvec2) Load 29(inF0) + 346: 24(fvec2) ExtInst 1(GLSL.std.450) 4(FAbs) 345 + Store 344(r001) 346 + 348: 24(fvec2) Load 29(inF0) + 349: 24(fvec2) ExtInst 1(GLSL.std.450) 17(Acos) 348 + Store 347(r002) 349 + 351: 24(fvec2) Load 29(inF0) + 352: 135(bool) Any 351 + Store 350(r003) 352 + 354: 24(fvec2) Load 29(inF0) + 355: 24(fvec2) ExtInst 1(GLSL.std.450) 16(Asin) 354 + Store 353(r004) 355 + 359: 24(fvec2) Load 29(inF0) + 360: 356(ivec2) Bitcast 359 + Store 358(r005) 360 + 362: 24(fvec2) Load 29(inF0) + 363: 26(ivec2) Bitcast 362 + Store 361(r006) 363 + 365: 26(ivec2) Load 32(inU0) + 366: 24(fvec2) Bitcast 365 + Store 364(r007) 366 + 368: 24(fvec2) Load 29(inF0) + 369: 24(fvec2) ExtInst 1(GLSL.std.450) 18(Atan) 368 + Store 367(r009) 369 371: 24(fvec2) Load 29(inF0) - 372: 24(fvec2) ExtInst 1(GLSL.std.450) 9(Ceil) 371 - Store 370(r011) 372 - 374: 24(fvec2) Load 29(inF0) - 375: 24(fvec2) Load 30(inF1) - 376: 24(fvec2) Load 31(inF2) - 377: 24(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 374 375 376 - Store 373(r012) 377 + 372: 24(fvec2) Load 30(inF1) + 373: 24(fvec2) ExtInst 1(GLSL.std.450) 25(Atan2) 371 372 + Store 370(r010) 373 + 375: 24(fvec2) Load 29(inF0) + 376: 24(fvec2) ExtInst 1(GLSL.std.450) 9(Ceil) 375 + Store 374(r011) 376 378: 24(fvec2) Load 29(inF0) - 381: 380(bvec2) FOrdLessThan 378 379 - 382: 131(bool) Any 381 - SelectionMerge 384 None - BranchConditional 382 383 384 - 383: Label + 379: 24(fvec2) Load 30(inF1) + 380: 24(fvec2) Load 31(inF2) + 381: 24(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 378 379 380 + Store 377(r012) 381 + 382: 24(fvec2) Load 29(inF0) + 385: 384(bvec2) FOrdLessThan 382 383 + 386: 135(bool) Any 385 + SelectionMerge 388 None + BranchConditional 386 387 388 + 387: Label Kill - 384: Label - 387: 24(fvec2) Load 29(inF0) - 388: 24(fvec2) ExtInst 1(GLSL.std.450) 14(Cos) 387 - Store 386(r013) 388 - 390: 24(fvec2) Load 29(inF0) - 391: 24(fvec2) ExtInst 1(GLSL.std.450) 20(Cosh) 390 - Store 389(r015) 391 - 395: 352(ivec2) BitCount 394 - Store 392(r016) 395 - 397: 24(fvec2) Load 29(inF0) - 398: 24(fvec2) DPdx 397 - Store 396(r017) 398 - 400: 24(fvec2) Load 29(inF0) - 401: 24(fvec2) DPdxCoarse 400 - Store 399(r018) 401 - 403: 24(fvec2) Load 29(inF0) - 404: 24(fvec2) DPdxFine 403 - Store 402(r019) 404 - 406: 24(fvec2) Load 29(inF0) - 407: 24(fvec2) DPdy 406 - Store 405(r020) 407 - 409: 24(fvec2) Load 29(inF0) - 410: 24(fvec2) DPdyCoarse 409 - Store 408(r021) 410 - 412: 24(fvec2) Load 29(inF0) - 413: 24(fvec2) DPdyFine 412 - Store 411(r022) 413 - 415: 24(fvec2) Load 29(inF0) - 416: 24(fvec2) ExtInst 1(GLSL.std.450) 12(Degrees) 415 - Store 414(r023) 416 - 418: 24(fvec2) Load 29(inF0) - 419: 24(fvec2) Load 30(inF1) - 420: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 418 419 - Store 417(r026) 420 + 388: Label + 391: 24(fvec2) Load 29(inF0) + 392: 24(fvec2) ExtInst 1(GLSL.std.450) 14(Cos) 391 + Store 390(r013) 392 + 394: 24(fvec2) Load 29(inF0) + 395: 24(fvec2) ExtInst 1(GLSL.std.450) 20(Cosh) 394 + Store 393(r015) 395 + 399: 356(ivec2) BitCount 398 + Store 396(r016) 399 + 401: 24(fvec2) Load 29(inF0) + 402: 24(fvec2) DPdx 401 + Store 400(r017) 402 + 404: 24(fvec2) Load 29(inF0) + 405: 24(fvec2) DPdxCoarse 404 + Store 403(r018) 405 + 407: 24(fvec2) Load 29(inF0) + 408: 24(fvec2) DPdxFine 407 + Store 406(r019) 408 + 410: 24(fvec2) Load 29(inF0) + 411: 24(fvec2) DPdy 410 + Store 409(r020) 411 + 413: 24(fvec2) Load 29(inF0) + 414: 24(fvec2) DPdyCoarse 413 + Store 412(r021) 414 + 416: 24(fvec2) Load 29(inF0) + 417: 24(fvec2) DPdyFine 416 + Store 415(r022) 417 + 419: 24(fvec2) Load 29(inF0) + 420: 24(fvec2) ExtInst 1(GLSL.std.450) 12(Degrees) 419 + Store 418(r023) 420 422: 24(fvec2) Load 29(inF0) 423: 24(fvec2) Load 30(inF1) - 424: 6(float) Dot 422 423 - Store 421(r027) 424 + 424: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 422 423 + Store 421(r026) 424 426: 24(fvec2) Load 29(inF0) - 427: 24(fvec2) ExtInst 1(GLSL.std.450) 27(Exp) 426 - Store 425(r028) 427 - 429: 24(fvec2) Load 29(inF0) - 430: 24(fvec2) ExtInst 1(GLSL.std.450) 29(Exp2) 429 - Store 428(r029) 430 - 432: 24(fvec2) Load 29(inF0) - 433: 24(fvec2) Load 30(inF1) - 434: 24(fvec2) Load 31(inF2) - 435: 24(fvec2) ExtInst 1(GLSL.std.450) 70(FaceForward) 432 433 434 - Store 431(r030) 435 - 440: 26(ivec2) ExtInst 1(GLSL.std.450) 75(FindUMsb) 439 - Store 436(r031) 440 - 442: 26(ivec2) ExtInst 1(GLSL.std.450) 73(FindILsb) 439 - Store 441(r032) 442 - 444: 24(fvec2) Load 29(inF0) - 445: 24(fvec2) ExtInst 1(GLSL.std.450) 8(Floor) 444 - Store 443(r033) 445 - 447: 24(fvec2) Load 29(inF0) - 448: 24(fvec2) Load 30(inF1) - 449: 24(fvec2) FMod 447 448 - Store 446(r035) 449 + 427: 24(fvec2) Load 30(inF1) + 428: 6(float) Dot 426 427 + Store 425(r027) 428 + 430: 24(fvec2) Load 29(inF0) + 431: 24(fvec2) ExtInst 1(GLSL.std.450) 27(Exp) 430 + Store 429(r028) 431 + 433: 24(fvec2) Load 29(inF0) + 434: 24(fvec2) ExtInst 1(GLSL.std.450) 29(Exp2) 433 + Store 432(r029) 434 + 436: 24(fvec2) Load 29(inF0) + 437: 24(fvec2) Load 30(inF1) + 438: 24(fvec2) Load 31(inF2) + 439: 24(fvec2) ExtInst 1(GLSL.std.450) 70(FaceForward) 436 437 438 + Store 435(r030) 439 + 444: 26(ivec2) ExtInst 1(GLSL.std.450) 75(FindUMsb) 443 + Store 440(r031) 444 + 446: 26(ivec2) ExtInst 1(GLSL.std.450) 73(FindILsb) 443 + Store 445(r032) 446 + 448: 24(fvec2) Load 29(inF0) + 449: 24(fvec2) ExtInst 1(GLSL.std.450) 8(Floor) 448 + Store 447(r033) 449 451: 24(fvec2) Load 29(inF0) - 452: 24(fvec2) ExtInst 1(GLSL.std.450) 10(Fract) 451 - Store 450(r036) 452 - 454: 24(fvec2) Load 29(inF0) - 456:455(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 454 - 457: 352(ivec2) CompositeExtract 456 1 - Store 30(inF1) 457 - 458: 24(fvec2) CompositeExtract 456 0 - Store 453(r037) 458 - 460: 24(fvec2) Load 29(inF0) - 461: 24(fvec2) Fwidth 460 - Store 459(r038) 461 + 452: 24(fvec2) Load 30(inF1) + 453: 24(fvec2) FMod 451 452 + Store 450(r035) 453 + 455: 24(fvec2) Load 29(inF0) + 456: 24(fvec2) ExtInst 1(GLSL.std.450) 10(Fract) 455 + Store 454(r036) 456 + 458: 24(fvec2) Load 29(inF0) + 460:459(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 458 + 461: 356(ivec2) CompositeExtract 460 1 + Store 30(inF1) 461 + 462: 24(fvec2) CompositeExtract 460 0 + Store 457(r037) 462 464: 24(fvec2) Load 29(inF0) - 465: 380(bvec2) IsInf 464 - Store 463(r039) 465 - 467: 24(fvec2) Load 29(inF0) - 468: 380(bvec2) IsNan 467 - Store 466(r040) 468 - 470: 24(fvec2) Load 29(inF0) - 471: 24(fvec2) Load 30(inF1) - 472: 24(fvec2) ExtInst 1(GLSL.std.450) 53(Ldexp) 470 471 - Store 469(r041) 472 + 465: 24(fvec2) Fwidth 464 + Store 463(r038) 465 + 468: 24(fvec2) Load 29(inF0) + 469: 384(bvec2) IsInf 468 + Store 467(r039) 469 + 471: 24(fvec2) Load 29(inF0) + 472: 384(bvec2) IsNan 471 + Store 470(r040) 472 474: 24(fvec2) Load 29(inF0) 475: 24(fvec2) Load 30(inF1) - 476: 24(fvec2) Load 31(inF2) - 477: 24(fvec2) ExtInst 1(GLSL.std.450) 46(FMix) 474 475 476 - Store 473(r039a) 477 - 479: 24(fvec2) Load 29(inF0) - 480: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 479 - Store 478(r042) 480 - 482: 24(fvec2) Load 29(inF0) - 483: 24(fvec2) ExtInst 1(GLSL.std.450) 28(Log) 482 - Store 481(r043) 483 - 485: 24(fvec2) Load 29(inF0) - 486: 24(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 485 - 487: 24(fvec2) VectorTimesScalar 486 262 - Store 484(r044) 487 + 476: 24(fvec2) ExtInst 1(GLSL.std.450) 53(Ldexp) 474 475 + Store 473(r041) 476 + 478: 24(fvec2) Load 29(inF0) + 479: 24(fvec2) Load 30(inF1) + 480: 24(fvec2) Load 31(inF2) + 481: 24(fvec2) ExtInst 1(GLSL.std.450) 46(FMix) 478 479 480 + Store 477(r039a) 481 + 483: 24(fvec2) Load 29(inF0) + 484: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 483 + Store 482(r042) 484 + 486: 24(fvec2) Load 29(inF0) + 487: 24(fvec2) ExtInst 1(GLSL.std.450) 28(Log) 486 + Store 485(r043) 487 489: 24(fvec2) Load 29(inF0) 490: 24(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 489 - Store 488(r045) 490 - 492: 24(fvec2) Load 29(inF0) - 493: 24(fvec2) Load 30(inF1) - 494: 24(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 492 493 - Store 491(r046) 494 + 491: 24(fvec2) VectorTimesScalar 490 266 + Store 488(r044) 491 + 493: 24(fvec2) Load 29(inF0) + 494: 24(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 493 + Store 492(r045) 494 496: 24(fvec2) Load 29(inF0) 497: 24(fvec2) Load 30(inF1) - 498: 24(fvec2) ExtInst 1(GLSL.std.450) 37(FMin) 496 497 - Store 495(r047) 498 + 498: 24(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 496 497 + Store 495(r046) 498 500: 24(fvec2) Load 29(inF0) - 501: 24(fvec2) ExtInst 1(GLSL.std.450) 69(Normalize) 500 - Store 499(r048) 501 - 503: 24(fvec2) Load 29(inF0) - 504: 24(fvec2) Load 30(inF1) - 505: 24(fvec2) ExtInst 1(GLSL.std.450) 26(Pow) 503 504 - Store 502(r049) 505 + 501: 24(fvec2) Load 30(inF1) + 502: 24(fvec2) ExtInst 1(GLSL.std.450) 37(FMin) 500 501 + Store 499(r047) 502 + 504: 24(fvec2) Load 29(inF0) + 505: 24(fvec2) ExtInst 1(GLSL.std.450) 69(Normalize) 504 + Store 503(r048) 505 507: 24(fvec2) Load 29(inF0) - 508: 24(fvec2) ExtInst 1(GLSL.std.450) 11(Radians) 507 - Store 506(r050) 508 - 510: 24(fvec2) Load 29(inF0) - 511: 24(fvec2) CompositeConstruct 283 283 - 512: 24(fvec2) FDiv 511 510 - Store 509(r051) 512 + 508: 24(fvec2) Load 30(inF1) + 509: 24(fvec2) ExtInst 1(GLSL.std.450) 26(Pow) 507 508 + Store 506(r049) 509 + 511: 24(fvec2) Load 29(inF0) + 512: 24(fvec2) ExtInst 1(GLSL.std.450) 11(Radians) 511 + Store 510(r050) 512 514: 24(fvec2) Load 29(inF0) - 515: 24(fvec2) Load 30(inF1) - 516: 24(fvec2) ExtInst 1(GLSL.std.450) 71(Reflect) 514 515 - Store 513(r052) 516 + 515: 24(fvec2) CompositeConstruct 287 287 + 516: 24(fvec2) FDiv 515 514 + Store 513(r051) 516 518: 24(fvec2) Load 29(inF0) 519: 24(fvec2) Load 30(inF1) - 521: 24(fvec2) ExtInst 1(GLSL.std.450) 72(Refract) 518 519 520 - Store 517(r053) 521 - 526: 26(ivec2) BitReverse 525 - Store 522(r054) 526 - 528: 24(fvec2) Load 29(inF0) - 529: 24(fvec2) ExtInst 1(GLSL.std.450) 2(RoundEven) 528 - Store 527(r055) 529 - 531: 24(fvec2) Load 29(inF0) - 532: 24(fvec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 531 - Store 530(r056) 532 - 534: 24(fvec2) Load 29(inF0) - 535: 24(fvec2) CompositeConstruct 175 175 - 536: 24(fvec2) CompositeConstruct 283 283 - 537: 24(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 534 535 536 - Store 533(r057) 537 - 539: 24(fvec2) Load 29(inF0) - 540: 24(fvec2) ExtInst 1(GLSL.std.450) 6(FSign) 539 - Store 538(r058) 540 - 542: 24(fvec2) Load 29(inF0) - 543: 24(fvec2) ExtInst 1(GLSL.std.450) 13(Sin) 542 - Store 541(r059) 543 - 544: 24(fvec2) Load 29(inF0) - 545: 24(fvec2) ExtInst 1(GLSL.std.450) 13(Sin) 544 - Store 30(inF1) 545 + 520: 24(fvec2) ExtInst 1(GLSL.std.450) 71(Reflect) 518 519 + Store 517(r052) 520 + 522: 24(fvec2) Load 29(inF0) + 523: 24(fvec2) Load 30(inF1) + 525: 24(fvec2) ExtInst 1(GLSL.std.450) 72(Refract) 522 523 524 + Store 521(r053) 525 + 530: 26(ivec2) BitReverse 529 + Store 526(r054) 530 + 532: 24(fvec2) Load 29(inF0) + 533: 24(fvec2) ExtInst 1(GLSL.std.450) 2(RoundEven) 532 + Store 531(r055) 533 + 535: 24(fvec2) Load 29(inF0) + 536: 24(fvec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 535 + Store 534(r056) 536 + 538: 24(fvec2) Load 29(inF0) + 539: 24(fvec2) CompositeConstruct 179 179 + 540: 24(fvec2) CompositeConstruct 287 287 + 541: 24(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 538 539 540 + Store 537(r057) 541 + 543: 24(fvec2) Load 29(inF0) + 544: 24(fvec2) ExtInst 1(GLSL.std.450) 6(FSign) 543 + Store 542(r058) 544 546: 24(fvec2) Load 29(inF0) - 547: 24(fvec2) ExtInst 1(GLSL.std.450) 14(Cos) 546 - Store 31(inF2) 547 - 549: 24(fvec2) Load 29(inF0) - 550: 24(fvec2) ExtInst 1(GLSL.std.450) 19(Sinh) 549 - Store 548(r060) 550 - 552: 24(fvec2) Load 29(inF0) - 553: 24(fvec2) Load 30(inF1) - 554: 24(fvec2) Load 31(inF2) - 555: 24(fvec2) ExtInst 1(GLSL.std.450) 49(SmoothStep) 552 553 554 - Store 551(r061) 555 - 557: 24(fvec2) Load 29(inF0) - 558: 24(fvec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 557 - Store 556(r062) 558 - 560: 24(fvec2) Load 29(inF0) - 561: 24(fvec2) Load 30(inF1) - 562: 24(fvec2) ExtInst 1(GLSL.std.450) 48(Step) 560 561 - Store 559(r063) 562 + 547: 24(fvec2) ExtInst 1(GLSL.std.450) 13(Sin) 546 + Store 545(r059) 547 + 548: 24(fvec2) Load 29(inF0) + 549: 24(fvec2) ExtInst 1(GLSL.std.450) 13(Sin) 548 + Store 30(inF1) 549 + 550: 24(fvec2) Load 29(inF0) + 551: 24(fvec2) ExtInst 1(GLSL.std.450) 14(Cos) 550 + Store 31(inF2) 551 + 553: 24(fvec2) Load 29(inF0) + 554: 24(fvec2) ExtInst 1(GLSL.std.450) 19(Sinh) 553 + Store 552(r060) 554 + 556: 24(fvec2) Load 29(inF0) + 557: 24(fvec2) Load 30(inF1) + 558: 24(fvec2) Load 31(inF2) + 559: 24(fvec2) ExtInst 1(GLSL.std.450) 49(SmoothStep) 556 557 558 + Store 555(r061) 559 + 561: 24(fvec2) Load 29(inF0) + 562: 24(fvec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 561 + Store 560(r062) 562 564: 24(fvec2) Load 29(inF0) - 565: 24(fvec2) ExtInst 1(GLSL.std.450) 15(Tan) 564 - Store 563(r064) 565 - 567: 24(fvec2) Load 29(inF0) - 568: 24(fvec2) ExtInst 1(GLSL.std.450) 21(Tanh) 567 - Store 566(r065) 568 - 570: 24(fvec2) Load 29(inF0) - 571: 24(fvec2) ExtInst 1(GLSL.std.450) 3(Trunc) 570 - Store 569(r066) 571 - ReturnValue 572 + 565: 24(fvec2) Load 30(inF1) + 566: 24(fvec2) ExtInst 1(GLSL.std.450) 48(Step) 564 565 + Store 563(r063) 566 + 568: 24(fvec2) Load 29(inF0) + 569: 24(fvec2) ExtInst 1(GLSL.std.450) 15(Tan) 568 + Store 567(r064) 569 + 571: 24(fvec2) Load 29(inF0) + 572: 24(fvec2) ExtInst 1(GLSL.std.450) 21(Tanh) 571 + Store 570(r065) 572 + 574: 24(fvec2) Load 29(inF0) + 575: 24(fvec2) ExtInst 1(GLSL.std.450) 3(Trunc) 574 + Store 573(r066) 575 + ReturnValue 576 FunctionEnd 46(PixelShaderFunction3(vf3;vf3;vf3;vu3;vu3;): 36(fvec3) Function None 40 41(inF0): 37(ptr) FunctionParameter @@ -6853,306 +6858,306 @@ gl_FragCoord origin is upper left 44(inU0): 39(ptr) FunctionParameter 45(inU1): 39(ptr) FunctionParameter 47: Label - 575(r000): 132(ptr) Variable Function - 578(r001): 37(ptr) Variable Function - 581(r002): 37(ptr) Variable Function - 584(r003): 132(ptr) Variable Function - 587(r004): 37(ptr) Variable Function - 592(r005): 591(ptr) Variable Function - 595(r006): 39(ptr) Variable Function - 598(r007): 37(ptr) Variable Function - 601(r009): 37(ptr) Variable Function - 604(r010): 37(ptr) Variable Function - 608(r011): 37(ptr) Variable Function - 611(r012): 37(ptr) Variable Function - 624(r013): 37(ptr) Variable Function - 627(r014): 37(ptr) Variable Function - 630(r015): 39(ptr) Variable Function - 635(r016): 37(ptr) Variable Function - 639(r017): 37(ptr) Variable Function - 642(r018): 37(ptr) Variable Function - 645(r019): 37(ptr) Variable Function - 648(r020): 37(ptr) Variable Function - 651(r021): 37(ptr) Variable Function - 654(r022): 37(ptr) Variable Function - 657(r023): 37(ptr) Variable Function - 660(r024): 7(ptr) Variable Function - 664(r025): 7(ptr) Variable Function - 668(r029): 37(ptr) Variable Function - 671(r030): 37(ptr) Variable Function - 674(r031): 37(ptr) Variable Function - 679(r032): 39(ptr) Variable Function - 683(r033): 39(ptr) Variable Function - 685(r034): 37(ptr) Variable Function - 688(r036): 37(ptr) Variable Function - 692(r037): 37(ptr) Variable Function - 695(r038): 37(ptr) Variable Function - 701(r039): 37(ptr) Variable Function - 705(r040): 704(ptr) Variable Function - 708(r041): 704(ptr) Variable Function - 711(r042): 37(ptr) Variable Function - 715(r039a): 37(ptr) Variable Function - 720(r039b): 37(ptr) Variable Function - 726(r043): 7(ptr) Variable Function - 729(r044): 37(ptr) Variable Function - 732(r045): 37(ptr) Variable Function - 736(r046): 37(ptr) Variable Function - 739(r047): 37(ptr) Variable Function - 743(r048): 37(ptr) Variable Function - 747(r049): 37(ptr) Variable Function - 750(r050): 37(ptr) Variable Function - 754(r051): 37(ptr) Variable Function - 757(r052): 37(ptr) Variable Function - 761(r053): 37(ptr) Variable Function - 765(r054): 37(ptr) Variable Function - 769(r055): 39(ptr) Variable Function - 772(r056): 37(ptr) Variable Function - 775(r057): 37(ptr) Variable Function - 778(r058): 37(ptr) Variable Function - 783(r059): 37(ptr) Variable Function - 786(r060): 37(ptr) Variable Function - 793(r061): 37(ptr) Variable Function - 796(r062): 37(ptr) Variable Function - 801(r063): 37(ptr) Variable Function - 804(r064): 37(ptr) Variable Function - 808(r065): 37(ptr) Variable Function - 811(r066): 37(ptr) Variable Function - 814(r067): 37(ptr) Variable Function - 576: 36(fvec3) Load 41(inF0) - 577: 131(bool) All 576 - Store 575(r000) 577 - 579: 36(fvec3) Load 41(inF0) - 580: 36(fvec3) ExtInst 1(GLSL.std.450) 4(FAbs) 579 - Store 578(r001) 580 - 582: 36(fvec3) Load 41(inF0) - 583: 36(fvec3) ExtInst 1(GLSL.std.450) 17(Acos) 582 - Store 581(r002) 583 - 585: 36(fvec3) Load 41(inF0) - 586: 131(bool) Any 585 - Store 584(r003) 586 - 588: 36(fvec3) Load 41(inF0) - 589: 36(fvec3) ExtInst 1(GLSL.std.450) 16(Asin) 588 - Store 587(r004) 589 - 593: 36(fvec3) Load 41(inF0) - 594: 590(ivec3) Bitcast 593 - Store 592(r005) 594 - 596: 36(fvec3) Load 41(inF0) - 597: 38(ivec3) Bitcast 596 - Store 595(r006) 597 - 599: 38(ivec3) Load 44(inU0) - 600: 36(fvec3) Bitcast 599 - Store 598(r007) 600 - 602: 36(fvec3) Load 41(inF0) - 603: 36(fvec3) ExtInst 1(GLSL.std.450) 18(Atan) 602 - Store 601(r009) 603 - 605: 36(fvec3) Load 41(inF0) - 606: 36(fvec3) Load 42(inF1) - 607: 36(fvec3) ExtInst 1(GLSL.std.450) 25(Atan2) 605 606 - Store 604(r010) 607 + 579(r000): 136(ptr) Variable Function + 582(r001): 37(ptr) Variable Function + 585(r002): 37(ptr) Variable Function + 588(r003): 136(ptr) Variable Function + 591(r004): 37(ptr) Variable Function + 596(r005): 595(ptr) Variable Function + 599(r006): 39(ptr) Variable Function + 602(r007): 37(ptr) Variable Function + 605(r009): 37(ptr) Variable Function + 608(r010): 37(ptr) Variable Function + 612(r011): 37(ptr) Variable Function + 615(r012): 37(ptr) Variable Function + 628(r013): 37(ptr) Variable Function + 631(r014): 37(ptr) Variable Function + 634(r015): 39(ptr) Variable Function + 639(r016): 37(ptr) Variable Function + 643(r017): 37(ptr) Variable Function + 646(r018): 37(ptr) Variable Function + 649(r019): 37(ptr) Variable Function + 652(r020): 37(ptr) Variable Function + 655(r021): 37(ptr) Variable Function + 658(r022): 37(ptr) Variable Function + 661(r023): 37(ptr) Variable Function + 664(r024): 7(ptr) Variable Function + 668(r025): 7(ptr) Variable Function + 672(r029): 37(ptr) Variable Function + 675(r030): 37(ptr) Variable Function + 678(r031): 37(ptr) Variable Function + 683(r032): 39(ptr) Variable Function + 687(r033): 39(ptr) Variable Function + 689(r034): 37(ptr) Variable Function + 692(r036): 37(ptr) Variable Function + 696(r037): 37(ptr) Variable Function + 699(r038): 37(ptr) Variable Function + 705(r039): 37(ptr) Variable Function + 709(r040): 708(ptr) Variable Function + 712(r041): 708(ptr) Variable Function + 715(r042): 37(ptr) Variable Function + 719(r039a): 37(ptr) Variable Function + 724(r039b): 37(ptr) Variable Function + 730(r043): 7(ptr) Variable Function + 733(r044): 37(ptr) Variable Function + 736(r045): 37(ptr) Variable Function + 740(r046): 37(ptr) Variable Function + 743(r047): 37(ptr) Variable Function + 747(r048): 37(ptr) Variable Function + 751(r049): 37(ptr) Variable Function + 754(r050): 37(ptr) Variable Function + 758(r051): 37(ptr) Variable Function + 761(r052): 37(ptr) Variable Function + 765(r053): 37(ptr) Variable Function + 769(r054): 37(ptr) Variable Function + 773(r055): 39(ptr) Variable Function + 776(r056): 37(ptr) Variable Function + 779(r057): 37(ptr) Variable Function + 782(r058): 37(ptr) Variable Function + 787(r059): 37(ptr) Variable Function + 790(r060): 37(ptr) Variable Function + 797(r061): 37(ptr) Variable Function + 800(r062): 37(ptr) Variable Function + 805(r063): 37(ptr) Variable Function + 808(r064): 37(ptr) Variable Function + 812(r065): 37(ptr) Variable Function + 815(r066): 37(ptr) Variable Function + 818(r067): 37(ptr) Variable Function + 580: 36(fvec3) Load 41(inF0) + 581: 135(bool) All 580 + Store 579(r000) 581 + 583: 36(fvec3) Load 41(inF0) + 584: 36(fvec3) ExtInst 1(GLSL.std.450) 4(FAbs) 583 + Store 582(r001) 584 + 586: 36(fvec3) Load 41(inF0) + 587: 36(fvec3) ExtInst 1(GLSL.std.450) 17(Acos) 586 + Store 585(r002) 587 + 589: 36(fvec3) Load 41(inF0) + 590: 135(bool) Any 589 + Store 588(r003) 590 + 592: 36(fvec3) Load 41(inF0) + 593: 36(fvec3) ExtInst 1(GLSL.std.450) 16(Asin) 592 + Store 591(r004) 593 + 597: 36(fvec3) Load 41(inF0) + 598: 594(ivec3) Bitcast 597 + Store 596(r005) 598 + 600: 36(fvec3) Load 41(inF0) + 601: 38(ivec3) Bitcast 600 + Store 599(r006) 601 + 603: 38(ivec3) Load 44(inU0) + 604: 36(fvec3) Bitcast 603 + Store 602(r007) 604 + 606: 36(fvec3) Load 41(inF0) + 607: 36(fvec3) ExtInst 1(GLSL.std.450) 18(Atan) 606 + Store 605(r009) 607 609: 36(fvec3) Load 41(inF0) - 610: 36(fvec3) ExtInst 1(GLSL.std.450) 9(Ceil) 609 - Store 608(r011) 610 - 612: 36(fvec3) Load 41(inF0) - 613: 36(fvec3) Load 42(inF1) - 614: 36(fvec3) Load 43(inF2) - 615: 36(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 612 613 614 - Store 611(r012) 615 + 610: 36(fvec3) Load 42(inF1) + 611: 36(fvec3) ExtInst 1(GLSL.std.450) 25(Atan2) 609 610 + Store 608(r010) 611 + 613: 36(fvec3) Load 41(inF0) + 614: 36(fvec3) ExtInst 1(GLSL.std.450) 9(Ceil) 613 + Store 612(r011) 614 616: 36(fvec3) Load 41(inF0) - 619: 618(bvec3) FOrdLessThan 616 617 - 620: 131(bool) Any 619 - SelectionMerge 622 None - BranchConditional 620 621 622 - 621: Label + 617: 36(fvec3) Load 42(inF1) + 618: 36(fvec3) Load 43(inF2) + 619: 36(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 616 617 618 + Store 615(r012) 619 + 620: 36(fvec3) Load 41(inF0) + 623: 622(bvec3) FOrdLessThan 620 621 + 624: 135(bool) Any 623 + SelectionMerge 626 None + BranchConditional 624 625 626 + 625: Label Kill - 622: Label - 625: 36(fvec3) Load 41(inF0) - 626: 36(fvec3) ExtInst 1(GLSL.std.450) 14(Cos) 625 - Store 624(r013) 626 - 628: 36(fvec3) Load 41(inF0) - 629: 36(fvec3) ExtInst 1(GLSL.std.450) 20(Cosh) 628 - Store 627(r014) 629 - 634: 38(ivec3) BitCount 633 - Store 630(r015) 634 - 636: 36(fvec3) Load 41(inF0) - 637: 36(fvec3) Load 42(inF1) - 638: 36(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 636 637 - Store 635(r016) 638 + 626: Label + 629: 36(fvec3) Load 41(inF0) + 630: 36(fvec3) ExtInst 1(GLSL.std.450) 14(Cos) 629 + Store 628(r013) 630 + 632: 36(fvec3) Load 41(inF0) + 633: 36(fvec3) ExtInst 1(GLSL.std.450) 20(Cosh) 632 + Store 631(r014) 633 + 638: 38(ivec3) BitCount 637 + Store 634(r015) 638 640: 36(fvec3) Load 41(inF0) - 641: 36(fvec3) DPdx 640 - Store 639(r017) 641 - 643: 36(fvec3) Load 41(inF0) - 644: 36(fvec3) DPdxCoarse 643 - Store 642(r018) 644 - 646: 36(fvec3) Load 41(inF0) - 647: 36(fvec3) DPdxFine 646 - Store 645(r019) 647 - 649: 36(fvec3) Load 41(inF0) - 650: 36(fvec3) DPdy 649 - Store 648(r020) 650 - 652: 36(fvec3) Load 41(inF0) - 653: 36(fvec3) DPdyCoarse 652 - Store 651(r021) 653 - 655: 36(fvec3) Load 41(inF0) - 656: 36(fvec3) DPdyFine 655 - Store 654(r022) 656 - 658: 36(fvec3) Load 41(inF0) - 659: 36(fvec3) ExtInst 1(GLSL.std.450) 12(Degrees) 658 - Store 657(r023) 659 - 661: 36(fvec3) Load 41(inF0) - 662: 36(fvec3) Load 42(inF1) - 663: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 661 662 - Store 660(r024) 663 + 641: 36(fvec3) Load 42(inF1) + 642: 36(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 640 641 + Store 639(r016) 642 + 644: 36(fvec3) Load 41(inF0) + 645: 36(fvec3) DPdx 644 + Store 643(r017) 645 + 647: 36(fvec3) Load 41(inF0) + 648: 36(fvec3) DPdxCoarse 647 + Store 646(r018) 648 + 650: 36(fvec3) Load 41(inF0) + 651: 36(fvec3) DPdxFine 650 + Store 649(r019) 651 + 653: 36(fvec3) Load 41(inF0) + 654: 36(fvec3) DPdy 653 + Store 652(r020) 654 + 656: 36(fvec3) Load 41(inF0) + 657: 36(fvec3) DPdyCoarse 656 + Store 655(r021) 657 + 659: 36(fvec3) Load 41(inF0) + 660: 36(fvec3) DPdyFine 659 + Store 658(r022) 660 + 662: 36(fvec3) Load 41(inF0) + 663: 36(fvec3) ExtInst 1(GLSL.std.450) 12(Degrees) 662 + Store 661(r023) 663 665: 36(fvec3) Load 41(inF0) 666: 36(fvec3) Load 42(inF1) - 667: 6(float) Dot 665 666 - Store 664(r025) 667 + 667: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 665 666 + Store 664(r024) 667 669: 36(fvec3) Load 41(inF0) - 670: 36(fvec3) ExtInst 1(GLSL.std.450) 27(Exp) 669 - Store 668(r029) 670 - 672: 36(fvec3) Load 41(inF0) - 673: 36(fvec3) ExtInst 1(GLSL.std.450) 29(Exp2) 672 - Store 671(r030) 673 - 675: 36(fvec3) Load 41(inF0) - 676: 36(fvec3) Load 42(inF1) - 677: 36(fvec3) Load 43(inF2) - 678: 36(fvec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 675 676 677 - Store 674(r031) 678 - 682: 38(ivec3) ExtInst 1(GLSL.std.450) 75(FindUMsb) 681 - Store 679(r032) 682 - 684: 38(ivec3) ExtInst 1(GLSL.std.450) 73(FindILsb) 681 - Store 683(r033) 684 - 686: 36(fvec3) Load 41(inF0) - 687: 36(fvec3) ExtInst 1(GLSL.std.450) 8(Floor) 686 - Store 685(r034) 687 - 689: 36(fvec3) Load 41(inF0) - 690: 36(fvec3) Load 42(inF1) - 691: 36(fvec3) FMod 689 690 - Store 688(r036) 691 + 670: 36(fvec3) Load 42(inF1) + 671: 6(float) Dot 669 670 + Store 668(r025) 671 + 673: 36(fvec3) Load 41(inF0) + 674: 36(fvec3) ExtInst 1(GLSL.std.450) 27(Exp) 673 + Store 672(r029) 674 + 676: 36(fvec3) Load 41(inF0) + 677: 36(fvec3) ExtInst 1(GLSL.std.450) 29(Exp2) 676 + Store 675(r030) 677 + 679: 36(fvec3) Load 41(inF0) + 680: 36(fvec3) Load 42(inF1) + 681: 36(fvec3) Load 43(inF2) + 682: 36(fvec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 679 680 681 + Store 678(r031) 682 + 686: 38(ivec3) ExtInst 1(GLSL.std.450) 75(FindUMsb) 685 + Store 683(r032) 686 + 688: 38(ivec3) ExtInst 1(GLSL.std.450) 73(FindILsb) 685 + Store 687(r033) 688 + 690: 36(fvec3) Load 41(inF0) + 691: 36(fvec3) ExtInst 1(GLSL.std.450) 8(Floor) 690 + Store 689(r034) 691 693: 36(fvec3) Load 41(inF0) - 694: 36(fvec3) ExtInst 1(GLSL.std.450) 10(Fract) 693 - Store 692(r037) 694 - 696: 36(fvec3) Load 41(inF0) - 698:697(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 696 - 699: 590(ivec3) CompositeExtract 698 1 - Store 42(inF1) 699 - 700: 36(fvec3) CompositeExtract 698 0 - Store 695(r038) 700 - 702: 36(fvec3) Load 41(inF0) - 703: 36(fvec3) Fwidth 702 - Store 701(r039) 703 + 694: 36(fvec3) Load 42(inF1) + 695: 36(fvec3) FMod 693 694 + Store 692(r036) 695 + 697: 36(fvec3) Load 41(inF0) + 698: 36(fvec3) ExtInst 1(GLSL.std.450) 10(Fract) 697 + Store 696(r037) 698 + 700: 36(fvec3) Load 41(inF0) + 702:701(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 700 + 703: 594(ivec3) CompositeExtract 702 1 + Store 42(inF1) 703 + 704: 36(fvec3) CompositeExtract 702 0 + Store 699(r038) 704 706: 36(fvec3) Load 41(inF0) - 707: 618(bvec3) IsInf 706 - Store 705(r040) 707 - 709: 36(fvec3) Load 41(inF0) - 710: 618(bvec3) IsNan 709 - Store 708(r041) 710 - 712: 36(fvec3) Load 41(inF0) - 713: 36(fvec3) Load 42(inF1) - 714: 36(fvec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 712 713 - Store 711(r042) 714 + 707: 36(fvec3) Fwidth 706 + Store 705(r039) 707 + 710: 36(fvec3) Load 41(inF0) + 711: 622(bvec3) IsInf 710 + Store 709(r040) 711 + 713: 36(fvec3) Load 41(inF0) + 714: 622(bvec3) IsNan 713 + Store 712(r041) 714 716: 36(fvec3) Load 41(inF0) 717: 36(fvec3) Load 42(inF1) - 718: 36(fvec3) Load 43(inF2) - 719: 36(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 716 717 718 - Store 715(r039a) 719 - 721: 36(fvec3) Load 41(inF0) - 722: 36(fvec3) Load 42(inF1) - 724: 36(fvec3) CompositeConstruct 723 723 723 - 725: 36(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 721 722 724 - Store 720(r039b) 725 - 727: 36(fvec3) Load 41(inF0) - 728: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 727 - Store 726(r043) 728 - 730: 36(fvec3) Load 41(inF0) - 731: 36(fvec3) ExtInst 1(GLSL.std.450) 28(Log) 730 - Store 729(r044) 731 - 733: 36(fvec3) Load 41(inF0) - 734: 36(fvec3) ExtInst 1(GLSL.std.450) 30(Log2) 733 - 735: 36(fvec3) VectorTimesScalar 734 262 - Store 732(r045) 735 + 718: 36(fvec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 716 717 + Store 715(r042) 718 + 720: 36(fvec3) Load 41(inF0) + 721: 36(fvec3) Load 42(inF1) + 722: 36(fvec3) Load 43(inF2) + 723: 36(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 720 721 722 + Store 719(r039a) 723 + 725: 36(fvec3) Load 41(inF0) + 726: 36(fvec3) Load 42(inF1) + 728: 36(fvec3) CompositeConstruct 727 727 727 + 729: 36(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 725 726 728 + Store 724(r039b) 729 + 731: 36(fvec3) Load 41(inF0) + 732: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 731 + Store 730(r043) 732 + 734: 36(fvec3) Load 41(inF0) + 735: 36(fvec3) ExtInst 1(GLSL.std.450) 28(Log) 734 + Store 733(r044) 735 737: 36(fvec3) Load 41(inF0) 738: 36(fvec3) ExtInst 1(GLSL.std.450) 30(Log2) 737 - Store 736(r046) 738 - 740: 36(fvec3) Load 41(inF0) - 741: 36(fvec3) Load 42(inF1) - 742: 36(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 740 741 - Store 739(r047) 742 + 739: 36(fvec3) VectorTimesScalar 738 266 + Store 736(r045) 739 + 741: 36(fvec3) Load 41(inF0) + 742: 36(fvec3) ExtInst 1(GLSL.std.450) 30(Log2) 741 + Store 740(r046) 742 744: 36(fvec3) Load 41(inF0) 745: 36(fvec3) Load 42(inF1) - 746: 36(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 744 745 - Store 743(r048) 746 + 746: 36(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 744 745 + Store 743(r047) 746 748: 36(fvec3) Load 41(inF0) - 749: 36(fvec3) ExtInst 1(GLSL.std.450) 69(Normalize) 748 - Store 747(r049) 749 - 751: 36(fvec3) Load 41(inF0) - 752: 36(fvec3) Load 42(inF1) - 753: 36(fvec3) ExtInst 1(GLSL.std.450) 26(Pow) 751 752 - Store 750(r050) 753 + 749: 36(fvec3) Load 42(inF1) + 750: 36(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 748 749 + Store 747(r048) 750 + 752: 36(fvec3) Load 41(inF0) + 753: 36(fvec3) ExtInst 1(GLSL.std.450) 69(Normalize) 752 + Store 751(r049) 753 755: 36(fvec3) Load 41(inF0) - 756: 36(fvec3) ExtInst 1(GLSL.std.450) 11(Radians) 755 - Store 754(r051) 756 - 758: 36(fvec3) Load 41(inF0) - 759: 36(fvec3) CompositeConstruct 283 283 283 - 760: 36(fvec3) FDiv 759 758 - Store 757(r052) 760 + 756: 36(fvec3) Load 42(inF1) + 757: 36(fvec3) ExtInst 1(GLSL.std.450) 26(Pow) 755 756 + Store 754(r050) 757 + 759: 36(fvec3) Load 41(inF0) + 760: 36(fvec3) ExtInst 1(GLSL.std.450) 11(Radians) 759 + Store 758(r051) 760 762: 36(fvec3) Load 41(inF0) - 763: 36(fvec3) Load 42(inF1) - 764: 36(fvec3) ExtInst 1(GLSL.std.450) 71(Reflect) 762 763 - Store 761(r053) 764 + 763: 36(fvec3) CompositeConstruct 287 287 287 + 764: 36(fvec3) FDiv 763 762 + Store 761(r052) 764 766: 36(fvec3) Load 41(inF0) 767: 36(fvec3) Load 42(inF1) - 768: 36(fvec3) ExtInst 1(GLSL.std.450) 72(Refract) 766 767 520 - Store 765(r054) 768 - 771: 38(ivec3) BitReverse 770 - Store 769(r055) 771 - 773: 36(fvec3) Load 41(inF0) - 774: 36(fvec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 773 - Store 772(r056) 774 - 776: 36(fvec3) Load 41(inF0) - 777: 36(fvec3) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 776 - Store 775(r057) 777 - 779: 36(fvec3) Load 41(inF0) - 780: 36(fvec3) CompositeConstruct 175 175 175 - 781: 36(fvec3) CompositeConstruct 283 283 283 - 782: 36(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 779 780 781 - Store 778(r058) 782 - 784: 36(fvec3) Load 41(inF0) - 785: 36(fvec3) ExtInst 1(GLSL.std.450) 6(FSign) 784 - Store 783(r059) 785 - 787: 36(fvec3) Load 41(inF0) - 788: 36(fvec3) ExtInst 1(GLSL.std.450) 13(Sin) 787 - Store 786(r060) 788 - 789: 36(fvec3) Load 41(inF0) - 790: 36(fvec3) ExtInst 1(GLSL.std.450) 13(Sin) 789 - Store 42(inF1) 790 + 768: 36(fvec3) ExtInst 1(GLSL.std.450) 71(Reflect) 766 767 + Store 765(r053) 768 + 770: 36(fvec3) Load 41(inF0) + 771: 36(fvec3) Load 42(inF1) + 772: 36(fvec3) ExtInst 1(GLSL.std.450) 72(Refract) 770 771 524 + Store 769(r054) 772 + 775: 38(ivec3) BitReverse 774 + Store 773(r055) 775 + 777: 36(fvec3) Load 41(inF0) + 778: 36(fvec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 777 + Store 776(r056) 778 + 780: 36(fvec3) Load 41(inF0) + 781: 36(fvec3) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 780 + Store 779(r057) 781 + 783: 36(fvec3) Load 41(inF0) + 784: 36(fvec3) CompositeConstruct 179 179 179 + 785: 36(fvec3) CompositeConstruct 287 287 287 + 786: 36(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 783 784 785 + Store 782(r058) 786 + 788: 36(fvec3) Load 41(inF0) + 789: 36(fvec3) ExtInst 1(GLSL.std.450) 6(FSign) 788 + Store 787(r059) 789 791: 36(fvec3) Load 41(inF0) - 792: 36(fvec3) ExtInst 1(GLSL.std.450) 14(Cos) 791 - Store 43(inF2) 792 - 794: 36(fvec3) Load 41(inF0) - 795: 36(fvec3) ExtInst 1(GLSL.std.450) 19(Sinh) 794 - Store 793(r061) 795 - 797: 36(fvec3) Load 41(inF0) - 798: 36(fvec3) Load 42(inF1) - 799: 36(fvec3) Load 43(inF2) - 800: 36(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 797 798 799 - Store 796(r062) 800 - 802: 36(fvec3) Load 41(inF0) - 803: 36(fvec3) ExtInst 1(GLSL.std.450) 31(Sqrt) 802 - Store 801(r063) 803 - 805: 36(fvec3) Load 41(inF0) - 806: 36(fvec3) Load 42(inF1) - 807: 36(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 805 806 - Store 804(r064) 807 + 792: 36(fvec3) ExtInst 1(GLSL.std.450) 13(Sin) 791 + Store 790(r060) 792 + 793: 36(fvec3) Load 41(inF0) + 794: 36(fvec3) ExtInst 1(GLSL.std.450) 13(Sin) 793 + Store 42(inF1) 794 + 795: 36(fvec3) Load 41(inF0) + 796: 36(fvec3) ExtInst 1(GLSL.std.450) 14(Cos) 795 + Store 43(inF2) 796 + 798: 36(fvec3) Load 41(inF0) + 799: 36(fvec3) ExtInst 1(GLSL.std.450) 19(Sinh) 798 + Store 797(r061) 799 + 801: 36(fvec3) Load 41(inF0) + 802: 36(fvec3) Load 42(inF1) + 803: 36(fvec3) Load 43(inF2) + 804: 36(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 801 802 803 + Store 800(r062) 804 + 806: 36(fvec3) Load 41(inF0) + 807: 36(fvec3) ExtInst 1(GLSL.std.450) 31(Sqrt) 806 + Store 805(r063) 807 809: 36(fvec3) Load 41(inF0) - 810: 36(fvec3) ExtInst 1(GLSL.std.450) 15(Tan) 809 - Store 808(r065) 810 - 812: 36(fvec3) Load 41(inF0) - 813: 36(fvec3) ExtInst 1(GLSL.std.450) 21(Tanh) 812 - Store 811(r066) 813 - 815: 36(fvec3) Load 41(inF0) - 816: 36(fvec3) ExtInst 1(GLSL.std.450) 3(Trunc) 815 - Store 814(r067) 816 - ReturnValue 818 + 810: 36(fvec3) Load 42(inF1) + 811: 36(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 809 810 + Store 808(r064) 811 + 813: 36(fvec3) Load 41(inF0) + 814: 36(fvec3) ExtInst 1(GLSL.std.450) 15(Tan) 813 + Store 812(r065) 814 + 816: 36(fvec3) Load 41(inF0) + 817: 36(fvec3) ExtInst 1(GLSL.std.450) 21(Tanh) 816 + Store 815(r066) 817 + 819: 36(fvec3) Load 41(inF0) + 820: 36(fvec3) ExtInst 1(GLSL.std.450) 3(Trunc) 819 + Store 818(r067) 820 + ReturnValue 822 FunctionEnd 58(PixelShaderFunction(vf4;vf4;vf4;vu4;vu4;): 48(fvec4) Function None 52 53(inF0): 49(ptr) FunctionParameter @@ -7161,1018 +7166,1018 @@ gl_FragCoord origin is upper left 56(inU0): 51(ptr) FunctionParameter 57(inU1): 51(ptr) FunctionParameter 59: Label - 821(r000): 132(ptr) Variable Function - 824(r001): 49(ptr) Variable Function - 827(r002): 49(ptr) Variable Function - 830(r003): 132(ptr) Variable Function - 833(r004): 49(ptr) Variable Function - 838(r005): 837(ptr) Variable Function - 841(r006): 51(ptr) Variable Function - 844(r007): 49(ptr) Variable Function - 847(r009): 49(ptr) Variable Function - 850(r010): 49(ptr) Variable Function - 854(r011): 49(ptr) Variable Function - 857(r012): 49(ptr) Variable Function - 870(r013): 49(ptr) Variable Function - 873(r014): 49(ptr) Variable Function - 876(r015): 51(ptr) Variable Function - 879(r016): 49(ptr) Variable Function - 882(r017): 49(ptr) Variable Function - 885(r018): 49(ptr) Variable Function - 888(r019): 49(ptr) Variable Function - 891(r020): 49(ptr) Variable Function - 894(r021): 49(ptr) Variable Function - 897(r022): 49(ptr) Variable Function - 900(r023): 7(ptr) Variable Function - 904(r024): 7(ptr) Variable Function - 908(r025): 49(ptr) Variable Function - 919(r029): 49(ptr) Variable Function - 922(r030): 49(ptr) Variable Function - 925(r031): 49(ptr) Variable Function - 930(r032): 51(ptr) Variable Function - 935(r033): 51(ptr) Variable Function - 937(r034): 49(ptr) Variable Function - 940(r036): 49(ptr) Variable Function - 944(r037): 49(ptr) Variable Function - 947(r038): 49(ptr) Variable Function - 953(r039): 49(ptr) Variable Function - 957(r040): 956(ptr) Variable Function - 960(r041): 956(ptr) Variable Function - 963(r042): 49(ptr) Variable Function - 967(r039a): 49(ptr) Variable Function - 972(r043): 7(ptr) Variable Function - 975(r044): 49(ptr) Variable Function - 978(r045): 49(ptr) Variable Function - 982(r046): 49(ptr) Variable Function - 985(r047): 49(ptr) Variable Function - 989(r048): 49(ptr) Variable Function - 993(r049): 49(ptr) Variable Function - 996(r050): 49(ptr) Variable Function - 1000(r051): 49(ptr) Variable Function - 1003(r052): 49(ptr) Variable Function - 1007(r053): 49(ptr) Variable Function - 1011(r054): 49(ptr) Variable Function - 1015(r055): 51(ptr) Variable Function - 1018(r056): 49(ptr) Variable Function - 1021(r057): 49(ptr) Variable Function - 1024(r058): 49(ptr) Variable Function - 1029(r059): 49(ptr) Variable Function - 1032(r060): 49(ptr) Variable Function - 1039(r061): 49(ptr) Variable Function - 1042(r062): 49(ptr) Variable Function - 1047(r063): 49(ptr) Variable Function - 1050(r064): 49(ptr) Variable Function - 1054(r065): 49(ptr) Variable Function - 1057(r066): 49(ptr) Variable Function - 1060(r067): 49(ptr) Variable Function - 822: 48(fvec4) Load 53(inF0) - 823: 131(bool) All 822 - Store 821(r000) 823 - 825: 48(fvec4) Load 53(inF0) - 826: 48(fvec4) ExtInst 1(GLSL.std.450) 4(FAbs) 825 - Store 824(r001) 826 - 828: 48(fvec4) Load 53(inF0) - 829: 48(fvec4) ExtInst 1(GLSL.std.450) 17(Acos) 828 - Store 827(r002) 829 - 831: 48(fvec4) Load 53(inF0) - 832: 131(bool) Any 831 - Store 830(r003) 832 - 834: 48(fvec4) Load 53(inF0) - 835: 48(fvec4) ExtInst 1(GLSL.std.450) 16(Asin) 834 - Store 833(r004) 835 - 839: 48(fvec4) Load 53(inF0) - 840: 836(ivec4) Bitcast 839 - Store 838(r005) 840 - 842: 48(fvec4) Load 53(inF0) - 843: 50(ivec4) Bitcast 842 - Store 841(r006) 843 - 845: 50(ivec4) Load 56(inU0) - 846: 48(fvec4) Bitcast 845 - Store 844(r007) 846 - 848: 48(fvec4) Load 53(inF0) - 849: 48(fvec4) ExtInst 1(GLSL.std.450) 18(Atan) 848 - Store 847(r009) 849 - 851: 48(fvec4) Load 53(inF0) - 852: 48(fvec4) Load 54(inF1) - 853: 48(fvec4) ExtInst 1(GLSL.std.450) 25(Atan2) 851 852 - Store 850(r010) 853 + 825(r000): 136(ptr) Variable Function + 828(r001): 49(ptr) Variable Function + 831(r002): 49(ptr) Variable Function + 834(r003): 136(ptr) Variable Function + 837(r004): 49(ptr) Variable Function + 842(r005): 841(ptr) Variable Function + 845(r006): 51(ptr) Variable Function + 848(r007): 49(ptr) Variable Function + 851(r009): 49(ptr) Variable Function + 854(r010): 49(ptr) Variable Function + 858(r011): 49(ptr) Variable Function + 861(r012): 49(ptr) Variable Function + 874(r013): 49(ptr) Variable Function + 877(r014): 49(ptr) Variable Function + 880(r015): 51(ptr) Variable Function + 883(r016): 49(ptr) Variable Function + 886(r017): 49(ptr) Variable Function + 889(r018): 49(ptr) Variable Function + 892(r019): 49(ptr) Variable Function + 895(r020): 49(ptr) Variable Function + 898(r021): 49(ptr) Variable Function + 901(r022): 49(ptr) Variable Function + 904(r023): 7(ptr) Variable Function + 908(r024): 7(ptr) Variable Function + 912(r025): 49(ptr) Variable Function + 923(r029): 49(ptr) Variable Function + 926(r030): 49(ptr) Variable Function + 929(r031): 49(ptr) Variable Function + 934(r032): 51(ptr) Variable Function + 939(r033): 51(ptr) Variable Function + 941(r034): 49(ptr) Variable Function + 944(r036): 49(ptr) Variable Function + 948(r037): 49(ptr) Variable Function + 951(r038): 49(ptr) Variable Function + 957(r039): 49(ptr) Variable Function + 961(r040): 960(ptr) Variable Function + 964(r041): 960(ptr) Variable Function + 967(r042): 49(ptr) Variable Function + 971(r039a): 49(ptr) Variable Function + 976(r043): 7(ptr) Variable Function + 979(r044): 49(ptr) Variable Function + 982(r045): 49(ptr) Variable Function + 986(r046): 49(ptr) Variable Function + 989(r047): 49(ptr) Variable Function + 993(r048): 49(ptr) Variable Function + 997(r049): 49(ptr) Variable Function + 1000(r050): 49(ptr) Variable Function + 1004(r051): 49(ptr) Variable Function + 1007(r052): 49(ptr) Variable Function + 1011(r053): 49(ptr) Variable Function + 1015(r054): 49(ptr) Variable Function + 1019(r055): 51(ptr) Variable Function + 1022(r056): 49(ptr) Variable Function + 1025(r057): 49(ptr) Variable Function + 1028(r058): 49(ptr) Variable Function + 1033(r059): 49(ptr) Variable Function + 1036(r060): 49(ptr) Variable Function + 1043(r061): 49(ptr) Variable Function + 1046(r062): 49(ptr) Variable Function + 1051(r063): 49(ptr) Variable Function + 1054(r064): 49(ptr) Variable Function + 1058(r065): 49(ptr) Variable Function + 1061(r066): 49(ptr) Variable Function + 1064(r067): 49(ptr) Variable Function + 826: 48(fvec4) Load 53(inF0) + 827: 135(bool) All 826 + Store 825(r000) 827 + 829: 48(fvec4) Load 53(inF0) + 830: 48(fvec4) ExtInst 1(GLSL.std.450) 4(FAbs) 829 + Store 828(r001) 830 + 832: 48(fvec4) Load 53(inF0) + 833: 48(fvec4) ExtInst 1(GLSL.std.450) 17(Acos) 832 + Store 831(r002) 833 + 835: 48(fvec4) Load 53(inF0) + 836: 135(bool) Any 835 + Store 834(r003) 836 + 838: 48(fvec4) Load 53(inF0) + 839: 48(fvec4) ExtInst 1(GLSL.std.450) 16(Asin) 838 + Store 837(r004) 839 + 843: 48(fvec4) Load 53(inF0) + 844: 840(ivec4) Bitcast 843 + Store 842(r005) 844 + 846: 48(fvec4) Load 53(inF0) + 847: 50(ivec4) Bitcast 846 + Store 845(r006) 847 + 849: 50(ivec4) Load 56(inU0) + 850: 48(fvec4) Bitcast 849 + Store 848(r007) 850 + 852: 48(fvec4) Load 53(inF0) + 853: 48(fvec4) ExtInst 1(GLSL.std.450) 18(Atan) 852 + Store 851(r009) 853 855: 48(fvec4) Load 53(inF0) - 856: 48(fvec4) ExtInst 1(GLSL.std.450) 9(Ceil) 855 - Store 854(r011) 856 - 858: 48(fvec4) Load 53(inF0) - 859: 48(fvec4) Load 54(inF1) - 860: 48(fvec4) Load 55(inF2) - 861: 48(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 858 859 860 - Store 857(r012) 861 + 856: 48(fvec4) Load 54(inF1) + 857: 48(fvec4) ExtInst 1(GLSL.std.450) 25(Atan2) 855 856 + Store 854(r010) 857 + 859: 48(fvec4) Load 53(inF0) + 860: 48(fvec4) ExtInst 1(GLSL.std.450) 9(Ceil) 859 + Store 858(r011) 860 862: 48(fvec4) Load 53(inF0) - 865: 864(bvec4) FOrdLessThan 862 863 - 866: 131(bool) Any 865 - SelectionMerge 868 None - BranchConditional 866 867 868 - 867: Label + 863: 48(fvec4) Load 54(inF1) + 864: 48(fvec4) Load 55(inF2) + 865: 48(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 862 863 864 + Store 861(r012) 865 + 866: 48(fvec4) Load 53(inF0) + 869: 868(bvec4) FOrdLessThan 866 867 + 870: 135(bool) Any 869 + SelectionMerge 872 None + BranchConditional 870 871 872 + 871: Label Kill - 868: Label - 871: 48(fvec4) Load 53(inF0) - 872: 48(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 871 - Store 870(r013) 872 - 874: 48(fvec4) Load 53(inF0) - 875: 48(fvec4) ExtInst 1(GLSL.std.450) 20(Cosh) 874 - Store 873(r014) 875 - 878: 50(ivec4) BitCount 877 - Store 876(r015) 878 - 880: 48(fvec4) Load 53(inF0) - 881: 48(fvec4) DPdx 880 - Store 879(r016) 881 - 883: 48(fvec4) Load 53(inF0) - 884: 48(fvec4) DPdxCoarse 883 - Store 882(r017) 884 - 886: 48(fvec4) Load 53(inF0) - 887: 48(fvec4) DPdxFine 886 - Store 885(r018) 887 - 889: 48(fvec4) Load 53(inF0) - 890: 48(fvec4) DPdy 889 - Store 888(r019) 890 - 892: 48(fvec4) Load 53(inF0) - 893: 48(fvec4) DPdyCoarse 892 - Store 891(r020) 893 - 895: 48(fvec4) Load 53(inF0) - 896: 48(fvec4) DPdyFine 895 - Store 894(r021) 896 - 898: 48(fvec4) Load 53(inF0) - 899: 48(fvec4) ExtInst 1(GLSL.std.450) 12(Degrees) 898 - Store 897(r022) 899 - 901: 48(fvec4) Load 53(inF0) - 902: 48(fvec4) Load 54(inF1) - 903: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 901 902 - Store 900(r023) 903 + 872: Label + 875: 48(fvec4) Load 53(inF0) + 876: 48(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 875 + Store 874(r013) 876 + 878: 48(fvec4) Load 53(inF0) + 879: 48(fvec4) ExtInst 1(GLSL.std.450) 20(Cosh) 878 + Store 877(r014) 879 + 882: 50(ivec4) BitCount 881 + Store 880(r015) 882 + 884: 48(fvec4) Load 53(inF0) + 885: 48(fvec4) DPdx 884 + Store 883(r016) 885 + 887: 48(fvec4) Load 53(inF0) + 888: 48(fvec4) DPdxCoarse 887 + Store 886(r017) 888 + 890: 48(fvec4) Load 53(inF0) + 891: 48(fvec4) DPdxFine 890 + Store 889(r018) 891 + 893: 48(fvec4) Load 53(inF0) + 894: 48(fvec4) DPdy 893 + Store 892(r019) 894 + 896: 48(fvec4) Load 53(inF0) + 897: 48(fvec4) DPdyCoarse 896 + Store 895(r020) 897 + 899: 48(fvec4) Load 53(inF0) + 900: 48(fvec4) DPdyFine 899 + Store 898(r021) 900 + 902: 48(fvec4) Load 53(inF0) + 903: 48(fvec4) ExtInst 1(GLSL.std.450) 12(Degrees) 902 + Store 901(r022) 903 905: 48(fvec4) Load 53(inF0) 906: 48(fvec4) Load 54(inF1) - 907: 6(float) Dot 905 906 - Store 904(r024) 907 - 909: 7(ptr) AccessChain 53(inF0) 523 - 910: 6(float) Load 909 - 911: 7(ptr) AccessChain 54(inF1) 523 - 912: 6(float) Load 911 - 913: 6(float) FMul 910 912 - 914: 7(ptr) AccessChain 53(inF0) 524 - 915: 6(float) Load 914 - 916: 7(ptr) AccessChain 54(inF1) 631 - 917: 6(float) Load 916 - 918: 48(fvec4) CompositeConstruct 283 913 915 917 - Store 908(r025) 918 - 920: 48(fvec4) Load 53(inF0) - 921: 48(fvec4) ExtInst 1(GLSL.std.450) 27(Exp) 920 - Store 919(r029) 921 - 923: 48(fvec4) Load 53(inF0) - 924: 48(fvec4) ExtInst 1(GLSL.std.450) 29(Exp2) 923 - Store 922(r030) 924 - 926: 48(fvec4) Load 53(inF0) - 927: 48(fvec4) Load 54(inF1) - 928: 48(fvec4) Load 55(inF2) - 929: 48(fvec4) ExtInst 1(GLSL.std.450) 70(FaceForward) 926 927 928 - Store 925(r031) 929 - 934: 50(ivec4) ExtInst 1(GLSL.std.450) 75(FindUMsb) 933 - Store 930(r032) 934 - 936: 50(ivec4) ExtInst 1(GLSL.std.450) 73(FindILsb) 933 - Store 935(r033) 936 - 938: 48(fvec4) Load 53(inF0) - 939: 48(fvec4) ExtInst 1(GLSL.std.450) 8(Floor) 938 - Store 937(r034) 939 - 941: 48(fvec4) Load 53(inF0) - 942: 48(fvec4) Load 54(inF1) - 943: 48(fvec4) FMod 941 942 - Store 940(r036) 943 + 907: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 905 906 + Store 904(r023) 907 + 909: 48(fvec4) Load 53(inF0) + 910: 48(fvec4) Load 54(inF1) + 911: 6(float) Dot 909 910 + Store 908(r024) 911 + 913: 7(ptr) AccessChain 53(inF0) 527 + 914: 6(float) Load 913 + 915: 7(ptr) AccessChain 54(inF1) 527 + 916: 6(float) Load 915 + 917: 6(float) FMul 914 916 + 918: 7(ptr) AccessChain 53(inF0) 528 + 919: 6(float) Load 918 + 920: 7(ptr) AccessChain 54(inF1) 635 + 921: 6(float) Load 920 + 922: 48(fvec4) CompositeConstruct 287 917 919 921 + Store 912(r025) 922 + 924: 48(fvec4) Load 53(inF0) + 925: 48(fvec4) ExtInst 1(GLSL.std.450) 27(Exp) 924 + Store 923(r029) 925 + 927: 48(fvec4) Load 53(inF0) + 928: 48(fvec4) ExtInst 1(GLSL.std.450) 29(Exp2) 927 + Store 926(r030) 928 + 930: 48(fvec4) Load 53(inF0) + 931: 48(fvec4) Load 54(inF1) + 932: 48(fvec4) Load 55(inF2) + 933: 48(fvec4) ExtInst 1(GLSL.std.450) 70(FaceForward) 930 931 932 + Store 929(r031) 933 + 938: 50(ivec4) ExtInst 1(GLSL.std.450) 75(FindUMsb) 937 + Store 934(r032) 938 + 940: 50(ivec4) ExtInst 1(GLSL.std.450) 73(FindILsb) 937 + Store 939(r033) 940 + 942: 48(fvec4) Load 53(inF0) + 943: 48(fvec4) ExtInst 1(GLSL.std.450) 8(Floor) 942 + Store 941(r034) 943 945: 48(fvec4) Load 53(inF0) - 946: 48(fvec4) ExtInst 1(GLSL.std.450) 10(Fract) 945 - Store 944(r037) 946 - 948: 48(fvec4) Load 53(inF0) - 950:949(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 948 - 951: 836(ivec4) CompositeExtract 950 1 - Store 54(inF1) 951 - 952: 48(fvec4) CompositeExtract 950 0 - Store 947(r038) 952 - 954: 48(fvec4) Load 53(inF0) - 955: 48(fvec4) Fwidth 954 - Store 953(r039) 955 + 946: 48(fvec4) Load 54(inF1) + 947: 48(fvec4) FMod 945 946 + Store 944(r036) 947 + 949: 48(fvec4) Load 53(inF0) + 950: 48(fvec4) ExtInst 1(GLSL.std.450) 10(Fract) 949 + Store 948(r037) 950 + 952: 48(fvec4) Load 53(inF0) + 954:953(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 952 + 955: 840(ivec4) CompositeExtract 954 1 + Store 54(inF1) 955 + 956: 48(fvec4) CompositeExtract 954 0 + Store 951(r038) 956 958: 48(fvec4) Load 53(inF0) - 959: 864(bvec4) IsInf 958 - Store 957(r040) 959 - 961: 48(fvec4) Load 53(inF0) - 962: 864(bvec4) IsNan 961 - Store 960(r041) 962 - 964: 48(fvec4) Load 53(inF0) - 965: 48(fvec4) Load 54(inF1) - 966: 48(fvec4) ExtInst 1(GLSL.std.450) 53(Ldexp) 964 965 - Store 963(r042) 966 + 959: 48(fvec4) Fwidth 958 + Store 957(r039) 959 + 962: 48(fvec4) Load 53(inF0) + 963: 868(bvec4) IsInf 962 + Store 961(r040) 963 + 965: 48(fvec4) Load 53(inF0) + 966: 868(bvec4) IsNan 965 + Store 964(r041) 966 968: 48(fvec4) Load 53(inF0) 969: 48(fvec4) Load 54(inF1) - 970: 48(fvec4) Load 55(inF2) - 971: 48(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 968 969 970 - Store 967(r039a) 971 - 973: 48(fvec4) Load 53(inF0) - 974: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 973 - Store 972(r043) 974 - 976: 48(fvec4) Load 53(inF0) - 977: 48(fvec4) ExtInst 1(GLSL.std.450) 28(Log) 976 - Store 975(r044) 977 - 979: 48(fvec4) Load 53(inF0) - 980: 48(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 979 - 981: 48(fvec4) VectorTimesScalar 980 262 - Store 978(r045) 981 + 970: 48(fvec4) ExtInst 1(GLSL.std.450) 53(Ldexp) 968 969 + Store 967(r042) 970 + 972: 48(fvec4) Load 53(inF0) + 973: 48(fvec4) Load 54(inF1) + 974: 48(fvec4) Load 55(inF2) + 975: 48(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 972 973 974 + Store 971(r039a) 975 + 977: 48(fvec4) Load 53(inF0) + 978: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 977 + Store 976(r043) 978 + 980: 48(fvec4) Load 53(inF0) + 981: 48(fvec4) ExtInst 1(GLSL.std.450) 28(Log) 980 + Store 979(r044) 981 983: 48(fvec4) Load 53(inF0) 984: 48(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 983 - Store 982(r046) 984 - 986: 48(fvec4) Load 53(inF0) - 987: 48(fvec4) Load 54(inF1) - 988: 48(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 986 987 - Store 985(r047) 988 + 985: 48(fvec4) VectorTimesScalar 984 266 + Store 982(r045) 985 + 987: 48(fvec4) Load 53(inF0) + 988: 48(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 987 + Store 986(r046) 988 990: 48(fvec4) Load 53(inF0) 991: 48(fvec4) Load 54(inF1) - 992: 48(fvec4) ExtInst 1(GLSL.std.450) 37(FMin) 990 991 - Store 989(r048) 992 + 992: 48(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 990 991 + Store 989(r047) 992 994: 48(fvec4) Load 53(inF0) - 995: 48(fvec4) ExtInst 1(GLSL.std.450) 69(Normalize) 994 - Store 993(r049) 995 - 997: 48(fvec4) Load 53(inF0) - 998: 48(fvec4) Load 54(inF1) - 999: 48(fvec4) ExtInst 1(GLSL.std.450) 26(Pow) 997 998 - Store 996(r050) 999 + 995: 48(fvec4) Load 54(inF1) + 996: 48(fvec4) ExtInst 1(GLSL.std.450) 37(FMin) 994 995 + Store 993(r048) 996 + 998: 48(fvec4) Load 53(inF0) + 999: 48(fvec4) ExtInst 1(GLSL.std.450) 69(Normalize) 998 + Store 997(r049) 999 1001: 48(fvec4) Load 53(inF0) - 1002: 48(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 1001 - Store 1000(r051) 1002 - 1004: 48(fvec4) Load 53(inF0) - 1005: 48(fvec4) CompositeConstruct 283 283 283 283 - 1006: 48(fvec4) FDiv 1005 1004 - Store 1003(r052) 1006 + 1002: 48(fvec4) Load 54(inF1) + 1003: 48(fvec4) ExtInst 1(GLSL.std.450) 26(Pow) 1001 1002 + Store 1000(r050) 1003 + 1005: 48(fvec4) Load 53(inF0) + 1006: 48(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 1005 + Store 1004(r051) 1006 1008: 48(fvec4) Load 53(inF0) - 1009: 48(fvec4) Load 54(inF1) - 1010: 48(fvec4) ExtInst 1(GLSL.std.450) 71(Reflect) 1008 1009 - Store 1007(r053) 1010 + 1009: 48(fvec4) CompositeConstruct 287 287 287 287 + 1010: 48(fvec4) FDiv 1009 1008 + Store 1007(r052) 1010 1012: 48(fvec4) Load 53(inF0) 1013: 48(fvec4) Load 54(inF1) - 1014: 48(fvec4) ExtInst 1(GLSL.std.450) 72(Refract) 1012 1013 520 - Store 1011(r054) 1014 - 1017: 50(ivec4) BitReverse 1016 - Store 1015(r055) 1017 - 1019: 48(fvec4) Load 53(inF0) - 1020: 48(fvec4) ExtInst 1(GLSL.std.450) 2(RoundEven) 1019 - Store 1018(r056) 1020 - 1022: 48(fvec4) Load 53(inF0) - 1023: 48(fvec4) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1022 - Store 1021(r057) 1023 - 1025: 48(fvec4) Load 53(inF0) - 1026: 48(fvec4) CompositeConstruct 175 175 175 175 - 1027: 48(fvec4) CompositeConstruct 283 283 283 283 - 1028: 48(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 1025 1026 1027 - Store 1024(r058) 1028 - 1030: 48(fvec4) Load 53(inF0) - 1031: 48(fvec4) ExtInst 1(GLSL.std.450) 6(FSign) 1030 - Store 1029(r059) 1031 - 1033: 48(fvec4) Load 53(inF0) - 1034: 48(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 1033 - Store 1032(r060) 1034 - 1035: 48(fvec4) Load 53(inF0) - 1036: 48(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 1035 - Store 54(inF1) 1036 + 1014: 48(fvec4) ExtInst 1(GLSL.std.450) 71(Reflect) 1012 1013 + Store 1011(r053) 1014 + 1016: 48(fvec4) Load 53(inF0) + 1017: 48(fvec4) Load 54(inF1) + 1018: 48(fvec4) ExtInst 1(GLSL.std.450) 72(Refract) 1016 1017 524 + Store 1015(r054) 1018 + 1021: 50(ivec4) BitReverse 1020 + Store 1019(r055) 1021 + 1023: 48(fvec4) Load 53(inF0) + 1024: 48(fvec4) ExtInst 1(GLSL.std.450) 2(RoundEven) 1023 + Store 1022(r056) 1024 + 1026: 48(fvec4) Load 53(inF0) + 1027: 48(fvec4) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1026 + Store 1025(r057) 1027 + 1029: 48(fvec4) Load 53(inF0) + 1030: 48(fvec4) CompositeConstruct 179 179 179 179 + 1031: 48(fvec4) CompositeConstruct 287 287 287 287 + 1032: 48(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 1029 1030 1031 + Store 1028(r058) 1032 + 1034: 48(fvec4) Load 53(inF0) + 1035: 48(fvec4) ExtInst 1(GLSL.std.450) 6(FSign) 1034 + Store 1033(r059) 1035 1037: 48(fvec4) Load 53(inF0) - 1038: 48(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 1037 - Store 55(inF2) 1038 - 1040: 48(fvec4) Load 53(inF0) - 1041: 48(fvec4) ExtInst 1(GLSL.std.450) 19(Sinh) 1040 - Store 1039(r061) 1041 - 1043: 48(fvec4) Load 53(inF0) - 1044: 48(fvec4) Load 54(inF1) - 1045: 48(fvec4) Load 55(inF2) - 1046: 48(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 1043 1044 1045 - Store 1042(r062) 1046 - 1048: 48(fvec4) Load 53(inF0) - 1049: 48(fvec4) ExtInst 1(GLSL.std.450) 31(Sqrt) 1048 - Store 1047(r063) 1049 - 1051: 48(fvec4) Load 53(inF0) - 1052: 48(fvec4) Load 54(inF1) - 1053: 48(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 1051 1052 - Store 1050(r064) 1053 + 1038: 48(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 1037 + Store 1036(r060) 1038 + 1039: 48(fvec4) Load 53(inF0) + 1040: 48(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 1039 + Store 54(inF1) 1040 + 1041: 48(fvec4) Load 53(inF0) + 1042: 48(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 1041 + Store 55(inF2) 1042 + 1044: 48(fvec4) Load 53(inF0) + 1045: 48(fvec4) ExtInst 1(GLSL.std.450) 19(Sinh) 1044 + Store 1043(r061) 1045 + 1047: 48(fvec4) Load 53(inF0) + 1048: 48(fvec4) Load 54(inF1) + 1049: 48(fvec4) Load 55(inF2) + 1050: 48(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 1047 1048 1049 + Store 1046(r062) 1050 + 1052: 48(fvec4) Load 53(inF0) + 1053: 48(fvec4) ExtInst 1(GLSL.std.450) 31(Sqrt) 1052 + Store 1051(r063) 1053 1055: 48(fvec4) Load 53(inF0) - 1056: 48(fvec4) ExtInst 1(GLSL.std.450) 15(Tan) 1055 - Store 1054(r065) 1056 - 1058: 48(fvec4) Load 53(inF0) - 1059: 48(fvec4) ExtInst 1(GLSL.std.450) 21(Tanh) 1058 - Store 1057(r066) 1059 - 1061: 48(fvec4) Load 53(inF0) - 1062: 48(fvec4) ExtInst 1(GLSL.std.450) 3(Trunc) 1061 - Store 1060(r067) 1062 - ReturnValue 1064 + 1056: 48(fvec4) Load 54(inF1) + 1057: 48(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 1055 1056 + Store 1054(r064) 1057 + 1059: 48(fvec4) Load 53(inF0) + 1060: 48(fvec4) ExtInst 1(GLSL.std.450) 15(Tan) 1059 + Store 1058(r065) 1060 + 1062: 48(fvec4) Load 53(inF0) + 1063: 48(fvec4) ExtInst 1(GLSL.std.450) 21(Tanh) 1062 + Store 1061(r066) 1063 + 1065: 48(fvec4) Load 53(inF0) + 1066: 48(fvec4) ExtInst 1(GLSL.std.450) 3(Trunc) 1065 + Store 1064(r067) 1066 + ReturnValue 1068 FunctionEnd 66(PixelShaderFunction2x2(mf22;mf22;mf22;): 60 Function None 62 63(inF0): 61(ptr) FunctionParameter 64(inF1): 61(ptr) FunctionParameter 65(inF2): 61(ptr) FunctionParameter 67: Label - 1067(r000): 132(ptr) Variable Function - 1070(r001): 61(ptr) Variable Function - 1075(r003): 132(ptr) Variable Function - 1078(r004): 61(ptr) Variable Function - 1081(r005): 61(ptr) Variable Function - 1084(r006): 61(ptr) Variable Function - 1088(r007): 61(ptr) Variable Function - 1099(r008): 61(ptr) Variable Function - 1104(r009): 61(ptr) Variable Function - 1107(r010): 61(ptr) Variable Function - 1110(r011): 61(ptr) Variable Function - 1113(r012): 61(ptr) Variable Function - 1116(r013): 61(ptr) Variable Function - 1119(r014): 61(ptr) Variable Function - 1122(r015): 61(ptr) Variable Function - 1125(r016): 61(ptr) Variable Function - 1128(r017): 61(ptr) Variable Function - 1131(r018): 7(ptr) Variable Function - 1134(r019): 61(ptr) Variable Function - 1137(R020): 61(ptr) Variable Function - 1140(r021): 61(ptr) Variable Function - 1143(r022): 61(ptr) Variable Function - 1153(r023): 61(ptr) Variable Function - 1156(r024): 61(ptr) Variable Function - 1162(r025): 61(ptr) Variable Function - 1165(r026): 61(ptr) Variable Function - 1169(r026a): 61(ptr) Variable Function - 1174(r027): 61(ptr) Variable Function - 1177(r028): 61(ptr) Variable Function - 1181(r029): 61(ptr) Variable Function - 1184(r030): 61(ptr) Variable Function - 1188(r031): 61(ptr) Variable Function - 1192(r032): 61(ptr) Variable Function - 1196(r033): 61(ptr) Variable Function - 1199(r034): 61(ptr) Variable Function - 1202(r035): 61(ptr) Variable Function - 1205(r036): 61(ptr) Variable Function - 1210(r037): 61(ptr) Variable Function - 1213(r038): 61(ptr) Variable Function - 1220(r039): 61(ptr) Variable Function - 1223(r049): 61(ptr) Variable Function - 1228(r041): 61(ptr) Variable Function - 1231(r042): 61(ptr) Variable Function - 1235(r043): 61(ptr) Variable Function - 1238(r044): 61(ptr) Variable Function - 1243(r046): 61(ptr) Variable Function - 1068: 60 Load 63(inF0) - 1069: 131(bool) All 1068 - Store 1067(r000) 1069 - 1071: 60 Load 63(inF0) - 1072: 60 ExtInst 1(GLSL.std.450) 4(FAbs) 1071 - Store 1070(r001) 1072 - 1073: 60 Load 63(inF0) - 1074: 60 ExtInst 1(GLSL.std.450) 17(Acos) 1073 - 1076: 60 Load 63(inF0) - 1077: 131(bool) Any 1076 - Store 1075(r003) 1077 - 1079: 60 Load 63(inF0) - 1080: 60 ExtInst 1(GLSL.std.450) 16(Asin) 1079 - Store 1078(r004) 1080 - 1082: 60 Load 63(inF0) - 1083: 60 ExtInst 1(GLSL.std.450) 18(Atan) 1082 - Store 1081(r005) 1083 - 1085: 60 Load 63(inF0) - 1086: 60 Load 64(inF1) - 1087: 60 ExtInst 1(GLSL.std.450) 25(Atan2) 1085 1086 - Store 1084(r006) 1087 + 1071(r000): 136(ptr) Variable Function + 1074(r001): 61(ptr) Variable Function + 1079(r003): 136(ptr) Variable Function + 1082(r004): 61(ptr) Variable Function + 1085(r005): 61(ptr) Variable Function + 1088(r006): 61(ptr) Variable Function + 1092(r007): 61(ptr) Variable Function + 1103(r008): 61(ptr) Variable Function + 1108(r009): 61(ptr) Variable Function + 1111(r010): 61(ptr) Variable Function + 1114(r011): 61(ptr) Variable Function + 1117(r012): 61(ptr) Variable Function + 1120(r013): 61(ptr) Variable Function + 1123(r014): 61(ptr) Variable Function + 1126(r015): 61(ptr) Variable Function + 1129(r016): 61(ptr) Variable Function + 1132(r017): 61(ptr) Variable Function + 1135(r018): 7(ptr) Variable Function + 1138(r019): 61(ptr) Variable Function + 1141(R020): 61(ptr) Variable Function + 1144(r021): 61(ptr) Variable Function + 1147(r022): 61(ptr) Variable Function + 1157(r023): 61(ptr) Variable Function + 1160(r024): 61(ptr) Variable Function + 1166(r025): 61(ptr) Variable Function + 1169(r026): 61(ptr) Variable Function + 1173(r026a): 61(ptr) Variable Function + 1178(r027): 61(ptr) Variable Function + 1181(r028): 61(ptr) Variable Function + 1185(r029): 61(ptr) Variable Function + 1188(r030): 61(ptr) Variable Function + 1192(r031): 61(ptr) Variable Function + 1196(r032): 61(ptr) Variable Function + 1200(r033): 61(ptr) Variable Function + 1203(r034): 61(ptr) Variable Function + 1206(r035): 61(ptr) Variable Function + 1209(r036): 61(ptr) Variable Function + 1214(r037): 61(ptr) Variable Function + 1217(r038): 61(ptr) Variable Function + 1224(r039): 61(ptr) Variable Function + 1227(r049): 61(ptr) Variable Function + 1232(r041): 61(ptr) Variable Function + 1235(r042): 61(ptr) Variable Function + 1239(r043): 61(ptr) Variable Function + 1242(r044): 61(ptr) Variable Function + 1247(r046): 61(ptr) Variable Function + 1072: 60 Load 63(inF0) + 1073: 135(bool) All 1072 + Store 1071(r000) 1073 + 1075: 60 Load 63(inF0) + 1076: 60 ExtInst 1(GLSL.std.450) 4(FAbs) 1075 + Store 1074(r001) 1076 + 1077: 60 Load 63(inF0) + 1078: 60 ExtInst 1(GLSL.std.450) 17(Acos) 1077 + 1080: 60 Load 63(inF0) + 1081: 135(bool) Any 1080 + Store 1079(r003) 1081 + 1083: 60 Load 63(inF0) + 1084: 60 ExtInst 1(GLSL.std.450) 16(Asin) 1083 + Store 1082(r004) 1084 + 1086: 60 Load 63(inF0) + 1087: 60 ExtInst 1(GLSL.std.450) 18(Atan) 1086 + Store 1085(r005) 1087 1089: 60 Load 63(inF0) - 1090: 60 ExtInst 1(GLSL.std.450) 9(Ceil) 1089 - Store 1088(r007) 1090 - 1091: 60 Load 63(inF0) - 1094: 1093 FOrdLessThan 1091 1092 - 1095: 131(bool) Any 1094 - SelectionMerge 1097 None - BranchConditional 1095 1096 1097 - 1096: Label + 1090: 60 Load 64(inF1) + 1091: 60 ExtInst 1(GLSL.std.450) 25(Atan2) 1089 1090 + Store 1088(r006) 1091 + 1093: 60 Load 63(inF0) + 1094: 60 ExtInst 1(GLSL.std.450) 9(Ceil) 1093 + Store 1092(r007) 1094 + 1095: 60 Load 63(inF0) + 1098: 1097 FOrdLessThan 1095 1096 + 1099: 135(bool) Any 1098 + SelectionMerge 1101 None + BranchConditional 1099 1100 1101 + 1100: Label Kill - 1097: Label - 1100: 60 Load 63(inF0) - 1101: 60 Load 64(inF1) - 1102: 60 Load 65(inF2) - 1103: 60 ExtInst 1(GLSL.std.450) 43(FClamp) 1100 1101 1102 - Store 1099(r008) 1103 - 1105: 60 Load 63(inF0) - 1106: 60 ExtInst 1(GLSL.std.450) 14(Cos) 1105 - Store 1104(r009) 1106 - 1108: 60 Load 63(inF0) - 1109: 60 ExtInst 1(GLSL.std.450) 20(Cosh) 1108 - Store 1107(r010) 1109 - 1111: 60 Load 63(inF0) - 1112: 60 DPdx 1111 - Store 1110(r011) 1112 - 1114: 60 Load 63(inF0) - 1115: 60 DPdxCoarse 1114 - Store 1113(r012) 1115 - 1117: 60 Load 63(inF0) - 1118: 60 DPdxFine 1117 - Store 1116(r013) 1118 - 1120: 60 Load 63(inF0) - 1121: 60 DPdy 1120 - Store 1119(r014) 1121 - 1123: 60 Load 63(inF0) - 1124: 60 DPdyCoarse 1123 - Store 1122(r015) 1124 - 1126: 60 Load 63(inF0) - 1127: 60 DPdyFine 1126 - Store 1125(r016) 1127 - 1129: 60 Load 63(inF0) - 1130: 60 ExtInst 1(GLSL.std.450) 12(Degrees) 1129 - Store 1128(r017) 1130 - 1132: 60 Load 63(inF0) - 1133: 6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1132 - Store 1131(r018) 1133 - 1135: 60 Load 63(inF0) - 1136: 60 ExtInst 1(GLSL.std.450) 27(Exp) 1135 - Store 1134(r019) 1136 - 1138: 60 Load 63(inF0) - 1139: 60 ExtInst 1(GLSL.std.450) 29(Exp2) 1138 - Store 1137(R020) 1139 - 1141: 60 Load 63(inF0) - 1142: 60 ExtInst 1(GLSL.std.450) 8(Floor) 1141 - Store 1140(r021) 1142 - 1144: 60 Load 63(inF0) - 1145: 60 Load 64(inF1) - 1146: 24(fvec2) CompositeExtract 1144 0 - 1147: 24(fvec2) CompositeExtract 1145 0 - 1148: 24(fvec2) FMod 1146 1147 - 1149: 24(fvec2) CompositeExtract 1144 1 - 1150: 24(fvec2) CompositeExtract 1145 1 - 1151: 24(fvec2) FMod 1149 1150 - 1152: 60 CompositeConstruct 1148 1151 - Store 1143(r022) 1152 - 1154: 60 Load 63(inF0) - 1155: 60 ExtInst 1(GLSL.std.450) 10(Fract) 1154 - Store 1153(r023) 1155 - 1157: 60 Load 63(inF0) - 1159:1158(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 1157 - 1160: 352(ivec2) CompositeExtract 1159 1 - Store 64(inF1) 1160 - 1161: 60 CompositeExtract 1159 0 - Store 1156(r024) 1161 - 1163: 60 Load 63(inF0) - 1164: 60 Fwidth 1163 - Store 1162(r025) 1164 - 1166: 60 Load 63(inF0) - 1167: 60 Load 64(inF1) - 1168: 60 ExtInst 1(GLSL.std.450) 53(Ldexp) 1166 1167 - Store 1165(r026) 1168 + 1101: Label + 1104: 60 Load 63(inF0) + 1105: 60 Load 64(inF1) + 1106: 60 Load 65(inF2) + 1107: 60 ExtInst 1(GLSL.std.450) 43(FClamp) 1104 1105 1106 + Store 1103(r008) 1107 + 1109: 60 Load 63(inF0) + 1110: 60 ExtInst 1(GLSL.std.450) 14(Cos) 1109 + Store 1108(r009) 1110 + 1112: 60 Load 63(inF0) + 1113: 60 ExtInst 1(GLSL.std.450) 20(Cosh) 1112 + Store 1111(r010) 1113 + 1115: 60 Load 63(inF0) + 1116: 60 DPdx 1115 + Store 1114(r011) 1116 + 1118: 60 Load 63(inF0) + 1119: 60 DPdxCoarse 1118 + Store 1117(r012) 1119 + 1121: 60 Load 63(inF0) + 1122: 60 DPdxFine 1121 + Store 1120(r013) 1122 + 1124: 60 Load 63(inF0) + 1125: 60 DPdy 1124 + Store 1123(r014) 1125 + 1127: 60 Load 63(inF0) + 1128: 60 DPdyCoarse 1127 + Store 1126(r015) 1128 + 1130: 60 Load 63(inF0) + 1131: 60 DPdyFine 1130 + Store 1129(r016) 1131 + 1133: 60 Load 63(inF0) + 1134: 60 ExtInst 1(GLSL.std.450) 12(Degrees) 1133 + Store 1132(r017) 1134 + 1136: 60 Load 63(inF0) + 1137: 6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1136 + Store 1135(r018) 1137 + 1139: 60 Load 63(inF0) + 1140: 60 ExtInst 1(GLSL.std.450) 27(Exp) 1139 + Store 1138(r019) 1140 + 1142: 60 Load 63(inF0) + 1143: 60 ExtInst 1(GLSL.std.450) 29(Exp2) 1142 + Store 1141(R020) 1143 + 1145: 60 Load 63(inF0) + 1146: 60 ExtInst 1(GLSL.std.450) 8(Floor) 1145 + Store 1144(r021) 1146 + 1148: 60 Load 63(inF0) + 1149: 60 Load 64(inF1) + 1150: 24(fvec2) CompositeExtract 1148 0 + 1151: 24(fvec2) CompositeExtract 1149 0 + 1152: 24(fvec2) FMod 1150 1151 + 1153: 24(fvec2) CompositeExtract 1148 1 + 1154: 24(fvec2) CompositeExtract 1149 1 + 1155: 24(fvec2) FMod 1153 1154 + 1156: 60 CompositeConstruct 1152 1155 + Store 1147(r022) 1156 + 1158: 60 Load 63(inF0) + 1159: 60 ExtInst 1(GLSL.std.450) 10(Fract) 1158 + Store 1157(r023) 1159 + 1161: 60 Load 63(inF0) + 1163:1162(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 1161 + 1164: 356(ivec2) CompositeExtract 1163 1 + Store 64(inF1) 1164 + 1165: 60 CompositeExtract 1163 0 + Store 1160(r024) 1165 + 1167: 60 Load 63(inF0) + 1168: 60 Fwidth 1167 + Store 1166(r025) 1168 1170: 60 Load 63(inF0) 1171: 60 Load 64(inF1) - 1172: 60 Load 65(inF2) - 1173: 60 ExtInst 1(GLSL.std.450) 46(FMix) 1170 1171 1172 - Store 1169(r026a) 1173 - 1175: 60 Load 63(inF0) - 1176: 60 ExtInst 1(GLSL.std.450) 28(Log) 1175 - Store 1174(r027) 1176 - 1178: 60 Load 63(inF0) - 1179: 60 ExtInst 1(GLSL.std.450) 30(Log2) 1178 - 1180: 60 MatrixTimesScalar 1179 262 - Store 1177(r028) 1180 + 1172: 60 ExtInst 1(GLSL.std.450) 53(Ldexp) 1170 1171 + Store 1169(r026) 1172 + 1174: 60 Load 63(inF0) + 1175: 60 Load 64(inF1) + 1176: 60 Load 65(inF2) + 1177: 60 ExtInst 1(GLSL.std.450) 46(FMix) 1174 1175 1176 + Store 1173(r026a) 1177 + 1179: 60 Load 63(inF0) + 1180: 60 ExtInst 1(GLSL.std.450) 28(Log) 1179 + Store 1178(r027) 1180 1182: 60 Load 63(inF0) 1183: 60 ExtInst 1(GLSL.std.450) 30(Log2) 1182 - Store 1181(r029) 1183 - 1185: 60 Load 63(inF0) - 1186: 60 Load 64(inF1) - 1187: 60 ExtInst 1(GLSL.std.450) 40(FMax) 1185 1186 - Store 1184(r030) 1187 + 1184: 60 MatrixTimesScalar 1183 266 + Store 1181(r028) 1184 + 1186: 60 Load 63(inF0) + 1187: 60 ExtInst 1(GLSL.std.450) 30(Log2) 1186 + Store 1185(r029) 1187 1189: 60 Load 63(inF0) 1190: 60 Load 64(inF1) - 1191: 60 ExtInst 1(GLSL.std.450) 37(FMin) 1189 1190 - Store 1188(r031) 1191 + 1191: 60 ExtInst 1(GLSL.std.450) 40(FMax) 1189 1190 + Store 1188(r030) 1191 1193: 60 Load 63(inF0) 1194: 60 Load 64(inF1) - 1195: 60 ExtInst 1(GLSL.std.450) 26(Pow) 1193 1194 - Store 1192(r032) 1195 + 1195: 60 ExtInst 1(GLSL.std.450) 37(FMin) 1193 1194 + Store 1192(r031) 1195 1197: 60 Load 63(inF0) - 1198: 60 ExtInst 1(GLSL.std.450) 11(Radians) 1197 - Store 1196(r033) 1198 - 1200: 60 Load 63(inF0) - 1201: 60 ExtInst 1(GLSL.std.450) 2(RoundEven) 1200 - Store 1199(r034) 1201 - 1203: 60 Load 63(inF0) - 1204: 60 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1203 - Store 1202(r035) 1204 - 1206: 60 Load 63(inF0) - 1207: 24(fvec2) CompositeConstruct 175 175 - 1208: 24(fvec2) CompositeConstruct 283 283 - 1209: 60 ExtInst 1(GLSL.std.450) 43(FClamp) 1206 1207 1208 - Store 1205(r036) 1209 - 1211: 60 Load 63(inF0) - 1212: 60 ExtInst 1(GLSL.std.450) 6(FSign) 1211 - Store 1210(r037) 1212 - 1214: 60 Load 63(inF0) - 1215: 60 ExtInst 1(GLSL.std.450) 13(Sin) 1214 - Store 1213(r038) 1215 - 1216: 60 Load 63(inF0) - 1217: 60 ExtInst 1(GLSL.std.450) 13(Sin) 1216 - Store 64(inF1) 1217 + 1198: 60 Load 64(inF1) + 1199: 60 ExtInst 1(GLSL.std.450) 26(Pow) 1197 1198 + Store 1196(r032) 1199 + 1201: 60 Load 63(inF0) + 1202: 60 ExtInst 1(GLSL.std.450) 11(Radians) 1201 + Store 1200(r033) 1202 + 1204: 60 Load 63(inF0) + 1205: 60 ExtInst 1(GLSL.std.450) 2(RoundEven) 1204 + Store 1203(r034) 1205 + 1207: 60 Load 63(inF0) + 1208: 60 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1207 + Store 1206(r035) 1208 + 1210: 60 Load 63(inF0) + 1211: 24(fvec2) CompositeConstruct 179 179 + 1212: 24(fvec2) CompositeConstruct 287 287 + 1213: 60 ExtInst 1(GLSL.std.450) 43(FClamp) 1210 1211 1212 + Store 1209(r036) 1213 + 1215: 60 Load 63(inF0) + 1216: 60 ExtInst 1(GLSL.std.450) 6(FSign) 1215 + Store 1214(r037) 1216 1218: 60 Load 63(inF0) - 1219: 60 ExtInst 1(GLSL.std.450) 14(Cos) 1218 - Store 65(inF2) 1219 - 1221: 60 Load 63(inF0) - 1222: 60 ExtInst 1(GLSL.std.450) 19(Sinh) 1221 - Store 1220(r039) 1222 - 1224: 60 Load 63(inF0) - 1225: 60 Load 64(inF1) - 1226: 60 Load 65(inF2) - 1227: 60 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1224 1225 1226 - Store 1223(r049) 1227 - 1229: 60 Load 63(inF0) - 1230: 60 ExtInst 1(GLSL.std.450) 31(Sqrt) 1229 - Store 1228(r041) 1230 - 1232: 60 Load 63(inF0) - 1233: 60 Load 64(inF1) - 1234: 60 ExtInst 1(GLSL.std.450) 48(Step) 1232 1233 - Store 1231(r042) 1234 + 1219: 60 ExtInst 1(GLSL.std.450) 13(Sin) 1218 + Store 1217(r038) 1219 + 1220: 60 Load 63(inF0) + 1221: 60 ExtInst 1(GLSL.std.450) 13(Sin) 1220 + Store 64(inF1) 1221 + 1222: 60 Load 63(inF0) + 1223: 60 ExtInst 1(GLSL.std.450) 14(Cos) 1222 + Store 65(inF2) 1223 + 1225: 60 Load 63(inF0) + 1226: 60 ExtInst 1(GLSL.std.450) 19(Sinh) 1225 + Store 1224(r039) 1226 + 1228: 60 Load 63(inF0) + 1229: 60 Load 64(inF1) + 1230: 60 Load 65(inF2) + 1231: 60 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1228 1229 1230 + Store 1227(r049) 1231 + 1233: 60 Load 63(inF0) + 1234: 60 ExtInst 1(GLSL.std.450) 31(Sqrt) 1233 + Store 1232(r041) 1234 1236: 60 Load 63(inF0) - 1237: 60 ExtInst 1(GLSL.std.450) 15(Tan) 1236 - Store 1235(r043) 1237 - 1239: 60 Load 63(inF0) - 1240: 60 ExtInst 1(GLSL.std.450) 21(Tanh) 1239 - Store 1238(r044) 1240 - 1241: 60 Load 63(inF0) - 1242: 60 Transpose 1241 - 1244: 60 Load 63(inF0) - 1245: 60 ExtInst 1(GLSL.std.450) 3(Trunc) 1244 - Store 1243(r046) 1245 - ReturnValue 1247 + 1237: 60 Load 64(inF1) + 1238: 60 ExtInst 1(GLSL.std.450) 48(Step) 1236 1237 + Store 1235(r042) 1238 + 1240: 60 Load 63(inF0) + 1241: 60 ExtInst 1(GLSL.std.450) 15(Tan) 1240 + Store 1239(r043) 1241 + 1243: 60 Load 63(inF0) + 1244: 60 ExtInst 1(GLSL.std.450) 21(Tanh) 1243 + Store 1242(r044) 1244 + 1245: 60 Load 63(inF0) + 1246: 60 Transpose 1245 + 1248: 60 Load 63(inF0) + 1249: 60 ExtInst 1(GLSL.std.450) 3(Trunc) 1248 + Store 1247(r046) 1249 + ReturnValue 1251 FunctionEnd 74(PixelShaderFunction3x3(mf33;mf33;mf33;): 68 Function None 70 71(inF0): 69(ptr) FunctionParameter 72(inF1): 69(ptr) FunctionParameter 73(inF2): 69(ptr) FunctionParameter 75: Label - 1250(r000): 132(ptr) Variable Function - 1253(r001): 69(ptr) Variable Function - 1258(r003): 132(ptr) Variable Function - 1261(r004): 69(ptr) Variable Function - 1264(r005): 69(ptr) Variable Function - 1267(r006): 69(ptr) Variable Function - 1271(r007): 69(ptr) Variable Function - 1282(r008): 69(ptr) Variable Function - 1287(r009): 69(ptr) Variable Function - 1290(r010): 69(ptr) Variable Function - 1293(r011): 69(ptr) Variable Function - 1296(r012): 69(ptr) Variable Function - 1299(r013): 69(ptr) Variable Function - 1302(r014): 69(ptr) Variable Function - 1305(r015): 69(ptr) Variable Function - 1308(r016): 69(ptr) Variable Function - 1311(r017): 69(ptr) Variable Function - 1314(r018): 7(ptr) Variable Function - 1317(r019): 69(ptr) Variable Function - 1320(R020): 69(ptr) Variable Function - 1323(r021): 69(ptr) Variable Function - 1326(r022): 69(ptr) Variable Function - 1339(r023): 69(ptr) Variable Function - 1342(r024): 69(ptr) Variable Function - 1348(r025): 69(ptr) Variable Function - 1351(r026): 69(ptr) Variable Function - 1355(r026a): 69(ptr) Variable Function - 1360(r027): 69(ptr) Variable Function - 1363(r028): 69(ptr) Variable Function - 1367(r029): 69(ptr) Variable Function - 1370(r030): 69(ptr) Variable Function - 1374(r031): 69(ptr) Variable Function - 1378(r032): 69(ptr) Variable Function - 1382(r033): 69(ptr) Variable Function - 1385(r034): 69(ptr) Variable Function - 1388(r035): 69(ptr) Variable Function - 1391(r036): 69(ptr) Variable Function - 1396(r037): 69(ptr) Variable Function - 1399(r038): 69(ptr) Variable Function - 1406(r039): 69(ptr) Variable Function - 1409(r049): 69(ptr) Variable Function - 1414(r041): 69(ptr) Variable Function - 1417(r042): 69(ptr) Variable Function - 1421(r043): 69(ptr) Variable Function - 1424(r044): 69(ptr) Variable Function - 1429(r046): 69(ptr) Variable Function - 1251: 68 Load 71(inF0) - 1252: 131(bool) All 1251 - Store 1250(r000) 1252 - 1254: 68 Load 71(inF0) - 1255: 68 ExtInst 1(GLSL.std.450) 4(FAbs) 1254 - Store 1253(r001) 1255 - 1256: 68 Load 71(inF0) - 1257: 68 ExtInst 1(GLSL.std.450) 17(Acos) 1256 - 1259: 68 Load 71(inF0) - 1260: 131(bool) Any 1259 - Store 1258(r003) 1260 - 1262: 68 Load 71(inF0) - 1263: 68 ExtInst 1(GLSL.std.450) 16(Asin) 1262 - Store 1261(r004) 1263 - 1265: 68 Load 71(inF0) - 1266: 68 ExtInst 1(GLSL.std.450) 18(Atan) 1265 - Store 1264(r005) 1266 - 1268: 68 Load 71(inF0) - 1269: 68 Load 72(inF1) - 1270: 68 ExtInst 1(GLSL.std.450) 25(Atan2) 1268 1269 - Store 1267(r006) 1270 + 1254(r000): 136(ptr) Variable Function + 1257(r001): 69(ptr) Variable Function + 1262(r003): 136(ptr) Variable Function + 1265(r004): 69(ptr) Variable Function + 1268(r005): 69(ptr) Variable Function + 1271(r006): 69(ptr) Variable Function + 1275(r007): 69(ptr) Variable Function + 1286(r008): 69(ptr) Variable Function + 1291(r009): 69(ptr) Variable Function + 1294(r010): 69(ptr) Variable Function + 1297(r011): 69(ptr) Variable Function + 1300(r012): 69(ptr) Variable Function + 1303(r013): 69(ptr) Variable Function + 1306(r014): 69(ptr) Variable Function + 1309(r015): 69(ptr) Variable Function + 1312(r016): 69(ptr) Variable Function + 1315(r017): 69(ptr) Variable Function + 1318(r018): 7(ptr) Variable Function + 1321(r019): 69(ptr) Variable Function + 1324(R020): 69(ptr) Variable Function + 1327(r021): 69(ptr) Variable Function + 1330(r022): 69(ptr) Variable Function + 1343(r023): 69(ptr) Variable Function + 1346(r024): 69(ptr) Variable Function + 1352(r025): 69(ptr) Variable Function + 1355(r026): 69(ptr) Variable Function + 1359(r026a): 69(ptr) Variable Function + 1364(r027): 69(ptr) Variable Function + 1367(r028): 69(ptr) Variable Function + 1371(r029): 69(ptr) Variable Function + 1374(r030): 69(ptr) Variable Function + 1378(r031): 69(ptr) Variable Function + 1382(r032): 69(ptr) Variable Function + 1386(r033): 69(ptr) Variable Function + 1389(r034): 69(ptr) Variable Function + 1392(r035): 69(ptr) Variable Function + 1395(r036): 69(ptr) Variable Function + 1400(r037): 69(ptr) Variable Function + 1403(r038): 69(ptr) Variable Function + 1410(r039): 69(ptr) Variable Function + 1413(r049): 69(ptr) Variable Function + 1418(r041): 69(ptr) Variable Function + 1421(r042): 69(ptr) Variable Function + 1425(r043): 69(ptr) Variable Function + 1428(r044): 69(ptr) Variable Function + 1433(r046): 69(ptr) Variable Function + 1255: 68 Load 71(inF0) + 1256: 135(bool) All 1255 + Store 1254(r000) 1256 + 1258: 68 Load 71(inF0) + 1259: 68 ExtInst 1(GLSL.std.450) 4(FAbs) 1258 + Store 1257(r001) 1259 + 1260: 68 Load 71(inF0) + 1261: 68 ExtInst 1(GLSL.std.450) 17(Acos) 1260 + 1263: 68 Load 71(inF0) + 1264: 135(bool) Any 1263 + Store 1262(r003) 1264 + 1266: 68 Load 71(inF0) + 1267: 68 ExtInst 1(GLSL.std.450) 16(Asin) 1266 + Store 1265(r004) 1267 + 1269: 68 Load 71(inF0) + 1270: 68 ExtInst 1(GLSL.std.450) 18(Atan) 1269 + Store 1268(r005) 1270 1272: 68 Load 71(inF0) - 1273: 68 ExtInst 1(GLSL.std.450) 9(Ceil) 1272 - Store 1271(r007) 1273 - 1274: 68 Load 71(inF0) - 1277: 1276 FOrdLessThan 1274 1275 - 1278: 131(bool) Any 1277 - SelectionMerge 1280 None - BranchConditional 1278 1279 1280 - 1279: Label + 1273: 68 Load 72(inF1) + 1274: 68 ExtInst 1(GLSL.std.450) 25(Atan2) 1272 1273 + Store 1271(r006) 1274 + 1276: 68 Load 71(inF0) + 1277: 68 ExtInst 1(GLSL.std.450) 9(Ceil) 1276 + Store 1275(r007) 1277 + 1278: 68 Load 71(inF0) + 1281: 1280 FOrdLessThan 1278 1279 + 1282: 135(bool) Any 1281 + SelectionMerge 1284 None + BranchConditional 1282 1283 1284 + 1283: Label Kill - 1280: Label - 1283: 68 Load 71(inF0) - 1284: 68 Load 72(inF1) - 1285: 68 Load 73(inF2) - 1286: 68 ExtInst 1(GLSL.std.450) 43(FClamp) 1283 1284 1285 - Store 1282(r008) 1286 - 1288: 68 Load 71(inF0) - 1289: 68 ExtInst 1(GLSL.std.450) 14(Cos) 1288 - Store 1287(r009) 1289 - 1291: 68 Load 71(inF0) - 1292: 68 ExtInst 1(GLSL.std.450) 20(Cosh) 1291 - Store 1290(r010) 1292 - 1294: 68 Load 71(inF0) - 1295: 68 DPdx 1294 - Store 1293(r011) 1295 - 1297: 68 Load 71(inF0) - 1298: 68 DPdxCoarse 1297 - Store 1296(r012) 1298 - 1300: 68 Load 71(inF0) - 1301: 68 DPdxFine 1300 - Store 1299(r013) 1301 - 1303: 68 Load 71(inF0) - 1304: 68 DPdy 1303 - Store 1302(r014) 1304 - 1306: 68 Load 71(inF0) - 1307: 68 DPdyCoarse 1306 - Store 1305(r015) 1307 - 1309: 68 Load 71(inF0) - 1310: 68 DPdyFine 1309 - Store 1308(r016) 1310 - 1312: 68 Load 71(inF0) - 1313: 68 ExtInst 1(GLSL.std.450) 12(Degrees) 1312 - Store 1311(r017) 1313 - 1315: 68 Load 71(inF0) - 1316: 6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1315 - Store 1314(r018) 1316 - 1318: 68 Load 71(inF0) - 1319: 68 ExtInst 1(GLSL.std.450) 27(Exp) 1318 - Store 1317(r019) 1319 - 1321: 68 Load 71(inF0) - 1322: 68 ExtInst 1(GLSL.std.450) 29(Exp2) 1321 - Store 1320(R020) 1322 - 1324: 68 Load 71(inF0) - 1325: 68 ExtInst 1(GLSL.std.450) 8(Floor) 1324 - Store 1323(r021) 1325 - 1327: 68 Load 71(inF0) - 1328: 68 Load 72(inF1) - 1329: 36(fvec3) CompositeExtract 1327 0 - 1330: 36(fvec3) CompositeExtract 1328 0 - 1331: 36(fvec3) FMod 1329 1330 - 1332: 36(fvec3) CompositeExtract 1327 1 - 1333: 36(fvec3) CompositeExtract 1328 1 - 1334: 36(fvec3) FMod 1332 1333 - 1335: 36(fvec3) CompositeExtract 1327 2 - 1336: 36(fvec3) CompositeExtract 1328 2 - 1337: 36(fvec3) FMod 1335 1336 - 1338: 68 CompositeConstruct 1331 1334 1337 - Store 1326(r022) 1338 - 1340: 68 Load 71(inF0) - 1341: 68 ExtInst 1(GLSL.std.450) 10(Fract) 1340 - Store 1339(r023) 1341 - 1343: 68 Load 71(inF0) - 1345:1344(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 1343 - 1346: 590(ivec3) CompositeExtract 1345 1 - Store 72(inF1) 1346 - 1347: 68 CompositeExtract 1345 0 - Store 1342(r024) 1347 - 1349: 68 Load 71(inF0) - 1350: 68 Fwidth 1349 - Store 1348(r025) 1350 - 1352: 68 Load 71(inF0) - 1353: 68 Load 72(inF1) - 1354: 68 ExtInst 1(GLSL.std.450) 53(Ldexp) 1352 1353 - Store 1351(r026) 1354 + 1284: Label + 1287: 68 Load 71(inF0) + 1288: 68 Load 72(inF1) + 1289: 68 Load 73(inF2) + 1290: 68 ExtInst 1(GLSL.std.450) 43(FClamp) 1287 1288 1289 + Store 1286(r008) 1290 + 1292: 68 Load 71(inF0) + 1293: 68 ExtInst 1(GLSL.std.450) 14(Cos) 1292 + Store 1291(r009) 1293 + 1295: 68 Load 71(inF0) + 1296: 68 ExtInst 1(GLSL.std.450) 20(Cosh) 1295 + Store 1294(r010) 1296 + 1298: 68 Load 71(inF0) + 1299: 68 DPdx 1298 + Store 1297(r011) 1299 + 1301: 68 Load 71(inF0) + 1302: 68 DPdxCoarse 1301 + Store 1300(r012) 1302 + 1304: 68 Load 71(inF0) + 1305: 68 DPdxFine 1304 + Store 1303(r013) 1305 + 1307: 68 Load 71(inF0) + 1308: 68 DPdy 1307 + Store 1306(r014) 1308 + 1310: 68 Load 71(inF0) + 1311: 68 DPdyCoarse 1310 + Store 1309(r015) 1311 + 1313: 68 Load 71(inF0) + 1314: 68 DPdyFine 1313 + Store 1312(r016) 1314 + 1316: 68 Load 71(inF0) + 1317: 68 ExtInst 1(GLSL.std.450) 12(Degrees) 1316 + Store 1315(r017) 1317 + 1319: 68 Load 71(inF0) + 1320: 6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1319 + Store 1318(r018) 1320 + 1322: 68 Load 71(inF0) + 1323: 68 ExtInst 1(GLSL.std.450) 27(Exp) 1322 + Store 1321(r019) 1323 + 1325: 68 Load 71(inF0) + 1326: 68 ExtInst 1(GLSL.std.450) 29(Exp2) 1325 + Store 1324(R020) 1326 + 1328: 68 Load 71(inF0) + 1329: 68 ExtInst 1(GLSL.std.450) 8(Floor) 1328 + Store 1327(r021) 1329 + 1331: 68 Load 71(inF0) + 1332: 68 Load 72(inF1) + 1333: 36(fvec3) CompositeExtract 1331 0 + 1334: 36(fvec3) CompositeExtract 1332 0 + 1335: 36(fvec3) FMod 1333 1334 + 1336: 36(fvec3) CompositeExtract 1331 1 + 1337: 36(fvec3) CompositeExtract 1332 1 + 1338: 36(fvec3) FMod 1336 1337 + 1339: 36(fvec3) CompositeExtract 1331 2 + 1340: 36(fvec3) CompositeExtract 1332 2 + 1341: 36(fvec3) FMod 1339 1340 + 1342: 68 CompositeConstruct 1335 1338 1341 + Store 1330(r022) 1342 + 1344: 68 Load 71(inF0) + 1345: 68 ExtInst 1(GLSL.std.450) 10(Fract) 1344 + Store 1343(r023) 1345 + 1347: 68 Load 71(inF0) + 1349:1348(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 1347 + 1350: 594(ivec3) CompositeExtract 1349 1 + Store 72(inF1) 1350 + 1351: 68 CompositeExtract 1349 0 + Store 1346(r024) 1351 + 1353: 68 Load 71(inF0) + 1354: 68 Fwidth 1353 + Store 1352(r025) 1354 1356: 68 Load 71(inF0) 1357: 68 Load 72(inF1) - 1358: 68 Load 73(inF2) - 1359: 68 ExtInst 1(GLSL.std.450) 46(FMix) 1356 1357 1358 - Store 1355(r026a) 1359 - 1361: 68 Load 71(inF0) - 1362: 68 ExtInst 1(GLSL.std.450) 28(Log) 1361 - Store 1360(r027) 1362 - 1364: 68 Load 71(inF0) - 1365: 68 ExtInst 1(GLSL.std.450) 30(Log2) 1364 - 1366: 68 MatrixTimesScalar 1365 262 - Store 1363(r028) 1366 + 1358: 68 ExtInst 1(GLSL.std.450) 53(Ldexp) 1356 1357 + Store 1355(r026) 1358 + 1360: 68 Load 71(inF0) + 1361: 68 Load 72(inF1) + 1362: 68 Load 73(inF2) + 1363: 68 ExtInst 1(GLSL.std.450) 46(FMix) 1360 1361 1362 + Store 1359(r026a) 1363 + 1365: 68 Load 71(inF0) + 1366: 68 ExtInst 1(GLSL.std.450) 28(Log) 1365 + Store 1364(r027) 1366 1368: 68 Load 71(inF0) 1369: 68 ExtInst 1(GLSL.std.450) 30(Log2) 1368 - Store 1367(r029) 1369 - 1371: 68 Load 71(inF0) - 1372: 68 Load 72(inF1) - 1373: 68 ExtInst 1(GLSL.std.450) 40(FMax) 1371 1372 - Store 1370(r030) 1373 + 1370: 68 MatrixTimesScalar 1369 266 + Store 1367(r028) 1370 + 1372: 68 Load 71(inF0) + 1373: 68 ExtInst 1(GLSL.std.450) 30(Log2) 1372 + Store 1371(r029) 1373 1375: 68 Load 71(inF0) 1376: 68 Load 72(inF1) - 1377: 68 ExtInst 1(GLSL.std.450) 37(FMin) 1375 1376 - Store 1374(r031) 1377 + 1377: 68 ExtInst 1(GLSL.std.450) 40(FMax) 1375 1376 + Store 1374(r030) 1377 1379: 68 Load 71(inF0) 1380: 68 Load 72(inF1) - 1381: 68 ExtInst 1(GLSL.std.450) 26(Pow) 1379 1380 - Store 1378(r032) 1381 + 1381: 68 ExtInst 1(GLSL.std.450) 37(FMin) 1379 1380 + Store 1378(r031) 1381 1383: 68 Load 71(inF0) - 1384: 68 ExtInst 1(GLSL.std.450) 11(Radians) 1383 - Store 1382(r033) 1384 - 1386: 68 Load 71(inF0) - 1387: 68 ExtInst 1(GLSL.std.450) 2(RoundEven) 1386 - Store 1385(r034) 1387 - 1389: 68 Load 71(inF0) - 1390: 68 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1389 - Store 1388(r035) 1390 - 1392: 68 Load 71(inF0) - 1393: 36(fvec3) CompositeConstruct 175 175 175 - 1394: 36(fvec3) CompositeConstruct 283 283 283 - 1395: 68 ExtInst 1(GLSL.std.450) 43(FClamp) 1392 1393 1394 - Store 1391(r036) 1395 - 1397: 68 Load 71(inF0) - 1398: 68 ExtInst 1(GLSL.std.450) 6(FSign) 1397 - Store 1396(r037) 1398 - 1400: 68 Load 71(inF0) - 1401: 68 ExtInst 1(GLSL.std.450) 13(Sin) 1400 - Store 1399(r038) 1401 - 1402: 68 Load 71(inF0) - 1403: 68 ExtInst 1(GLSL.std.450) 13(Sin) 1402 - Store 72(inF1) 1403 + 1384: 68 Load 72(inF1) + 1385: 68 ExtInst 1(GLSL.std.450) 26(Pow) 1383 1384 + Store 1382(r032) 1385 + 1387: 68 Load 71(inF0) + 1388: 68 ExtInst 1(GLSL.std.450) 11(Radians) 1387 + Store 1386(r033) 1388 + 1390: 68 Load 71(inF0) + 1391: 68 ExtInst 1(GLSL.std.450) 2(RoundEven) 1390 + Store 1389(r034) 1391 + 1393: 68 Load 71(inF0) + 1394: 68 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1393 + Store 1392(r035) 1394 + 1396: 68 Load 71(inF0) + 1397: 36(fvec3) CompositeConstruct 179 179 179 + 1398: 36(fvec3) CompositeConstruct 287 287 287 + 1399: 68 ExtInst 1(GLSL.std.450) 43(FClamp) 1396 1397 1398 + Store 1395(r036) 1399 + 1401: 68 Load 71(inF0) + 1402: 68 ExtInst 1(GLSL.std.450) 6(FSign) 1401 + Store 1400(r037) 1402 1404: 68 Load 71(inF0) - 1405: 68 ExtInst 1(GLSL.std.450) 14(Cos) 1404 - Store 73(inF2) 1405 - 1407: 68 Load 71(inF0) - 1408: 68 ExtInst 1(GLSL.std.450) 19(Sinh) 1407 - Store 1406(r039) 1408 - 1410: 68 Load 71(inF0) - 1411: 68 Load 72(inF1) - 1412: 68 Load 73(inF2) - 1413: 68 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1410 1411 1412 - Store 1409(r049) 1413 - 1415: 68 Load 71(inF0) - 1416: 68 ExtInst 1(GLSL.std.450) 31(Sqrt) 1415 - Store 1414(r041) 1416 - 1418: 68 Load 71(inF0) - 1419: 68 Load 72(inF1) - 1420: 68 ExtInst 1(GLSL.std.450) 48(Step) 1418 1419 - Store 1417(r042) 1420 + 1405: 68 ExtInst 1(GLSL.std.450) 13(Sin) 1404 + Store 1403(r038) 1405 + 1406: 68 Load 71(inF0) + 1407: 68 ExtInst 1(GLSL.std.450) 13(Sin) 1406 + Store 72(inF1) 1407 + 1408: 68 Load 71(inF0) + 1409: 68 ExtInst 1(GLSL.std.450) 14(Cos) 1408 + Store 73(inF2) 1409 + 1411: 68 Load 71(inF0) + 1412: 68 ExtInst 1(GLSL.std.450) 19(Sinh) 1411 + Store 1410(r039) 1412 + 1414: 68 Load 71(inF0) + 1415: 68 Load 72(inF1) + 1416: 68 Load 73(inF2) + 1417: 68 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1414 1415 1416 + Store 1413(r049) 1417 + 1419: 68 Load 71(inF0) + 1420: 68 ExtInst 1(GLSL.std.450) 31(Sqrt) 1419 + Store 1418(r041) 1420 1422: 68 Load 71(inF0) - 1423: 68 ExtInst 1(GLSL.std.450) 15(Tan) 1422 - Store 1421(r043) 1423 - 1425: 68 Load 71(inF0) - 1426: 68 ExtInst 1(GLSL.std.450) 21(Tanh) 1425 - Store 1424(r044) 1426 - 1427: 68 Load 71(inF0) - 1428: 68 Transpose 1427 - 1430: 68 Load 71(inF0) - 1431: 68 ExtInst 1(GLSL.std.450) 3(Trunc) 1430 - Store 1429(r046) 1431 - ReturnValue 1433 + 1423: 68 Load 72(inF1) + 1424: 68 ExtInst 1(GLSL.std.450) 48(Step) 1422 1423 + Store 1421(r042) 1424 + 1426: 68 Load 71(inF0) + 1427: 68 ExtInst 1(GLSL.std.450) 15(Tan) 1426 + Store 1425(r043) 1427 + 1429: 68 Load 71(inF0) + 1430: 68 ExtInst 1(GLSL.std.450) 21(Tanh) 1429 + Store 1428(r044) 1430 + 1431: 68 Load 71(inF0) + 1432: 68 Transpose 1431 + 1434: 68 Load 71(inF0) + 1435: 68 ExtInst 1(GLSL.std.450) 3(Trunc) 1434 + Store 1433(r046) 1435 + ReturnValue 1437 FunctionEnd 82(PixelShaderFunction4x4(mf44;mf44;mf44;): 76 Function None 78 79(inF0): 77(ptr) FunctionParameter 80(inF1): 77(ptr) FunctionParameter 81(inF2): 77(ptr) FunctionParameter 83: Label - 1436(r000): 132(ptr) Variable Function - 1439(r001): 77(ptr) Variable Function - 1444(r003): 132(ptr) Variable Function - 1447(r004): 77(ptr) Variable Function - 1450(r005): 77(ptr) Variable Function - 1453(r006): 77(ptr) Variable Function - 1457(r007): 77(ptr) Variable Function - 1468(r008): 77(ptr) Variable Function - 1473(r009): 77(ptr) Variable Function - 1476(r010): 77(ptr) Variable Function - 1479(r011): 77(ptr) Variable Function - 1482(r012): 77(ptr) Variable Function - 1485(r013): 77(ptr) Variable Function - 1488(r014): 77(ptr) Variable Function - 1491(r015): 77(ptr) Variable Function - 1494(r016): 77(ptr) Variable Function - 1497(r017): 77(ptr) Variable Function - 1500(r018): 7(ptr) Variable Function - 1503(r019): 77(ptr) Variable Function - 1506(R020): 77(ptr) Variable Function - 1509(r021): 77(ptr) Variable Function - 1512(r022): 77(ptr) Variable Function - 1528(r023): 77(ptr) Variable Function - 1531(r024): 77(ptr) Variable Function - 1537(r025): 77(ptr) Variable Function - 1540(r026): 77(ptr) Variable Function - 1544(r026a): 77(ptr) Variable Function - 1549(r027): 77(ptr) Variable Function - 1552(r028): 77(ptr) Variable Function - 1556(r029): 77(ptr) Variable Function - 1559(r030): 77(ptr) Variable Function - 1563(r031): 77(ptr) Variable Function - 1567(r032): 77(ptr) Variable Function - 1571(r033): 77(ptr) Variable Function - 1574(r034): 77(ptr) Variable Function - 1577(r035): 77(ptr) Variable Function - 1580(r036): 77(ptr) Variable Function - 1585(r037): 77(ptr) Variable Function - 1588(r038): 77(ptr) Variable Function - 1595(r039): 77(ptr) Variable Function - 1598(r049): 77(ptr) Variable Function - 1603(r041): 77(ptr) Variable Function - 1606(r042): 77(ptr) Variable Function - 1610(r043): 77(ptr) Variable Function - 1613(r044): 77(ptr) Variable Function - 1618(r046): 77(ptr) Variable Function - 1437: 76 Load 79(inF0) - 1438: 131(bool) All 1437 - Store 1436(r000) 1438 - 1440: 76 Load 79(inF0) - 1441: 76 ExtInst 1(GLSL.std.450) 4(FAbs) 1440 - Store 1439(r001) 1441 - 1442: 76 Load 79(inF0) - 1443: 76 ExtInst 1(GLSL.std.450) 17(Acos) 1442 - 1445: 76 Load 79(inF0) - 1446: 131(bool) Any 1445 - Store 1444(r003) 1446 - 1448: 76 Load 79(inF0) - 1449: 76 ExtInst 1(GLSL.std.450) 16(Asin) 1448 - Store 1447(r004) 1449 - 1451: 76 Load 79(inF0) - 1452: 76 ExtInst 1(GLSL.std.450) 18(Atan) 1451 - Store 1450(r005) 1452 - 1454: 76 Load 79(inF0) - 1455: 76 Load 80(inF1) - 1456: 76 ExtInst 1(GLSL.std.450) 25(Atan2) 1454 1455 - Store 1453(r006) 1456 + 1440(r000): 136(ptr) Variable Function + 1443(r001): 77(ptr) Variable Function + 1448(r003): 136(ptr) Variable Function + 1451(r004): 77(ptr) Variable Function + 1454(r005): 77(ptr) Variable Function + 1457(r006): 77(ptr) Variable Function + 1461(r007): 77(ptr) Variable Function + 1472(r008): 77(ptr) Variable Function + 1477(r009): 77(ptr) Variable Function + 1480(r010): 77(ptr) Variable Function + 1483(r011): 77(ptr) Variable Function + 1486(r012): 77(ptr) Variable Function + 1489(r013): 77(ptr) Variable Function + 1492(r014): 77(ptr) Variable Function + 1495(r015): 77(ptr) Variable Function + 1498(r016): 77(ptr) Variable Function + 1501(r017): 77(ptr) Variable Function + 1504(r018): 7(ptr) Variable Function + 1507(r019): 77(ptr) Variable Function + 1510(R020): 77(ptr) Variable Function + 1513(r021): 77(ptr) Variable Function + 1516(r022): 77(ptr) Variable Function + 1532(r023): 77(ptr) Variable Function + 1535(r024): 77(ptr) Variable Function + 1541(r025): 77(ptr) Variable Function + 1544(r026): 77(ptr) Variable Function + 1548(r026a): 77(ptr) Variable Function + 1553(r027): 77(ptr) Variable Function + 1556(r028): 77(ptr) Variable Function + 1560(r029): 77(ptr) Variable Function + 1563(r030): 77(ptr) Variable Function + 1567(r031): 77(ptr) Variable Function + 1571(r032): 77(ptr) Variable Function + 1575(r033): 77(ptr) Variable Function + 1578(r034): 77(ptr) Variable Function + 1581(r035): 77(ptr) Variable Function + 1584(r036): 77(ptr) Variable Function + 1589(r037): 77(ptr) Variable Function + 1592(r038): 77(ptr) Variable Function + 1599(r039): 77(ptr) Variable Function + 1602(r049): 77(ptr) Variable Function + 1607(r041): 77(ptr) Variable Function + 1610(r042): 77(ptr) Variable Function + 1614(r043): 77(ptr) Variable Function + 1617(r044): 77(ptr) Variable Function + 1622(r046): 77(ptr) Variable Function + 1441: 76 Load 79(inF0) + 1442: 135(bool) All 1441 + Store 1440(r000) 1442 + 1444: 76 Load 79(inF0) + 1445: 76 ExtInst 1(GLSL.std.450) 4(FAbs) 1444 + Store 1443(r001) 1445 + 1446: 76 Load 79(inF0) + 1447: 76 ExtInst 1(GLSL.std.450) 17(Acos) 1446 + 1449: 76 Load 79(inF0) + 1450: 135(bool) Any 1449 + Store 1448(r003) 1450 + 1452: 76 Load 79(inF0) + 1453: 76 ExtInst 1(GLSL.std.450) 16(Asin) 1452 + Store 1451(r004) 1453 + 1455: 76 Load 79(inF0) + 1456: 76 ExtInst 1(GLSL.std.450) 18(Atan) 1455 + Store 1454(r005) 1456 1458: 76 Load 79(inF0) - 1459: 76 ExtInst 1(GLSL.std.450) 9(Ceil) 1458 - Store 1457(r007) 1459 - 1460: 76 Load 79(inF0) - 1463: 1462 FOrdLessThan 1460 1461 - 1464: 131(bool) Any 1463 - SelectionMerge 1466 None - BranchConditional 1464 1465 1466 - 1465: Label + 1459: 76 Load 80(inF1) + 1460: 76 ExtInst 1(GLSL.std.450) 25(Atan2) 1458 1459 + Store 1457(r006) 1460 + 1462: 76 Load 79(inF0) + 1463: 76 ExtInst 1(GLSL.std.450) 9(Ceil) 1462 + Store 1461(r007) 1463 + 1464: 76 Load 79(inF0) + 1467: 1466 FOrdLessThan 1464 1465 + 1468: 135(bool) Any 1467 + SelectionMerge 1470 None + BranchConditional 1468 1469 1470 + 1469: Label Kill - 1466: Label - 1469: 76 Load 79(inF0) - 1470: 76 Load 80(inF1) - 1471: 76 Load 81(inF2) - 1472: 76 ExtInst 1(GLSL.std.450) 43(FClamp) 1469 1470 1471 - Store 1468(r008) 1472 - 1474: 76 Load 79(inF0) - 1475: 76 ExtInst 1(GLSL.std.450) 14(Cos) 1474 - Store 1473(r009) 1475 - 1477: 76 Load 79(inF0) - 1478: 76 ExtInst 1(GLSL.std.450) 20(Cosh) 1477 - Store 1476(r010) 1478 - 1480: 76 Load 79(inF0) - 1481: 76 DPdx 1480 - Store 1479(r011) 1481 - 1483: 76 Load 79(inF0) - 1484: 76 DPdxCoarse 1483 - Store 1482(r012) 1484 - 1486: 76 Load 79(inF0) - 1487: 76 DPdxFine 1486 - Store 1485(r013) 1487 - 1489: 76 Load 79(inF0) - 1490: 76 DPdy 1489 - Store 1488(r014) 1490 - 1492: 76 Load 79(inF0) - 1493: 76 DPdyCoarse 1492 - Store 1491(r015) 1493 - 1495: 76 Load 79(inF0) - 1496: 76 DPdyFine 1495 - Store 1494(r016) 1496 - 1498: 76 Load 79(inF0) - 1499: 76 ExtInst 1(GLSL.std.450) 12(Degrees) 1498 - Store 1497(r017) 1499 - 1501: 76 Load 79(inF0) - 1502: 6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1501 - Store 1500(r018) 1502 - 1504: 76 Load 79(inF0) - 1505: 76 ExtInst 1(GLSL.std.450) 27(Exp) 1504 - Store 1503(r019) 1505 - 1507: 76 Load 79(inF0) - 1508: 76 ExtInst 1(GLSL.std.450) 29(Exp2) 1507 - Store 1506(R020) 1508 - 1510: 76 Load 79(inF0) - 1511: 76 ExtInst 1(GLSL.std.450) 8(Floor) 1510 - Store 1509(r021) 1511 - 1513: 76 Load 79(inF0) - 1514: 76 Load 80(inF1) - 1515: 48(fvec4) CompositeExtract 1513 0 - 1516: 48(fvec4) CompositeExtract 1514 0 - 1517: 48(fvec4) FMod 1515 1516 - 1518: 48(fvec4) CompositeExtract 1513 1 - 1519: 48(fvec4) CompositeExtract 1514 1 - 1520: 48(fvec4) FMod 1518 1519 - 1521: 48(fvec4) CompositeExtract 1513 2 - 1522: 48(fvec4) CompositeExtract 1514 2 - 1523: 48(fvec4) FMod 1521 1522 - 1524: 48(fvec4) CompositeExtract 1513 3 - 1525: 48(fvec4) CompositeExtract 1514 3 - 1526: 48(fvec4) FMod 1524 1525 - 1527: 76 CompositeConstruct 1517 1520 1523 1526 - Store 1512(r022) 1527 - 1529: 76 Load 79(inF0) - 1530: 76 ExtInst 1(GLSL.std.450) 10(Fract) 1529 - Store 1528(r023) 1530 - 1532: 76 Load 79(inF0) - 1534:1533(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 1532 - 1535: 836(ivec4) CompositeExtract 1534 1 - Store 80(inF1) 1535 - 1536: 76 CompositeExtract 1534 0 - Store 1531(r024) 1536 - 1538: 76 Load 79(inF0) - 1539: 76 Fwidth 1538 - Store 1537(r025) 1539 - 1541: 76 Load 79(inF0) - 1542: 76 Load 80(inF1) - 1543: 76 ExtInst 1(GLSL.std.450) 53(Ldexp) 1541 1542 - Store 1540(r026) 1543 + 1470: Label + 1473: 76 Load 79(inF0) + 1474: 76 Load 80(inF1) + 1475: 76 Load 81(inF2) + 1476: 76 ExtInst 1(GLSL.std.450) 43(FClamp) 1473 1474 1475 + Store 1472(r008) 1476 + 1478: 76 Load 79(inF0) + 1479: 76 ExtInst 1(GLSL.std.450) 14(Cos) 1478 + Store 1477(r009) 1479 + 1481: 76 Load 79(inF0) + 1482: 76 ExtInst 1(GLSL.std.450) 20(Cosh) 1481 + Store 1480(r010) 1482 + 1484: 76 Load 79(inF0) + 1485: 76 DPdx 1484 + Store 1483(r011) 1485 + 1487: 76 Load 79(inF0) + 1488: 76 DPdxCoarse 1487 + Store 1486(r012) 1488 + 1490: 76 Load 79(inF0) + 1491: 76 DPdxFine 1490 + Store 1489(r013) 1491 + 1493: 76 Load 79(inF0) + 1494: 76 DPdy 1493 + Store 1492(r014) 1494 + 1496: 76 Load 79(inF0) + 1497: 76 DPdyCoarse 1496 + Store 1495(r015) 1497 + 1499: 76 Load 79(inF0) + 1500: 76 DPdyFine 1499 + Store 1498(r016) 1500 + 1502: 76 Load 79(inF0) + 1503: 76 ExtInst 1(GLSL.std.450) 12(Degrees) 1502 + Store 1501(r017) 1503 + 1505: 76 Load 79(inF0) + 1506: 6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1505 + Store 1504(r018) 1506 + 1508: 76 Load 79(inF0) + 1509: 76 ExtInst 1(GLSL.std.450) 27(Exp) 1508 + Store 1507(r019) 1509 + 1511: 76 Load 79(inF0) + 1512: 76 ExtInst 1(GLSL.std.450) 29(Exp2) 1511 + Store 1510(R020) 1512 + 1514: 76 Load 79(inF0) + 1515: 76 ExtInst 1(GLSL.std.450) 8(Floor) 1514 + Store 1513(r021) 1515 + 1517: 76 Load 79(inF0) + 1518: 76 Load 80(inF1) + 1519: 48(fvec4) CompositeExtract 1517 0 + 1520: 48(fvec4) CompositeExtract 1518 0 + 1521: 48(fvec4) FMod 1519 1520 + 1522: 48(fvec4) CompositeExtract 1517 1 + 1523: 48(fvec4) CompositeExtract 1518 1 + 1524: 48(fvec4) FMod 1522 1523 + 1525: 48(fvec4) CompositeExtract 1517 2 + 1526: 48(fvec4) CompositeExtract 1518 2 + 1527: 48(fvec4) FMod 1525 1526 + 1528: 48(fvec4) CompositeExtract 1517 3 + 1529: 48(fvec4) CompositeExtract 1518 3 + 1530: 48(fvec4) FMod 1528 1529 + 1531: 76 CompositeConstruct 1521 1524 1527 1530 + Store 1516(r022) 1531 + 1533: 76 Load 79(inF0) + 1534: 76 ExtInst 1(GLSL.std.450) 10(Fract) 1533 + Store 1532(r023) 1534 + 1536: 76 Load 79(inF0) + 1538:1537(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 1536 + 1539: 840(ivec4) CompositeExtract 1538 1 + Store 80(inF1) 1539 + 1540: 76 CompositeExtract 1538 0 + Store 1535(r024) 1540 + 1542: 76 Load 79(inF0) + 1543: 76 Fwidth 1542 + Store 1541(r025) 1543 1545: 76 Load 79(inF0) 1546: 76 Load 80(inF1) - 1547: 76 Load 81(inF2) - 1548: 76 ExtInst 1(GLSL.std.450) 46(FMix) 1545 1546 1547 - Store 1544(r026a) 1548 - 1550: 76 Load 79(inF0) - 1551: 76 ExtInst 1(GLSL.std.450) 28(Log) 1550 - Store 1549(r027) 1551 - 1553: 76 Load 79(inF0) - 1554: 76 ExtInst 1(GLSL.std.450) 30(Log2) 1553 - 1555: 76 MatrixTimesScalar 1554 262 - Store 1552(r028) 1555 + 1547: 76 ExtInst 1(GLSL.std.450) 53(Ldexp) 1545 1546 + Store 1544(r026) 1547 + 1549: 76 Load 79(inF0) + 1550: 76 Load 80(inF1) + 1551: 76 Load 81(inF2) + 1552: 76 ExtInst 1(GLSL.std.450) 46(FMix) 1549 1550 1551 + Store 1548(r026a) 1552 + 1554: 76 Load 79(inF0) + 1555: 76 ExtInst 1(GLSL.std.450) 28(Log) 1554 + Store 1553(r027) 1555 1557: 76 Load 79(inF0) 1558: 76 ExtInst 1(GLSL.std.450) 30(Log2) 1557 - Store 1556(r029) 1558 - 1560: 76 Load 79(inF0) - 1561: 76 Load 80(inF1) - 1562: 76 ExtInst 1(GLSL.std.450) 40(FMax) 1560 1561 - Store 1559(r030) 1562 + 1559: 76 MatrixTimesScalar 1558 266 + Store 1556(r028) 1559 + 1561: 76 Load 79(inF0) + 1562: 76 ExtInst 1(GLSL.std.450) 30(Log2) 1561 + Store 1560(r029) 1562 1564: 76 Load 79(inF0) 1565: 76 Load 80(inF1) - 1566: 76 ExtInst 1(GLSL.std.450) 37(FMin) 1564 1565 - Store 1563(r031) 1566 + 1566: 76 ExtInst 1(GLSL.std.450) 40(FMax) 1564 1565 + Store 1563(r030) 1566 1568: 76 Load 79(inF0) 1569: 76 Load 80(inF1) - 1570: 76 ExtInst 1(GLSL.std.450) 26(Pow) 1568 1569 - Store 1567(r032) 1570 + 1570: 76 ExtInst 1(GLSL.std.450) 37(FMin) 1568 1569 + Store 1567(r031) 1570 1572: 76 Load 79(inF0) - 1573: 76 ExtInst 1(GLSL.std.450) 11(Radians) 1572 - Store 1571(r033) 1573 - 1575: 76 Load 79(inF0) - 1576: 76 ExtInst 1(GLSL.std.450) 2(RoundEven) 1575 - Store 1574(r034) 1576 - 1578: 76 Load 79(inF0) - 1579: 76 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1578 - Store 1577(r035) 1579 - 1581: 76 Load 79(inF0) - 1582: 48(fvec4) CompositeConstruct 175 175 175 175 - 1583: 48(fvec4) CompositeConstruct 283 283 283 283 - 1584: 76 ExtInst 1(GLSL.std.450) 43(FClamp) 1581 1582 1583 - Store 1580(r036) 1584 - 1586: 76 Load 79(inF0) - 1587: 76 ExtInst 1(GLSL.std.450) 6(FSign) 1586 - Store 1585(r037) 1587 - 1589: 76 Load 79(inF0) - 1590: 76 ExtInst 1(GLSL.std.450) 13(Sin) 1589 - Store 1588(r038) 1590 - 1591: 76 Load 79(inF0) - 1592: 76 ExtInst 1(GLSL.std.450) 13(Sin) 1591 - Store 80(inF1) 1592 + 1573: 76 Load 80(inF1) + 1574: 76 ExtInst 1(GLSL.std.450) 26(Pow) 1572 1573 + Store 1571(r032) 1574 + 1576: 76 Load 79(inF0) + 1577: 76 ExtInst 1(GLSL.std.450) 11(Radians) 1576 + Store 1575(r033) 1577 + 1579: 76 Load 79(inF0) + 1580: 76 ExtInst 1(GLSL.std.450) 2(RoundEven) 1579 + Store 1578(r034) 1580 + 1582: 76 Load 79(inF0) + 1583: 76 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1582 + Store 1581(r035) 1583 + 1585: 76 Load 79(inF0) + 1586: 48(fvec4) CompositeConstruct 179 179 179 179 + 1587: 48(fvec4) CompositeConstruct 287 287 287 287 + 1588: 76 ExtInst 1(GLSL.std.450) 43(FClamp) 1585 1586 1587 + Store 1584(r036) 1588 + 1590: 76 Load 79(inF0) + 1591: 76 ExtInst 1(GLSL.std.450) 6(FSign) 1590 + Store 1589(r037) 1591 1593: 76 Load 79(inF0) - 1594: 76 ExtInst 1(GLSL.std.450) 14(Cos) 1593 - Store 81(inF2) 1594 - 1596: 76 Load 79(inF0) - 1597: 76 ExtInst 1(GLSL.std.450) 19(Sinh) 1596 - Store 1595(r039) 1597 - 1599: 76 Load 79(inF0) - 1600: 76 Load 80(inF1) - 1601: 76 Load 81(inF2) - 1602: 76 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1599 1600 1601 - Store 1598(r049) 1602 - 1604: 76 Load 79(inF0) - 1605: 76 ExtInst 1(GLSL.std.450) 31(Sqrt) 1604 - Store 1603(r041) 1605 - 1607: 76 Load 79(inF0) - 1608: 76 Load 80(inF1) - 1609: 76 ExtInst 1(GLSL.std.450) 48(Step) 1607 1608 - Store 1606(r042) 1609 + 1594: 76 ExtInst 1(GLSL.std.450) 13(Sin) 1593 + Store 1592(r038) 1594 + 1595: 76 Load 79(inF0) + 1596: 76 ExtInst 1(GLSL.std.450) 13(Sin) 1595 + Store 80(inF1) 1596 + 1597: 76 Load 79(inF0) + 1598: 76 ExtInst 1(GLSL.std.450) 14(Cos) 1597 + Store 81(inF2) 1598 + 1600: 76 Load 79(inF0) + 1601: 76 ExtInst 1(GLSL.std.450) 19(Sinh) 1600 + Store 1599(r039) 1601 + 1603: 76 Load 79(inF0) + 1604: 76 Load 80(inF1) + 1605: 76 Load 81(inF2) + 1606: 76 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1603 1604 1605 + Store 1602(r049) 1606 + 1608: 76 Load 79(inF0) + 1609: 76 ExtInst 1(GLSL.std.450) 31(Sqrt) 1608 + Store 1607(r041) 1609 1611: 76 Load 79(inF0) - 1612: 76 ExtInst 1(GLSL.std.450) 15(Tan) 1611 - Store 1610(r043) 1612 - 1614: 76 Load 79(inF0) - 1615: 76 ExtInst 1(GLSL.std.450) 21(Tanh) 1614 - Store 1613(r044) 1615 - 1616: 76 Load 79(inF0) - 1617: 76 Transpose 1616 - 1619: 76 Load 79(inF0) - 1620: 76 ExtInst 1(GLSL.std.450) 3(Trunc) 1619 - Store 1618(r046) 1620 - ReturnValue 1622 + 1612: 76 Load 80(inF1) + 1613: 76 ExtInst 1(GLSL.std.450) 48(Step) 1611 1612 + Store 1610(r042) 1613 + 1615: 76 Load 79(inF0) + 1616: 76 ExtInst 1(GLSL.std.450) 15(Tan) 1615 + Store 1614(r043) 1616 + 1618: 76 Load 79(inF0) + 1619: 76 ExtInst 1(GLSL.std.450) 21(Tanh) 1618 + Store 1617(r044) 1619 + 1620: 76 Load 79(inF0) + 1621: 76 Transpose 1620 + 1623: 76 Load 79(inF0) + 1624: 76 ExtInst 1(GLSL.std.450) 3(Trunc) 1623 + Store 1622(r046) 1624 + ReturnValue 1626 FunctionEnd 91(TestGenMul2(f1;f1;vf2;vf2;mf22;mf22;): 2 Function None 84 85(inF0): 7(ptr) FunctionParameter @@ -8182,51 +8187,51 @@ gl_FragCoord origin is upper left 89(inFM0): 61(ptr) FunctionParameter 90(inFM1): 61(ptr) FunctionParameter 92: Label - 1625(r0): 7(ptr) Variable Function - 1629(r1): 25(ptr) Variable Function - 1633(r2): 25(ptr) Variable Function - 1637(r3): 7(ptr) Variable Function - 1641(r4): 25(ptr) Variable Function - 1645(r5): 25(ptr) Variable Function - 1649(r6): 61(ptr) Variable Function - 1653(r7): 61(ptr) Variable Function - 1657(r8): 61(ptr) Variable Function - 1626: 6(float) Load 86(inF1) - 1627: 6(float) Load 85(inF0) - 1628: 6(float) FMul 1626 1627 - Store 1625(r0) 1628 - 1630: 6(float) Load 85(inF0) - 1631: 24(fvec2) Load 87(inFV0) - 1632: 24(fvec2) VectorTimesScalar 1631 1630 - Store 1629(r1) 1632 - 1634: 24(fvec2) Load 87(inFV0) - 1635: 6(float) Load 85(inF0) - 1636: 24(fvec2) VectorTimesScalar 1634 1635 - Store 1633(r2) 1636 + 1629(r0): 7(ptr) Variable Function + 1633(r1): 25(ptr) Variable Function + 1637(r2): 25(ptr) Variable Function + 1641(r3): 7(ptr) Variable Function + 1645(r4): 25(ptr) Variable Function + 1649(r5): 25(ptr) Variable Function + 1653(r6): 61(ptr) Variable Function + 1657(r7): 61(ptr) Variable Function + 1661(r8): 61(ptr) Variable Function + 1630: 6(float) Load 86(inF1) + 1631: 6(float) Load 85(inF0) + 1632: 6(float) FMul 1630 1631 + Store 1629(r0) 1632 + 1634: 6(float) Load 85(inF0) + 1635: 24(fvec2) Load 87(inFV0) + 1636: 24(fvec2) VectorTimesScalar 1635 1634 + Store 1633(r1) 1636 1638: 24(fvec2) Load 87(inFV0) - 1639: 24(fvec2) Load 88(inFV1) - 1640: 6(float) Dot 1638 1639 - Store 1637(r3) 1640 + 1639: 6(float) Load 85(inF0) + 1640: 24(fvec2) VectorTimesScalar 1638 1639 + Store 1637(r2) 1640 1642: 24(fvec2) Load 87(inFV0) - 1643: 60 Load 89(inFM0) - 1644: 24(fvec2) VectorTimesMatrix 1642 1643 - Store 1641(r4) 1644 - 1646: 60 Load 89(inFM0) - 1647: 24(fvec2) Load 87(inFV0) - 1648: 24(fvec2) MatrixTimesVector 1646 1647 - Store 1645(r5) 1648 - 1650: 6(float) Load 85(inF0) - 1651: 60 Load 89(inFM0) - 1652: 60 MatrixTimesScalar 1651 1650 - Store 1649(r6) 1652 - 1654: 60 Load 89(inFM0) - 1655: 6(float) Load 85(inF0) - 1656: 60 MatrixTimesScalar 1654 1655 - Store 1653(r7) 1656 - 1658: 60 Load 90(inFM1) - 1659: 60 Load 89(inFM0) - 1660: 60 MatrixTimesMatrix 1658 1659 - Store 1657(r8) 1660 + 1643: 24(fvec2) Load 88(inFV1) + 1644: 6(float) Dot 1642 1643 + Store 1641(r3) 1644 + 1646: 24(fvec2) Load 87(inFV0) + 1647: 60 Load 89(inFM0) + 1648: 24(fvec2) VectorTimesMatrix 1646 1647 + Store 1645(r4) 1648 + 1650: 60 Load 89(inFM0) + 1651: 24(fvec2) Load 87(inFV0) + 1652: 24(fvec2) MatrixTimesVector 1650 1651 + Store 1649(r5) 1652 + 1654: 6(float) Load 85(inF0) + 1655: 60 Load 89(inFM0) + 1656: 60 MatrixTimesScalar 1655 1654 + Store 1653(r6) 1656 + 1658: 60 Load 89(inFM0) + 1659: 6(float) Load 85(inF0) + 1660: 60 MatrixTimesScalar 1658 1659 + Store 1657(r7) 1660 + 1662: 60 Load 90(inFM1) + 1663: 60 Load 89(inFM0) + 1664: 60 MatrixTimesMatrix 1662 1663 + Store 1661(r8) 1664 Return FunctionEnd 100(TestGenMul3(f1;f1;vf3;vf3;mf33;mf33;): 2 Function None 93 @@ -8237,51 +8242,51 @@ gl_FragCoord origin is upper left 98(inFM0): 69(ptr) FunctionParameter 99(inFM1): 69(ptr) FunctionParameter 101: Label - 1661(r0): 7(ptr) Variable Function - 1665(r1): 37(ptr) Variable Function - 1669(r2): 37(ptr) Variable Function - 1673(r3): 7(ptr) Variable Function - 1677(r4): 37(ptr) Variable Function - 1681(r5): 37(ptr) Variable Function - 1685(r6): 69(ptr) Variable Function - 1689(r7): 69(ptr) Variable Function - 1693(r8): 69(ptr) Variable Function - 1662: 6(float) Load 95(inF1) - 1663: 6(float) Load 94(inF0) - 1664: 6(float) FMul 1662 1663 - Store 1661(r0) 1664 - 1666: 6(float) Load 94(inF0) - 1667: 36(fvec3) Load 96(inFV0) - 1668: 36(fvec3) VectorTimesScalar 1667 1666 - Store 1665(r1) 1668 - 1670: 36(fvec3) Load 96(inFV0) - 1671: 6(float) Load 94(inF0) - 1672: 36(fvec3) VectorTimesScalar 1670 1671 - Store 1669(r2) 1672 + 1665(r0): 7(ptr) Variable Function + 1669(r1): 37(ptr) Variable Function + 1673(r2): 37(ptr) Variable Function + 1677(r3): 7(ptr) Variable Function + 1681(r4): 37(ptr) Variable Function + 1685(r5): 37(ptr) Variable Function + 1689(r6): 69(ptr) Variable Function + 1693(r7): 69(ptr) Variable Function + 1697(r8): 69(ptr) Variable Function + 1666: 6(float) Load 95(inF1) + 1667: 6(float) Load 94(inF0) + 1668: 6(float) FMul 1666 1667 + Store 1665(r0) 1668 + 1670: 6(float) Load 94(inF0) + 1671: 36(fvec3) Load 96(inFV0) + 1672: 36(fvec3) VectorTimesScalar 1671 1670 + Store 1669(r1) 1672 1674: 36(fvec3) Load 96(inFV0) - 1675: 36(fvec3) Load 97(inFV1) - 1676: 6(float) Dot 1674 1675 - Store 1673(r3) 1676 + 1675: 6(float) Load 94(inF0) + 1676: 36(fvec3) VectorTimesScalar 1674 1675 + Store 1673(r2) 1676 1678: 36(fvec3) Load 96(inFV0) - 1679: 68 Load 98(inFM0) - 1680: 36(fvec3) VectorTimesMatrix 1678 1679 - Store 1677(r4) 1680 - 1682: 68 Load 98(inFM0) - 1683: 36(fvec3) Load 96(inFV0) - 1684: 36(fvec3) MatrixTimesVector 1682 1683 - Store 1681(r5) 1684 - 1686: 6(float) Load 94(inF0) - 1687: 68 Load 98(inFM0) - 1688: 68 MatrixTimesScalar 1687 1686 - Store 1685(r6) 1688 - 1690: 68 Load 98(inFM0) - 1691: 6(float) Load 94(inF0) - 1692: 68 MatrixTimesScalar 1690 1691 - Store 1689(r7) 1692 - 1694: 68 Load 99(inFM1) - 1695: 68 Load 98(inFM0) - 1696: 68 MatrixTimesMatrix 1694 1695 - Store 1693(r8) 1696 + 1679: 36(fvec3) Load 97(inFV1) + 1680: 6(float) Dot 1678 1679 + Store 1677(r3) 1680 + 1682: 36(fvec3) Load 96(inFV0) + 1683: 68 Load 98(inFM0) + 1684: 36(fvec3) VectorTimesMatrix 1682 1683 + Store 1681(r4) 1684 + 1686: 68 Load 98(inFM0) + 1687: 36(fvec3) Load 96(inFV0) + 1688: 36(fvec3) MatrixTimesVector 1686 1687 + Store 1685(r5) 1688 + 1690: 6(float) Load 94(inF0) + 1691: 68 Load 98(inFM0) + 1692: 68 MatrixTimesScalar 1691 1690 + Store 1689(r6) 1692 + 1694: 68 Load 98(inFM0) + 1695: 6(float) Load 94(inF0) + 1696: 68 MatrixTimesScalar 1694 1695 + Store 1693(r7) 1696 + 1698: 68 Load 99(inFM1) + 1699: 68 Load 98(inFM0) + 1700: 68 MatrixTimesMatrix 1698 1699 + Store 1697(r8) 1700 Return FunctionEnd 109(TestGenMul4(f1;f1;vf4;vf4;mf44;mf44;): 2 Function None 102 @@ -8292,51 +8297,51 @@ gl_FragCoord origin is upper left 107(inFM0): 77(ptr) FunctionParameter 108(inFM1): 77(ptr) FunctionParameter 110: Label - 1697(r0): 7(ptr) Variable Function - 1701(r1): 49(ptr) Variable Function - 1705(r2): 49(ptr) Variable Function - 1709(r3): 7(ptr) Variable Function - 1713(r4): 49(ptr) Variable Function - 1717(r5): 49(ptr) Variable Function - 1721(r6): 77(ptr) Variable Function - 1725(r7): 77(ptr) Variable Function - 1729(r8): 77(ptr) Variable Function - 1698: 6(float) Load 104(inF1) - 1699: 6(float) Load 103(inF0) - 1700: 6(float) FMul 1698 1699 - Store 1697(r0) 1700 - 1702: 6(float) Load 103(inF0) - 1703: 48(fvec4) Load 105(inFV0) - 1704: 48(fvec4) VectorTimesScalar 1703 1702 - Store 1701(r1) 1704 - 1706: 48(fvec4) Load 105(inFV0) - 1707: 6(float) Load 103(inF0) - 1708: 48(fvec4) VectorTimesScalar 1706 1707 - Store 1705(r2) 1708 + 1701(r0): 7(ptr) Variable Function + 1705(r1): 49(ptr) Variable Function + 1709(r2): 49(ptr) Variable Function + 1713(r3): 7(ptr) Variable Function + 1717(r4): 49(ptr) Variable Function + 1721(r5): 49(ptr) Variable Function + 1725(r6): 77(ptr) Variable Function + 1729(r7): 77(ptr) Variable Function + 1733(r8): 77(ptr) Variable Function + 1702: 6(float) Load 104(inF1) + 1703: 6(float) Load 103(inF0) + 1704: 6(float) FMul 1702 1703 + Store 1701(r0) 1704 + 1706: 6(float) Load 103(inF0) + 1707: 48(fvec4) Load 105(inFV0) + 1708: 48(fvec4) VectorTimesScalar 1707 1706 + Store 1705(r1) 1708 1710: 48(fvec4) Load 105(inFV0) - 1711: 48(fvec4) Load 106(inFV1) - 1712: 6(float) Dot 1710 1711 - Store 1709(r3) 1712 + 1711: 6(float) Load 103(inF0) + 1712: 48(fvec4) VectorTimesScalar 1710 1711 + Store 1709(r2) 1712 1714: 48(fvec4) Load 105(inFV0) - 1715: 76 Load 107(inFM0) - 1716: 48(fvec4) VectorTimesMatrix 1714 1715 - Store 1713(r4) 1716 - 1718: 76 Load 107(inFM0) - 1719: 48(fvec4) Load 105(inFV0) - 1720: 48(fvec4) MatrixTimesVector 1718 1719 - Store 1717(r5) 1720 - 1722: 6(float) Load 103(inF0) - 1723: 76 Load 107(inFM0) - 1724: 76 MatrixTimesScalar 1723 1722 - Store 1721(r6) 1724 - 1726: 76 Load 107(inFM0) - 1727: 6(float) Load 103(inF0) - 1728: 76 MatrixTimesScalar 1726 1727 - Store 1725(r7) 1728 - 1730: 76 Load 108(inFM1) - 1731: 76 Load 107(inFM0) - 1732: 76 MatrixTimesMatrix 1730 1731 - Store 1729(r8) 1732 + 1715: 48(fvec4) Load 106(inFV1) + 1716: 6(float) Dot 1714 1715 + Store 1713(r3) 1716 + 1718: 48(fvec4) Load 105(inFV0) + 1719: 76 Load 107(inFM0) + 1720: 48(fvec4) VectorTimesMatrix 1718 1719 + Store 1717(r4) 1720 + 1722: 76 Load 107(inFM0) + 1723: 48(fvec4) Load 105(inFV0) + 1724: 48(fvec4) MatrixTimesVector 1722 1723 + Store 1721(r5) 1724 + 1726: 6(float) Load 103(inF0) + 1727: 76 Load 107(inFM0) + 1728: 76 MatrixTimesScalar 1727 1726 + Store 1725(r6) 1728 + 1730: 76 Load 107(inFM0) + 1731: 6(float) Load 103(inF0) + 1732: 76 MatrixTimesScalar 1730 1731 + Store 1729(r7) 1732 + 1734: 76 Load 108(inFM1) + 1735: 76 Load 107(inFM0) + 1736: 76 MatrixTimesMatrix 1734 1735 + Store 1733(r8) 1736 Return FunctionEnd 129(TestGenMulNxM(f1;f1;vf2;vf3;mf23;mf32;mf33;mf34;mf24;): 2 Function None 119 @@ -8350,90 +8355,98 @@ gl_FragCoord origin is upper left 127(inFM3x4): 116(ptr) FunctionParameter 128(inFM2x4): 118(ptr) FunctionParameter 130: Label - 1733(r00): 7(ptr) Variable Function - 1737(r01): 25(ptr) Variable Function - 1741(r02): 37(ptr) Variable Function - 1745(r03): 25(ptr) Variable Function - 1749(r04): 37(ptr) Variable Function - 1753(r05): 7(ptr) Variable Function - 1757(r06): 7(ptr) Variable Function - 1761(r07): 37(ptr) Variable Function - 1765(r08): 25(ptr) Variable Function - 1769(r09): 25(ptr) Variable Function - 1773(r10): 37(ptr) Variable Function - 1777(r11): 112(ptr) Variable Function - 1781(r12): 114(ptr) Variable Function - 1785(r13): 61(ptr) Variable Function - 1789(r14): 112(ptr) Variable Function - 1793(r15): 118(ptr) Variable Function - 1797(r16): 116(ptr) Variable Function - 1734: 6(float) Load 121(inF1) - 1735: 6(float) Load 120(inF0) - 1736: 6(float) FMul 1734 1735 - Store 1733(r00) 1736 - 1738: 6(float) Load 120(inF0) - 1739: 24(fvec2) Load 122(inFV2) - 1740: 24(fvec2) VectorTimesScalar 1739 1738 - Store 1737(r01) 1740 + 1737(r00): 7(ptr) Variable Function + 1741(r01): 25(ptr) Variable Function + 1745(r02): 37(ptr) Variable Function + 1749(r03): 25(ptr) Variable Function + 1753(r04): 37(ptr) Variable Function + 1757(r05): 7(ptr) Variable Function + 1761(r06): 7(ptr) Variable Function + 1765(r07): 37(ptr) Variable Function + 1769(r08): 25(ptr) Variable Function + 1773(r09): 25(ptr) Variable Function + 1777(r10): 37(ptr) Variable Function + 1781(r11): 112(ptr) Variable Function + 1785(r12): 114(ptr) Variable Function + 1789(r13): 61(ptr) Variable Function + 1793(r14): 112(ptr) Variable Function + 1797(r15): 118(ptr) Variable Function + 1801(r16): 116(ptr) Variable Function + 1738: 6(float) Load 121(inF1) + 1739: 6(float) Load 120(inF0) + 1740: 6(float) FMul 1738 1739 + Store 1737(r00) 1740 1742: 6(float) Load 120(inF0) - 1743: 36(fvec3) Load 123(inFV3) - 1744: 36(fvec3) VectorTimesScalar 1743 1742 - Store 1741(r02) 1744 - 1746: 24(fvec2) Load 122(inFV2) - 1747: 6(float) Load 120(inF0) - 1748: 24(fvec2) VectorTimesScalar 1746 1747 - Store 1745(r03) 1748 - 1750: 36(fvec3) Load 123(inFV3) + 1743: 24(fvec2) Load 122(inFV2) + 1744: 24(fvec2) VectorTimesScalar 1743 1742 + Store 1741(r01) 1744 + 1746: 6(float) Load 120(inF0) + 1747: 36(fvec3) Load 123(inFV3) + 1748: 36(fvec3) VectorTimesScalar 1747 1746 + Store 1745(r02) 1748 + 1750: 24(fvec2) Load 122(inFV2) 1751: 6(float) Load 120(inF0) - 1752: 36(fvec3) VectorTimesScalar 1750 1751 - Store 1749(r04) 1752 - 1754: 24(fvec2) Load 122(inFV2) - 1755: 24(fvec2) Load 122(inFV2) - 1756: 6(float) Dot 1754 1755 - Store 1753(r05) 1756 - 1758: 36(fvec3) Load 123(inFV3) - 1759: 36(fvec3) Load 123(inFV3) + 1752: 24(fvec2) VectorTimesScalar 1750 1751 + Store 1749(r03) 1752 + 1754: 36(fvec3) Load 123(inFV3) + 1755: 6(float) Load 120(inF0) + 1756: 36(fvec3) VectorTimesScalar 1754 1755 + Store 1753(r04) 1756 + 1758: 24(fvec2) Load 122(inFV2) + 1759: 24(fvec2) Load 122(inFV2) 1760: 6(float) Dot 1758 1759 - Store 1757(r06) 1760 - 1762: 111 Load 124(inFM2x3) - 1763: 24(fvec2) Load 122(inFV2) - 1764: 36(fvec3) MatrixTimesVector 1762 1763 - Store 1761(r07) 1764 - 1766: 113 Load 125(inFM3x2) - 1767: 36(fvec3) Load 123(inFV3) - 1768: 24(fvec2) MatrixTimesVector 1766 1767 - Store 1765(r08) 1768 - 1770: 36(fvec3) Load 123(inFV3) - 1771: 111 Load 124(inFM2x3) - 1772: 24(fvec2) VectorTimesMatrix 1770 1771 - Store 1769(r09) 1772 - 1774: 24(fvec2) Load 122(inFV2) - 1775: 113 Load 125(inFM3x2) - 1776: 36(fvec3) VectorTimesMatrix 1774 1775 - Store 1773(r10) 1776 - 1778: 6(float) Load 120(inF0) - 1779: 111 Load 124(inFM2x3) - 1780: 111 MatrixTimesScalar 1779 1778 - Store 1777(r11) 1780 + Store 1757(r05) 1760 + 1762: 36(fvec3) Load 123(inFV3) + 1763: 36(fvec3) Load 123(inFV3) + 1764: 6(float) Dot 1762 1763 + Store 1761(r06) 1764 + 1766: 111 Load 124(inFM2x3) + 1767: 24(fvec2) Load 122(inFV2) + 1768: 36(fvec3) MatrixTimesVector 1766 1767 + Store 1765(r07) 1768 + 1770: 113 Load 125(inFM3x2) + 1771: 36(fvec3) Load 123(inFV3) + 1772: 24(fvec2) MatrixTimesVector 1770 1771 + Store 1769(r08) 1772 + 1774: 36(fvec3) Load 123(inFV3) + 1775: 111 Load 124(inFM2x3) + 1776: 24(fvec2) VectorTimesMatrix 1774 1775 + Store 1773(r09) 1776 + 1778: 24(fvec2) Load 122(inFV2) + 1779: 113 Load 125(inFM3x2) + 1780: 36(fvec3) VectorTimesMatrix 1778 1779 + Store 1777(r10) 1780 1782: 6(float) Load 120(inF0) - 1783: 113 Load 125(inFM3x2) - 1784: 113 MatrixTimesScalar 1783 1782 - Store 1781(r12) 1784 - 1786: 113 Load 125(inFM3x2) - 1787: 111 Load 124(inFM2x3) - 1788: 60 MatrixTimesMatrix 1786 1787 - Store 1785(r13) 1788 - 1790: 68 Load 126(inFM3x3) + 1783: 111 Load 124(inFM2x3) + 1784: 111 MatrixTimesScalar 1783 1782 + Store 1781(r11) 1784 + 1786: 6(float) Load 120(inF0) + 1787: 113 Load 125(inFM3x2) + 1788: 113 MatrixTimesScalar 1787 1786 + Store 1785(r12) 1788 + 1790: 113 Load 125(inFM3x2) 1791: 111 Load 124(inFM2x3) - 1792: 111 MatrixTimesMatrix 1790 1791 - Store 1789(r14) 1792 - 1794: 115 Load 127(inFM3x4) + 1792: 60 MatrixTimesMatrix 1790 1791 + Store 1789(r13) 1792 + 1794: 68 Load 126(inFM3x3) 1795: 111 Load 124(inFM2x3) - 1796: 117 MatrixTimesMatrix 1794 1795 - Store 1793(r15) 1796 - 1798: 117 Load 128(inFM2x4) - 1799: 113 Load 125(inFM3x2) - 1800: 115 MatrixTimesMatrix 1798 1799 - Store 1797(r16) 1800 + 1796: 111 MatrixTimesMatrix 1794 1795 + Store 1793(r14) 1796 + 1798: 115 Load 127(inFM3x4) + 1799: 111 Load 124(inFM2x3) + 1800: 117 MatrixTimesMatrix 1798 1799 + Store 1797(r15) 1800 + 1802: 117 Load 128(inFM2x4) + 1803: 113 Load 125(inFM3x2) + 1804: 115 MatrixTimesMatrix 1802 1803 + Store 1801(r16) 1804 Return FunctionEnd + 133(@main():131(PS_OUTPUT) Function None 132 + 134: Label + 1806(ps_output): 1805(ptr) Variable Function + 1809: 49(ptr) AccessChain 1806(ps_output) 1807 + Store 1809 1808 + 1810:131(PS_OUTPUT) Load 1806(ps_output) + ReturnValue 1810 + FunctionEnd diff --git a/Test/baseResults/hlsl.intrinsics.lit.frag.out b/Test/baseResults/hlsl.intrinsics.lit.frag.out index 6b393048..581fa5a6 100644 --- a/Test/baseResults/hlsl.intrinsics.lit.frag.out +++ b/Test/baseResults/hlsl.intrinsics.lit.frag.out @@ -2,11 +2,11 @@ hlsl.intrinsics.lit.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(f1;f1;f1; (temp void) +0:2 Function Definition: @PixelShaderFunction(f1;f1;f1; (temp void) 0:2 Function Parameters: -0:2 'n_dot_l' (layout(location=0 ) in float) -0:2 'n_dot_h' (layout(location=1 ) in float) -0:2 'm' (layout(location=2 ) in float) +0:2 'n_dot_l' (in float) +0:2 'n_dot_h' (in float) +0:2 'm' (in float) 0:? Sequence 0:3 Sequence 0:3 move second child to first child (temp 4-component vector of float) @@ -15,15 +15,15 @@ gl_FragCoord origin is upper left 0:3 Constant: 0:3 1.000000 0:3 max (temp float) -0:3 'n_dot_l' (layout(location=0 ) in float) +0:3 'n_dot_l' (in float) 0:3 Constant: 0:3 0.000000 0:3 Test condition and select (temp float) 0:3 Condition 0:3 Compare Less Than (temp bool) 0:3 min (temp float) -0:3 'n_dot_l' (layout(location=0 ) in float) -0:3 'n_dot_h' (layout(location=1 ) in float) +0:3 'n_dot_l' (in float) +0:3 'n_dot_h' (in float) 0:3 Constant: 0:3 0.000000 0:3 true case @@ -31,10 +31,26 @@ gl_FragCoord origin is upper left 0:3 0.000000 0:3 false case 0:3 component-wise multiply (temp float) -0:3 'n_dot_h' (layout(location=1 ) in float) -0:3 'm' (layout(location=2 ) in float) +0:3 'n_dot_h' (in float) +0:3 'm' (in float) 0:3 Constant: 0:3 1.000000 +0:2 Function Definition: PixelShaderFunction( (temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child (temp float) +0:? 'n_dot_l' (temp float) +0:? 'n_dot_l' (layout(location=0 ) in float) +0:2 move second child to first child (temp float) +0:? 'n_dot_h' (temp float) +0:? 'n_dot_h' (layout(location=1 ) in float) +0:2 move second child to first child (temp float) +0:? 'm' (temp float) +0:? 'm' (layout(location=2 ) in float) +0:2 Function Call: @PixelShaderFunction(f1;f1;f1; (temp void) +0:? 'n_dot_l' (temp float) +0:? 'n_dot_h' (temp float) +0:? 'm' (temp float) 0:? Linker Objects 0:? 'n_dot_l' (layout(location=0 ) in float) 0:? 'n_dot_h' (layout(location=1 ) in float) @@ -47,11 +63,11 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(f1;f1;f1; (temp void) +0:2 Function Definition: @PixelShaderFunction(f1;f1;f1; (temp void) 0:2 Function Parameters: -0:2 'n_dot_l' (layout(location=0 ) in float) -0:2 'n_dot_h' (layout(location=1 ) in float) -0:2 'm' (layout(location=2 ) in float) +0:2 'n_dot_l' (in float) +0:2 'n_dot_h' (in float) +0:2 'm' (in float) 0:? Sequence 0:3 Sequence 0:3 move second child to first child (temp 4-component vector of float) @@ -60,15 +76,15 @@ gl_FragCoord origin is upper left 0:3 Constant: 0:3 1.000000 0:3 max (temp float) -0:3 'n_dot_l' (layout(location=0 ) in float) +0:3 'n_dot_l' (in float) 0:3 Constant: 0:3 0.000000 0:3 Test condition and select (temp float) 0:3 Condition 0:3 Compare Less Than (temp bool) 0:3 min (temp float) -0:3 'n_dot_l' (layout(location=0 ) in float) -0:3 'n_dot_h' (layout(location=1 ) in float) +0:3 'n_dot_l' (in float) +0:3 'n_dot_h' (in float) 0:3 Constant: 0:3 0.000000 0:3 true case @@ -76,10 +92,26 @@ gl_FragCoord origin is upper left 0:3 0.000000 0:3 false case 0:3 component-wise multiply (temp float) -0:3 'n_dot_h' (layout(location=1 ) in float) -0:3 'm' (layout(location=2 ) in float) +0:3 'n_dot_h' (in float) +0:3 'm' (in float) 0:3 Constant: 0:3 1.000000 +0:2 Function Definition: PixelShaderFunction( (temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child (temp float) +0:? 'n_dot_l' (temp float) +0:? 'n_dot_l' (layout(location=0 ) in float) +0:2 move second child to first child (temp float) +0:? 'n_dot_h' (temp float) +0:? 'n_dot_h' (layout(location=1 ) in float) +0:2 move second child to first child (temp float) +0:? 'm' (temp float) +0:? 'm' (layout(location=2 ) in float) +0:2 Function Call: @PixelShaderFunction(f1;f1;f1; (temp void) +0:? 'n_dot_l' (temp float) +0:? 'n_dot_h' (temp float) +0:? 'm' (temp float) 0:? Linker Objects 0:? 'n_dot_l' (layout(location=0 ) in float) 0:? 'n_dot_h' (layout(location=1 ) in float) @@ -87,58 +119,95 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 33 +// Id's are bound by 52 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 12 19 28 + EntryPoint Fragment 4 "PixelShaderFunction" 37 40 43 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 9 "r0" - Name 12 "n_dot_l" - Name 19 "n_dot_h" - Name 28 "m" - Decorate 12(n_dot_l) Location 0 - Decorate 19(n_dot_h) Location 1 - Decorate 28(m) Location 2 + Name 12 "@PixelShaderFunction(f1;f1;f1;" + Name 9 "n_dot_l" + Name 10 "n_dot_h" + Name 11 "m" + Name 16 "r0" + Name 35 "n_dot_l" + Name 37 "n_dot_l" + Name 39 "n_dot_h" + Name 40 "n_dot_h" + Name 42 "m" + Name 43 "m" + Name 45 "param" + Name 47 "param" + Name 49 "param" + Decorate 37(n_dot_l) Location 0 + Decorate 40(n_dot_h) Location 1 + Decorate 43(m) Location 2 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: 6(float) Constant 1065353216 - 11: TypePointer Input 6(float) - 12(n_dot_l): 11(ptr) Variable Input - 14: 6(float) Constant 0 - 16: TypePointer Function 6(float) - 19(n_dot_h): 11(ptr) Variable Input - 22: TypeBool - 28(m): 11(ptr) Variable Input + 7: TypePointer Function 6(float) + 8: TypeFunction 2 7(ptr) 7(ptr) 7(ptr) + 14: TypeVector 6(float) 4 + 15: TypePointer Function 14(fvec4) + 17: 6(float) Constant 1065353216 + 19: 6(float) Constant 0 + 25: TypeBool + 36: TypePointer Input 6(float) + 37(n_dot_l): 36(ptr) Variable Input + 40(n_dot_h): 36(ptr) Variable Input + 43(m): 36(ptr) Variable Input 4(PixelShaderFunction): 2 Function None 3 5: Label - 9(r0): 8(ptr) Variable Function - 17: 16(ptr) Variable Function - 13: 6(float) Load 12(n_dot_l) - 15: 6(float) ExtInst 1(GLSL.std.450) 40(FMax) 13 14 - 18: 6(float) Load 12(n_dot_l) - 20: 6(float) Load 19(n_dot_h) - 21: 6(float) ExtInst 1(GLSL.std.450) 37(FMin) 18 20 - 23: 22(bool) FOrdLessThan 21 14 - SelectionMerge 25 None - BranchConditional 23 24 26 - 24: Label - Store 17 14 - Branch 25 - 26: Label - 27: 6(float) Load 19(n_dot_h) - 29: 6(float) Load 28(m) - 30: 6(float) FMul 27 29 - Store 17 30 - Branch 25 - 25: Label - 31: 6(float) Load 17 - 32: 7(fvec4) CompositeConstruct 10 15 31 10 - Store 9(r0) 32 + 35(n_dot_l): 7(ptr) Variable Function + 39(n_dot_h): 7(ptr) Variable Function + 42(m): 7(ptr) Variable Function + 45(param): 7(ptr) Variable Function + 47(param): 7(ptr) Variable Function + 49(param): 7(ptr) Variable Function + 38: 6(float) Load 37(n_dot_l) + Store 35(n_dot_l) 38 + 41: 6(float) Load 40(n_dot_h) + Store 39(n_dot_h) 41 + 44: 6(float) Load 43(m) + Store 42(m) 44 + 46: 6(float) Load 35(n_dot_l) + Store 45(param) 46 + 48: 6(float) Load 39(n_dot_h) + Store 47(param) 48 + 50: 6(float) Load 42(m) + Store 49(param) 50 + 51: 2 FunctionCall 12(@PixelShaderFunction(f1;f1;f1;) 45(param) 47(param) 49(param) + Return + FunctionEnd +12(@PixelShaderFunction(f1;f1;f1;): 2 Function None 8 + 9(n_dot_l): 7(ptr) FunctionParameter + 10(n_dot_h): 7(ptr) FunctionParameter + 11(m): 7(ptr) FunctionParameter + 13: Label + 16(r0): 15(ptr) Variable Function + 21: 7(ptr) Variable Function + 18: 6(float) Load 9(n_dot_l) + 20: 6(float) ExtInst 1(GLSL.std.450) 40(FMax) 18 19 + 22: 6(float) Load 9(n_dot_l) + 23: 6(float) Load 10(n_dot_h) + 24: 6(float) ExtInst 1(GLSL.std.450) 37(FMin) 22 23 + 26: 25(bool) FOrdLessThan 24 19 + SelectionMerge 28 None + BranchConditional 26 27 29 + 27: Label + Store 21 19 + Branch 28 + 29: Label + 30: 6(float) Load 10(n_dot_h) + 31: 6(float) Load 11(m) + 32: 6(float) FMul 30 31 + Store 21 32 + Branch 28 + 28: Label + 33: 6(float) Load 21 + 34: 14(fvec4) CompositeConstruct 17 20 33 17 + Store 16(r0) 34 Return FunctionEnd diff --git a/Test/baseResults/hlsl.intrinsics.negative.comp.out b/Test/baseResults/hlsl.intrinsics.negative.comp.out index 44dedf77..f839e21f 100644 --- a/Test/baseResults/hlsl.intrinsics.negative.comp.out +++ b/Test/baseResults/hlsl.intrinsics.negative.comp.out @@ -45,22 +45,41 @@ local_size = (1, 1, 1) 0:? 1.000000 0:? 2.000000 0:? 3.000000 -0:158 Function Definition: ComputeShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float) +0:158 Function Definition: @ComputeShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float) 0:158 Function Parameters: -0:158 'inF0' (layout(location=0 ) in 4-component vector of float) -0:158 'inF1' (layout(location=1 ) in 4-component vector of float) -0:158 'inF2' (layout(location=2 ) in 4-component vector of float) -0:158 'inI0' (layout(location=3 ) in 4-component vector of int) +0:158 'inF0' (in 4-component vector of float) +0:158 'inF1' (in 4-component vector of float) +0:158 'inF2' (in 4-component vector of float) +0:158 'inI0' (in 4-component vector of int) 0:? Sequence -0:199 Sequence -0:199 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? Constant: -0:? 1.000000 -0:? 2.000000 -0:? 3.000000 -0:? 4.000000 -0:199 Branch: Return +0:199 Branch: Return with expression +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:? 3.000000 +0:? 4.000000 +0:158 Function Definition: ComputeShaderFunction( (temp void) +0:158 Function Parameters: +0:? Sequence +0:158 move second child to first child (temp 4-component vector of float) +0:? 'inF0' (temp 4-component vector of float) +0:? 'inF0' (layout(location=0 ) in 4-component vector of float) +0:158 move second child to first child (temp 4-component vector of float) +0:? 'inF1' (temp 4-component vector of float) +0:? 'inF1' (layout(location=1 ) in 4-component vector of float) +0:158 move second child to first child (temp 4-component vector of float) +0:? 'inF2' (temp 4-component vector of float) +0:? 'inF2' (layout(location=2 ) in 4-component vector of float) +0:158 move second child to first child (temp 4-component vector of int) +0:? 'inI0' (temp 4-component vector of int) +0:? 'inI0' (layout(location=3 ) in 4-component vector of int) +0:158 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:158 Function Call: @ComputeShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float) +0:? 'inF0' (temp 4-component vector of float) +0:? 'inF1' (temp 4-component vector of float) +0:? 'inF2' (temp 4-component vector of float) +0:? 'inI0' (temp 4-component vector of int) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 'inF0' (layout(location=0 ) in 4-component vector of float) @@ -118,22 +137,41 @@ local_size = (1, 1, 1) 0:? 1.000000 0:? 2.000000 0:? 3.000000 -0:158 Function Definition: ComputeShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float) +0:158 Function Definition: @ComputeShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float) 0:158 Function Parameters: -0:158 'inF0' (layout(location=0 ) in 4-component vector of float) -0:158 'inF1' (layout(location=1 ) in 4-component vector of float) -0:158 'inF2' (layout(location=2 ) in 4-component vector of float) -0:158 'inI0' (layout(location=3 ) in 4-component vector of int) +0:158 'inF0' (in 4-component vector of float) +0:158 'inF1' (in 4-component vector of float) +0:158 'inF2' (in 4-component vector of float) +0:158 'inI0' (in 4-component vector of int) 0:? Sequence -0:199 Sequence -0:199 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? Constant: -0:? 1.000000 -0:? 2.000000 -0:? 3.000000 -0:? 4.000000 -0:199 Branch: Return +0:199 Branch: Return with expression +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:? 3.000000 +0:? 4.000000 +0:158 Function Definition: ComputeShaderFunction( (temp void) +0:158 Function Parameters: +0:? Sequence +0:158 move second child to first child (temp 4-component vector of float) +0:? 'inF0' (temp 4-component vector of float) +0:? 'inF0' (layout(location=0 ) in 4-component vector of float) +0:158 move second child to first child (temp 4-component vector of float) +0:? 'inF1' (temp 4-component vector of float) +0:? 'inF1' (layout(location=1 ) in 4-component vector of float) +0:158 move second child to first child (temp 4-component vector of float) +0:? 'inF2' (temp 4-component vector of float) +0:? 'inF2' (layout(location=2 ) in 4-component vector of float) +0:158 move second child to first child (temp 4-component vector of int) +0:? 'inI0' (temp 4-component vector of int) +0:? 'inI0' (layout(location=3 ) in 4-component vector of int) +0:158 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:158 Function Call: @ComputeShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float) +0:? 'inF0' (temp 4-component vector of float) +0:? 'inF1' (temp 4-component vector of float) +0:? 'inF2' (temp 4-component vector of float) +0:? 'inI0' (temp 4-component vector of int) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 'inF0' (layout(location=0 ) in 4-component vector of float) @@ -143,12 +181,12 @@ local_size = (1, 1, 1) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 72 +// Id's are bound by 99 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint GLCompute 4 "ComputeShaderFunction" 61 66 67 68 71 + EntryPoint GLCompute 4 "ComputeShaderFunction" 76 79 82 86 89 ExecutionMode 4 LocalSize 1 1 1 Name 4 "ComputeShaderFunction" Name 15 "ComputeShaderFunctionS(f1;f1;f1;i1;" @@ -171,16 +209,29 @@ local_size = (1, 1, 1) Name 40 "inF1" Name 41 "inF2" Name 42 "inI0" - Name 61 "@entryPointOutput" - Name 66 "inF0" - Name 67 "inF1" - Name 68 "inF2" - Name 71 "inI0" - Decorate 61(@entryPointOutput) Location 0 - Decorate 66(inF0) Location 0 - Decorate 67(inF1) Location 1 - Decorate 68(inF2) Location 2 - Decorate 71(inI0) Location 3 + Name 54 "@ComputeShaderFunction(vf4;vf4;vf4;vi4;" + Name 50 "inF0" + Name 51 "inF1" + Name 52 "inF2" + Name 53 "inI0" + Name 74 "inF0" + Name 76 "inF0" + Name 78 "inF1" + Name 79 "inF1" + Name 81 "inF2" + Name 82 "inF2" + Name 84 "inI0" + Name 86 "inI0" + Name 89 "@entryPointOutput" + Name 90 "param" + Name 92 "param" + Name 94 "param" + Name 96 "param" + Decorate 76(inF0) Location 0 + Decorate 79(inF1) Location 1 + Decorate 82(inF2) Location 2 + Decorate 86(inI0) Location 3 + Decorate 89(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -198,27 +249,55 @@ local_size = (1, 1, 1) 36: TypeVector 8(int) 3 37: TypePointer Function 36(ivec3) 38: TypeFunction 34(fvec3) 35(ptr) 35(ptr) 35(ptr) 37(ptr) - 45: 6(float) Constant 0 - 50: 6(float) Constant 1065353216 - 51: 6(float) Constant 1073741824 - 52: 23(fvec2) ConstantComposite 50 51 - 55: 6(float) Constant 1077936128 - 56: 34(fvec3) ConstantComposite 50 51 55 - 59: TypeVector 6(float) 4 - 60: TypePointer Output 59(fvec4) -61(@entryPointOutput): 60(ptr) Variable Output - 62: 6(float) Constant 1082130432 - 63: 59(fvec4) ConstantComposite 50 51 55 62 - 65: TypePointer Input 59(fvec4) - 66(inF0): 65(ptr) Variable Input - 67(inF1): 65(ptr) Variable Input - 68(inF2): 65(ptr) Variable Input - 69: TypeVector 8(int) 4 - 70: TypePointer Input 69(ivec4) - 71(inI0): 70(ptr) Variable Input + 45: TypeVector 6(float) 4 + 46: TypePointer Function 45(fvec4) + 47: TypeVector 8(int) 4 + 48: TypePointer Function 47(ivec4) + 49: TypeFunction 45(fvec4) 46(ptr) 46(ptr) 46(ptr) 48(ptr) + 56: 6(float) Constant 0 + 61: 6(float) Constant 1065353216 + 62: 6(float) Constant 1073741824 + 63: 23(fvec2) ConstantComposite 61 62 + 66: 6(float) Constant 1077936128 + 67: 34(fvec3) ConstantComposite 61 62 66 + 70: 6(float) Constant 1082130432 + 71: 45(fvec4) ConstantComposite 61 62 66 70 + 75: TypePointer Input 45(fvec4) + 76(inF0): 75(ptr) Variable Input + 79(inF1): 75(ptr) Variable Input + 82(inF2): 75(ptr) Variable Input + 85: TypePointer Input 47(ivec4) + 86(inI0): 85(ptr) Variable Input + 88: TypePointer Output 45(fvec4) +89(@entryPointOutput): 88(ptr) Variable Output 4(ComputeShaderFunction): 2 Function None 3 5: Label - Store 61(@entryPointOutput) 63 + 74(inF0): 46(ptr) Variable Function + 78(inF1): 46(ptr) Variable Function + 81(inF2): 46(ptr) Variable Function + 84(inI0): 48(ptr) Variable Function + 90(param): 46(ptr) Variable Function + 92(param): 46(ptr) Variable Function + 94(param): 46(ptr) Variable Function + 96(param): 48(ptr) Variable Function + 77: 45(fvec4) Load 76(inF0) + Store 74(inF0) 77 + 80: 45(fvec4) Load 79(inF1) + Store 78(inF1) 80 + 83: 45(fvec4) Load 82(inF2) + Store 81(inF2) 83 + 87: 47(ivec4) Load 86(inI0) + Store 84(inI0) 87 + 91: 45(fvec4) Load 74(inF0) + Store 90(param) 91 + 93: 45(fvec4) Load 78(inF1) + Store 92(param) 93 + 95: 45(fvec4) Load 81(inF2) + Store 94(param) 95 + 97: 47(ivec4) Load 84(inI0) + Store 96(param) 97 + 98: 45(fvec4) FunctionCall 54(@ComputeShaderFunction(vf4;vf4;vf4;vi4;) 90(param) 92(param) 94(param) 96(param) + Store 89(@entryPointOutput) 98 Return FunctionEnd 15(ComputeShaderFunctionS(f1;f1;f1;i1;): 6(float) Function None 10 @@ -227,7 +306,7 @@ local_size = (1, 1, 1) 13(inF2): 7(ptr) FunctionParameter 14(inI0): 9(ptr) FunctionParameter 16: Label - ReturnValue 45 + ReturnValue 56 FunctionEnd 21(ComputeShaderFunction1(vf1;vf1;vf1;vi1;): 6(float) Function None 10 17(inF0): 7(ptr) FunctionParameter @@ -235,7 +314,7 @@ local_size = (1, 1, 1) 19(inF2): 7(ptr) FunctionParameter 20(inI0): 9(ptr) FunctionParameter 22: Label - ReturnValue 45 + ReturnValue 56 FunctionEnd 32(ComputeShaderFunction2(vf2;vf2;vf2;vi2;): 23(fvec2) Function None 27 28(inF0): 24(ptr) FunctionParameter @@ -243,7 +322,7 @@ local_size = (1, 1, 1) 30(inF2): 24(ptr) FunctionParameter 31(inI0): 26(ptr) FunctionParameter 33: Label - ReturnValue 52 + ReturnValue 63 FunctionEnd 43(ComputeShaderFunction3(vf3;vf3;vf3;vi3;): 34(fvec3) Function None 38 39(inF0): 35(ptr) FunctionParameter @@ -251,5 +330,13 @@ local_size = (1, 1, 1) 41(inF2): 35(ptr) FunctionParameter 42(inI0): 37(ptr) FunctionParameter 44: Label - ReturnValue 56 + ReturnValue 67 + FunctionEnd +54(@ComputeShaderFunction(vf4;vf4;vf4;vi4;): 45(fvec4) Function None 49 + 50(inF0): 46(ptr) FunctionParameter + 51(inF1): 46(ptr) FunctionParameter + 52(inF2): 46(ptr) FunctionParameter + 53(inI0): 48(ptr) FunctionParameter + 55: Label + ReturnValue 71 FunctionEnd diff --git a/Test/baseResults/hlsl.intrinsics.negative.frag.out b/Test/baseResults/hlsl.intrinsics.negative.frag.out index 0468863f..d914154b 100644 --- a/Test/baseResults/hlsl.intrinsics.negative.frag.out +++ b/Test/baseResults/hlsl.intrinsics.negative.frag.out @@ -250,49 +250,68 @@ ERROR: node is still EOpNull! 0:? 1.000000 0:? 2.000000 0:? 3.000000 -0:80 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float) +0:80 Function Definition: @PixelShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float) 0:80 Function Parameters: -0:80 'inF0' (layout(location=0 ) in 4-component vector of float) -0:80 'inF1' (layout(location=1 ) in 4-component vector of float) -0:80 'inF2' (layout(location=2 ) in 4-component vector of float) -0:80 'inI0' (layout(location=3 ) in 4-component vector of int) +0:80 'inF0' (in 4-component vector of float) +0:80 'inF1' (in 4-component vector of float) +0:80 'inF2' (in 4-component vector of float) +0:80 'inI0' (in 4-component vector of int) 0:? Sequence 0:81 Constant: 0:81 0.000000 0:82 bitCount (temp 4-component vector of uint) 0:82 Convert float to uint (temp 4-component vector of uint) -0:82 'inF0' (layout(location=0 ) in 4-component vector of float) +0:82 'inF0' (in 4-component vector of float) 0:83 cross-product (temp 3-component vector of float) 0:83 Construct vec3 (in 3-component vector of float) -0:83 'inF0' (layout(location=0 ) in 4-component vector of float) +0:83 'inF0' (in 4-component vector of float) 0:83 Construct vec3 (in 3-component vector of float) -0:83 'inF1' (layout(location=1 ) in 4-component vector of float) +0:83 'inF1' (in 4-component vector of float) 0:84 Constant: 0:84 0.000000 0:85 ERROR: Bad unary op (temp 4-component vector of float) 0:85 Convert float to uint (temp 4-component vector of uint) -0:85 'inF0' (layout(location=0 ) in 4-component vector of float) +0:85 'inF0' (in 4-component vector of float) 0:86 findMSB (temp 4-component vector of uint) 0:86 Convert float to uint (temp 4-component vector of uint) -0:86 'inF0' (layout(location=0 ) in 4-component vector of float) +0:86 'inF0' (in 4-component vector of float) 0:87 findLSB (temp 4-component vector of uint) 0:87 Convert float to uint (temp 4-component vector of uint) -0:87 'inF0' (layout(location=0 ) in 4-component vector of float) +0:87 'inF0' (in 4-component vector of float) 0:89 bitFieldReverse (temp 4-component vector of uint) 0:89 Convert float to uint (temp 4-component vector of uint) -0:89 'inF0' (layout(location=0 ) in 4-component vector of float) +0:89 'inF0' (in 4-component vector of float) 0:90 Constant: 0:90 0.000000 -0:92 Sequence -0:92 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? Constant: -0:? 1.000000 -0:? 2.000000 -0:? 3.000000 -0:? 4.000000 -0:92 Branch: Return +0:92 Branch: Return with expression +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:? 3.000000 +0:? 4.000000 +0:80 Function Definition: PixelShaderFunction( (temp void) +0:80 Function Parameters: +0:? Sequence +0:80 move second child to first child (temp 4-component vector of float) +0:? 'inF0' (temp 4-component vector of float) +0:? 'inF0' (layout(location=0 ) in 4-component vector of float) +0:80 move second child to first child (temp 4-component vector of float) +0:? 'inF1' (temp 4-component vector of float) +0:? 'inF1' (layout(location=1 ) in 4-component vector of float) +0:80 move second child to first child (temp 4-component vector of float) +0:? 'inF2' (temp 4-component vector of float) +0:? 'inF2' (layout(location=2 ) in 4-component vector of float) +0:80 move second child to first child (temp 4-component vector of int) +0:? 'inI0' (temp 4-component vector of int) +0:? 'inI0' (layout(location=3 ) in 4-component vector of int) +0:80 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:80 Function Call: @PixelShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float) +0:? 'inF0' (temp 4-component vector of float) +0:? 'inF1' (temp 4-component vector of float) +0:? 'inF2' (temp 4-component vector of float) +0:? 'inI0' (temp 4-component vector of int) 0:115 Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; (temp 2X2 matrix of float) 0:115 Function Parameters: 0:115 'inF0' (in 2X2 matrix of float) @@ -619,49 +638,68 @@ ERROR: node is still EOpNull! 0:? 1.000000 0:? 2.000000 0:? 3.000000 -0:80 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float) +0:80 Function Definition: @PixelShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float) 0:80 Function Parameters: -0:80 'inF0' (layout(location=0 ) in 4-component vector of float) -0:80 'inF1' (layout(location=1 ) in 4-component vector of float) -0:80 'inF2' (layout(location=2 ) in 4-component vector of float) -0:80 'inI0' (layout(location=3 ) in 4-component vector of int) +0:80 'inF0' (in 4-component vector of float) +0:80 'inF1' (in 4-component vector of float) +0:80 'inF2' (in 4-component vector of float) +0:80 'inI0' (in 4-component vector of int) 0:? Sequence 0:81 Constant: 0:81 0.000000 0:82 bitCount (temp 4-component vector of uint) 0:82 Convert float to uint (temp 4-component vector of uint) -0:82 'inF0' (layout(location=0 ) in 4-component vector of float) +0:82 'inF0' (in 4-component vector of float) 0:83 cross-product (temp 3-component vector of float) 0:83 Construct vec3 (in 3-component vector of float) -0:83 'inF0' (layout(location=0 ) in 4-component vector of float) +0:83 'inF0' (in 4-component vector of float) 0:83 Construct vec3 (in 3-component vector of float) -0:83 'inF1' (layout(location=1 ) in 4-component vector of float) +0:83 'inF1' (in 4-component vector of float) 0:84 Constant: 0:84 0.000000 0:85 ERROR: Bad unary op (temp 4-component vector of float) 0:85 Convert float to uint (temp 4-component vector of uint) -0:85 'inF0' (layout(location=0 ) in 4-component vector of float) +0:85 'inF0' (in 4-component vector of float) 0:86 findMSB (temp 4-component vector of uint) 0:86 Convert float to uint (temp 4-component vector of uint) -0:86 'inF0' (layout(location=0 ) in 4-component vector of float) +0:86 'inF0' (in 4-component vector of float) 0:87 findLSB (temp 4-component vector of uint) 0:87 Convert float to uint (temp 4-component vector of uint) -0:87 'inF0' (layout(location=0 ) in 4-component vector of float) +0:87 'inF0' (in 4-component vector of float) 0:89 bitFieldReverse (temp 4-component vector of uint) 0:89 Convert float to uint (temp 4-component vector of uint) -0:89 'inF0' (layout(location=0 ) in 4-component vector of float) +0:89 'inF0' (in 4-component vector of float) 0:90 Constant: 0:90 0.000000 -0:92 Sequence -0:92 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? Constant: -0:? 1.000000 -0:? 2.000000 -0:? 3.000000 -0:? 4.000000 -0:92 Branch: Return +0:92 Branch: Return with expression +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:? 3.000000 +0:? 4.000000 +0:80 Function Definition: PixelShaderFunction( (temp void) +0:80 Function Parameters: +0:? Sequence +0:80 move second child to first child (temp 4-component vector of float) +0:? 'inF0' (temp 4-component vector of float) +0:? 'inF0' (layout(location=0 ) in 4-component vector of float) +0:80 move second child to first child (temp 4-component vector of float) +0:? 'inF1' (temp 4-component vector of float) +0:? 'inF1' (layout(location=1 ) in 4-component vector of float) +0:80 move second child to first child (temp 4-component vector of float) +0:? 'inF2' (temp 4-component vector of float) +0:? 'inF2' (layout(location=2 ) in 4-component vector of float) +0:80 move second child to first child (temp 4-component vector of int) +0:? 'inI0' (temp 4-component vector of int) +0:? 'inI0' (layout(location=3 ) in 4-component vector of int) +0:80 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:80 Function Call: @PixelShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float) +0:? 'inF0' (temp 4-component vector of float) +0:? 'inF1' (temp 4-component vector of float) +0:? 'inF2' (temp 4-component vector of float) +0:? 'inI0' (temp 4-component vector of int) 0:115 Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; (temp 2X2 matrix of float) 0:115 Function Parameters: 0:115 'inF0' (in 2X2 matrix of float) diff --git a/Test/baseResults/hlsl.intrinsics.negative.vert.out b/Test/baseResults/hlsl.intrinsics.negative.vert.out index b57a5a9a..68167028 100644 --- a/Test/baseResults/hlsl.intrinsics.negative.vert.out +++ b/Test/baseResults/hlsl.intrinsics.negative.vert.out @@ -44,22 +44,41 @@ Shader version: 450 0:? 1.000000 0:? 2.000000 0:? 3.000000 -0:176 Function Definition: VertexShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float) +0:176 Function Definition: @VertexShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float) 0:176 Function Parameters: -0:176 'inF0' (layout(location=0 ) in 4-component vector of float) -0:176 'inF1' (layout(location=1 ) in 4-component vector of float) -0:176 'inF2' (layout(location=2 ) in 4-component vector of float) -0:176 'inI0' (layout(location=3 ) in 4-component vector of int) +0:176 'inF0' (in 4-component vector of float) +0:176 'inF1' (in 4-component vector of float) +0:176 'inF2' (in 4-component vector of float) +0:176 'inI0' (in 4-component vector of int) 0:? Sequence -0:217 Sequence -0:217 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? Constant: -0:? 1.000000 -0:? 2.000000 -0:? 3.000000 -0:? 4.000000 -0:217 Branch: Return +0:217 Branch: Return with expression +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:? 3.000000 +0:? 4.000000 +0:176 Function Definition: VertexShaderFunction( (temp void) +0:176 Function Parameters: +0:? Sequence +0:176 move second child to first child (temp 4-component vector of float) +0:? 'inF0' (temp 4-component vector of float) +0:? 'inF0' (layout(location=0 ) in 4-component vector of float) +0:176 move second child to first child (temp 4-component vector of float) +0:? 'inF1' (temp 4-component vector of float) +0:? 'inF1' (layout(location=1 ) in 4-component vector of float) +0:176 move second child to first child (temp 4-component vector of float) +0:? 'inF2' (temp 4-component vector of float) +0:? 'inF2' (layout(location=2 ) in 4-component vector of float) +0:176 move second child to first child (temp 4-component vector of int) +0:? 'inI0' (temp 4-component vector of int) +0:? 'inI0' (layout(location=3 ) in 4-component vector of int) +0:176 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:176 Function Call: @VertexShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float) +0:? 'inF0' (temp 4-component vector of float) +0:? 'inF1' (temp 4-component vector of float) +0:? 'inF2' (temp 4-component vector of float) +0:? 'inI0' (temp 4-component vector of int) 0:226 Function Definition: VertexShaderFunction2x2(mf22;mf22;mf22; (temp 2X2 matrix of float) 0:226 Function Parameters: 0:226 'inF0' (in 2X2 matrix of float) @@ -114,11 +133,6 @@ Shader version: 450 0:? 4.000000 0:? 4.000000 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'inF0' (layout(location=0 ) in 4-component vector of float) -0:? 'inF1' (layout(location=1 ) in 4-component vector of float) -0:? 'inF2' (layout(location=2 ) in 4-component vector of float) -0:? 'inI0' (layout(location=3 ) in 4-component vector of int) 0:? 'gs_ua' (global uint) 0:? 'gs_ub' (global uint) 0:? 'gs_uc' (global uint) @@ -131,6 +145,11 @@ Shader version: 450 0:? 'gs_ua4' (global 4-component vector of uint) 0:? 'gs_ub4' (global 4-component vector of uint) 0:? 'gs_uc4' (global 4-component vector of uint) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:? 'inF0' (layout(location=0 ) in 4-component vector of float) +0:? 'inF1' (layout(location=1 ) in 4-component vector of float) +0:? 'inF2' (layout(location=2 ) in 4-component vector of float) +0:? 'inI0' (layout(location=3 ) in 4-component vector of int) Linked vertex stage: @@ -181,22 +200,41 @@ Shader version: 450 0:? 1.000000 0:? 2.000000 0:? 3.000000 -0:176 Function Definition: VertexShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float) +0:176 Function Definition: @VertexShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float) 0:176 Function Parameters: -0:176 'inF0' (layout(location=0 ) in 4-component vector of float) -0:176 'inF1' (layout(location=1 ) in 4-component vector of float) -0:176 'inF2' (layout(location=2 ) in 4-component vector of float) -0:176 'inI0' (layout(location=3 ) in 4-component vector of int) +0:176 'inF0' (in 4-component vector of float) +0:176 'inF1' (in 4-component vector of float) +0:176 'inF2' (in 4-component vector of float) +0:176 'inI0' (in 4-component vector of int) 0:? Sequence -0:217 Sequence -0:217 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? Constant: -0:? 1.000000 -0:? 2.000000 -0:? 3.000000 -0:? 4.000000 -0:217 Branch: Return +0:217 Branch: Return with expression +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:? 3.000000 +0:? 4.000000 +0:176 Function Definition: VertexShaderFunction( (temp void) +0:176 Function Parameters: +0:? Sequence +0:176 move second child to first child (temp 4-component vector of float) +0:? 'inF0' (temp 4-component vector of float) +0:? 'inF0' (layout(location=0 ) in 4-component vector of float) +0:176 move second child to first child (temp 4-component vector of float) +0:? 'inF1' (temp 4-component vector of float) +0:? 'inF1' (layout(location=1 ) in 4-component vector of float) +0:176 move second child to first child (temp 4-component vector of float) +0:? 'inF2' (temp 4-component vector of float) +0:? 'inF2' (layout(location=2 ) in 4-component vector of float) +0:176 move second child to first child (temp 4-component vector of int) +0:? 'inI0' (temp 4-component vector of int) +0:? 'inI0' (layout(location=3 ) in 4-component vector of int) +0:176 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:176 Function Call: @VertexShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float) +0:? 'inF0' (temp 4-component vector of float) +0:? 'inF1' (temp 4-component vector of float) +0:? 'inF2' (temp 4-component vector of float) +0:? 'inI0' (temp 4-component vector of int) 0:226 Function Definition: VertexShaderFunction2x2(mf22;mf22;mf22; (temp 2X2 matrix of float) 0:226 Function Parameters: 0:226 'inF0' (in 2X2 matrix of float) @@ -251,11 +289,6 @@ Shader version: 450 0:? 4.000000 0:? 4.000000 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'inF0' (layout(location=0 ) in 4-component vector of float) -0:? 'inF1' (layout(location=1 ) in 4-component vector of float) -0:? 'inF2' (layout(location=2 ) in 4-component vector of float) -0:? 'inI0' (layout(location=3 ) in 4-component vector of int) 0:? 'gs_ua' (global uint) 0:? 'gs_ub' (global uint) 0:? 'gs_uc' (global uint) @@ -268,15 +301,20 @@ Shader version: 450 0:? 'gs_ua4' (global 4-component vector of uint) 0:? 'gs_ub4' (global 4-component vector of uint) 0:? 'gs_uc4' (global 4-component vector of uint) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:? 'inF0' (layout(location=0 ) in 4-component vector of float) +0:? 'inF1' (layout(location=1 ) in 4-component vector of float) +0:? 'inF2' (layout(location=2 ) in 4-component vector of float) +0:? 'inI0' (layout(location=3 ) in 4-component vector of int) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 128 +// Id's are bound by 155 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "VertexShaderFunction" 85 102 103 104 107 + EntryPoint Vertex 4 "VertexShaderFunction" 100 103 106 110 113 Name 4 "VertexShaderFunction" Name 15 "VertexShaderFunctionS(f1;f1;f1;i1;" Name 11 "inF0" @@ -298,40 +336,53 @@ Shader version: 450 Name 40 "inF1" Name 41 "inF2" Name 42 "inI0" - Name 51 "VertexShaderFunction2x2(mf22;mf22;mf22;" - Name 48 "inF0" - Name 49 "inF1" - Name 50 "inF2" - Name 59 "VertexShaderFunction3x3(mf33;mf33;mf33;" - Name 56 "inF0" - Name 57 "inF1" - Name 58 "inF2" - Name 68 "VertexShaderFunction4x4(mf44;mf44;mf44;" - Name 65 "inF0" - Name 66 "inF1" - Name 67 "inF2" - Name 85 "@entryPointOutput" - Name 102 "inF0" + Name 54 "@VertexShaderFunction(vf4;vf4;vf4;vi4;" + Name 50 "inF0" + Name 51 "inF1" + Name 52 "inF2" + Name 53 "inI0" + Name 62 "VertexShaderFunction2x2(mf22;mf22;mf22;" + Name 59 "inF0" + Name 60 "inF1" + Name 61 "inF2" + Name 70 "VertexShaderFunction3x3(mf33;mf33;mf33;" + Name 67 "inF0" + Name 68 "inF1" + Name 69 "inF2" + Name 78 "VertexShaderFunction4x4(mf44;mf44;mf44;" + Name 75 "inF0" + Name 76 "inF1" + Name 77 "inF2" + Name 98 "inF0" + Name 100 "inF0" + Name 102 "inF1" Name 103 "inF1" - Name 104 "inF2" - Name 107 "inI0" - Name 110 "gs_ua" - Name 111 "gs_ub" - Name 112 "gs_uc" - Name 115 "gs_ua2" - Name 116 "gs_ub2" - Name 117 "gs_uc2" - Name 120 "gs_ua3" - Name 121 "gs_ub3" - Name 122 "gs_uc3" - Name 125 "gs_ua4" - Name 126 "gs_ub4" - Name 127 "gs_uc4" - Decorate 85(@entryPointOutput) Location 0 - Decorate 102(inF0) Location 0 + Name 105 "inF2" + Name 106 "inF2" + Name 108 "inI0" + Name 110 "inI0" + Name 113 "@entryPointOutput" + Name 114 "param" + Name 116 "param" + Name 118 "param" + Name 120 "param" + Name 137 "gs_ua" + Name 138 "gs_ub" + Name 139 "gs_uc" + Name 142 "gs_ua2" + Name 143 "gs_ub2" + Name 144 "gs_uc2" + Name 147 "gs_ua3" + Name 148 "gs_ub3" + Name 149 "gs_uc3" + Name 152 "gs_ua4" + Name 153 "gs_ub4" + Name 154 "gs_uc4" + Decorate 100(inF0) Location 0 Decorate 103(inF1) Location 1 - Decorate 104(inF2) Location 2 - Decorate 107(inI0) Location 3 + Decorate 106(inF2) Location 2 + Decorate 110(inI0) Location 3 + Decorate 113(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -349,62 +400,90 @@ Shader version: 450 36: TypeVector 8(int) 3 37: TypePointer Function 36(ivec3) 38: TypeFunction 34(fvec3) 35(ptr) 35(ptr) 35(ptr) 37(ptr) - 45: TypeMatrix 23(fvec2) 2 - 46: TypePointer Function 45 - 47: TypeFunction 45 46(ptr) 46(ptr) 46(ptr) - 53: TypeMatrix 34(fvec3) 3 - 54: TypePointer Function 53 - 55: TypeFunction 53 54(ptr) 54(ptr) 54(ptr) - 61: TypeVector 6(float) 4 - 62: TypeMatrix 61(fvec4) 4 - 63: TypePointer Function 62 - 64: TypeFunction 62 63(ptr) 63(ptr) 63(ptr) - 70: 6(float) Constant 0 - 75: 6(float) Constant 1065353216 - 76: 6(float) Constant 1073741824 - 77: 23(fvec2) ConstantComposite 75 76 - 80: 6(float) Constant 1077936128 - 81: 34(fvec3) ConstantComposite 75 76 80 - 84: TypePointer Output 61(fvec4) -85(@entryPointOutput): 84(ptr) Variable Output - 86: 6(float) Constant 1082130432 - 87: 61(fvec4) ConstantComposite 75 76 80 86 - 89: 23(fvec2) ConstantComposite 76 76 - 90: 45 ConstantComposite 89 89 - 93: 34(fvec3) ConstantComposite 80 80 80 - 94: 53 ConstantComposite 93 93 93 - 97: 61(fvec4) ConstantComposite 86 86 86 86 - 98: 62 ConstantComposite 97 97 97 97 - 101: TypePointer Input 61(fvec4) - 102(inF0): 101(ptr) Variable Input - 103(inF1): 101(ptr) Variable Input - 104(inF2): 101(ptr) Variable Input - 105: TypeVector 8(int) 4 - 106: TypePointer Input 105(ivec4) - 107(inI0): 106(ptr) Variable Input - 108: TypeInt 32 0 - 109: TypePointer Private 108(int) - 110(gs_ua): 109(ptr) Variable Private - 111(gs_ub): 109(ptr) Variable Private - 112(gs_uc): 109(ptr) Variable Private - 113: TypeVector 108(int) 2 - 114: TypePointer Private 113(ivec2) - 115(gs_ua2): 114(ptr) Variable Private - 116(gs_ub2): 114(ptr) Variable Private - 117(gs_uc2): 114(ptr) Variable Private - 118: TypeVector 108(int) 3 - 119: TypePointer Private 118(ivec3) - 120(gs_ua3): 119(ptr) Variable Private - 121(gs_ub3): 119(ptr) Variable Private - 122(gs_uc3): 119(ptr) Variable Private - 123: TypeVector 108(int) 4 - 124: TypePointer Private 123(ivec4) - 125(gs_ua4): 124(ptr) Variable Private - 126(gs_ub4): 124(ptr) Variable Private - 127(gs_uc4): 124(ptr) Variable Private + 45: TypeVector 6(float) 4 + 46: TypePointer Function 45(fvec4) + 47: TypeVector 8(int) 4 + 48: TypePointer Function 47(ivec4) + 49: TypeFunction 45(fvec4) 46(ptr) 46(ptr) 46(ptr) 48(ptr) + 56: TypeMatrix 23(fvec2) 2 + 57: TypePointer Function 56 + 58: TypeFunction 56 57(ptr) 57(ptr) 57(ptr) + 64: TypeMatrix 34(fvec3) 3 + 65: TypePointer Function 64 + 66: TypeFunction 64 65(ptr) 65(ptr) 65(ptr) + 72: TypeMatrix 45(fvec4) 4 + 73: TypePointer Function 72 + 74: TypeFunction 72 73(ptr) 73(ptr) 73(ptr) + 80: 6(float) Constant 0 + 85: 6(float) Constant 1065353216 + 86: 6(float) Constant 1073741824 + 87: 23(fvec2) ConstantComposite 85 86 + 90: 6(float) Constant 1077936128 + 91: 34(fvec3) ConstantComposite 85 86 90 + 94: 6(float) Constant 1082130432 + 95: 45(fvec4) ConstantComposite 85 86 90 94 + 99: TypePointer Input 45(fvec4) + 100(inF0): 99(ptr) Variable Input + 103(inF1): 99(ptr) Variable Input + 106(inF2): 99(ptr) Variable Input + 109: TypePointer Input 47(ivec4) + 110(inI0): 109(ptr) Variable Input + 112: TypePointer Output 45(fvec4) +113(@entryPointOutput): 112(ptr) Variable Output + 123: 23(fvec2) ConstantComposite 86 86 + 124: 56 ConstantComposite 123 123 + 127: 34(fvec3) ConstantComposite 90 90 90 + 128: 64 ConstantComposite 127 127 127 + 131: 45(fvec4) ConstantComposite 94 94 94 94 + 132: 72 ConstantComposite 131 131 131 131 + 135: TypeInt 32 0 + 136: TypePointer Private 135(int) + 137(gs_ua): 136(ptr) Variable Private + 138(gs_ub): 136(ptr) Variable Private + 139(gs_uc): 136(ptr) Variable Private + 140: TypeVector 135(int) 2 + 141: TypePointer Private 140(ivec2) + 142(gs_ua2): 141(ptr) Variable Private + 143(gs_ub2): 141(ptr) Variable Private + 144(gs_uc2): 141(ptr) Variable Private + 145: TypeVector 135(int) 3 + 146: TypePointer Private 145(ivec3) + 147(gs_ua3): 146(ptr) Variable Private + 148(gs_ub3): 146(ptr) Variable Private + 149(gs_uc3): 146(ptr) Variable Private + 150: TypeVector 135(int) 4 + 151: TypePointer Private 150(ivec4) + 152(gs_ua4): 151(ptr) Variable Private + 153(gs_ub4): 151(ptr) Variable Private + 154(gs_uc4): 151(ptr) Variable Private 4(VertexShaderFunction): 2 Function None 3 5: Label - Store 85(@entryPointOutput) 87 + 98(inF0): 46(ptr) Variable Function + 102(inF1): 46(ptr) Variable Function + 105(inF2): 46(ptr) Variable Function + 108(inI0): 48(ptr) Variable Function + 114(param): 46(ptr) Variable Function + 116(param): 46(ptr) Variable Function + 118(param): 46(ptr) Variable Function + 120(param): 48(ptr) Variable Function + 101: 45(fvec4) Load 100(inF0) + Store 98(inF0) 101 + 104: 45(fvec4) Load 103(inF1) + Store 102(inF1) 104 + 107: 45(fvec4) Load 106(inF2) + Store 105(inF2) 107 + 111: 47(ivec4) Load 110(inI0) + Store 108(inI0) 111 + 115: 45(fvec4) Load 98(inF0) + Store 114(param) 115 + 117: 45(fvec4) Load 102(inF1) + Store 116(param) 117 + 119: 45(fvec4) Load 105(inF2) + Store 118(param) 119 + 121: 47(ivec4) Load 108(inI0) + Store 120(param) 121 + 122: 45(fvec4) FunctionCall 54(@VertexShaderFunction(vf4;vf4;vf4;vi4;) 114(param) 116(param) 118(param) 120(param) + Store 113(@entryPointOutput) 122 Return FunctionEnd 15(VertexShaderFunctionS(f1;f1;f1;i1;): 6(float) Function None 10 @@ -413,7 +492,7 @@ Shader version: 450 13(inF2): 7(ptr) FunctionParameter 14(inI0): 9(ptr) FunctionParameter 16: Label - ReturnValue 70 + ReturnValue 80 FunctionEnd 21(VertexShaderFunction1(vf1;vf1;vf1;vi1;): 6(float) Function None 10 17(inF0): 7(ptr) FunctionParameter @@ -421,7 +500,7 @@ Shader version: 450 19(inF2): 7(ptr) FunctionParameter 20(inI0): 9(ptr) FunctionParameter 22: Label - ReturnValue 70 + ReturnValue 80 FunctionEnd 32(VertexShaderFunction2(vf2;vf2;vf2;vi2;): 23(fvec2) Function None 27 28(inF0): 24(ptr) FunctionParameter @@ -429,7 +508,7 @@ Shader version: 450 30(inF2): 24(ptr) FunctionParameter 31(inI0): 26(ptr) FunctionParameter 33: Label - ReturnValue 77 + ReturnValue 87 FunctionEnd 43(VertexShaderFunction3(vf3;vf3;vf3;vi3;): 34(fvec3) Function None 38 39(inF0): 35(ptr) FunctionParameter @@ -437,26 +516,34 @@ Shader version: 450 41(inF2): 35(ptr) FunctionParameter 42(inI0): 37(ptr) FunctionParameter 44: Label - ReturnValue 81 + ReturnValue 91 FunctionEnd -51(VertexShaderFunction2x2(mf22;mf22;mf22;): 45 Function None 47 - 48(inF0): 46(ptr) FunctionParameter - 49(inF1): 46(ptr) FunctionParameter - 50(inF2): 46(ptr) FunctionParameter - 52: Label - ReturnValue 90 +54(@VertexShaderFunction(vf4;vf4;vf4;vi4;): 45(fvec4) Function None 49 + 50(inF0): 46(ptr) FunctionParameter + 51(inF1): 46(ptr) FunctionParameter + 52(inF2): 46(ptr) FunctionParameter + 53(inI0): 48(ptr) FunctionParameter + 55: Label + ReturnValue 95 FunctionEnd -59(VertexShaderFunction3x3(mf33;mf33;mf33;): 53 Function None 55 - 56(inF0): 54(ptr) FunctionParameter - 57(inF1): 54(ptr) FunctionParameter - 58(inF2): 54(ptr) FunctionParameter - 60: Label - ReturnValue 94 +62(VertexShaderFunction2x2(mf22;mf22;mf22;): 56 Function None 58 + 59(inF0): 57(ptr) FunctionParameter + 60(inF1): 57(ptr) FunctionParameter + 61(inF2): 57(ptr) FunctionParameter + 63: Label + ReturnValue 124 FunctionEnd -68(VertexShaderFunction4x4(mf44;mf44;mf44;): 62 Function None 64 - 65(inF0): 63(ptr) FunctionParameter - 66(inF1): 63(ptr) FunctionParameter - 67(inF2): 63(ptr) FunctionParameter - 69: Label - ReturnValue 98 +70(VertexShaderFunction3x3(mf33;mf33;mf33;): 64 Function None 66 + 67(inF0): 65(ptr) FunctionParameter + 68(inF1): 65(ptr) FunctionParameter + 69(inF2): 65(ptr) FunctionParameter + 71: Label + ReturnValue 128 + FunctionEnd +78(VertexShaderFunction4x4(mf44;mf44;mf44;): 72 Function None 74 + 75(inF0): 73(ptr) FunctionParameter + 76(inF1): 73(ptr) FunctionParameter + 77(inF2): 73(ptr) FunctionParameter + 79: Label + ReturnValue 132 FunctionEnd diff --git a/Test/baseResults/hlsl.intrinsics.promote.down.frag.out b/Test/baseResults/hlsl.intrinsics.promote.down.frag.out index f5ba86b0..9bb9c740 100644 --- a/Test/baseResults/hlsl.intrinsics.promote.down.frag.out +++ b/Test/baseResults/hlsl.intrinsics.promote.down.frag.out @@ -2,7 +2,7 @@ hlsl.intrinsics.promote.down.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:15 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:15 Function Definition: @main( (temp structure{temp 4-component vector of float color}) 0:15 Function Parameters: 0:? Sequence 0:16 Sequence @@ -33,15 +33,18 @@ gl_FragCoord origin is upper left 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:21 Sequence -0:21 Sequence -0:21 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:21 color: direct index for structure (temp 4-component vector of float) -0:21 'ps_output' (temp structure{temp 4-component vector of float color}) -0:21 Constant: -0:21 0 (const int) -0:21 Branch: Return +0:21 Branch: Return with expression +0:21 'ps_output' (temp structure{temp 4-component vector of float color}) +0:15 Function Definition: main( (temp void) +0:15 Function Parameters: +0:? Sequence +0:15 Sequence +0:15 move second child to first child (temp 4-component vector of float) +0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:15 color: direct index for structure (temp 4-component vector of float) +0:15 Function Call: @main( (temp structure{temp 4-component vector of float color}) +0:15 Constant: +0:15 0 (const int) 0:? Linker Objects 0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2}) @@ -53,7 +56,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:15 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:15 Function Definition: @main( (temp structure{temp 4-component vector of float color}) 0:15 Function Parameters: 0:? Sequence 0:16 Sequence @@ -84,101 +87,111 @@ gl_FragCoord origin is upper left 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:21 Sequence -0:21 Sequence -0:21 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:21 color: direct index for structure (temp 4-component vector of float) -0:21 'ps_output' (temp structure{temp 4-component vector of float color}) -0:21 Constant: -0:21 0 (const int) -0:21 Branch: Return +0:21 Branch: Return with expression +0:21 'ps_output' (temp structure{temp 4-component vector of float color}) +0:15 Function Definition: main( (temp void) +0:15 Function Parameters: +0:? Sequence +0:15 Sequence +0:15 move second child to first child (temp 4-component vector of float) +0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:15 color: direct index for structure (temp 4-component vector of float) +0:15 Function Call: @main( (temp structure{temp 4-component vector of float color}) +0:15 Constant: +0:15 0 (const int) 0:? Linker Objects 0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 45 +// Id's are bound by 50 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 41 + EntryPoint Fragment 4 "main" 47 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "r00" - Name 14 "$Global" - MemberName 14($Global) 0 "i" - MemberName 14($Global) 1 "u" - MemberName 14($Global) 2 "f" - MemberName 14($Global) 3 "b" - MemberName 14($Global) 4 "i2" - MemberName 14($Global) 5 "u2" - MemberName 14($Global) 6 "f2" - MemberName 14($Global) 7 "b2" - Name 16 "" - Name 24 "r01" - Name 32 "PS_OUTPUT" - MemberName 32(PS_OUTPUT) 0 "color" - Name 34 "ps_output" - Name 41 "color" - MemberDecorate 14($Global) 0 Offset 0 - MemberDecorate 14($Global) 1 Offset 4 - MemberDecorate 14($Global) 2 Offset 8 - MemberDecorate 14($Global) 3 Offset 12 - MemberDecorate 14($Global) 4 Offset 16 - MemberDecorate 14($Global) 5 Offset 24 - MemberDecorate 14($Global) 6 Offset 32 - MemberDecorate 14($Global) 7 Offset 40 - Decorate 14($Global) Block - Decorate 16 DescriptorSet 0 - Decorate 41(color) Location 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "color" + Name 10 "@main(" + Name 14 "r00" + Name 19 "$Global" + MemberName 19($Global) 0 "i" + MemberName 19($Global) 1 "u" + MemberName 19($Global) 2 "f" + MemberName 19($Global) 3 "b" + MemberName 19($Global) 4 "i2" + MemberName 19($Global) 5 "u2" + MemberName 19($Global) 6 "f2" + MemberName 19($Global) 7 "b2" + Name 21 "" + Name 29 "r01" + Name 37 "ps_output" + Name 47 "color" + MemberDecorate 19($Global) 0 Offset 0 + MemberDecorate 19($Global) 1 Offset 4 + MemberDecorate 19($Global) 2 Offset 8 + MemberDecorate 19($Global) 3 Offset 12 + MemberDecorate 19($Global) 4 Offset 16 + MemberDecorate 19($Global) 5 Offset 24 + MemberDecorate 19($Global) 6 Offset 32 + MemberDecorate 19($Global) 7 Offset 40 + Decorate 19($Global) Block + Decorate 21 DescriptorSet 0 + Decorate 47(color) Location 0 2: TypeVoid 3: TypeFunction 2 - 6: TypeInt 32 0 - 7: TypePointer Function 6(int) - 9: TypeInt 32 1 - 10: TypeFloat 32 - 11: TypeVector 9(int) 2 - 12: TypeVector 6(int) 2 - 13: TypeVector 10(float) 2 - 14($Global): TypeStruct 9(int) 6(int) 10(float) 6(int) 11(ivec2) 12(ivec2) 13(fvec2) 12(ivec2) - 15: TypePointer Uniform 14($Global) - 16: 15(ptr) Variable Uniform - 17: 9(int) Constant 2 - 18: TypePointer Uniform 10(float) - 23: TypePointer Function 12(ivec2) - 25: 9(int) Constant 6 - 26: TypePointer Uniform 13(fvec2) - 31: TypeVector 10(float) 4 - 32(PS_OUTPUT): TypeStruct 31(fvec4) - 33: TypePointer Function 32(PS_OUTPUT) - 35: 9(int) Constant 0 - 36: 10(float) Constant 0 - 37: 31(fvec4) ConstantComposite 36 36 36 36 - 38: TypePointer Function 31(fvec4) - 40: TypePointer Output 31(fvec4) - 41(color): 40(ptr) Variable Output + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypeInt 32 0 + 13: TypePointer Function 12(int) + 15: TypeInt 32 1 + 16: TypeVector 15(int) 2 + 17: TypeVector 12(int) 2 + 18: TypeVector 6(float) 2 + 19($Global): TypeStruct 15(int) 12(int) 6(float) 12(int) 16(ivec2) 17(ivec2) 18(fvec2) 17(ivec2) + 20: TypePointer Uniform 19($Global) + 21: 20(ptr) Variable Uniform + 22: 15(int) Constant 2 + 23: TypePointer Uniform 6(float) + 28: TypePointer Function 17(ivec2) + 30: 15(int) Constant 6 + 31: TypePointer Uniform 18(fvec2) + 36: TypePointer Function 8(PS_OUTPUT) + 38: 15(int) Constant 0 + 39: 6(float) Constant 0 + 40: 7(fvec4) ConstantComposite 39 39 39 39 + 41: TypePointer Function 7(fvec4) + 46: TypePointer Output 7(fvec4) + 47(color): 46(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 8(r00): 7(ptr) Variable Function - 24(r01): 23(ptr) Variable Function - 34(ps_output): 33(ptr) Variable Function - 19: 18(ptr) AccessChain 16 17 - 20: 10(float) Load 19 - 21: 6(int) ConvertFToU 20 - 22: 6(int) BitCount 21 - Store 8(r00) 22 - 27: 26(ptr) AccessChain 16 25 - 28: 13(fvec2) Load 27 - 29: 12(ivec2) ConvertFToU 28 - 30: 12(ivec2) BitReverse 29 - Store 24(r01) 30 - 39: 38(ptr) AccessChain 34(ps_output) 35 - Store 39 37 - 42: 38(ptr) AccessChain 34(ps_output) 35 - 43: 31(fvec4) Load 42 - Store 41(color) 43 + 48:8(PS_OUTPUT) FunctionCall 10(@main() + 49: 7(fvec4) CompositeExtract 48 0 + Store 47(color) 49 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 14(r00): 13(ptr) Variable Function + 29(r01): 28(ptr) Variable Function + 37(ps_output): 36(ptr) Variable Function + 24: 23(ptr) AccessChain 21 22 + 25: 6(float) Load 24 + 26: 12(int) ConvertFToU 25 + 27: 12(int) BitCount 26 + Store 14(r00) 27 + 32: 31(ptr) AccessChain 21 30 + 33: 18(fvec2) Load 32 + 34: 17(ivec2) ConvertFToU 33 + 35: 17(ivec2) BitReverse 34 + Store 29(r01) 35 + 42: 41(ptr) AccessChain 37(ps_output) 38 + Store 42 40 + 43:8(PS_OUTPUT) Load 37(ps_output) + ReturnValue 43 + FunctionEnd diff --git a/Test/baseResults/hlsl.intrinsics.promote.frag.out b/Test/baseResults/hlsl.intrinsics.promote.frag.out index 82b9e686..71a17c95 100644 --- a/Test/baseResults/hlsl.intrinsics.promote.frag.out +++ b/Test/baseResults/hlsl.intrinsics.promote.frag.out @@ -2,7 +2,7 @@ hlsl.intrinsics.promote.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:20 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:20 Function Definition: @main( (temp structure{temp 4-component vector of float color}) 0:20 Function Parameters: 0:? Sequence 0:23 Sequence @@ -421,19 +421,22 @@ gl_FragCoord origin is upper left 0:77 0 (const int) 0:77 Construct vec4 (temp 4-component vector of float) 0:77 'r00' (temp float) -0:78 Sequence -0:78 Sequence -0:78 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:78 color: direct index for structure (temp 4-component vector of float) -0:78 'ps_output' (temp structure{temp 4-component vector of float color}) -0:78 Constant: -0:78 0 (const int) -0:78 Branch: Return +0:78 Branch: Return with expression +0:78 'ps_output' (temp structure{temp 4-component vector of float color}) +0:20 Function Definition: main( (temp void) +0:20 Function Parameters: +0:? Sequence +0:20 Sequence +0:20 move second child to first child (temp 4-component vector of float) +0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:20 color: direct index for structure (temp 4-component vector of float) +0:20 Function Call: @main( (temp structure{temp 4-component vector of float color}) +0:20 Constant: +0:20 0 (const int) 0:? Linker Objects -0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:? 'g_tTexbfs' (layout(r32f ) uniform samplerBuffer) 0:? 'g_tTex1df4' (uniform texture1D) +0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) @@ -443,7 +446,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:20 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:20 Function Definition: @main( (temp structure{temp 4-component vector of float color}) 0:20 Function Parameters: 0:? Sequence 0:23 Sequence @@ -862,24 +865,27 @@ gl_FragCoord origin is upper left 0:77 0 (const int) 0:77 Construct vec4 (temp 4-component vector of float) 0:77 'r00' (temp float) -0:78 Sequence -0:78 Sequence -0:78 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:78 color: direct index for structure (temp 4-component vector of float) -0:78 'ps_output' (temp structure{temp 4-component vector of float color}) -0:78 Constant: -0:78 0 (const int) -0:78 Branch: Return +0:78 Branch: Return with expression +0:78 'ps_output' (temp structure{temp 4-component vector of float color}) +0:20 Function Definition: main( (temp void) +0:20 Function Parameters: +0:? Sequence +0:20 Sequence +0:20 move second child to first child (temp 4-component vector of float) +0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:20 color: direct index for structure (temp 4-component vector of float) +0:20 Function Call: @main( (temp structure{temp 4-component vector of float color}) +0:20 Constant: +0:20 0 (const int) 0:? Linker Objects -0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:? 'g_tTexbfs' (layout(r32f ) uniform samplerBuffer) 0:? 'g_tTex1df4' (uniform texture1D) +0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 320 +// Id's are bound by 325 Capability Shader Capability Sampled1D @@ -887,427 +893,434 @@ gl_FragCoord origin is upper left Capability ImageQuery 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 316 + EntryPoint Fragment 4 "main" 322 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "r00" - Name 14 "$Global" - MemberName 14($Global) 0 "i" - MemberName 14($Global) 1 "u" - MemberName 14($Global) 2 "f" - MemberName 14($Global) 3 "b" - MemberName 14($Global) 4 "i2" - MemberName 14($Global) 5 "u2" - MemberName 14($Global) 6 "f2" - MemberName 14($Global) 7 "b2" - MemberName 14($Global) 8 "upos" - MemberName 14($Global) 9 "fpos" - Name 16 "" - Name 33 "r01" - Name 44 "r02" - Name 54 "r03" - Name 61 "r04" - Name 69 "r10" - Name 86 "r11" - Name 97 "r12" - Name 109 "r13" - Name 116 "r14" - Name 123 "r20" - Name 133 "r21" - Name 145 "r22" - Name 157 "r30" - Name 166 "r31" - Name 175 "r32" - Name 184 "r33" - Name 192 "r34" - Name 200 "r40" - Name 211 "r41" - Name 224 "r42" - Name 238 "r43" - Name 250 "r50" - Name 254 "g_tTexbfs" - Name 264 "r51" - Name 273 "sizeQueryTemp" - Name 276 "g_tTex1df4" - Name 279 "WidthI" - Name 282 "sizeQueryTemp" - Name 288 "NumberOfLevelsU" - Name 291 "sizeQueryTemp" - Name 294 "WidthU" - Name 296 "NumberOfLevelsI" - Name 300 "sizeQueryTemp" - Name 308 "PS_OUTPUT" - MemberName 308(PS_OUTPUT) 0 "color" - Name 310 "ps_output" - Name 316 "color" - MemberDecorate 14($Global) 0 Offset 0 - MemberDecorate 14($Global) 1 Offset 4 - MemberDecorate 14($Global) 2 Offset 8 - MemberDecorate 14($Global) 3 Offset 12 - MemberDecorate 14($Global) 4 Offset 16 - MemberDecorate 14($Global) 5 Offset 24 - MemberDecorate 14($Global) 6 Offset 32 - MemberDecorate 14($Global) 7 Offset 40 - MemberDecorate 14($Global) 8 Offset 48 - MemberDecorate 14($Global) 9 Offset 52 - Decorate 14($Global) Block - Decorate 16 DescriptorSet 0 - Decorate 254(g_tTexbfs) DescriptorSet 0 - Decorate 276(g_tTex1df4) DescriptorSet 0 - Decorate 316(color) Location 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "color" + Name 10 "@main(" + Name 13 "r00" + Name 19 "$Global" + MemberName 19($Global) 0 "i" + MemberName 19($Global) 1 "u" + MemberName 19($Global) 2 "f" + MemberName 19($Global) 3 "b" + MemberName 19($Global) 4 "i2" + MemberName 19($Global) 5 "u2" + MemberName 19($Global) 6 "f2" + MemberName 19($Global) 7 "b2" + MemberName 19($Global) 8 "upos" + MemberName 19($Global) 9 "fpos" + Name 21 "" + Name 38 "r01" + Name 49 "r02" + Name 59 "r03" + Name 66 "r04" + Name 74 "r10" + Name 91 "r11" + Name 102 "r12" + Name 114 "r13" + Name 121 "r14" + Name 128 "r20" + Name 138 "r21" + Name 150 "r22" + Name 162 "r30" + Name 171 "r31" + Name 180 "r32" + Name 189 "r33" + Name 197 "r34" + Name 205 "r40" + Name 216 "r41" + Name 229 "r42" + Name 243 "r43" + Name 255 "r50" + Name 259 "g_tTexbfs" + Name 268 "r51" + Name 277 "sizeQueryTemp" + Name 280 "g_tTex1df4" + Name 283 "WidthI" + Name 286 "sizeQueryTemp" + Name 292 "NumberOfLevelsU" + Name 295 "sizeQueryTemp" + Name 298 "WidthU" + Name 300 "NumberOfLevelsI" + Name 304 "sizeQueryTemp" + Name 313 "ps_output" + Name 322 "color" + MemberDecorate 19($Global) 0 Offset 0 + MemberDecorate 19($Global) 1 Offset 4 + MemberDecorate 19($Global) 2 Offset 8 + MemberDecorate 19($Global) 3 Offset 12 + MemberDecorate 19($Global) 4 Offset 16 + MemberDecorate 19($Global) 5 Offset 24 + MemberDecorate 19($Global) 6 Offset 32 + MemberDecorate 19($Global) 7 Offset 40 + MemberDecorate 19($Global) 8 Offset 48 + MemberDecorate 19($Global) 9 Offset 52 + Decorate 19($Global) Block + Decorate 21 DescriptorSet 0 + Decorate 259(g_tTexbfs) DescriptorSet 0 + Decorate 280(g_tTex1df4) DescriptorSet 0 + Decorate 322(color) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypePointer Function 6(float) - 9: TypeInt 32 1 - 10: TypeInt 32 0 - 11: TypeVector 9(int) 2 - 12: TypeVector 10(int) 2 - 13: TypeVector 6(float) 2 - 14($Global): TypeStruct 9(int) 10(int) 6(float) 10(int) 11(ivec2) 12(ivec2) 13(fvec2) 12(ivec2) 10(int) 6(float) - 15: TypePointer Uniform 14($Global) - 16: 15(ptr) Variable Uniform - 17: 9(int) Constant 3 - 18: TypePointer Uniform 10(int) - 21: TypeBool - 22: 10(int) Constant 0 - 24: 6(float) Constant 0 - 25: 6(float) Constant 1065353216 - 27: 9(int) Constant 2 - 28: TypePointer Uniform 6(float) - 32: TypePointer Function 10(int) - 37: 10(int) Constant 1 - 39: 9(int) Constant 1 - 43: TypePointer Function 9(int) - 48: 9(int) Constant 0 - 50: TypePointer Uniform 9(int) - 68: TypePointer Function 13(fvec2) - 70: 9(int) Constant 7 - 71: TypePointer Uniform 12(ivec2) - 74: TypeVector 21(bool) 2 - 75: 12(ivec2) ConstantComposite 22 22 - 77: 13(fvec2) ConstantComposite 24 24 - 78: 13(fvec2) ConstantComposite 25 25 - 80: 9(int) Constant 6 - 81: TypePointer Uniform 13(fvec2) - 85: TypePointer Function 12(ivec2) - 90: 12(ivec2) ConstantComposite 37 37 - 92: 9(int) Constant 5 - 96: TypePointer Function 11(ivec2) - 101: 11(ivec2) ConstantComposite 48 48 - 102: 11(ivec2) ConstantComposite 39 39 - 104: 9(int) Constant 4 - 105: TypePointer Uniform 11(ivec2) - 251: TypeImage 6(float) Buffer sampled format:R32f - 252: TypeSampledImage 251 - 253: TypePointer UniformConstant 252 - 254(g_tTexbfs): 253(ptr) Variable UniformConstant - 256: 9(int) Constant 8 - 261: TypeVector 6(float) 4 - 266: 9(int) Constant 9 - 274: TypeImage 6(float) 1D sampled format:Unknown - 275: TypePointer UniformConstant 274 - 276(g_tTex1df4): 275(ptr) Variable UniformConstant - 284: 10(int) Constant 6 - 308(PS_OUTPUT): TypeStruct 261(fvec4) - 309: TypePointer Function 308(PS_OUTPUT) - 313: TypePointer Function 261(fvec4) - 315: TypePointer Output 261(fvec4) - 316(color): 315(ptr) Variable Output + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 6(float) + 14: TypeInt 32 1 + 15: TypeInt 32 0 + 16: TypeVector 14(int) 2 + 17: TypeVector 15(int) 2 + 18: TypeVector 6(float) 2 + 19($Global): TypeStruct 14(int) 15(int) 6(float) 15(int) 16(ivec2) 17(ivec2) 18(fvec2) 17(ivec2) 15(int) 6(float) + 20: TypePointer Uniform 19($Global) + 21: 20(ptr) Variable Uniform + 22: 14(int) Constant 3 + 23: TypePointer Uniform 15(int) + 26: TypeBool + 27: 15(int) Constant 0 + 29: 6(float) Constant 0 + 30: 6(float) Constant 1065353216 + 32: 14(int) Constant 2 + 33: TypePointer Uniform 6(float) + 37: TypePointer Function 15(int) + 42: 15(int) Constant 1 + 44: 14(int) Constant 1 + 48: TypePointer Function 14(int) + 53: 14(int) Constant 0 + 55: TypePointer Uniform 14(int) + 73: TypePointer Function 18(fvec2) + 75: 14(int) Constant 7 + 76: TypePointer Uniform 17(ivec2) + 79: TypeVector 26(bool) 2 + 80: 17(ivec2) ConstantComposite 27 27 + 82: 18(fvec2) ConstantComposite 29 29 + 83: 18(fvec2) ConstantComposite 30 30 + 85: 14(int) Constant 6 + 86: TypePointer Uniform 18(fvec2) + 90: TypePointer Function 17(ivec2) + 95: 17(ivec2) ConstantComposite 42 42 + 97: 14(int) Constant 5 + 101: TypePointer Function 16(ivec2) + 106: 16(ivec2) ConstantComposite 53 53 + 107: 16(ivec2) ConstantComposite 44 44 + 109: 14(int) Constant 4 + 110: TypePointer Uniform 16(ivec2) + 256: TypeImage 6(float) Buffer sampled format:R32f + 257: TypeSampledImage 256 + 258: TypePointer UniformConstant 257 + 259(g_tTexbfs): 258(ptr) Variable UniformConstant + 261: 14(int) Constant 8 + 270: 14(int) Constant 9 + 278: TypeImage 6(float) 1D sampled format:Unknown + 279: TypePointer UniformConstant 278 + 280(g_tTex1df4): 279(ptr) Variable UniformConstant + 288: 15(int) Constant 6 + 312: TypePointer Function 8(PS_OUTPUT) + 316: TypePointer Function 7(fvec4) + 321: TypePointer Output 7(fvec4) + 322(color): 321(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 8(r00): 7(ptr) Variable Function - 33(r01): 32(ptr) Variable Function - 44(r02): 43(ptr) Variable Function - 54(r03): 7(ptr) Variable Function - 61(r04): 7(ptr) Variable Function - 69(r10): 68(ptr) Variable Function - 86(r11): 85(ptr) Variable Function - 97(r12): 96(ptr) Variable Function - 109(r13): 68(ptr) Variable Function - 116(r14): 68(ptr) Variable Function - 123(r20): 68(ptr) Variable Function - 133(r21): 85(ptr) Variable Function - 145(r22): 68(ptr) Variable Function - 157(r30): 68(ptr) Variable Function - 166(r31): 85(ptr) Variable Function - 175(r32): 96(ptr) Variable Function - 184(r33): 68(ptr) Variable Function - 192(r34): 68(ptr) Variable Function - 200(r40): 68(ptr) Variable Function - 211(r41): 85(ptr) Variable Function - 224(r42): 68(ptr) Variable Function - 238(r43): 96(ptr) Variable Function - 250(r50): 7(ptr) Variable Function - 264(r51): 7(ptr) Variable Function -273(sizeQueryTemp): 32(ptr) Variable Function - 279(WidthI): 43(ptr) Variable Function -282(sizeQueryTemp): 32(ptr) Variable Function -288(NumberOfLevelsU): 32(ptr) Variable Function -291(sizeQueryTemp): 32(ptr) Variable Function - 294(WidthU): 32(ptr) Variable Function -296(NumberOfLevelsI): 43(ptr) Variable Function -300(sizeQueryTemp): 32(ptr) Variable Function - 310(ps_output): 309(ptr) Variable Function - 19: 18(ptr) AccessChain 16 17 - 20: 10(int) Load 19 - 23: 21(bool) INotEqual 20 22 - 26: 6(float) Select 23 25 24 - 29: 28(ptr) AccessChain 16 27 - 30: 6(float) Load 29 - 31: 6(float) ExtInst 1(GLSL.std.450) 40(FMax) 26 30 - Store 8(r00) 31 - 34: 18(ptr) AccessChain 16 17 - 35: 10(int) Load 34 - 36: 21(bool) INotEqual 35 22 - 38: 10(int) Select 36 37 22 - 40: 18(ptr) AccessChain 16 39 - 41: 10(int) Load 40 - 42: 10(int) ExtInst 1(GLSL.std.450) 41(UMax) 38 41 - Store 33(r01) 42 - 45: 18(ptr) AccessChain 16 17 - 46: 10(int) Load 45 - 47: 21(bool) INotEqual 46 22 - 49: 9(int) Select 47 39 48 - 51: 50(ptr) AccessChain 16 48 - 52: 9(int) Load 51 - 53: 9(int) ExtInst 1(GLSL.std.450) 42(SMax) 49 52 - Store 44(r02) 53 - 55: 50(ptr) AccessChain 16 48 - 56: 9(int) Load 55 - 57: 6(float) ConvertSToF 56 - 58: 28(ptr) AccessChain 16 27 - 59: 6(float) Load 58 - 60: 6(float) ExtInst 1(GLSL.std.450) 40(FMax) 57 59 - Store 54(r03) 60 - 62: 18(ptr) AccessChain 16 39 - 63: 10(int) Load 62 - 64: 6(float) ConvertUToF 63 - 65: 28(ptr) AccessChain 16 27 - 66: 6(float) Load 65 - 67: 6(float) ExtInst 1(GLSL.std.450) 40(FMax) 64 66 - Store 61(r04) 67 - 72: 71(ptr) AccessChain 16 70 - 73: 12(ivec2) Load 72 - 76: 74(bvec2) INotEqual 73 75 - 79: 13(fvec2) Select 76 78 77 - 82: 81(ptr) AccessChain 16 80 - 83: 13(fvec2) Load 82 - 84: 13(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 79 83 - Store 69(r10) 84 - 87: 71(ptr) AccessChain 16 70 - 88: 12(ivec2) Load 87 - 89: 74(bvec2) INotEqual 88 75 - 91: 12(ivec2) Select 89 90 75 - 93: 71(ptr) AccessChain 16 92 - 94: 12(ivec2) Load 93 - 95: 12(ivec2) ExtInst 1(GLSL.std.450) 41(UMax) 91 94 - Store 86(r11) 95 - 98: 71(ptr) AccessChain 16 70 - 99: 12(ivec2) Load 98 - 100: 74(bvec2) INotEqual 99 75 - 103: 11(ivec2) Select 100 102 101 - 106: 105(ptr) AccessChain 16 104 - 107: 11(ivec2) Load 106 - 108: 11(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 103 107 - Store 97(r12) 108 - 110: 105(ptr) AccessChain 16 104 - 111: 11(ivec2) Load 110 - 112: 13(fvec2) ConvertSToF 111 - 113: 81(ptr) AccessChain 16 80 - 114: 13(fvec2) Load 113 - 115: 13(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 112 114 - Store 109(r13) 115 - 117: 71(ptr) AccessChain 16 92 - 118: 12(ivec2) Load 117 - 119: 13(fvec2) ConvertUToF 118 - 120: 81(ptr) AccessChain 16 80 - 121: 13(fvec2) Load 120 - 122: 13(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 119 121 - Store 116(r14) 122 - 124: 105(ptr) AccessChain 16 104 - 125: 11(ivec2) Load 124 - 126: 13(fvec2) ConvertSToF 125 - 127: 71(ptr) AccessChain 16 92 - 128: 12(ivec2) Load 127 - 129: 13(fvec2) ConvertUToF 128 - 130: 81(ptr) AccessChain 16 80 - 131: 13(fvec2) Load 130 - 132: 13(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 126 129 131 - Store 123(r20) 132 - 134: 71(ptr) AccessChain 16 70 - 135: 12(ivec2) Load 134 - 136: 74(bvec2) INotEqual 135 75 - 137: 12(ivec2) Select 136 90 75 - 138: 71(ptr) AccessChain 16 92 - 139: 12(ivec2) Load 138 - 140: 71(ptr) AccessChain 16 70 - 141: 12(ivec2) Load 140 - 142: 74(bvec2) INotEqual 141 75 - 143: 12(ivec2) Select 142 90 75 - 144: 12(ivec2) ExtInst 1(GLSL.std.450) 44(UClamp) 137 139 143 - Store 133(r21) 144 - 146: 71(ptr) AccessChain 16 70 - 147: 12(ivec2) Load 146 - 148: 74(bvec2) INotEqual 147 75 - 149: 13(fvec2) Select 148 78 77 - 150: 81(ptr) AccessChain 16 80 - 151: 13(fvec2) Load 150 - 152: 71(ptr) AccessChain 16 70 - 153: 12(ivec2) Load 152 - 154: 74(bvec2) INotEqual 153 75 - 155: 13(fvec2) Select 154 78 77 - 156: 13(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 149 151 155 - Store 145(r22) 156 - 158: 18(ptr) AccessChain 16 17 - 159: 10(int) Load 158 - 160: 21(bool) INotEqual 159 22 - 161: 6(float) Select 160 25 24 - 162: 13(fvec2) CompositeConstruct 161 161 - 163: 81(ptr) AccessChain 16 80 - 164: 13(fvec2) Load 163 - 165: 13(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 162 164 - Store 157(r30) 165 - 167: 18(ptr) AccessChain 16 17 - 168: 10(int) Load 167 - 169: 21(bool) INotEqual 168 22 - 170: 10(int) Select 169 37 22 - 171: 12(ivec2) CompositeConstruct 170 170 - 172: 71(ptr) AccessChain 16 92 - 173: 12(ivec2) Load 172 - 174: 12(ivec2) ExtInst 1(GLSL.std.450) 41(UMax) 171 173 - Store 166(r31) 174 - 176: 18(ptr) AccessChain 16 17 - 177: 10(int) Load 176 - 178: 21(bool) INotEqual 177 22 - 179: 9(int) Select 178 39 48 - 180: 11(ivec2) CompositeConstruct 179 179 - 181: 105(ptr) AccessChain 16 104 - 182: 11(ivec2) Load 181 - 183: 11(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 180 182 - Store 175(r32) 183 - 185: 50(ptr) AccessChain 16 48 - 186: 9(int) Load 185 - 187: 6(float) ConvertSToF 186 - 188: 13(fvec2) CompositeConstruct 187 187 - 189: 81(ptr) AccessChain 16 80 - 190: 13(fvec2) Load 189 - 191: 13(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 188 190 - Store 184(r33) 191 - 193: 18(ptr) AccessChain 16 39 - 194: 10(int) Load 193 - 195: 6(float) ConvertUToF 194 - 196: 13(fvec2) CompositeConstruct 195 195 - 197: 81(ptr) AccessChain 16 80 - 198: 13(fvec2) Load 197 - 199: 13(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 196 198 - Store 192(r34) 199 - 201: 50(ptr) AccessChain 16 48 - 202: 9(int) Load 201 - 203: 6(float) ConvertSToF 202 - 204: 13(fvec2) CompositeConstruct 203 203 - 205: 71(ptr) AccessChain 16 92 - 206: 12(ivec2) Load 205 - 207: 13(fvec2) ConvertUToF 206 - 208: 81(ptr) AccessChain 16 80 - 209: 13(fvec2) Load 208 - 210: 13(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 204 207 209 - Store 200(r40) 210 - 212: 71(ptr) AccessChain 16 70 - 213: 12(ivec2) Load 212 - 214: 74(bvec2) INotEqual 213 75 - 215: 12(ivec2) Select 214 90 75 - 216: 18(ptr) AccessChain 16 39 - 217: 10(int) Load 216 - 218: 12(ivec2) CompositeConstruct 217 217 - 219: 71(ptr) AccessChain 16 70 - 220: 12(ivec2) Load 219 - 221: 74(bvec2) INotEqual 220 75 - 222: 12(ivec2) Select 221 90 75 - 223: 12(ivec2) ExtInst 1(GLSL.std.450) 44(UClamp) 215 218 222 - Store 211(r41) 223 - 225: 71(ptr) AccessChain 16 70 - 226: 12(ivec2) Load 225 - 227: 74(bvec2) INotEqual 226 75 - 228: 13(fvec2) Select 227 78 77 - 229: 28(ptr) AccessChain 16 27 - 230: 6(float) Load 229 - 231: 13(fvec2) CompositeConstruct 230 230 - 232: 18(ptr) AccessChain 16 17 - 233: 10(int) Load 232 - 234: 21(bool) INotEqual 233 22 - 235: 6(float) Select 234 25 24 - 236: 13(fvec2) CompositeConstruct 235 235 - 237: 13(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 228 231 236 - Store 224(r42) 237 - 239: 50(ptr) AccessChain 16 48 - 240: 9(int) Load 239 - 241: 10(int) Bitcast 240 - 242: 12(ivec2) CompositeConstruct 241 241 - 243: 105(ptr) AccessChain 16 104 - 244: 11(ivec2) Load 243 - 245: 12(ivec2) Bitcast 244 - 246: 71(ptr) AccessChain 16 92 - 247: 12(ivec2) Load 246 - 248: 12(ivec2) ExtInst 1(GLSL.std.450) 44(UClamp) 242 245 247 - 249: 11(ivec2) Bitcast 248 - Store 238(r43) 249 - 255: 252 Load 254(g_tTexbfs) - 257: 18(ptr) AccessChain 16 256 - 258: 10(int) Load 257 - 259: 9(int) Bitcast 258 - 260: 251 Image 255 - 262: 261(fvec4) ImageFetch 260 259 - 263: 6(float) CompositeExtract 262 0 - Store 250(r50) 263 - 265: 252 Load 254(g_tTexbfs) - 267: 28(ptr) AccessChain 16 266 - 268: 6(float) Load 267 - 269: 9(int) ConvertFToS 268 - 270: 251 Image 265 - 271: 261(fvec4) ImageFetch 270 269 - 272: 6(float) CompositeExtract 271 0 - Store 264(r51) 272 - 277: 274 Load 276(g_tTex1df4) - 278: 9(int) ImageQuerySize 277 - Store 273(sizeQueryTemp) 278 - 280: 10(int) Load 273(sizeQueryTemp) - 281: 9(int) Bitcast 280 - Store 279(WidthI) 281 - 283: 274 Load 276(g_tTex1df4) - 285: 9(int) ImageQuerySizeLod 283 284 - Store 282(sizeQueryTemp) 285 - 286: 10(int) Load 282(sizeQueryTemp) - 287: 9(int) Bitcast 286 - Store 279(WidthI) 287 - 289: 274 Load 276(g_tTex1df4) - 290: 9(int) ImageQueryLevels 289 - Store 288(NumberOfLevelsU) 290 - 292: 274 Load 276(g_tTex1df4) - 293: 9(int) ImageQuerySizeLod 292 284 - Store 291(sizeQueryTemp) 293 - 295: 10(int) Load 291(sizeQueryTemp) - Store 294(WidthU) 295 - 297: 274 Load 276(g_tTex1df4) - 298: 9(int) ImageQueryLevels 297 - 299: 9(int) Bitcast 298 - Store 296(NumberOfLevelsI) 299 - 301: 274 Load 276(g_tTex1df4) - 302: 9(int) ImageQuerySizeLod 301 284 - Store 300(sizeQueryTemp) 302 - 303: 10(int) Load 300(sizeQueryTemp) - 304: 9(int) Bitcast 303 - Store 279(WidthI) 304 - 305: 274 Load 276(g_tTex1df4) - 306: 9(int) ImageQueryLevels 305 - 307: 9(int) Bitcast 306 - Store 296(NumberOfLevelsI) 307 - 311: 6(float) Load 8(r00) - 312: 261(fvec4) CompositeConstruct 311 311 311 311 - 314: 313(ptr) AccessChain 310(ps_output) 48 - Store 314 312 - 317: 313(ptr) AccessChain 310(ps_output) 48 - 318: 261(fvec4) Load 317 - Store 316(color) 318 + 323:8(PS_OUTPUT) FunctionCall 10(@main() + 324: 7(fvec4) CompositeExtract 323 0 + Store 322(color) 324 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(r00): 12(ptr) Variable Function + 38(r01): 37(ptr) Variable Function + 49(r02): 48(ptr) Variable Function + 59(r03): 12(ptr) Variable Function + 66(r04): 12(ptr) Variable Function + 74(r10): 73(ptr) Variable Function + 91(r11): 90(ptr) Variable Function + 102(r12): 101(ptr) Variable Function + 114(r13): 73(ptr) Variable Function + 121(r14): 73(ptr) Variable Function + 128(r20): 73(ptr) Variable Function + 138(r21): 90(ptr) Variable Function + 150(r22): 73(ptr) Variable Function + 162(r30): 73(ptr) Variable Function + 171(r31): 90(ptr) Variable Function + 180(r32): 101(ptr) Variable Function + 189(r33): 73(ptr) Variable Function + 197(r34): 73(ptr) Variable Function + 205(r40): 73(ptr) Variable Function + 216(r41): 90(ptr) Variable Function + 229(r42): 73(ptr) Variable Function + 243(r43): 101(ptr) Variable Function + 255(r50): 12(ptr) Variable Function + 268(r51): 12(ptr) Variable Function +277(sizeQueryTemp): 37(ptr) Variable Function + 283(WidthI): 48(ptr) Variable Function +286(sizeQueryTemp): 37(ptr) Variable Function +292(NumberOfLevelsU): 37(ptr) Variable Function +295(sizeQueryTemp): 37(ptr) Variable Function + 298(WidthU): 37(ptr) Variable Function +300(NumberOfLevelsI): 48(ptr) Variable Function +304(sizeQueryTemp): 37(ptr) Variable Function + 313(ps_output): 312(ptr) Variable Function + 24: 23(ptr) AccessChain 21 22 + 25: 15(int) Load 24 + 28: 26(bool) INotEqual 25 27 + 31: 6(float) Select 28 30 29 + 34: 33(ptr) AccessChain 21 32 + 35: 6(float) Load 34 + 36: 6(float) ExtInst 1(GLSL.std.450) 40(FMax) 31 35 + Store 13(r00) 36 + 39: 23(ptr) AccessChain 21 22 + 40: 15(int) Load 39 + 41: 26(bool) INotEqual 40 27 + 43: 15(int) Select 41 42 27 + 45: 23(ptr) AccessChain 21 44 + 46: 15(int) Load 45 + 47: 15(int) ExtInst 1(GLSL.std.450) 41(UMax) 43 46 + Store 38(r01) 47 + 50: 23(ptr) AccessChain 21 22 + 51: 15(int) Load 50 + 52: 26(bool) INotEqual 51 27 + 54: 14(int) Select 52 44 53 + 56: 55(ptr) AccessChain 21 53 + 57: 14(int) Load 56 + 58: 14(int) ExtInst 1(GLSL.std.450) 42(SMax) 54 57 + Store 49(r02) 58 + 60: 55(ptr) AccessChain 21 53 + 61: 14(int) Load 60 + 62: 6(float) ConvertSToF 61 + 63: 33(ptr) AccessChain 21 32 + 64: 6(float) Load 63 + 65: 6(float) ExtInst 1(GLSL.std.450) 40(FMax) 62 64 + Store 59(r03) 65 + 67: 23(ptr) AccessChain 21 44 + 68: 15(int) Load 67 + 69: 6(float) ConvertUToF 68 + 70: 33(ptr) AccessChain 21 32 + 71: 6(float) Load 70 + 72: 6(float) ExtInst 1(GLSL.std.450) 40(FMax) 69 71 + Store 66(r04) 72 + 77: 76(ptr) AccessChain 21 75 + 78: 17(ivec2) Load 77 + 81: 79(bvec2) INotEqual 78 80 + 84: 18(fvec2) Select 81 83 82 + 87: 86(ptr) AccessChain 21 85 + 88: 18(fvec2) Load 87 + 89: 18(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 84 88 + Store 74(r10) 89 + 92: 76(ptr) AccessChain 21 75 + 93: 17(ivec2) Load 92 + 94: 79(bvec2) INotEqual 93 80 + 96: 17(ivec2) Select 94 95 80 + 98: 76(ptr) AccessChain 21 97 + 99: 17(ivec2) Load 98 + 100: 17(ivec2) ExtInst 1(GLSL.std.450) 41(UMax) 96 99 + Store 91(r11) 100 + 103: 76(ptr) AccessChain 21 75 + 104: 17(ivec2) Load 103 + 105: 79(bvec2) INotEqual 104 80 + 108: 16(ivec2) Select 105 107 106 + 111: 110(ptr) AccessChain 21 109 + 112: 16(ivec2) Load 111 + 113: 16(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 108 112 + Store 102(r12) 113 + 115: 110(ptr) AccessChain 21 109 + 116: 16(ivec2) Load 115 + 117: 18(fvec2) ConvertSToF 116 + 118: 86(ptr) AccessChain 21 85 + 119: 18(fvec2) Load 118 + 120: 18(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 117 119 + Store 114(r13) 120 + 122: 76(ptr) AccessChain 21 97 + 123: 17(ivec2) Load 122 + 124: 18(fvec2) ConvertUToF 123 + 125: 86(ptr) AccessChain 21 85 + 126: 18(fvec2) Load 125 + 127: 18(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 124 126 + Store 121(r14) 127 + 129: 110(ptr) AccessChain 21 109 + 130: 16(ivec2) Load 129 + 131: 18(fvec2) ConvertSToF 130 + 132: 76(ptr) AccessChain 21 97 + 133: 17(ivec2) Load 132 + 134: 18(fvec2) ConvertUToF 133 + 135: 86(ptr) AccessChain 21 85 + 136: 18(fvec2) Load 135 + 137: 18(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 131 134 136 + Store 128(r20) 137 + 139: 76(ptr) AccessChain 21 75 + 140: 17(ivec2) Load 139 + 141: 79(bvec2) INotEqual 140 80 + 142: 17(ivec2) Select 141 95 80 + 143: 76(ptr) AccessChain 21 97 + 144: 17(ivec2) Load 143 + 145: 76(ptr) AccessChain 21 75 + 146: 17(ivec2) Load 145 + 147: 79(bvec2) INotEqual 146 80 + 148: 17(ivec2) Select 147 95 80 + 149: 17(ivec2) ExtInst 1(GLSL.std.450) 44(UClamp) 142 144 148 + Store 138(r21) 149 + 151: 76(ptr) AccessChain 21 75 + 152: 17(ivec2) Load 151 + 153: 79(bvec2) INotEqual 152 80 + 154: 18(fvec2) Select 153 83 82 + 155: 86(ptr) AccessChain 21 85 + 156: 18(fvec2) Load 155 + 157: 76(ptr) AccessChain 21 75 + 158: 17(ivec2) Load 157 + 159: 79(bvec2) INotEqual 158 80 + 160: 18(fvec2) Select 159 83 82 + 161: 18(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 154 156 160 + Store 150(r22) 161 + 163: 23(ptr) AccessChain 21 22 + 164: 15(int) Load 163 + 165: 26(bool) INotEqual 164 27 + 166: 6(float) Select 165 30 29 + 167: 18(fvec2) CompositeConstruct 166 166 + 168: 86(ptr) AccessChain 21 85 + 169: 18(fvec2) Load 168 + 170: 18(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 167 169 + Store 162(r30) 170 + 172: 23(ptr) AccessChain 21 22 + 173: 15(int) Load 172 + 174: 26(bool) INotEqual 173 27 + 175: 15(int) Select 174 42 27 + 176: 17(ivec2) CompositeConstruct 175 175 + 177: 76(ptr) AccessChain 21 97 + 178: 17(ivec2) Load 177 + 179: 17(ivec2) ExtInst 1(GLSL.std.450) 41(UMax) 176 178 + Store 171(r31) 179 + 181: 23(ptr) AccessChain 21 22 + 182: 15(int) Load 181 + 183: 26(bool) INotEqual 182 27 + 184: 14(int) Select 183 44 53 + 185: 16(ivec2) CompositeConstruct 184 184 + 186: 110(ptr) AccessChain 21 109 + 187: 16(ivec2) Load 186 + 188: 16(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 185 187 + Store 180(r32) 188 + 190: 55(ptr) AccessChain 21 53 + 191: 14(int) Load 190 + 192: 6(float) ConvertSToF 191 + 193: 18(fvec2) CompositeConstruct 192 192 + 194: 86(ptr) AccessChain 21 85 + 195: 18(fvec2) Load 194 + 196: 18(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 193 195 + Store 189(r33) 196 + 198: 23(ptr) AccessChain 21 44 + 199: 15(int) Load 198 + 200: 6(float) ConvertUToF 199 + 201: 18(fvec2) CompositeConstruct 200 200 + 202: 86(ptr) AccessChain 21 85 + 203: 18(fvec2) Load 202 + 204: 18(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 201 203 + Store 197(r34) 204 + 206: 55(ptr) AccessChain 21 53 + 207: 14(int) Load 206 + 208: 6(float) ConvertSToF 207 + 209: 18(fvec2) CompositeConstruct 208 208 + 210: 76(ptr) AccessChain 21 97 + 211: 17(ivec2) Load 210 + 212: 18(fvec2) ConvertUToF 211 + 213: 86(ptr) AccessChain 21 85 + 214: 18(fvec2) Load 213 + 215: 18(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 209 212 214 + Store 205(r40) 215 + 217: 76(ptr) AccessChain 21 75 + 218: 17(ivec2) Load 217 + 219: 79(bvec2) INotEqual 218 80 + 220: 17(ivec2) Select 219 95 80 + 221: 23(ptr) AccessChain 21 44 + 222: 15(int) Load 221 + 223: 17(ivec2) CompositeConstruct 222 222 + 224: 76(ptr) AccessChain 21 75 + 225: 17(ivec2) Load 224 + 226: 79(bvec2) INotEqual 225 80 + 227: 17(ivec2) Select 226 95 80 + 228: 17(ivec2) ExtInst 1(GLSL.std.450) 44(UClamp) 220 223 227 + Store 216(r41) 228 + 230: 76(ptr) AccessChain 21 75 + 231: 17(ivec2) Load 230 + 232: 79(bvec2) INotEqual 231 80 + 233: 18(fvec2) Select 232 83 82 + 234: 33(ptr) AccessChain 21 32 + 235: 6(float) Load 234 + 236: 18(fvec2) CompositeConstruct 235 235 + 237: 23(ptr) AccessChain 21 22 + 238: 15(int) Load 237 + 239: 26(bool) INotEqual 238 27 + 240: 6(float) Select 239 30 29 + 241: 18(fvec2) CompositeConstruct 240 240 + 242: 18(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 233 236 241 + Store 229(r42) 242 + 244: 55(ptr) AccessChain 21 53 + 245: 14(int) Load 244 + 246: 15(int) Bitcast 245 + 247: 17(ivec2) CompositeConstruct 246 246 + 248: 110(ptr) AccessChain 21 109 + 249: 16(ivec2) Load 248 + 250: 17(ivec2) Bitcast 249 + 251: 76(ptr) AccessChain 21 97 + 252: 17(ivec2) Load 251 + 253: 17(ivec2) ExtInst 1(GLSL.std.450) 44(UClamp) 247 250 252 + 254: 16(ivec2) Bitcast 253 + Store 243(r43) 254 + 260: 257 Load 259(g_tTexbfs) + 262: 23(ptr) AccessChain 21 261 + 263: 15(int) Load 262 + 264: 14(int) Bitcast 263 + 265: 256 Image 260 + 266: 7(fvec4) ImageFetch 265 264 + 267: 6(float) CompositeExtract 266 0 + Store 255(r50) 267 + 269: 257 Load 259(g_tTexbfs) + 271: 33(ptr) AccessChain 21 270 + 272: 6(float) Load 271 + 273: 14(int) ConvertFToS 272 + 274: 256 Image 269 + 275: 7(fvec4) ImageFetch 274 273 + 276: 6(float) CompositeExtract 275 0 + Store 268(r51) 276 + 281: 278 Load 280(g_tTex1df4) + 282: 14(int) ImageQuerySize 281 + Store 277(sizeQueryTemp) 282 + 284: 15(int) Load 277(sizeQueryTemp) + 285: 14(int) Bitcast 284 + Store 283(WidthI) 285 + 287: 278 Load 280(g_tTex1df4) + 289: 14(int) ImageQuerySizeLod 287 288 + Store 286(sizeQueryTemp) 289 + 290: 15(int) Load 286(sizeQueryTemp) + 291: 14(int) Bitcast 290 + Store 283(WidthI) 291 + 293: 278 Load 280(g_tTex1df4) + 294: 14(int) ImageQueryLevels 293 + Store 292(NumberOfLevelsU) 294 + 296: 278 Load 280(g_tTex1df4) + 297: 14(int) ImageQuerySizeLod 296 288 + Store 295(sizeQueryTemp) 297 + 299: 15(int) Load 295(sizeQueryTemp) + Store 298(WidthU) 299 + 301: 278 Load 280(g_tTex1df4) + 302: 14(int) ImageQueryLevels 301 + 303: 14(int) Bitcast 302 + Store 300(NumberOfLevelsI) 303 + 305: 278 Load 280(g_tTex1df4) + 306: 14(int) ImageQuerySizeLod 305 288 + Store 304(sizeQueryTemp) 306 + 307: 15(int) Load 304(sizeQueryTemp) + 308: 14(int) Bitcast 307 + Store 283(WidthI) 308 + 309: 278 Load 280(g_tTex1df4) + 310: 14(int) ImageQueryLevels 309 + 311: 14(int) Bitcast 310 + Store 300(NumberOfLevelsI) 311 + 314: 6(float) Load 13(r00) + 315: 7(fvec4) CompositeConstruct 314 314 314 314 + 317: 316(ptr) AccessChain 313(ps_output) 53 + Store 317 315 + 318:8(PS_OUTPUT) Load 313(ps_output) + ReturnValue 318 + FunctionEnd diff --git a/Test/baseResults/hlsl.intrinsics.promote.outputs.frag.out b/Test/baseResults/hlsl.intrinsics.promote.outputs.frag.out index ebe6a24c..63d53c2a 100644 --- a/Test/baseResults/hlsl.intrinsics.promote.outputs.frag.out +++ b/Test/baseResults/hlsl.intrinsics.promote.outputs.frag.out @@ -2,7 +2,7 @@ hlsl.intrinsics.promote.outputs.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:20 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:20 Function Definition: @main( (temp structure{temp 4-component vector of float color}) 0:20 Function Parameters: 0:? Sequence 0:37 clamp (temp float) @@ -79,19 +79,22 @@ gl_FragCoord origin is upper left 0:47 0.000000 0:47 0.000000 0:47 0.000000 -0:48 Sequence -0:48 Sequence -0:48 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:48 color: direct index for structure (temp 4-component vector of float) -0:48 'ps_output' (temp structure{temp 4-component vector of float color}) -0:48 Constant: -0:48 0 (const int) -0:48 Branch: Return +0:48 Branch: Return with expression +0:48 'ps_output' (temp structure{temp 4-component vector of float color}) +0:20 Function Definition: main( (temp void) +0:20 Function Parameters: +0:? Sequence +0:20 Sequence +0:20 move second child to first child (temp 4-component vector of float) +0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:20 color: direct index for structure (temp 4-component vector of float) +0:20 Function Call: @main( (temp structure{temp 4-component vector of float color}) +0:20 Constant: +0:20 0 (const int) 0:? Linker Objects -0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:? 'g_tTexbfs' (layout(r32f ) uniform samplerBuffer) 0:? 'g_tTex1df4' (uniform texture1D) +0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) @@ -101,7 +104,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:20 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:20 Function Definition: @main( (temp structure{temp 4-component vector of float color}) 0:20 Function Parameters: 0:? Sequence 0:37 clamp (temp float) @@ -178,24 +181,27 @@ gl_FragCoord origin is upper left 0:47 0.000000 0:47 0.000000 0:47 0.000000 -0:48 Sequence -0:48 Sequence -0:48 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:48 color: direct index for structure (temp 4-component vector of float) -0:48 'ps_output' (temp structure{temp 4-component vector of float color}) -0:48 Constant: -0:48 0 (const int) -0:48 Branch: Return +0:48 Branch: Return with expression +0:48 'ps_output' (temp structure{temp 4-component vector of float color}) +0:20 Function Definition: main( (temp void) +0:20 Function Parameters: +0:? Sequence +0:20 Sequence +0:20 move second child to first child (temp 4-component vector of float) +0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:20 color: direct index for structure (temp 4-component vector of float) +0:20 Function Call: @main( (temp structure{temp 4-component vector of float color}) +0:20 Constant: +0:20 0 (const int) 0:? Linker Objects -0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:? 'g_tTexbfs' (layout(r32f ) uniform samplerBuffer) 0:? 'g_tTex1df4' (uniform texture1D) +0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 76 +// Id's are bound by 81 Capability Shader Capability Sampled1D @@ -203,135 +209,142 @@ gl_FragCoord origin is upper left Capability ImageQuery 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 68 + EntryPoint Fragment 4 "main" 74 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 12 "$Global" - MemberName 12($Global) 0 "i" - MemberName 12($Global) 1 "u" - MemberName 12($Global) 2 "f" - MemberName 12($Global) 3 "b" - MemberName 12($Global) 4 "i2" - MemberName 12($Global) 5 "u2" - MemberName 12($Global) 6 "f2" - MemberName 12($Global) 7 "b2" - MemberName 12($Global) 8 "upos" - MemberName 12($Global) 9 "fpos" - Name 14 "" - Name 23 "sizeQueryTemp" - Name 26 "g_tTex1df4" - Name 30 "WidthI" - Name 33 "sizeQueryTemp" - Name 39 "NumberOfLevelsU" - Name 42 "sizeQueryTemp" - Name 45 "WidthU" - Name 47 "NumberOfLevelsI" - Name 51 "sizeQueryTemp" - Name 60 "PS_OUTPUT" - MemberName 60(PS_OUTPUT) 0 "color" - Name 62 "ps_output" - Name 68 "color" - Name 75 "g_tTexbfs" - MemberDecorate 12($Global) 0 Offset 0 - MemberDecorate 12($Global) 1 Offset 4 - MemberDecorate 12($Global) 2 Offset 8 - MemberDecorate 12($Global) 3 Offset 12 - MemberDecorate 12($Global) 4 Offset 16 - MemberDecorate 12($Global) 5 Offset 24 - MemberDecorate 12($Global) 6 Offset 32 - MemberDecorate 12($Global) 7 Offset 40 - MemberDecorate 12($Global) 8 Offset 48 - MemberDecorate 12($Global) 9 Offset 52 - Decorate 12($Global) Block - Decorate 14 DescriptorSet 0 - Decorate 26(g_tTex1df4) DescriptorSet 0 - Decorate 68(color) Location 0 - Decorate 75(g_tTexbfs) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "color" + Name 10 "@main(" + Name 17 "$Global" + MemberName 17($Global) 0 "i" + MemberName 17($Global) 1 "u" + MemberName 17($Global) 2 "f" + MemberName 17($Global) 3 "b" + MemberName 17($Global) 4 "i2" + MemberName 17($Global) 5 "u2" + MemberName 17($Global) 6 "f2" + MemberName 17($Global) 7 "b2" + MemberName 17($Global) 8 "upos" + MemberName 17($Global) 9 "fpos" + Name 19 "" + Name 28 "sizeQueryTemp" + Name 31 "g_tTex1df4" + Name 35 "WidthI" + Name 38 "sizeQueryTemp" + Name 44 "NumberOfLevelsU" + Name 47 "sizeQueryTemp" + Name 50 "WidthU" + Name 52 "NumberOfLevelsI" + Name 56 "sizeQueryTemp" + Name 65 "ps_output" + Name 74 "color" + Name 80 "g_tTexbfs" + MemberDecorate 17($Global) 0 Offset 0 + MemberDecorate 17($Global) 1 Offset 4 + MemberDecorate 17($Global) 2 Offset 8 + MemberDecorate 17($Global) 3 Offset 12 + MemberDecorate 17($Global) 4 Offset 16 + MemberDecorate 17($Global) 5 Offset 24 + MemberDecorate 17($Global) 6 Offset 32 + MemberDecorate 17($Global) 7 Offset 40 + MemberDecorate 17($Global) 8 Offset 48 + MemberDecorate 17($Global) 9 Offset 52 + Decorate 17($Global) Block + Decorate 19 DescriptorSet 0 + Decorate 31(g_tTex1df4) DescriptorSet 0 + Decorate 74(color) Location 0 + Decorate 80(g_tTexbfs) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 - 6: TypeInt 32 1 - 7: TypeInt 32 0 - 8: TypeFloat 32 - 9: TypeVector 6(int) 2 - 10: TypeVector 7(int) 2 - 11: TypeVector 8(float) 2 - 12($Global): TypeStruct 6(int) 7(int) 8(float) 7(int) 9(ivec2) 10(ivec2) 11(fvec2) 10(ivec2) 7(int) 8(float) - 13: TypePointer Uniform 12($Global) - 14: 13(ptr) Variable Uniform - 15: 6(int) Constant 9 - 16: TypePointer Uniform 8(float) - 19: 8(float) Constant 0 - 20: 8(float) Constant 1065353216 - 22: TypePointer Function 7(int) - 24: TypeImage 8(float) 1D sampled format:Unknown - 25: TypePointer UniformConstant 24 - 26(g_tTex1df4): 25(ptr) Variable UniformConstant - 29: TypePointer Function 6(int) - 35: 7(int) Constant 6 - 59: TypeVector 8(float) 4 - 60(PS_OUTPUT): TypeStruct 59(fvec4) - 61: TypePointer Function 60(PS_OUTPUT) - 63: 6(int) Constant 0 - 64: 59(fvec4) ConstantComposite 19 19 19 19 - 65: TypePointer Function 59(fvec4) - 67: TypePointer Output 59(fvec4) - 68(color): 67(ptr) Variable Output - 72: TypeImage 8(float) Buffer sampled format:R32f - 73: TypeSampledImage 72 - 74: TypePointer UniformConstant 73 - 75(g_tTexbfs): 74(ptr) Variable UniformConstant + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypeInt 32 1 + 13: TypeInt 32 0 + 14: TypeVector 12(int) 2 + 15: TypeVector 13(int) 2 + 16: TypeVector 6(float) 2 + 17($Global): TypeStruct 12(int) 13(int) 6(float) 13(int) 14(ivec2) 15(ivec2) 16(fvec2) 15(ivec2) 13(int) 6(float) + 18: TypePointer Uniform 17($Global) + 19: 18(ptr) Variable Uniform + 20: 12(int) Constant 9 + 21: TypePointer Uniform 6(float) + 24: 6(float) Constant 0 + 25: 6(float) Constant 1065353216 + 27: TypePointer Function 13(int) + 29: TypeImage 6(float) 1D sampled format:Unknown + 30: TypePointer UniformConstant 29 + 31(g_tTex1df4): 30(ptr) Variable UniformConstant + 34: TypePointer Function 12(int) + 40: 13(int) Constant 6 + 64: TypePointer Function 8(PS_OUTPUT) + 66: 12(int) Constant 0 + 67: 7(fvec4) ConstantComposite 24 24 24 24 + 68: TypePointer Function 7(fvec4) + 73: TypePointer Output 7(fvec4) + 74(color): 73(ptr) Variable Output + 77: TypeImage 6(float) Buffer sampled format:R32f + 78: TypeSampledImage 77 + 79: TypePointer UniformConstant 78 + 80(g_tTexbfs): 79(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label -23(sizeQueryTemp): 22(ptr) Variable Function - 30(WidthI): 29(ptr) Variable Function -33(sizeQueryTemp): 22(ptr) Variable Function -39(NumberOfLevelsU): 22(ptr) Variable Function -42(sizeQueryTemp): 22(ptr) Variable Function - 45(WidthU): 22(ptr) Variable Function -47(NumberOfLevelsI): 29(ptr) Variable Function -51(sizeQueryTemp): 22(ptr) Variable Function - 62(ps_output): 61(ptr) Variable Function - 17: 16(ptr) AccessChain 14 15 - 18: 8(float) Load 17 - 21: 8(float) ExtInst 1(GLSL.std.450) 43(FClamp) 18 19 20 - 27: 24 Load 26(g_tTex1df4) - 28: 6(int) ImageQuerySize 27 - Store 23(sizeQueryTemp) 28 - 31: 7(int) Load 23(sizeQueryTemp) - 32: 6(int) Bitcast 31 - Store 30(WidthI) 32 - 34: 24 Load 26(g_tTex1df4) - 36: 6(int) ImageQuerySizeLod 34 35 - Store 33(sizeQueryTemp) 36 - 37: 7(int) Load 33(sizeQueryTemp) - 38: 6(int) Bitcast 37 - Store 30(WidthI) 38 - 40: 24 Load 26(g_tTex1df4) - 41: 6(int) ImageQueryLevels 40 - Store 39(NumberOfLevelsU) 41 - 43: 24 Load 26(g_tTex1df4) - 44: 6(int) ImageQuerySizeLod 43 35 - Store 42(sizeQueryTemp) 44 - 46: 7(int) Load 42(sizeQueryTemp) - Store 45(WidthU) 46 - 48: 24 Load 26(g_tTex1df4) - 49: 6(int) ImageQueryLevels 48 - 50: 6(int) Bitcast 49 - Store 47(NumberOfLevelsI) 50 - 52: 24 Load 26(g_tTex1df4) - 53: 6(int) ImageQuerySizeLod 52 35 - Store 51(sizeQueryTemp) 53 - 54: 7(int) Load 51(sizeQueryTemp) - 55: 6(int) Bitcast 54 - Store 30(WidthI) 55 - 56: 24 Load 26(g_tTex1df4) - 57: 6(int) ImageQueryLevels 56 - 58: 6(int) Bitcast 57 - Store 47(NumberOfLevelsI) 58 - 66: 65(ptr) AccessChain 62(ps_output) 63 - Store 66 64 - 69: 65(ptr) AccessChain 62(ps_output) 63 - 70: 59(fvec4) Load 69 - Store 68(color) 70 + 75:8(PS_OUTPUT) FunctionCall 10(@main() + 76: 7(fvec4) CompositeExtract 75 0 + Store 74(color) 76 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label +28(sizeQueryTemp): 27(ptr) Variable Function + 35(WidthI): 34(ptr) Variable Function +38(sizeQueryTemp): 27(ptr) Variable Function +44(NumberOfLevelsU): 27(ptr) Variable Function +47(sizeQueryTemp): 27(ptr) Variable Function + 50(WidthU): 27(ptr) Variable Function +52(NumberOfLevelsI): 34(ptr) Variable Function +56(sizeQueryTemp): 27(ptr) Variable Function + 65(ps_output): 64(ptr) Variable Function + 22: 21(ptr) AccessChain 19 20 + 23: 6(float) Load 22 + 26: 6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 23 24 25 + 32: 29 Load 31(g_tTex1df4) + 33: 12(int) ImageQuerySize 32 + Store 28(sizeQueryTemp) 33 + 36: 13(int) Load 28(sizeQueryTemp) + 37: 12(int) Bitcast 36 + Store 35(WidthI) 37 + 39: 29 Load 31(g_tTex1df4) + 41: 12(int) ImageQuerySizeLod 39 40 + Store 38(sizeQueryTemp) 41 + 42: 13(int) Load 38(sizeQueryTemp) + 43: 12(int) Bitcast 42 + Store 35(WidthI) 43 + 45: 29 Load 31(g_tTex1df4) + 46: 12(int) ImageQueryLevels 45 + Store 44(NumberOfLevelsU) 46 + 48: 29 Load 31(g_tTex1df4) + 49: 12(int) ImageQuerySizeLod 48 40 + Store 47(sizeQueryTemp) 49 + 51: 13(int) Load 47(sizeQueryTemp) + Store 50(WidthU) 51 + 53: 29 Load 31(g_tTex1df4) + 54: 12(int) ImageQueryLevels 53 + 55: 12(int) Bitcast 54 + Store 52(NumberOfLevelsI) 55 + 57: 29 Load 31(g_tTex1df4) + 58: 12(int) ImageQuerySizeLod 57 40 + Store 56(sizeQueryTemp) 58 + 59: 13(int) Load 56(sizeQueryTemp) + 60: 12(int) Bitcast 59 + Store 35(WidthI) 60 + 61: 29 Load 31(g_tTex1df4) + 62: 12(int) ImageQueryLevels 61 + 63: 12(int) Bitcast 62 + Store 52(NumberOfLevelsI) 63 + 69: 68(ptr) AccessChain 65(ps_output) 66 + Store 69 67 + 70:8(PS_OUTPUT) Load 65(ps_output) + ReturnValue 70 + FunctionEnd diff --git a/Test/baseResults/hlsl.load.2dms.dx10.frag.out b/Test/baseResults/hlsl.load.2dms.dx10.frag.out index 288a0f3f..7196580e 100644 --- a/Test/baseResults/hlsl.load.2dms.dx10.frag.out +++ b/Test/baseResults/hlsl.load.2dms.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.load.2dms.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:28 Function Parameters: 0:? Sequence 0:32 textureFetch (temp 4-component vector of float) @@ -142,24 +142,28 @@ gl_FragCoord origin is upper left 0:52 1 (const int) 0:52 Constant: 0:52 1.000000 -0:54 Sequence -0:54 Sequence -0:54 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:54 Color: direct index for structure (temp 4-component vector of float) -0:54 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:54 Constant: -0:54 0 (const int) -0:54 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:54 Depth: direct index for structure (temp float) -0:54 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:54 Constant: -0:54 1 (const int) -0:54 Branch: Return +0:54 Branch: Return with expression +0:54 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: main( (temp void) +0:28 Function Parameters: +0:? Sequence +0:28 Sequence +0:28 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:28 Color: direct index for structure (temp 4-component vector of float) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 0 (const int) +0:28 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:28 Depth: direct index for structure (temp float) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex2dmsf4' (uniform texture2DMS) 0:? 'g_tTex2dmsi4' (uniform itexture2DMS) @@ -167,6 +171,8 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2dmsf4a' (uniform texture2DMSArray) 0:? 'g_tTex2dmsi4a' (uniform itexture2DMSArray) 0:? 'g_tTex2dmsu4a' (uniform utexture2DMSArray) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) @@ -176,7 +182,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:28 Function Parameters: 0:? Sequence 0:32 textureFetch (temp 4-component vector of float) @@ -316,24 +322,28 @@ gl_FragCoord origin is upper left 0:52 1 (const int) 0:52 Constant: 0:52 1.000000 -0:54 Sequence -0:54 Sequence -0:54 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:54 Color: direct index for structure (temp 4-component vector of float) -0:54 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:54 Constant: -0:54 0 (const int) -0:54 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:54 Depth: direct index for structure (temp float) -0:54 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:54 Constant: -0:54 1 (const int) -0:54 Branch: Return +0:54 Branch: Return with expression +0:54 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: main( (temp void) +0:28 Function Parameters: +0:? Sequence +0:28 Sequence +0:28 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:28 Color: direct index for structure (temp 4-component vector of float) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 0 (const int) +0:28 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:28 Depth: direct index for structure (temp float) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex2dmsf4' (uniform texture2DMS) 0:? 'g_tTex2dmsi4' (uniform itexture2DMS) @@ -341,186 +351,199 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2dmsf4a' (uniform texture2DMSArray) 0:? 'g_tTex2dmsi4a' (uniform itexture2DMSArray) 0:? 'g_tTex2dmsu4a' (uniform utexture2DMSArray) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 123 +// Id's are bound by 130 Capability Shader Capability ImageGatherExtended Capability ImageMSArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 112 116 + EntryPoint Fragment 4 "main" 120 124 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "g_tTex2dmsf4" - Name 15 "$Global" - MemberName 15($Global) 0 "c1" - MemberName 15($Global) 1 "c2" - MemberName 15($Global) 2 "c3" - MemberName 15($Global) 3 "c4" - MemberName 15($Global) 4 "o1" - MemberName 15($Global) 5 "o2" - MemberName 15($Global) 6 "o3" - MemberName 15($Global) 7 "o4" - Name 17 "" - Name 27 "g_tTex2dmsi4" - Name 35 "g_tTex2dmsu4" - Name 62 "g_tTex2dmsf4a" - Name 71 "g_tTex2dmsi4a" - Name 78 "g_tTex2dmsu4a" - Name 101 "PS_OUTPUT" - MemberName 101(PS_OUTPUT) 0 "Color" - MemberName 101(PS_OUTPUT) 1 "Depth" - Name 103 "psout" - Name 112 "Color" - Name 116 "Depth" - Name 122 "g_sSamp" - Decorate 9(g_tTex2dmsf4) DescriptorSet 0 - MemberDecorate 15($Global) 0 Offset 0 - MemberDecorate 15($Global) 1 Offset 8 - MemberDecorate 15($Global) 2 Offset 16 - MemberDecorate 15($Global) 3 Offset 32 - MemberDecorate 15($Global) 4 Offset 48 - MemberDecorate 15($Global) 5 Offset 56 - MemberDecorate 15($Global) 6 Offset 64 - MemberDecorate 15($Global) 7 Offset 80 - Decorate 15($Global) Block - Decorate 17 DescriptorSet 0 - Decorate 27(g_tTex2dmsi4) DescriptorSet 0 - Decorate 35(g_tTex2dmsu4) DescriptorSet 0 - Decorate 62(g_tTex2dmsf4a) DescriptorSet 0 - Decorate 71(g_tTex2dmsi4a) DescriptorSet 0 - Decorate 78(g_tTex2dmsu4a) DescriptorSet 0 - Decorate 112(Color) Location 0 - Decorate 116(Depth) BuiltIn FragDepth - Decorate 122(g_sSamp) DescriptorSet 0 - Decorate 122(g_sSamp) Binding 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 14 "g_tTex2dmsf4" + Name 20 "$Global" + MemberName 20($Global) 0 "c1" + MemberName 20($Global) 1 "c2" + MemberName 20($Global) 2 "c3" + MemberName 20($Global) 3 "c4" + MemberName 20($Global) 4 "o1" + MemberName 20($Global) 5 "o2" + MemberName 20($Global) 6 "o3" + MemberName 20($Global) 7 "o4" + Name 22 "" + Name 31 "g_tTex2dmsi4" + Name 39 "g_tTex2dmsu4" + Name 66 "g_tTex2dmsf4a" + Name 75 "g_tTex2dmsi4a" + Name 82 "g_tTex2dmsu4a" + Name 106 "psout" + Name 117 "flattenTemp" + Name 120 "Color" + Name 124 "Depth" + Name 129 "g_sSamp" + Decorate 14(g_tTex2dmsf4) DescriptorSet 0 + MemberDecorate 20($Global) 0 Offset 0 + MemberDecorate 20($Global) 1 Offset 8 + MemberDecorate 20($Global) 2 Offset 16 + MemberDecorate 20($Global) 3 Offset 32 + MemberDecorate 20($Global) 4 Offset 48 + MemberDecorate 20($Global) 5 Offset 56 + MemberDecorate 20($Global) 6 Offset 64 + MemberDecorate 20($Global) 7 Offset 80 + Decorate 20($Global) Block + Decorate 22 DescriptorSet 0 + Decorate 31(g_tTex2dmsi4) DescriptorSet 0 + Decorate 39(g_tTex2dmsu4) DescriptorSet 0 + Decorate 66(g_tTex2dmsf4a) DescriptorSet 0 + Decorate 75(g_tTex2dmsi4a) DescriptorSet 0 + Decorate 82(g_tTex2dmsu4a) DescriptorSet 0 + Decorate 120(Color) Location 0 + Decorate 124(Depth) BuiltIn FragDepth + Decorate 129(g_sSamp) DescriptorSet 0 + Decorate 129(g_sSamp) Binding 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypeImage 6(float) 2D multi-sampled sampled format:Unknown - 8: TypePointer UniformConstant 7 - 9(g_tTex2dmsf4): 8(ptr) Variable UniformConstant - 11: TypeInt 32 1 - 12: TypeVector 11(int) 2 - 13: TypeVector 11(int) 3 - 14: TypeVector 11(int) 4 - 15($Global): TypeStruct 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 11(int) 12(ivec2) 13(ivec3) 14(ivec4) - 16: TypePointer Uniform 15($Global) - 17: 16(ptr) Variable Uniform - 18: 11(int) Constant 1 - 19: TypePointer Uniform 12(ivec2) - 22: 11(int) Constant 3 - 23: TypeVector 6(float) 4 - 25: TypeImage 11(int) 2D multi-sampled sampled format:Unknown - 26: TypePointer UniformConstant 25 -27(g_tTex2dmsi4): 26(ptr) Variable UniformConstant - 32: TypeInt 32 0 - 33: TypeImage 32(int) 2D multi-sampled sampled format:Unknown - 34: TypePointer UniformConstant 33 -35(g_tTex2dmsu4): 34(ptr) Variable UniformConstant - 39: TypeVector 32(int) 4 - 44: 11(int) Constant 5 - 60: TypeImage 6(float) 2D array multi-sampled sampled format:Unknown - 61: TypePointer UniformConstant 60 -62(g_tTex2dmsf4a): 61(ptr) Variable UniformConstant - 64: 11(int) Constant 2 - 65: TypePointer Uniform 13(ivec3) - 69: TypeImage 11(int) 2D array multi-sampled sampled format:Unknown - 70: TypePointer UniformConstant 69 -71(g_tTex2dmsi4a): 70(ptr) Variable UniformConstant - 76: TypeImage 32(int) 2D array multi-sampled sampled format:Unknown - 77: TypePointer UniformConstant 76 -78(g_tTex2dmsu4a): 77(ptr) Variable UniformConstant - 101(PS_OUTPUT): TypeStruct 23(fvec4) 6(float) - 102: TypePointer Function 101(PS_OUTPUT) - 104: 11(int) Constant 0 - 105: 6(float) Constant 1065353216 - 106: 23(fvec4) ConstantComposite 105 105 105 105 - 107: TypePointer Function 23(fvec4) - 109: TypePointer Function 6(float) - 111: TypePointer Output 23(fvec4) - 112(Color): 111(ptr) Variable Output - 115: TypePointer Output 6(float) - 116(Depth): 115(ptr) Variable Output - 120: TypeSampler - 121: TypePointer UniformConstant 120 - 122(g_sSamp): 121(ptr) Variable UniformConstant + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypeImage 6(float) 2D multi-sampled sampled format:Unknown + 13: TypePointer UniformConstant 12 +14(g_tTex2dmsf4): 13(ptr) Variable UniformConstant + 16: TypeInt 32 1 + 17: TypeVector 16(int) 2 + 18: TypeVector 16(int) 3 + 19: TypeVector 16(int) 4 + 20($Global): TypeStruct 16(int) 17(ivec2) 18(ivec3) 19(ivec4) 16(int) 17(ivec2) 18(ivec3) 19(ivec4) + 21: TypePointer Uniform 20($Global) + 22: 21(ptr) Variable Uniform + 23: 16(int) Constant 1 + 24: TypePointer Uniform 17(ivec2) + 27: 16(int) Constant 3 + 29: TypeImage 16(int) 2D multi-sampled sampled format:Unknown + 30: TypePointer UniformConstant 29 +31(g_tTex2dmsi4): 30(ptr) Variable UniformConstant + 36: TypeInt 32 0 + 37: TypeImage 36(int) 2D multi-sampled sampled format:Unknown + 38: TypePointer UniformConstant 37 +39(g_tTex2dmsu4): 38(ptr) Variable UniformConstant + 43: TypeVector 36(int) 4 + 48: 16(int) Constant 5 + 64: TypeImage 6(float) 2D array multi-sampled sampled format:Unknown + 65: TypePointer UniformConstant 64 +66(g_tTex2dmsf4a): 65(ptr) Variable UniformConstant + 68: 16(int) Constant 2 + 69: TypePointer Uniform 18(ivec3) + 73: TypeImage 16(int) 2D array multi-sampled sampled format:Unknown + 74: TypePointer UniformConstant 73 +75(g_tTex2dmsi4a): 74(ptr) Variable UniformConstant + 80: TypeImage 36(int) 2D array multi-sampled sampled format:Unknown + 81: TypePointer UniformConstant 80 +82(g_tTex2dmsu4a): 81(ptr) Variable UniformConstant + 105: TypePointer Function 8(PS_OUTPUT) + 107: 16(int) Constant 0 + 108: 6(float) Constant 1065353216 + 109: 7(fvec4) ConstantComposite 108 108 108 108 + 110: TypePointer Function 7(fvec4) + 112: TypePointer Function 6(float) + 119: TypePointer Output 7(fvec4) + 120(Color): 119(ptr) Variable Output + 123: TypePointer Output 6(float) + 124(Depth): 123(ptr) Variable Output + 127: TypeSampler + 128: TypePointer UniformConstant 127 + 129(g_sSamp): 128(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 103(psout): 102(ptr) Variable Function - 10: 7 Load 9(g_tTex2dmsf4) - 20: 19(ptr) AccessChain 17 18 - 21: 12(ivec2) Load 20 - 24: 23(fvec4) ImageFetch 10 21 Sample 22 - 28: 25 Load 27(g_tTex2dmsi4) - 29: 19(ptr) AccessChain 17 18 - 30: 12(ivec2) Load 29 - 31: 14(ivec4) ImageFetch 28 30 Sample 22 - 36: 33 Load 35(g_tTex2dmsu4) - 37: 19(ptr) AccessChain 17 18 - 38: 12(ivec2) Load 37 - 40: 39(ivec4) ImageFetch 36 38 Sample 22 - 41: 7 Load 9(g_tTex2dmsf4) - 42: 19(ptr) AccessChain 17 18 - 43: 12(ivec2) Load 42 - 45: 19(ptr) AccessChain 17 44 - 46: 12(ivec2) Load 45 - 47: 23(fvec4) ImageFetch 41 43 Offset Sample 46 22 - 48: 25 Load 27(g_tTex2dmsi4) - 49: 19(ptr) AccessChain 17 18 - 50: 12(ivec2) Load 49 - 51: 19(ptr) AccessChain 17 44 - 52: 12(ivec2) Load 51 - 53: 14(ivec4) ImageFetch 48 50 Offset Sample 52 22 - 54: 33 Load 35(g_tTex2dmsu4) - 55: 19(ptr) AccessChain 17 18 - 56: 12(ivec2) Load 55 - 57: 19(ptr) AccessChain 17 44 - 58: 12(ivec2) Load 57 - 59: 39(ivec4) ImageFetch 54 56 Offset Sample 58 22 - 63: 60 Load 62(g_tTex2dmsf4a) - 66: 65(ptr) AccessChain 17 64 - 67: 13(ivec3) Load 66 - 68: 23(fvec4) ImageFetch 63 67 Sample 22 - 72: 69 Load 71(g_tTex2dmsi4a) - 73: 65(ptr) AccessChain 17 64 - 74: 13(ivec3) Load 73 - 75: 14(ivec4) ImageFetch 72 74 Sample 22 - 79: 76 Load 78(g_tTex2dmsu4a) - 80: 65(ptr) AccessChain 17 64 - 81: 13(ivec3) Load 80 - 82: 39(ivec4) ImageFetch 79 81 Sample 22 - 83: 60 Load 62(g_tTex2dmsf4a) - 84: 65(ptr) AccessChain 17 64 - 85: 13(ivec3) Load 84 - 86: 19(ptr) AccessChain 17 44 - 87: 12(ivec2) Load 86 - 88: 23(fvec4) ImageFetch 83 85 Offset Sample 87 22 - 89: 69 Load 71(g_tTex2dmsi4a) - 90: 65(ptr) AccessChain 17 64 - 91: 13(ivec3) Load 90 - 92: 19(ptr) AccessChain 17 44 - 93: 12(ivec2) Load 92 - 94: 14(ivec4) ImageFetch 89 91 Offset Sample 93 22 - 95: 76 Load 78(g_tTex2dmsu4a) - 96: 65(ptr) AccessChain 17 64 - 97: 13(ivec3) Load 96 - 98: 19(ptr) AccessChain 17 44 - 99: 12(ivec2) Load 98 - 100: 39(ivec4) ImageFetch 95 97 Offset Sample 99 22 - 108: 107(ptr) AccessChain 103(psout) 104 - Store 108 106 - 110: 109(ptr) AccessChain 103(psout) 18 - Store 110 105 - 113: 107(ptr) AccessChain 103(psout) 104 - 114: 23(fvec4) Load 113 - Store 112(Color) 114 - 117: 109(ptr) AccessChain 103(psout) 18 - 118: 6(float) Load 117 - Store 116(Depth) 118 +117(flattenTemp): 105(ptr) Variable Function + 118:8(PS_OUTPUT) FunctionCall 10(@main() + Store 117(flattenTemp) 118 + 121: 110(ptr) AccessChain 117(flattenTemp) 107 + 122: 7(fvec4) Load 121 + Store 120(Color) 122 + 125: 112(ptr) AccessChain 117(flattenTemp) 23 + 126: 6(float) Load 125 + Store 124(Depth) 126 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 106(psout): 105(ptr) Variable Function + 15: 12 Load 14(g_tTex2dmsf4) + 25: 24(ptr) AccessChain 22 23 + 26: 17(ivec2) Load 25 + 28: 7(fvec4) ImageFetch 15 26 Sample 27 + 32: 29 Load 31(g_tTex2dmsi4) + 33: 24(ptr) AccessChain 22 23 + 34: 17(ivec2) Load 33 + 35: 19(ivec4) ImageFetch 32 34 Sample 27 + 40: 37 Load 39(g_tTex2dmsu4) + 41: 24(ptr) AccessChain 22 23 + 42: 17(ivec2) Load 41 + 44: 43(ivec4) ImageFetch 40 42 Sample 27 + 45: 12 Load 14(g_tTex2dmsf4) + 46: 24(ptr) AccessChain 22 23 + 47: 17(ivec2) Load 46 + 49: 24(ptr) AccessChain 22 48 + 50: 17(ivec2) Load 49 + 51: 7(fvec4) ImageFetch 45 47 Offset Sample 50 27 + 52: 29 Load 31(g_tTex2dmsi4) + 53: 24(ptr) AccessChain 22 23 + 54: 17(ivec2) Load 53 + 55: 24(ptr) AccessChain 22 48 + 56: 17(ivec2) Load 55 + 57: 19(ivec4) ImageFetch 52 54 Offset Sample 56 27 + 58: 37 Load 39(g_tTex2dmsu4) + 59: 24(ptr) AccessChain 22 23 + 60: 17(ivec2) Load 59 + 61: 24(ptr) AccessChain 22 48 + 62: 17(ivec2) Load 61 + 63: 43(ivec4) ImageFetch 58 60 Offset Sample 62 27 + 67: 64 Load 66(g_tTex2dmsf4a) + 70: 69(ptr) AccessChain 22 68 + 71: 18(ivec3) Load 70 + 72: 7(fvec4) ImageFetch 67 71 Sample 27 + 76: 73 Load 75(g_tTex2dmsi4a) + 77: 69(ptr) AccessChain 22 68 + 78: 18(ivec3) Load 77 + 79: 19(ivec4) ImageFetch 76 78 Sample 27 + 83: 80 Load 82(g_tTex2dmsu4a) + 84: 69(ptr) AccessChain 22 68 + 85: 18(ivec3) Load 84 + 86: 43(ivec4) ImageFetch 83 85 Sample 27 + 87: 64 Load 66(g_tTex2dmsf4a) + 88: 69(ptr) AccessChain 22 68 + 89: 18(ivec3) Load 88 + 90: 24(ptr) AccessChain 22 48 + 91: 17(ivec2) Load 90 + 92: 7(fvec4) ImageFetch 87 89 Offset Sample 91 27 + 93: 73 Load 75(g_tTex2dmsi4a) + 94: 69(ptr) AccessChain 22 68 + 95: 18(ivec3) Load 94 + 96: 24(ptr) AccessChain 22 48 + 97: 17(ivec2) Load 96 + 98: 19(ivec4) ImageFetch 93 95 Offset Sample 97 27 + 99: 80 Load 82(g_tTex2dmsu4a) + 100: 69(ptr) AccessChain 22 68 + 101: 18(ivec3) Load 100 + 102: 24(ptr) AccessChain 22 48 + 103: 17(ivec2) Load 102 + 104: 43(ivec4) ImageFetch 99 101 Offset Sample 103 27 + 111: 110(ptr) AccessChain 106(psout) 107 + Store 111 109 + 113: 112(ptr) AccessChain 106(psout) 23 + Store 113 108 + 114:8(PS_OUTPUT) Load 106(psout) + ReturnValue 114 + FunctionEnd diff --git a/Test/baseResults/hlsl.load.array.dx10.frag.out b/Test/baseResults/hlsl.load.array.dx10.frag.out index 8c4f7c8d..56807c6f 100644 --- a/Test/baseResults/hlsl.load.array.dx10.frag.out +++ b/Test/baseResults/hlsl.load.array.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.load.array.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:48 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:48 Function Parameters: 0:? Sequence 0:52 textureFetch (temp 4-component vector of float) @@ -142,24 +142,28 @@ gl_FragCoord origin is upper left 0:68 1 (const int) 0:68 Constant: 0:68 1.000000 -0:70 Sequence -0:70 Sequence -0:70 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:70 Color: direct index for structure (temp 4-component vector of float) -0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:70 Constant: -0:70 0 (const int) -0:70 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:70 Depth: direct index for structure (temp float) -0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:70 Constant: -0:70 1 (const int) -0:70 Branch: Return +0:70 Branch: Return with expression +0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Function Definition: main( (temp void) +0:48 Function Parameters: +0:? Sequence +0:48 Sequence +0:48 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:48 Color: direct index for structure (temp 4-component vector of float) +0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Constant: +0:48 0 (const int) +0:48 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:48 Depth: direct index for structure (temp float) +0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Constant: +0:48 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -182,6 +186,8 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) @@ -191,7 +197,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:48 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:48 Function Parameters: 0:? Sequence 0:52 textureFetch (temp 4-component vector of float) @@ -331,24 +337,28 @@ gl_FragCoord origin is upper left 0:68 1 (const int) 0:68 Constant: 0:68 1.000000 -0:70 Sequence -0:70 Sequence -0:70 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:70 Color: direct index for structure (temp 4-component vector of float) -0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:70 Constant: -0:70 0 (const int) -0:70 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:70 Depth: direct index for structure (temp float) -0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:70 Constant: -0:70 1 (const int) -0:70 Branch: Return +0:70 Branch: Return with expression +0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Function Definition: main( (temp void) +0:48 Function Parameters: +0:? Sequence +0:48 Sequence +0:48 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:48 Color: direct index for structure (temp 4-component vector of float) +0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Constant: +0:48 0 (const int) +0:48 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:48 Depth: direct index for structure (temp float) +0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Constant: +0:48 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -371,246 +381,259 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 152 +// Id's are bound by 159 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 96 100 + EntryPoint Fragment 4 "main" 104 108 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "g_tTex1df4a" - Name 15 "$Global" - MemberName 15($Global) 0 "c1" - MemberName 15($Global) 1 "c2" - MemberName 15($Global) 2 "c3" - MemberName 15($Global) 3 "c4" - MemberName 15($Global) 4 "o1" - MemberName 15($Global) 5 "o2" - MemberName 15($Global) 6 "o3" - MemberName 15($Global) 7 "o4" - Name 17 "" - Name 32 "g_tTex1di4a" - Name 42 "g_tTex1du4a" - Name 53 "g_tTex2df4a" - Name 66 "g_tTex2di4a" - Name 76 "g_tTex2du4a" - Name 84 "PS_OUTPUT" - MemberName 84(PS_OUTPUT) 0 "Color" - MemberName 84(PS_OUTPUT) 1 "Depth" - Name 86 "psout" - Name 96 "Color" - Name 100 "Depth" - Name 106 "g_sSamp" - Name 109 "g_tTex1df4" - Name 112 "g_tTex1di4" - Name 115 "g_tTex1du4" - Name 118 "g_tTex2df4" - Name 121 "g_tTex2di4" - Name 124 "g_tTex2du4" - Name 127 "g_tTex3df4" - Name 130 "g_tTex3di4" - Name 133 "g_tTex3du4" - Name 136 "g_tTexcdf4" - Name 139 "g_tTexcdi4" - Name 142 "g_tTexcdu4" - Name 145 "g_tTexcdf4a" - Name 148 "g_tTexcdi4a" - Name 151 "g_tTexcdu4a" - Decorate 9(g_tTex1df4a) DescriptorSet 0 - MemberDecorate 15($Global) 0 Offset 0 - MemberDecorate 15($Global) 1 Offset 8 - MemberDecorate 15($Global) 2 Offset 16 - MemberDecorate 15($Global) 3 Offset 32 - MemberDecorate 15($Global) 4 Offset 48 - MemberDecorate 15($Global) 5 Offset 56 - MemberDecorate 15($Global) 6 Offset 64 - MemberDecorate 15($Global) 7 Offset 80 - Decorate 15($Global) Block - Decorate 17 DescriptorSet 0 - Decorate 32(g_tTex1di4a) DescriptorSet 0 - Decorate 42(g_tTex1du4a) DescriptorSet 0 - Decorate 53(g_tTex2df4a) DescriptorSet 0 - Decorate 66(g_tTex2di4a) DescriptorSet 0 - Decorate 76(g_tTex2du4a) DescriptorSet 0 - Decorate 96(Color) Location 0 - Decorate 100(Depth) BuiltIn FragDepth - Decorate 106(g_sSamp) DescriptorSet 0 - Decorate 106(g_sSamp) Binding 0 - Decorate 109(g_tTex1df4) DescriptorSet 0 - Decorate 109(g_tTex1df4) Binding 0 - Decorate 112(g_tTex1di4) DescriptorSet 0 - Decorate 115(g_tTex1du4) DescriptorSet 0 - Decorate 118(g_tTex2df4) DescriptorSet 0 - Decorate 121(g_tTex2di4) DescriptorSet 0 - Decorate 124(g_tTex2du4) DescriptorSet 0 - Decorate 127(g_tTex3df4) DescriptorSet 0 - Decorate 130(g_tTex3di4) DescriptorSet 0 - Decorate 133(g_tTex3du4) DescriptorSet 0 - Decorate 136(g_tTexcdf4) DescriptorSet 0 - Decorate 139(g_tTexcdi4) DescriptorSet 0 - Decorate 142(g_tTexcdu4) DescriptorSet 0 - Decorate 145(g_tTexcdf4a) DescriptorSet 0 - Decorate 148(g_tTexcdi4a) DescriptorSet 0 - Decorate 151(g_tTexcdu4a) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 14 "g_tTex1df4a" + Name 20 "$Global" + MemberName 20($Global) 0 "c1" + MemberName 20($Global) 1 "c2" + MemberName 20($Global) 2 "c3" + MemberName 20($Global) 3 "c4" + MemberName 20($Global) 4 "o1" + MemberName 20($Global) 5 "o2" + MemberName 20($Global) 6 "o3" + MemberName 20($Global) 7 "o4" + Name 22 "" + Name 36 "g_tTex1di4a" + Name 46 "g_tTex1du4a" + Name 57 "g_tTex2df4a" + Name 70 "g_tTex2di4a" + Name 80 "g_tTex2du4a" + Name 89 "psout" + Name 101 "flattenTemp" + Name 104 "Color" + Name 108 "Depth" + Name 113 "g_sSamp" + Name 116 "g_tTex1df4" + Name 119 "g_tTex1di4" + Name 122 "g_tTex1du4" + Name 125 "g_tTex2df4" + Name 128 "g_tTex2di4" + Name 131 "g_tTex2du4" + Name 134 "g_tTex3df4" + Name 137 "g_tTex3di4" + Name 140 "g_tTex3du4" + Name 143 "g_tTexcdf4" + Name 146 "g_tTexcdi4" + Name 149 "g_tTexcdu4" + Name 152 "g_tTexcdf4a" + Name 155 "g_tTexcdi4a" + Name 158 "g_tTexcdu4a" + Decorate 14(g_tTex1df4a) DescriptorSet 0 + MemberDecorate 20($Global) 0 Offset 0 + MemberDecorate 20($Global) 1 Offset 8 + MemberDecorate 20($Global) 2 Offset 16 + MemberDecorate 20($Global) 3 Offset 32 + MemberDecorate 20($Global) 4 Offset 48 + MemberDecorate 20($Global) 5 Offset 56 + MemberDecorate 20($Global) 6 Offset 64 + MemberDecorate 20($Global) 7 Offset 80 + Decorate 20($Global) Block + Decorate 22 DescriptorSet 0 + Decorate 36(g_tTex1di4a) DescriptorSet 0 + Decorate 46(g_tTex1du4a) DescriptorSet 0 + Decorate 57(g_tTex2df4a) DescriptorSet 0 + Decorate 70(g_tTex2di4a) DescriptorSet 0 + Decorate 80(g_tTex2du4a) DescriptorSet 0 + Decorate 104(Color) Location 0 + Decorate 108(Depth) BuiltIn FragDepth + Decorate 113(g_sSamp) DescriptorSet 0 + Decorate 113(g_sSamp) Binding 0 + Decorate 116(g_tTex1df4) DescriptorSet 0 + Decorate 116(g_tTex1df4) Binding 0 + Decorate 119(g_tTex1di4) DescriptorSet 0 + Decorate 122(g_tTex1du4) DescriptorSet 0 + Decorate 125(g_tTex2df4) DescriptorSet 0 + Decorate 128(g_tTex2di4) DescriptorSet 0 + Decorate 131(g_tTex2du4) DescriptorSet 0 + Decorate 134(g_tTex3df4) DescriptorSet 0 + Decorate 137(g_tTex3di4) DescriptorSet 0 + Decorate 140(g_tTex3du4) DescriptorSet 0 + Decorate 143(g_tTexcdf4) DescriptorSet 0 + Decorate 146(g_tTexcdi4) DescriptorSet 0 + Decorate 149(g_tTexcdu4) DescriptorSet 0 + Decorate 152(g_tTexcdf4a) DescriptorSet 0 + Decorate 155(g_tTexcdi4a) DescriptorSet 0 + Decorate 158(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypeImage 6(float) 1D array sampled format:Unknown - 8: TypePointer UniformConstant 7 - 9(g_tTex1df4a): 8(ptr) Variable UniformConstant - 11: TypeInt 32 1 - 12: TypeVector 11(int) 2 - 13: TypeVector 11(int) 3 - 14: TypeVector 11(int) 4 - 15($Global): TypeStruct 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 11(int) 12(ivec2) 13(ivec3) 14(ivec4) - 16: TypePointer Uniform 15($Global) - 17: 16(ptr) Variable Uniform - 18: 11(int) Constant 2 - 19: TypePointer Uniform 13(ivec3) - 23: TypeInt 32 0 - 24: 23(int) Constant 2 - 25: TypePointer Uniform 11(int) - 28: TypeVector 6(float) 4 - 30: TypeImage 11(int) 1D array sampled format:Unknown - 31: TypePointer UniformConstant 30 - 32(g_tTex1di4a): 31(ptr) Variable UniformConstant - 40: TypeImage 23(int) 1D array sampled format:Unknown - 41: TypePointer UniformConstant 40 - 42(g_tTex1du4a): 41(ptr) Variable UniformConstant - 49: TypeVector 23(int) 4 - 51: TypeImage 6(float) 2D array sampled format:Unknown - 52: TypePointer UniformConstant 51 - 53(g_tTex2df4a): 52(ptr) Variable UniformConstant - 55: 11(int) Constant 3 - 56: TypePointer Uniform 14(ivec4) - 60: 23(int) Constant 3 - 64: TypeImage 11(int) 2D array sampled format:Unknown - 65: TypePointer UniformConstant 64 - 66(g_tTex2di4a): 65(ptr) Variable UniformConstant - 74: TypeImage 23(int) 2D array sampled format:Unknown - 75: TypePointer UniformConstant 74 - 76(g_tTex2du4a): 75(ptr) Variable UniformConstant - 84(PS_OUTPUT): TypeStruct 28(fvec4) 6(float) - 85: TypePointer Function 84(PS_OUTPUT) - 87: 11(int) Constant 0 - 88: 6(float) Constant 1065353216 - 89: 28(fvec4) ConstantComposite 88 88 88 88 - 90: TypePointer Function 28(fvec4) - 92: 11(int) Constant 1 - 93: TypePointer Function 6(float) - 95: TypePointer Output 28(fvec4) - 96(Color): 95(ptr) Variable Output - 99: TypePointer Output 6(float) - 100(Depth): 99(ptr) Variable Output - 104: TypeSampler - 105: TypePointer UniformConstant 104 - 106(g_sSamp): 105(ptr) Variable UniformConstant - 107: TypeImage 6(float) 1D sampled format:Unknown - 108: TypePointer UniformConstant 107 - 109(g_tTex1df4): 108(ptr) Variable UniformConstant - 110: TypeImage 11(int) 1D sampled format:Unknown - 111: TypePointer UniformConstant 110 - 112(g_tTex1di4): 111(ptr) Variable UniformConstant - 113: TypeImage 23(int) 1D sampled format:Unknown - 114: TypePointer UniformConstant 113 - 115(g_tTex1du4): 114(ptr) Variable UniformConstant - 116: TypeImage 6(float) 2D sampled format:Unknown - 117: TypePointer UniformConstant 116 - 118(g_tTex2df4): 117(ptr) Variable UniformConstant - 119: TypeImage 11(int) 2D sampled format:Unknown - 120: TypePointer UniformConstant 119 - 121(g_tTex2di4): 120(ptr) Variable UniformConstant - 122: TypeImage 23(int) 2D sampled format:Unknown - 123: TypePointer UniformConstant 122 - 124(g_tTex2du4): 123(ptr) Variable UniformConstant - 125: TypeImage 6(float) 3D sampled format:Unknown - 126: TypePointer UniformConstant 125 - 127(g_tTex3df4): 126(ptr) Variable UniformConstant - 128: TypeImage 11(int) 3D sampled format:Unknown - 129: TypePointer UniformConstant 128 - 130(g_tTex3di4): 129(ptr) Variable UniformConstant - 131: TypeImage 23(int) 3D sampled format:Unknown - 132: TypePointer UniformConstant 131 - 133(g_tTex3du4): 132(ptr) Variable UniformConstant - 134: TypeImage 6(float) Cube sampled format:Unknown - 135: TypePointer UniformConstant 134 - 136(g_tTexcdf4): 135(ptr) Variable UniformConstant - 137: TypeImage 11(int) Cube sampled format:Unknown - 138: TypePointer UniformConstant 137 - 139(g_tTexcdi4): 138(ptr) Variable UniformConstant - 140: TypeImage 23(int) Cube sampled format:Unknown - 141: TypePointer UniformConstant 140 - 142(g_tTexcdu4): 141(ptr) Variable UniformConstant - 143: TypeImage 6(float) Cube array sampled format:Unknown - 144: TypePointer UniformConstant 143 -145(g_tTexcdf4a): 144(ptr) Variable UniformConstant - 146: TypeImage 11(int) Cube array sampled format:Unknown - 147: TypePointer UniformConstant 146 -148(g_tTexcdi4a): 147(ptr) Variable UniformConstant - 149: TypeImage 23(int) Cube array sampled format:Unknown - 150: TypePointer UniformConstant 149 -151(g_tTexcdu4a): 150(ptr) Variable UniformConstant + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypeImage 6(float) 1D array sampled format:Unknown + 13: TypePointer UniformConstant 12 + 14(g_tTex1df4a): 13(ptr) Variable UniformConstant + 16: TypeInt 32 1 + 17: TypeVector 16(int) 2 + 18: TypeVector 16(int) 3 + 19: TypeVector 16(int) 4 + 20($Global): TypeStruct 16(int) 17(ivec2) 18(ivec3) 19(ivec4) 16(int) 17(ivec2) 18(ivec3) 19(ivec4) + 21: TypePointer Uniform 20($Global) + 22: 21(ptr) Variable Uniform + 23: 16(int) Constant 2 + 24: TypePointer Uniform 18(ivec3) + 28: TypeInt 32 0 + 29: 28(int) Constant 2 + 30: TypePointer Uniform 16(int) + 34: TypeImage 16(int) 1D array sampled format:Unknown + 35: TypePointer UniformConstant 34 + 36(g_tTex1di4a): 35(ptr) Variable UniformConstant + 44: TypeImage 28(int) 1D array sampled format:Unknown + 45: TypePointer UniformConstant 44 + 46(g_tTex1du4a): 45(ptr) Variable UniformConstant + 53: TypeVector 28(int) 4 + 55: TypeImage 6(float) 2D array sampled format:Unknown + 56: TypePointer UniformConstant 55 + 57(g_tTex2df4a): 56(ptr) Variable UniformConstant + 59: 16(int) Constant 3 + 60: TypePointer Uniform 19(ivec4) + 64: 28(int) Constant 3 + 68: TypeImage 16(int) 2D array sampled format:Unknown + 69: TypePointer UniformConstant 68 + 70(g_tTex2di4a): 69(ptr) Variable UniformConstant + 78: TypeImage 28(int) 2D array sampled format:Unknown + 79: TypePointer UniformConstant 78 + 80(g_tTex2du4a): 79(ptr) Variable UniformConstant + 88: TypePointer Function 8(PS_OUTPUT) + 90: 16(int) Constant 0 + 91: 6(float) Constant 1065353216 + 92: 7(fvec4) ConstantComposite 91 91 91 91 + 93: TypePointer Function 7(fvec4) + 95: 16(int) Constant 1 + 96: TypePointer Function 6(float) + 103: TypePointer Output 7(fvec4) + 104(Color): 103(ptr) Variable Output + 107: TypePointer Output 6(float) + 108(Depth): 107(ptr) Variable Output + 111: TypeSampler + 112: TypePointer UniformConstant 111 + 113(g_sSamp): 112(ptr) Variable UniformConstant + 114: TypeImage 6(float) 1D sampled format:Unknown + 115: TypePointer UniformConstant 114 + 116(g_tTex1df4): 115(ptr) Variable UniformConstant + 117: TypeImage 16(int) 1D sampled format:Unknown + 118: TypePointer UniformConstant 117 + 119(g_tTex1di4): 118(ptr) Variable UniformConstant + 120: TypeImage 28(int) 1D sampled format:Unknown + 121: TypePointer UniformConstant 120 + 122(g_tTex1du4): 121(ptr) Variable UniformConstant + 123: TypeImage 6(float) 2D sampled format:Unknown + 124: TypePointer UniformConstant 123 + 125(g_tTex2df4): 124(ptr) Variable UniformConstant + 126: TypeImage 16(int) 2D sampled format:Unknown + 127: TypePointer UniformConstant 126 + 128(g_tTex2di4): 127(ptr) Variable UniformConstant + 129: TypeImage 28(int) 2D sampled format:Unknown + 130: TypePointer UniformConstant 129 + 131(g_tTex2du4): 130(ptr) Variable UniformConstant + 132: TypeImage 6(float) 3D sampled format:Unknown + 133: TypePointer UniformConstant 132 + 134(g_tTex3df4): 133(ptr) Variable UniformConstant + 135: TypeImage 16(int) 3D sampled format:Unknown + 136: TypePointer UniformConstant 135 + 137(g_tTex3di4): 136(ptr) Variable UniformConstant + 138: TypeImage 28(int) 3D sampled format:Unknown + 139: TypePointer UniformConstant 138 + 140(g_tTex3du4): 139(ptr) Variable UniformConstant + 141: TypeImage 6(float) Cube sampled format:Unknown + 142: TypePointer UniformConstant 141 + 143(g_tTexcdf4): 142(ptr) Variable UniformConstant + 144: TypeImage 16(int) Cube sampled format:Unknown + 145: TypePointer UniformConstant 144 + 146(g_tTexcdi4): 145(ptr) Variable UniformConstant + 147: TypeImage 28(int) Cube sampled format:Unknown + 148: TypePointer UniformConstant 147 + 149(g_tTexcdu4): 148(ptr) Variable UniformConstant + 150: TypeImage 6(float) Cube array sampled format:Unknown + 151: TypePointer UniformConstant 150 +152(g_tTexcdf4a): 151(ptr) Variable UniformConstant + 153: TypeImage 16(int) Cube array sampled format:Unknown + 154: TypePointer UniformConstant 153 +155(g_tTexcdi4a): 154(ptr) Variable UniformConstant + 156: TypeImage 28(int) Cube array sampled format:Unknown + 157: TypePointer UniformConstant 156 +158(g_tTexcdu4a): 157(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 86(psout): 85(ptr) Variable Function - 10: 7 Load 9(g_tTex1df4a) - 20: 19(ptr) AccessChain 17 18 - 21: 13(ivec3) Load 20 - 22: 12(ivec2) VectorShuffle 21 21 0 1 - 26: 25(ptr) AccessChain 17 18 24 - 27: 11(int) Load 26 - 29: 28(fvec4) ImageFetch 10 22 Lod 27 - 33: 30 Load 32(g_tTex1di4a) - 34: 19(ptr) AccessChain 17 18 - 35: 13(ivec3) Load 34 - 36: 12(ivec2) VectorShuffle 35 35 0 1 - 37: 25(ptr) AccessChain 17 18 24 - 38: 11(int) Load 37 - 39: 14(ivec4) ImageFetch 33 36 Lod 38 - 43: 40 Load 42(g_tTex1du4a) - 44: 19(ptr) AccessChain 17 18 - 45: 13(ivec3) Load 44 - 46: 12(ivec2) VectorShuffle 45 45 0 1 - 47: 25(ptr) AccessChain 17 18 24 - 48: 11(int) Load 47 - 50: 49(ivec4) ImageFetch 43 46 Lod 48 - 54: 51 Load 53(g_tTex2df4a) - 57: 56(ptr) AccessChain 17 55 - 58: 14(ivec4) Load 57 - 59: 13(ivec3) VectorShuffle 58 58 0 1 2 - 61: 25(ptr) AccessChain 17 55 60 - 62: 11(int) Load 61 - 63: 28(fvec4) ImageFetch 54 59 Lod 62 - 67: 64 Load 66(g_tTex2di4a) - 68: 56(ptr) AccessChain 17 55 - 69: 14(ivec4) Load 68 - 70: 13(ivec3) VectorShuffle 69 69 0 1 2 - 71: 25(ptr) AccessChain 17 55 60 - 72: 11(int) Load 71 - 73: 14(ivec4) ImageFetch 67 70 Lod 72 - 77: 74 Load 76(g_tTex2du4a) - 78: 56(ptr) AccessChain 17 55 - 79: 14(ivec4) Load 78 - 80: 13(ivec3) VectorShuffle 79 79 0 1 2 - 81: 25(ptr) AccessChain 17 55 60 - 82: 11(int) Load 81 - 83: 49(ivec4) ImageFetch 77 80 Lod 82 - 91: 90(ptr) AccessChain 86(psout) 87 - Store 91 89 - 94: 93(ptr) AccessChain 86(psout) 92 - Store 94 88 - 97: 90(ptr) AccessChain 86(psout) 87 - 98: 28(fvec4) Load 97 - Store 96(Color) 98 - 101: 93(ptr) AccessChain 86(psout) 92 - 102: 6(float) Load 101 - Store 100(Depth) 102 +101(flattenTemp): 88(ptr) Variable Function + 102:8(PS_OUTPUT) FunctionCall 10(@main() + Store 101(flattenTemp) 102 + 105: 93(ptr) AccessChain 101(flattenTemp) 90 + 106: 7(fvec4) Load 105 + Store 104(Color) 106 + 109: 96(ptr) AccessChain 101(flattenTemp) 95 + 110: 6(float) Load 109 + Store 108(Depth) 110 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 89(psout): 88(ptr) Variable Function + 15: 12 Load 14(g_tTex1df4a) + 25: 24(ptr) AccessChain 22 23 + 26: 18(ivec3) Load 25 + 27: 17(ivec2) VectorShuffle 26 26 0 1 + 31: 30(ptr) AccessChain 22 23 29 + 32: 16(int) Load 31 + 33: 7(fvec4) ImageFetch 15 27 Lod 32 + 37: 34 Load 36(g_tTex1di4a) + 38: 24(ptr) AccessChain 22 23 + 39: 18(ivec3) Load 38 + 40: 17(ivec2) VectorShuffle 39 39 0 1 + 41: 30(ptr) AccessChain 22 23 29 + 42: 16(int) Load 41 + 43: 19(ivec4) ImageFetch 37 40 Lod 42 + 47: 44 Load 46(g_tTex1du4a) + 48: 24(ptr) AccessChain 22 23 + 49: 18(ivec3) Load 48 + 50: 17(ivec2) VectorShuffle 49 49 0 1 + 51: 30(ptr) AccessChain 22 23 29 + 52: 16(int) Load 51 + 54: 53(ivec4) ImageFetch 47 50 Lod 52 + 58: 55 Load 57(g_tTex2df4a) + 61: 60(ptr) AccessChain 22 59 + 62: 19(ivec4) Load 61 + 63: 18(ivec3) VectorShuffle 62 62 0 1 2 + 65: 30(ptr) AccessChain 22 59 64 + 66: 16(int) Load 65 + 67: 7(fvec4) ImageFetch 58 63 Lod 66 + 71: 68 Load 70(g_tTex2di4a) + 72: 60(ptr) AccessChain 22 59 + 73: 19(ivec4) Load 72 + 74: 18(ivec3) VectorShuffle 73 73 0 1 2 + 75: 30(ptr) AccessChain 22 59 64 + 76: 16(int) Load 75 + 77: 19(ivec4) ImageFetch 71 74 Lod 76 + 81: 78 Load 80(g_tTex2du4a) + 82: 60(ptr) AccessChain 22 59 + 83: 19(ivec4) Load 82 + 84: 18(ivec3) VectorShuffle 83 83 0 1 2 + 85: 30(ptr) AccessChain 22 59 64 + 86: 16(int) Load 85 + 87: 53(ivec4) ImageFetch 81 84 Lod 86 + 94: 93(ptr) AccessChain 89(psout) 90 + Store 94 92 + 97: 96(ptr) AccessChain 89(psout) 95 + Store 97 91 + 98:8(PS_OUTPUT) Load 89(psout) + ReturnValue 98 + FunctionEnd diff --git a/Test/baseResults/hlsl.load.basic.dx10.frag.out b/Test/baseResults/hlsl.load.basic.dx10.frag.out index c8e8eb63..4459b4aa 100644 --- a/Test/baseResults/hlsl.load.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.load.basic.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.load.basic.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:48 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:48 Function Parameters: 0:? Sequence 0:52 textureFetch (temp 4-component vector of float) @@ -193,24 +193,28 @@ gl_FragCoord origin is upper left 0:73 1 (const int) 0:73 Constant: 0:73 1.000000 -0:75 Sequence -0:75 Sequence -0:75 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:75 Color: direct index for structure (temp 4-component vector of float) -0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:75 Constant: -0:75 0 (const int) -0:75 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:75 Depth: direct index for structure (temp float) -0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:75 Constant: -0:75 1 (const int) -0:75 Branch: Return +0:75 Branch: Return with expression +0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Function Definition: main( (temp void) +0:48 Function Parameters: +0:? Sequence +0:48 Sequence +0:48 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:48 Color: direct index for structure (temp 4-component vector of float) +0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Constant: +0:48 0 (const int) +0:48 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:48 Depth: direct index for structure (temp float) +0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Constant: +0:48 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -233,6 +237,8 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) @@ -242,7 +248,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:48 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:48 Function Parameters: 0:? Sequence 0:52 textureFetch (temp 4-component vector of float) @@ -433,24 +439,28 @@ gl_FragCoord origin is upper left 0:73 1 (const int) 0:73 Constant: 0:73 1.000000 -0:75 Sequence -0:75 Sequence -0:75 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:75 Color: direct index for structure (temp 4-component vector of float) -0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:75 Constant: -0:75 0 (const int) -0:75 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:75 Depth: direct index for structure (temp float) -0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:75 Constant: -0:75 1 (const int) -0:75 Branch: Return +0:75 Branch: Return with expression +0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Function Definition: main( (temp void) +0:48 Function Parameters: +0:? Sequence +0:48 Sequence +0:48 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:48 Color: direct index for structure (temp 4-component vector of float) +0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Constant: +0:48 0 (const int) +0:48 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:48 Depth: direct index for structure (temp float) +0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Constant: +0:48 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -473,266 +483,279 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 172 +// Id's are bound by 179 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 125 129 + EntryPoint Fragment 4 "main" 133 137 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "g_tTex1df4" - Name 15 "$Global" - MemberName 15($Global) 0 "c1" - MemberName 15($Global) 1 "c2" - MemberName 15($Global) 2 "c3" - MemberName 15($Global) 3 "c4" - MemberName 15($Global) 4 "o1" - MemberName 15($Global) 5 "o2" - MemberName 15($Global) 6 "o3" - MemberName 15($Global) 7 "o4" - Name 17 "" - Name 31 "g_tTex1di4" - Name 40 "g_tTex1du4" - Name 50 "g_tTex2df4" - Name 63 "g_tTex2di4" - Name 73 "g_tTex2du4" - Name 83 "g_tTex3df4" - Name 96 "g_tTex3di4" - Name 106 "g_tTex3du4" - Name 114 "PS_OUTPUT" - MemberName 114(PS_OUTPUT) 0 "Color" - MemberName 114(PS_OUTPUT) 1 "Depth" - Name 116 "psout" - Name 125 "Color" - Name 129 "Depth" - Name 135 "g_sSamp" - Name 138 "g_tTexcdf4" - Name 141 "g_tTexcdi4" - Name 144 "g_tTexcdu4" - Name 147 "g_tTex1df4a" - Name 150 "g_tTex1di4a" - Name 153 "g_tTex1du4a" - Name 156 "g_tTex2df4a" - Name 159 "g_tTex2di4a" - Name 162 "g_tTex2du4a" - Name 165 "g_tTexcdf4a" - Name 168 "g_tTexcdi4a" - Name 171 "g_tTexcdu4a" - Decorate 9(g_tTex1df4) DescriptorSet 0 - Decorate 9(g_tTex1df4) Binding 0 - MemberDecorate 15($Global) 0 Offset 0 - MemberDecorate 15($Global) 1 Offset 8 - MemberDecorate 15($Global) 2 Offset 16 - MemberDecorate 15($Global) 3 Offset 32 - MemberDecorate 15($Global) 4 Offset 48 - MemberDecorate 15($Global) 5 Offset 56 - MemberDecorate 15($Global) 6 Offset 64 - MemberDecorate 15($Global) 7 Offset 80 - Decorate 15($Global) Block - Decorate 17 DescriptorSet 0 - Decorate 31(g_tTex1di4) DescriptorSet 0 - Decorate 40(g_tTex1du4) DescriptorSet 0 - Decorate 50(g_tTex2df4) DescriptorSet 0 - Decorate 63(g_tTex2di4) DescriptorSet 0 - Decorate 73(g_tTex2du4) DescriptorSet 0 - Decorate 83(g_tTex3df4) DescriptorSet 0 - Decorate 96(g_tTex3di4) DescriptorSet 0 - Decorate 106(g_tTex3du4) DescriptorSet 0 - Decorate 125(Color) Location 0 - Decorate 129(Depth) BuiltIn FragDepth - Decorate 135(g_sSamp) DescriptorSet 0 - Decorate 135(g_sSamp) Binding 0 - Decorate 138(g_tTexcdf4) DescriptorSet 0 - Decorate 141(g_tTexcdi4) DescriptorSet 0 - Decorate 144(g_tTexcdu4) DescriptorSet 0 - Decorate 147(g_tTex1df4a) DescriptorSet 0 - Decorate 150(g_tTex1di4a) DescriptorSet 0 - Decorate 153(g_tTex1du4a) DescriptorSet 0 - Decorate 156(g_tTex2df4a) DescriptorSet 0 - Decorate 159(g_tTex2di4a) DescriptorSet 0 - Decorate 162(g_tTex2du4a) DescriptorSet 0 - Decorate 165(g_tTexcdf4a) DescriptorSet 0 - Decorate 168(g_tTexcdi4a) DescriptorSet 0 - Decorate 171(g_tTexcdu4a) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 14 "g_tTex1df4" + Name 20 "$Global" + MemberName 20($Global) 0 "c1" + MemberName 20($Global) 1 "c2" + MemberName 20($Global) 2 "c3" + MemberName 20($Global) 3 "c4" + MemberName 20($Global) 4 "o1" + MemberName 20($Global) 5 "o2" + MemberName 20($Global) 6 "o3" + MemberName 20($Global) 7 "o4" + Name 22 "" + Name 35 "g_tTex1di4" + Name 44 "g_tTex1du4" + Name 54 "g_tTex2df4" + Name 67 "g_tTex2di4" + Name 77 "g_tTex2du4" + Name 87 "g_tTex3df4" + Name 100 "g_tTex3di4" + Name 110 "g_tTex3du4" + Name 119 "psout" + Name 130 "flattenTemp" + Name 133 "Color" + Name 137 "Depth" + Name 142 "g_sSamp" + Name 145 "g_tTexcdf4" + Name 148 "g_tTexcdi4" + Name 151 "g_tTexcdu4" + Name 154 "g_tTex1df4a" + Name 157 "g_tTex1di4a" + Name 160 "g_tTex1du4a" + Name 163 "g_tTex2df4a" + Name 166 "g_tTex2di4a" + Name 169 "g_tTex2du4a" + Name 172 "g_tTexcdf4a" + Name 175 "g_tTexcdi4a" + Name 178 "g_tTexcdu4a" + Decorate 14(g_tTex1df4) DescriptorSet 0 + Decorate 14(g_tTex1df4) Binding 0 + MemberDecorate 20($Global) 0 Offset 0 + MemberDecorate 20($Global) 1 Offset 8 + MemberDecorate 20($Global) 2 Offset 16 + MemberDecorate 20($Global) 3 Offset 32 + MemberDecorate 20($Global) 4 Offset 48 + MemberDecorate 20($Global) 5 Offset 56 + MemberDecorate 20($Global) 6 Offset 64 + MemberDecorate 20($Global) 7 Offset 80 + Decorate 20($Global) Block + Decorate 22 DescriptorSet 0 + Decorate 35(g_tTex1di4) DescriptorSet 0 + Decorate 44(g_tTex1du4) DescriptorSet 0 + Decorate 54(g_tTex2df4) DescriptorSet 0 + Decorate 67(g_tTex2di4) DescriptorSet 0 + Decorate 77(g_tTex2du4) DescriptorSet 0 + Decorate 87(g_tTex3df4) DescriptorSet 0 + Decorate 100(g_tTex3di4) DescriptorSet 0 + Decorate 110(g_tTex3du4) DescriptorSet 0 + Decorate 133(Color) Location 0 + Decorate 137(Depth) BuiltIn FragDepth + Decorate 142(g_sSamp) DescriptorSet 0 + Decorate 142(g_sSamp) Binding 0 + Decorate 145(g_tTexcdf4) DescriptorSet 0 + Decorate 148(g_tTexcdi4) DescriptorSet 0 + Decorate 151(g_tTexcdu4) DescriptorSet 0 + Decorate 154(g_tTex1df4a) DescriptorSet 0 + Decorate 157(g_tTex1di4a) DescriptorSet 0 + Decorate 160(g_tTex1du4a) DescriptorSet 0 + Decorate 163(g_tTex2df4a) DescriptorSet 0 + Decorate 166(g_tTex2di4a) DescriptorSet 0 + Decorate 169(g_tTex2du4a) DescriptorSet 0 + Decorate 172(g_tTexcdf4a) DescriptorSet 0 + Decorate 175(g_tTexcdi4a) DescriptorSet 0 + Decorate 178(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypeImage 6(float) 1D sampled format:Unknown - 8: TypePointer UniformConstant 7 - 9(g_tTex1df4): 8(ptr) Variable UniformConstant - 11: TypeInt 32 1 - 12: TypeVector 11(int) 2 - 13: TypeVector 11(int) 3 - 14: TypeVector 11(int) 4 - 15($Global): TypeStruct 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 11(int) 12(ivec2) 13(ivec3) 14(ivec4) - 16: TypePointer Uniform 15($Global) - 17: 16(ptr) Variable Uniform - 18: 11(int) Constant 1 - 19: TypeInt 32 0 - 20: 19(int) Constant 0 - 21: TypePointer Uniform 11(int) - 24: 19(int) Constant 1 - 27: TypeVector 6(float) 4 - 29: TypeImage 11(int) 1D sampled format:Unknown - 30: TypePointer UniformConstant 29 - 31(g_tTex1di4): 30(ptr) Variable UniformConstant - 38: TypeImage 19(int) 1D sampled format:Unknown - 39: TypePointer UniformConstant 38 - 40(g_tTex1du4): 39(ptr) Variable UniformConstant - 46: TypeVector 19(int) 4 - 48: TypeImage 6(float) 2D sampled format:Unknown - 49: TypePointer UniformConstant 48 - 50(g_tTex2df4): 49(ptr) Variable UniformConstant - 52: 11(int) Constant 2 - 53: TypePointer Uniform 13(ivec3) - 57: 19(int) Constant 2 - 61: TypeImage 11(int) 2D sampled format:Unknown - 62: TypePointer UniformConstant 61 - 63(g_tTex2di4): 62(ptr) Variable UniformConstant - 71: TypeImage 19(int) 2D sampled format:Unknown - 72: TypePointer UniformConstant 71 - 73(g_tTex2du4): 72(ptr) Variable UniformConstant - 81: TypeImage 6(float) 3D sampled format:Unknown - 82: TypePointer UniformConstant 81 - 83(g_tTex3df4): 82(ptr) Variable UniformConstant - 85: 11(int) Constant 3 - 86: TypePointer Uniform 14(ivec4) - 90: 19(int) Constant 3 - 94: TypeImage 11(int) 3D sampled format:Unknown - 95: TypePointer UniformConstant 94 - 96(g_tTex3di4): 95(ptr) Variable UniformConstant - 104: TypeImage 19(int) 3D sampled format:Unknown - 105: TypePointer UniformConstant 104 - 106(g_tTex3du4): 105(ptr) Variable UniformConstant - 114(PS_OUTPUT): TypeStruct 27(fvec4) 6(float) - 115: TypePointer Function 114(PS_OUTPUT) - 117: 11(int) Constant 0 - 118: 6(float) Constant 1065353216 - 119: 27(fvec4) ConstantComposite 118 118 118 118 - 120: TypePointer Function 27(fvec4) - 122: TypePointer Function 6(float) - 124: TypePointer Output 27(fvec4) - 125(Color): 124(ptr) Variable Output - 128: TypePointer Output 6(float) - 129(Depth): 128(ptr) Variable Output - 133: TypeSampler - 134: TypePointer UniformConstant 133 - 135(g_sSamp): 134(ptr) Variable UniformConstant - 136: TypeImage 6(float) Cube sampled format:Unknown - 137: TypePointer UniformConstant 136 - 138(g_tTexcdf4): 137(ptr) Variable UniformConstant - 139: TypeImage 11(int) Cube sampled format:Unknown - 140: TypePointer UniformConstant 139 - 141(g_tTexcdi4): 140(ptr) Variable UniformConstant - 142: TypeImage 19(int) Cube sampled format:Unknown - 143: TypePointer UniformConstant 142 - 144(g_tTexcdu4): 143(ptr) Variable UniformConstant - 145: TypeImage 6(float) 1D array sampled format:Unknown - 146: TypePointer UniformConstant 145 -147(g_tTex1df4a): 146(ptr) Variable UniformConstant - 148: TypeImage 11(int) 1D array sampled format:Unknown - 149: TypePointer UniformConstant 148 -150(g_tTex1di4a): 149(ptr) Variable UniformConstant - 151: TypeImage 19(int) 1D array sampled format:Unknown - 152: TypePointer UniformConstant 151 -153(g_tTex1du4a): 152(ptr) Variable UniformConstant - 154: TypeImage 6(float) 2D array sampled format:Unknown - 155: TypePointer UniformConstant 154 -156(g_tTex2df4a): 155(ptr) Variable UniformConstant - 157: TypeImage 11(int) 2D array sampled format:Unknown - 158: TypePointer UniformConstant 157 -159(g_tTex2di4a): 158(ptr) Variable UniformConstant - 160: TypeImage 19(int) 2D array sampled format:Unknown - 161: TypePointer UniformConstant 160 -162(g_tTex2du4a): 161(ptr) Variable UniformConstant - 163: TypeImage 6(float) Cube array sampled format:Unknown - 164: TypePointer UniformConstant 163 -165(g_tTexcdf4a): 164(ptr) Variable UniformConstant - 166: TypeImage 11(int) Cube array sampled format:Unknown - 167: TypePointer UniformConstant 166 -168(g_tTexcdi4a): 167(ptr) Variable UniformConstant - 169: TypeImage 19(int) Cube array sampled format:Unknown - 170: TypePointer UniformConstant 169 -171(g_tTexcdu4a): 170(ptr) Variable UniformConstant + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypeImage 6(float) 1D sampled format:Unknown + 13: TypePointer UniformConstant 12 + 14(g_tTex1df4): 13(ptr) Variable UniformConstant + 16: TypeInt 32 1 + 17: TypeVector 16(int) 2 + 18: TypeVector 16(int) 3 + 19: TypeVector 16(int) 4 + 20($Global): TypeStruct 16(int) 17(ivec2) 18(ivec3) 19(ivec4) 16(int) 17(ivec2) 18(ivec3) 19(ivec4) + 21: TypePointer Uniform 20($Global) + 22: 21(ptr) Variable Uniform + 23: 16(int) Constant 1 + 24: TypeInt 32 0 + 25: 24(int) Constant 0 + 26: TypePointer Uniform 16(int) + 29: 24(int) Constant 1 + 33: TypeImage 16(int) 1D sampled format:Unknown + 34: TypePointer UniformConstant 33 + 35(g_tTex1di4): 34(ptr) Variable UniformConstant + 42: TypeImage 24(int) 1D sampled format:Unknown + 43: TypePointer UniformConstant 42 + 44(g_tTex1du4): 43(ptr) Variable UniformConstant + 50: TypeVector 24(int) 4 + 52: TypeImage 6(float) 2D sampled format:Unknown + 53: TypePointer UniformConstant 52 + 54(g_tTex2df4): 53(ptr) Variable UniformConstant + 56: 16(int) Constant 2 + 57: TypePointer Uniform 18(ivec3) + 61: 24(int) Constant 2 + 65: TypeImage 16(int) 2D sampled format:Unknown + 66: TypePointer UniformConstant 65 + 67(g_tTex2di4): 66(ptr) Variable UniformConstant + 75: TypeImage 24(int) 2D sampled format:Unknown + 76: TypePointer UniformConstant 75 + 77(g_tTex2du4): 76(ptr) Variable UniformConstant + 85: TypeImage 6(float) 3D sampled format:Unknown + 86: TypePointer UniformConstant 85 + 87(g_tTex3df4): 86(ptr) Variable UniformConstant + 89: 16(int) Constant 3 + 90: TypePointer Uniform 19(ivec4) + 94: 24(int) Constant 3 + 98: TypeImage 16(int) 3D sampled format:Unknown + 99: TypePointer UniformConstant 98 + 100(g_tTex3di4): 99(ptr) Variable UniformConstant + 108: TypeImage 24(int) 3D sampled format:Unknown + 109: TypePointer UniformConstant 108 + 110(g_tTex3du4): 109(ptr) Variable UniformConstant + 118: TypePointer Function 8(PS_OUTPUT) + 120: 16(int) Constant 0 + 121: 6(float) Constant 1065353216 + 122: 7(fvec4) ConstantComposite 121 121 121 121 + 123: TypePointer Function 7(fvec4) + 125: TypePointer Function 6(float) + 132: TypePointer Output 7(fvec4) + 133(Color): 132(ptr) Variable Output + 136: TypePointer Output 6(float) + 137(Depth): 136(ptr) Variable Output + 140: TypeSampler + 141: TypePointer UniformConstant 140 + 142(g_sSamp): 141(ptr) Variable UniformConstant + 143: TypeImage 6(float) Cube sampled format:Unknown + 144: TypePointer UniformConstant 143 + 145(g_tTexcdf4): 144(ptr) Variable UniformConstant + 146: TypeImage 16(int) Cube sampled format:Unknown + 147: TypePointer UniformConstant 146 + 148(g_tTexcdi4): 147(ptr) Variable UniformConstant + 149: TypeImage 24(int) Cube sampled format:Unknown + 150: TypePointer UniformConstant 149 + 151(g_tTexcdu4): 150(ptr) Variable UniformConstant + 152: TypeImage 6(float) 1D array sampled format:Unknown + 153: TypePointer UniformConstant 152 +154(g_tTex1df4a): 153(ptr) Variable UniformConstant + 155: TypeImage 16(int) 1D array sampled format:Unknown + 156: TypePointer UniformConstant 155 +157(g_tTex1di4a): 156(ptr) Variable UniformConstant + 158: TypeImage 24(int) 1D array sampled format:Unknown + 159: TypePointer UniformConstant 158 +160(g_tTex1du4a): 159(ptr) Variable UniformConstant + 161: TypeImage 6(float) 2D array sampled format:Unknown + 162: TypePointer UniformConstant 161 +163(g_tTex2df4a): 162(ptr) Variable UniformConstant + 164: TypeImage 16(int) 2D array sampled format:Unknown + 165: TypePointer UniformConstant 164 +166(g_tTex2di4a): 165(ptr) Variable UniformConstant + 167: TypeImage 24(int) 2D array sampled format:Unknown + 168: TypePointer UniformConstant 167 +169(g_tTex2du4a): 168(ptr) Variable UniformConstant + 170: TypeImage 6(float) Cube array sampled format:Unknown + 171: TypePointer UniformConstant 170 +172(g_tTexcdf4a): 171(ptr) Variable UniformConstant + 173: TypeImage 16(int) Cube array sampled format:Unknown + 174: TypePointer UniformConstant 173 +175(g_tTexcdi4a): 174(ptr) Variable UniformConstant + 176: TypeImage 24(int) Cube array sampled format:Unknown + 177: TypePointer UniformConstant 176 +178(g_tTexcdu4a): 177(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 116(psout): 115(ptr) Variable Function - 10: 7 Load 9(g_tTex1df4) - 22: 21(ptr) AccessChain 17 18 20 - 23: 11(int) Load 22 - 25: 21(ptr) AccessChain 17 18 24 - 26: 11(int) Load 25 - 28: 27(fvec4) ImageFetch 10 23 Lod 26 - 32: 29 Load 31(g_tTex1di4) - 33: 21(ptr) AccessChain 17 18 20 - 34: 11(int) Load 33 - 35: 21(ptr) AccessChain 17 18 24 - 36: 11(int) Load 35 - 37: 14(ivec4) ImageFetch 32 34 Lod 36 - 41: 38 Load 40(g_tTex1du4) - 42: 21(ptr) AccessChain 17 18 20 - 43: 11(int) Load 42 - 44: 21(ptr) AccessChain 17 18 24 - 45: 11(int) Load 44 - 47: 46(ivec4) ImageFetch 41 43 Lod 45 - 51: 48 Load 50(g_tTex2df4) - 54: 53(ptr) AccessChain 17 52 - 55: 13(ivec3) Load 54 - 56: 12(ivec2) VectorShuffle 55 55 0 1 - 58: 21(ptr) AccessChain 17 52 57 - 59: 11(int) Load 58 - 60: 27(fvec4) ImageFetch 51 56 Lod 59 - 64: 61 Load 63(g_tTex2di4) - 65: 53(ptr) AccessChain 17 52 - 66: 13(ivec3) Load 65 - 67: 12(ivec2) VectorShuffle 66 66 0 1 - 68: 21(ptr) AccessChain 17 52 57 - 69: 11(int) Load 68 - 70: 14(ivec4) ImageFetch 64 67 Lod 69 - 74: 71 Load 73(g_tTex2du4) - 75: 53(ptr) AccessChain 17 52 - 76: 13(ivec3) Load 75 - 77: 12(ivec2) VectorShuffle 76 76 0 1 - 78: 21(ptr) AccessChain 17 52 57 - 79: 11(int) Load 78 - 80: 46(ivec4) ImageFetch 74 77 Lod 79 - 84: 81 Load 83(g_tTex3df4) - 87: 86(ptr) AccessChain 17 85 - 88: 14(ivec4) Load 87 - 89: 13(ivec3) VectorShuffle 88 88 0 1 2 - 91: 21(ptr) AccessChain 17 85 90 - 92: 11(int) Load 91 - 93: 27(fvec4) ImageFetch 84 89 Lod 92 - 97: 94 Load 96(g_tTex3di4) - 98: 86(ptr) AccessChain 17 85 - 99: 14(ivec4) Load 98 - 100: 13(ivec3) VectorShuffle 99 99 0 1 2 - 101: 21(ptr) AccessChain 17 85 90 - 102: 11(int) Load 101 - 103: 14(ivec4) ImageFetch 97 100 Lod 102 - 107: 104 Load 106(g_tTex3du4) - 108: 86(ptr) AccessChain 17 85 - 109: 14(ivec4) Load 108 - 110: 13(ivec3) VectorShuffle 109 109 0 1 2 - 111: 21(ptr) AccessChain 17 85 90 - 112: 11(int) Load 111 - 113: 46(ivec4) ImageFetch 107 110 Lod 112 - 121: 120(ptr) AccessChain 116(psout) 117 - Store 121 119 - 123: 122(ptr) AccessChain 116(psout) 18 - Store 123 118 - 126: 120(ptr) AccessChain 116(psout) 117 - 127: 27(fvec4) Load 126 - Store 125(Color) 127 - 130: 122(ptr) AccessChain 116(psout) 18 - 131: 6(float) Load 130 - Store 129(Depth) 131 +130(flattenTemp): 118(ptr) Variable Function + 131:8(PS_OUTPUT) FunctionCall 10(@main() + Store 130(flattenTemp) 131 + 134: 123(ptr) AccessChain 130(flattenTemp) 120 + 135: 7(fvec4) Load 134 + Store 133(Color) 135 + 138: 125(ptr) AccessChain 130(flattenTemp) 23 + 139: 6(float) Load 138 + Store 137(Depth) 139 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 119(psout): 118(ptr) Variable Function + 15: 12 Load 14(g_tTex1df4) + 27: 26(ptr) AccessChain 22 23 25 + 28: 16(int) Load 27 + 30: 26(ptr) AccessChain 22 23 29 + 31: 16(int) Load 30 + 32: 7(fvec4) ImageFetch 15 28 Lod 31 + 36: 33 Load 35(g_tTex1di4) + 37: 26(ptr) AccessChain 22 23 25 + 38: 16(int) Load 37 + 39: 26(ptr) AccessChain 22 23 29 + 40: 16(int) Load 39 + 41: 19(ivec4) ImageFetch 36 38 Lod 40 + 45: 42 Load 44(g_tTex1du4) + 46: 26(ptr) AccessChain 22 23 25 + 47: 16(int) Load 46 + 48: 26(ptr) AccessChain 22 23 29 + 49: 16(int) Load 48 + 51: 50(ivec4) ImageFetch 45 47 Lod 49 + 55: 52 Load 54(g_tTex2df4) + 58: 57(ptr) AccessChain 22 56 + 59: 18(ivec3) Load 58 + 60: 17(ivec2) VectorShuffle 59 59 0 1 + 62: 26(ptr) AccessChain 22 56 61 + 63: 16(int) Load 62 + 64: 7(fvec4) ImageFetch 55 60 Lod 63 + 68: 65 Load 67(g_tTex2di4) + 69: 57(ptr) AccessChain 22 56 + 70: 18(ivec3) Load 69 + 71: 17(ivec2) VectorShuffle 70 70 0 1 + 72: 26(ptr) AccessChain 22 56 61 + 73: 16(int) Load 72 + 74: 19(ivec4) ImageFetch 68 71 Lod 73 + 78: 75 Load 77(g_tTex2du4) + 79: 57(ptr) AccessChain 22 56 + 80: 18(ivec3) Load 79 + 81: 17(ivec2) VectorShuffle 80 80 0 1 + 82: 26(ptr) AccessChain 22 56 61 + 83: 16(int) Load 82 + 84: 50(ivec4) ImageFetch 78 81 Lod 83 + 88: 85 Load 87(g_tTex3df4) + 91: 90(ptr) AccessChain 22 89 + 92: 19(ivec4) Load 91 + 93: 18(ivec3) VectorShuffle 92 92 0 1 2 + 95: 26(ptr) AccessChain 22 89 94 + 96: 16(int) Load 95 + 97: 7(fvec4) ImageFetch 88 93 Lod 96 + 101: 98 Load 100(g_tTex3di4) + 102: 90(ptr) AccessChain 22 89 + 103: 19(ivec4) Load 102 + 104: 18(ivec3) VectorShuffle 103 103 0 1 2 + 105: 26(ptr) AccessChain 22 89 94 + 106: 16(int) Load 105 + 107: 19(ivec4) ImageFetch 101 104 Lod 106 + 111: 108 Load 110(g_tTex3du4) + 112: 90(ptr) AccessChain 22 89 + 113: 19(ivec4) Load 112 + 114: 18(ivec3) VectorShuffle 113 113 0 1 2 + 115: 26(ptr) AccessChain 22 89 94 + 116: 16(int) Load 115 + 117: 50(ivec4) ImageFetch 111 114 Lod 116 + 124: 123(ptr) AccessChain 119(psout) 120 + Store 124 122 + 126: 125(ptr) AccessChain 119(psout) 23 + Store 126 121 + 127:8(PS_OUTPUT) Load 119(psout) + ReturnValue 127 + FunctionEnd diff --git a/Test/baseResults/hlsl.load.basic.dx10.vert.out b/Test/baseResults/hlsl.load.basic.dx10.vert.out index a3e45e4f..f6797ad8 100644 --- a/Test/baseResults/hlsl.load.basic.dx10.vert.out +++ b/Test/baseResults/hlsl.load.basic.dx10.vert.out @@ -1,7 +1,7 @@ hlsl.load.basic.dx10.vert Shader version: 450 0:? Sequence -0:47 Function Definition: main( (temp structure{temp 4-component vector of float Position Pos}) +0:47 Function Definition: @main( (temp structure{temp 4-component vector of float Position Pos}) 0:47 Function Parameters: 0:? Sequence 0:51 textureFetch (temp 4-component vector of float) @@ -185,15 +185,18 @@ Shader version: 450 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:69 Sequence -0:69 Sequence -0:69 move second child to first child (temp 4-component vector of float) -0:? 'Pos' (out 4-component vector of float Position) -0:69 Pos: direct index for structure (temp 4-component vector of float) -0:69 'vsout' (temp structure{temp 4-component vector of float Pos}) -0:69 Constant: -0:69 0 (const int) -0:69 Branch: Return +0:69 Branch: Return with expression +0:69 'vsout' (temp structure{temp 4-component vector of float Pos}) +0:47 Function Definition: main( (temp void) +0:47 Function Parameters: +0:? Sequence +0:47 Sequence +0:47 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput_Pos' (out 4-component vector of float Position) +0:47 Pos: direct index for structure (temp 4-component vector of float Position) +0:47 Function Call: @main( (temp structure{temp 4-component vector of float Position Pos}) +0:47 Constant: +0:47 0 (const int) 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -218,7 +221,7 @@ Shader version: 450 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos}) +0:? 'PerVertex_out' (out block{out 4-component vector of float Position @entryPointOutput_Pos}) Linked vertex stage: @@ -226,7 +229,7 @@ Linked vertex stage: Shader version: 450 0:? Sequence -0:47 Function Definition: main( (temp structure{temp 4-component vector of float Position Pos}) +0:47 Function Definition: @main( (temp structure{temp 4-component vector of float Position Pos}) 0:47 Function Parameters: 0:? Sequence 0:51 textureFetch (temp 4-component vector of float) @@ -410,15 +413,18 @@ Shader version: 450 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:69 Sequence -0:69 Sequence -0:69 move second child to first child (temp 4-component vector of float) -0:? 'Pos' (out 4-component vector of float Position) -0:69 Pos: direct index for structure (temp 4-component vector of float) -0:69 'vsout' (temp structure{temp 4-component vector of float Pos}) -0:69 Constant: -0:69 0 (const int) -0:69 Branch: Return +0:69 Branch: Return with expression +0:69 'vsout' (temp structure{temp 4-component vector of float Pos}) +0:47 Function Definition: main( (temp void) +0:47 Function Parameters: +0:? Sequence +0:47 Sequence +0:47 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput_Pos' (out 4-component vector of float Position) +0:47 Pos: direct index for structure (temp 4-component vector of float Position) +0:47 Function Call: @main( (temp structure{temp 4-component vector of float Position Pos}) +0:47 Constant: +0:47 0 (const int) 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -443,262 +449,279 @@ Shader version: 450 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos}) +0:? 'PerVertex_out' (out block{out 4-component vector of float Position @entryPointOutput_Pos}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 169 +// Id's are bound by 180 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" 123 168 + EntryPoint Vertex 4 "main" 135 179 Name 4 "main" - Name 9 "g_tTex1df4" - Name 15 "$Global" - MemberName 15($Global) 0 "c1" - MemberName 15($Global) 1 "c2" - MemberName 15($Global) 2 "c3" - MemberName 15($Global) 3 "c4" - MemberName 15($Global) 4 "o1" - MemberName 15($Global) 5 "o2" - MemberName 15($Global) 6 "o3" - MemberName 15($Global) 7 "o4" - Name 17 "" - Name 31 "g_tTex1di4" - Name 40 "g_tTex1du4" - Name 50 "g_tTex2df4" - Name 63 "g_tTex2di4" - Name 73 "g_tTex2du4" - Name 83 "g_tTex3df4" - Name 96 "g_tTex3di4" - Name 106 "g_tTex3du4" - Name 114 "VS_OUTPUT" - MemberName 114(VS_OUTPUT) 0 "Pos" - Name 116 "vsout" - Name 123 "Pos" - Name 129 "g_sSamp" - Name 132 "g_tTexcdf4" - Name 135 "g_tTexcdi4" - Name 138 "g_tTexcdu4" - Name 141 "g_tTex1df4a" - Name 144 "g_tTex1di4a" - Name 147 "g_tTex1du4a" - Name 150 "g_tTex2df4a" - Name 153 "g_tTex2di4a" - Name 156 "g_tTex2du4a" - Name 159 "g_tTexcdf4a" - Name 162 "g_tTexcdi4a" - Name 165 "g_tTexcdu4a" - Name 166 "PerVertex_out" - MemberName 166(PerVertex_out) 0 "Pos" - Name 168 "PerVertex_out" - Decorate 9(g_tTex1df4) DescriptorSet 0 - Decorate 9(g_tTex1df4) Binding 0 - MemberDecorate 15($Global) 0 Offset 0 - MemberDecorate 15($Global) 1 Offset 8 - MemberDecorate 15($Global) 2 Offset 16 - MemberDecorate 15($Global) 3 Offset 32 - MemberDecorate 15($Global) 4 Offset 48 - MemberDecorate 15($Global) 5 Offset 56 - MemberDecorate 15($Global) 6 Offset 64 - MemberDecorate 15($Global) 7 Offset 80 - Decorate 15($Global) Block - Decorate 17 DescriptorSet 0 - Decorate 31(g_tTex1di4) DescriptorSet 0 - Decorate 40(g_tTex1du4) DescriptorSet 0 - Decorate 50(g_tTex2df4) DescriptorSet 0 - Decorate 63(g_tTex2di4) DescriptorSet 0 - Decorate 73(g_tTex2du4) DescriptorSet 0 - Decorate 83(g_tTex3df4) DescriptorSet 0 - Decorate 96(g_tTex3di4) DescriptorSet 0 - Decorate 106(g_tTex3du4) DescriptorSet 0 - Decorate 123(Pos) BuiltIn Position - Decorate 129(g_sSamp) DescriptorSet 0 - Decorate 129(g_sSamp) Binding 0 - Decorate 132(g_tTexcdf4) DescriptorSet 0 - Decorate 135(g_tTexcdi4) DescriptorSet 0 - Decorate 138(g_tTexcdu4) DescriptorSet 0 - Decorate 141(g_tTex1df4a) DescriptorSet 0 - Decorate 144(g_tTex1di4a) DescriptorSet 0 - Decorate 147(g_tTex1du4a) DescriptorSet 0 - Decorate 150(g_tTex2df4a) DescriptorSet 0 - Decorate 153(g_tTex2di4a) DescriptorSet 0 - Decorate 156(g_tTex2du4a) DescriptorSet 0 - Decorate 159(g_tTexcdf4a) DescriptorSet 0 - Decorate 162(g_tTexcdi4a) DescriptorSet 0 - Decorate 165(g_tTexcdu4a) DescriptorSet 0 - MemberDecorate 166(PerVertex_out) 0 BuiltIn Position - Decorate 166(PerVertex_out) Block + Name 8 "VS_OUTPUT" + MemberName 8(VS_OUTPUT) 0 "Pos" + Name 10 "@main(" + Name 14 "g_tTex1df4" + Name 20 "$Global" + MemberName 20($Global) 0 "c1" + MemberName 20($Global) 1 "c2" + MemberName 20($Global) 2 "c3" + MemberName 20($Global) 3 "c4" + MemberName 20($Global) 4 "o1" + MemberName 20($Global) 5 "o2" + MemberName 20($Global) 6 "o3" + MemberName 20($Global) 7 "o4" + Name 22 "" + Name 35 "g_tTex1di4" + Name 44 "g_tTex1du4" + Name 54 "g_tTex2df4" + Name 67 "g_tTex2di4" + Name 77 "g_tTex2du4" + Name 87 "g_tTex3df4" + Name 100 "g_tTex3di4" + Name 110 "g_tTex3du4" + Name 118 "VS_OUTPUT" + MemberName 118(VS_OUTPUT) 0 "Pos" + Name 120 "vsout" + Name 135 "@entryPointOutput_Pos" + Name 140 "g_sSamp" + Name 143 "g_tTexcdf4" + Name 146 "g_tTexcdi4" + Name 149 "g_tTexcdu4" + Name 152 "g_tTex1df4a" + Name 155 "g_tTex1di4a" + Name 158 "g_tTex1du4a" + Name 161 "g_tTex2df4a" + Name 164 "g_tTex2di4a" + Name 167 "g_tTex2du4a" + Name 170 "g_tTexcdf4a" + Name 173 "g_tTexcdi4a" + Name 176 "g_tTexcdu4a" + Name 177 "PerVertex_out" + MemberName 177(PerVertex_out) 0 "@entryPointOutput_Pos" + Name 179 "PerVertex_out" + MemberDecorate 8(VS_OUTPUT) 0 BuiltIn Position + Decorate 14(g_tTex1df4) DescriptorSet 0 + Decorate 14(g_tTex1df4) Binding 0 + MemberDecorate 20($Global) 0 Offset 0 + MemberDecorate 20($Global) 1 Offset 8 + MemberDecorate 20($Global) 2 Offset 16 + MemberDecorate 20($Global) 3 Offset 32 + MemberDecorate 20($Global) 4 Offset 48 + MemberDecorate 20($Global) 5 Offset 56 + MemberDecorate 20($Global) 6 Offset 64 + MemberDecorate 20($Global) 7 Offset 80 + Decorate 20($Global) Block + Decorate 22 DescriptorSet 0 + Decorate 35(g_tTex1di4) DescriptorSet 0 + Decorate 44(g_tTex1du4) DescriptorSet 0 + Decorate 54(g_tTex2df4) DescriptorSet 0 + Decorate 67(g_tTex2di4) DescriptorSet 0 + Decorate 77(g_tTex2du4) DescriptorSet 0 + Decorate 87(g_tTex3df4) DescriptorSet 0 + Decorate 100(g_tTex3di4) DescriptorSet 0 + Decorate 110(g_tTex3du4) DescriptorSet 0 + Decorate 135(@entryPointOutput_Pos) BuiltIn Position + Decorate 140(g_sSamp) DescriptorSet 0 + Decorate 140(g_sSamp) Binding 0 + Decorate 143(g_tTexcdf4) DescriptorSet 0 + Decorate 146(g_tTexcdi4) DescriptorSet 0 + Decorate 149(g_tTexcdu4) DescriptorSet 0 + Decorate 152(g_tTex1df4a) DescriptorSet 0 + Decorate 155(g_tTex1di4a) DescriptorSet 0 + Decorate 158(g_tTex1du4a) DescriptorSet 0 + Decorate 161(g_tTex2df4a) DescriptorSet 0 + Decorate 164(g_tTex2di4a) DescriptorSet 0 + Decorate 167(g_tTex2du4a) DescriptorSet 0 + Decorate 170(g_tTexcdf4a) DescriptorSet 0 + Decorate 173(g_tTexcdi4a) DescriptorSet 0 + Decorate 176(g_tTexcdu4a) DescriptorSet 0 + MemberDecorate 177(PerVertex_out) 0 BuiltIn Position + Decorate 177(PerVertex_out) Block 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypeImage 6(float) 1D sampled format:Unknown - 8: TypePointer UniformConstant 7 - 9(g_tTex1df4): 8(ptr) Variable UniformConstant - 11: TypeInt 32 1 - 12: TypeVector 11(int) 2 - 13: TypeVector 11(int) 3 - 14: TypeVector 11(int) 4 - 15($Global): TypeStruct 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 11(int) 12(ivec2) 13(ivec3) 14(ivec4) - 16: TypePointer Uniform 15($Global) - 17: 16(ptr) Variable Uniform - 18: 11(int) Constant 1 - 19: TypeInt 32 0 - 20: 19(int) Constant 0 - 21: TypePointer Uniform 11(int) - 24: 19(int) Constant 1 - 27: TypeVector 6(float) 4 - 29: TypeImage 11(int) 1D sampled format:Unknown - 30: TypePointer UniformConstant 29 - 31(g_tTex1di4): 30(ptr) Variable UniformConstant - 38: TypeImage 19(int) 1D sampled format:Unknown - 39: TypePointer UniformConstant 38 - 40(g_tTex1du4): 39(ptr) Variable UniformConstant - 46: TypeVector 19(int) 4 - 48: TypeImage 6(float) 2D sampled format:Unknown - 49: TypePointer UniformConstant 48 - 50(g_tTex2df4): 49(ptr) Variable UniformConstant - 52: 11(int) Constant 2 - 53: TypePointer Uniform 13(ivec3) - 57: 19(int) Constant 2 - 61: TypeImage 11(int) 2D sampled format:Unknown - 62: TypePointer UniformConstant 61 - 63(g_tTex2di4): 62(ptr) Variable UniformConstant - 71: TypeImage 19(int) 2D sampled format:Unknown - 72: TypePointer UniformConstant 71 - 73(g_tTex2du4): 72(ptr) Variable UniformConstant - 81: TypeImage 6(float) 3D sampled format:Unknown - 82: TypePointer UniformConstant 81 - 83(g_tTex3df4): 82(ptr) Variable UniformConstant - 85: 11(int) Constant 3 - 86: TypePointer Uniform 14(ivec4) - 90: 19(int) Constant 3 - 94: TypeImage 11(int) 3D sampled format:Unknown - 95: TypePointer UniformConstant 94 - 96(g_tTex3di4): 95(ptr) Variable UniformConstant - 104: TypeImage 19(int) 3D sampled format:Unknown - 105: TypePointer UniformConstant 104 - 106(g_tTex3du4): 105(ptr) Variable UniformConstant - 114(VS_OUTPUT): TypeStruct 27(fvec4) - 115: TypePointer Function 114(VS_OUTPUT) - 117: 11(int) Constant 0 - 118: 6(float) Constant 0 - 119: 27(fvec4) ConstantComposite 118 118 118 118 - 120: TypePointer Function 27(fvec4) - 122: TypePointer Output 27(fvec4) - 123(Pos): 122(ptr) Variable Output - 127: TypeSampler - 128: TypePointer UniformConstant 127 - 129(g_sSamp): 128(ptr) Variable UniformConstant - 130: TypeImage 6(float) Cube sampled format:Unknown - 131: TypePointer UniformConstant 130 - 132(g_tTexcdf4): 131(ptr) Variable UniformConstant - 133: TypeImage 11(int) Cube sampled format:Unknown - 134: TypePointer UniformConstant 133 - 135(g_tTexcdi4): 134(ptr) Variable UniformConstant - 136: TypeImage 19(int) Cube sampled format:Unknown - 137: TypePointer UniformConstant 136 - 138(g_tTexcdu4): 137(ptr) Variable UniformConstant - 139: TypeImage 6(float) 1D array sampled format:Unknown - 140: TypePointer UniformConstant 139 -141(g_tTex1df4a): 140(ptr) Variable UniformConstant - 142: TypeImage 11(int) 1D array sampled format:Unknown - 143: TypePointer UniformConstant 142 -144(g_tTex1di4a): 143(ptr) Variable UniformConstant - 145: TypeImage 19(int) 1D array sampled format:Unknown - 146: TypePointer UniformConstant 145 -147(g_tTex1du4a): 146(ptr) Variable UniformConstant - 148: TypeImage 6(float) 2D array sampled format:Unknown - 149: TypePointer UniformConstant 148 -150(g_tTex2df4a): 149(ptr) Variable UniformConstant - 151: TypeImage 11(int) 2D array sampled format:Unknown - 152: TypePointer UniformConstant 151 -153(g_tTex2di4a): 152(ptr) Variable UniformConstant - 154: TypeImage 19(int) 2D array sampled format:Unknown - 155: TypePointer UniformConstant 154 -156(g_tTex2du4a): 155(ptr) Variable UniformConstant - 157: TypeImage 6(float) Cube array sampled format:Unknown - 158: TypePointer UniformConstant 157 -159(g_tTexcdf4a): 158(ptr) Variable UniformConstant - 160: TypeImage 11(int) Cube array sampled format:Unknown - 161: TypePointer UniformConstant 160 -162(g_tTexcdi4a): 161(ptr) Variable UniformConstant - 163: TypeImage 19(int) Cube array sampled format:Unknown - 164: TypePointer UniformConstant 163 -165(g_tTexcdu4a): 164(ptr) Variable UniformConstant -166(PerVertex_out): TypeStruct 27(fvec4) - 167: TypePointer Output 166(PerVertex_out) -168(PerVertex_out): 167(ptr) Variable Output + 7: TypeVector 6(float) 4 + 8(VS_OUTPUT): TypeStruct 7(fvec4) + 9: TypeFunction 8(VS_OUTPUT) + 12: TypeImage 6(float) 1D sampled format:Unknown + 13: TypePointer UniformConstant 12 + 14(g_tTex1df4): 13(ptr) Variable UniformConstant + 16: TypeInt 32 1 + 17: TypeVector 16(int) 2 + 18: TypeVector 16(int) 3 + 19: TypeVector 16(int) 4 + 20($Global): TypeStruct 16(int) 17(ivec2) 18(ivec3) 19(ivec4) 16(int) 17(ivec2) 18(ivec3) 19(ivec4) + 21: TypePointer Uniform 20($Global) + 22: 21(ptr) Variable Uniform + 23: 16(int) Constant 1 + 24: TypeInt 32 0 + 25: 24(int) Constant 0 + 26: TypePointer Uniform 16(int) + 29: 24(int) Constant 1 + 33: TypeImage 16(int) 1D sampled format:Unknown + 34: TypePointer UniformConstant 33 + 35(g_tTex1di4): 34(ptr) Variable UniformConstant + 42: TypeImage 24(int) 1D sampled format:Unknown + 43: TypePointer UniformConstant 42 + 44(g_tTex1du4): 43(ptr) Variable UniformConstant + 50: TypeVector 24(int) 4 + 52: TypeImage 6(float) 2D sampled format:Unknown + 53: TypePointer UniformConstant 52 + 54(g_tTex2df4): 53(ptr) Variable UniformConstant + 56: 16(int) Constant 2 + 57: TypePointer Uniform 18(ivec3) + 61: 24(int) Constant 2 + 65: TypeImage 16(int) 2D sampled format:Unknown + 66: TypePointer UniformConstant 65 + 67(g_tTex2di4): 66(ptr) Variable UniformConstant + 75: TypeImage 24(int) 2D sampled format:Unknown + 76: TypePointer UniformConstant 75 + 77(g_tTex2du4): 76(ptr) Variable UniformConstant + 85: TypeImage 6(float) 3D sampled format:Unknown + 86: TypePointer UniformConstant 85 + 87(g_tTex3df4): 86(ptr) Variable UniformConstant + 89: 16(int) Constant 3 + 90: TypePointer Uniform 19(ivec4) + 94: 24(int) Constant 3 + 98: TypeImage 16(int) 3D sampled format:Unknown + 99: TypePointer UniformConstant 98 + 100(g_tTex3di4): 99(ptr) Variable UniformConstant + 108: TypeImage 24(int) 3D sampled format:Unknown + 109: TypePointer UniformConstant 108 + 110(g_tTex3du4): 109(ptr) Variable UniformConstant + 118(VS_OUTPUT): TypeStruct 7(fvec4) + 119: TypePointer Function 118(VS_OUTPUT) + 121: 16(int) Constant 0 + 122: 6(float) Constant 0 + 123: 7(fvec4) ConstantComposite 122 122 122 122 + 124: TypePointer Function 7(fvec4) + 127: TypePointer Function 8(VS_OUTPUT) + 134: TypePointer Output 7(fvec4) +135(@entryPointOutput_Pos): 134(ptr) Variable Output + 138: TypeSampler + 139: TypePointer UniformConstant 138 + 140(g_sSamp): 139(ptr) Variable UniformConstant + 141: TypeImage 6(float) Cube sampled format:Unknown + 142: TypePointer UniformConstant 141 + 143(g_tTexcdf4): 142(ptr) Variable UniformConstant + 144: TypeImage 16(int) Cube sampled format:Unknown + 145: TypePointer UniformConstant 144 + 146(g_tTexcdi4): 145(ptr) Variable UniformConstant + 147: TypeImage 24(int) Cube sampled format:Unknown + 148: TypePointer UniformConstant 147 + 149(g_tTexcdu4): 148(ptr) Variable UniformConstant + 150: TypeImage 6(float) 1D array sampled format:Unknown + 151: TypePointer UniformConstant 150 +152(g_tTex1df4a): 151(ptr) Variable UniformConstant + 153: TypeImage 16(int) 1D array sampled format:Unknown + 154: TypePointer UniformConstant 153 +155(g_tTex1di4a): 154(ptr) Variable UniformConstant + 156: TypeImage 24(int) 1D array sampled format:Unknown + 157: TypePointer UniformConstant 156 +158(g_tTex1du4a): 157(ptr) Variable UniformConstant + 159: TypeImage 6(float) 2D array sampled format:Unknown + 160: TypePointer UniformConstant 159 +161(g_tTex2df4a): 160(ptr) Variable UniformConstant + 162: TypeImage 16(int) 2D array sampled format:Unknown + 163: TypePointer UniformConstant 162 +164(g_tTex2di4a): 163(ptr) Variable UniformConstant + 165: TypeImage 24(int) 2D array sampled format:Unknown + 166: TypePointer UniformConstant 165 +167(g_tTex2du4a): 166(ptr) Variable UniformConstant + 168: TypeImage 6(float) Cube array sampled format:Unknown + 169: TypePointer UniformConstant 168 +170(g_tTexcdf4a): 169(ptr) Variable UniformConstant + 171: TypeImage 16(int) Cube array sampled format:Unknown + 172: TypePointer UniformConstant 171 +173(g_tTexcdi4a): 172(ptr) Variable UniformConstant + 174: TypeImage 24(int) Cube array sampled format:Unknown + 175: TypePointer UniformConstant 174 +176(g_tTexcdu4a): 175(ptr) Variable UniformConstant +177(PerVertex_out): TypeStruct 7(fvec4) + 178: TypePointer Output 177(PerVertex_out) +179(PerVertex_out): 178(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 116(vsout): 115(ptr) Variable Function - 10: 7 Load 9(g_tTex1df4) - 22: 21(ptr) AccessChain 17 18 20 - 23: 11(int) Load 22 - 25: 21(ptr) AccessChain 17 18 24 - 26: 11(int) Load 25 - 28: 27(fvec4) ImageFetch 10 23 Lod 26 - 32: 29 Load 31(g_tTex1di4) - 33: 21(ptr) AccessChain 17 18 20 - 34: 11(int) Load 33 - 35: 21(ptr) AccessChain 17 18 24 - 36: 11(int) Load 35 - 37: 14(ivec4) ImageFetch 32 34 Lod 36 - 41: 38 Load 40(g_tTex1du4) - 42: 21(ptr) AccessChain 17 18 20 - 43: 11(int) Load 42 - 44: 21(ptr) AccessChain 17 18 24 - 45: 11(int) Load 44 - 47: 46(ivec4) ImageFetch 41 43 Lod 45 - 51: 48 Load 50(g_tTex2df4) - 54: 53(ptr) AccessChain 17 52 - 55: 13(ivec3) Load 54 - 56: 12(ivec2) VectorShuffle 55 55 0 1 - 58: 21(ptr) AccessChain 17 52 57 - 59: 11(int) Load 58 - 60: 27(fvec4) ImageFetch 51 56 Lod 59 - 64: 61 Load 63(g_tTex2di4) - 65: 53(ptr) AccessChain 17 52 - 66: 13(ivec3) Load 65 - 67: 12(ivec2) VectorShuffle 66 66 0 1 - 68: 21(ptr) AccessChain 17 52 57 - 69: 11(int) Load 68 - 70: 14(ivec4) ImageFetch 64 67 Lod 69 - 74: 71 Load 73(g_tTex2du4) - 75: 53(ptr) AccessChain 17 52 - 76: 13(ivec3) Load 75 - 77: 12(ivec2) VectorShuffle 76 76 0 1 - 78: 21(ptr) AccessChain 17 52 57 - 79: 11(int) Load 78 - 80: 46(ivec4) ImageFetch 74 77 Lod 79 - 84: 81 Load 83(g_tTex3df4) - 87: 86(ptr) AccessChain 17 85 - 88: 14(ivec4) Load 87 - 89: 13(ivec3) VectorShuffle 88 88 0 1 2 - 91: 21(ptr) AccessChain 17 85 90 - 92: 11(int) Load 91 - 93: 27(fvec4) ImageFetch 84 89 Lod 92 - 97: 94 Load 96(g_tTex3di4) - 98: 86(ptr) AccessChain 17 85 - 99: 14(ivec4) Load 98 - 100: 13(ivec3) VectorShuffle 99 99 0 1 2 - 101: 21(ptr) AccessChain 17 85 90 - 102: 11(int) Load 101 - 103: 14(ivec4) ImageFetch 97 100 Lod 102 - 107: 104 Load 106(g_tTex3du4) - 108: 86(ptr) AccessChain 17 85 - 109: 14(ivec4) Load 108 - 110: 13(ivec3) VectorShuffle 109 109 0 1 2 - 111: 21(ptr) AccessChain 17 85 90 - 112: 11(int) Load 111 - 113: 46(ivec4) ImageFetch 107 110 Lod 112 - 121: 120(ptr) AccessChain 116(vsout) 117 - Store 121 119 - 124: 120(ptr) AccessChain 116(vsout) 117 - 125: 27(fvec4) Load 124 - Store 123(Pos) 125 + 136:8(VS_OUTPUT) FunctionCall 10(@main() + 137: 7(fvec4) CompositeExtract 136 0 + Store 135(@entryPointOutput_Pos) 137 Return FunctionEnd + 10(@main():8(VS_OUTPUT) Function None 9 + 11: Label + 120(vsout): 119(ptr) Variable Function + 128: 127(ptr) Variable Function + 15: 12 Load 14(g_tTex1df4) + 27: 26(ptr) AccessChain 22 23 25 + 28: 16(int) Load 27 + 30: 26(ptr) AccessChain 22 23 29 + 31: 16(int) Load 30 + 32: 7(fvec4) ImageFetch 15 28 Lod 31 + 36: 33 Load 35(g_tTex1di4) + 37: 26(ptr) AccessChain 22 23 25 + 38: 16(int) Load 37 + 39: 26(ptr) AccessChain 22 23 29 + 40: 16(int) Load 39 + 41: 19(ivec4) ImageFetch 36 38 Lod 40 + 45: 42 Load 44(g_tTex1du4) + 46: 26(ptr) AccessChain 22 23 25 + 47: 16(int) Load 46 + 48: 26(ptr) AccessChain 22 23 29 + 49: 16(int) Load 48 + 51: 50(ivec4) ImageFetch 45 47 Lod 49 + 55: 52 Load 54(g_tTex2df4) + 58: 57(ptr) AccessChain 22 56 + 59: 18(ivec3) Load 58 + 60: 17(ivec2) VectorShuffle 59 59 0 1 + 62: 26(ptr) AccessChain 22 56 61 + 63: 16(int) Load 62 + 64: 7(fvec4) ImageFetch 55 60 Lod 63 + 68: 65 Load 67(g_tTex2di4) + 69: 57(ptr) AccessChain 22 56 + 70: 18(ivec3) Load 69 + 71: 17(ivec2) VectorShuffle 70 70 0 1 + 72: 26(ptr) AccessChain 22 56 61 + 73: 16(int) Load 72 + 74: 19(ivec4) ImageFetch 68 71 Lod 73 + 78: 75 Load 77(g_tTex2du4) + 79: 57(ptr) AccessChain 22 56 + 80: 18(ivec3) Load 79 + 81: 17(ivec2) VectorShuffle 80 80 0 1 + 82: 26(ptr) AccessChain 22 56 61 + 83: 16(int) Load 82 + 84: 50(ivec4) ImageFetch 78 81 Lod 83 + 88: 85 Load 87(g_tTex3df4) + 91: 90(ptr) AccessChain 22 89 + 92: 19(ivec4) Load 91 + 93: 18(ivec3) VectorShuffle 92 92 0 1 2 + 95: 26(ptr) AccessChain 22 89 94 + 96: 16(int) Load 95 + 97: 7(fvec4) ImageFetch 88 93 Lod 96 + 101: 98 Load 100(g_tTex3di4) + 102: 90(ptr) AccessChain 22 89 + 103: 19(ivec4) Load 102 + 104: 18(ivec3) VectorShuffle 103 103 0 1 2 + 105: 26(ptr) AccessChain 22 89 94 + 106: 16(int) Load 105 + 107: 19(ivec4) ImageFetch 101 104 Lod 106 + 111: 108 Load 110(g_tTex3du4) + 112: 90(ptr) AccessChain 22 89 + 113: 19(ivec4) Load 112 + 114: 18(ivec3) VectorShuffle 113 113 0 1 2 + 115: 26(ptr) AccessChain 22 89 94 + 116: 16(int) Load 115 + 117: 50(ivec4) ImageFetch 111 114 Lod 116 + 125: 124(ptr) AccessChain 120(vsout) 121 + Store 125 123 + 126:118(VS_OUTPUT) Load 120(vsout) + 129: 7(fvec4) CompositeExtract 126 0 + 130: 124(ptr) AccessChain 128 121 + Store 130 129 + 131:8(VS_OUTPUT) Load 128 + ReturnValue 131 + FunctionEnd diff --git a/Test/baseResults/hlsl.load.buffer.dx10.frag.out b/Test/baseResults/hlsl.load.buffer.dx10.frag.out index c80ddcfe..fe2b72bf 100644 --- a/Test/baseResults/hlsl.load.buffer.dx10.frag.out +++ b/Test/baseResults/hlsl.load.buffer.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.load.buffer.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:24 Function Parameters: 0:? Sequence 0:28 Sequence @@ -49,28 +49,34 @@ gl_FragCoord origin is upper left 0:35 1 (const int) 0:35 Constant: 0:35 1.000000 -0:37 Sequence -0:37 Sequence -0:37 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:37 Color: direct index for structure (temp 4-component vector of float) -0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:37 Constant: -0:37 0 (const int) -0:37 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:37 Depth: direct index for structure (temp float) -0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:37 Constant: -0:37 1 (const int) -0:37 Branch: Return +0:37 Branch: Return with expression +0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: main( (temp void) +0:24 Function Parameters: +0:? Sequence +0:24 Sequence +0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:24 Color: direct index for structure (temp 4-component vector of float) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:24 Depth: direct index for structure (temp float) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_tTexbf4_test' (layout(binding=0 rgba32f ) uniform samplerBuffer) 0:? 'g_tTexbf4' (layout(rgba32f ) uniform samplerBuffer) 0:? 'g_tTexbi4' (layout(rgba32i ) uniform isamplerBuffer) 0:? 'g_tTexbu4' (layout(rgba32ui ) uniform usamplerBuffer) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) @@ -80,7 +86,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:24 Function Parameters: 0:? Sequence 0:28 Sequence @@ -127,155 +133,172 @@ gl_FragCoord origin is upper left 0:35 1 (const int) 0:35 Constant: 0:35 1.000000 -0:37 Sequence -0:37 Sequence -0:37 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:37 Color: direct index for structure (temp 4-component vector of float) -0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:37 Constant: -0:37 0 (const int) -0:37 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:37 Depth: direct index for structure (temp float) -0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:37 Constant: -0:37 1 (const int) -0:37 Branch: Return +0:37 Branch: Return with expression +0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: main( (temp void) +0:24 Function Parameters: +0:? Sequence +0:24 Sequence +0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:24 Color: direct index for structure (temp 4-component vector of float) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:24 Depth: direct index for structure (temp float) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_tTexbf4_test' (layout(binding=0 rgba32f ) uniform samplerBuffer) 0:? 'g_tTexbf4' (layout(rgba32f ) uniform samplerBuffer) 0:? 'g_tTexbi4' (layout(rgba32i ) uniform isamplerBuffer) 0:? 'g_tTexbu4' (layout(rgba32ui ) uniform usamplerBuffer) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 71 +// Id's are bound by 78 Capability Shader Capability SampledBuffer 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 62 66 + EntryPoint Fragment 4 "main" 70 74 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "r00" - Name 13 "g_tTexbf4" - Name 19 "$Global" - MemberName 19($Global) 0 "c1" - MemberName 19($Global) 1 "c2" - MemberName 19($Global) 2 "c3" - MemberName 19($Global) 3 "c4" - MemberName 19($Global) 4 "o1" - MemberName 19($Global) 5 "o2" - MemberName 19($Global) 6 "o3" - MemberName 19($Global) 7 "o4" - Name 21 "" - Name 29 "r01" - Name 33 "g_tTexbi4" - Name 42 "r02" - Name 46 "g_tTexbu4" - Name 52 "PS_OUTPUT" - MemberName 52(PS_OUTPUT) 0 "Color" - MemberName 52(PS_OUTPUT) 1 "Depth" - Name 54 "psout" - Name 62 "Color" - Name 66 "Depth" - Name 70 "g_tTexbf4_test" - Decorate 13(g_tTexbf4) DescriptorSet 0 - MemberDecorate 19($Global) 0 Offset 0 - MemberDecorate 19($Global) 1 Offset 8 - MemberDecorate 19($Global) 2 Offset 16 - MemberDecorate 19($Global) 3 Offset 32 - MemberDecorate 19($Global) 4 Offset 48 - MemberDecorate 19($Global) 5 Offset 56 - MemberDecorate 19($Global) 6 Offset 64 - MemberDecorate 19($Global) 7 Offset 80 - Decorate 19($Global) Block - Decorate 21 DescriptorSet 0 - Decorate 33(g_tTexbi4) DescriptorSet 0 - Decorate 46(g_tTexbu4) DescriptorSet 0 - Decorate 62(Color) Location 0 - Decorate 66(Depth) BuiltIn FragDepth - Decorate 70(g_tTexbf4_test) DescriptorSet 0 - Decorate 70(g_tTexbf4_test) Binding 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "r00" + Name 17 "g_tTexbf4" + Name 23 "$Global" + MemberName 23($Global) 0 "c1" + MemberName 23($Global) 1 "c2" + MemberName 23($Global) 2 "c3" + MemberName 23($Global) 3 "c4" + MemberName 23($Global) 4 "o1" + MemberName 23($Global) 5 "o2" + MemberName 23($Global) 6 "o3" + MemberName 23($Global) 7 "o4" + Name 25 "" + Name 33 "r01" + Name 37 "g_tTexbi4" + Name 46 "r02" + Name 50 "g_tTexbu4" + Name 57 "psout" + Name 67 "flattenTemp" + Name 70 "Color" + Name 74 "Depth" + Name 77 "g_tTexbf4_test" + Decorate 17(g_tTexbf4) DescriptorSet 0 + MemberDecorate 23($Global) 0 Offset 0 + MemberDecorate 23($Global) 1 Offset 8 + MemberDecorate 23($Global) 2 Offset 16 + MemberDecorate 23($Global) 3 Offset 32 + MemberDecorate 23($Global) 4 Offset 48 + MemberDecorate 23($Global) 5 Offset 56 + MemberDecorate 23($Global) 6 Offset 64 + MemberDecorate 23($Global) 7 Offset 80 + Decorate 23($Global) Block + Decorate 25 DescriptorSet 0 + Decorate 37(g_tTexbi4) DescriptorSet 0 + Decorate 50(g_tTexbu4) DescriptorSet 0 + Decorate 70(Color) Location 0 + Decorate 74(Depth) BuiltIn FragDepth + Decorate 77(g_tTexbf4_test) DescriptorSet 0 + Decorate 77(g_tTexbf4_test) Binding 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) Buffer sampled format:Rgba32f - 11: TypeSampledImage 10 - 12: TypePointer UniformConstant 11 - 13(g_tTexbf4): 12(ptr) Variable UniformConstant - 15: TypeInt 32 1 - 16: TypeVector 15(int) 2 - 17: TypeVector 15(int) 3 - 18: TypeVector 15(int) 4 - 19($Global): TypeStruct 15(int) 16(ivec2) 17(ivec3) 18(ivec4) 15(int) 16(ivec2) 17(ivec3) 18(ivec4) - 20: TypePointer Uniform 19($Global) - 21: 20(ptr) Variable Uniform - 22: 15(int) Constant 0 - 23: TypePointer Uniform 15(int) - 28: TypePointer Function 18(ivec4) - 30: TypeImage 15(int) Buffer sampled format:Rgba32i - 31: TypeSampledImage 30 - 32: TypePointer UniformConstant 31 - 33(g_tTexbi4): 32(ptr) Variable UniformConstant - 39: TypeInt 32 0 - 40: TypeVector 39(int) 4 - 41: TypePointer Function 40(ivec4) - 43: TypeImage 39(int) Buffer sampled format:Rgba32ui - 44: TypeSampledImage 43 - 45: TypePointer UniformConstant 44 - 46(g_tTexbu4): 45(ptr) Variable UniformConstant - 52(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 53: TypePointer Function 52(PS_OUTPUT) - 55: 6(float) Constant 1065353216 - 56: 7(fvec4) ConstantComposite 55 55 55 55 - 58: 15(int) Constant 1 - 59: TypePointer Function 6(float) - 61: TypePointer Output 7(fvec4) - 62(Color): 61(ptr) Variable Output - 65: TypePointer Output 6(float) - 66(Depth): 65(ptr) Variable Output -70(g_tTexbf4_test): 12(ptr) Variable UniformConstant + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) Buffer sampled format:Rgba32f + 15: TypeSampledImage 14 + 16: TypePointer UniformConstant 15 + 17(g_tTexbf4): 16(ptr) Variable UniformConstant + 19: TypeInt 32 1 + 20: TypeVector 19(int) 2 + 21: TypeVector 19(int) 3 + 22: TypeVector 19(int) 4 + 23($Global): TypeStruct 19(int) 20(ivec2) 21(ivec3) 22(ivec4) 19(int) 20(ivec2) 21(ivec3) 22(ivec4) + 24: TypePointer Uniform 23($Global) + 25: 24(ptr) Variable Uniform + 26: 19(int) Constant 0 + 27: TypePointer Uniform 19(int) + 32: TypePointer Function 22(ivec4) + 34: TypeImage 19(int) Buffer sampled format:Rgba32i + 35: TypeSampledImage 34 + 36: TypePointer UniformConstant 35 + 37(g_tTexbi4): 36(ptr) Variable UniformConstant + 43: TypeInt 32 0 + 44: TypeVector 43(int) 4 + 45: TypePointer Function 44(ivec4) + 47: TypeImage 43(int) Buffer sampled format:Rgba32ui + 48: TypeSampledImage 47 + 49: TypePointer UniformConstant 48 + 50(g_tTexbu4): 49(ptr) Variable UniformConstant + 56: TypePointer Function 8(PS_OUTPUT) + 58: 6(float) Constant 1065353216 + 59: 7(fvec4) ConstantComposite 58 58 58 58 + 61: 19(int) Constant 1 + 62: TypePointer Function 6(float) + 69: TypePointer Output 7(fvec4) + 70(Color): 69(ptr) Variable Output + 73: TypePointer Output 6(float) + 74(Depth): 73(ptr) Variable Output +77(g_tTexbf4_test): 16(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(r00): 8(ptr) Variable Function - 29(r01): 28(ptr) Variable Function - 42(r02): 41(ptr) Variable Function - 54(psout): 53(ptr) Variable Function - 14: 11 Load 13(g_tTexbf4) - 24: 23(ptr) AccessChain 21 22 - 25: 15(int) Load 24 - 26: 10 Image 14 - 27: 7(fvec4) ImageFetch 26 25 - Store 9(r00) 27 - 34: 31 Load 33(g_tTexbi4) - 35: 23(ptr) AccessChain 21 22 - 36: 15(int) Load 35 - 37: 30 Image 34 - 38: 18(ivec4) ImageFetch 37 36 - Store 29(r01) 38 - 47: 44 Load 46(g_tTexbu4) - 48: 23(ptr) AccessChain 21 22 - 49: 15(int) Load 48 - 50: 43 Image 47 - 51: 40(ivec4) ImageFetch 50 49 - Store 42(r02) 51 - 57: 8(ptr) AccessChain 54(psout) 22 - Store 57 56 - 60: 59(ptr) AccessChain 54(psout) 58 - Store 60 55 - 63: 8(ptr) AccessChain 54(psout) 22 - 64: 7(fvec4) Load 63 - Store 62(Color) 64 - 67: 59(ptr) AccessChain 54(psout) 58 - 68: 6(float) Load 67 - Store 66(Depth) 68 + 67(flattenTemp): 56(ptr) Variable Function + 68:8(PS_OUTPUT) FunctionCall 10(@main() + Store 67(flattenTemp) 68 + 71: 12(ptr) AccessChain 67(flattenTemp) 26 + 72: 7(fvec4) Load 71 + Store 70(Color) 72 + 75: 62(ptr) AccessChain 67(flattenTemp) 61 + 76: 6(float) Load 75 + Store 74(Depth) 76 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(r00): 12(ptr) Variable Function + 33(r01): 32(ptr) Variable Function + 46(r02): 45(ptr) Variable Function + 57(psout): 56(ptr) Variable Function + 18: 15 Load 17(g_tTexbf4) + 28: 27(ptr) AccessChain 25 26 + 29: 19(int) Load 28 + 30: 14 Image 18 + 31: 7(fvec4) ImageFetch 30 29 + Store 13(r00) 31 + 38: 35 Load 37(g_tTexbi4) + 39: 27(ptr) AccessChain 25 26 + 40: 19(int) Load 39 + 41: 34 Image 38 + 42: 22(ivec4) ImageFetch 41 40 + Store 33(r01) 42 + 51: 48 Load 50(g_tTexbu4) + 52: 27(ptr) AccessChain 25 26 + 53: 19(int) Load 52 + 54: 47 Image 51 + 55: 44(ivec4) ImageFetch 54 53 + Store 46(r02) 55 + 60: 12(ptr) AccessChain 57(psout) 26 + Store 60 59 + 63: 62(ptr) AccessChain 57(psout) 61 + Store 63 58 + 64:8(PS_OUTPUT) Load 57(psout) + ReturnValue 64 + FunctionEnd diff --git a/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out b/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out index c0cd1528..bea06dc4 100644 --- a/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out +++ b/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.load.buffer.float.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:24 Function Parameters: 0:? Sequence 0:28 Sequence @@ -52,28 +52,34 @@ gl_FragCoord origin is upper left 0:35 1 (const int) 0:35 Constant: 0:35 1.000000 -0:37 Sequence -0:37 Sequence -0:37 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:37 Color: direct index for structure (temp 4-component vector of float) -0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:37 Constant: -0:37 0 (const int) -0:37 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:37 Depth: direct index for structure (temp float) -0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:37 Constant: -0:37 1 (const int) -0:37 Branch: Return +0:37 Branch: Return with expression +0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: main( (temp void) +0:24 Function Parameters: +0:? Sequence +0:24 Sequence +0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:24 Color: direct index for structure (temp 4-component vector of float) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:24 Depth: direct index for structure (temp float) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_tTexbfs_test' (layout(binding=0 r32f ) uniform samplerBuffer) 0:? 'g_tTexbfs' (layout(r32f ) uniform samplerBuffer) 0:? 'g_tTexbis' (layout(r32i ) uniform isamplerBuffer) 0:? 'g_tTexbus' (layout(r32ui ) uniform usamplerBuffer) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) @@ -83,7 +89,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:24 Function Parameters: 0:? Sequence 0:28 Sequence @@ -133,158 +139,175 @@ gl_FragCoord origin is upper left 0:35 1 (const int) 0:35 Constant: 0:35 1.000000 -0:37 Sequence -0:37 Sequence -0:37 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:37 Color: direct index for structure (temp 4-component vector of float) -0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:37 Constant: -0:37 0 (const int) -0:37 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:37 Depth: direct index for structure (temp float) -0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:37 Constant: -0:37 1 (const int) -0:37 Branch: Return +0:37 Branch: Return with expression +0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: main( (temp void) +0:24 Function Parameters: +0:? Sequence +0:24 Sequence +0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:24 Color: direct index for structure (temp 4-component vector of float) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:24 Depth: direct index for structure (temp float) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_tTexbfs_test' (layout(binding=0 r32f ) uniform samplerBuffer) 0:? 'g_tTexbfs' (layout(r32f ) uniform samplerBuffer) 0:? 'g_tTexbis' (layout(r32i ) uniform isamplerBuffer) 0:? 'g_tTexbus' (layout(r32ui ) uniform usamplerBuffer) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 74 +// Id's are bound by 81 Capability Shader Capability SampledBuffer 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 65 69 + EntryPoint Fragment 4 "main" 73 77 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "r00" - Name 12 "g_tTexbfs" - Name 18 "$Global" - MemberName 18($Global) 0 "c1" - MemberName 18($Global) 1 "c2" - MemberName 18($Global) 2 "c3" - MemberName 18($Global) 3 "c4" - MemberName 18($Global) 4 "o1" - MemberName 18($Global) 5 "o2" - MemberName 18($Global) 6 "o3" - MemberName 18($Global) 7 "o4" - Name 20 "" - Name 30 "r01" - Name 34 "g_tTexbis" - Name 43 "r02" - Name 47 "g_tTexbus" - Name 55 "PS_OUTPUT" - MemberName 55(PS_OUTPUT) 0 "Color" - MemberName 55(PS_OUTPUT) 1 "Depth" - Name 57 "psout" - Name 65 "Color" - Name 69 "Depth" - Name 73 "g_tTexbfs_test" - Decorate 12(g_tTexbfs) DescriptorSet 0 - MemberDecorate 18($Global) 0 Offset 0 - MemberDecorate 18($Global) 1 Offset 8 - MemberDecorate 18($Global) 2 Offset 16 - MemberDecorate 18($Global) 3 Offset 32 - MemberDecorate 18($Global) 4 Offset 48 - MemberDecorate 18($Global) 5 Offset 56 - MemberDecorate 18($Global) 6 Offset 64 - MemberDecorate 18($Global) 7 Offset 80 - Decorate 18($Global) Block - Decorate 20 DescriptorSet 0 - Decorate 34(g_tTexbis) DescriptorSet 0 - Decorate 47(g_tTexbus) DescriptorSet 0 - Decorate 65(Color) Location 0 - Decorate 69(Depth) BuiltIn FragDepth - Decorate 73(g_tTexbfs_test) DescriptorSet 0 - Decorate 73(g_tTexbfs_test) Binding 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "r00" + Name 17 "g_tTexbfs" + Name 23 "$Global" + MemberName 23($Global) 0 "c1" + MemberName 23($Global) 1 "c2" + MemberName 23($Global) 2 "c3" + MemberName 23($Global) 3 "c4" + MemberName 23($Global) 4 "o1" + MemberName 23($Global) 5 "o2" + MemberName 23($Global) 6 "o3" + MemberName 23($Global) 7 "o4" + Name 25 "" + Name 34 "r01" + Name 38 "g_tTexbis" + Name 47 "r02" + Name 51 "g_tTexbus" + Name 60 "psout" + Name 70 "flattenTemp" + Name 73 "Color" + Name 77 "Depth" + Name 80 "g_tTexbfs_test" + Decorate 17(g_tTexbfs) DescriptorSet 0 + MemberDecorate 23($Global) 0 Offset 0 + MemberDecorate 23($Global) 1 Offset 8 + MemberDecorate 23($Global) 2 Offset 16 + MemberDecorate 23($Global) 3 Offset 32 + MemberDecorate 23($Global) 4 Offset 48 + MemberDecorate 23($Global) 5 Offset 56 + MemberDecorate 23($Global) 6 Offset 64 + MemberDecorate 23($Global) 7 Offset 80 + Decorate 23($Global) Block + Decorate 25 DescriptorSet 0 + Decorate 38(g_tTexbis) DescriptorSet 0 + Decorate 51(g_tTexbus) DescriptorSet 0 + Decorate 73(Color) Location 0 + Decorate 77(Depth) BuiltIn FragDepth + Decorate 80(g_tTexbfs_test) DescriptorSet 0 + Decorate 80(g_tTexbfs_test) Binding 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypePointer Function 6(float) - 9: TypeImage 6(float) Buffer sampled format:R32f - 10: TypeSampledImage 9 - 11: TypePointer UniformConstant 10 - 12(g_tTexbfs): 11(ptr) Variable UniformConstant - 14: TypeInt 32 1 - 15: TypeVector 14(int) 2 - 16: TypeVector 14(int) 3 - 17: TypeVector 14(int) 4 - 18($Global): TypeStruct 14(int) 15(ivec2) 16(ivec3) 17(ivec4) 14(int) 15(ivec2) 16(ivec3) 17(ivec4) - 19: TypePointer Uniform 18($Global) - 20: 19(ptr) Variable Uniform - 21: 14(int) Constant 0 - 22: TypePointer Uniform 14(int) - 26: TypeVector 6(float) 4 - 29: TypePointer Function 14(int) - 31: TypeImage 14(int) Buffer sampled format:R32i - 32: TypeSampledImage 31 - 33: TypePointer UniformConstant 32 - 34(g_tTexbis): 33(ptr) Variable UniformConstant - 41: TypeInt 32 0 - 42: TypePointer Function 41(int) - 44: TypeImage 41(int) Buffer sampled format:R32ui - 45: TypeSampledImage 44 - 46: TypePointer UniformConstant 45 - 47(g_tTexbus): 46(ptr) Variable UniformConstant - 52: TypeVector 41(int) 4 - 55(PS_OUTPUT): TypeStruct 26(fvec4) 6(float) - 56: TypePointer Function 55(PS_OUTPUT) - 58: 6(float) Constant 1065353216 - 59: 26(fvec4) ConstantComposite 58 58 58 58 - 60: TypePointer Function 26(fvec4) - 62: 14(int) Constant 1 - 64: TypePointer Output 26(fvec4) - 65(Color): 64(ptr) Variable Output - 68: TypePointer Output 6(float) - 69(Depth): 68(ptr) Variable Output -73(g_tTexbfs_test): 11(ptr) Variable UniformConstant + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 6(float) + 14: TypeImage 6(float) Buffer sampled format:R32f + 15: TypeSampledImage 14 + 16: TypePointer UniformConstant 15 + 17(g_tTexbfs): 16(ptr) Variable UniformConstant + 19: TypeInt 32 1 + 20: TypeVector 19(int) 2 + 21: TypeVector 19(int) 3 + 22: TypeVector 19(int) 4 + 23($Global): TypeStruct 19(int) 20(ivec2) 21(ivec3) 22(ivec4) 19(int) 20(ivec2) 21(ivec3) 22(ivec4) + 24: TypePointer Uniform 23($Global) + 25: 24(ptr) Variable Uniform + 26: 19(int) Constant 0 + 27: TypePointer Uniform 19(int) + 33: TypePointer Function 19(int) + 35: TypeImage 19(int) Buffer sampled format:R32i + 36: TypeSampledImage 35 + 37: TypePointer UniformConstant 36 + 38(g_tTexbis): 37(ptr) Variable UniformConstant + 45: TypeInt 32 0 + 46: TypePointer Function 45(int) + 48: TypeImage 45(int) Buffer sampled format:R32ui + 49: TypeSampledImage 48 + 50: TypePointer UniformConstant 49 + 51(g_tTexbus): 50(ptr) Variable UniformConstant + 56: TypeVector 45(int) 4 + 59: TypePointer Function 8(PS_OUTPUT) + 61: 6(float) Constant 1065353216 + 62: 7(fvec4) ConstantComposite 61 61 61 61 + 63: TypePointer Function 7(fvec4) + 65: 19(int) Constant 1 + 72: TypePointer Output 7(fvec4) + 73(Color): 72(ptr) Variable Output + 76: TypePointer Output 6(float) + 77(Depth): 76(ptr) Variable Output +80(g_tTexbfs_test): 16(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 8(r00): 7(ptr) Variable Function - 30(r01): 29(ptr) Variable Function - 43(r02): 42(ptr) Variable Function - 57(psout): 56(ptr) Variable Function - 13: 10 Load 12(g_tTexbfs) - 23: 22(ptr) AccessChain 20 21 - 24: 14(int) Load 23 - 25: 9 Image 13 - 27: 26(fvec4) ImageFetch 25 24 - 28: 6(float) CompositeExtract 27 0 - Store 8(r00) 28 - 35: 32 Load 34(g_tTexbis) - 36: 22(ptr) AccessChain 20 21 - 37: 14(int) Load 36 - 38: 31 Image 35 - 39: 17(ivec4) ImageFetch 38 37 - 40: 14(int) CompositeExtract 39 0 - Store 30(r01) 40 - 48: 45 Load 47(g_tTexbus) - 49: 22(ptr) AccessChain 20 21 - 50: 14(int) Load 49 - 51: 44 Image 48 - 53: 52(ivec4) ImageFetch 51 50 - 54: 41(int) CompositeExtract 53 0 - Store 43(r02) 54 - 61: 60(ptr) AccessChain 57(psout) 21 - Store 61 59 - 63: 7(ptr) AccessChain 57(psout) 62 - Store 63 58 - 66: 60(ptr) AccessChain 57(psout) 21 - 67: 26(fvec4) Load 66 - Store 65(Color) 67 - 70: 7(ptr) AccessChain 57(psout) 62 - 71: 6(float) Load 70 - Store 69(Depth) 71 + 70(flattenTemp): 59(ptr) Variable Function + 71:8(PS_OUTPUT) FunctionCall 10(@main() + Store 70(flattenTemp) 71 + 74: 63(ptr) AccessChain 70(flattenTemp) 26 + 75: 7(fvec4) Load 74 + Store 73(Color) 75 + 78: 12(ptr) AccessChain 70(flattenTemp) 65 + 79: 6(float) Load 78 + Store 77(Depth) 79 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(r00): 12(ptr) Variable Function + 34(r01): 33(ptr) Variable Function + 47(r02): 46(ptr) Variable Function + 60(psout): 59(ptr) Variable Function + 18: 15 Load 17(g_tTexbfs) + 28: 27(ptr) AccessChain 25 26 + 29: 19(int) Load 28 + 30: 14 Image 18 + 31: 7(fvec4) ImageFetch 30 29 + 32: 6(float) CompositeExtract 31 0 + Store 13(r00) 32 + 39: 36 Load 38(g_tTexbis) + 40: 27(ptr) AccessChain 25 26 + 41: 19(int) Load 40 + 42: 35 Image 39 + 43: 22(ivec4) ImageFetch 42 41 + 44: 19(int) CompositeExtract 43 0 + Store 34(r01) 44 + 52: 49 Load 51(g_tTexbus) + 53: 27(ptr) AccessChain 25 26 + 54: 19(int) Load 53 + 55: 48 Image 52 + 57: 56(ivec4) ImageFetch 55 54 + 58: 45(int) CompositeExtract 57 0 + Store 47(r02) 58 + 64: 63(ptr) AccessChain 60(psout) 26 + Store 64 62 + 66: 12(ptr) AccessChain 60(psout) 65 + Store 66 61 + 67:8(PS_OUTPUT) Load 60(psout) + ReturnValue 67 + FunctionEnd diff --git a/Test/baseResults/hlsl.load.offset.dx10.frag.out b/Test/baseResults/hlsl.load.offset.dx10.frag.out index 9a14b658..f75d3955 100644 --- a/Test/baseResults/hlsl.load.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.load.offset.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.load.offset.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:48 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:48 Function Parameters: 0:? Sequence 0:52 textureFetchOffset (temp 4-component vector of float) @@ -229,24 +229,28 @@ gl_FragCoord origin is upper left 0:73 1 (const int) 0:73 Constant: 0:73 1.000000 -0:75 Sequence -0:75 Sequence -0:75 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:75 Color: direct index for structure (temp 4-component vector of float) -0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:75 Constant: -0:75 0 (const int) -0:75 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:75 Depth: direct index for structure (temp float) -0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:75 Constant: -0:75 1 (const int) -0:75 Branch: Return +0:75 Branch: Return with expression +0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Function Definition: main( (temp void) +0:48 Function Parameters: +0:? Sequence +0:48 Sequence +0:48 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:48 Color: direct index for structure (temp 4-component vector of float) +0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Constant: +0:48 0 (const int) +0:48 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:48 Depth: direct index for structure (temp float) +0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Constant: +0:48 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -269,6 +273,8 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) @@ -278,7 +284,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:48 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:48 Function Parameters: 0:? Sequence 0:52 textureFetchOffset (temp 4-component vector of float) @@ -505,24 +511,28 @@ gl_FragCoord origin is upper left 0:73 1 (const int) 0:73 Constant: 0:73 1.000000 -0:75 Sequence -0:75 Sequence -0:75 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:75 Color: direct index for structure (temp 4-component vector of float) -0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:75 Constant: -0:75 0 (const int) -0:75 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:75 Depth: direct index for structure (temp float) -0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:75 Constant: -0:75 1 (const int) -0:75 Branch: Return +0:75 Branch: Return with expression +0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Function Definition: main( (temp void) +0:48 Function Parameters: +0:? Sequence +0:48 Sequence +0:48 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:48 Color: direct index for structure (temp 4-component vector of float) +0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Constant: +0:48 0 (const int) +0:48 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:48 Depth: direct index for structure (temp float) +0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Constant: +0:48 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -545,11 +555,13 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 194 +// Id's are bound by 201 Capability Shader Capability ImageGatherExtended @@ -557,277 +569,288 @@ gl_FragCoord origin is upper left Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 147 151 + EntryPoint Fragment 4 "main" 155 159 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "g_tTex1df4" - Name 15 "$Global" - MemberName 15($Global) 0 "c1" - MemberName 15($Global) 1 "c2" - MemberName 15($Global) 2 "c3" - MemberName 15($Global) 3 "c4" - MemberName 15($Global) 4 "o1" - MemberName 15($Global) 5 "o2" - MemberName 15($Global) 6 "o3" - MemberName 15($Global) 7 "o4" - Name 17 "" - Name 34 "g_tTex1di4" - Name 45 "g_tTex1du4" - Name 57 "g_tTex2df4" - Name 74 "g_tTex2di4" - Name 86 "g_tTex2du4" - Name 98 "g_tTex3df4" - Name 114 "g_tTex3di4" - Name 126 "g_tTex3du4" - Name 136 "PS_OUTPUT" - MemberName 136(PS_OUTPUT) 0 "Color" - MemberName 136(PS_OUTPUT) 1 "Depth" - Name 138 "psout" - Name 147 "Color" - Name 151 "Depth" - Name 157 "g_sSamp" - Name 160 "g_tTexcdf4" - Name 163 "g_tTexcdi4" - Name 166 "g_tTexcdu4" - Name 169 "g_tTex1df4a" - Name 172 "g_tTex1di4a" - Name 175 "g_tTex1du4a" - Name 178 "g_tTex2df4a" - Name 181 "g_tTex2di4a" - Name 184 "g_tTex2du4a" - Name 187 "g_tTexcdf4a" - Name 190 "g_tTexcdi4a" - Name 193 "g_tTexcdu4a" - Decorate 9(g_tTex1df4) DescriptorSet 0 - Decorate 9(g_tTex1df4) Binding 0 - MemberDecorate 15($Global) 0 Offset 0 - MemberDecorate 15($Global) 1 Offset 8 - MemberDecorate 15($Global) 2 Offset 16 - MemberDecorate 15($Global) 3 Offset 32 - MemberDecorate 15($Global) 4 Offset 48 - MemberDecorate 15($Global) 5 Offset 56 - MemberDecorate 15($Global) 6 Offset 64 - MemberDecorate 15($Global) 7 Offset 80 - Decorate 15($Global) Block - Decorate 17 DescriptorSet 0 - Decorate 34(g_tTex1di4) DescriptorSet 0 - Decorate 45(g_tTex1du4) DescriptorSet 0 - Decorate 57(g_tTex2df4) DescriptorSet 0 - Decorate 74(g_tTex2di4) DescriptorSet 0 - Decorate 86(g_tTex2du4) DescriptorSet 0 - Decorate 98(g_tTex3df4) DescriptorSet 0 - Decorate 114(g_tTex3di4) DescriptorSet 0 - Decorate 126(g_tTex3du4) DescriptorSet 0 - Decorate 147(Color) Location 0 - Decorate 151(Depth) BuiltIn FragDepth - Decorate 157(g_sSamp) DescriptorSet 0 - Decorate 157(g_sSamp) Binding 0 - Decorate 160(g_tTexcdf4) DescriptorSet 0 - Decorate 163(g_tTexcdi4) DescriptorSet 0 - Decorate 166(g_tTexcdu4) DescriptorSet 0 - Decorate 169(g_tTex1df4a) DescriptorSet 0 - Decorate 172(g_tTex1di4a) DescriptorSet 0 - Decorate 175(g_tTex1du4a) DescriptorSet 0 - Decorate 178(g_tTex2df4a) DescriptorSet 0 - Decorate 181(g_tTex2di4a) DescriptorSet 0 - Decorate 184(g_tTex2du4a) DescriptorSet 0 - Decorate 187(g_tTexcdf4a) DescriptorSet 0 - Decorate 190(g_tTexcdi4a) DescriptorSet 0 - Decorate 193(g_tTexcdu4a) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 14 "g_tTex1df4" + Name 20 "$Global" + MemberName 20($Global) 0 "c1" + MemberName 20($Global) 1 "c2" + MemberName 20($Global) 2 "c3" + MemberName 20($Global) 3 "c4" + MemberName 20($Global) 4 "o1" + MemberName 20($Global) 5 "o2" + MemberName 20($Global) 6 "o3" + MemberName 20($Global) 7 "o4" + Name 22 "" + Name 38 "g_tTex1di4" + Name 49 "g_tTex1du4" + Name 61 "g_tTex2df4" + Name 78 "g_tTex2di4" + Name 90 "g_tTex2du4" + Name 102 "g_tTex3df4" + Name 118 "g_tTex3di4" + Name 130 "g_tTex3du4" + Name 141 "psout" + Name 152 "flattenTemp" + Name 155 "Color" + Name 159 "Depth" + Name 164 "g_sSamp" + Name 167 "g_tTexcdf4" + Name 170 "g_tTexcdi4" + Name 173 "g_tTexcdu4" + Name 176 "g_tTex1df4a" + Name 179 "g_tTex1di4a" + Name 182 "g_tTex1du4a" + Name 185 "g_tTex2df4a" + Name 188 "g_tTex2di4a" + Name 191 "g_tTex2du4a" + Name 194 "g_tTexcdf4a" + Name 197 "g_tTexcdi4a" + Name 200 "g_tTexcdu4a" + Decorate 14(g_tTex1df4) DescriptorSet 0 + Decorate 14(g_tTex1df4) Binding 0 + MemberDecorate 20($Global) 0 Offset 0 + MemberDecorate 20($Global) 1 Offset 8 + MemberDecorate 20($Global) 2 Offset 16 + MemberDecorate 20($Global) 3 Offset 32 + MemberDecorate 20($Global) 4 Offset 48 + MemberDecorate 20($Global) 5 Offset 56 + MemberDecorate 20($Global) 6 Offset 64 + MemberDecorate 20($Global) 7 Offset 80 + Decorate 20($Global) Block + Decorate 22 DescriptorSet 0 + Decorate 38(g_tTex1di4) DescriptorSet 0 + Decorate 49(g_tTex1du4) DescriptorSet 0 + Decorate 61(g_tTex2df4) DescriptorSet 0 + Decorate 78(g_tTex2di4) DescriptorSet 0 + Decorate 90(g_tTex2du4) DescriptorSet 0 + Decorate 102(g_tTex3df4) DescriptorSet 0 + Decorate 118(g_tTex3di4) DescriptorSet 0 + Decorate 130(g_tTex3du4) DescriptorSet 0 + Decorate 155(Color) Location 0 + Decorate 159(Depth) BuiltIn FragDepth + Decorate 164(g_sSamp) DescriptorSet 0 + Decorate 164(g_sSamp) Binding 0 + Decorate 167(g_tTexcdf4) DescriptorSet 0 + Decorate 170(g_tTexcdi4) DescriptorSet 0 + Decorate 173(g_tTexcdu4) DescriptorSet 0 + Decorate 176(g_tTex1df4a) DescriptorSet 0 + Decorate 179(g_tTex1di4a) DescriptorSet 0 + Decorate 182(g_tTex1du4a) DescriptorSet 0 + Decorate 185(g_tTex2df4a) DescriptorSet 0 + Decorate 188(g_tTex2di4a) DescriptorSet 0 + Decorate 191(g_tTex2du4a) DescriptorSet 0 + Decorate 194(g_tTexcdf4a) DescriptorSet 0 + Decorate 197(g_tTexcdi4a) DescriptorSet 0 + Decorate 200(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypeImage 6(float) 1D sampled format:Unknown - 8: TypePointer UniformConstant 7 - 9(g_tTex1df4): 8(ptr) Variable UniformConstant - 11: TypeInt 32 1 - 12: TypeVector 11(int) 2 - 13: TypeVector 11(int) 3 - 14: TypeVector 11(int) 4 - 15($Global): TypeStruct 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 11(int) 12(ivec2) 13(ivec3) 14(ivec4) - 16: TypePointer Uniform 15($Global) - 17: 16(ptr) Variable Uniform - 18: 11(int) Constant 1 - 19: TypeInt 32 0 - 20: 19(int) Constant 0 - 21: TypePointer Uniform 11(int) - 24: 19(int) Constant 1 - 27: 11(int) Constant 4 - 30: TypeVector 6(float) 4 - 32: TypeImage 11(int) 1D sampled format:Unknown - 33: TypePointer UniformConstant 32 - 34(g_tTex1di4): 33(ptr) Variable UniformConstant - 43: TypeImage 19(int) 1D sampled format:Unknown - 44: TypePointer UniformConstant 43 - 45(g_tTex1du4): 44(ptr) Variable UniformConstant - 53: TypeVector 19(int) 4 - 55: TypeImage 6(float) 2D sampled format:Unknown - 56: TypePointer UniformConstant 55 - 57(g_tTex2df4): 56(ptr) Variable UniformConstant - 59: 11(int) Constant 2 - 60: TypePointer Uniform 13(ivec3) - 64: 19(int) Constant 2 - 67: 11(int) Constant 5 - 68: TypePointer Uniform 12(ivec2) - 72: TypeImage 11(int) 2D sampled format:Unknown - 73: TypePointer UniformConstant 72 - 74(g_tTex2di4): 73(ptr) Variable UniformConstant - 84: TypeImage 19(int) 2D sampled format:Unknown - 85: TypePointer UniformConstant 84 - 86(g_tTex2du4): 85(ptr) Variable UniformConstant - 96: TypeImage 6(float) 3D sampled format:Unknown - 97: TypePointer UniformConstant 96 - 98(g_tTex3df4): 97(ptr) Variable UniformConstant - 100: 11(int) Constant 3 - 101: TypePointer Uniform 14(ivec4) - 105: 19(int) Constant 3 - 108: 11(int) Constant 6 - 112: TypeImage 11(int) 3D sampled format:Unknown - 113: TypePointer UniformConstant 112 - 114(g_tTex3di4): 113(ptr) Variable UniformConstant - 124: TypeImage 19(int) 3D sampled format:Unknown - 125: TypePointer UniformConstant 124 - 126(g_tTex3du4): 125(ptr) Variable UniformConstant - 136(PS_OUTPUT): TypeStruct 30(fvec4) 6(float) - 137: TypePointer Function 136(PS_OUTPUT) - 139: 11(int) Constant 0 - 140: 6(float) Constant 1065353216 - 141: 30(fvec4) ConstantComposite 140 140 140 140 - 142: TypePointer Function 30(fvec4) - 144: TypePointer Function 6(float) - 146: TypePointer Output 30(fvec4) - 147(Color): 146(ptr) Variable Output - 150: TypePointer Output 6(float) - 151(Depth): 150(ptr) Variable Output - 155: TypeSampler - 156: TypePointer UniformConstant 155 - 157(g_sSamp): 156(ptr) Variable UniformConstant - 158: TypeImage 6(float) Cube sampled format:Unknown - 159: TypePointer UniformConstant 158 - 160(g_tTexcdf4): 159(ptr) Variable UniformConstant - 161: TypeImage 11(int) Cube sampled format:Unknown - 162: TypePointer UniformConstant 161 - 163(g_tTexcdi4): 162(ptr) Variable UniformConstant - 164: TypeImage 19(int) Cube sampled format:Unknown - 165: TypePointer UniformConstant 164 - 166(g_tTexcdu4): 165(ptr) Variable UniformConstant - 167: TypeImage 6(float) 1D array sampled format:Unknown - 168: TypePointer UniformConstant 167 -169(g_tTex1df4a): 168(ptr) Variable UniformConstant - 170: TypeImage 11(int) 1D array sampled format:Unknown - 171: TypePointer UniformConstant 170 -172(g_tTex1di4a): 171(ptr) Variable UniformConstant - 173: TypeImage 19(int) 1D array sampled format:Unknown - 174: TypePointer UniformConstant 173 -175(g_tTex1du4a): 174(ptr) Variable UniformConstant - 176: TypeImage 6(float) 2D array sampled format:Unknown - 177: TypePointer UniformConstant 176 -178(g_tTex2df4a): 177(ptr) Variable UniformConstant - 179: TypeImage 11(int) 2D array sampled format:Unknown - 180: TypePointer UniformConstant 179 -181(g_tTex2di4a): 180(ptr) Variable UniformConstant - 182: TypeImage 19(int) 2D array sampled format:Unknown - 183: TypePointer UniformConstant 182 -184(g_tTex2du4a): 183(ptr) Variable UniformConstant - 185: TypeImage 6(float) Cube array sampled format:Unknown - 186: TypePointer UniformConstant 185 -187(g_tTexcdf4a): 186(ptr) Variable UniformConstant - 188: TypeImage 11(int) Cube array sampled format:Unknown - 189: TypePointer UniformConstant 188 -190(g_tTexcdi4a): 189(ptr) Variable UniformConstant - 191: TypeImage 19(int) Cube array sampled format:Unknown - 192: TypePointer UniformConstant 191 -193(g_tTexcdu4a): 192(ptr) Variable UniformConstant + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypeImage 6(float) 1D sampled format:Unknown + 13: TypePointer UniformConstant 12 + 14(g_tTex1df4): 13(ptr) Variable UniformConstant + 16: TypeInt 32 1 + 17: TypeVector 16(int) 2 + 18: TypeVector 16(int) 3 + 19: TypeVector 16(int) 4 + 20($Global): TypeStruct 16(int) 17(ivec2) 18(ivec3) 19(ivec4) 16(int) 17(ivec2) 18(ivec3) 19(ivec4) + 21: TypePointer Uniform 20($Global) + 22: 21(ptr) Variable Uniform + 23: 16(int) Constant 1 + 24: TypeInt 32 0 + 25: 24(int) Constant 0 + 26: TypePointer Uniform 16(int) + 29: 24(int) Constant 1 + 32: 16(int) Constant 4 + 36: TypeImage 16(int) 1D sampled format:Unknown + 37: TypePointer UniformConstant 36 + 38(g_tTex1di4): 37(ptr) Variable UniformConstant + 47: TypeImage 24(int) 1D sampled format:Unknown + 48: TypePointer UniformConstant 47 + 49(g_tTex1du4): 48(ptr) Variable UniformConstant + 57: TypeVector 24(int) 4 + 59: TypeImage 6(float) 2D sampled format:Unknown + 60: TypePointer UniformConstant 59 + 61(g_tTex2df4): 60(ptr) Variable UniformConstant + 63: 16(int) Constant 2 + 64: TypePointer Uniform 18(ivec3) + 68: 24(int) Constant 2 + 71: 16(int) Constant 5 + 72: TypePointer Uniform 17(ivec2) + 76: TypeImage 16(int) 2D sampled format:Unknown + 77: TypePointer UniformConstant 76 + 78(g_tTex2di4): 77(ptr) Variable UniformConstant + 88: TypeImage 24(int) 2D sampled format:Unknown + 89: TypePointer UniformConstant 88 + 90(g_tTex2du4): 89(ptr) Variable UniformConstant + 100: TypeImage 6(float) 3D sampled format:Unknown + 101: TypePointer UniformConstant 100 + 102(g_tTex3df4): 101(ptr) Variable UniformConstant + 104: 16(int) Constant 3 + 105: TypePointer Uniform 19(ivec4) + 109: 24(int) Constant 3 + 112: 16(int) Constant 6 + 116: TypeImage 16(int) 3D sampled format:Unknown + 117: TypePointer UniformConstant 116 + 118(g_tTex3di4): 117(ptr) Variable UniformConstant + 128: TypeImage 24(int) 3D sampled format:Unknown + 129: TypePointer UniformConstant 128 + 130(g_tTex3du4): 129(ptr) Variable UniformConstant + 140: TypePointer Function 8(PS_OUTPUT) + 142: 16(int) Constant 0 + 143: 6(float) Constant 1065353216 + 144: 7(fvec4) ConstantComposite 143 143 143 143 + 145: TypePointer Function 7(fvec4) + 147: TypePointer Function 6(float) + 154: TypePointer Output 7(fvec4) + 155(Color): 154(ptr) Variable Output + 158: TypePointer Output 6(float) + 159(Depth): 158(ptr) Variable Output + 162: TypeSampler + 163: TypePointer UniformConstant 162 + 164(g_sSamp): 163(ptr) Variable UniformConstant + 165: TypeImage 6(float) Cube sampled format:Unknown + 166: TypePointer UniformConstant 165 + 167(g_tTexcdf4): 166(ptr) Variable UniformConstant + 168: TypeImage 16(int) Cube sampled format:Unknown + 169: TypePointer UniformConstant 168 + 170(g_tTexcdi4): 169(ptr) Variable UniformConstant + 171: TypeImage 24(int) Cube sampled format:Unknown + 172: TypePointer UniformConstant 171 + 173(g_tTexcdu4): 172(ptr) Variable UniformConstant + 174: TypeImage 6(float) 1D array sampled format:Unknown + 175: TypePointer UniformConstant 174 +176(g_tTex1df4a): 175(ptr) Variable UniformConstant + 177: TypeImage 16(int) 1D array sampled format:Unknown + 178: TypePointer UniformConstant 177 +179(g_tTex1di4a): 178(ptr) Variable UniformConstant + 180: TypeImage 24(int) 1D array sampled format:Unknown + 181: TypePointer UniformConstant 180 +182(g_tTex1du4a): 181(ptr) Variable UniformConstant + 183: TypeImage 6(float) 2D array sampled format:Unknown + 184: TypePointer UniformConstant 183 +185(g_tTex2df4a): 184(ptr) Variable UniformConstant + 186: TypeImage 16(int) 2D array sampled format:Unknown + 187: TypePointer UniformConstant 186 +188(g_tTex2di4a): 187(ptr) Variable UniformConstant + 189: TypeImage 24(int) 2D array sampled format:Unknown + 190: TypePointer UniformConstant 189 +191(g_tTex2du4a): 190(ptr) Variable UniformConstant + 192: TypeImage 6(float) Cube array sampled format:Unknown + 193: TypePointer UniformConstant 192 +194(g_tTexcdf4a): 193(ptr) Variable UniformConstant + 195: TypeImage 16(int) Cube array sampled format:Unknown + 196: TypePointer UniformConstant 195 +197(g_tTexcdi4a): 196(ptr) Variable UniformConstant + 198: TypeImage 24(int) Cube array sampled format:Unknown + 199: TypePointer UniformConstant 198 +200(g_tTexcdu4a): 199(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 138(psout): 137(ptr) Variable Function - 10: 7 Load 9(g_tTex1df4) - 22: 21(ptr) AccessChain 17 18 20 - 23: 11(int) Load 22 - 25: 21(ptr) AccessChain 17 18 24 - 26: 11(int) Load 25 - 28: 21(ptr) AccessChain 17 27 - 29: 11(int) Load 28 - 31: 30(fvec4) ImageFetch 10 23 Lod Offset 26 29 - 35: 32 Load 34(g_tTex1di4) - 36: 21(ptr) AccessChain 17 18 20 - 37: 11(int) Load 36 - 38: 21(ptr) AccessChain 17 18 24 - 39: 11(int) Load 38 - 40: 21(ptr) AccessChain 17 27 - 41: 11(int) Load 40 - 42: 14(ivec4) ImageFetch 35 37 Lod Offset 39 41 - 46: 43 Load 45(g_tTex1du4) - 47: 21(ptr) AccessChain 17 18 20 - 48: 11(int) Load 47 - 49: 21(ptr) AccessChain 17 18 24 - 50: 11(int) Load 49 - 51: 21(ptr) AccessChain 17 27 - 52: 11(int) Load 51 - 54: 53(ivec4) ImageFetch 46 48 Lod Offset 50 52 - 58: 55 Load 57(g_tTex2df4) - 61: 60(ptr) AccessChain 17 59 - 62: 13(ivec3) Load 61 - 63: 12(ivec2) VectorShuffle 62 62 0 1 - 65: 21(ptr) AccessChain 17 59 64 - 66: 11(int) Load 65 - 69: 68(ptr) AccessChain 17 67 - 70: 12(ivec2) Load 69 - 71: 30(fvec4) ImageFetch 58 63 Lod Offset 66 70 - 75: 72 Load 74(g_tTex2di4) - 76: 60(ptr) AccessChain 17 59 - 77: 13(ivec3) Load 76 - 78: 12(ivec2) VectorShuffle 77 77 0 1 - 79: 21(ptr) AccessChain 17 59 64 - 80: 11(int) Load 79 - 81: 68(ptr) AccessChain 17 67 - 82: 12(ivec2) Load 81 - 83: 14(ivec4) ImageFetch 75 78 Lod Offset 80 82 - 87: 84 Load 86(g_tTex2du4) - 88: 60(ptr) AccessChain 17 59 - 89: 13(ivec3) Load 88 - 90: 12(ivec2) VectorShuffle 89 89 0 1 - 91: 21(ptr) AccessChain 17 59 64 - 92: 11(int) Load 91 - 93: 68(ptr) AccessChain 17 67 - 94: 12(ivec2) Load 93 - 95: 53(ivec4) ImageFetch 87 90 Lod Offset 92 94 - 99: 96 Load 98(g_tTex3df4) - 102: 101(ptr) AccessChain 17 100 - 103: 14(ivec4) Load 102 - 104: 13(ivec3) VectorShuffle 103 103 0 1 2 - 106: 21(ptr) AccessChain 17 100 105 - 107: 11(int) Load 106 - 109: 60(ptr) AccessChain 17 108 - 110: 13(ivec3) Load 109 - 111: 30(fvec4) ImageFetch 99 104 Lod Offset 107 110 - 115: 112 Load 114(g_tTex3di4) - 116: 101(ptr) AccessChain 17 100 - 117: 14(ivec4) Load 116 - 118: 13(ivec3) VectorShuffle 117 117 0 1 2 - 119: 21(ptr) AccessChain 17 100 105 - 120: 11(int) Load 119 - 121: 60(ptr) AccessChain 17 108 - 122: 13(ivec3) Load 121 - 123: 14(ivec4) ImageFetch 115 118 Lod Offset 120 122 - 127: 124 Load 126(g_tTex3du4) - 128: 101(ptr) AccessChain 17 100 - 129: 14(ivec4) Load 128 - 130: 13(ivec3) VectorShuffle 129 129 0 1 2 - 131: 21(ptr) AccessChain 17 100 105 - 132: 11(int) Load 131 - 133: 60(ptr) AccessChain 17 108 - 134: 13(ivec3) Load 133 - 135: 53(ivec4) ImageFetch 127 130 Lod Offset 132 134 - 143: 142(ptr) AccessChain 138(psout) 139 - Store 143 141 - 145: 144(ptr) AccessChain 138(psout) 18 - Store 145 140 - 148: 142(ptr) AccessChain 138(psout) 139 - 149: 30(fvec4) Load 148 - Store 147(Color) 149 - 152: 144(ptr) AccessChain 138(psout) 18 - 153: 6(float) Load 152 - Store 151(Depth) 153 +152(flattenTemp): 140(ptr) Variable Function + 153:8(PS_OUTPUT) FunctionCall 10(@main() + Store 152(flattenTemp) 153 + 156: 145(ptr) AccessChain 152(flattenTemp) 142 + 157: 7(fvec4) Load 156 + Store 155(Color) 157 + 160: 147(ptr) AccessChain 152(flattenTemp) 23 + 161: 6(float) Load 160 + Store 159(Depth) 161 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 141(psout): 140(ptr) Variable Function + 15: 12 Load 14(g_tTex1df4) + 27: 26(ptr) AccessChain 22 23 25 + 28: 16(int) Load 27 + 30: 26(ptr) AccessChain 22 23 29 + 31: 16(int) Load 30 + 33: 26(ptr) AccessChain 22 32 + 34: 16(int) Load 33 + 35: 7(fvec4) ImageFetch 15 28 Lod Offset 31 34 + 39: 36 Load 38(g_tTex1di4) + 40: 26(ptr) AccessChain 22 23 25 + 41: 16(int) Load 40 + 42: 26(ptr) AccessChain 22 23 29 + 43: 16(int) Load 42 + 44: 26(ptr) AccessChain 22 32 + 45: 16(int) Load 44 + 46: 19(ivec4) ImageFetch 39 41 Lod Offset 43 45 + 50: 47 Load 49(g_tTex1du4) + 51: 26(ptr) AccessChain 22 23 25 + 52: 16(int) Load 51 + 53: 26(ptr) AccessChain 22 23 29 + 54: 16(int) Load 53 + 55: 26(ptr) AccessChain 22 32 + 56: 16(int) Load 55 + 58: 57(ivec4) ImageFetch 50 52 Lod Offset 54 56 + 62: 59 Load 61(g_tTex2df4) + 65: 64(ptr) AccessChain 22 63 + 66: 18(ivec3) Load 65 + 67: 17(ivec2) VectorShuffle 66 66 0 1 + 69: 26(ptr) AccessChain 22 63 68 + 70: 16(int) Load 69 + 73: 72(ptr) AccessChain 22 71 + 74: 17(ivec2) Load 73 + 75: 7(fvec4) ImageFetch 62 67 Lod Offset 70 74 + 79: 76 Load 78(g_tTex2di4) + 80: 64(ptr) AccessChain 22 63 + 81: 18(ivec3) Load 80 + 82: 17(ivec2) VectorShuffle 81 81 0 1 + 83: 26(ptr) AccessChain 22 63 68 + 84: 16(int) Load 83 + 85: 72(ptr) AccessChain 22 71 + 86: 17(ivec2) Load 85 + 87: 19(ivec4) ImageFetch 79 82 Lod Offset 84 86 + 91: 88 Load 90(g_tTex2du4) + 92: 64(ptr) AccessChain 22 63 + 93: 18(ivec3) Load 92 + 94: 17(ivec2) VectorShuffle 93 93 0 1 + 95: 26(ptr) AccessChain 22 63 68 + 96: 16(int) Load 95 + 97: 72(ptr) AccessChain 22 71 + 98: 17(ivec2) Load 97 + 99: 57(ivec4) ImageFetch 91 94 Lod Offset 96 98 + 103: 100 Load 102(g_tTex3df4) + 106: 105(ptr) AccessChain 22 104 + 107: 19(ivec4) Load 106 + 108: 18(ivec3) VectorShuffle 107 107 0 1 2 + 110: 26(ptr) AccessChain 22 104 109 + 111: 16(int) Load 110 + 113: 64(ptr) AccessChain 22 112 + 114: 18(ivec3) Load 113 + 115: 7(fvec4) ImageFetch 103 108 Lod Offset 111 114 + 119: 116 Load 118(g_tTex3di4) + 120: 105(ptr) AccessChain 22 104 + 121: 19(ivec4) Load 120 + 122: 18(ivec3) VectorShuffle 121 121 0 1 2 + 123: 26(ptr) AccessChain 22 104 109 + 124: 16(int) Load 123 + 125: 64(ptr) AccessChain 22 112 + 126: 18(ivec3) Load 125 + 127: 19(ivec4) ImageFetch 119 122 Lod Offset 124 126 + 131: 128 Load 130(g_tTex3du4) + 132: 105(ptr) AccessChain 22 104 + 133: 19(ivec4) Load 132 + 134: 18(ivec3) VectorShuffle 133 133 0 1 2 + 135: 26(ptr) AccessChain 22 104 109 + 136: 16(int) Load 135 + 137: 64(ptr) AccessChain 22 112 + 138: 18(ivec3) Load 137 + 139: 57(ivec4) ImageFetch 131 134 Lod Offset 136 138 + 146: 145(ptr) AccessChain 141(psout) 142 + Store 146 144 + 148: 147(ptr) AccessChain 141(psout) 23 + Store 148 143 + 149:8(PS_OUTPUT) Load 141(psout) + ReturnValue 149 + FunctionEnd diff --git a/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out index fb58eff3..86576a1d 100644 --- a/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.load.offsetarray.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:48 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:48 Function Parameters: 0:? Sequence 0:52 textureFetchOffset (temp 4-component vector of float) @@ -166,24 +166,28 @@ gl_FragCoord origin is upper left 0:66 1 (const int) 0:66 Constant: 0:66 1.000000 -0:68 Sequence -0:68 Sequence -0:68 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:68 Color: direct index for structure (temp 4-component vector of float) -0:68 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:68 Constant: -0:68 0 (const int) -0:68 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:68 Depth: direct index for structure (temp float) -0:68 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:68 Constant: -0:68 1 (const int) -0:68 Branch: Return +0:68 Branch: Return with expression +0:68 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Function Definition: main( (temp void) +0:48 Function Parameters: +0:? Sequence +0:48 Sequence +0:48 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:48 Color: direct index for structure (temp 4-component vector of float) +0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Constant: +0:48 0 (const int) +0:48 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:48 Depth: direct index for structure (temp float) +0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Constant: +0:48 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -206,6 +210,8 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) @@ -215,7 +221,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:48 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:48 Function Parameters: 0:? Sequence 0:52 textureFetchOffset (temp 4-component vector of float) @@ -379,24 +385,28 @@ gl_FragCoord origin is upper left 0:66 1 (const int) 0:66 Constant: 0:66 1.000000 -0:68 Sequence -0:68 Sequence -0:68 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:68 Color: direct index for structure (temp 4-component vector of float) -0:68 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:68 Constant: -0:68 0 (const int) -0:68 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:68 Depth: direct index for structure (temp float) -0:68 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:68 Constant: -0:68 1 (const int) -0:68 Branch: Return +0:68 Branch: Return with expression +0:68 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Function Definition: main( (temp void) +0:48 Function Parameters: +0:? Sequence +0:48 Sequence +0:48 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:48 Color: direct index for structure (temp 4-component vector of float) +0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Constant: +0:48 0 (const int) +0:48 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:48 Depth: direct index for structure (temp float) +0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Constant: +0:48 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -419,11 +429,13 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 167 +// Id's are bound by 174 Capability Shader Capability ImageGatherExtended @@ -431,250 +443,261 @@ gl_FragCoord origin is upper left Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 111 115 + EntryPoint Fragment 4 "main" 119 123 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "g_tTex1df4a" - Name 15 "$Global" - MemberName 15($Global) 0 "c1" - MemberName 15($Global) 1 "c2" - MemberName 15($Global) 2 "c3" - MemberName 15($Global) 3 "c4" - MemberName 15($Global) 4 "o1" - MemberName 15($Global) 5 "o2" - MemberName 15($Global) 6 "o3" - MemberName 15($Global) 7 "o4" - Name 17 "" - Name 35 "g_tTex1di4a" - Name 47 "g_tTex1du4a" - Name 60 "g_tTex2df4a" - Name 77 "g_tTex2di4a" - Name 89 "g_tTex2du4a" - Name 99 "PS_OUTPUT" - MemberName 99(PS_OUTPUT) 0 "Color" - MemberName 99(PS_OUTPUT) 1 "Depth" - Name 101 "psout" - Name 111 "Color" - Name 115 "Depth" - Name 121 "g_sSamp" - Name 124 "g_tTex1df4" - Name 127 "g_tTex1di4" - Name 130 "g_tTex1du4" - Name 133 "g_tTex2df4" - Name 136 "g_tTex2di4" - Name 139 "g_tTex2du4" - Name 142 "g_tTex3df4" - Name 145 "g_tTex3di4" - Name 148 "g_tTex3du4" - Name 151 "g_tTexcdf4" - Name 154 "g_tTexcdi4" - Name 157 "g_tTexcdu4" - Name 160 "g_tTexcdf4a" - Name 163 "g_tTexcdi4a" - Name 166 "g_tTexcdu4a" - Decorate 9(g_tTex1df4a) DescriptorSet 0 - MemberDecorate 15($Global) 0 Offset 0 - MemberDecorate 15($Global) 1 Offset 8 - MemberDecorate 15($Global) 2 Offset 16 - MemberDecorate 15($Global) 3 Offset 32 - MemberDecorate 15($Global) 4 Offset 48 - MemberDecorate 15($Global) 5 Offset 56 - MemberDecorate 15($Global) 6 Offset 64 - MemberDecorate 15($Global) 7 Offset 80 - Decorate 15($Global) Block - Decorate 17 DescriptorSet 0 - Decorate 35(g_tTex1di4a) DescriptorSet 0 - Decorate 47(g_tTex1du4a) DescriptorSet 0 - Decorate 60(g_tTex2df4a) DescriptorSet 0 - Decorate 77(g_tTex2di4a) DescriptorSet 0 - Decorate 89(g_tTex2du4a) DescriptorSet 0 - Decorate 111(Color) Location 0 - Decorate 115(Depth) BuiltIn FragDepth - Decorate 121(g_sSamp) DescriptorSet 0 - Decorate 121(g_sSamp) Binding 0 - Decorate 124(g_tTex1df4) DescriptorSet 0 - Decorate 124(g_tTex1df4) Binding 0 - Decorate 127(g_tTex1di4) DescriptorSet 0 - Decorate 130(g_tTex1du4) DescriptorSet 0 - Decorate 133(g_tTex2df4) DescriptorSet 0 - Decorate 136(g_tTex2di4) DescriptorSet 0 - Decorate 139(g_tTex2du4) DescriptorSet 0 - Decorate 142(g_tTex3df4) DescriptorSet 0 - Decorate 145(g_tTex3di4) DescriptorSet 0 - Decorate 148(g_tTex3du4) DescriptorSet 0 - Decorate 151(g_tTexcdf4) DescriptorSet 0 - Decorate 154(g_tTexcdi4) DescriptorSet 0 - Decorate 157(g_tTexcdu4) DescriptorSet 0 - Decorate 160(g_tTexcdf4a) DescriptorSet 0 - Decorate 163(g_tTexcdi4a) DescriptorSet 0 - Decorate 166(g_tTexcdu4a) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 14 "g_tTex1df4a" + Name 20 "$Global" + MemberName 20($Global) 0 "c1" + MemberName 20($Global) 1 "c2" + MemberName 20($Global) 2 "c3" + MemberName 20($Global) 3 "c4" + MemberName 20($Global) 4 "o1" + MemberName 20($Global) 5 "o2" + MemberName 20($Global) 6 "o3" + MemberName 20($Global) 7 "o4" + Name 22 "" + Name 39 "g_tTex1di4a" + Name 51 "g_tTex1du4a" + Name 64 "g_tTex2df4a" + Name 81 "g_tTex2di4a" + Name 93 "g_tTex2du4a" + Name 104 "psout" + Name 116 "flattenTemp" + Name 119 "Color" + Name 123 "Depth" + Name 128 "g_sSamp" + Name 131 "g_tTex1df4" + Name 134 "g_tTex1di4" + Name 137 "g_tTex1du4" + Name 140 "g_tTex2df4" + Name 143 "g_tTex2di4" + Name 146 "g_tTex2du4" + Name 149 "g_tTex3df4" + Name 152 "g_tTex3di4" + Name 155 "g_tTex3du4" + Name 158 "g_tTexcdf4" + Name 161 "g_tTexcdi4" + Name 164 "g_tTexcdu4" + Name 167 "g_tTexcdf4a" + Name 170 "g_tTexcdi4a" + Name 173 "g_tTexcdu4a" + Decorate 14(g_tTex1df4a) DescriptorSet 0 + MemberDecorate 20($Global) 0 Offset 0 + MemberDecorate 20($Global) 1 Offset 8 + MemberDecorate 20($Global) 2 Offset 16 + MemberDecorate 20($Global) 3 Offset 32 + MemberDecorate 20($Global) 4 Offset 48 + MemberDecorate 20($Global) 5 Offset 56 + MemberDecorate 20($Global) 6 Offset 64 + MemberDecorate 20($Global) 7 Offset 80 + Decorate 20($Global) Block + Decorate 22 DescriptorSet 0 + Decorate 39(g_tTex1di4a) DescriptorSet 0 + Decorate 51(g_tTex1du4a) DescriptorSet 0 + Decorate 64(g_tTex2df4a) DescriptorSet 0 + Decorate 81(g_tTex2di4a) DescriptorSet 0 + Decorate 93(g_tTex2du4a) DescriptorSet 0 + Decorate 119(Color) Location 0 + Decorate 123(Depth) BuiltIn FragDepth + Decorate 128(g_sSamp) DescriptorSet 0 + Decorate 128(g_sSamp) Binding 0 + Decorate 131(g_tTex1df4) DescriptorSet 0 + Decorate 131(g_tTex1df4) Binding 0 + Decorate 134(g_tTex1di4) DescriptorSet 0 + Decorate 137(g_tTex1du4) DescriptorSet 0 + Decorate 140(g_tTex2df4) DescriptorSet 0 + Decorate 143(g_tTex2di4) DescriptorSet 0 + Decorate 146(g_tTex2du4) DescriptorSet 0 + Decorate 149(g_tTex3df4) DescriptorSet 0 + Decorate 152(g_tTex3di4) DescriptorSet 0 + Decorate 155(g_tTex3du4) DescriptorSet 0 + Decorate 158(g_tTexcdf4) DescriptorSet 0 + Decorate 161(g_tTexcdi4) DescriptorSet 0 + Decorate 164(g_tTexcdu4) DescriptorSet 0 + Decorate 167(g_tTexcdf4a) DescriptorSet 0 + Decorate 170(g_tTexcdi4a) DescriptorSet 0 + Decorate 173(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypeImage 6(float) 1D array sampled format:Unknown - 8: TypePointer UniformConstant 7 - 9(g_tTex1df4a): 8(ptr) Variable UniformConstant - 11: TypeInt 32 1 - 12: TypeVector 11(int) 2 - 13: TypeVector 11(int) 3 - 14: TypeVector 11(int) 4 - 15($Global): TypeStruct 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 11(int) 12(ivec2) 13(ivec3) 14(ivec4) - 16: TypePointer Uniform 15($Global) - 17: 16(ptr) Variable Uniform - 18: 11(int) Constant 2 - 19: TypePointer Uniform 13(ivec3) - 23: TypeInt 32 0 - 24: 23(int) Constant 2 - 25: TypePointer Uniform 11(int) - 28: 11(int) Constant 4 - 31: TypeVector 6(float) 4 - 33: TypeImage 11(int) 1D array sampled format:Unknown - 34: TypePointer UniformConstant 33 - 35(g_tTex1di4a): 34(ptr) Variable UniformConstant - 45: TypeImage 23(int) 1D array sampled format:Unknown - 46: TypePointer UniformConstant 45 - 47(g_tTex1du4a): 46(ptr) Variable UniformConstant - 56: TypeVector 23(int) 4 - 58: TypeImage 6(float) 2D array sampled format:Unknown - 59: TypePointer UniformConstant 58 - 60(g_tTex2df4a): 59(ptr) Variable UniformConstant - 62: 11(int) Constant 3 - 63: TypePointer Uniform 14(ivec4) - 67: 23(int) Constant 3 - 70: 11(int) Constant 5 - 71: TypePointer Uniform 12(ivec2) - 75: TypeImage 11(int) 2D array sampled format:Unknown - 76: TypePointer UniformConstant 75 - 77(g_tTex2di4a): 76(ptr) Variable UniformConstant - 87: TypeImage 23(int) 2D array sampled format:Unknown - 88: TypePointer UniformConstant 87 - 89(g_tTex2du4a): 88(ptr) Variable UniformConstant - 99(PS_OUTPUT): TypeStruct 31(fvec4) 6(float) - 100: TypePointer Function 99(PS_OUTPUT) - 102: 11(int) Constant 0 - 103: 6(float) Constant 1065353216 - 104: 31(fvec4) ConstantComposite 103 103 103 103 - 105: TypePointer Function 31(fvec4) - 107: 11(int) Constant 1 - 108: TypePointer Function 6(float) - 110: TypePointer Output 31(fvec4) - 111(Color): 110(ptr) Variable Output - 114: TypePointer Output 6(float) - 115(Depth): 114(ptr) Variable Output - 119: TypeSampler - 120: TypePointer UniformConstant 119 - 121(g_sSamp): 120(ptr) Variable UniformConstant - 122: TypeImage 6(float) 1D sampled format:Unknown - 123: TypePointer UniformConstant 122 - 124(g_tTex1df4): 123(ptr) Variable UniformConstant - 125: TypeImage 11(int) 1D sampled format:Unknown - 126: TypePointer UniformConstant 125 - 127(g_tTex1di4): 126(ptr) Variable UniformConstant - 128: TypeImage 23(int) 1D sampled format:Unknown - 129: TypePointer UniformConstant 128 - 130(g_tTex1du4): 129(ptr) Variable UniformConstant - 131: TypeImage 6(float) 2D sampled format:Unknown - 132: TypePointer UniformConstant 131 - 133(g_tTex2df4): 132(ptr) Variable UniformConstant - 134: TypeImage 11(int) 2D sampled format:Unknown - 135: TypePointer UniformConstant 134 - 136(g_tTex2di4): 135(ptr) Variable UniformConstant - 137: TypeImage 23(int) 2D sampled format:Unknown - 138: TypePointer UniformConstant 137 - 139(g_tTex2du4): 138(ptr) Variable UniformConstant - 140: TypeImage 6(float) 3D sampled format:Unknown - 141: TypePointer UniformConstant 140 - 142(g_tTex3df4): 141(ptr) Variable UniformConstant - 143: TypeImage 11(int) 3D sampled format:Unknown - 144: TypePointer UniformConstant 143 - 145(g_tTex3di4): 144(ptr) Variable UniformConstant - 146: TypeImage 23(int) 3D sampled format:Unknown - 147: TypePointer UniformConstant 146 - 148(g_tTex3du4): 147(ptr) Variable UniformConstant - 149: TypeImage 6(float) Cube sampled format:Unknown - 150: TypePointer UniformConstant 149 - 151(g_tTexcdf4): 150(ptr) Variable UniformConstant - 152: TypeImage 11(int) Cube sampled format:Unknown - 153: TypePointer UniformConstant 152 - 154(g_tTexcdi4): 153(ptr) Variable UniformConstant - 155: TypeImage 23(int) Cube sampled format:Unknown - 156: TypePointer UniformConstant 155 - 157(g_tTexcdu4): 156(ptr) Variable UniformConstant - 158: TypeImage 6(float) Cube array sampled format:Unknown - 159: TypePointer UniformConstant 158 -160(g_tTexcdf4a): 159(ptr) Variable UniformConstant - 161: TypeImage 11(int) Cube array sampled format:Unknown - 162: TypePointer UniformConstant 161 -163(g_tTexcdi4a): 162(ptr) Variable UniformConstant - 164: TypeImage 23(int) Cube array sampled format:Unknown - 165: TypePointer UniformConstant 164 -166(g_tTexcdu4a): 165(ptr) Variable UniformConstant + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypeImage 6(float) 1D array sampled format:Unknown + 13: TypePointer UniformConstant 12 + 14(g_tTex1df4a): 13(ptr) Variable UniformConstant + 16: TypeInt 32 1 + 17: TypeVector 16(int) 2 + 18: TypeVector 16(int) 3 + 19: TypeVector 16(int) 4 + 20($Global): TypeStruct 16(int) 17(ivec2) 18(ivec3) 19(ivec4) 16(int) 17(ivec2) 18(ivec3) 19(ivec4) + 21: TypePointer Uniform 20($Global) + 22: 21(ptr) Variable Uniform + 23: 16(int) Constant 2 + 24: TypePointer Uniform 18(ivec3) + 28: TypeInt 32 0 + 29: 28(int) Constant 2 + 30: TypePointer Uniform 16(int) + 33: 16(int) Constant 4 + 37: TypeImage 16(int) 1D array sampled format:Unknown + 38: TypePointer UniformConstant 37 + 39(g_tTex1di4a): 38(ptr) Variable UniformConstant + 49: TypeImage 28(int) 1D array sampled format:Unknown + 50: TypePointer UniformConstant 49 + 51(g_tTex1du4a): 50(ptr) Variable UniformConstant + 60: TypeVector 28(int) 4 + 62: TypeImage 6(float) 2D array sampled format:Unknown + 63: TypePointer UniformConstant 62 + 64(g_tTex2df4a): 63(ptr) Variable UniformConstant + 66: 16(int) Constant 3 + 67: TypePointer Uniform 19(ivec4) + 71: 28(int) Constant 3 + 74: 16(int) Constant 5 + 75: TypePointer Uniform 17(ivec2) + 79: TypeImage 16(int) 2D array sampled format:Unknown + 80: TypePointer UniformConstant 79 + 81(g_tTex2di4a): 80(ptr) Variable UniformConstant + 91: TypeImage 28(int) 2D array sampled format:Unknown + 92: TypePointer UniformConstant 91 + 93(g_tTex2du4a): 92(ptr) Variable UniformConstant + 103: TypePointer Function 8(PS_OUTPUT) + 105: 16(int) Constant 0 + 106: 6(float) Constant 1065353216 + 107: 7(fvec4) ConstantComposite 106 106 106 106 + 108: TypePointer Function 7(fvec4) + 110: 16(int) Constant 1 + 111: TypePointer Function 6(float) + 118: TypePointer Output 7(fvec4) + 119(Color): 118(ptr) Variable Output + 122: TypePointer Output 6(float) + 123(Depth): 122(ptr) Variable Output + 126: TypeSampler + 127: TypePointer UniformConstant 126 + 128(g_sSamp): 127(ptr) Variable UniformConstant + 129: TypeImage 6(float) 1D sampled format:Unknown + 130: TypePointer UniformConstant 129 + 131(g_tTex1df4): 130(ptr) Variable UniformConstant + 132: TypeImage 16(int) 1D sampled format:Unknown + 133: TypePointer UniformConstant 132 + 134(g_tTex1di4): 133(ptr) Variable UniformConstant + 135: TypeImage 28(int) 1D sampled format:Unknown + 136: TypePointer UniformConstant 135 + 137(g_tTex1du4): 136(ptr) Variable UniformConstant + 138: TypeImage 6(float) 2D sampled format:Unknown + 139: TypePointer UniformConstant 138 + 140(g_tTex2df4): 139(ptr) Variable UniformConstant + 141: TypeImage 16(int) 2D sampled format:Unknown + 142: TypePointer UniformConstant 141 + 143(g_tTex2di4): 142(ptr) Variable UniformConstant + 144: TypeImage 28(int) 2D sampled format:Unknown + 145: TypePointer UniformConstant 144 + 146(g_tTex2du4): 145(ptr) Variable UniformConstant + 147: TypeImage 6(float) 3D sampled format:Unknown + 148: TypePointer UniformConstant 147 + 149(g_tTex3df4): 148(ptr) Variable UniformConstant + 150: TypeImage 16(int) 3D sampled format:Unknown + 151: TypePointer UniformConstant 150 + 152(g_tTex3di4): 151(ptr) Variable UniformConstant + 153: TypeImage 28(int) 3D sampled format:Unknown + 154: TypePointer UniformConstant 153 + 155(g_tTex3du4): 154(ptr) Variable UniformConstant + 156: TypeImage 6(float) Cube sampled format:Unknown + 157: TypePointer UniformConstant 156 + 158(g_tTexcdf4): 157(ptr) Variable UniformConstant + 159: TypeImage 16(int) Cube sampled format:Unknown + 160: TypePointer UniformConstant 159 + 161(g_tTexcdi4): 160(ptr) Variable UniformConstant + 162: TypeImage 28(int) Cube sampled format:Unknown + 163: TypePointer UniformConstant 162 + 164(g_tTexcdu4): 163(ptr) Variable UniformConstant + 165: TypeImage 6(float) Cube array sampled format:Unknown + 166: TypePointer UniformConstant 165 +167(g_tTexcdf4a): 166(ptr) Variable UniformConstant + 168: TypeImage 16(int) Cube array sampled format:Unknown + 169: TypePointer UniformConstant 168 +170(g_tTexcdi4a): 169(ptr) Variable UniformConstant + 171: TypeImage 28(int) Cube array sampled format:Unknown + 172: TypePointer UniformConstant 171 +173(g_tTexcdu4a): 172(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 101(psout): 100(ptr) Variable Function - 10: 7 Load 9(g_tTex1df4a) - 20: 19(ptr) AccessChain 17 18 - 21: 13(ivec3) Load 20 - 22: 12(ivec2) VectorShuffle 21 21 0 1 - 26: 25(ptr) AccessChain 17 18 24 - 27: 11(int) Load 26 - 29: 25(ptr) AccessChain 17 28 - 30: 11(int) Load 29 - 32: 31(fvec4) ImageFetch 10 22 Lod Offset 27 30 - 36: 33 Load 35(g_tTex1di4a) - 37: 19(ptr) AccessChain 17 18 - 38: 13(ivec3) Load 37 - 39: 12(ivec2) VectorShuffle 38 38 0 1 - 40: 25(ptr) AccessChain 17 18 24 - 41: 11(int) Load 40 - 42: 25(ptr) AccessChain 17 28 - 43: 11(int) Load 42 - 44: 14(ivec4) ImageFetch 36 39 Lod Offset 41 43 - 48: 45 Load 47(g_tTex1du4a) - 49: 19(ptr) AccessChain 17 18 - 50: 13(ivec3) Load 49 - 51: 12(ivec2) VectorShuffle 50 50 0 1 - 52: 25(ptr) AccessChain 17 18 24 - 53: 11(int) Load 52 - 54: 25(ptr) AccessChain 17 28 - 55: 11(int) Load 54 - 57: 56(ivec4) ImageFetch 48 51 Lod Offset 53 55 - 61: 58 Load 60(g_tTex2df4a) - 64: 63(ptr) AccessChain 17 62 - 65: 14(ivec4) Load 64 - 66: 13(ivec3) VectorShuffle 65 65 0 1 2 - 68: 25(ptr) AccessChain 17 62 67 - 69: 11(int) Load 68 - 72: 71(ptr) AccessChain 17 70 - 73: 12(ivec2) Load 72 - 74: 31(fvec4) ImageFetch 61 66 Lod Offset 69 73 - 78: 75 Load 77(g_tTex2di4a) - 79: 63(ptr) AccessChain 17 62 - 80: 14(ivec4) Load 79 - 81: 13(ivec3) VectorShuffle 80 80 0 1 2 - 82: 25(ptr) AccessChain 17 62 67 - 83: 11(int) Load 82 - 84: 71(ptr) AccessChain 17 70 - 85: 12(ivec2) Load 84 - 86: 14(ivec4) ImageFetch 78 81 Lod Offset 83 85 - 90: 87 Load 89(g_tTex2du4a) - 91: 63(ptr) AccessChain 17 62 - 92: 14(ivec4) Load 91 - 93: 13(ivec3) VectorShuffle 92 92 0 1 2 - 94: 25(ptr) AccessChain 17 62 67 - 95: 11(int) Load 94 - 96: 71(ptr) AccessChain 17 70 - 97: 12(ivec2) Load 96 - 98: 56(ivec4) ImageFetch 90 93 Lod Offset 95 97 - 106: 105(ptr) AccessChain 101(psout) 102 - Store 106 104 - 109: 108(ptr) AccessChain 101(psout) 107 - Store 109 103 - 112: 105(ptr) AccessChain 101(psout) 102 - 113: 31(fvec4) Load 112 - Store 111(Color) 113 - 116: 108(ptr) AccessChain 101(psout) 107 - 117: 6(float) Load 116 - Store 115(Depth) 117 +116(flattenTemp): 103(ptr) Variable Function + 117:8(PS_OUTPUT) FunctionCall 10(@main() + Store 116(flattenTemp) 117 + 120: 108(ptr) AccessChain 116(flattenTemp) 105 + 121: 7(fvec4) Load 120 + Store 119(Color) 121 + 124: 111(ptr) AccessChain 116(flattenTemp) 110 + 125: 6(float) Load 124 + Store 123(Depth) 125 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 104(psout): 103(ptr) Variable Function + 15: 12 Load 14(g_tTex1df4a) + 25: 24(ptr) AccessChain 22 23 + 26: 18(ivec3) Load 25 + 27: 17(ivec2) VectorShuffle 26 26 0 1 + 31: 30(ptr) AccessChain 22 23 29 + 32: 16(int) Load 31 + 34: 30(ptr) AccessChain 22 33 + 35: 16(int) Load 34 + 36: 7(fvec4) ImageFetch 15 27 Lod Offset 32 35 + 40: 37 Load 39(g_tTex1di4a) + 41: 24(ptr) AccessChain 22 23 + 42: 18(ivec3) Load 41 + 43: 17(ivec2) VectorShuffle 42 42 0 1 + 44: 30(ptr) AccessChain 22 23 29 + 45: 16(int) Load 44 + 46: 30(ptr) AccessChain 22 33 + 47: 16(int) Load 46 + 48: 19(ivec4) ImageFetch 40 43 Lod Offset 45 47 + 52: 49 Load 51(g_tTex1du4a) + 53: 24(ptr) AccessChain 22 23 + 54: 18(ivec3) Load 53 + 55: 17(ivec2) VectorShuffle 54 54 0 1 + 56: 30(ptr) AccessChain 22 23 29 + 57: 16(int) Load 56 + 58: 30(ptr) AccessChain 22 33 + 59: 16(int) Load 58 + 61: 60(ivec4) ImageFetch 52 55 Lod Offset 57 59 + 65: 62 Load 64(g_tTex2df4a) + 68: 67(ptr) AccessChain 22 66 + 69: 19(ivec4) Load 68 + 70: 18(ivec3) VectorShuffle 69 69 0 1 2 + 72: 30(ptr) AccessChain 22 66 71 + 73: 16(int) Load 72 + 76: 75(ptr) AccessChain 22 74 + 77: 17(ivec2) Load 76 + 78: 7(fvec4) ImageFetch 65 70 Lod Offset 73 77 + 82: 79 Load 81(g_tTex2di4a) + 83: 67(ptr) AccessChain 22 66 + 84: 19(ivec4) Load 83 + 85: 18(ivec3) VectorShuffle 84 84 0 1 2 + 86: 30(ptr) AccessChain 22 66 71 + 87: 16(int) Load 86 + 88: 75(ptr) AccessChain 22 74 + 89: 17(ivec2) Load 88 + 90: 19(ivec4) ImageFetch 82 85 Lod Offset 87 89 + 94: 91 Load 93(g_tTex2du4a) + 95: 67(ptr) AccessChain 22 66 + 96: 19(ivec4) Load 95 + 97: 18(ivec3) VectorShuffle 96 96 0 1 2 + 98: 30(ptr) AccessChain 22 66 71 + 99: 16(int) Load 98 + 100: 75(ptr) AccessChain 22 74 + 101: 17(ivec2) Load 100 + 102: 60(ivec4) ImageFetch 94 97 Lod Offset 99 101 + 109: 108(ptr) AccessChain 104(psout) 105 + Store 109 107 + 112: 111(ptr) AccessChain 104(psout) 110 + Store 112 106 + 113:8(PS_OUTPUT) Load 104(psout) + ReturnValue 113 + FunctionEnd diff --git a/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out b/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out index e9cc3940..e386ecab 100644 --- a/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out +++ b/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.load.rwbuffer.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:22 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:22 Function Definition: @main( (temp structure{temp 4-component vector of float Color}) 0:22 Function Parameters: 0:? Sequence 0:25 imageLoad (temp 4-component vector of float) @@ -33,20 +33,23 @@ gl_FragCoord origin is upper left 0:29 1.000000 0:29 1.000000 0:29 1.000000 -0:31 Sequence -0:31 Sequence -0:31 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:31 Color: direct index for structure (temp 4-component vector of float) -0:31 'psout' (temp structure{temp 4-component vector of float Color}) -0:31 Constant: -0:31 0 (const int) -0:31 Branch: Return +0:31 Branch: Return with expression +0:31 'psout' (temp structure{temp 4-component vector of float Color}) +0:22 Function Definition: main( (temp void) +0:22 Function Parameters: +0:? Sequence +0:22 Sequence +0:22 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:22 Color: direct index for structure (temp 4-component vector of float) +0:22 Function Call: @main( (temp structure{temp 4-component vector of float Color}) +0:22 Constant: +0:22 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'g_tBuffF' (layout(rgba32f ) uniform imageBuffer) 0:? 'g_tBuffI' (layout(rgba32i ) uniform iimageBuffer) 0:? 'g_tBuffU' (layout(rgba32ui ) uniform uimageBuffer) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) @@ -56,7 +59,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:22 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:22 Function Definition: @main( (temp structure{temp 4-component vector of float Color}) 0:22 Function Parameters: 0:? Sequence 0:25 imageLoad (temp 4-component vector of float) @@ -87,114 +90,124 @@ gl_FragCoord origin is upper left 0:29 1.000000 0:29 1.000000 0:29 1.000000 -0:31 Sequence -0:31 Sequence -0:31 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:31 Color: direct index for structure (temp 4-component vector of float) -0:31 'psout' (temp structure{temp 4-component vector of float Color}) -0:31 Constant: -0:31 0 (const int) -0:31 Branch: Return +0:31 Branch: Return with expression +0:31 'psout' (temp structure{temp 4-component vector of float Color}) +0:22 Function Definition: main( (temp void) +0:22 Function Parameters: +0:? Sequence +0:22 Sequence +0:22 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:22 Color: direct index for structure (temp 4-component vector of float) +0:22 Function Call: @main( (temp structure{temp 4-component vector of float Color}) +0:22 Constant: +0:22 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'g_tBuffF' (layout(rgba32f ) uniform imageBuffer) 0:? 'g_tBuffI' (layout(rgba32i ) uniform iimageBuffer) 0:? 'g_tBuffU' (layout(rgba32ui ) uniform uimageBuffer) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 52 +// Id's are bound by 57 Capability Shader Capability SampledBuffer 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 48 + EntryPoint Fragment 4 "main" 54 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "g_tBuffF" - Name 15 "$Global" - MemberName 15($Global) 0 "c1" - MemberName 15($Global) 1 "c2" - MemberName 15($Global) 2 "c3" - MemberName 15($Global) 3 "c4" - MemberName 15($Global) 4 "o1" - MemberName 15($Global) 5 "o2" - MemberName 15($Global) 6 "o3" - MemberName 15($Global) 7 "o4" - Name 17 "" - Name 27 "g_tBuffU" - Name 35 "g_tBuffI" - Name 40 "PS_OUTPUT" - MemberName 40(PS_OUTPUT) 0 "Color" - Name 42 "psout" - Name 48 "Color" - Decorate 9(g_tBuffF) DescriptorSet 0 - MemberDecorate 15($Global) 0 Offset 0 - MemberDecorate 15($Global) 1 Offset 8 - MemberDecorate 15($Global) 2 Offset 16 - MemberDecorate 15($Global) 3 Offset 32 - MemberDecorate 15($Global) 4 Offset 48 - MemberDecorate 15($Global) 5 Offset 56 - MemberDecorate 15($Global) 6 Offset 64 - MemberDecorate 15($Global) 7 Offset 80 - Decorate 15($Global) Block - Decorate 17 DescriptorSet 0 - Decorate 27(g_tBuffU) DescriptorSet 0 - Decorate 35(g_tBuffI) DescriptorSet 0 - Decorate 48(Color) Location 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + Name 10 "@main(" + Name 14 "g_tBuffF" + Name 20 "$Global" + MemberName 20($Global) 0 "c1" + MemberName 20($Global) 1 "c2" + MemberName 20($Global) 2 "c3" + MemberName 20($Global) 3 "c4" + MemberName 20($Global) 4 "o1" + MemberName 20($Global) 5 "o2" + MemberName 20($Global) 6 "o3" + MemberName 20($Global) 7 "o4" + Name 22 "" + Name 31 "g_tBuffU" + Name 39 "g_tBuffI" + Name 45 "psout" + Name 54 "Color" + Decorate 14(g_tBuffF) DescriptorSet 0 + MemberDecorate 20($Global) 0 Offset 0 + MemberDecorate 20($Global) 1 Offset 8 + MemberDecorate 20($Global) 2 Offset 16 + MemberDecorate 20($Global) 3 Offset 32 + MemberDecorate 20($Global) 4 Offset 48 + MemberDecorate 20($Global) 5 Offset 56 + MemberDecorate 20($Global) 6 Offset 64 + MemberDecorate 20($Global) 7 Offset 80 + Decorate 20($Global) Block + Decorate 22 DescriptorSet 0 + Decorate 31(g_tBuffU) DescriptorSet 0 + Decorate 39(g_tBuffI) DescriptorSet 0 + Decorate 54(Color) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypeImage 6(float) Buffer nonsampled format:Rgba32f - 8: TypePointer UniformConstant 7 - 9(g_tBuffF): 8(ptr) Variable UniformConstant - 11: TypeInt 32 1 - 12: TypeVector 11(int) 2 - 13: TypeVector 11(int) 3 - 14: TypeVector 11(int) 4 - 15($Global): TypeStruct 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 11(int) 12(ivec2) 13(ivec3) 14(ivec4) - 16: TypePointer Uniform 15($Global) - 17: 16(ptr) Variable Uniform - 18: 11(int) Constant 0 - 19: TypePointer Uniform 11(int) - 22: TypeVector 6(float) 4 - 24: TypeInt 32 0 - 25: TypeImage 24(int) Buffer nonsampled format:Rgba32ui - 26: TypePointer UniformConstant 25 - 27(g_tBuffU): 26(ptr) Variable UniformConstant - 31: TypeVector 24(int) 4 - 33: TypeImage 11(int) Buffer nonsampled format:Rgba32i - 34: TypePointer UniformConstant 33 - 35(g_tBuffI): 34(ptr) Variable UniformConstant - 40(PS_OUTPUT): TypeStruct 22(fvec4) - 41: TypePointer Function 40(PS_OUTPUT) - 43: 6(float) Constant 1065353216 - 44: 22(fvec4) ConstantComposite 43 43 43 43 - 45: TypePointer Function 22(fvec4) - 47: TypePointer Output 22(fvec4) - 48(Color): 47(ptr) Variable Output + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypeImage 6(float) Buffer nonsampled format:Rgba32f + 13: TypePointer UniformConstant 12 + 14(g_tBuffF): 13(ptr) Variable UniformConstant + 16: TypeInt 32 1 + 17: TypeVector 16(int) 2 + 18: TypeVector 16(int) 3 + 19: TypeVector 16(int) 4 + 20($Global): TypeStruct 16(int) 17(ivec2) 18(ivec3) 19(ivec4) 16(int) 17(ivec2) 18(ivec3) 19(ivec4) + 21: TypePointer Uniform 20($Global) + 22: 21(ptr) Variable Uniform + 23: 16(int) Constant 0 + 24: TypePointer Uniform 16(int) + 28: TypeInt 32 0 + 29: TypeImage 28(int) Buffer nonsampled format:Rgba32ui + 30: TypePointer UniformConstant 29 + 31(g_tBuffU): 30(ptr) Variable UniformConstant + 35: TypeVector 28(int) 4 + 37: TypeImage 16(int) Buffer nonsampled format:Rgba32i + 38: TypePointer UniformConstant 37 + 39(g_tBuffI): 38(ptr) Variable UniformConstant + 44: TypePointer Function 8(PS_OUTPUT) + 46: 6(float) Constant 1065353216 + 47: 7(fvec4) ConstantComposite 46 46 46 46 + 48: TypePointer Function 7(fvec4) + 53: TypePointer Output 7(fvec4) + 54(Color): 53(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 42(psout): 41(ptr) Variable Function - 10: 7 Load 9(g_tBuffF) - 20: 19(ptr) AccessChain 17 18 - 21: 11(int) Load 20 - 23: 22(fvec4) ImageRead 10 21 - 28: 25 Load 27(g_tBuffU) - 29: 19(ptr) AccessChain 17 18 - 30: 11(int) Load 29 - 32: 31(ivec4) ImageRead 28 30 - 36: 33 Load 35(g_tBuffI) - 37: 19(ptr) AccessChain 17 18 - 38: 11(int) Load 37 - 39: 14(ivec4) ImageRead 36 38 - 46: 45(ptr) AccessChain 42(psout) 18 - Store 46 44 - 49: 45(ptr) AccessChain 42(psout) 18 - 50: 22(fvec4) Load 49 - Store 48(Color) 50 + 55:8(PS_OUTPUT) FunctionCall 10(@main() + 56: 7(fvec4) CompositeExtract 55 0 + Store 54(Color) 56 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 45(psout): 44(ptr) Variable Function + 15: 12 Load 14(g_tBuffF) + 25: 24(ptr) AccessChain 22 23 + 26: 16(int) Load 25 + 27: 7(fvec4) ImageRead 15 26 + 32: 29 Load 31(g_tBuffU) + 33: 24(ptr) AccessChain 22 23 + 34: 16(int) Load 33 + 36: 35(ivec4) ImageRead 32 34 + 40: 37 Load 39(g_tBuffI) + 41: 24(ptr) AccessChain 22 23 + 42: 16(int) Load 41 + 43: 19(ivec4) ImageRead 40 42 + 49: 48(ptr) AccessChain 45(psout) 23 + Store 49 47 + 50:8(PS_OUTPUT) Load 45(psout) + ReturnValue 50 + FunctionEnd diff --git a/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out b/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out index a81ddf57..41c8b27a 100644 --- a/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out +++ b/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.load.rwtexture.array.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:40 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:40 Function Parameters: 0:? Sequence 0:44 imageLoad (temp 4-component vector of float) @@ -58,24 +58,28 @@ gl_FragCoord origin is upper left 0:54 1 (const int) 0:54 Constant: 0:54 1.000000 -0:56 Sequence -0:56 Sequence -0:56 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:56 Color: direct index for structure (temp 4-component vector of float) -0:56 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:56 Constant: -0:56 0 (const int) -0:56 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:56 Depth: direct index for structure (temp float) -0:56 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:56 Constant: -0:56 1 (const int) -0:56 Branch: Return +0:56 Branch: Return with expression +0:56 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 Function Definition: main( (temp void) +0:40 Function Parameters: +0:? Sequence +0:40 Sequence +0:40 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:40 Color: direct index for structure (temp 4-component vector of float) +0:40 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 Constant: +0:40 0 (const int) +0:40 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:40 Depth: direct index for structure (temp float) +0:40 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 Constant: +0:40 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) 0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) @@ -92,6 +96,8 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray) 0:? 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray) 0:? 'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) @@ -101,7 +107,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:40 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:40 Function Parameters: 0:? Sequence 0:44 imageLoad (temp 4-component vector of float) @@ -157,24 +163,28 @@ gl_FragCoord origin is upper left 0:54 1 (const int) 0:54 Constant: 0:54 1.000000 -0:56 Sequence -0:56 Sequence -0:56 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:56 Color: direct index for structure (temp 4-component vector of float) -0:56 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:56 Constant: -0:56 0 (const int) -0:56 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:56 Depth: direct index for structure (temp float) -0:56 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:56 Constant: -0:56 1 (const int) -0:56 Branch: Return +0:56 Branch: Return with expression +0:56 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 Function Definition: main( (temp void) +0:40 Function Parameters: +0:? Sequence +0:40 Sequence +0:40 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:40 Color: direct index for structure (temp 4-component vector of float) +0:40 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 Constant: +0:40 0 (const int) +0:40 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:40 Depth: direct index for structure (temp float) +0:40 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 Constant: +0:40 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) 0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) @@ -191,193 +201,206 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray) 0:? 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray) 0:? 'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 112 +// Id's are bound by 119 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 74 78 + EntryPoint Fragment 4 "main" 82 86 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "g_tTex1df4a" - Name 15 "$Global" - MemberName 15($Global) 0 "c1" - MemberName 15($Global) 1 "c2" - MemberName 15($Global) 2 "c3" - MemberName 15($Global) 3 "c4" - MemberName 15($Global) 4 "o1" - MemberName 15($Global) 5 "o2" - MemberName 15($Global) 6 "o3" - MemberName 15($Global) 7 "o4" - Name 17 "" - Name 26 "g_tTex1di4a" - Name 34 "g_tTex1du4a" - Name 42 "g_tTex2df4a" - Name 51 "g_tTex2di4a" - Name 58 "g_tTex2du4a" - Name 63 "PS_OUTPUT" - MemberName 63(PS_OUTPUT) 0 "Color" - MemberName 63(PS_OUTPUT) 1 "Depth" - Name 65 "psout" - Name 74 "Color" - Name 78 "Depth" - Name 84 "g_sSamp" - Name 87 "g_tTex1df4" - Name 90 "g_tTex1di4" - Name 93 "g_tTex1du4" - Name 96 "g_tTex2df4" - Name 99 "g_tTex2di4" - Name 102 "g_tTex2du4" - Name 105 "g_tTex3df4" - Name 108 "g_tTex3di4" - Name 111 "g_tTex3du4" - Decorate 9(g_tTex1df4a) DescriptorSet 0 - MemberDecorate 15($Global) 0 Offset 0 - MemberDecorate 15($Global) 1 Offset 8 - MemberDecorate 15($Global) 2 Offset 16 - MemberDecorate 15($Global) 3 Offset 32 - MemberDecorate 15($Global) 4 Offset 48 - MemberDecorate 15($Global) 5 Offset 56 - MemberDecorate 15($Global) 6 Offset 64 - MemberDecorate 15($Global) 7 Offset 80 - Decorate 15($Global) Block - Decorate 17 DescriptorSet 0 - Decorate 26(g_tTex1di4a) DescriptorSet 0 - Decorate 34(g_tTex1du4a) DescriptorSet 0 - Decorate 42(g_tTex2df4a) DescriptorSet 0 - Decorate 51(g_tTex2di4a) DescriptorSet 0 - Decorate 58(g_tTex2du4a) DescriptorSet 0 - Decorate 74(Color) Location 0 - Decorate 78(Depth) BuiltIn FragDepth - Decorate 84(g_sSamp) DescriptorSet 0 - Decorate 84(g_sSamp) Binding 0 - Decorate 87(g_tTex1df4) DescriptorSet 0 - Decorate 87(g_tTex1df4) Binding 0 - Decorate 90(g_tTex1di4) DescriptorSet 0 - Decorate 93(g_tTex1du4) DescriptorSet 0 - Decorate 96(g_tTex2df4) DescriptorSet 0 - Decorate 99(g_tTex2di4) DescriptorSet 0 - Decorate 102(g_tTex2du4) DescriptorSet 0 - Decorate 105(g_tTex3df4) DescriptorSet 0 - Decorate 108(g_tTex3di4) DescriptorSet 0 - Decorate 111(g_tTex3du4) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 14 "g_tTex1df4a" + Name 20 "$Global" + MemberName 20($Global) 0 "c1" + MemberName 20($Global) 1 "c2" + MemberName 20($Global) 2 "c3" + MemberName 20($Global) 3 "c4" + MemberName 20($Global) 4 "o1" + MemberName 20($Global) 5 "o2" + MemberName 20($Global) 6 "o3" + MemberName 20($Global) 7 "o4" + Name 22 "" + Name 30 "g_tTex1di4a" + Name 38 "g_tTex1du4a" + Name 46 "g_tTex2df4a" + Name 55 "g_tTex2di4a" + Name 62 "g_tTex2du4a" + Name 68 "psout" + Name 79 "flattenTemp" + Name 82 "Color" + Name 86 "Depth" + Name 91 "g_sSamp" + Name 94 "g_tTex1df4" + Name 97 "g_tTex1di4" + Name 100 "g_tTex1du4" + Name 103 "g_tTex2df4" + Name 106 "g_tTex2di4" + Name 109 "g_tTex2du4" + Name 112 "g_tTex3df4" + Name 115 "g_tTex3di4" + Name 118 "g_tTex3du4" + Decorate 14(g_tTex1df4a) DescriptorSet 0 + MemberDecorate 20($Global) 0 Offset 0 + MemberDecorate 20($Global) 1 Offset 8 + MemberDecorate 20($Global) 2 Offset 16 + MemberDecorate 20($Global) 3 Offset 32 + MemberDecorate 20($Global) 4 Offset 48 + MemberDecorate 20($Global) 5 Offset 56 + MemberDecorate 20($Global) 6 Offset 64 + MemberDecorate 20($Global) 7 Offset 80 + Decorate 20($Global) Block + Decorate 22 DescriptorSet 0 + Decorate 30(g_tTex1di4a) DescriptorSet 0 + Decorate 38(g_tTex1du4a) DescriptorSet 0 + Decorate 46(g_tTex2df4a) DescriptorSet 0 + Decorate 55(g_tTex2di4a) DescriptorSet 0 + Decorate 62(g_tTex2du4a) DescriptorSet 0 + Decorate 82(Color) Location 0 + Decorate 86(Depth) BuiltIn FragDepth + Decorate 91(g_sSamp) DescriptorSet 0 + Decorate 91(g_sSamp) Binding 0 + Decorate 94(g_tTex1df4) DescriptorSet 0 + Decorate 94(g_tTex1df4) Binding 0 + Decorate 97(g_tTex1di4) DescriptorSet 0 + Decorate 100(g_tTex1du4) DescriptorSet 0 + Decorate 103(g_tTex2df4) DescriptorSet 0 + Decorate 106(g_tTex2di4) DescriptorSet 0 + Decorate 109(g_tTex2du4) DescriptorSet 0 + Decorate 112(g_tTex3df4) DescriptorSet 0 + Decorate 115(g_tTex3di4) DescriptorSet 0 + Decorate 118(g_tTex3du4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypeImage 6(float) 1D array nonsampled format:Rgba32f - 8: TypePointer UniformConstant 7 - 9(g_tTex1df4a): 8(ptr) Variable UniformConstant - 11: TypeInt 32 1 - 12: TypeVector 11(int) 2 - 13: TypeVector 11(int) 3 - 14: TypeVector 11(int) 4 - 15($Global): TypeStruct 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 11(int) 12(ivec2) 13(ivec3) 14(ivec4) - 16: TypePointer Uniform 15($Global) - 17: 16(ptr) Variable Uniform - 18: 11(int) Constant 1 - 19: TypePointer Uniform 12(ivec2) - 22: TypeVector 6(float) 4 - 24: TypeImage 11(int) 1D array nonsampled format:Rgba32i - 25: TypePointer UniformConstant 24 - 26(g_tTex1di4a): 25(ptr) Variable UniformConstant - 31: TypeInt 32 0 - 32: TypeImage 31(int) 1D array nonsampled format:Rgba32ui - 33: TypePointer UniformConstant 32 - 34(g_tTex1du4a): 33(ptr) Variable UniformConstant - 38: TypeVector 31(int) 4 - 40: TypeImage 6(float) 2D array nonsampled format:Rgba32f - 41: TypePointer UniformConstant 40 - 42(g_tTex2df4a): 41(ptr) Variable UniformConstant - 44: 11(int) Constant 2 - 45: TypePointer Uniform 13(ivec3) - 49: TypeImage 11(int) 2D array nonsampled format:Rgba32i - 50: TypePointer UniformConstant 49 - 51(g_tTex2di4a): 50(ptr) Variable UniformConstant - 56: TypeImage 31(int) 2D array nonsampled format:Rgba32ui - 57: TypePointer UniformConstant 56 - 58(g_tTex2du4a): 57(ptr) Variable UniformConstant - 63(PS_OUTPUT): TypeStruct 22(fvec4) 6(float) - 64: TypePointer Function 63(PS_OUTPUT) - 66: 11(int) Constant 0 - 67: 6(float) Constant 1065353216 - 68: 22(fvec4) ConstantComposite 67 67 67 67 - 69: TypePointer Function 22(fvec4) - 71: TypePointer Function 6(float) - 73: TypePointer Output 22(fvec4) - 74(Color): 73(ptr) Variable Output - 77: TypePointer Output 6(float) - 78(Depth): 77(ptr) Variable Output - 82: TypeSampler - 83: TypePointer UniformConstant 82 - 84(g_sSamp): 83(ptr) Variable UniformConstant - 85: TypeImage 6(float) 1D nonsampled format:Rgba32f - 86: TypePointer UniformConstant 85 - 87(g_tTex1df4): 86(ptr) Variable UniformConstant - 88: TypeImage 11(int) 1D nonsampled format:Rgba32i - 89: TypePointer UniformConstant 88 - 90(g_tTex1di4): 89(ptr) Variable UniformConstant - 91: TypeImage 31(int) 1D nonsampled format:Rgba32ui - 92: TypePointer UniformConstant 91 - 93(g_tTex1du4): 92(ptr) Variable UniformConstant - 94: TypeImage 6(float) 2D nonsampled format:Rgba32f - 95: TypePointer UniformConstant 94 - 96(g_tTex2df4): 95(ptr) Variable UniformConstant - 97: TypeImage 11(int) 2D nonsampled format:Rgba32i - 98: TypePointer UniformConstant 97 - 99(g_tTex2di4): 98(ptr) Variable UniformConstant - 100: TypeImage 31(int) 2D nonsampled format:Rgba32ui - 101: TypePointer UniformConstant 100 - 102(g_tTex2du4): 101(ptr) Variable UniformConstant - 103: TypeImage 6(float) 3D nonsampled format:Rgba32f - 104: TypePointer UniformConstant 103 - 105(g_tTex3df4): 104(ptr) Variable UniformConstant - 106: TypeImage 11(int) 3D nonsampled format:Rgba32i - 107: TypePointer UniformConstant 106 - 108(g_tTex3di4): 107(ptr) Variable UniformConstant - 109: TypeImage 31(int) 3D nonsampled format:Rgba32ui - 110: TypePointer UniformConstant 109 - 111(g_tTex3du4): 110(ptr) Variable UniformConstant + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypeImage 6(float) 1D array nonsampled format:Rgba32f + 13: TypePointer UniformConstant 12 + 14(g_tTex1df4a): 13(ptr) Variable UniformConstant + 16: TypeInt 32 1 + 17: TypeVector 16(int) 2 + 18: TypeVector 16(int) 3 + 19: TypeVector 16(int) 4 + 20($Global): TypeStruct 16(int) 17(ivec2) 18(ivec3) 19(ivec4) 16(int) 17(ivec2) 18(ivec3) 19(ivec4) + 21: TypePointer Uniform 20($Global) + 22: 21(ptr) Variable Uniform + 23: 16(int) Constant 1 + 24: TypePointer Uniform 17(ivec2) + 28: TypeImage 16(int) 1D array nonsampled format:Rgba32i + 29: TypePointer UniformConstant 28 + 30(g_tTex1di4a): 29(ptr) Variable UniformConstant + 35: TypeInt 32 0 + 36: TypeImage 35(int) 1D array nonsampled format:Rgba32ui + 37: TypePointer UniformConstant 36 + 38(g_tTex1du4a): 37(ptr) Variable UniformConstant + 42: TypeVector 35(int) 4 + 44: TypeImage 6(float) 2D array nonsampled format:Rgba32f + 45: TypePointer UniformConstant 44 + 46(g_tTex2df4a): 45(ptr) Variable UniformConstant + 48: 16(int) Constant 2 + 49: TypePointer Uniform 18(ivec3) + 53: TypeImage 16(int) 2D array nonsampled format:Rgba32i + 54: TypePointer UniformConstant 53 + 55(g_tTex2di4a): 54(ptr) Variable UniformConstant + 60: TypeImage 35(int) 2D array nonsampled format:Rgba32ui + 61: TypePointer UniformConstant 60 + 62(g_tTex2du4a): 61(ptr) Variable UniformConstant + 67: TypePointer Function 8(PS_OUTPUT) + 69: 16(int) Constant 0 + 70: 6(float) Constant 1065353216 + 71: 7(fvec4) ConstantComposite 70 70 70 70 + 72: TypePointer Function 7(fvec4) + 74: TypePointer Function 6(float) + 81: TypePointer Output 7(fvec4) + 82(Color): 81(ptr) Variable Output + 85: TypePointer Output 6(float) + 86(Depth): 85(ptr) Variable Output + 89: TypeSampler + 90: TypePointer UniformConstant 89 + 91(g_sSamp): 90(ptr) Variable UniformConstant + 92: TypeImage 6(float) 1D nonsampled format:Rgba32f + 93: TypePointer UniformConstant 92 + 94(g_tTex1df4): 93(ptr) Variable UniformConstant + 95: TypeImage 16(int) 1D nonsampled format:Rgba32i + 96: TypePointer UniformConstant 95 + 97(g_tTex1di4): 96(ptr) Variable UniformConstant + 98: TypeImage 35(int) 1D nonsampled format:Rgba32ui + 99: TypePointer UniformConstant 98 + 100(g_tTex1du4): 99(ptr) Variable UniformConstant + 101: TypeImage 6(float) 2D nonsampled format:Rgba32f + 102: TypePointer UniformConstant 101 + 103(g_tTex2df4): 102(ptr) Variable UniformConstant + 104: TypeImage 16(int) 2D nonsampled format:Rgba32i + 105: TypePointer UniformConstant 104 + 106(g_tTex2di4): 105(ptr) Variable UniformConstant + 107: TypeImage 35(int) 2D nonsampled format:Rgba32ui + 108: TypePointer UniformConstant 107 + 109(g_tTex2du4): 108(ptr) Variable UniformConstant + 110: TypeImage 6(float) 3D nonsampled format:Rgba32f + 111: TypePointer UniformConstant 110 + 112(g_tTex3df4): 111(ptr) Variable UniformConstant + 113: TypeImage 16(int) 3D nonsampled format:Rgba32i + 114: TypePointer UniformConstant 113 + 115(g_tTex3di4): 114(ptr) Variable UniformConstant + 116: TypeImage 35(int) 3D nonsampled format:Rgba32ui + 117: TypePointer UniformConstant 116 + 118(g_tTex3du4): 117(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 65(psout): 64(ptr) Variable Function - 10: 7 Load 9(g_tTex1df4a) - 20: 19(ptr) AccessChain 17 18 - 21: 12(ivec2) Load 20 - 23: 22(fvec4) ImageRead 10 21 - 27: 24 Load 26(g_tTex1di4a) - 28: 19(ptr) AccessChain 17 18 - 29: 12(ivec2) Load 28 - 30: 14(ivec4) ImageRead 27 29 - 35: 32 Load 34(g_tTex1du4a) - 36: 19(ptr) AccessChain 17 18 - 37: 12(ivec2) Load 36 - 39: 38(ivec4) ImageRead 35 37 - 43: 40 Load 42(g_tTex2df4a) - 46: 45(ptr) AccessChain 17 44 - 47: 13(ivec3) Load 46 - 48: 22(fvec4) ImageRead 43 47 - 52: 49 Load 51(g_tTex2di4a) - 53: 45(ptr) AccessChain 17 44 - 54: 13(ivec3) Load 53 - 55: 14(ivec4) ImageRead 52 54 - 59: 56 Load 58(g_tTex2du4a) - 60: 45(ptr) AccessChain 17 44 - 61: 13(ivec3) Load 60 - 62: 38(ivec4) ImageRead 59 61 - 70: 69(ptr) AccessChain 65(psout) 66 - Store 70 68 - 72: 71(ptr) AccessChain 65(psout) 18 - Store 72 67 - 75: 69(ptr) AccessChain 65(psout) 66 - 76: 22(fvec4) Load 75 - Store 74(Color) 76 - 79: 71(ptr) AccessChain 65(psout) 18 - 80: 6(float) Load 79 - Store 78(Depth) 80 + 79(flattenTemp): 67(ptr) Variable Function + 80:8(PS_OUTPUT) FunctionCall 10(@main() + Store 79(flattenTemp) 80 + 83: 72(ptr) AccessChain 79(flattenTemp) 69 + 84: 7(fvec4) Load 83 + Store 82(Color) 84 + 87: 74(ptr) AccessChain 79(flattenTemp) 23 + 88: 6(float) Load 87 + Store 86(Depth) 88 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 68(psout): 67(ptr) Variable Function + 15: 12 Load 14(g_tTex1df4a) + 25: 24(ptr) AccessChain 22 23 + 26: 17(ivec2) Load 25 + 27: 7(fvec4) ImageRead 15 26 + 31: 28 Load 30(g_tTex1di4a) + 32: 24(ptr) AccessChain 22 23 + 33: 17(ivec2) Load 32 + 34: 19(ivec4) ImageRead 31 33 + 39: 36 Load 38(g_tTex1du4a) + 40: 24(ptr) AccessChain 22 23 + 41: 17(ivec2) Load 40 + 43: 42(ivec4) ImageRead 39 41 + 47: 44 Load 46(g_tTex2df4a) + 50: 49(ptr) AccessChain 22 48 + 51: 18(ivec3) Load 50 + 52: 7(fvec4) ImageRead 47 51 + 56: 53 Load 55(g_tTex2di4a) + 57: 49(ptr) AccessChain 22 48 + 58: 18(ivec3) Load 57 + 59: 19(ivec4) ImageRead 56 58 + 63: 60 Load 62(g_tTex2du4a) + 64: 49(ptr) AccessChain 22 48 + 65: 18(ivec3) Load 64 + 66: 42(ivec4) ImageRead 63 65 + 73: 72(ptr) AccessChain 68(psout) 69 + Store 73 71 + 75: 74(ptr) AccessChain 68(psout) 23 + Store 75 70 + 76:8(PS_OUTPUT) Load 68(psout) + ReturnValue 76 + FunctionEnd diff --git a/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out b/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out index b5435bac..0b57d58f 100644 --- a/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out +++ b/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.load.rwtexture.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:40 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:40 Function Parameters: 0:? Sequence 0:44 imageLoad (temp 4-component vector of float) @@ -76,24 +76,28 @@ gl_FragCoord origin is upper left 0:59 1 (const int) 0:59 Constant: 0:59 1.000000 -0:61 Sequence -0:61 Sequence -0:61 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:61 Color: direct index for structure (temp 4-component vector of float) -0:61 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:61 Constant: -0:61 0 (const int) -0:61 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:61 Depth: direct index for structure (temp float) -0:61 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:61 Constant: -0:61 1 (const int) -0:61 Branch: Return +0:61 Branch: Return with expression +0:61 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 Function Definition: main( (temp void) +0:40 Function Parameters: +0:? Sequence +0:40 Sequence +0:40 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:40 Color: direct index for structure (temp 4-component vector of float) +0:40 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 Constant: +0:40 0 (const int) +0:40 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:40 Depth: direct index for structure (temp float) +0:40 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 Constant: +0:40 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) 0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) @@ -110,6 +114,8 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray) 0:? 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray) 0:? 'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) @@ -119,7 +125,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:40 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:40 Function Parameters: 0:? Sequence 0:44 imageLoad (temp 4-component vector of float) @@ -193,24 +199,28 @@ gl_FragCoord origin is upper left 0:59 1 (const int) 0:59 Constant: 0:59 1.000000 -0:61 Sequence -0:61 Sequence -0:61 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:61 Color: direct index for structure (temp 4-component vector of float) -0:61 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:61 Constant: -0:61 0 (const int) -0:61 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:61 Depth: direct index for structure (temp float) -0:61 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:61 Constant: -0:61 1 (const int) -0:61 Branch: Return +0:61 Branch: Return with expression +0:61 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 Function Definition: main( (temp void) +0:40 Function Parameters: +0:? Sequence +0:40 Sequence +0:40 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:40 Color: direct index for structure (temp 4-component vector of float) +0:40 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 Constant: +0:40 0 (const int) +0:40 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:40 Depth: direct index for structure (temp float) +0:40 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 Constant: +0:40 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) 0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) @@ -227,206 +237,219 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray) 0:? 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray) 0:? 'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 125 +// Id's are bound by 132 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 96 100 + EntryPoint Fragment 4 "main" 104 108 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "g_tTex1df4" - Name 15 "$Global" - MemberName 15($Global) 0 "c1" - MemberName 15($Global) 1 "c2" - MemberName 15($Global) 2 "c3" - MemberName 15($Global) 3 "c4" - MemberName 15($Global) 4 "o1" - MemberName 15($Global) 5 "o2" - MemberName 15($Global) 6 "o3" - MemberName 15($Global) 7 "o4" - Name 17 "" - Name 26 "g_tTex1di4" - Name 34 "g_tTex1du4" - Name 42 "g_tTex2df4" - Name 51 "g_tTex2di4" - Name 58 "g_tTex2du4" - Name 65 "g_tTex3df4" - Name 74 "g_tTex3di4" - Name 81 "g_tTex3du4" - Name 86 "PS_OUTPUT" - MemberName 86(PS_OUTPUT) 0 "Color" - MemberName 86(PS_OUTPUT) 1 "Depth" - Name 88 "psout" - Name 96 "Color" - Name 100 "Depth" - Name 106 "g_sSamp" - Name 109 "g_tTex1df4a" - Name 112 "g_tTex1di4a" - Name 115 "g_tTex1du4a" - Name 118 "g_tTex2df4a" - Name 121 "g_tTex2di4a" - Name 124 "g_tTex2du4a" - Decorate 9(g_tTex1df4) DescriptorSet 0 - Decorate 9(g_tTex1df4) Binding 0 - MemberDecorate 15($Global) 0 Offset 0 - MemberDecorate 15($Global) 1 Offset 8 - MemberDecorate 15($Global) 2 Offset 16 - MemberDecorate 15($Global) 3 Offset 32 - MemberDecorate 15($Global) 4 Offset 48 - MemberDecorate 15($Global) 5 Offset 56 - MemberDecorate 15($Global) 6 Offset 64 - MemberDecorate 15($Global) 7 Offset 80 - Decorate 15($Global) Block - Decorate 17 DescriptorSet 0 - Decorate 26(g_tTex1di4) DescriptorSet 0 - Decorate 34(g_tTex1du4) DescriptorSet 0 - Decorate 42(g_tTex2df4) DescriptorSet 0 - Decorate 51(g_tTex2di4) DescriptorSet 0 - Decorate 58(g_tTex2du4) DescriptorSet 0 - Decorate 65(g_tTex3df4) DescriptorSet 0 - Decorate 74(g_tTex3di4) DescriptorSet 0 - Decorate 81(g_tTex3du4) DescriptorSet 0 - Decorate 96(Color) Location 0 - Decorate 100(Depth) BuiltIn FragDepth - Decorate 106(g_sSamp) DescriptorSet 0 - Decorate 106(g_sSamp) Binding 0 - Decorate 109(g_tTex1df4a) DescriptorSet 0 - Decorate 112(g_tTex1di4a) DescriptorSet 0 - Decorate 115(g_tTex1du4a) DescriptorSet 0 - Decorate 118(g_tTex2df4a) DescriptorSet 0 - Decorate 121(g_tTex2di4a) DescriptorSet 0 - Decorate 124(g_tTex2du4a) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 14 "g_tTex1df4" + Name 20 "$Global" + MemberName 20($Global) 0 "c1" + MemberName 20($Global) 1 "c2" + MemberName 20($Global) 2 "c3" + MemberName 20($Global) 3 "c4" + MemberName 20($Global) 4 "o1" + MemberName 20($Global) 5 "o2" + MemberName 20($Global) 6 "o3" + MemberName 20($Global) 7 "o4" + Name 22 "" + Name 30 "g_tTex1di4" + Name 38 "g_tTex1du4" + Name 46 "g_tTex2df4" + Name 55 "g_tTex2di4" + Name 62 "g_tTex2du4" + Name 69 "g_tTex3df4" + Name 78 "g_tTex3di4" + Name 85 "g_tTex3du4" + Name 91 "psout" + Name 101 "flattenTemp" + Name 104 "Color" + Name 108 "Depth" + Name 113 "g_sSamp" + Name 116 "g_tTex1df4a" + Name 119 "g_tTex1di4a" + Name 122 "g_tTex1du4a" + Name 125 "g_tTex2df4a" + Name 128 "g_tTex2di4a" + Name 131 "g_tTex2du4a" + Decorate 14(g_tTex1df4) DescriptorSet 0 + Decorate 14(g_tTex1df4) Binding 0 + MemberDecorate 20($Global) 0 Offset 0 + MemberDecorate 20($Global) 1 Offset 8 + MemberDecorate 20($Global) 2 Offset 16 + MemberDecorate 20($Global) 3 Offset 32 + MemberDecorate 20($Global) 4 Offset 48 + MemberDecorate 20($Global) 5 Offset 56 + MemberDecorate 20($Global) 6 Offset 64 + MemberDecorate 20($Global) 7 Offset 80 + Decorate 20($Global) Block + Decorate 22 DescriptorSet 0 + Decorate 30(g_tTex1di4) DescriptorSet 0 + Decorate 38(g_tTex1du4) DescriptorSet 0 + Decorate 46(g_tTex2df4) DescriptorSet 0 + Decorate 55(g_tTex2di4) DescriptorSet 0 + Decorate 62(g_tTex2du4) DescriptorSet 0 + Decorate 69(g_tTex3df4) DescriptorSet 0 + Decorate 78(g_tTex3di4) DescriptorSet 0 + Decorate 85(g_tTex3du4) DescriptorSet 0 + Decorate 104(Color) Location 0 + Decorate 108(Depth) BuiltIn FragDepth + Decorate 113(g_sSamp) DescriptorSet 0 + Decorate 113(g_sSamp) Binding 0 + Decorate 116(g_tTex1df4a) DescriptorSet 0 + Decorate 119(g_tTex1di4a) DescriptorSet 0 + Decorate 122(g_tTex1du4a) DescriptorSet 0 + Decorate 125(g_tTex2df4a) DescriptorSet 0 + Decorate 128(g_tTex2di4a) DescriptorSet 0 + Decorate 131(g_tTex2du4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypeImage 6(float) 1D nonsampled format:Rgba32f - 8: TypePointer UniformConstant 7 - 9(g_tTex1df4): 8(ptr) Variable UniformConstant - 11: TypeInt 32 1 - 12: TypeVector 11(int) 2 - 13: TypeVector 11(int) 3 - 14: TypeVector 11(int) 4 - 15($Global): TypeStruct 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 11(int) 12(ivec2) 13(ivec3) 14(ivec4) - 16: TypePointer Uniform 15($Global) - 17: 16(ptr) Variable Uniform - 18: 11(int) Constant 0 - 19: TypePointer Uniform 11(int) - 22: TypeVector 6(float) 4 - 24: TypeImage 11(int) 1D nonsampled format:Rgba32i - 25: TypePointer UniformConstant 24 - 26(g_tTex1di4): 25(ptr) Variable UniformConstant - 31: TypeInt 32 0 - 32: TypeImage 31(int) 1D nonsampled format:Rgba32ui - 33: TypePointer UniformConstant 32 - 34(g_tTex1du4): 33(ptr) Variable UniformConstant - 38: TypeVector 31(int) 4 - 40: TypeImage 6(float) 2D nonsampled format:Rgba32f - 41: TypePointer UniformConstant 40 - 42(g_tTex2df4): 41(ptr) Variable UniformConstant - 44: 11(int) Constant 1 - 45: TypePointer Uniform 12(ivec2) - 49: TypeImage 11(int) 2D nonsampled format:Rgba32i - 50: TypePointer UniformConstant 49 - 51(g_tTex2di4): 50(ptr) Variable UniformConstant - 56: TypeImage 31(int) 2D nonsampled format:Rgba32ui - 57: TypePointer UniformConstant 56 - 58(g_tTex2du4): 57(ptr) Variable UniformConstant - 63: TypeImage 6(float) 3D nonsampled format:Rgba32f - 64: TypePointer UniformConstant 63 - 65(g_tTex3df4): 64(ptr) Variable UniformConstant - 67: 11(int) Constant 2 - 68: TypePointer Uniform 13(ivec3) - 72: TypeImage 11(int) 3D nonsampled format:Rgba32i - 73: TypePointer UniformConstant 72 - 74(g_tTex3di4): 73(ptr) Variable UniformConstant - 79: TypeImage 31(int) 3D nonsampled format:Rgba32ui - 80: TypePointer UniformConstant 79 - 81(g_tTex3du4): 80(ptr) Variable UniformConstant - 86(PS_OUTPUT): TypeStruct 22(fvec4) 6(float) - 87: TypePointer Function 86(PS_OUTPUT) - 89: 6(float) Constant 1065353216 - 90: 22(fvec4) ConstantComposite 89 89 89 89 - 91: TypePointer Function 22(fvec4) - 93: TypePointer Function 6(float) - 95: TypePointer Output 22(fvec4) - 96(Color): 95(ptr) Variable Output - 99: TypePointer Output 6(float) - 100(Depth): 99(ptr) Variable Output - 104: TypeSampler - 105: TypePointer UniformConstant 104 - 106(g_sSamp): 105(ptr) Variable UniformConstant - 107: TypeImage 6(float) 1D array nonsampled format:Rgba32f - 108: TypePointer UniformConstant 107 -109(g_tTex1df4a): 108(ptr) Variable UniformConstant - 110: TypeImage 11(int) 1D array nonsampled format:Rgba32i - 111: TypePointer UniformConstant 110 -112(g_tTex1di4a): 111(ptr) Variable UniformConstant - 113: TypeImage 31(int) 1D array nonsampled format:Rgba32ui - 114: TypePointer UniformConstant 113 -115(g_tTex1du4a): 114(ptr) Variable UniformConstant - 116: TypeImage 6(float) 2D array nonsampled format:Rgba32f - 117: TypePointer UniformConstant 116 -118(g_tTex2df4a): 117(ptr) Variable UniformConstant - 119: TypeImage 11(int) 2D array nonsampled format:Rgba32i - 120: TypePointer UniformConstant 119 -121(g_tTex2di4a): 120(ptr) Variable UniformConstant - 122: TypeImage 31(int) 2D array nonsampled format:Rgba32ui - 123: TypePointer UniformConstant 122 -124(g_tTex2du4a): 123(ptr) Variable UniformConstant + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypeImage 6(float) 1D nonsampled format:Rgba32f + 13: TypePointer UniformConstant 12 + 14(g_tTex1df4): 13(ptr) Variable UniformConstant + 16: TypeInt 32 1 + 17: TypeVector 16(int) 2 + 18: TypeVector 16(int) 3 + 19: TypeVector 16(int) 4 + 20($Global): TypeStruct 16(int) 17(ivec2) 18(ivec3) 19(ivec4) 16(int) 17(ivec2) 18(ivec3) 19(ivec4) + 21: TypePointer Uniform 20($Global) + 22: 21(ptr) Variable Uniform + 23: 16(int) Constant 0 + 24: TypePointer Uniform 16(int) + 28: TypeImage 16(int) 1D nonsampled format:Rgba32i + 29: TypePointer UniformConstant 28 + 30(g_tTex1di4): 29(ptr) Variable UniformConstant + 35: TypeInt 32 0 + 36: TypeImage 35(int) 1D nonsampled format:Rgba32ui + 37: TypePointer UniformConstant 36 + 38(g_tTex1du4): 37(ptr) Variable UniformConstant + 42: TypeVector 35(int) 4 + 44: TypeImage 6(float) 2D nonsampled format:Rgba32f + 45: TypePointer UniformConstant 44 + 46(g_tTex2df4): 45(ptr) Variable UniformConstant + 48: 16(int) Constant 1 + 49: TypePointer Uniform 17(ivec2) + 53: TypeImage 16(int) 2D nonsampled format:Rgba32i + 54: TypePointer UniformConstant 53 + 55(g_tTex2di4): 54(ptr) Variable UniformConstant + 60: TypeImage 35(int) 2D nonsampled format:Rgba32ui + 61: TypePointer UniformConstant 60 + 62(g_tTex2du4): 61(ptr) Variable UniformConstant + 67: TypeImage 6(float) 3D nonsampled format:Rgba32f + 68: TypePointer UniformConstant 67 + 69(g_tTex3df4): 68(ptr) Variable UniformConstant + 71: 16(int) Constant 2 + 72: TypePointer Uniform 18(ivec3) + 76: TypeImage 16(int) 3D nonsampled format:Rgba32i + 77: TypePointer UniformConstant 76 + 78(g_tTex3di4): 77(ptr) Variable UniformConstant + 83: TypeImage 35(int) 3D nonsampled format:Rgba32ui + 84: TypePointer UniformConstant 83 + 85(g_tTex3du4): 84(ptr) Variable UniformConstant + 90: TypePointer Function 8(PS_OUTPUT) + 92: 6(float) Constant 1065353216 + 93: 7(fvec4) ConstantComposite 92 92 92 92 + 94: TypePointer Function 7(fvec4) + 96: TypePointer Function 6(float) + 103: TypePointer Output 7(fvec4) + 104(Color): 103(ptr) Variable Output + 107: TypePointer Output 6(float) + 108(Depth): 107(ptr) Variable Output + 111: TypeSampler + 112: TypePointer UniformConstant 111 + 113(g_sSamp): 112(ptr) Variable UniformConstant + 114: TypeImage 6(float) 1D array nonsampled format:Rgba32f + 115: TypePointer UniformConstant 114 +116(g_tTex1df4a): 115(ptr) Variable UniformConstant + 117: TypeImage 16(int) 1D array nonsampled format:Rgba32i + 118: TypePointer UniformConstant 117 +119(g_tTex1di4a): 118(ptr) Variable UniformConstant + 120: TypeImage 35(int) 1D array nonsampled format:Rgba32ui + 121: TypePointer UniformConstant 120 +122(g_tTex1du4a): 121(ptr) Variable UniformConstant + 123: TypeImage 6(float) 2D array nonsampled format:Rgba32f + 124: TypePointer UniformConstant 123 +125(g_tTex2df4a): 124(ptr) Variable UniformConstant + 126: TypeImage 16(int) 2D array nonsampled format:Rgba32i + 127: TypePointer UniformConstant 126 +128(g_tTex2di4a): 127(ptr) Variable UniformConstant + 129: TypeImage 35(int) 2D array nonsampled format:Rgba32ui + 130: TypePointer UniformConstant 129 +131(g_tTex2du4a): 130(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 88(psout): 87(ptr) Variable Function - 10: 7 Load 9(g_tTex1df4) - 20: 19(ptr) AccessChain 17 18 - 21: 11(int) Load 20 - 23: 22(fvec4) ImageRead 10 21 - 27: 24 Load 26(g_tTex1di4) - 28: 19(ptr) AccessChain 17 18 - 29: 11(int) Load 28 - 30: 14(ivec4) ImageRead 27 29 - 35: 32 Load 34(g_tTex1du4) - 36: 19(ptr) AccessChain 17 18 - 37: 11(int) Load 36 - 39: 38(ivec4) ImageRead 35 37 - 43: 40 Load 42(g_tTex2df4) - 46: 45(ptr) AccessChain 17 44 - 47: 12(ivec2) Load 46 - 48: 22(fvec4) ImageRead 43 47 - 52: 49 Load 51(g_tTex2di4) - 53: 45(ptr) AccessChain 17 44 - 54: 12(ivec2) Load 53 - 55: 14(ivec4) ImageRead 52 54 - 59: 56 Load 58(g_tTex2du4) - 60: 45(ptr) AccessChain 17 44 - 61: 12(ivec2) Load 60 - 62: 38(ivec4) ImageRead 59 61 - 66: 63 Load 65(g_tTex3df4) - 69: 68(ptr) AccessChain 17 67 - 70: 13(ivec3) Load 69 - 71: 22(fvec4) ImageRead 66 70 - 75: 72 Load 74(g_tTex3di4) - 76: 68(ptr) AccessChain 17 67 - 77: 13(ivec3) Load 76 - 78: 14(ivec4) ImageRead 75 77 - 82: 79 Load 81(g_tTex3du4) - 83: 68(ptr) AccessChain 17 67 - 84: 13(ivec3) Load 83 - 85: 38(ivec4) ImageRead 82 84 - 92: 91(ptr) AccessChain 88(psout) 18 - Store 92 90 - 94: 93(ptr) AccessChain 88(psout) 44 - Store 94 89 - 97: 91(ptr) AccessChain 88(psout) 18 - 98: 22(fvec4) Load 97 - Store 96(Color) 98 - 101: 93(ptr) AccessChain 88(psout) 44 - 102: 6(float) Load 101 - Store 100(Depth) 102 +101(flattenTemp): 90(ptr) Variable Function + 102:8(PS_OUTPUT) FunctionCall 10(@main() + Store 101(flattenTemp) 102 + 105: 94(ptr) AccessChain 101(flattenTemp) 23 + 106: 7(fvec4) Load 105 + Store 104(Color) 106 + 109: 96(ptr) AccessChain 101(flattenTemp) 48 + 110: 6(float) Load 109 + Store 108(Depth) 110 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 91(psout): 90(ptr) Variable Function + 15: 12 Load 14(g_tTex1df4) + 25: 24(ptr) AccessChain 22 23 + 26: 16(int) Load 25 + 27: 7(fvec4) ImageRead 15 26 + 31: 28 Load 30(g_tTex1di4) + 32: 24(ptr) AccessChain 22 23 + 33: 16(int) Load 32 + 34: 19(ivec4) ImageRead 31 33 + 39: 36 Load 38(g_tTex1du4) + 40: 24(ptr) AccessChain 22 23 + 41: 16(int) Load 40 + 43: 42(ivec4) ImageRead 39 41 + 47: 44 Load 46(g_tTex2df4) + 50: 49(ptr) AccessChain 22 48 + 51: 17(ivec2) Load 50 + 52: 7(fvec4) ImageRead 47 51 + 56: 53 Load 55(g_tTex2di4) + 57: 49(ptr) AccessChain 22 48 + 58: 17(ivec2) Load 57 + 59: 19(ivec4) ImageRead 56 58 + 63: 60 Load 62(g_tTex2du4) + 64: 49(ptr) AccessChain 22 48 + 65: 17(ivec2) Load 64 + 66: 42(ivec4) ImageRead 63 65 + 70: 67 Load 69(g_tTex3df4) + 73: 72(ptr) AccessChain 22 71 + 74: 18(ivec3) Load 73 + 75: 7(fvec4) ImageRead 70 74 + 79: 76 Load 78(g_tTex3di4) + 80: 72(ptr) AccessChain 22 71 + 81: 18(ivec3) Load 80 + 82: 19(ivec4) ImageRead 79 81 + 86: 83 Load 85(g_tTex3du4) + 87: 72(ptr) AccessChain 22 71 + 88: 18(ivec3) Load 87 + 89: 42(ivec4) ImageRead 86 88 + 95: 94(ptr) AccessChain 91(psout) 23 + Store 95 93 + 97: 96(ptr) AccessChain 91(psout) 48 + Store 97 92 + 98:8(PS_OUTPUT) Load 91(psout) + ReturnValue 98 + FunctionEnd diff --git a/Test/baseResults/hlsl.logical.binary.frag.out b/Test/baseResults/hlsl.logical.binary.frag.out index d9ae7d5b..3f4393c9 100644 --- a/Test/baseResults/hlsl.logical.binary.frag.out +++ b/Test/baseResults/hlsl.logical.binary.frag.out @@ -2,7 +2,7 @@ hlsl.logical.binary.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:12 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:12 Function Definition: @main( (temp structure{temp 4-component vector of float Color}) 0:12 Function Parameters: 0:? Sequence 0:13 Test condition and select (temp void) @@ -45,15 +45,18 @@ gl_FragCoord origin is upper left 0:17 1.000000 0:17 1.000000 0:17 1.000000 -0:18 Sequence -0:18 Sequence -0:18 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:18 Color: direct index for structure (temp 4-component vector of float) -0:18 'psout' (temp structure{temp 4-component vector of float Color}) -0:18 Constant: -0:18 0 (const int) -0:18 Branch: Return +0:18 Branch: Return with expression +0:18 'psout' (temp structure{temp 4-component vector of float Color}) +0:12 Function Definition: main( (temp void) +0:12 Function Parameters: +0:? Sequence +0:12 Sequence +0:12 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:12 Color: direct index for structure (temp 4-component vector of float) +0:12 Function Call: @main( (temp structure{temp 4-component vector of float Color}) +0:12 Constant: +0:12 0 (const int) 0:? Linker Objects 0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) @@ -65,7 +68,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:12 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:12 Function Definition: @main( (temp structure{temp 4-component vector of float Color}) 0:12 Function Parameters: 0:? Sequence 0:13 Test condition and select (temp void) @@ -108,113 +111,123 @@ gl_FragCoord origin is upper left 0:17 1.000000 0:17 1.000000 0:17 1.000000 -0:18 Sequence -0:18 Sequence -0:18 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:18 Color: direct index for structure (temp 4-component vector of float) -0:18 'psout' (temp structure{temp 4-component vector of float Color}) -0:18 Constant: -0:18 0 (const int) -0:18 Branch: Return +0:18 Branch: Return with expression +0:18 'psout' (temp structure{temp 4-component vector of float Color}) +0:12 Function Definition: main( (temp void) +0:12 Function Parameters: +0:? Sequence +0:12 Sequence +0:12 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:12 Color: direct index for structure (temp 4-component vector of float) +0:12 Function Call: @main( (temp structure{temp 4-component vector of float Color}) +0:12 Constant: +0:12 0 (const int) 0:? Linker Objects 0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 57 +// Id's are bound by 62 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 53 + EntryPoint Fragment 4 "main" 59 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 11 "$Global" - MemberName 11($Global) 0 "ival" - MemberName 11($Global) 1 "ival4" - MemberName 11($Global) 2 "fval" - MemberName 11($Global) 3 "fval4" - Name 13 "" - Name 45 "PS_OUTPUT" - MemberName 45(PS_OUTPUT) 0 "Color" - Name 47 "psout" - Name 53 "Color" - MemberDecorate 11($Global) 0 Offset 0 - MemberDecorate 11($Global) 1 Offset 16 - MemberDecorate 11($Global) 2 Offset 32 - MemberDecorate 11($Global) 3 Offset 48 - Decorate 11($Global) Block - Decorate 13 DescriptorSet 0 - Decorate 53(Color) Location 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + Name 10 "@main(" + Name 15 "$Global" + MemberName 15($Global) 0 "ival" + MemberName 15($Global) 1 "ival4" + MemberName 15($Global) 2 "fval" + MemberName 15($Global) 3 "fval4" + Name 17 "" + Name 50 "psout" + Name 59 "Color" + MemberDecorate 15($Global) 0 Offset 0 + MemberDecorate 15($Global) 1 Offset 16 + MemberDecorate 15($Global) 2 Offset 32 + MemberDecorate 15($Global) 3 Offset 48 + Decorate 15($Global) Block + Decorate 17 DescriptorSet 0 + Decorate 59(Color) Location 0 2: TypeVoid 3: TypeFunction 2 - 6: TypeBool - 7: TypeInt 32 1 - 8: TypeVector 7(int) 4 - 9: TypeFloat 32 - 10: TypeVector 9(float) 4 - 11($Global): TypeStruct 7(int) 8(ivec4) 9(float) 10(fvec4) - 12: TypePointer Uniform 11($Global) - 13: 12(ptr) Variable Uniform - 14: 7(int) Constant 0 - 15: TypePointer Uniform 7(int) - 18: TypeInt 32 0 - 19: 18(int) Constant 0 - 23: 7(int) Constant 2 - 24: TypePointer Uniform 9(float) - 45(PS_OUTPUT): TypeStruct 10(fvec4) - 46: TypePointer Function 45(PS_OUTPUT) - 48: 9(float) Constant 1065353216 - 49: 10(fvec4) ConstantComposite 48 48 48 48 - 50: TypePointer Function 10(fvec4) - 52: TypePointer Output 10(fvec4) - 53(Color): 52(ptr) Variable Output + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypeBool + 13: TypeInt 32 1 + 14: TypeVector 13(int) 4 + 15($Global): TypeStruct 13(int) 14(ivec4) 6(float) 7(fvec4) + 16: TypePointer Uniform 15($Global) + 17: 16(ptr) Variable Uniform + 18: 13(int) Constant 0 + 19: TypePointer Uniform 13(int) + 22: TypeInt 32 0 + 23: 22(int) Constant 0 + 27: 13(int) Constant 2 + 28: TypePointer Uniform 6(float) + 49: TypePointer Function 8(PS_OUTPUT) + 51: 6(float) Constant 1065353216 + 52: 7(fvec4) ConstantComposite 51 51 51 51 + 53: TypePointer Function 7(fvec4) + 58: TypePointer Output 7(fvec4) + 59(Color): 58(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 47(psout): 46(ptr) Variable Function - 16: 15(ptr) AccessChain 13 14 - 17: 7(int) Load 16 - 20: 6(bool) INotEqual 17 19 - SelectionMerge 22 None - BranchConditional 20 21 22 - 21: Label - 25: 24(ptr) AccessChain 13 23 - 26: 9(float) Load 25 - 27: 7(int) ConvertFToS 26 - 28: 6(bool) INotEqual 27 19 - Branch 22 - 22: Label - 29: 6(bool) Phi 20 5 28 21 - SelectionMerge 31 None - BranchConditional 29 30 31 - 30: Label - Branch 31 - 31: Label - 32: 15(ptr) AccessChain 13 14 - 33: 7(int) Load 32 - 34: 6(bool) INotEqual 33 19 - 35: 6(bool) LogicalNot 34 - SelectionMerge 37 None - BranchConditional 35 36 37 - 36: Label - 38: 24(ptr) AccessChain 13 23 - 39: 9(float) Load 38 - 40: 7(int) ConvertFToS 39 - 41: 6(bool) INotEqual 40 19 - Branch 37 - 37: Label - 42: 6(bool) Phi 34 31 41 36 - SelectionMerge 44 None - BranchConditional 42 43 44 - 43: Label - Branch 44 - 44: Label - 51: 50(ptr) AccessChain 47(psout) 14 - Store 51 49 - 54: 50(ptr) AccessChain 47(psout) 14 - 55: 10(fvec4) Load 54 - Store 53(Color) 55 + 60:8(PS_OUTPUT) FunctionCall 10(@main() + 61: 7(fvec4) CompositeExtract 60 0 + Store 59(Color) 61 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 50(psout): 49(ptr) Variable Function + 20: 19(ptr) AccessChain 17 18 + 21: 13(int) Load 20 + 24: 12(bool) INotEqual 21 23 + SelectionMerge 26 None + BranchConditional 24 25 26 + 25: Label + 29: 28(ptr) AccessChain 17 27 + 30: 6(float) Load 29 + 31: 13(int) ConvertFToS 30 + 32: 12(bool) INotEqual 31 23 + Branch 26 + 26: Label + 33: 12(bool) Phi 24 11 32 25 + SelectionMerge 35 None + BranchConditional 33 34 35 + 34: Label + Branch 35 + 35: Label + 36: 19(ptr) AccessChain 17 18 + 37: 13(int) Load 36 + 38: 12(bool) INotEqual 37 23 + 39: 12(bool) LogicalNot 38 + SelectionMerge 41 None + BranchConditional 39 40 41 + 40: Label + 42: 28(ptr) AccessChain 17 27 + 43: 6(float) Load 42 + 44: 13(int) ConvertFToS 43 + 45: 12(bool) INotEqual 44 23 + Branch 41 + 41: Label + 46: 12(bool) Phi 38 35 45 40 + SelectionMerge 48 None + BranchConditional 46 47 48 + 47: Label + Branch 48 + 48: Label + 54: 53(ptr) AccessChain 50(psout) 18 + Store 54 52 + 55:8(PS_OUTPUT) Load 50(psout) + ReturnValue 55 + FunctionEnd diff --git a/Test/baseResults/hlsl.logical.binary.vec.frag.out b/Test/baseResults/hlsl.logical.binary.vec.frag.out index 32b5a385..7a481ebb 100644 --- a/Test/baseResults/hlsl.logical.binary.vec.frag.out +++ b/Test/baseResults/hlsl.logical.binary.vec.frag.out @@ -2,7 +2,7 @@ hlsl.logical.binary.vec.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:10 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:10 Function Definition: @main( (temp structure{temp 4-component vector of float Color}) 0:10 Function Parameters: 0:? Sequence 0:11 Sequence @@ -108,15 +108,18 @@ gl_FragCoord origin is upper left 0:22 'r11' (temp 4-component vector of bool) 0:22 'r20' (temp 4-component vector of bool) 0:22 'r21' (temp 4-component vector of bool) -0:23 Sequence -0:23 Sequence -0:23 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:23 Color: direct index for structure (temp 4-component vector of float) -0:23 'psout' (temp structure{temp 4-component vector of float Color}) -0:23 Constant: -0:23 0 (const int) -0:23 Branch: Return +0:23 Branch: Return with expression +0:23 'psout' (temp structure{temp 4-component vector of float Color}) +0:10 Function Definition: main( (temp void) +0:10 Function Parameters: +0:? Sequence +0:10 Sequence +0:10 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:10 Color: direct index for structure (temp 4-component vector of float) +0:10 Function Call: @main( (temp structure{temp 4-component vector of float Color}) +0:10 Constant: +0:10 0 (const int) 0:? Linker Objects 0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) @@ -128,7 +131,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:10 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:10 Function Definition: @main( (temp structure{temp 4-component vector of float Color}) 0:10 Function Parameters: 0:? Sequence 0:11 Sequence @@ -234,179 +237,189 @@ gl_FragCoord origin is upper left 0:22 'r11' (temp 4-component vector of bool) 0:22 'r20' (temp 4-component vector of bool) 0:22 'r21' (temp 4-component vector of bool) -0:23 Sequence -0:23 Sequence -0:23 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:23 Color: direct index for structure (temp 4-component vector of float) -0:23 'psout' (temp structure{temp 4-component vector of float Color}) -0:23 Constant: -0:23 0 (const int) -0:23 Branch: Return +0:23 Branch: Return with expression +0:23 'psout' (temp structure{temp 4-component vector of float Color}) +0:10 Function Definition: main( (temp void) +0:10 Function Parameters: +0:? Sequence +0:10 Sequence +0:10 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:10 Color: direct index for structure (temp 4-component vector of float) +0:10 Function Call: @main( (temp structure{temp 4-component vector of float Color}) +0:10 Constant: +0:10 0 (const int) 0:? Linker Objects 0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 115 +// Id's are bound by 120 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 111 + EntryPoint Fragment 4 "main" 117 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "r00" - Name 12 "$Global" - MemberName 12($Global) 0 "b4a" - MemberName 12($Global) 1 "b4b" - MemberName 12($Global) 2 "b1a" - MemberName 12($Global) 3 "b1b" - Name 14 "" - Name 24 "r01" - Name 33 "r02" - Name 41 "r10" - Name 52 "r11" - Name 61 "r20" - Name 73 "r21" - Name 87 "PS_OUTPUT" - MemberName 87(PS_OUTPUT) 0 "Color" - Name 89 "psout" - Name 111 "Color" - MemberDecorate 12($Global) 0 Offset 0 - MemberDecorate 12($Global) 1 Offset 16 - MemberDecorate 12($Global) 2 Offset 32 - MemberDecorate 12($Global) 3 Offset 36 - Decorate 12($Global) Block - Decorate 14 DescriptorSet 0 - Decorate 111(Color) Location 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + Name 10 "@main(" + Name 15 "r00" + Name 18 "$Global" + MemberName 18($Global) 0 "b4a" + MemberName 18($Global) 1 "b4b" + MemberName 18($Global) 2 "b1a" + MemberName 18($Global) 3 "b1b" + Name 20 "" + Name 30 "r01" + Name 39 "r02" + Name 47 "r10" + Name 58 "r11" + Name 67 "r20" + Name 79 "r21" + Name 92 "psout" + Name 117 "Color" + MemberDecorate 18($Global) 0 Offset 0 + MemberDecorate 18($Global) 1 Offset 16 + MemberDecorate 18($Global) 2 Offset 32 + MemberDecorate 18($Global) 3 Offset 36 + Decorate 18($Global) Block + Decorate 20 DescriptorSet 0 + Decorate 117(Color) Location 0 2: TypeVoid 3: TypeFunction 2 - 6: TypeBool - 7: TypeVector 6(bool) 4 - 8: TypePointer Function 7(bvec4) - 10: TypeInt 32 0 - 11: TypeVector 10(int) 4 - 12($Global): TypeStruct 11(ivec4) 11(ivec4) 10(int) 10(int) - 13: TypePointer Uniform 12($Global) - 14: 13(ptr) Variable Uniform - 15: TypeInt 32 1 - 16: 15(int) Constant 0 - 17: TypePointer Uniform 11(ivec4) - 20: 10(int) Constant 0 - 21: 11(ivec4) ConstantComposite 20 20 20 20 - 28: 15(int) Constant 1 - 42: 15(int) Constant 2 - 43: TypePointer Uniform 10(int) - 67: 15(int) Constant 3 - 85: TypeFloat 32 - 86: TypeVector 85(float) 4 - 87(PS_OUTPUT): TypeStruct 86(fvec4) - 88: TypePointer Function 87(PS_OUTPUT) - 103: 85(float) Constant 0 - 104: 85(float) Constant 1065353216 - 105: 86(fvec4) ConstantComposite 103 103 103 103 - 106: 86(fvec4) ConstantComposite 104 104 104 104 - 108: TypePointer Function 86(fvec4) - 110: TypePointer Output 86(fvec4) - 111(Color): 110(ptr) Variable Output + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypeBool + 13: TypeVector 12(bool) 4 + 14: TypePointer Function 13(bvec4) + 16: TypeInt 32 0 + 17: TypeVector 16(int) 4 + 18($Global): TypeStruct 17(ivec4) 17(ivec4) 16(int) 16(int) + 19: TypePointer Uniform 18($Global) + 20: 19(ptr) Variable Uniform + 21: TypeInt 32 1 + 22: 21(int) Constant 0 + 23: TypePointer Uniform 17(ivec4) + 26: 16(int) Constant 0 + 27: 17(ivec4) ConstantComposite 26 26 26 26 + 34: 21(int) Constant 1 + 48: 21(int) Constant 2 + 49: TypePointer Uniform 16(int) + 73: 21(int) Constant 3 + 91: TypePointer Function 8(PS_OUTPUT) + 106: 6(float) Constant 0 + 107: 6(float) Constant 1065353216 + 108: 7(fvec4) ConstantComposite 106 106 106 106 + 109: 7(fvec4) ConstantComposite 107 107 107 107 + 111: TypePointer Function 7(fvec4) + 116: TypePointer Output 7(fvec4) + 117(Color): 116(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 9(r00): 8(ptr) Variable Function - 24(r01): 8(ptr) Variable Function - 33(r02): 8(ptr) Variable Function - 41(r10): 8(ptr) Variable Function - 52(r11): 8(ptr) Variable Function - 61(r20): 8(ptr) Variable Function - 73(r21): 8(ptr) Variable Function - 89(psout): 88(ptr) Variable Function - 18: 17(ptr) AccessChain 14 16 - 19: 11(ivec4) Load 18 - 22: 7(bvec4) INotEqual 19 21 - 23: 7(bvec4) LogicalNot 22 - Store 9(r00) 23 - 25: 17(ptr) AccessChain 14 16 - 26: 11(ivec4) Load 25 - 27: 7(bvec4) INotEqual 26 21 - 29: 17(ptr) AccessChain 14 28 - 30: 11(ivec4) Load 29 - 31: 7(bvec4) INotEqual 30 21 - 32: 7(bvec4) LogicalAnd 27 31 - Store 24(r01) 32 - 34: 17(ptr) AccessChain 14 16 - 35: 11(ivec4) Load 34 - 36: 7(bvec4) INotEqual 35 21 - 37: 17(ptr) AccessChain 14 28 - 38: 11(ivec4) Load 37 - 39: 7(bvec4) INotEqual 38 21 - 40: 7(bvec4) LogicalOr 36 39 - Store 33(r02) 40 - 44: 43(ptr) AccessChain 14 42 - 45: 10(int) Load 44 - 46: 6(bool) INotEqual 45 20 - 47: 7(bvec4) CompositeConstruct 46 46 46 46 - 48: 17(ptr) AccessChain 14 28 - 49: 11(ivec4) Load 48 - 50: 7(bvec4) INotEqual 49 21 - 51: 7(bvec4) LogicalAnd 47 50 - Store 41(r10) 51 - 53: 43(ptr) AccessChain 14 42 - 54: 10(int) Load 53 - 55: 6(bool) INotEqual 54 20 - 56: 7(bvec4) CompositeConstruct 55 55 55 55 - 57: 17(ptr) AccessChain 14 28 - 58: 11(ivec4) Load 57 - 59: 7(bvec4) INotEqual 58 21 - 60: 7(bvec4) LogicalOr 56 59 - Store 52(r11) 60 - 62: 17(ptr) AccessChain 14 16 - 63: 11(ivec4) Load 62 - 64: 7(bvec4) INotEqual 63 21 - SelectionMerge 66 None - BranchConditional 64 65 66 - 65: Label - 68: 43(ptr) AccessChain 14 67 - 69: 10(int) Load 68 - 70: 6(bool) INotEqual 69 20 - 71: 7(bvec4) CompositeConstruct 70 70 70 70 - Branch 66 - 66: Label - 72: 6(bool) Phi 64 5 71 65 - Store 61(r20) 72 - 74: 17(ptr) AccessChain 14 16 - 75: 11(ivec4) Load 74 - 76: 7(bvec4) INotEqual 75 21 - 77: 6(bool) LogicalNot 76 - SelectionMerge 79 None - BranchConditional 77 78 79 - 78: Label - 80: 43(ptr) AccessChain 14 67 - 81: 10(int) Load 80 - 82: 6(bool) INotEqual 81 20 - 83: 7(bvec4) CompositeConstruct 82 82 82 82 - Branch 79 - 79: Label - 84: 6(bool) Phi 76 66 83 78 - Store 73(r21) 84 - 90: 7(bvec4) Load 9(r00) - 91: 7(bvec4) Load 24(r01) - 92: 7(bvec4) LogicalOr 90 91 - 93: 7(bvec4) Load 33(r02) - 94: 7(bvec4) LogicalOr 92 93 - 95: 7(bvec4) Load 41(r10) - 96: 7(bvec4) LogicalOr 94 95 - 97: 7(bvec4) Load 52(r11) - 98: 7(bvec4) LogicalOr 96 97 - 99: 7(bvec4) Load 61(r20) - 100: 7(bvec4) LogicalOr 98 99 - 101: 7(bvec4) Load 73(r21) - 102: 7(bvec4) LogicalOr 100 101 - 107: 86(fvec4) Select 102 106 105 - 109: 108(ptr) AccessChain 89(psout) 16 - Store 109 107 - 112: 108(ptr) AccessChain 89(psout) 16 - 113: 86(fvec4) Load 112 - Store 111(Color) 113 + 118:8(PS_OUTPUT) FunctionCall 10(@main() + 119: 7(fvec4) CompositeExtract 118 0 + Store 117(Color) 119 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 15(r00): 14(ptr) Variable Function + 30(r01): 14(ptr) Variable Function + 39(r02): 14(ptr) Variable Function + 47(r10): 14(ptr) Variable Function + 58(r11): 14(ptr) Variable Function + 67(r20): 14(ptr) Variable Function + 79(r21): 14(ptr) Variable Function + 92(psout): 91(ptr) Variable Function + 24: 23(ptr) AccessChain 20 22 + 25: 17(ivec4) Load 24 + 28: 13(bvec4) INotEqual 25 27 + 29: 13(bvec4) LogicalNot 28 + Store 15(r00) 29 + 31: 23(ptr) AccessChain 20 22 + 32: 17(ivec4) Load 31 + 33: 13(bvec4) INotEqual 32 27 + 35: 23(ptr) AccessChain 20 34 + 36: 17(ivec4) Load 35 + 37: 13(bvec4) INotEqual 36 27 + 38: 13(bvec4) LogicalAnd 33 37 + Store 30(r01) 38 + 40: 23(ptr) AccessChain 20 22 + 41: 17(ivec4) Load 40 + 42: 13(bvec4) INotEqual 41 27 + 43: 23(ptr) AccessChain 20 34 + 44: 17(ivec4) Load 43 + 45: 13(bvec4) INotEqual 44 27 + 46: 13(bvec4) LogicalOr 42 45 + Store 39(r02) 46 + 50: 49(ptr) AccessChain 20 48 + 51: 16(int) Load 50 + 52: 12(bool) INotEqual 51 26 + 53: 13(bvec4) CompositeConstruct 52 52 52 52 + 54: 23(ptr) AccessChain 20 34 + 55: 17(ivec4) Load 54 + 56: 13(bvec4) INotEqual 55 27 + 57: 13(bvec4) LogicalAnd 53 56 + Store 47(r10) 57 + 59: 49(ptr) AccessChain 20 48 + 60: 16(int) Load 59 + 61: 12(bool) INotEqual 60 26 + 62: 13(bvec4) CompositeConstruct 61 61 61 61 + 63: 23(ptr) AccessChain 20 34 + 64: 17(ivec4) Load 63 + 65: 13(bvec4) INotEqual 64 27 + 66: 13(bvec4) LogicalOr 62 65 + Store 58(r11) 66 + 68: 23(ptr) AccessChain 20 22 + 69: 17(ivec4) Load 68 + 70: 13(bvec4) INotEqual 69 27 + SelectionMerge 72 None + BranchConditional 70 71 72 + 71: Label + 74: 49(ptr) AccessChain 20 73 + 75: 16(int) Load 74 + 76: 12(bool) INotEqual 75 26 + 77: 13(bvec4) CompositeConstruct 76 76 76 76 + Branch 72 + 72: Label + 78: 12(bool) Phi 70 11 77 71 + Store 67(r20) 78 + 80: 23(ptr) AccessChain 20 22 + 81: 17(ivec4) Load 80 + 82: 13(bvec4) INotEqual 81 27 + 83: 12(bool) LogicalNot 82 + SelectionMerge 85 None + BranchConditional 83 84 85 + 84: Label + 86: 49(ptr) AccessChain 20 73 + 87: 16(int) Load 86 + 88: 12(bool) INotEqual 87 26 + 89: 13(bvec4) CompositeConstruct 88 88 88 88 + Branch 85 + 85: Label + 90: 12(bool) Phi 82 72 89 84 + Store 79(r21) 90 + 93: 13(bvec4) Load 15(r00) + 94: 13(bvec4) Load 30(r01) + 95: 13(bvec4) LogicalOr 93 94 + 96: 13(bvec4) Load 39(r02) + 97: 13(bvec4) LogicalOr 95 96 + 98: 13(bvec4) Load 47(r10) + 99: 13(bvec4) LogicalOr 97 98 + 100: 13(bvec4) Load 58(r11) + 101: 13(bvec4) LogicalOr 99 100 + 102: 13(bvec4) Load 67(r20) + 103: 13(bvec4) LogicalOr 101 102 + 104: 13(bvec4) Load 79(r21) + 105: 13(bvec4) LogicalOr 103 104 + 110: 7(fvec4) Select 105 109 108 + 112: 111(ptr) AccessChain 92(psout) 22 + Store 112 110 + 113:8(PS_OUTPUT) Load 92(psout) + ReturnValue 113 + FunctionEnd diff --git a/Test/baseResults/hlsl.logical.unary.frag.out b/Test/baseResults/hlsl.logical.unary.frag.out index 1aaa69a2..cbb4c308 100644 --- a/Test/baseResults/hlsl.logical.unary.frag.out +++ b/Test/baseResults/hlsl.logical.unary.frag.out @@ -2,7 +2,7 @@ hlsl.logical.unary.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:12 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:12 Function Definition: @main( (temp structure{temp 4-component vector of float Color}) 0:12 Function Parameters: 0:? Sequence 0:13 Negate conditional (temp bool) @@ -71,15 +71,18 @@ gl_FragCoord origin is upper left 0:25 1.000000 0:25 1.000000 0:25 1.000000 -0:26 Sequence -0:26 Sequence -0:26 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:26 Color: direct index for structure (temp 4-component vector of float) -0:26 'psout' (temp structure{temp 4-component vector of float Color}) -0:26 Constant: -0:26 0 (const int) -0:26 Branch: Return +0:26 Branch: Return with expression +0:26 'psout' (temp structure{temp 4-component vector of float Color}) +0:12 Function Definition: main( (temp void) +0:12 Function Parameters: +0:? Sequence +0:12 Sequence +0:12 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:12 Color: direct index for structure (temp 4-component vector of float) +0:12 Function Call: @main( (temp structure{temp 4-component vector of float Color}) +0:12 Constant: +0:12 0 (const int) 0:? Linker Objects 0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) @@ -91,7 +94,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:12 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:12 Function Definition: @main( (temp structure{temp 4-component vector of float Color}) 0:12 Function Parameters: 0:? Sequence 0:13 Negate conditional (temp bool) @@ -160,133 +163,143 @@ gl_FragCoord origin is upper left 0:25 1.000000 0:25 1.000000 0:25 1.000000 -0:26 Sequence -0:26 Sequence -0:26 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:26 Color: direct index for structure (temp 4-component vector of float) -0:26 'psout' (temp structure{temp 4-component vector of float Color}) -0:26 Constant: -0:26 0 (const int) -0:26 Branch: Return +0:26 Branch: Return with expression +0:26 'psout' (temp structure{temp 4-component vector of float Color}) +0:12 Function Definition: main( (temp void) +0:12 Function Parameters: +0:? Sequence +0:12 Sequence +0:12 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:12 Color: direct index for structure (temp 4-component vector of float) +0:12 Function Call: @main( (temp structure{temp 4-component vector of float Color}) +0:12 Constant: +0:12 0 (const int) 0:? Linker Objects 0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 77 +// Id's are bound by 82 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 73 + EntryPoint Fragment 4 "main" 79 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 10 "$Global" - MemberName 10($Global) 0 "ival" - MemberName 10($Global) 1 "ival4" - MemberName 10($Global) 2 "fval" - MemberName 10($Global) 3 "fval4" - Name 12 "" - Name 65 "PS_OUTPUT" - MemberName 65(PS_OUTPUT) 0 "Color" - Name 67 "psout" - Name 73 "Color" - MemberDecorate 10($Global) 0 Offset 0 - MemberDecorate 10($Global) 1 Offset 16 - MemberDecorate 10($Global) 2 Offset 32 - MemberDecorate 10($Global) 3 Offset 48 - Decorate 10($Global) Block - Decorate 12 DescriptorSet 0 - Decorate 73(Color) Location 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + Name 10 "@main(" + Name 14 "$Global" + MemberName 14($Global) 0 "ival" + MemberName 14($Global) 1 "ival4" + MemberName 14($Global) 2 "fval" + MemberName 14($Global) 3 "fval4" + Name 16 "" + Name 70 "psout" + Name 79 "Color" + MemberDecorate 14($Global) 0 Offset 0 + MemberDecorate 14($Global) 1 Offset 16 + MemberDecorate 14($Global) 2 Offset 32 + MemberDecorate 14($Global) 3 Offset 48 + Decorate 14($Global) Block + Decorate 16 DescriptorSet 0 + Decorate 79(Color) Location 0 2: TypeVoid 3: TypeFunction 2 - 6: TypeInt 32 1 - 7: TypeVector 6(int) 4 - 8: TypeFloat 32 - 9: TypeVector 8(float) 4 - 10($Global): TypeStruct 6(int) 7(ivec4) 8(float) 9(fvec4) - 11: TypePointer Uniform 10($Global) - 12: 11(ptr) Variable Uniform - 13: 6(int) Constant 0 - 14: TypePointer Uniform 6(int) - 17: TypeBool - 18: TypeInt 32 0 - 19: 18(int) Constant 0 - 22: 6(int) Constant 1 - 23: TypePointer Uniform 7(ivec4) - 26: TypeVector 17(bool) 4 - 27: TypeVector 18(int) 4 - 28: 27(ivec4) ConstantComposite 19 19 19 19 - 31: 6(int) Constant 2 - 32: TypePointer Uniform 8(float) - 35: 8(float) Constant 0 - 38: 6(int) Constant 3 - 39: TypePointer Uniform 9(fvec4) - 42: 9(fvec4) ConstantComposite 35 35 35 35 - 65(PS_OUTPUT): TypeStruct 9(fvec4) - 66: TypePointer Function 65(PS_OUTPUT) - 68: 8(float) Constant 1065353216 - 69: 9(fvec4) ConstantComposite 68 68 68 68 - 70: TypePointer Function 9(fvec4) - 72: TypePointer Output 9(fvec4) - 73(Color): 72(ptr) Variable Output + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypeInt 32 1 + 13: TypeVector 12(int) 4 + 14($Global): TypeStruct 12(int) 13(ivec4) 6(float) 7(fvec4) + 15: TypePointer Uniform 14($Global) + 16: 15(ptr) Variable Uniform + 17: 12(int) Constant 0 + 18: TypePointer Uniform 12(int) + 21: TypeBool + 22: TypeInt 32 0 + 23: 22(int) Constant 0 + 26: 12(int) Constant 1 + 27: TypePointer Uniform 13(ivec4) + 30: TypeVector 21(bool) 4 + 31: TypeVector 22(int) 4 + 32: 31(ivec4) ConstantComposite 23 23 23 23 + 35: 12(int) Constant 2 + 36: TypePointer Uniform 6(float) + 39: 6(float) Constant 0 + 42: 12(int) Constant 3 + 43: TypePointer Uniform 7(fvec4) + 46: 7(fvec4) ConstantComposite 39 39 39 39 + 69: TypePointer Function 8(PS_OUTPUT) + 71: 6(float) Constant 1065353216 + 72: 7(fvec4) ConstantComposite 71 71 71 71 + 73: TypePointer Function 7(fvec4) + 78: TypePointer Output 7(fvec4) + 79(Color): 78(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 67(psout): 66(ptr) Variable Function - 15: 14(ptr) AccessChain 12 13 - 16: 6(int) Load 15 - 20: 17(bool) INotEqual 16 19 - 21: 17(bool) LogicalNot 20 - 24: 23(ptr) AccessChain 12 22 - 25: 7(ivec4) Load 24 - 29: 26(bvec4) INotEqual 25 28 - 30: 26(bvec4) LogicalNot 29 - 33: 32(ptr) AccessChain 12 31 - 34: 8(float) Load 33 - 36: 17(bool) FOrdNotEqual 34 35 - 37: 17(bool) LogicalNot 36 - 40: 39(ptr) AccessChain 12 38 - 41: 9(fvec4) Load 40 - 43: 26(bvec4) FOrdNotEqual 41 42 - 44: 26(bvec4) LogicalNot 43 - 45: 14(ptr) AccessChain 12 13 - 46: 6(int) Load 45 - SelectionMerge 48 None - BranchConditional 46 47 48 - 47: Label - Branch 48 - 48: Label - 49: 32(ptr) AccessChain 12 31 - 50: 8(float) Load 49 + 80:8(PS_OUTPUT) FunctionCall 10(@main() + 81: 7(fvec4) CompositeExtract 80 0 + Store 79(Color) 81 + Return + FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 70(psout): 69(ptr) Variable Function + 19: 18(ptr) AccessChain 16 17 + 20: 12(int) Load 19 + 24: 21(bool) INotEqual 20 23 + 25: 21(bool) LogicalNot 24 + 28: 27(ptr) AccessChain 16 26 + 29: 13(ivec4) Load 28 + 33: 30(bvec4) INotEqual 29 32 + 34: 30(bvec4) LogicalNot 33 + 37: 36(ptr) AccessChain 16 35 + 38: 6(float) Load 37 + 40: 21(bool) FOrdNotEqual 38 39 + 41: 21(bool) LogicalNot 40 + 44: 43(ptr) AccessChain 16 42 + 45: 7(fvec4) Load 44 + 47: 30(bvec4) FOrdNotEqual 45 46 + 48: 30(bvec4) LogicalNot 47 + 49: 18(ptr) AccessChain 16 17 + 50: 12(int) Load 49 SelectionMerge 52 None BranchConditional 50 51 52 51: Label Branch 52 52: Label - 53: 14(ptr) AccessChain 12 13 - 54: 6(int) Load 53 - 55: 17(bool) INotEqual 54 19 - 56: 17(bool) LogicalNot 55 - SelectionMerge 58 None - BranchConditional 56 57 58 - 57: Label - Branch 58 - 58: Label - 59: 32(ptr) AccessChain 12 31 - 60: 8(float) Load 59 - 61: 17(bool) FOrdNotEqual 60 35 - 62: 17(bool) LogicalNot 61 - SelectionMerge 64 None - BranchConditional 62 63 64 - 63: Label - Branch 64 - 64: Label - 71: 70(ptr) AccessChain 67(psout) 13 - Store 71 69 - 74: 70(ptr) AccessChain 67(psout) 13 - 75: 9(fvec4) Load 74 - Store 73(Color) 75 - Return + 53: 36(ptr) AccessChain 16 35 + 54: 6(float) Load 53 + SelectionMerge 56 None + BranchConditional 54 55 56 + 55: Label + Branch 56 + 56: Label + 57: 18(ptr) AccessChain 16 17 + 58: 12(int) Load 57 + 59: 21(bool) INotEqual 58 23 + 60: 21(bool) LogicalNot 59 + SelectionMerge 62 None + BranchConditional 60 61 62 + 61: Label + Branch 62 + 62: Label + 63: 36(ptr) AccessChain 16 35 + 64: 6(float) Load 63 + 65: 21(bool) FOrdNotEqual 64 39 + 66: 21(bool) LogicalNot 65 + SelectionMerge 68 None + BranchConditional 66 67 68 + 67: Label + Branch 68 + 68: Label + 74: 73(ptr) AccessChain 70(psout) 17 + Store 74 72 + 75:8(PS_OUTPUT) Load 70(psout) + ReturnValue 75 FunctionEnd diff --git a/Test/baseResults/hlsl.matNx1.frag.out b/Test/baseResults/hlsl.matNx1.frag.out index f9dd65f9..56f107c3 100644 --- a/Test/baseResults/hlsl.matNx1.frag.out +++ b/Test/baseResults/hlsl.matNx1.frag.out @@ -45,7 +45,7 @@ gl_FragCoord origin is upper left 0:21 'r13' (temp 4X1 matrix of float) 0:21 transpose (temp 4X1 matrix of float) 0:21 'f1x4' (temp 1X4 matrix of float) -0:27 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:27 Function Definition: @main( (temp structure{temp 4-component vector of float color}) 0:27 Function Parameters: 0:? Sequence 0:29 move second child to first child (temp 4-component vector of float) @@ -58,15 +58,18 @@ gl_FragCoord origin is upper left 0:29 1.000000 0:29 1.000000 0:29 1.000000 -0:30 Sequence -0:30 Sequence -0:30 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:30 color: direct index for structure (temp 4-component vector of float) -0:30 'ps_output' (temp structure{temp 4-component vector of float color}) -0:30 Constant: -0:30 0 (const int) -0:30 Branch: Return +0:30 Branch: Return with expression +0:30 'ps_output' (temp structure{temp 4-component vector of float color}) +0:27 Function Definition: main( (temp void) +0:27 Function Parameters: +0:? Sequence +0:27 Sequence +0:27 move second child to first child (temp 4-component vector of float) +0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:27 color: direct index for structure (temp 4-component vector of float) +0:27 Function Call: @main( (temp structure{temp 4-component vector of float color}) +0:27 Constant: +0:27 0 (const int) 0:? Linker Objects 0:? 'color' (layout(location=0 ) out 4-component vector of float) @@ -120,7 +123,7 @@ gl_FragCoord origin is upper left 0:21 'r13' (temp 4X1 matrix of float) 0:21 transpose (temp 4X1 matrix of float) 0:21 'f1x4' (temp 1X4 matrix of float) -0:27 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:27 Function Definition: @main( (temp structure{temp 4-component vector of float color}) 0:27 Function Parameters: 0:? Sequence 0:29 move second child to first child (temp 4-component vector of float) @@ -133,129 +136,139 @@ gl_FragCoord origin is upper left 0:29 1.000000 0:29 1.000000 0:29 1.000000 -0:30 Sequence -0:30 Sequence -0:30 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:30 color: direct index for structure (temp 4-component vector of float) -0:30 'ps_output' (temp structure{temp 4-component vector of float color}) -0:30 Constant: -0:30 0 (const int) -0:30 Branch: Return +0:30 Branch: Return with expression +0:30 'ps_output' (temp structure{temp 4-component vector of float color}) +0:27 Function Definition: main( (temp void) +0:27 Function Parameters: +0:? Sequence +0:27 Sequence +0:27 move second child to first child (temp 4-component vector of float) +0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:27 color: direct index for structure (temp 4-component vector of float) +0:27 Function Call: @main( (temp structure{temp 4-component vector of float color}) +0:27 Constant: +0:27 0 (const int) 0:? Linker Objects 0:? 'color' (layout(location=0 ) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 72 +// Id's are bound by 77 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 68 + EntryPoint Fragment 4 "main" 74 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 6 "TestMatNx1(" - Name 12 "r00" - Name 13 "f1x1" - Name 19 "r01" - Name 22 "f2x1" - Name 28 "r02" - Name 31 "f3x1" - Name 37 "r03" - Name 40 "f4x1" - Name 43 "r10" - Name 46 "r11" - Name 47 "f1x2" - Name 50 "r12" - Name 51 "f1x3" - Name 54 "r13" - Name 55 "f1x4" - Name 58 "PS_OUTPUT" - MemberName 58(PS_OUTPUT) 0 "color" - Name 60 "ps_output" - Name 68 "color" - Decorate 68(color) Location 0 + Name 10 "PS_OUTPUT" + MemberName 10(PS_OUTPUT) 0 "color" + Name 12 "@main(" + Name 17 "r00" + Name 18 "f1x1" + Name 24 "r01" + Name 27 "f2x1" + Name 33 "r02" + Name 36 "f3x1" + Name 41 "r03" + Name 44 "f4x1" + Name 47 "r10" + Name 50 "r11" + Name 51 "f1x2" + Name 54 "r12" + Name 55 "f1x3" + Name 58 "r13" + Name 59 "f1x4" + Name 63 "ps_output" + Name 74 "color" + Decorate 74(color) Location 0 2: TypeVoid 3: TypeFunction 2 8: TypeFloat 32 - 9: TypeVector 8(float) 1 - 10: TypeMatrix 9(fvec) 1 - 11: TypePointer Function 10 - 16: TypeVector 8(float) 2 - 17: TypeMatrix 16(fvec2) 1 - 18: TypePointer Function 17 - 20: TypeMatrix 9(fvec) 2 - 21: TypePointer Function 20 - 25: TypeVector 8(float) 3 - 26: TypeMatrix 25(fvec3) 1 - 27: TypePointer Function 26 - 29: TypeMatrix 9(fvec) 3 - 30: TypePointer Function 29 - 34: TypeVector 8(float) 4 - 35: TypeMatrix 34(fvec4) 1 - 36: TypePointer Function 35 - 38: TypeMatrix 9(fvec) 4 - 39: TypePointer Function 38 - 58(PS_OUTPUT): TypeStruct 34(fvec4) - 59: TypePointer Function 58(PS_OUTPUT) - 61: TypeInt 32 1 - 62: 61(int) Constant 0 - 63: 8(float) Constant 1065353216 - 64: 34(fvec4) ConstantComposite 63 63 63 63 - 65: TypePointer Function 34(fvec4) - 67: TypePointer Output 34(fvec4) - 68(color): 67(ptr) Variable Output + 9: TypeVector 8(float) 4 + 10(PS_OUTPUT): TypeStruct 9(fvec4) + 11: TypeFunction 10(PS_OUTPUT) + 14: TypeVector 8(float) 1 + 15: TypeMatrix 14(fvec) 1 + 16: TypePointer Function 15 + 21: TypeVector 8(float) 2 + 22: TypeMatrix 21(fvec2) 1 + 23: TypePointer Function 22 + 25: TypeMatrix 14(fvec) 2 + 26: TypePointer Function 25 + 30: TypeVector 8(float) 3 + 31: TypeMatrix 30(fvec3) 1 + 32: TypePointer Function 31 + 34: TypeMatrix 14(fvec) 3 + 35: TypePointer Function 34 + 39: TypeMatrix 9(fvec4) 1 + 40: TypePointer Function 39 + 42: TypeMatrix 14(fvec) 4 + 43: TypePointer Function 42 + 62: TypePointer Function 10(PS_OUTPUT) + 64: TypeInt 32 1 + 65: 64(int) Constant 0 + 66: 8(float) Constant 1065353216 + 67: 9(fvec4) ConstantComposite 66 66 66 66 + 68: TypePointer Function 9(fvec4) + 73: TypePointer Output 9(fvec4) + 74(color): 73(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 60(ps_output): 59(ptr) Variable Function - 66: 65(ptr) AccessChain 60(ps_output) 62 - Store 66 64 - 69: 65(ptr) AccessChain 60(ps_output) 62 - 70: 34(fvec4) Load 69 - Store 68(color) 70 + 75:10(PS_OUTPUT) FunctionCall 12(@main() + 76: 9(fvec4) CompositeExtract 75 0 + Store 74(color) 76 Return FunctionEnd 6(TestMatNx1(): 2 Function None 3 7: Label - 12(r00): 11(ptr) Variable Function - 13(f1x1): 11(ptr) Variable Function - 19(r01): 18(ptr) Variable Function - 22(f2x1): 21(ptr) Variable Function - 28(r02): 27(ptr) Variable Function - 31(f3x1): 30(ptr) Variable Function - 37(r03): 36(ptr) Variable Function - 40(f4x1): 39(ptr) Variable Function - 43(r10): 11(ptr) Variable Function - 46(r11): 21(ptr) Variable Function - 47(f1x2): 18(ptr) Variable Function - 50(r12): 30(ptr) Variable Function - 51(f1x3): 27(ptr) Variable Function - 54(r13): 39(ptr) Variable Function - 55(f1x4): 36(ptr) Variable Function - 14: 10 Load 13(f1x1) - 15: 10 Transpose 14 - Store 12(r00) 15 - 23: 20 Load 22(f2x1) - 24: 17 Transpose 23 - Store 19(r01) 24 - 32: 29 Load 31(f3x1) - 33: 26 Transpose 32 - Store 28(r02) 33 - 41: 38 Load 40(f4x1) - 42: 35 Transpose 41 - Store 37(r03) 42 - 44: 10 Load 13(f1x1) - 45: 10 Transpose 44 - Store 43(r10) 45 - 48: 17 Load 47(f1x2) - 49: 20 Transpose 48 - Store 46(r11) 49 - 52: 26 Load 51(f1x3) - 53: 29 Transpose 52 - Store 50(r12) 53 - 56: 35 Load 55(f1x4) - 57: 38 Transpose 56 - Store 54(r13) 57 + 17(r00): 16(ptr) Variable Function + 18(f1x1): 16(ptr) Variable Function + 24(r01): 23(ptr) Variable Function + 27(f2x1): 26(ptr) Variable Function + 33(r02): 32(ptr) Variable Function + 36(f3x1): 35(ptr) Variable Function + 41(r03): 40(ptr) Variable Function + 44(f4x1): 43(ptr) Variable Function + 47(r10): 16(ptr) Variable Function + 50(r11): 26(ptr) Variable Function + 51(f1x2): 23(ptr) Variable Function + 54(r12): 35(ptr) Variable Function + 55(f1x3): 32(ptr) Variable Function + 58(r13): 43(ptr) Variable Function + 59(f1x4): 40(ptr) Variable Function + 19: 15 Load 18(f1x1) + 20: 15 Transpose 19 + Store 17(r00) 20 + 28: 25 Load 27(f2x1) + 29: 22 Transpose 28 + Store 24(r01) 29 + 37: 34 Load 36(f3x1) + 38: 31 Transpose 37 + Store 33(r02) 38 + 45: 42 Load 44(f4x1) + 46: 39 Transpose 45 + Store 41(r03) 46 + 48: 15 Load 18(f1x1) + 49: 15 Transpose 48 + Store 47(r10) 49 + 52: 22 Load 51(f1x2) + 53: 25 Transpose 52 + Store 50(r11) 53 + 56: 31 Load 55(f1x3) + 57: 34 Transpose 56 + Store 54(r12) 57 + 60: 39 Load 59(f1x4) + 61: 42 Transpose 60 + Store 58(r13) 61 Return FunctionEnd + 12(@main():10(PS_OUTPUT) Function None 11 + 13: Label + 63(ps_output): 62(ptr) Variable Function + 69: 68(ptr) AccessChain 63(ps_output) 65 + Store 69 67 + 70:10(PS_OUTPUT) Load 63(ps_output) + ReturnValue 70 + FunctionEnd diff --git a/Test/baseResults/hlsl.matType.bool.frag.out b/Test/baseResults/hlsl.matType.bool.frag.out index e24c8784..d22ffd44 100644 --- a/Test/baseResults/hlsl.matType.bool.frag.out +++ b/Test/baseResults/hlsl.matType.bool.frag.out @@ -85,7 +85,7 @@ gl_FragCoord origin is upper left 0:43 'r33' (temp 4X4 matrix of bool) 0:43 transpose (temp 4X4 matrix of bool) 0:43 'b4x4' (temp 4X4 matrix of bool) -0:49 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:49 Function Definition: @main( (temp structure{temp 4-component vector of float color}) 0:49 Function Parameters: 0:? Sequence 0:51 move second child to first child (temp 4-component vector of float) @@ -98,15 +98,18 @@ gl_FragCoord origin is upper left 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:52 Sequence -0:52 Sequence -0:52 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:52 color: direct index for structure (temp 4-component vector of float) -0:52 'ps_output' (temp structure{temp 4-component vector of float color}) -0:52 Constant: -0:52 0 (const int) -0:52 Branch: Return +0:52 Branch: Return with expression +0:52 'ps_output' (temp structure{temp 4-component vector of float color}) +0:49 Function Definition: main( (temp void) +0:49 Function Parameters: +0:? Sequence +0:49 Sequence +0:49 move second child to first child (temp 4-component vector of float) +0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:49 color: direct index for structure (temp 4-component vector of float) +0:49 Function Call: @main( (temp structure{temp 4-component vector of float color}) +0:49 Constant: +0:49 0 (const int) 0:? Linker Objects 0:? 'color' (layout(location=0 ) out 4-component vector of float) @@ -200,7 +203,7 @@ gl_FragCoord origin is upper left 0:43 'r33' (temp 4X4 matrix of bool) 0:43 transpose (temp 4X4 matrix of bool) 0:43 'b4x4' (temp 4X4 matrix of bool) -0:49 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:49 Function Definition: @main( (temp structure{temp 4-component vector of float color}) 0:49 Function Parameters: 0:? Sequence 0:51 move second child to first child (temp 4-component vector of float) @@ -213,207 +216,217 @@ gl_FragCoord origin is upper left 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:52 Sequence -0:52 Sequence -0:52 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:52 color: direct index for structure (temp 4-component vector of float) -0:52 'ps_output' (temp structure{temp 4-component vector of float color}) -0:52 Constant: -0:52 0 (const int) -0:52 Branch: Return +0:52 Branch: Return with expression +0:52 'ps_output' (temp structure{temp 4-component vector of float color}) +0:49 Function Definition: main( (temp void) +0:49 Function Parameters: +0:? Sequence +0:49 Sequence +0:49 move second child to first child (temp 4-component vector of float) +0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:49 color: direct index for structure (temp 4-component vector of float) +0:49 Function Call: @main( (temp structure{temp 4-component vector of float color}) +0:49 Constant: +0:49 0 (const int) 0:? Linker Objects 0:? 'color' (layout(location=0 ) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 125 +// Id's are bound by 130 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 121 + EntryPoint Fragment 4 "main" 127 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 6 "TestBoolMatTypes(" - Name 12 "r00" - Name 13 "b1x1" - Name 19 "r01" - Name 22 "b2x1" - Name 28 "r02" - Name 31 "b3x1" - Name 37 "r03" - Name 40 "b4x1" - Name 43 "r10" - Name 44 "b1x2" - Name 49 "r11" - Name 50 "b2x2" - Name 55 "r12" - Name 58 "b3x2" - Name 63 "r13" - Name 66 "b4x2" - Name 69 "r20" - Name 70 "b1x3" - Name 73 "r21" - Name 74 "b2x3" - Name 79 "r22" - Name 80 "b3x3" - Name 85 "r23" - Name 88 "b4x3" - Name 91 "r30" - Name 92 "b1x4" - Name 95 "r31" - Name 96 "b2x4" - Name 99 "r32" - Name 100 "b3x4" - Name 105 "r33" - Name 106 "b4x4" - Name 111 "PS_OUTPUT" - MemberName 111(PS_OUTPUT) 0 "color" - Name 113 "ps_output" - Name 121 "color" - Decorate 121(color) Location 0 + Name 10 "PS_OUTPUT" + MemberName 10(PS_OUTPUT) 0 "color" + Name 12 "@main(" + Name 18 "r00" + Name 19 "b1x1" + Name 25 "r01" + Name 28 "b2x1" + Name 34 "r02" + Name 37 "b3x1" + Name 43 "r03" + Name 46 "b4x1" + Name 49 "r10" + Name 50 "b1x2" + Name 55 "r11" + Name 56 "b2x2" + Name 61 "r12" + Name 64 "b3x2" + Name 69 "r13" + Name 72 "b4x2" + Name 75 "r20" + Name 76 "b1x3" + Name 79 "r21" + Name 80 "b2x3" + Name 85 "r22" + Name 86 "b3x3" + Name 91 "r23" + Name 94 "b4x3" + Name 97 "r30" + Name 98 "b1x4" + Name 101 "r31" + Name 102 "b2x4" + Name 105 "r32" + Name 106 "b3x4" + Name 111 "r33" + Name 112 "b4x4" + Name 116 "ps_output" + Name 127 "color" + Decorate 127(color) Location 0 2: TypeVoid 3: TypeFunction 2 - 8: TypeBool - 9: TypeVector 8(bool) 1 - 10: TypeMatrix 9(bvec) 1 - 11: TypePointer Function 10 - 16: TypeVector 8(bool) 2 - 17: TypeMatrix 16(bvec2) 1 - 18: TypePointer Function 17 - 20: TypeMatrix 9(bvec) 2 - 21: TypePointer Function 20 - 25: TypeVector 8(bool) 3 - 26: TypeMatrix 25(bvec3) 1 + 8: TypeFloat 32 + 9: TypeVector 8(float) 4 + 10(PS_OUTPUT): TypeStruct 9(fvec4) + 11: TypeFunction 10(PS_OUTPUT) + 14: TypeBool + 15: TypeVector 14(bool) 1 + 16: TypeMatrix 15(bvec) 1 + 17: TypePointer Function 16 + 22: TypeVector 14(bool) 2 + 23: TypeMatrix 22(bvec2) 1 + 24: TypePointer Function 23 + 26: TypeMatrix 15(bvec) 2 27: TypePointer Function 26 - 29: TypeMatrix 9(bvec) 3 - 30: TypePointer Function 29 - 34: TypeVector 8(bool) 4 - 35: TypeMatrix 34(bvec4) 1 + 31: TypeVector 14(bool) 3 + 32: TypeMatrix 31(bvec3) 1 + 33: TypePointer Function 32 + 35: TypeMatrix 15(bvec) 3 36: TypePointer Function 35 - 38: TypeMatrix 9(bvec) 4 - 39: TypePointer Function 38 - 47: TypeMatrix 16(bvec2) 2 - 48: TypePointer Function 47 - 53: TypeMatrix 25(bvec3) 2 + 40: TypeVector 14(bool) 4 + 41: TypeMatrix 40(bvec4) 1 + 42: TypePointer Function 41 + 44: TypeMatrix 15(bvec) 4 + 45: TypePointer Function 44 + 53: TypeMatrix 22(bvec2) 2 54: TypePointer Function 53 - 56: TypeMatrix 16(bvec2) 3 - 57: TypePointer Function 56 - 61: TypeMatrix 34(bvec4) 2 - 62: TypePointer Function 61 - 64: TypeMatrix 16(bvec2) 4 - 65: TypePointer Function 64 - 77: TypeMatrix 25(bvec3) 3 - 78: TypePointer Function 77 - 83: TypeMatrix 34(bvec4) 3 + 59: TypeMatrix 31(bvec3) 2 + 60: TypePointer Function 59 + 62: TypeMatrix 22(bvec2) 3 + 63: TypePointer Function 62 + 67: TypeMatrix 40(bvec4) 2 + 68: TypePointer Function 67 + 70: TypeMatrix 22(bvec2) 4 + 71: TypePointer Function 70 + 83: TypeMatrix 31(bvec3) 3 84: TypePointer Function 83 - 86: TypeMatrix 25(bvec3) 4 - 87: TypePointer Function 86 - 103: TypeMatrix 34(bvec4) 4 - 104: TypePointer Function 103 - 109: TypeFloat 32 - 110: TypeVector 109(float) 4 - 111(PS_OUTPUT): TypeStruct 110(fvec4) - 112: TypePointer Function 111(PS_OUTPUT) - 114: TypeInt 32 1 - 115: 114(int) Constant 0 - 116: 109(float) Constant 0 - 117: 110(fvec4) ConstantComposite 116 116 116 116 - 118: TypePointer Function 110(fvec4) - 120: TypePointer Output 110(fvec4) - 121(color): 120(ptr) Variable Output + 89: TypeMatrix 40(bvec4) 3 + 90: TypePointer Function 89 + 92: TypeMatrix 31(bvec3) 4 + 93: TypePointer Function 92 + 109: TypeMatrix 40(bvec4) 4 + 110: TypePointer Function 109 + 115: TypePointer Function 10(PS_OUTPUT) + 117: TypeInt 32 1 + 118: 117(int) Constant 0 + 119: 8(float) Constant 0 + 120: 9(fvec4) ConstantComposite 119 119 119 119 + 121: TypePointer Function 9(fvec4) + 126: TypePointer Output 9(fvec4) + 127(color): 126(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 113(ps_output): 112(ptr) Variable Function - 119: 118(ptr) AccessChain 113(ps_output) 115 - Store 119 117 - 122: 118(ptr) AccessChain 113(ps_output) 115 - 123: 110(fvec4) Load 122 - Store 121(color) 123 + 128:10(PS_OUTPUT) FunctionCall 12(@main() + 129: 9(fvec4) CompositeExtract 128 0 + Store 127(color) 129 Return FunctionEnd 6(TestBoolMatTypes(): 2 Function None 3 7: Label - 12(r00): 11(ptr) Variable Function - 13(b1x1): 11(ptr) Variable Function - 19(r01): 18(ptr) Variable Function - 22(b2x1): 21(ptr) Variable Function - 28(r02): 27(ptr) Variable Function - 31(b3x1): 30(ptr) Variable Function - 37(r03): 36(ptr) Variable Function - 40(b4x1): 39(ptr) Variable Function - 43(r10): 21(ptr) Variable Function - 44(b1x2): 18(ptr) Variable Function - 49(r11): 48(ptr) Variable Function - 50(b2x2): 48(ptr) Variable Function - 55(r12): 54(ptr) Variable Function - 58(b3x2): 57(ptr) Variable Function - 63(r13): 62(ptr) Variable Function - 66(b4x2): 65(ptr) Variable Function - 69(r20): 30(ptr) Variable Function - 70(b1x3): 27(ptr) Variable Function - 73(r21): 57(ptr) Variable Function - 74(b2x3): 54(ptr) Variable Function - 79(r22): 78(ptr) Variable Function - 80(b3x3): 78(ptr) Variable Function - 85(r23): 84(ptr) Variable Function - 88(b4x3): 87(ptr) Variable Function - 91(r30): 39(ptr) Variable Function - 92(b1x4): 36(ptr) Variable Function - 95(r31): 65(ptr) Variable Function - 96(b2x4): 62(ptr) Variable Function - 99(r32): 87(ptr) Variable Function - 100(b3x4): 84(ptr) Variable Function - 105(r33): 104(ptr) Variable Function - 106(b4x4): 104(ptr) Variable Function - 14: 10 Load 13(b1x1) - 15: 10 Transpose 14 - Store 12(r00) 15 - 23: 20 Load 22(b2x1) - 24: 17 Transpose 23 - Store 19(r01) 24 - 32: 29 Load 31(b3x1) - 33: 26 Transpose 32 - Store 28(r02) 33 - 41: 38 Load 40(b4x1) - 42: 35 Transpose 41 - Store 37(r03) 42 - 45: 17 Load 44(b1x2) - 46: 20 Transpose 45 - Store 43(r10) 46 - 51: 47 Load 50(b2x2) - 52: 47 Transpose 51 - Store 49(r11) 52 - 59: 56 Load 58(b3x2) - 60: 53 Transpose 59 - Store 55(r12) 60 - 67: 64 Load 66(b4x2) - 68: 61 Transpose 67 - Store 63(r13) 68 - 71: 26 Load 70(b1x3) - 72: 29 Transpose 71 - Store 69(r20) 72 - 75: 53 Load 74(b2x3) - 76: 56 Transpose 75 - Store 73(r21) 76 - 81: 77 Load 80(b3x3) - 82: 77 Transpose 81 - Store 79(r22) 82 - 89: 86 Load 88(b4x3) - 90: 83 Transpose 89 - Store 85(r23) 90 - 93: 35 Load 92(b1x4) - 94: 38 Transpose 93 - Store 91(r30) 94 - 97: 61 Load 96(b2x4) - 98: 64 Transpose 97 - Store 95(r31) 98 - 101: 83 Load 100(b3x4) - 102: 86 Transpose 101 - Store 99(r32) 102 - 107: 103 Load 106(b4x4) - 108: 103 Transpose 107 - Store 105(r33) 108 + 18(r00): 17(ptr) Variable Function + 19(b1x1): 17(ptr) Variable Function + 25(r01): 24(ptr) Variable Function + 28(b2x1): 27(ptr) Variable Function + 34(r02): 33(ptr) Variable Function + 37(b3x1): 36(ptr) Variable Function + 43(r03): 42(ptr) Variable Function + 46(b4x1): 45(ptr) Variable Function + 49(r10): 27(ptr) Variable Function + 50(b1x2): 24(ptr) Variable Function + 55(r11): 54(ptr) Variable Function + 56(b2x2): 54(ptr) Variable Function + 61(r12): 60(ptr) Variable Function + 64(b3x2): 63(ptr) Variable Function + 69(r13): 68(ptr) Variable Function + 72(b4x2): 71(ptr) Variable Function + 75(r20): 36(ptr) Variable Function + 76(b1x3): 33(ptr) Variable Function + 79(r21): 63(ptr) Variable Function + 80(b2x3): 60(ptr) Variable Function + 85(r22): 84(ptr) Variable Function + 86(b3x3): 84(ptr) Variable Function + 91(r23): 90(ptr) Variable Function + 94(b4x3): 93(ptr) Variable Function + 97(r30): 45(ptr) Variable Function + 98(b1x4): 42(ptr) Variable Function + 101(r31): 71(ptr) Variable Function + 102(b2x4): 68(ptr) Variable Function + 105(r32): 93(ptr) Variable Function + 106(b3x4): 90(ptr) Variable Function + 111(r33): 110(ptr) Variable Function + 112(b4x4): 110(ptr) Variable Function + 20: 16 Load 19(b1x1) + 21: 16 Transpose 20 + Store 18(r00) 21 + 29: 26 Load 28(b2x1) + 30: 23 Transpose 29 + Store 25(r01) 30 + 38: 35 Load 37(b3x1) + 39: 32 Transpose 38 + Store 34(r02) 39 + 47: 44 Load 46(b4x1) + 48: 41 Transpose 47 + Store 43(r03) 48 + 51: 23 Load 50(b1x2) + 52: 26 Transpose 51 + Store 49(r10) 52 + 57: 53 Load 56(b2x2) + 58: 53 Transpose 57 + Store 55(r11) 58 + 65: 62 Load 64(b3x2) + 66: 59 Transpose 65 + Store 61(r12) 66 + 73: 70 Load 72(b4x2) + 74: 67 Transpose 73 + Store 69(r13) 74 + 77: 32 Load 76(b1x3) + 78: 35 Transpose 77 + Store 75(r20) 78 + 81: 59 Load 80(b2x3) + 82: 62 Transpose 81 + Store 79(r21) 82 + 87: 83 Load 86(b3x3) + 88: 83 Transpose 87 + Store 85(r22) 88 + 95: 92 Load 94(b4x3) + 96: 89 Transpose 95 + Store 91(r23) 96 + 99: 41 Load 98(b1x4) + 100: 44 Transpose 99 + Store 97(r30) 100 + 103: 67 Load 102(b2x4) + 104: 70 Transpose 103 + Store 101(r31) 104 + 107: 89 Load 106(b3x4) + 108: 92 Transpose 107 + Store 105(r32) 108 + 113: 109 Load 112(b4x4) + 114: 109 Transpose 113 + Store 111(r33) 114 Return FunctionEnd + 12(@main():10(PS_OUTPUT) Function None 11 + 13: Label + 116(ps_output): 115(ptr) Variable Function + 122: 121(ptr) AccessChain 116(ps_output) 118 + Store 122 120 + 123:10(PS_OUTPUT) Load 116(ps_output) + ReturnValue 123 + FunctionEnd diff --git a/Test/baseResults/hlsl.matType.int.frag.out b/Test/baseResults/hlsl.matType.int.frag.out index d7ffb0f7..e37e1663 100644 --- a/Test/baseResults/hlsl.matType.int.frag.out +++ b/Test/baseResults/hlsl.matType.int.frag.out @@ -168,7 +168,7 @@ gl_FragCoord origin is upper left 0:87 'r33' (temp 4X4 matrix of uint) 0:87 transpose (temp 4X4 matrix of uint) 0:87 'u4x4' (temp 4X4 matrix of uint) -0:93 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:93 Function Definition: @main( (temp structure{temp 4-component vector of float color}) 0:93 Function Parameters: 0:? Sequence 0:95 move second child to first child (temp 4-component vector of float) @@ -181,15 +181,18 @@ gl_FragCoord origin is upper left 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:96 Sequence -0:96 Sequence -0:96 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:96 color: direct index for structure (temp 4-component vector of float) -0:96 'ps_output' (temp structure{temp 4-component vector of float color}) -0:96 Constant: -0:96 0 (const int) -0:96 Branch: Return +0:96 Branch: Return with expression +0:96 'ps_output' (temp structure{temp 4-component vector of float color}) +0:93 Function Definition: main( (temp void) +0:93 Function Parameters: +0:? Sequence +0:93 Sequence +0:93 move second child to first child (temp 4-component vector of float) +0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:93 color: direct index for structure (temp 4-component vector of float) +0:93 Function Call: @main( (temp structure{temp 4-component vector of float color}) +0:93 Constant: +0:93 0 (const int) 0:? Linker Objects 0:? 'color' (layout(location=0 ) out 4-component vector of float) @@ -366,7 +369,7 @@ gl_FragCoord origin is upper left 0:87 'r33' (temp 4X4 matrix of uint) 0:87 transpose (temp 4X4 matrix of uint) 0:87 'u4x4' (temp 4X4 matrix of uint) -0:93 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:93 Function Definition: @main( (temp structure{temp 4-component vector of float color}) 0:93 Function Parameters: 0:? Sequence 0:95 move second child to first child (temp 4-component vector of float) @@ -379,360 +382,370 @@ gl_FragCoord origin is upper left 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:96 Sequence -0:96 Sequence -0:96 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:96 color: direct index for structure (temp 4-component vector of float) -0:96 'ps_output' (temp structure{temp 4-component vector of float color}) -0:96 Constant: -0:96 0 (const int) -0:96 Branch: Return +0:96 Branch: Return with expression +0:96 'ps_output' (temp structure{temp 4-component vector of float color}) +0:93 Function Definition: main( (temp void) +0:93 Function Parameters: +0:? Sequence +0:93 Sequence +0:93 move second child to first child (temp 4-component vector of float) +0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:93 color: direct index for structure (temp 4-component vector of float) +0:93 Function Call: @main( (temp structure{temp 4-component vector of float color}) +0:93 Constant: +0:93 0 (const int) 0:? Linker Objects 0:? 'color' (layout(location=0 ) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 227 +// Id's are bound by 232 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 223 + EntryPoint Fragment 4 "main" 229 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 6 "TestIntMatTypes(" Name 8 "TestUintMatTypes(" - Name 14 "r00" - Name 15 "i1x1" - Name 21 "r01" - Name 24 "i2x1" - Name 30 "r02" - Name 33 "i3x1" - Name 39 "r03" - Name 42 "i4x1" - Name 45 "r10" - Name 46 "i1x2" - Name 51 "r11" - Name 52 "i2x2" - Name 57 "r12" - Name 60 "i3x2" - Name 65 "r13" - Name 68 "i4x2" - Name 71 "r20" - Name 72 "i1x3" - Name 75 "r21" - Name 76 "i2x3" - Name 81 "r22" - Name 82 "i3x3" - Name 87 "r23" - Name 90 "i4x3" - Name 93 "r30" - Name 94 "i1x4" - Name 97 "r31" - Name 98 "i2x4" - Name 101 "r32" - Name 102 "i3x4" - Name 107 "r33" - Name 108 "i4x4" - Name 115 "r00" - Name 116 "u1x1" - Name 122 "r01" - Name 125 "u2x1" - Name 131 "r02" - Name 134 "u3x1" - Name 140 "r03" - Name 143 "u4x1" - Name 146 "r10" - Name 147 "u1x2" - Name 152 "r11" - Name 153 "u2x2" - Name 158 "r12" - Name 161 "u3x2" - Name 166 "r13" - Name 169 "u4x2" - Name 172 "r20" - Name 173 "u1x3" - Name 176 "r21" - Name 177 "u2x3" - Name 182 "r22" - Name 183 "u3x3" - Name 188 "r23" - Name 191 "u4x3" - Name 194 "r30" - Name 195 "u1x4" - Name 198 "r31" - Name 199 "u2x4" - Name 202 "r32" - Name 203 "u3x4" - Name 208 "r33" - Name 209 "u4x4" - Name 214 "PS_OUTPUT" - MemberName 214(PS_OUTPUT) 0 "color" - Name 216 "ps_output" - Name 223 "color" - Decorate 223(color) Location 0 + Name 12 "PS_OUTPUT" + MemberName 12(PS_OUTPUT) 0 "color" + Name 14 "@main(" + Name 20 "r00" + Name 21 "i1x1" + Name 27 "r01" + Name 30 "i2x1" + Name 36 "r02" + Name 39 "i3x1" + Name 45 "r03" + Name 48 "i4x1" + Name 51 "r10" + Name 52 "i1x2" + Name 57 "r11" + Name 58 "i2x2" + Name 63 "r12" + Name 66 "i3x2" + Name 71 "r13" + Name 74 "i4x2" + Name 77 "r20" + Name 78 "i1x3" + Name 81 "r21" + Name 82 "i2x3" + Name 87 "r22" + Name 88 "i3x3" + Name 93 "r23" + Name 96 "i4x3" + Name 99 "r30" + Name 100 "i1x4" + Name 103 "r31" + Name 104 "i2x4" + Name 107 "r32" + Name 108 "i3x4" + Name 113 "r33" + Name 114 "i4x4" + Name 121 "r00" + Name 122 "u1x1" + Name 128 "r01" + Name 131 "u2x1" + Name 137 "r02" + Name 140 "u3x1" + Name 146 "r03" + Name 149 "u4x1" + Name 152 "r10" + Name 153 "u1x2" + Name 158 "r11" + Name 159 "u2x2" + Name 164 "r12" + Name 167 "u3x2" + Name 172 "r13" + Name 175 "u4x2" + Name 178 "r20" + Name 179 "u1x3" + Name 182 "r21" + Name 183 "u2x3" + Name 188 "r22" + Name 189 "u3x3" + Name 194 "r23" + Name 197 "u4x3" + Name 200 "r30" + Name 201 "u1x4" + Name 204 "r31" + Name 205 "u2x4" + Name 208 "r32" + Name 209 "u3x4" + Name 214 "r33" + Name 215 "u4x4" + Name 219 "ps_output" + Name 229 "color" + Decorate 229(color) Location 0 2: TypeVoid 3: TypeFunction 2 - 10: TypeInt 32 1 - 11: TypeVector 10(int) 1 - 12: TypeMatrix 11(ivec) 1 - 13: TypePointer Function 12 - 18: TypeVector 10(int) 2 - 19: TypeMatrix 18(ivec2) 1 - 20: TypePointer Function 19 - 22: TypeMatrix 11(ivec) 2 - 23: TypePointer Function 22 - 27: TypeVector 10(int) 3 - 28: TypeMatrix 27(ivec3) 1 + 10: TypeFloat 32 + 11: TypeVector 10(float) 4 + 12(PS_OUTPUT): TypeStruct 11(fvec4) + 13: TypeFunction 12(PS_OUTPUT) + 16: TypeInt 32 1 + 17: TypeVector 16(int) 1 + 18: TypeMatrix 17(ivec) 1 + 19: TypePointer Function 18 + 24: TypeVector 16(int) 2 + 25: TypeMatrix 24(ivec2) 1 + 26: TypePointer Function 25 + 28: TypeMatrix 17(ivec) 2 29: TypePointer Function 28 - 31: TypeMatrix 11(ivec) 3 - 32: TypePointer Function 31 - 36: TypeVector 10(int) 4 - 37: TypeMatrix 36(ivec4) 1 + 33: TypeVector 16(int) 3 + 34: TypeMatrix 33(ivec3) 1 + 35: TypePointer Function 34 + 37: TypeMatrix 17(ivec) 3 38: TypePointer Function 37 - 40: TypeMatrix 11(ivec) 4 - 41: TypePointer Function 40 - 49: TypeMatrix 18(ivec2) 2 - 50: TypePointer Function 49 - 55: TypeMatrix 27(ivec3) 2 + 42: TypeVector 16(int) 4 + 43: TypeMatrix 42(ivec4) 1 + 44: TypePointer Function 43 + 46: TypeMatrix 17(ivec) 4 + 47: TypePointer Function 46 + 55: TypeMatrix 24(ivec2) 2 56: TypePointer Function 55 - 58: TypeMatrix 18(ivec2) 3 - 59: TypePointer Function 58 - 63: TypeMatrix 36(ivec4) 2 - 64: TypePointer Function 63 - 66: TypeMatrix 18(ivec2) 4 - 67: TypePointer Function 66 - 79: TypeMatrix 27(ivec3) 3 - 80: TypePointer Function 79 - 85: TypeMatrix 36(ivec4) 3 + 61: TypeMatrix 33(ivec3) 2 + 62: TypePointer Function 61 + 64: TypeMatrix 24(ivec2) 3 + 65: TypePointer Function 64 + 69: TypeMatrix 42(ivec4) 2 + 70: TypePointer Function 69 + 72: TypeMatrix 24(ivec2) 4 + 73: TypePointer Function 72 + 85: TypeMatrix 33(ivec3) 3 86: TypePointer Function 85 - 88: TypeMatrix 27(ivec3) 4 - 89: TypePointer Function 88 - 105: TypeMatrix 36(ivec4) 4 - 106: TypePointer Function 105 - 111: TypeInt 32 0 - 112: TypeVector 111(int) 1 - 113: TypeMatrix 112(ivec) 1 - 114: TypePointer Function 113 - 119: TypeVector 111(int) 2 - 120: TypeMatrix 119(ivec2) 1 - 121: TypePointer Function 120 - 123: TypeMatrix 112(ivec) 2 - 124: TypePointer Function 123 - 128: TypeVector 111(int) 3 - 129: TypeMatrix 128(ivec3) 1 + 91: TypeMatrix 42(ivec4) 3 + 92: TypePointer Function 91 + 94: TypeMatrix 33(ivec3) 4 + 95: TypePointer Function 94 + 111: TypeMatrix 42(ivec4) 4 + 112: TypePointer Function 111 + 117: TypeInt 32 0 + 118: TypeVector 117(int) 1 + 119: TypeMatrix 118(ivec) 1 + 120: TypePointer Function 119 + 125: TypeVector 117(int) 2 + 126: TypeMatrix 125(ivec2) 1 + 127: TypePointer Function 126 + 129: TypeMatrix 118(ivec) 2 130: TypePointer Function 129 - 132: TypeMatrix 112(ivec) 3 - 133: TypePointer Function 132 - 137: TypeVector 111(int) 4 - 138: TypeMatrix 137(ivec4) 1 + 134: TypeVector 117(int) 3 + 135: TypeMatrix 134(ivec3) 1 + 136: TypePointer Function 135 + 138: TypeMatrix 118(ivec) 3 139: TypePointer Function 138 - 141: TypeMatrix 112(ivec) 4 - 142: TypePointer Function 141 - 150: TypeMatrix 119(ivec2) 2 - 151: TypePointer Function 150 - 156: TypeMatrix 128(ivec3) 2 + 143: TypeVector 117(int) 4 + 144: TypeMatrix 143(ivec4) 1 + 145: TypePointer Function 144 + 147: TypeMatrix 118(ivec) 4 + 148: TypePointer Function 147 + 156: TypeMatrix 125(ivec2) 2 157: TypePointer Function 156 - 159: TypeMatrix 119(ivec2) 3 - 160: TypePointer Function 159 - 164: TypeMatrix 137(ivec4) 2 - 165: TypePointer Function 164 - 167: TypeMatrix 119(ivec2) 4 - 168: TypePointer Function 167 - 180: TypeMatrix 128(ivec3) 3 - 181: TypePointer Function 180 - 186: TypeMatrix 137(ivec4) 3 + 162: TypeMatrix 134(ivec3) 2 + 163: TypePointer Function 162 + 165: TypeMatrix 125(ivec2) 3 + 166: TypePointer Function 165 + 170: TypeMatrix 143(ivec4) 2 + 171: TypePointer Function 170 + 173: TypeMatrix 125(ivec2) 4 + 174: TypePointer Function 173 + 186: TypeMatrix 134(ivec3) 3 187: TypePointer Function 186 - 189: TypeMatrix 128(ivec3) 4 - 190: TypePointer Function 189 - 206: TypeMatrix 137(ivec4) 4 - 207: TypePointer Function 206 - 212: TypeFloat 32 - 213: TypeVector 212(float) 4 - 214(PS_OUTPUT): TypeStruct 213(fvec4) - 215: TypePointer Function 214(PS_OUTPUT) - 217: 10(int) Constant 0 - 218: 212(float) Constant 0 - 219: 213(fvec4) ConstantComposite 218 218 218 218 - 220: TypePointer Function 213(fvec4) - 222: TypePointer Output 213(fvec4) - 223(color): 222(ptr) Variable Output + 192: TypeMatrix 143(ivec4) 3 + 193: TypePointer Function 192 + 195: TypeMatrix 134(ivec3) 4 + 196: TypePointer Function 195 + 212: TypeMatrix 143(ivec4) 4 + 213: TypePointer Function 212 + 218: TypePointer Function 12(PS_OUTPUT) + 220: 16(int) Constant 0 + 221: 10(float) Constant 0 + 222: 11(fvec4) ConstantComposite 221 221 221 221 + 223: TypePointer Function 11(fvec4) + 228: TypePointer Output 11(fvec4) + 229(color): 228(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 216(ps_output): 215(ptr) Variable Function - 221: 220(ptr) AccessChain 216(ps_output) 217 - Store 221 219 - 224: 220(ptr) AccessChain 216(ps_output) 217 - 225: 213(fvec4) Load 224 - Store 223(color) 225 + 230:12(PS_OUTPUT) FunctionCall 14(@main() + 231: 11(fvec4) CompositeExtract 230 0 + Store 229(color) 231 Return FunctionEnd 6(TestIntMatTypes(): 2 Function None 3 7: Label - 14(r00): 13(ptr) Variable Function - 15(i1x1): 13(ptr) Variable Function - 21(r01): 20(ptr) Variable Function - 24(i2x1): 23(ptr) Variable Function - 30(r02): 29(ptr) Variable Function - 33(i3x1): 32(ptr) Variable Function - 39(r03): 38(ptr) Variable Function - 42(i4x1): 41(ptr) Variable Function - 45(r10): 23(ptr) Variable Function - 46(i1x2): 20(ptr) Variable Function - 51(r11): 50(ptr) Variable Function - 52(i2x2): 50(ptr) Variable Function - 57(r12): 56(ptr) Variable Function - 60(i3x2): 59(ptr) Variable Function - 65(r13): 64(ptr) Variable Function - 68(i4x2): 67(ptr) Variable Function - 71(r20): 32(ptr) Variable Function - 72(i1x3): 29(ptr) Variable Function - 75(r21): 59(ptr) Variable Function - 76(i2x3): 56(ptr) Variable Function - 81(r22): 80(ptr) Variable Function - 82(i3x3): 80(ptr) Variable Function - 87(r23): 86(ptr) Variable Function - 90(i4x3): 89(ptr) Variable Function - 93(r30): 41(ptr) Variable Function - 94(i1x4): 38(ptr) Variable Function - 97(r31): 67(ptr) Variable Function - 98(i2x4): 64(ptr) Variable Function - 101(r32): 89(ptr) Variable Function - 102(i3x4): 86(ptr) Variable Function - 107(r33): 106(ptr) Variable Function - 108(i4x4): 106(ptr) Variable Function - 16: 12 Load 15(i1x1) - 17: 12 Transpose 16 - Store 14(r00) 17 - 25: 22 Load 24(i2x1) - 26: 19 Transpose 25 - Store 21(r01) 26 - 34: 31 Load 33(i3x1) - 35: 28 Transpose 34 - Store 30(r02) 35 - 43: 40 Load 42(i4x1) - 44: 37 Transpose 43 - Store 39(r03) 44 - 47: 19 Load 46(i1x2) - 48: 22 Transpose 47 - Store 45(r10) 48 - 53: 49 Load 52(i2x2) - 54: 49 Transpose 53 - Store 51(r11) 54 - 61: 58 Load 60(i3x2) - 62: 55 Transpose 61 - Store 57(r12) 62 - 69: 66 Load 68(i4x2) - 70: 63 Transpose 69 - Store 65(r13) 70 - 73: 28 Load 72(i1x3) - 74: 31 Transpose 73 - Store 71(r20) 74 - 77: 55 Load 76(i2x3) - 78: 58 Transpose 77 - Store 75(r21) 78 - 83: 79 Load 82(i3x3) - 84: 79 Transpose 83 - Store 81(r22) 84 - 91: 88 Load 90(i4x3) - 92: 85 Transpose 91 - Store 87(r23) 92 - 95: 37 Load 94(i1x4) - 96: 40 Transpose 95 - Store 93(r30) 96 - 99: 63 Load 98(i2x4) - 100: 66 Transpose 99 - Store 97(r31) 100 - 103: 85 Load 102(i3x4) - 104: 88 Transpose 103 - Store 101(r32) 104 - 109: 105 Load 108(i4x4) - 110: 105 Transpose 109 - Store 107(r33) 110 + 20(r00): 19(ptr) Variable Function + 21(i1x1): 19(ptr) Variable Function + 27(r01): 26(ptr) Variable Function + 30(i2x1): 29(ptr) Variable Function + 36(r02): 35(ptr) Variable Function + 39(i3x1): 38(ptr) Variable Function + 45(r03): 44(ptr) Variable Function + 48(i4x1): 47(ptr) Variable Function + 51(r10): 29(ptr) Variable Function + 52(i1x2): 26(ptr) Variable Function + 57(r11): 56(ptr) Variable Function + 58(i2x2): 56(ptr) Variable Function + 63(r12): 62(ptr) Variable Function + 66(i3x2): 65(ptr) Variable Function + 71(r13): 70(ptr) Variable Function + 74(i4x2): 73(ptr) Variable Function + 77(r20): 38(ptr) Variable Function + 78(i1x3): 35(ptr) Variable Function + 81(r21): 65(ptr) Variable Function + 82(i2x3): 62(ptr) Variable Function + 87(r22): 86(ptr) Variable Function + 88(i3x3): 86(ptr) Variable Function + 93(r23): 92(ptr) Variable Function + 96(i4x3): 95(ptr) Variable Function + 99(r30): 47(ptr) Variable Function + 100(i1x4): 44(ptr) Variable Function + 103(r31): 73(ptr) Variable Function + 104(i2x4): 70(ptr) Variable Function + 107(r32): 95(ptr) Variable Function + 108(i3x4): 92(ptr) Variable Function + 113(r33): 112(ptr) Variable Function + 114(i4x4): 112(ptr) Variable Function + 22: 18 Load 21(i1x1) + 23: 18 Transpose 22 + Store 20(r00) 23 + 31: 28 Load 30(i2x1) + 32: 25 Transpose 31 + Store 27(r01) 32 + 40: 37 Load 39(i3x1) + 41: 34 Transpose 40 + Store 36(r02) 41 + 49: 46 Load 48(i4x1) + 50: 43 Transpose 49 + Store 45(r03) 50 + 53: 25 Load 52(i1x2) + 54: 28 Transpose 53 + Store 51(r10) 54 + 59: 55 Load 58(i2x2) + 60: 55 Transpose 59 + Store 57(r11) 60 + 67: 64 Load 66(i3x2) + 68: 61 Transpose 67 + Store 63(r12) 68 + 75: 72 Load 74(i4x2) + 76: 69 Transpose 75 + Store 71(r13) 76 + 79: 34 Load 78(i1x3) + 80: 37 Transpose 79 + Store 77(r20) 80 + 83: 61 Load 82(i2x3) + 84: 64 Transpose 83 + Store 81(r21) 84 + 89: 85 Load 88(i3x3) + 90: 85 Transpose 89 + Store 87(r22) 90 + 97: 94 Load 96(i4x3) + 98: 91 Transpose 97 + Store 93(r23) 98 + 101: 43 Load 100(i1x4) + 102: 46 Transpose 101 + Store 99(r30) 102 + 105: 69 Load 104(i2x4) + 106: 72 Transpose 105 + Store 103(r31) 106 + 109: 91 Load 108(i3x4) + 110: 94 Transpose 109 + Store 107(r32) 110 + 115: 111 Load 114(i4x4) + 116: 111 Transpose 115 + Store 113(r33) 116 Return FunctionEnd 8(TestUintMatTypes(): 2 Function None 3 9: Label - 115(r00): 114(ptr) Variable Function - 116(u1x1): 114(ptr) Variable Function - 122(r01): 121(ptr) Variable Function - 125(u2x1): 124(ptr) Variable Function - 131(r02): 130(ptr) Variable Function - 134(u3x1): 133(ptr) Variable Function - 140(r03): 139(ptr) Variable Function - 143(u4x1): 142(ptr) Variable Function - 146(r10): 124(ptr) Variable Function - 147(u1x2): 121(ptr) Variable Function - 152(r11): 151(ptr) Variable Function - 153(u2x2): 151(ptr) Variable Function - 158(r12): 157(ptr) Variable Function - 161(u3x2): 160(ptr) Variable Function - 166(r13): 165(ptr) Variable Function - 169(u4x2): 168(ptr) Variable Function - 172(r20): 133(ptr) Variable Function - 173(u1x3): 130(ptr) Variable Function - 176(r21): 160(ptr) Variable Function - 177(u2x3): 157(ptr) Variable Function - 182(r22): 181(ptr) Variable Function - 183(u3x3): 181(ptr) Variable Function - 188(r23): 187(ptr) Variable Function - 191(u4x3): 190(ptr) Variable Function - 194(r30): 142(ptr) Variable Function - 195(u1x4): 139(ptr) Variable Function - 198(r31): 168(ptr) Variable Function - 199(u2x4): 165(ptr) Variable Function - 202(r32): 190(ptr) Variable Function - 203(u3x4): 187(ptr) Variable Function - 208(r33): 207(ptr) Variable Function - 209(u4x4): 207(ptr) Variable Function - 117: 113 Load 116(u1x1) - 118: 113 Transpose 117 - Store 115(r00) 118 - 126: 123 Load 125(u2x1) - 127: 120 Transpose 126 - Store 122(r01) 127 - 135: 132 Load 134(u3x1) - 136: 129 Transpose 135 - Store 131(r02) 136 - 144: 141 Load 143(u4x1) - 145: 138 Transpose 144 - Store 140(r03) 145 - 148: 120 Load 147(u1x2) - 149: 123 Transpose 148 - Store 146(r10) 149 - 154: 150 Load 153(u2x2) - 155: 150 Transpose 154 - Store 152(r11) 155 - 162: 159 Load 161(u3x2) - 163: 156 Transpose 162 - Store 158(r12) 163 - 170: 167 Load 169(u4x2) - 171: 164 Transpose 170 - Store 166(r13) 171 - 174: 129 Load 173(u1x3) - 175: 132 Transpose 174 - Store 172(r20) 175 - 178: 156 Load 177(u2x3) - 179: 159 Transpose 178 - Store 176(r21) 179 - 184: 180 Load 183(u3x3) - 185: 180 Transpose 184 - Store 182(r22) 185 - 192: 189 Load 191(u4x3) - 193: 186 Transpose 192 - Store 188(r23) 193 - 196: 138 Load 195(u1x4) - 197: 141 Transpose 196 - Store 194(r30) 197 - 200: 164 Load 199(u2x4) - 201: 167 Transpose 200 - Store 198(r31) 201 - 204: 186 Load 203(u3x4) - 205: 189 Transpose 204 - Store 202(r32) 205 - 210: 206 Load 209(u4x4) - 211: 206 Transpose 210 - Store 208(r33) 211 + 121(r00): 120(ptr) Variable Function + 122(u1x1): 120(ptr) Variable Function + 128(r01): 127(ptr) Variable Function + 131(u2x1): 130(ptr) Variable Function + 137(r02): 136(ptr) Variable Function + 140(u3x1): 139(ptr) Variable Function + 146(r03): 145(ptr) Variable Function + 149(u4x1): 148(ptr) Variable Function + 152(r10): 130(ptr) Variable Function + 153(u1x2): 127(ptr) Variable Function + 158(r11): 157(ptr) Variable Function + 159(u2x2): 157(ptr) Variable Function + 164(r12): 163(ptr) Variable Function + 167(u3x2): 166(ptr) Variable Function + 172(r13): 171(ptr) Variable Function + 175(u4x2): 174(ptr) Variable Function + 178(r20): 139(ptr) Variable Function + 179(u1x3): 136(ptr) Variable Function + 182(r21): 166(ptr) Variable Function + 183(u2x3): 163(ptr) Variable Function + 188(r22): 187(ptr) Variable Function + 189(u3x3): 187(ptr) Variable Function + 194(r23): 193(ptr) Variable Function + 197(u4x3): 196(ptr) Variable Function + 200(r30): 148(ptr) Variable Function + 201(u1x4): 145(ptr) Variable Function + 204(r31): 174(ptr) Variable Function + 205(u2x4): 171(ptr) Variable Function + 208(r32): 196(ptr) Variable Function + 209(u3x4): 193(ptr) Variable Function + 214(r33): 213(ptr) Variable Function + 215(u4x4): 213(ptr) Variable Function + 123: 119 Load 122(u1x1) + 124: 119 Transpose 123 + Store 121(r00) 124 + 132: 129 Load 131(u2x1) + 133: 126 Transpose 132 + Store 128(r01) 133 + 141: 138 Load 140(u3x1) + 142: 135 Transpose 141 + Store 137(r02) 142 + 150: 147 Load 149(u4x1) + 151: 144 Transpose 150 + Store 146(r03) 151 + 154: 126 Load 153(u1x2) + 155: 129 Transpose 154 + Store 152(r10) 155 + 160: 156 Load 159(u2x2) + 161: 156 Transpose 160 + Store 158(r11) 161 + 168: 165 Load 167(u3x2) + 169: 162 Transpose 168 + Store 164(r12) 169 + 176: 173 Load 175(u4x2) + 177: 170 Transpose 176 + Store 172(r13) 177 + 180: 135 Load 179(u1x3) + 181: 138 Transpose 180 + Store 178(r20) 181 + 184: 162 Load 183(u2x3) + 185: 165 Transpose 184 + Store 182(r21) 185 + 190: 186 Load 189(u3x3) + 191: 186 Transpose 190 + Store 188(r22) 191 + 198: 195 Load 197(u4x3) + 199: 192 Transpose 198 + Store 194(r23) 199 + 202: 144 Load 201(u1x4) + 203: 147 Transpose 202 + Store 200(r30) 203 + 206: 170 Load 205(u2x4) + 207: 173 Transpose 206 + Store 204(r31) 207 + 210: 192 Load 209(u3x4) + 211: 195 Transpose 210 + Store 208(r32) 211 + 216: 212 Load 215(u4x4) + 217: 212 Transpose 216 + Store 214(r33) 217 Return FunctionEnd + 14(@main():12(PS_OUTPUT) Function None 13 + 15: Label + 219(ps_output): 218(ptr) Variable Function + 224: 223(ptr) AccessChain 219(ps_output) 220 + Store 224 222 + 225:12(PS_OUTPUT) Load 219(ps_output) + ReturnValue 225 + FunctionEnd diff --git a/Test/baseResults/hlsl.matrixSwizzle.vert.out b/Test/baseResults/hlsl.matrixSwizzle.vert.out index cf79f724..4e824654 100755 --- a/Test/baseResults/hlsl.matrixSwizzle.vert.out +++ b/Test/baseResults/hlsl.matrixSwizzle.vert.out @@ -1,9 +1,9 @@ hlsl.matrixSwizzle.vert Shader version: 450 0:? Sequence -0:2 Function Definition: ShaderFunction(f1; (temp void) +0:2 Function Definition: @ShaderFunction(f1; (temp void) 0:2 Function Parameters: -0:2 'inf' (layout(location=0 ) in float) +0:2 'inf' (in float) 0:? Sequence 0:7 move second child to first child (temp float) 0:7 direct index (temp float) @@ -205,6 +205,14 @@ Shader version: 450 0:23 2 (const int) 0:23 Constant: 0:23 0 (const int) +0:2 Function Definition: ShaderFunction( (temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child (temp float) +0:? 'inf' (temp float) +0:? 'inf' (layout(location=0 ) in float) +0:2 Function Call: @ShaderFunction(f1; (temp void) +0:? 'inf' (temp float) 0:27 Function Definition: createMat3x3(vf3;vf3;vf3; (temp 3X3 matrix of float) 0:27 Function Parameters: 0:27 'a' (in 3-component vector of float) @@ -333,9 +341,9 @@ Linked vertex stage: Shader version: 450 0:? Sequence -0:2 Function Definition: ShaderFunction(f1; (temp void) +0:2 Function Definition: @ShaderFunction(f1; (temp void) 0:2 Function Parameters: -0:2 'inf' (layout(location=0 ) in float) +0:2 'inf' (in float) 0:? Sequence 0:7 move second child to first child (temp float) 0:7 direct index (temp float) @@ -537,6 +545,14 @@ Shader version: 450 0:23 2 (const int) 0:23 Constant: 0:23 0 (const int) +0:2 Function Definition: ShaderFunction( (temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child (temp float) +0:? 'inf' (temp float) +0:? 'inf' (layout(location=0 ) in float) +0:2 Function Call: @ShaderFunction(f1; (temp void) +0:? 'inf' (temp float) 0:27 Function Definition: createMat3x3(vf3;vf3;vf3; (temp 3X3 matrix of float) 0:27 Function Parameters: 0:27 'a' (in 3-component vector of float) @@ -662,157 +678,174 @@ Shader version: 450 Missing functionality: matrix swizzle // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 109 +// Id's are bound by 118 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "ShaderFunction" 108 + EntryPoint Vertex 4 "ShaderFunction" 81 Name 4 "ShaderFunction" - Name 14 "createMat3x3(vf3;vf3;vf3;" - Name 11 "a" - Name 12 "b" - Name 13 "c" - Name 19 "m" - Name 38 "f3" - Name 51 "intermVec" - Name 63 "intermVec" - Name 76 "m" - Name 108 "inf" - Decorate 108(inf) Location 0 + Name 10 "@ShaderFunction(f1;" + Name 9 "inf" + Name 19 "createMat3x3(vf3;vf3;vf3;" + Name 16 "a" + Name 17 "b" + Name 18 "c" + Name 24 "m" + Name 42 "f3" + Name 55 "intermVec" + Name 67 "intermVec" + Name 79 "inf" + Name 81 "inf" + Name 83 "param" + Name 87 "m" + Decorate 81(inf) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypeVector 6(float) 3 - 8: TypePointer Function 7(fvec3) - 9: TypeMatrix 7(fvec3) 3 - 10: TypeFunction 9 8(ptr) 8(ptr) 8(ptr) - 16: TypeVector 6(float) 4 - 17: TypeMatrix 16(fvec4) 3 - 18: TypePointer Function 17 - 20: TypeInt 32 1 - 21: 20(int) Constant 2 - 22: 6(float) Constant 1065353216 - 23: TypeInt 32 0 - 24: 23(int) Constant 3 - 25: TypePointer Function 6(float) - 27: 6(float) Constant 1073741824 - 30: 20(int) Constant 0 - 31: 6(float) Constant 1077936128 - 32: 16(fvec4) ConstantComposite 31 31 31 31 - 33: TypePointer Function 16(fvec4) - 35: 20(int) Constant 1 - 39: 23(int) Constant 0 - 43: 23(int) Constant 1 - 47: 23(int) Constant 2 - 52: 6(float) Constant 1084227584 - 53: 7(fvec3) ConstantComposite 52 52 52 - 75: TypePointer Function 9 - 107: TypePointer Input 6(float) - 108(inf): 107(ptr) Variable Input + 7: TypePointer Function 6(float) + 8: TypeFunction 2 7(ptr) + 12: TypeVector 6(float) 3 + 13: TypePointer Function 12(fvec3) + 14: TypeMatrix 12(fvec3) 3 + 15: TypeFunction 14 13(ptr) 13(ptr) 13(ptr) + 21: TypeVector 6(float) 4 + 22: TypeMatrix 21(fvec4) 3 + 23: TypePointer Function 22 + 25: TypeInt 32 1 + 26: 25(int) Constant 2 + 27: 6(float) Constant 1065353216 + 28: TypeInt 32 0 + 29: 28(int) Constant 3 + 31: 6(float) Constant 1073741824 + 34: 25(int) Constant 0 + 35: 6(float) Constant 1077936128 + 36: 21(fvec4) ConstantComposite 35 35 35 35 + 37: TypePointer Function 21(fvec4) + 39: 25(int) Constant 1 + 43: 28(int) Constant 0 + 47: 28(int) Constant 1 + 51: 28(int) Constant 2 + 56: 6(float) Constant 1084227584 + 57: 12(fvec3) ConstantComposite 56 56 56 + 80: TypePointer Input 6(float) + 81(inf): 80(ptr) Variable Input + 86: TypePointer Function 14 4(ShaderFunction): 2 Function None 3 5: Label - 19(m): 18(ptr) Variable Function - 38(f3): 8(ptr) Variable Function - 51(intermVec): 8(ptr) Variable Function - 63(intermVec): 8(ptr) Variable Function - 26: 25(ptr) AccessChain 19(m) 21 24 - Store 26 22 - 28: 25(ptr) AccessChain 19(m) 21 24 - Store 28 27 - 29: 25(ptr) AccessChain 19(m) 21 24 - Store 29 27 - 34: 33(ptr) AccessChain 19(m) 30 - Store 34 32 - 36: 33(ptr) AccessChain 19(m) 35 - Store 36 32 - 37: 33(ptr) AccessChain 19(m) 35 - Store 37 32 - 40: 25(ptr) AccessChain 38(f3) 39 - 41: 6(float) Load 40 - 42: 25(ptr) AccessChain 19(m) 30 39 - Store 42 41 - 44: 25(ptr) AccessChain 38(f3) 43 - 45: 6(float) Load 44 - 46: 25(ptr) AccessChain 19(m) 35 43 - Store 46 45 - 48: 25(ptr) AccessChain 38(f3) 47 - 49: 6(float) Load 48 - 50: 25(ptr) AccessChain 19(m) 35 47 - Store 50 49 - Store 51(intermVec) 53 - 54: 25(ptr) AccessChain 51(intermVec) 39 - 55: 6(float) Load 54 - 56: 25(ptr) AccessChain 19(m) 35 39 - Store 56 55 - 57: 25(ptr) AccessChain 51(intermVec) 43 - 58: 6(float) Load 57 - 59: 25(ptr) AccessChain 19(m) 30 43 - Store 59 58 - 60: 25(ptr) AccessChain 51(intermVec) 47 - 61: 6(float) Load 60 - 62: 25(ptr) AccessChain 19(m) 21 39 - Store 62 61 - 64: 7(fvec3) Load 38(f3) - 65: 7(fvec3) VectorTimesScalar 64 27 - Store 63(intermVec) 65 - 66: 25(ptr) AccessChain 63(intermVec) 39 - 67: 6(float) Load 66 - 68: 25(ptr) AccessChain 19(m) 30 39 - Store 68 67 - 69: 25(ptr) AccessChain 63(intermVec) 43 - 70: 6(float) Load 69 - 71: 25(ptr) AccessChain 19(m) 30 43 - Store 71 70 - 72: 25(ptr) AccessChain 63(intermVec) 47 - 73: 6(float) Load 72 - 74: 25(ptr) AccessChain 19(m) 35 39 - Store 74 73 - Store 38(f3) 30 + 79(inf): 7(ptr) Variable Function + 83(param): 7(ptr) Variable Function + 82: 6(float) Load 81(inf) + Store 79(inf) 82 + 84: 6(float) Load 79(inf) + Store 83(param) 84 + 85: 2 FunctionCall 10(@ShaderFunction(f1;) 83(param) Return FunctionEnd -14(createMat3x3(vf3;vf3;vf3;): 9 Function None 10 - 11(a): 8(ptr) FunctionParameter - 12(b): 8(ptr) FunctionParameter - 13(c): 8(ptr) FunctionParameter - 15: Label - 76(m): 75(ptr) Variable Function - 77: 25(ptr) AccessChain 11(a) 39 - 78: 6(float) Load 77 - 79: 25(ptr) AccessChain 76(m) 30 39 - Store 79 78 - 80: 25(ptr) AccessChain 11(a) 43 - 81: 6(float) Load 80 - 82: 25(ptr) AccessChain 76(m) 35 39 - Store 82 81 - 83: 25(ptr) AccessChain 11(a) 47 - 84: 6(float) Load 83 - 85: 25(ptr) AccessChain 76(m) 21 39 - Store 85 84 - 86: 25(ptr) AccessChain 12(b) 39 - 87: 6(float) Load 86 - 88: 25(ptr) AccessChain 76(m) 30 43 - Store 88 87 - 89: 25(ptr) AccessChain 12(b) 43 - 90: 6(float) Load 89 - 91: 25(ptr) AccessChain 76(m) 35 43 - Store 91 90 - 92: 25(ptr) AccessChain 12(b) 47 - 93: 6(float) Load 92 - 94: 25(ptr) AccessChain 76(m) 21 43 - Store 94 93 - 95: 25(ptr) AccessChain 13(c) 39 - 96: 6(float) Load 95 - 97: 25(ptr) AccessChain 76(m) 30 47 - Store 97 96 - 98: 25(ptr) AccessChain 13(c) 43 - 99: 6(float) Load 98 - 100: 25(ptr) AccessChain 76(m) 35 47 - Store 100 99 - 101: 25(ptr) AccessChain 13(c) 47 - 102: 6(float) Load 101 - 103: 25(ptr) AccessChain 76(m) 21 47 - Store 103 102 - 104: 9 Load 76(m) - ReturnValue 104 +10(@ShaderFunction(f1;): 2 Function None 8 + 9(inf): 7(ptr) FunctionParameter + 11: Label + 24(m): 23(ptr) Variable Function + 42(f3): 13(ptr) Variable Function + 55(intermVec): 13(ptr) Variable Function + 67(intermVec): 13(ptr) Variable Function + 30: 7(ptr) AccessChain 24(m) 26 29 + Store 30 27 + 32: 7(ptr) AccessChain 24(m) 26 29 + Store 32 31 + 33: 7(ptr) AccessChain 24(m) 26 29 + Store 33 31 + 38: 37(ptr) AccessChain 24(m) 34 + Store 38 36 + 40: 37(ptr) AccessChain 24(m) 39 + Store 40 36 + 41: 37(ptr) AccessChain 24(m) 39 + Store 41 36 + 44: 7(ptr) AccessChain 42(f3) 43 + 45: 6(float) Load 44 + 46: 7(ptr) AccessChain 24(m) 34 43 + Store 46 45 + 48: 7(ptr) AccessChain 42(f3) 47 + 49: 6(float) Load 48 + 50: 7(ptr) AccessChain 24(m) 39 47 + Store 50 49 + 52: 7(ptr) AccessChain 42(f3) 51 + 53: 6(float) Load 52 + 54: 7(ptr) AccessChain 24(m) 39 51 + Store 54 53 + Store 55(intermVec) 57 + 58: 7(ptr) AccessChain 55(intermVec) 43 + 59: 6(float) Load 58 + 60: 7(ptr) AccessChain 24(m) 39 43 + Store 60 59 + 61: 7(ptr) AccessChain 55(intermVec) 47 + 62: 6(float) Load 61 + 63: 7(ptr) AccessChain 24(m) 34 47 + Store 63 62 + 64: 7(ptr) AccessChain 55(intermVec) 51 + 65: 6(float) Load 64 + 66: 7(ptr) AccessChain 24(m) 26 43 + Store 66 65 + 68: 12(fvec3) Load 42(f3) + 69: 12(fvec3) VectorTimesScalar 68 31 + Store 67(intermVec) 69 + 70: 7(ptr) AccessChain 67(intermVec) 43 + 71: 6(float) Load 70 + 72: 7(ptr) AccessChain 24(m) 34 43 + Store 72 71 + 73: 7(ptr) AccessChain 67(intermVec) 47 + 74: 6(float) Load 73 + 75: 7(ptr) AccessChain 24(m) 34 47 + Store 75 74 + 76: 7(ptr) AccessChain 67(intermVec) 51 + 77: 6(float) Load 76 + 78: 7(ptr) AccessChain 24(m) 39 43 + Store 78 77 + Store 42(f3) 34 + Return + FunctionEnd +19(createMat3x3(vf3;vf3;vf3;): 14 Function None 15 + 16(a): 13(ptr) FunctionParameter + 17(b): 13(ptr) FunctionParameter + 18(c): 13(ptr) FunctionParameter + 20: Label + 87(m): 86(ptr) Variable Function + 88: 7(ptr) AccessChain 16(a) 43 + 89: 6(float) Load 88 + 90: 7(ptr) AccessChain 87(m) 34 43 + Store 90 89 + 91: 7(ptr) AccessChain 16(a) 47 + 92: 6(float) Load 91 + 93: 7(ptr) AccessChain 87(m) 39 43 + Store 93 92 + 94: 7(ptr) AccessChain 16(a) 51 + 95: 6(float) Load 94 + 96: 7(ptr) AccessChain 87(m) 26 43 + Store 96 95 + 97: 7(ptr) AccessChain 17(b) 43 + 98: 6(float) Load 97 + 99: 7(ptr) AccessChain 87(m) 34 47 + Store 99 98 + 100: 7(ptr) AccessChain 17(b) 47 + 101: 6(float) Load 100 + 102: 7(ptr) AccessChain 87(m) 39 47 + Store 102 101 + 103: 7(ptr) AccessChain 17(b) 51 + 104: 6(float) Load 103 + 105: 7(ptr) AccessChain 87(m) 26 47 + Store 105 104 + 106: 7(ptr) AccessChain 18(c) 43 + 107: 6(float) Load 106 + 108: 7(ptr) AccessChain 87(m) 34 51 + Store 108 107 + 109: 7(ptr) AccessChain 18(c) 47 + 110: 6(float) Load 109 + 111: 7(ptr) AccessChain 87(m) 39 51 + Store 111 110 + 112: 7(ptr) AccessChain 18(c) 51 + 113: 6(float) Load 112 + 114: 7(ptr) AccessChain 87(m) 26 51 + Store 114 113 + 115: 14 Load 87(m) + ReturnValue 115 FunctionEnd diff --git a/Test/baseResults/hlsl.matrixindex.frag.out b/Test/baseResults/hlsl.matrixindex.frag.out index 420ba9f5..ae4200a5 100644 --- a/Test/baseResults/hlsl.matrixindex.frag.out +++ b/Test/baseResults/hlsl.matrixindex.frag.out @@ -2,7 +2,7 @@ hlsl.matrixindex.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:10 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:10 Function Definition: @main( (temp structure{temp 4-component vector of float Color}) 0:10 Function Parameters: 0:? Sequence 0:22 Sequence @@ -117,15 +117,18 @@ gl_FragCoord origin is upper left 0:47 0 (const int) 0:47 Construct vec4 (temp 4-component vector of float) 0:47 'e2_11' (temp float) -0:48 Sequence -0:48 Sequence -0:48 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:48 Color: direct index for structure (temp 4-component vector of float) -0:48 'psout' (temp structure{temp 4-component vector of float Color}) -0:48 Constant: -0:48 0 (const int) -0:48 Branch: Return +0:48 Branch: Return with expression +0:48 'psout' (temp structure{temp 4-component vector of float Color}) +0:10 Function Definition: main( (temp void) +0:10 Function Parameters: +0:? Sequence +0:10 Sequence +0:10 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:10 Color: direct index for structure (temp 4-component vector of float) +0:10 Function Call: @main( (temp structure{temp 4-component vector of float Color}) +0:10 Constant: +0:10 0 (const int) 0:? Linker Objects 0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int idx, layout(offset=16 ) uniform 3X2 matrix of float um}) @@ -137,7 +140,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:10 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:10 Function Definition: @main( (temp structure{temp 4-component vector of float Color}) 0:10 Function Parameters: 0:? Sequence 0:22 Sequence @@ -252,156 +255,166 @@ gl_FragCoord origin is upper left 0:47 0 (const int) 0:47 Construct vec4 (temp 4-component vector of float) 0:47 'e2_11' (temp float) -0:48 Sequence -0:48 Sequence -0:48 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:48 Color: direct index for structure (temp 4-component vector of float) -0:48 'psout' (temp structure{temp 4-component vector of float Color}) -0:48 Constant: -0:48 0 (const int) -0:48 Branch: Return +0:48 Branch: Return with expression +0:48 'psout' (temp structure{temp 4-component vector of float Color}) +0:10 Function Definition: main( (temp void) +0:10 Function Parameters: +0:? Sequence +0:10 Sequence +0:10 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:10 Color: direct index for structure (temp 4-component vector of float) +0:10 Function Call: @main( (temp structure{temp 4-component vector of float Color}) +0:10 Constant: +0:10 0 (const int) 0:? Linker Objects 0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int idx, layout(offset=16 ) uniform 3X2 matrix of float um}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 78 +// Id's are bound by 83 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 74 + EntryPoint Fragment 4 "main" 80 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "e1_00" - Name 10 "e1_01" - Name 12 "e1_10" - Name 14 "e1_11" - Name 16 "e1_20" - Name 18 "e1_21" - Name 20 "e2_00" - Name 22 "e2_01" - Name 24 "e2_10" - Name 26 "e2_11" - Name 28 "e2_20" - Name 30 "e2_21" - Name 34 "r0a" - Name 36 "r1a" - Name 38 "r2a" - Name 40 "r0b" - Name 47 "$Global" - MemberName 47($Global) 0 "idx" - MemberName 47($Global) 1 "um" - Name 49 "" - Name 55 "indexable" - Name 58 "r0c" - Name 66 "PS_OUTPUT" - MemberName 66(PS_OUTPUT) 0 "Color" - Name 68 "psout" - Name 74 "Color" - MemberDecorate 47($Global) 0 Offset 0 - MemberDecorate 47($Global) 1 RowMajor - MemberDecorate 47($Global) 1 Offset 16 - MemberDecorate 47($Global) 1 MatrixStride 16 - Decorate 47($Global) Block - Decorate 49 DescriptorSet 0 - Decorate 74(Color) Location 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + Name 10 "@main(" + Name 13 "e1_00" + Name 15 "e1_01" + Name 17 "e1_10" + Name 19 "e1_11" + Name 21 "e1_20" + Name 23 "e1_21" + Name 25 "e2_00" + Name 27 "e2_01" + Name 29 "e2_10" + Name 31 "e2_11" + Name 33 "e2_20" + Name 35 "e2_21" + Name 39 "r0a" + Name 41 "r1a" + Name 43 "r2a" + Name 45 "r0b" + Name 52 "$Global" + MemberName 52($Global) 0 "idx" + MemberName 52($Global) 1 "um" + Name 54 "" + Name 60 "indexable" + Name 63 "r0c" + Name 71 "psout" + Name 80 "Color" + MemberDecorate 52($Global) 0 Offset 0 + MemberDecorate 52($Global) 1 RowMajor + MemberDecorate 52($Global) 1 Offset 16 + MemberDecorate 52($Global) 1 MatrixStride 16 + Decorate 52($Global) Block + Decorate 54 DescriptorSet 0 + Decorate 80(Color) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypePointer Function 6(float) - 9: 6(float) Constant 1092616192 - 11: 6(float) Constant 1093664768 - 13: 6(float) Constant 1094713344 - 15: 6(float) Constant 1095761920 - 17: 6(float) Constant 1096810496 - 19: 6(float) Constant 1097859072 - 21: 6(float) Constant 1101004800 - 23: 6(float) Constant 1101529088 - 25: 6(float) Constant 1102053376 - 27: 6(float) Constant 1102577664 - 29: 6(float) Constant 1103101952 - 31: 6(float) Constant 1103626240 - 32: TypeVector 6(float) 2 - 33: TypePointer Function 32(fvec2) - 35: 32(fvec2) ConstantComposite 9 11 - 37: 32(fvec2) ConstantComposite 13 15 - 39: 32(fvec2) ConstantComposite 17 19 - 41: TypeMatrix 32(fvec2) 3 - 42: 32(fvec2) ConstantComposite 21 23 - 43: 32(fvec2) ConstantComposite 25 27 - 44: 32(fvec2) ConstantComposite 29 31 - 45: 41 ConstantComposite 42 43 44 - 46: TypeInt 32 1 - 47($Global): TypeStruct 46(int) 41 - 48: TypePointer Uniform 47($Global) - 49: 48(ptr) Variable Uniform - 50: 46(int) Constant 0 - 51: TypePointer Uniform 46(int) - 54: TypePointer Function 41 - 59: 46(int) Constant 1 - 62: TypePointer Uniform 32(fvec2) - 65: TypeVector 6(float) 4 - 66(PS_OUTPUT): TypeStruct 65(fvec4) - 67: TypePointer Function 66(PS_OUTPUT) - 71: TypePointer Function 65(fvec4) - 73: TypePointer Output 65(fvec4) - 74(Color): 73(ptr) Variable Output + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 6(float) + 14: 6(float) Constant 1092616192 + 16: 6(float) Constant 1093664768 + 18: 6(float) Constant 1094713344 + 20: 6(float) Constant 1095761920 + 22: 6(float) Constant 1096810496 + 24: 6(float) Constant 1097859072 + 26: 6(float) Constant 1101004800 + 28: 6(float) Constant 1101529088 + 30: 6(float) Constant 1102053376 + 32: 6(float) Constant 1102577664 + 34: 6(float) Constant 1103101952 + 36: 6(float) Constant 1103626240 + 37: TypeVector 6(float) 2 + 38: TypePointer Function 37(fvec2) + 40: 37(fvec2) ConstantComposite 14 16 + 42: 37(fvec2) ConstantComposite 18 20 + 44: 37(fvec2) ConstantComposite 22 24 + 46: TypeMatrix 37(fvec2) 3 + 47: 37(fvec2) ConstantComposite 26 28 + 48: 37(fvec2) ConstantComposite 30 32 + 49: 37(fvec2) ConstantComposite 34 36 + 50: 46 ConstantComposite 47 48 49 + 51: TypeInt 32 1 + 52($Global): TypeStruct 51(int) 46 + 53: TypePointer Uniform 52($Global) + 54: 53(ptr) Variable Uniform + 55: 51(int) Constant 0 + 56: TypePointer Uniform 51(int) + 59: TypePointer Function 46 + 64: 51(int) Constant 1 + 67: TypePointer Uniform 37(fvec2) + 70: TypePointer Function 8(PS_OUTPUT) + 74: TypePointer Function 7(fvec4) + 79: TypePointer Output 7(fvec4) + 80(Color): 79(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 8(e1_00): 7(ptr) Variable Function - 10(e1_01): 7(ptr) Variable Function - 12(e1_10): 7(ptr) Variable Function - 14(e1_11): 7(ptr) Variable Function - 16(e1_20): 7(ptr) Variable Function - 18(e1_21): 7(ptr) Variable Function - 20(e2_00): 7(ptr) Variable Function - 22(e2_01): 7(ptr) Variable Function - 24(e2_10): 7(ptr) Variable Function - 26(e2_11): 7(ptr) Variable Function - 28(e2_20): 7(ptr) Variable Function - 30(e2_21): 7(ptr) Variable Function - 34(r0a): 33(ptr) Variable Function - 36(r1a): 33(ptr) Variable Function - 38(r2a): 33(ptr) Variable Function - 40(r0b): 33(ptr) Variable Function - 55(indexable): 54(ptr) Variable Function - 58(r0c): 33(ptr) Variable Function - 68(psout): 67(ptr) Variable Function - Store 8(e1_00) 9 - Store 10(e1_01) 11 - Store 12(e1_10) 13 - Store 14(e1_11) 15 - Store 16(e1_20) 17 - Store 18(e1_21) 19 - Store 20(e2_00) 21 - Store 22(e2_01) 23 - Store 24(e2_10) 25 - Store 26(e2_11) 27 - Store 28(e2_20) 29 - Store 30(e2_21) 31 - Store 34(r0a) 35 - Store 36(r1a) 37 - Store 38(r2a) 39 - 52: 51(ptr) AccessChain 49 50 - 53: 46(int) Load 52 - Store 55(indexable) 45 - 56: 33(ptr) AccessChain 55(indexable) 53 - 57: 32(fvec2) Load 56 - Store 40(r0b) 57 - 60: 51(ptr) AccessChain 49 50 - 61: 46(int) Load 60 - 63: 62(ptr) AccessChain 49 59 61 - 64: 32(fvec2) Load 63 - Store 58(r0c) 64 - 69: 6(float) Load 26(e2_11) - 70: 65(fvec4) CompositeConstruct 69 69 69 69 - 72: 71(ptr) AccessChain 68(psout) 50 - Store 72 70 - 75: 71(ptr) AccessChain 68(psout) 50 - 76: 65(fvec4) Load 75 - Store 74(Color) 76 + 81:8(PS_OUTPUT) FunctionCall 10(@main() + 82: 7(fvec4) CompositeExtract 81 0 + Store 80(Color) 82 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(e1_00): 12(ptr) Variable Function + 15(e1_01): 12(ptr) Variable Function + 17(e1_10): 12(ptr) Variable Function + 19(e1_11): 12(ptr) Variable Function + 21(e1_20): 12(ptr) Variable Function + 23(e1_21): 12(ptr) Variable Function + 25(e2_00): 12(ptr) Variable Function + 27(e2_01): 12(ptr) Variable Function + 29(e2_10): 12(ptr) Variable Function + 31(e2_11): 12(ptr) Variable Function + 33(e2_20): 12(ptr) Variable Function + 35(e2_21): 12(ptr) Variable Function + 39(r0a): 38(ptr) Variable Function + 41(r1a): 38(ptr) Variable Function + 43(r2a): 38(ptr) Variable Function + 45(r0b): 38(ptr) Variable Function + 60(indexable): 59(ptr) Variable Function + 63(r0c): 38(ptr) Variable Function + 71(psout): 70(ptr) Variable Function + Store 13(e1_00) 14 + Store 15(e1_01) 16 + Store 17(e1_10) 18 + Store 19(e1_11) 20 + Store 21(e1_20) 22 + Store 23(e1_21) 24 + Store 25(e2_00) 26 + Store 27(e2_01) 28 + Store 29(e2_10) 30 + Store 31(e2_11) 32 + Store 33(e2_20) 34 + Store 35(e2_21) 36 + Store 39(r0a) 40 + Store 41(r1a) 42 + Store 43(r2a) 44 + 57: 56(ptr) AccessChain 54 55 + 58: 51(int) Load 57 + Store 60(indexable) 50 + 61: 38(ptr) AccessChain 60(indexable) 58 + 62: 37(fvec2) Load 61 + Store 45(r0b) 62 + 65: 56(ptr) AccessChain 54 55 + 66: 51(int) Load 65 + 68: 67(ptr) AccessChain 54 64 66 + 69: 37(fvec2) Load 68 + Store 63(r0c) 69 + 72: 6(float) Load 31(e2_11) + 73: 7(fvec4) CompositeConstruct 72 72 72 72 + 75: 74(ptr) AccessChain 71(psout) 55 + Store 75 73 + 76:8(PS_OUTPUT) Load 71(psout) + ReturnValue 76 + FunctionEnd diff --git a/Test/baseResults/hlsl.max.frag.out b/Test/baseResults/hlsl.max.frag.out index 8995af35..fed09bfb 100755 --- a/Test/baseResults/hlsl.max.frag.out +++ b/Test/baseResults/hlsl.max.frag.out @@ -2,18 +2,29 @@ hlsl.max.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4;vf4; (temp 4-component vector of float) +0:2 Function Definition: @PixelShaderFunction(vf4;vf4; (temp 4-component vector of float) 0:2 Function Parameters: -0:2 'input1' (layout(location=0 ) in 4-component vector of float) -0:2 'input2' (layout(location=1 ) in 4-component vector of float) +0:2 'input1' (in 4-component vector of float) +0:2 'input2' (in 4-component vector of float) 0:? Sequence -0:3 Sequence -0:3 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:3 max (temp 4-component vector of float) -0:3 'input1' (layout(location=0 ) in 4-component vector of float) -0:3 'input2' (layout(location=1 ) in 4-component vector of float) -0:3 Branch: Return +0:3 Branch: Return with expression +0:3 max (temp 4-component vector of float) +0:3 'input1' (in 4-component vector of float) +0:3 'input2' (in 4-component vector of float) +0:2 Function Definition: PixelShaderFunction( (temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child (temp 4-component vector of float) +0:? 'input1' (temp 4-component vector of float) +0:? 'input1' (layout(location=0 ) in 4-component vector of float) +0:2 move second child to first child (temp 4-component vector of float) +0:? 'input2' (temp 4-component vector of float) +0:? 'input2' (layout(location=1 ) in 4-component vector of float) +0:2 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:2 Function Call: @PixelShaderFunction(vf4;vf4; (temp 4-component vector of float) +0:? 'input1' (temp 4-component vector of float) +0:? 'input2' (temp 4-component vector of float) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 'input1' (layout(location=0 ) in 4-component vector of float) @@ -26,18 +37,29 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4;vf4; (temp 4-component vector of float) +0:2 Function Definition: @PixelShaderFunction(vf4;vf4; (temp 4-component vector of float) 0:2 Function Parameters: -0:2 'input1' (layout(location=0 ) in 4-component vector of float) -0:2 'input2' (layout(location=1 ) in 4-component vector of float) +0:2 'input1' (in 4-component vector of float) +0:2 'input2' (in 4-component vector of float) 0:? Sequence -0:3 Sequence -0:3 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:3 max (temp 4-component vector of float) -0:3 'input1' (layout(location=0 ) in 4-component vector of float) -0:3 'input2' (layout(location=1 ) in 4-component vector of float) -0:3 Branch: Return +0:3 Branch: Return with expression +0:3 max (temp 4-component vector of float) +0:3 'input1' (in 4-component vector of float) +0:3 'input2' (in 4-component vector of float) +0:2 Function Definition: PixelShaderFunction( (temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child (temp 4-component vector of float) +0:? 'input1' (temp 4-component vector of float) +0:? 'input1' (layout(location=0 ) in 4-component vector of float) +0:2 move second child to first child (temp 4-component vector of float) +0:? 'input2' (temp 4-component vector of float) +0:? 'input2' (layout(location=1 ) in 4-component vector of float) +0:2 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:2 Function Call: @PixelShaderFunction(vf4;vf4; (temp 4-component vector of float) +0:? 'input1' (temp 4-component vector of float) +0:? 'input2' (temp 4-component vector of float) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 'input1' (layout(location=0 ) in 4-component vector of float) @@ -45,34 +67,62 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 17 +// Id's are bound by 33 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 9 11 13 + EntryPoint Fragment 4 "PixelShaderFunction" 21 24 27 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 9 "@entryPointOutput" - Name 11 "input1" - Name 13 "input2" - Decorate 9(@entryPointOutput) Location 0 - Decorate 11(input1) Location 0 - Decorate 13(input2) Location 1 + Name 12 "@PixelShaderFunction(vf4;vf4;" + Name 10 "input1" + Name 11 "input2" + Name 19 "input1" + Name 21 "input1" + Name 23 "input2" + Name 24 "input2" + Name 27 "@entryPointOutput" + Name 28 "param" + Name 30 "param" + Decorate 21(input1) Location 0 + Decorate 24(input2) Location 1 + Decorate 27(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Output 7(fvec4) -9(@entryPointOutput): 8(ptr) Variable Output - 10: TypePointer Input 7(fvec4) - 11(input1): 10(ptr) Variable Input - 13(input2): 10(ptr) Variable Input + 8: TypePointer Function 7(fvec4) + 9: TypeFunction 7(fvec4) 8(ptr) 8(ptr) + 20: TypePointer Input 7(fvec4) + 21(input1): 20(ptr) Variable Input + 24(input2): 20(ptr) Variable Input + 26: TypePointer Output 7(fvec4) +27(@entryPointOutput): 26(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label - 12: 7(fvec4) Load 11(input1) - 14: 7(fvec4) Load 13(input2) - 15: 7(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 12 14 - Store 9(@entryPointOutput) 15 + 19(input1): 8(ptr) Variable Function + 23(input2): 8(ptr) Variable Function + 28(param): 8(ptr) Variable Function + 30(param): 8(ptr) Variable Function + 22: 7(fvec4) Load 21(input1) + Store 19(input1) 22 + 25: 7(fvec4) Load 24(input2) + Store 23(input2) 25 + 29: 7(fvec4) Load 19(input1) + Store 28(param) 29 + 31: 7(fvec4) Load 23(input2) + Store 30(param) 31 + 32: 7(fvec4) FunctionCall 12(@PixelShaderFunction(vf4;vf4;) 28(param) 30(param) + Store 27(@entryPointOutput) 32 Return FunctionEnd +12(@PixelShaderFunction(vf4;vf4;): 7(fvec4) Function None 9 + 10(input1): 8(ptr) FunctionParameter + 11(input2): 8(ptr) FunctionParameter + 13: Label + 14: 7(fvec4) Load 10(input1) + 15: 7(fvec4) Load 11(input2) + 16: 7(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 14 15 + ReturnValue 16 + FunctionEnd diff --git a/Test/baseResults/hlsl.mintypes.frag.out b/Test/baseResults/hlsl.mintypes.frag.out index 84c7a8c8..505f25a0 100644 --- a/Test/baseResults/hlsl.mintypes.frag.out +++ b/Test/baseResults/hlsl.mintypes.frag.out @@ -2,7 +2,7 @@ hlsl.mintypes.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:9 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:9 Function Definition: @main( (temp structure{temp 4-component vector of float Color}) 0:9 Function Parameters: 0:? Sequence 0:40 add (temp mediump 2-component vector of float) @@ -30,15 +30,18 @@ gl_FragCoord origin is upper left 0:47 0.000000 0:47 0.000000 0:47 0.000000 -0:48 Sequence -0:48 Sequence -0:48 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:48 Color: direct index for structure (temp 4-component vector of float) -0:48 'psout' (temp structure{temp 4-component vector of float Color}) -0:48 Constant: -0:48 0 (const int) -0:48 Branch: Return +0:48 Branch: Return with expression +0:48 'psout' (temp structure{temp 4-component vector of float Color}) +0:9 Function Definition: main( (temp void) +0:9 Function Parameters: +0:? Sequence +0:9 Sequence +0:9 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:9 Color: direct index for structure (temp 4-component vector of float) +0:9 Function Call: @main( (temp structure{temp 4-component vector of float Color}) +0:9 Constant: +0:9 0 (const int) 0:? Linker Objects 0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform mediump float b1a, layout(offset=4 ) uniform mediump float b1b}) @@ -50,7 +53,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:9 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:9 Function Definition: @main( (temp structure{temp 4-component vector of float Color}) 0:9 Function Parameters: 0:? Sequence 0:40 add (temp mediump 2-component vector of float) @@ -78,147 +81,157 @@ gl_FragCoord origin is upper left 0:47 0.000000 0:47 0.000000 0:47 0.000000 -0:48 Sequence -0:48 Sequence -0:48 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:48 Color: direct index for structure (temp 4-component vector of float) -0:48 'psout' (temp structure{temp 4-component vector of float Color}) -0:48 Constant: -0:48 0 (const int) -0:48 Branch: Return +0:48 Branch: Return with expression +0:48 'psout' (temp structure{temp 4-component vector of float Color}) +0:9 Function Definition: main( (temp void) +0:9 Function Parameters: +0:? Sequence +0:9 Sequence +0:9 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:9 Color: direct index for structure (temp 4-component vector of float) +0:9 Function Call: @main( (temp structure{temp 4-component vector of float Color}) +0:9 Constant: +0:9 0 (const int) 0:? Linker Objects 0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform mediump float b1a, layout(offset=4 ) uniform mediump float b1b}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 65 +// Id's are bound by 70 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 58 + EntryPoint Fragment 4 "main" 64 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "mf16_2" - Name 12 "mf16" - Name 16 "mf10_2" - Name 18 "mf10" - Name 25 "mi16_2" - Name 28 "mi16" - Name 32 "mi12_2" - Name 34 "mi12" - Name 41 "mu16_2" - Name 44 "mu16" - Name 49 "PS_OUTPUT" - MemberName 49(PS_OUTPUT) 0 "Color" - Name 51 "psout" - Name 58 "Color" - Name 62 "$Global" - MemberName 62($Global) 0 "b1a" - MemberName 62($Global) 1 "b1b" - Name 64 "" - Decorate 9(mf16_2) RelaxedPrecision - Decorate 10 RelaxedPrecision - Decorate 12(mf16) RelaxedPrecision - Decorate 13 RelaxedPrecision - Decorate 14 RelaxedPrecision + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + Name 10 "@main(" + Name 14 "mf16_2" + Name 17 "mf16" + Name 21 "mf10_2" + Name 23 "mf10" + Name 30 "mi16_2" + Name 33 "mi16" + Name 37 "mi12_2" + Name 39 "mi12" + Name 46 "mu16_2" + Name 49 "mu16" + Name 54 "psout" + Name 64 "Color" + Name 67 "$Global" + MemberName 67($Global) 0 "b1a" + MemberName 67($Global) 1 "b1b" + Name 69 "" + Decorate 14(mf16_2) RelaxedPrecision Decorate 15 RelaxedPrecision - Decorate 16(mf10_2) RelaxedPrecision - Decorate 17 RelaxedPrecision - Decorate 18(mf10) RelaxedPrecision + Decorate 17(mf16) RelaxedPrecision + Decorate 18 RelaxedPrecision Decorate 19 RelaxedPrecision Decorate 20 RelaxedPrecision - Decorate 21 RelaxedPrecision - Decorate 25(mi16_2) RelaxedPrecision + Decorate 21(mf10_2) RelaxedPrecision + Decorate 22 RelaxedPrecision + Decorate 23(mf10) RelaxedPrecision + Decorate 24 RelaxedPrecision + Decorate 25 RelaxedPrecision Decorate 26 RelaxedPrecision - Decorate 28(mi16) RelaxedPrecision - Decorate 29 RelaxedPrecision - Decorate 30 RelaxedPrecision + Decorate 30(mi16_2) RelaxedPrecision Decorate 31 RelaxedPrecision - Decorate 32(mi12_2) RelaxedPrecision - Decorate 33 RelaxedPrecision - Decorate 34(mi12) RelaxedPrecision + Decorate 33(mi16) RelaxedPrecision + Decorate 34 RelaxedPrecision Decorate 35 RelaxedPrecision Decorate 36 RelaxedPrecision - Decorate 37 RelaxedPrecision - Decorate 41(mu16_2) RelaxedPrecision + Decorate 37(mi12_2) RelaxedPrecision + Decorate 38 RelaxedPrecision + Decorate 39(mi12) RelaxedPrecision + Decorate 40 RelaxedPrecision + Decorate 41 RelaxedPrecision Decorate 42 RelaxedPrecision - Decorate 44(mu16) RelaxedPrecision - Decorate 45 RelaxedPrecision - Decorate 46 RelaxedPrecision + Decorate 46(mu16_2) RelaxedPrecision Decorate 47 RelaxedPrecision - Decorate 58(Color) Location 0 - MemberDecorate 62($Global) 0 RelaxedPrecision - MemberDecorate 62($Global) 0 Offset 0 - MemberDecorate 62($Global) 1 RelaxedPrecision - MemberDecorate 62($Global) 1 Offset 4 - Decorate 62($Global) Block - Decorate 64 DescriptorSet 0 + Decorate 49(mu16) RelaxedPrecision + Decorate 50 RelaxedPrecision + Decorate 51 RelaxedPrecision + Decorate 52 RelaxedPrecision + Decorate 64(Color) Location 0 + MemberDecorate 67($Global) 0 RelaxedPrecision + MemberDecorate 67($Global) 0 Offset 0 + MemberDecorate 67($Global) 1 RelaxedPrecision + MemberDecorate 67($Global) 1 Offset 4 + Decorate 67($Global) Block + Decorate 69 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypeVector 6(float) 2 - 8: TypePointer Function 7(fvec2) - 11: TypePointer Function 6(float) - 22: TypeInt 32 1 - 23: TypeVector 22(int) 2 - 24: TypePointer Function 23(ivec2) - 27: TypePointer Function 22(int) - 38: TypeInt 32 0 - 39: TypeVector 38(int) 2 - 40: TypePointer Function 39(ivec2) - 43: TypePointer Function 38(int) - 48: TypeVector 6(float) 4 - 49(PS_OUTPUT): TypeStruct 48(fvec4) - 50: TypePointer Function 49(PS_OUTPUT) - 52: 22(int) Constant 0 - 53: 6(float) Constant 0 - 54: 48(fvec4) ConstantComposite 53 53 53 53 - 55: TypePointer Function 48(fvec4) - 57: TypePointer Output 48(fvec4) - 58(Color): 57(ptr) Variable Output - 62($Global): TypeStruct 6(float) 6(float) - 63: TypePointer Uniform 62($Global) - 64: 63(ptr) Variable Uniform + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypeVector 6(float) 2 + 13: TypePointer Function 12(fvec2) + 16: TypePointer Function 6(float) + 27: TypeInt 32 1 + 28: TypeVector 27(int) 2 + 29: TypePointer Function 28(ivec2) + 32: TypePointer Function 27(int) + 43: TypeInt 32 0 + 44: TypeVector 43(int) 2 + 45: TypePointer Function 44(ivec2) + 48: TypePointer Function 43(int) + 53: TypePointer Function 8(PS_OUTPUT) + 55: 27(int) Constant 0 + 56: 6(float) Constant 0 + 57: 7(fvec4) ConstantComposite 56 56 56 56 + 58: TypePointer Function 7(fvec4) + 63: TypePointer Output 7(fvec4) + 64(Color): 63(ptr) Variable Output + 67($Global): TypeStruct 6(float) 6(float) + 68: TypePointer Uniform 67($Global) + 69: 68(ptr) Variable Uniform 4(main): 2 Function None 3 5: Label - 9(mf16_2): 8(ptr) Variable Function - 12(mf16): 11(ptr) Variable Function - 16(mf10_2): 8(ptr) Variable Function - 18(mf10): 11(ptr) Variable Function - 25(mi16_2): 24(ptr) Variable Function - 28(mi16): 27(ptr) Variable Function - 32(mi12_2): 24(ptr) Variable Function - 34(mi12): 27(ptr) Variable Function - 41(mu16_2): 40(ptr) Variable Function - 44(mu16): 43(ptr) Variable Function - 51(psout): 50(ptr) Variable Function - 10: 7(fvec2) Load 9(mf16_2) - 13: 6(float) Load 12(mf16) - 14: 7(fvec2) CompositeConstruct 13 13 - 15: 7(fvec2) FAdd 10 14 - 17: 7(fvec2) Load 16(mf10_2) - 19: 6(float) Load 18(mf10) - 20: 7(fvec2) CompositeConstruct 19 19 - 21: 7(fvec2) FAdd 17 20 - 26: 23(ivec2) Load 25(mi16_2) - 29: 22(int) Load 28(mi16) - 30: 23(ivec2) CompositeConstruct 29 29 - 31: 23(ivec2) IAdd 26 30 - 33: 23(ivec2) Load 32(mi12_2) - 35: 22(int) Load 34(mi12) - 36: 23(ivec2) CompositeConstruct 35 35 - 37: 23(ivec2) IAdd 33 36 - 42: 39(ivec2) Load 41(mu16_2) - 45: 38(int) Load 44(mu16) - 46: 39(ivec2) CompositeConstruct 45 45 - 47: 39(ivec2) IAdd 42 46 - 56: 55(ptr) AccessChain 51(psout) 52 - Store 56 54 - 59: 55(ptr) AccessChain 51(psout) 52 - 60: 48(fvec4) Load 59 - Store 58(Color) 60 + 65:8(PS_OUTPUT) FunctionCall 10(@main() + 66: 7(fvec4) CompositeExtract 65 0 + Store 64(Color) 66 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 14(mf16_2): 13(ptr) Variable Function + 17(mf16): 16(ptr) Variable Function + 21(mf10_2): 13(ptr) Variable Function + 23(mf10): 16(ptr) Variable Function + 30(mi16_2): 29(ptr) Variable Function + 33(mi16): 32(ptr) Variable Function + 37(mi12_2): 29(ptr) Variable Function + 39(mi12): 32(ptr) Variable Function + 46(mu16_2): 45(ptr) Variable Function + 49(mu16): 48(ptr) Variable Function + 54(psout): 53(ptr) Variable Function + 15: 12(fvec2) Load 14(mf16_2) + 18: 6(float) Load 17(mf16) + 19: 12(fvec2) CompositeConstruct 18 18 + 20: 12(fvec2) FAdd 15 19 + 22: 12(fvec2) Load 21(mf10_2) + 24: 6(float) Load 23(mf10) + 25: 12(fvec2) CompositeConstruct 24 24 + 26: 12(fvec2) FAdd 22 25 + 31: 28(ivec2) Load 30(mi16_2) + 34: 27(int) Load 33(mi16) + 35: 28(ivec2) CompositeConstruct 34 34 + 36: 28(ivec2) IAdd 31 35 + 38: 28(ivec2) Load 37(mi12_2) + 40: 27(int) Load 39(mi12) + 41: 28(ivec2) CompositeConstruct 40 40 + 42: 28(ivec2) IAdd 38 41 + 47: 44(ivec2) Load 46(mu16_2) + 50: 43(int) Load 49(mu16) + 51: 44(ivec2) CompositeConstruct 50 50 + 52: 44(ivec2) IAdd 47 51 + 59: 58(ptr) AccessChain 54(psout) 55 + Store 59 57 + 60:8(PS_OUTPUT) Load 54(psout) + ReturnValue 60 + FunctionEnd diff --git a/Test/baseResults/hlsl.multiEntry.vert.out b/Test/baseResults/hlsl.multiEntry.vert.out index f0d05abd..6af474c9 100755 --- a/Test/baseResults/hlsl.multiEntry.vert.out +++ b/Test/baseResults/hlsl.multiEntry.vert.out @@ -10,20 +10,27 @@ Shader version: 450 0:5 'Position' (layout(rgba32f ) uniform samplerBuffer) 0:5 Convert uint to int (temp int) 0:5 'Index' (in uint) -0:9 Function Definition: RealEntrypoint(u1; (temp 4-component vector of float Position) +0:9 Function Definition: @RealEntrypoint(u1; (temp 4-component vector of float Position) 0:9 Function Parameters: 0:9 'Index' (in uint VertexIndex) 0:? Sequence -0:10 Sequence -0:10 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (out 4-component vector of float Position) -0:10 Function Call: FakeEntrypoint(u1; (temp 4-component vector of float) -0:10 'Index' (in uint VertexIndex) -0:10 Branch: Return +0:10 Branch: Return with expression +0:10 Function Call: FakeEntrypoint(u1; (temp 4-component vector of float) +0:10 'Index' (in uint VertexIndex) +0:9 Function Definition: RealEntrypoint( (temp void) +0:9 Function Parameters: +0:? Sequence +0:9 move second child to first child (temp uint) +0:? 'Index' (temp uint) +0:? 'Index' (in uint VertexIndex) +0:9 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float Position) +0:9 Function Call: @RealEntrypoint(u1; (temp 4-component vector of float Position) +0:? 'Index' (temp uint) 0:? Linker Objects +0:? 'Position' (layout(rgba32f ) uniform samplerBuffer) 0:? '@entryPointOutput' (out 4-component vector of float Position) 0:? 'Index' (in uint VertexIndex) -0:? 'Position' (layout(rgba32f ) uniform samplerBuffer) Linked vertex stage: @@ -40,40 +47,51 @@ Shader version: 450 0:5 'Position' (layout(rgba32f ) uniform samplerBuffer) 0:5 Convert uint to int (temp int) 0:5 'Index' (in uint) -0:9 Function Definition: RealEntrypoint(u1; (temp 4-component vector of float Position) +0:9 Function Definition: @RealEntrypoint(u1; (temp 4-component vector of float Position) 0:9 Function Parameters: 0:9 'Index' (in uint VertexIndex) 0:? Sequence -0:10 Sequence -0:10 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (out 4-component vector of float Position) -0:10 Function Call: FakeEntrypoint(u1; (temp 4-component vector of float) -0:10 'Index' (in uint VertexIndex) -0:10 Branch: Return +0:10 Branch: Return with expression +0:10 Function Call: FakeEntrypoint(u1; (temp 4-component vector of float) +0:10 'Index' (in uint VertexIndex) +0:9 Function Definition: RealEntrypoint( (temp void) +0:9 Function Parameters: +0:? Sequence +0:9 move second child to first child (temp uint) +0:? 'Index' (temp uint) +0:? 'Index' (in uint VertexIndex) +0:9 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float Position) +0:9 Function Call: @RealEntrypoint(u1; (temp 4-component vector of float Position) +0:? 'Index' (temp uint) 0:? Linker Objects +0:? 'Position' (layout(rgba32f ) uniform samplerBuffer) 0:? '@entryPointOutput' (out 4-component vector of float Position) 0:? 'Index' (in uint VertexIndex) -0:? 'Position' (layout(rgba32f ) uniform samplerBuffer) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 34 +// Id's are bound by 43 Capability Shader Capability SampledBuffer 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "RealEntrypoint" 27 29 + EntryPoint Vertex 4 "RealEntrypoint" 36 39 Name 4 "RealEntrypoint" Name 12 "FakeEntrypoint(u1;" Name 11 "Index" - Name 17 "Position" - Name 27 "@entryPointOutput" - Name 29 "Index" - Name 30 "param" - Decorate 17(Position) DescriptorSet 0 - Decorate 27(@entryPointOutput) BuiltIn Position - Decorate 29(Index) BuiltIn VertexIndex + Name 15 "@RealEntrypoint(u1;" + Name 14 "Index" + Name 20 "Position" + Name 29 "param" + Name 34 "Index" + Name 36 "Index" + Name 39 "@entryPointOutput" + Name 40 "param" + Decorate 20(Position) DescriptorSet 0 + Decorate 36(Index) BuiltIn VertexIndex + Decorate 39(@entryPointOutput) BuiltIn Position 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 @@ -81,31 +99,43 @@ Shader version: 450 8: TypeFloat 32 9: TypeVector 8(float) 4 10: TypeFunction 9(fvec4) 7(ptr) - 14: TypeImage 8(float) Buffer sampled format:Rgba32f - 15: TypeSampledImage 14 - 16: TypePointer UniformConstant 15 - 17(Position): 16(ptr) Variable UniformConstant - 20: TypeInt 32 1 - 26: TypePointer Output 9(fvec4) -27(@entryPointOutput): 26(ptr) Variable Output - 28: TypePointer Input 6(int) - 29(Index): 28(ptr) Variable Input + 17: TypeImage 8(float) Buffer sampled format:Rgba32f + 18: TypeSampledImage 17 + 19: TypePointer UniformConstant 18 + 20(Position): 19(ptr) Variable UniformConstant + 23: TypeInt 32 1 + 35: TypePointer Input 6(int) + 36(Index): 35(ptr) Variable Input + 38: TypePointer Output 9(fvec4) +39(@entryPointOutput): 38(ptr) Variable Output 4(RealEntrypoint): 2 Function None 3 5: Label - 30(param): 7(ptr) Variable Function - 31: 6(int) Load 29(Index) - Store 30(param) 31 - 32: 9(fvec4) FunctionCall 12(FakeEntrypoint(u1;) 30(param) - Store 27(@entryPointOutput) 32 + 34(Index): 7(ptr) Variable Function + 40(param): 7(ptr) Variable Function + 37: 6(int) Load 36(Index) + Store 34(Index) 37 + 41: 6(int) Load 34(Index) + Store 40(param) 41 + 42: 9(fvec4) FunctionCall 15(@RealEntrypoint(u1;) 40(param) + Store 39(@entryPointOutput) 42 Return FunctionEnd 12(FakeEntrypoint(u1;): 9(fvec4) Function None 10 11(Index): 7(ptr) FunctionParameter 13: Label - 18: 15 Load 17(Position) - 19: 6(int) Load 11(Index) - 21: 20(int) Bitcast 19 - 22: 14 Image 18 - 23: 9(fvec4) ImageFetch 22 21 - ReturnValue 23 + 21: 18 Load 20(Position) + 22: 6(int) Load 11(Index) + 24: 23(int) Bitcast 22 + 25: 17 Image 21 + 26: 9(fvec4) ImageFetch 25 24 + ReturnValue 26 + FunctionEnd +15(@RealEntrypoint(u1;): 9(fvec4) Function None 10 + 14(Index): 7(ptr) FunctionParameter + 16: Label + 29(param): 7(ptr) Variable Function + 30: 6(int) Load 14(Index) + Store 29(param) 30 + 31: 9(fvec4) FunctionCall 12(FakeEntrypoint(u1;) 29(param) + ReturnValue 31 FunctionEnd diff --git a/Test/baseResults/hlsl.multiReturn.frag.out b/Test/baseResults/hlsl.multiReturn.frag.out index 80d7f166..2b5cf273 100755 --- a/Test/baseResults/hlsl.multiReturn.frag.out +++ b/Test/baseResults/hlsl.multiReturn.frag.out @@ -10,10 +10,14 @@ gl_FragCoord origin is upper left 0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform structure{temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m} s}) 0:13 Constant: 0:13 0 (const uint) -0:17 Function Definition: main( (temp void) +0:17 Function Definition: @main( (temp void) 0:17 Function Parameters: 0:? Sequence 0:18 Function Call: foo( (temp structure{temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m}) +0:17 Function Definition: main( (temp void) +0:17 Function Parameters: +0:? Sequence +0:17 Function Call: @main( (temp void) 0:? Linker Objects 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform structure{temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m} s}) @@ -32,16 +36,20 @@ gl_FragCoord origin is upper left 0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform structure{temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m} s}) 0:13 Constant: 0:13 0 (const uint) -0:17 Function Definition: main( (temp void) +0:17 Function Definition: @main( (temp void) 0:17 Function Parameters: 0:? Sequence 0:18 Function Call: foo( (temp structure{temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m}) +0:17 Function Definition: main( (temp void) +0:17 Function Parameters: +0:? Sequence +0:17 Function Call: @main( (temp void) 0:? Linker Objects 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform structure{temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m} s}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 39 +// Id's are bound by 42 Capability Shader 1: ExtInstImport "GLSL.std.450" @@ -54,21 +62,22 @@ gl_FragCoord origin is upper left MemberName 9(S) 1 "v" MemberName 9(S) 2 "m" Name 11 "foo(" - Name 13 "S" - MemberName 13(S) 0 "f" - MemberName 13(S) 1 "v" - MemberName 13(S) 2 "m" - Name 14 "bufName" - MemberName 14(bufName) 0 "s" - Name 16 "" - MemberDecorate 13(S) 0 Offset 0 - MemberDecorate 13(S) 1 Offset 16 - MemberDecorate 13(S) 2 RowMajor - MemberDecorate 13(S) 2 Offset 32 - MemberDecorate 13(S) 2 MatrixStride 16 - MemberDecorate 14(bufName) 0 Offset 0 - Decorate 14(bufName) Block - Decorate 16 DescriptorSet 0 + Name 13 "@main(" + Name 15 "S" + MemberName 15(S) 0 "f" + MemberName 15(S) 1 "v" + MemberName 15(S) 2 "m" + Name 16 "bufName" + MemberName 16(bufName) 0 "s" + Name 18 "" + MemberDecorate 15(S) 0 Offset 0 + MemberDecorate 15(S) 1 Offset 16 + MemberDecorate 15(S) 2 RowMajor + MemberDecorate 15(S) 2 Offset 32 + MemberDecorate 15(S) 2 MatrixStride 16 + MemberDecorate 16(bufName) 0 Offset 0 + Decorate 16(bufName) Block + Decorate 18 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -76,38 +85,43 @@ gl_FragCoord origin is upper left 8: TypeMatrix 7(fvec3) 3 9(S): TypeStruct 6(float) 7(fvec3) 8 10: TypeFunction 9(S) - 13(S): TypeStruct 6(float) 7(fvec3) 8 - 14(bufName): TypeStruct 13(S) - 15: TypePointer Uniform 14(bufName) - 16: 15(ptr) Variable Uniform - 17: TypeInt 32 1 - 18: 17(int) Constant 0 - 19: TypePointer Uniform 13(S) - 22: TypePointer Function 9(S) - 25: TypePointer Function 6(float) - 28: 17(int) Constant 1 - 29: TypePointer Function 7(fvec3) - 32: 17(int) Constant 2 - 33: TypePointer Function 8 + 15(S): TypeStruct 6(float) 7(fvec3) 8 + 16(bufName): TypeStruct 15(S) + 17: TypePointer Uniform 16(bufName) + 18: 17(ptr) Variable Uniform + 19: TypeInt 32 1 + 20: 19(int) Constant 0 + 21: TypePointer Uniform 15(S) + 24: TypePointer Function 9(S) + 27: TypePointer Function 6(float) + 30: 19(int) Constant 1 + 31: TypePointer Function 7(fvec3) + 34: 19(int) Constant 2 + 35: TypePointer Function 8 4(main): 2 Function None 3 5: Label - 38: 9(S) FunctionCall 11(foo() + 41: 2 FunctionCall 13(@main() Return FunctionEnd 11(foo(): 9(S) Function None 10 12: Label - 23: 22(ptr) Variable Function - 20: 19(ptr) AccessChain 16 18 - 21: 13(S) Load 20 - 24: 6(float) CompositeExtract 21 0 - 26: 25(ptr) AccessChain 23 18 - Store 26 24 - 27: 7(fvec3) CompositeExtract 21 1 - 30: 29(ptr) AccessChain 23 28 - Store 30 27 - 31: 8 CompositeExtract 21 2 - 34: 33(ptr) AccessChain 23 32 - Store 34 31 - 35: 9(S) Load 23 - ReturnValue 35 + 25: 24(ptr) Variable Function + 22: 21(ptr) AccessChain 18 20 + 23: 15(S) Load 22 + 26: 6(float) CompositeExtract 23 0 + 28: 27(ptr) AccessChain 25 20 + Store 28 26 + 29: 7(fvec3) CompositeExtract 23 1 + 32: 31(ptr) AccessChain 25 30 + Store 32 29 + 33: 8 CompositeExtract 23 2 + 36: 35(ptr) AccessChain 25 34 + Store 36 33 + 37: 9(S) Load 25 + ReturnValue 37 + FunctionEnd + 13(@main(): 2 Function None 3 + 14: Label + 40: 9(S) FunctionCall 11(foo() + Return FunctionEnd diff --git a/Test/baseResults/hlsl.numericsuffixes.frag.out b/Test/baseResults/hlsl.numericsuffixes.frag.out index e8d3630e..fee64268 100644 --- a/Test/baseResults/hlsl.numericsuffixes.frag.out +++ b/Test/baseResults/hlsl.numericsuffixes.frag.out @@ -2,7 +2,7 @@ hlsl.numericsuffixes.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:5 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:5 Function Definition: @main( (temp structure{temp 4-component vector of float color}) 0:5 Function Parameters: 0:? Sequence 0:7 Sequence @@ -58,15 +58,18 @@ gl_FragCoord origin is upper left 0:18 Construct vec4 (temp 4-component vector of float) 0:18 Convert int to float (temp float) 0:18 'r07' (temp int) -0:19 Sequence -0:19 Sequence -0:19 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:19 color: direct index for structure (temp 4-component vector of float) -0:19 'ps_output' (temp structure{temp 4-component vector of float color}) -0:19 Constant: -0:19 0 (const int) -0:19 Branch: Return +0:19 Branch: Return with expression +0:19 'ps_output' (temp structure{temp 4-component vector of float color}) +0:5 Function Definition: main( (temp void) +0:5 Function Parameters: +0:? Sequence +0:5 Sequence +0:5 move second child to first child (temp 4-component vector of float) +0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:5 color: direct index for structure (temp 4-component vector of float) +0:5 Function Call: @main( (temp structure{temp 4-component vector of float color}) +0:5 Constant: +0:5 0 (const int) 0:? Linker Objects 0:? 'color' (layout(location=0 ) out 4-component vector of float) @@ -77,7 +80,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:5 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:5 Function Definition: @main( (temp structure{temp 4-component vector of float color}) 0:5 Function Parameters: 0:? Sequence 0:7 Sequence @@ -133,93 +136,103 @@ gl_FragCoord origin is upper left 0:18 Construct vec4 (temp 4-component vector of float) 0:18 Convert int to float (temp float) 0:18 'r07' (temp int) -0:19 Sequence -0:19 Sequence -0:19 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:19 color: direct index for structure (temp 4-component vector of float) -0:19 'ps_output' (temp structure{temp 4-component vector of float color}) -0:19 Constant: -0:19 0 (const int) -0:19 Branch: Return +0:19 Branch: Return with expression +0:19 'ps_output' (temp structure{temp 4-component vector of float color}) +0:5 Function Definition: main( (temp void) +0:5 Function Parameters: +0:? Sequence +0:5 Sequence +0:5 move second child to first child (temp 4-component vector of float) +0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:5 color: direct index for structure (temp 4-component vector of float) +0:5 Function Call: @main( (temp structure{temp 4-component vector of float color}) +0:5 Constant: +0:5 0 (const int) 0:? Linker Objects 0:? 'color' (layout(location=0 ) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 44 +// Id's are bound by 49 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 40 + EntryPoint Fragment 4 "main" 46 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "r00" - Name 12 "r01" - Name 14 "r02" - Name 16 "r03" - Name 18 "r04" - Name 21 "r05" - Name 23 "r06" - Name 25 "r07" - Name 27 "r08" - Name 30 "PS_OUTPUT" - MemberName 30(PS_OUTPUT) 0 "color" - Name 32 "ps_output" - Name 40 "color" - Decorate 40(color) Location 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "color" + Name 10 "@main(" + Name 13 "r00" + Name 17 "r01" + Name 19 "r02" + Name 21 "r03" + Name 23 "r04" + Name 26 "r05" + Name 28 "r06" + Name 30 "r07" + Name 32 "r08" + Name 35 "ps_output" + Name 46 "color" + Decorate 46(color) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypePointer Function 6(float) - 9: 6(float) Constant 1065353216 - 10: TypeInt 32 0 - 11: TypePointer Function 10(int) - 13: 10(int) Constant 1 - 15: 10(int) Constant 2 - 17: 10(int) Constant 2748 - 19: TypeInt 32 1 - 20: TypePointer Function 19(int) - 22: 19(int) Constant 5 - 24: 19(int) Constant 6 - 26: 19(int) Constant 57 - 28: 10(int) Constant 58 - 29: TypeVector 6(float) 4 - 30(PS_OUTPUT): TypeStruct 29(fvec4) - 31: TypePointer Function 30(PS_OUTPUT) - 33: 19(int) Constant 0 - 37: TypePointer Function 29(fvec4) - 39: TypePointer Output 29(fvec4) - 40(color): 39(ptr) Variable Output + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 6(float) + 14: 6(float) Constant 1065353216 + 15: TypeInt 32 0 + 16: TypePointer Function 15(int) + 18: 15(int) Constant 1 + 20: 15(int) Constant 2 + 22: 15(int) Constant 2748 + 24: TypeInt 32 1 + 25: TypePointer Function 24(int) + 27: 24(int) Constant 5 + 29: 24(int) Constant 6 + 31: 24(int) Constant 57 + 33: 15(int) Constant 58 + 34: TypePointer Function 8(PS_OUTPUT) + 36: 24(int) Constant 0 + 40: TypePointer Function 7(fvec4) + 45: TypePointer Output 7(fvec4) + 46(color): 45(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 8(r00): 7(ptr) Variable Function - 12(r01): 11(ptr) Variable Function - 14(r02): 11(ptr) Variable Function - 16(r03): 11(ptr) Variable Function - 18(r04): 11(ptr) Variable Function - 21(r05): 20(ptr) Variable Function - 23(r06): 20(ptr) Variable Function - 25(r07): 20(ptr) Variable Function - 27(r08): 11(ptr) Variable Function - 32(ps_output): 31(ptr) Variable Function - Store 8(r00) 9 - Store 12(r01) 13 - Store 14(r02) 15 - Store 16(r03) 17 - Store 18(r04) 17 - Store 21(r05) 22 - Store 23(r06) 24 - Store 25(r07) 26 - Store 27(r08) 28 - 34: 19(int) Load 25(r07) - 35: 6(float) ConvertSToF 34 - 36: 29(fvec4) CompositeConstruct 35 35 35 35 - 38: 37(ptr) AccessChain 32(ps_output) 33 - Store 38 36 - 41: 37(ptr) AccessChain 32(ps_output) 33 - 42: 29(fvec4) Load 41 - Store 40(color) 42 + 47:8(PS_OUTPUT) FunctionCall 10(@main() + 48: 7(fvec4) CompositeExtract 47 0 + Store 46(color) 48 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(r00): 12(ptr) Variable Function + 17(r01): 16(ptr) Variable Function + 19(r02): 16(ptr) Variable Function + 21(r03): 16(ptr) Variable Function + 23(r04): 16(ptr) Variable Function + 26(r05): 25(ptr) Variable Function + 28(r06): 25(ptr) Variable Function + 30(r07): 25(ptr) Variable Function + 32(r08): 16(ptr) Variable Function + 35(ps_output): 34(ptr) Variable Function + Store 13(r00) 14 + Store 17(r01) 18 + Store 19(r02) 20 + Store 21(r03) 22 + Store 23(r04) 22 + Store 26(r05) 27 + Store 28(r06) 29 + Store 30(r07) 31 + Store 32(r08) 33 + 37: 24(int) Load 30(r07) + 38: 6(float) ConvertSToF 37 + 39: 7(fvec4) CompositeConstruct 38 38 38 38 + 41: 40(ptr) AccessChain 35(ps_output) 36 + Store 41 39 + 42:8(PS_OUTPUT) Load 35(ps_output) + ReturnValue 42 + FunctionEnd diff --git a/Test/baseResults/hlsl.numthreads.comp.out b/Test/baseResults/hlsl.numthreads.comp.out index 8ac76a96..fbc58dbc 100644 --- a/Test/baseResults/hlsl.numthreads.comp.out +++ b/Test/baseResults/hlsl.numthreads.comp.out @@ -5,9 +5,17 @@ local_size = (4, 4, 2) 0:4 Function Definition: main(vu3; (temp void) 0:4 Function Parameters: 0:4 'tid' (in 3-component vector of uint) -0:9 Function Definition: main_aux1(vu3; (temp void) +0:9 Function Definition: @main_aux1(vu3; (temp void) 0:9 Function Parameters: 0:9 'tid' (in 3-component vector of uint GlobalInvocationID) +0:9 Function Definition: main_aux1( (temp void) +0:9 Function Parameters: +0:? Sequence +0:9 move second child to first child (temp 3-component vector of uint) +0:? 'tid' (temp 3-component vector of uint) +0:? 'tid' (in 3-component vector of uint GlobalInvocationID) +0:9 Function Call: @main_aux1(vu3; (temp void) +0:? 'tid' (temp 3-component vector of uint) 0:? Linker Objects 0:? 'tid' (in 3-component vector of uint GlobalInvocationID) @@ -21,36 +29,55 @@ local_size = (4, 4, 2) 0:4 Function Definition: main(vu3; (temp void) 0:4 Function Parameters: 0:4 'tid' (in 3-component vector of uint) -0:9 Function Definition: main_aux1(vu3; (temp void) +0:9 Function Definition: @main_aux1(vu3; (temp void) 0:9 Function Parameters: 0:9 'tid' (in 3-component vector of uint GlobalInvocationID) +0:9 Function Definition: main_aux1( (temp void) +0:9 Function Parameters: +0:? Sequence +0:9 move second child to first child (temp 3-component vector of uint) +0:? 'tid' (temp 3-component vector of uint) +0:? 'tid' (in 3-component vector of uint GlobalInvocationID) +0:9 Function Call: @main_aux1(vu3; (temp void) +0:? 'tid' (temp 3-component vector of uint) 0:? Linker Objects 0:? 'tid' (in 3-component vector of uint GlobalInvocationID) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 15 +// Id's are bound by 23 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint GLCompute 4 "main_aux1" 14 + EntryPoint GLCompute 4 "main_aux1" 18 ExecutionMode 4 LocalSize 4 4 2 Name 4 "main_aux1" Name 11 "main(vu3;" Name 10 "tid" - Name 14 "tid" - Decorate 14(tid) BuiltIn GlobalInvocationId + Name 14 "@main_aux1(vu3;" + Name 13 "tid" + Name 16 "tid" + Name 18 "tid" + Name 20 "param" + Decorate 18(tid) BuiltIn GlobalInvocationId 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 7: TypeVector 6(int) 3 8: TypePointer Function 7(ivec3) 9: TypeFunction 2 8(ptr) - 13: TypePointer Input 7(ivec3) - 14(tid): 13(ptr) Variable Input + 17: TypePointer Input 7(ivec3) + 18(tid): 17(ptr) Variable Input 4(main_aux1): 2 Function None 3 5: Label + 16(tid): 8(ptr) Variable Function + 20(param): 8(ptr) Variable Function + 19: 7(ivec3) Load 18(tid) + Store 16(tid) 19 + 21: 7(ivec3) Load 16(tid) + Store 20(param) 21 + 22: 2 FunctionCall 14(@main_aux1(vu3;) 20(param) Return FunctionEnd 11(main(vu3;): 2 Function None 9 @@ -58,3 +85,8 @@ local_size = (4, 4, 2) 12: Label Return FunctionEnd +14(@main_aux1(vu3;): 2 Function None 9 + 13(tid): 8(ptr) FunctionParameter + 15: Label + Return + FunctionEnd diff --git a/Test/baseResults/hlsl.overload.frag.out b/Test/baseResults/hlsl.overload.frag.out index 4eed1a3f..0ae605c4 100755 --- a/Test/baseResults/hlsl.overload.frag.out +++ b/Test/baseResults/hlsl.overload.frag.out @@ -108,9 +108,9 @@ gl_FragCoord origin is upper left 0:43 Function Definition: foo15(vb1; (temp void) 0:43 Function Parameters: 0:43 '' (in 1-component vector of bool) -0:46 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) +0:46 Function Definition: @PixelShaderFunction(vf4; (temp 4-component vector of float) 0:46 Function Parameters: -0:46 'input' (layout(location=0 ) in 4-component vector of float) +0:46 'input' (in 4-component vector of float) 0:? Sequence 0:53 Function Call: foo1(d1;b1; (temp void) 0:53 'd' (temp double) @@ -348,11 +348,18 @@ gl_FragCoord origin is upper left 0:139 Construct bool (in 1-component vector of bool) 0:139 Construct bvec3 (temp 3-component vector of bool) 0:139 'b' (temp bool) -0:141 Sequence -0:141 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:141 'input' (layout(location=0 ) in 4-component vector of float) -0:141 Branch: Return +0:141 Branch: Return with expression +0:141 'input' (in 4-component vector of float) +0:46 Function Definition: PixelShaderFunction( (temp void) +0:46 Function Parameters: +0:? Sequence +0:46 move second child to first child (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:46 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:46 Function Call: @PixelShaderFunction(vf4; (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 'input' (layout(location=0 ) in 4-component vector of float) @@ -470,9 +477,9 @@ gl_FragCoord origin is upper left 0:43 Function Definition: foo15(vb1; (temp void) 0:43 Function Parameters: 0:43 '' (in 1-component vector of bool) -0:46 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) +0:46 Function Definition: @PixelShaderFunction(vf4; (temp 4-component vector of float) 0:46 Function Parameters: -0:46 'input' (layout(location=0 ) in 4-component vector of float) +0:46 'input' (in 4-component vector of float) 0:? Sequence 0:53 Function Call: foo1(d1;b1; (temp void) 0:53 'd' (temp double) @@ -710,24 +717,31 @@ gl_FragCoord origin is upper left 0:139 Construct bool (in 1-component vector of bool) 0:139 Construct bvec3 (temp 3-component vector of bool) 0:139 'b' (temp bool) -0:141 Sequence -0:141 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:141 'input' (layout(location=0 ) in 4-component vector of float) -0:141 Branch: Return +0:141 Branch: Return with expression +0:141 'input' (in 4-component vector of float) +0:46 Function Definition: PixelShaderFunction( (temp void) +0:46 Function Parameters: +0:? Sequence +0:46 move second child to first child (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:46 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:46 Function Call: @PixelShaderFunction(vf4; (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 'input' (layout(location=0 ) in 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 509 +// Id's are bound by 520 Capability Shader Capability Float64 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 504 506 + EntryPoint Fragment 4 "PixelShaderFunction" 513 516 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" Name 13 "foo1(d1;b1;" @@ -804,22 +818,22 @@ gl_FragCoord origin is upper left Name 143 "" Name 147 "foo15(vb1;" Name 146 "" - Name 149 "d" - Name 150 "b" - Name 151 "param" - Name 153 "param" - Name 156 "param" - Name 158 "param" - Name 161 "u" + Name 153 "@PixelShaderFunction(vf4;" + Name 152 "input" + Name 155 "d" + Name 156 "b" + Name 157 "param" + Name 159 "param" Name 162 "param" Name 164 "param" - Name 167 "i" + Name 167 "u" Name 168 "param" Name 170 "param" - Name 173 "f" + Name 173 "i" Name 174 "param" Name 176 "param" - Name 181 "param" + Name 179 "f" + Name 180 "param" Name 182 "param" Name 187 "param" Name 188 "param" @@ -859,62 +873,66 @@ gl_FragCoord origin is upper left Name 290 "param" Name 295 "param" Name 296 "param" - Name 299 "param" Name 301 "param" - Name 304 "param" - Name 306 "param" - Name 309 "param" - Name 311 "param" - Name 314 "param" - Name 316 "param" - Name 319 "param" - Name 321 "param" - Name 324 "param" + Name 302 "param" + Name 305 "param" + Name 307 "param" + Name 310 "param" + Name 312 "param" + Name 315 "param" + Name 317 "param" + Name 320 "param" + Name 322 "param" + Name 325 "param" + Name 327 "param" Name 330 "param" - Name 335 "param" - Name 339 "param" - Name 344 "param" - Name 349 "param" - Name 353 "param" + Name 336 "param" + Name 341 "param" + Name 345 "param" + Name 350 "param" Name 355 "param" - Name 360 "param" - Name 364 "param" + Name 359 "param" + Name 361 "param" + Name 366 "param" Name 370 "param" - Name 374 "param" - Name 378 "param" + Name 376 "param" Name 380 "param" - Name 385 "param" - Name 390 "param" - Name 394 "param" - Name 398 "param" - Name 402 "param" + Name 384 "param" + Name 386 "param" + Name 391 "param" + Name 396 "param" + Name 400 "param" Name 404 "param" + Name 408 "param" Name 410 "param" - Name 412 "param" - Name 417 "param" - Name 421 "param" - Name 425 "param" - Name 429 "param" - Name 433 "param" - Name 437 "param" - Name 441 "param" - Name 445 "param" - Name 449 "param" - Name 453 "param" - Name 457 "param" - Name 461 "param" - Name 465 "param" - Name 469 "param" - Name 474 "param" - Name 481 "param" - Name 485 "param" + Name 416 "param" + Name 418 "param" + Name 423 "param" + Name 427 "param" + Name 431 "param" + Name 435 "param" + Name 439 "param" + Name 443 "param" + Name 447 "param" + Name 451 "param" + Name 455 "param" + Name 459 "param" + Name 463 "param" + Name 467 "param" + Name 471 "param" + Name 475 "param" + Name 480 "param" + Name 487 "param" Name 491 "param" - Name 494 "param" + Name 497 "param" Name 500 "param" - Name 504 "@entryPointOutput" - Name 506 "input" - Decorate 504(@entryPointOutput) Location 0 - Decorate 506(input) Location 0 + Name 506 "param" + Name 511 "input" + Name 513 "input" + Name 516 "@entryPointOutput" + Name 517 "param" + Decorate 513(input) Location 0 + Decorate 516(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 64 @@ -954,470 +972,34 @@ gl_FragCoord origin is upper left 134: TypeVector 15(int) 2 135: TypePointer Function 134(ivec2) 136: TypeFunction 2 135(ptr) - 328: 6(float) Constant 0 0 - 333: 15(int) Constant 0 - 342: 29(float) Constant 0 - 347: 15(int) Constant 1 - 367: 22(int) Constant 0 - 368: 22(int) Constant 1 - 388: 29(float) Constant 1065353216 - 408: 6(float) Constant 0 1072693248 - 478: TypeVector 22(int) 2 - 488: TypeVector 22(int) 4 - 497: TypeVector 8(bool) 3 - 502: TypeVector 29(float) 4 - 503: TypePointer Output 502(fvec4) -504(@entryPointOutput): 503(ptr) Variable Output - 505: TypePointer Input 502(fvec4) - 506(input): 505(ptr) Variable Input + 149: TypeVector 29(float) 4 + 150: TypePointer Function 149(fvec4) + 151: TypeFunction 149(fvec4) 150(ptr) + 334: 6(float) Constant 0 0 + 339: 15(int) Constant 0 + 348: 29(float) Constant 0 + 353: 15(int) Constant 1 + 373: 22(int) Constant 0 + 374: 22(int) Constant 1 + 394: 29(float) Constant 1065353216 + 414: 6(float) Constant 0 1072693248 + 484: TypeVector 22(int) 2 + 494: TypeVector 22(int) 4 + 503: TypeVector 8(bool) 3 + 512: TypePointer Input 149(fvec4) + 513(input): 512(ptr) Variable Input + 515: TypePointer Output 149(fvec4) +516(@entryPointOutput): 515(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label - 149(d): 7(ptr) Variable Function - 150(b): 9(ptr) Variable Function - 151(param): 7(ptr) Variable Function - 153(param): 9(ptr) Variable Function - 156(param): 7(ptr) Variable Function - 158(param): 7(ptr) Variable Function - 161(u): 16(ptr) Variable Function - 162(param): 7(ptr) Variable Function - 164(param): 16(ptr) Variable Function - 167(i): 23(ptr) Variable Function - 168(param): 7(ptr) Variable Function - 170(param): 23(ptr) Variable Function - 173(f): 30(ptr) Variable Function - 174(param): 7(ptr) Variable Function - 176(param): 30(ptr) Variable Function - 181(param): 7(ptr) Variable Function - 182(param): 9(ptr) Variable Function - 187(param): 7(ptr) Variable Function - 188(param): 7(ptr) Variable Function - 193(param): 7(ptr) Variable Function - 194(param): 16(ptr) Variable Function - 199(param): 7(ptr) Variable Function - 200(param): 23(ptr) Variable Function - 205(param): 7(ptr) Variable Function - 206(param): 30(ptr) Variable Function - 211(param): 7(ptr) Variable Function - 212(param): 9(ptr) Variable Function - 217(param): 7(ptr) Variable Function - 218(param): 7(ptr) Variable Function - 223(param): 7(ptr) Variable Function - 224(param): 16(ptr) Variable Function - 229(param): 7(ptr) Variable Function - 230(param): 23(ptr) Variable Function - 235(param): 7(ptr) Variable Function - 236(param): 30(ptr) Variable Function - 241(param): 7(ptr) Variable Function - 242(param): 9(ptr) Variable Function - 247(param): 7(ptr) Variable Function - 248(param): 7(ptr) Variable Function - 253(param): 7(ptr) Variable Function - 254(param): 16(ptr) Variable Function - 259(param): 7(ptr) Variable Function - 260(param): 23(ptr) Variable Function - 265(param): 7(ptr) Variable Function - 266(param): 30(ptr) Variable Function - 271(param): 23(ptr) Variable Function - 272(param): 9(ptr) Variable Function - 277(param): 23(ptr) Variable Function - 278(param): 7(ptr) Variable Function - 283(param): 23(ptr) Variable Function - 284(param): 16(ptr) Variable Function - 289(param): 23(ptr) Variable Function - 290(param): 23(ptr) Variable Function - 295(param): 23(ptr) Variable Function - 296(param): 30(ptr) Variable Function - 299(param): 23(ptr) Variable Function - 301(param): 9(ptr) Variable Function - 304(param): 23(ptr) Variable Function - 306(param): 7(ptr) Variable Function - 309(param): 23(ptr) Variable Function - 311(param): 16(ptr) Variable Function - 314(param): 23(ptr) Variable Function - 316(param): 23(ptr) Variable Function - 319(param): 23(ptr) Variable Function - 321(param): 30(ptr) Variable Function - 324(param): 9(ptr) Variable Function - 330(param): 9(ptr) Variable Function - 335(param): 9(ptr) Variable Function - 339(param): 9(ptr) Variable Function - 344(param): 9(ptr) Variable Function - 349(param): 16(ptr) Variable Function - 353(param): 16(ptr) Variable Function - 355(param): 16(ptr) Variable Function - 360(param): 16(ptr) Variable Function - 364(param): 16(ptr) Variable Function - 370(param): 23(ptr) Variable Function - 374(param): 23(ptr) Variable Function - 378(param): 23(ptr) Variable Function - 380(param): 23(ptr) Variable Function - 385(param): 23(ptr) Variable Function - 390(param): 30(ptr) Variable Function - 394(param): 30(ptr) Variable Function - 398(param): 30(ptr) Variable Function - 402(param): 30(ptr) Variable Function - 404(param): 30(ptr) Variable Function - 410(param): 7(ptr) Variable Function - 412(param): 7(ptr) Variable Function - 417(param): 7(ptr) Variable Function - 421(param): 7(ptr) Variable Function - 425(param): 7(ptr) Variable Function - 429(param): 30(ptr) Variable Function - 433(param): 30(ptr) Variable Function - 437(param): 30(ptr) Variable Function - 441(param): 23(ptr) Variable Function - 445(param): 16(ptr) Variable Function - 449(param): 16(ptr) Variable Function - 453(param): 23(ptr) Variable Function - 457(param): 23(ptr) Variable Function - 461(param): 23(ptr) Variable Function - 465(param): 16(ptr) Variable Function - 469(param): 7(ptr) Variable Function - 474(param): 126(ptr) Variable Function - 481(param): 135(ptr) Variable Function - 485(param): 105(ptr) Variable Function - 491(param): 23(ptr) Variable Function - 494(param): 9(ptr) Variable Function - 500(param): 9(ptr) Variable Function - 152: 6(float) Load 149(d) - Store 151(param) 152 - 154: 8(bool) Load 150(b) - Store 153(param) 154 - 155: 2 FunctionCall 13(foo1(d1;b1;) 151(param) 153(param) - 157: 6(float) Load 149(d) - Store 156(param) 157 - 159: 6(float) Load 149(d) - Store 158(param) 159 - 160: 2 FunctionCall 39(foo1(d1;d1;) 156(param) 158(param) - 163: 6(float) Load 149(d) - Store 162(param) 163 - 165: 15(int) Load 161(u) - Store 164(param) 165 - 166: 2 FunctionCall 20(foo1(d1;u1;) 162(param) 164(param) - 169: 6(float) Load 149(d) - Store 168(param) 169 - 171: 22(int) Load 167(i) - Store 170(param) 171 - 172: 2 FunctionCall 27(foo1(d1;i1;) 168(param) 170(param) - 175: 6(float) Load 149(d) - Store 174(param) 175 - 177: 29(float) Load 173(f) - Store 176(param) 177 - 178: 2 FunctionCall 34(foo1(d1;f1;) 174(param) 176(param) - 179: 29(float) Load 173(f) - 180: 6(float) FConvert 179 - Store 181(param) 180 - 183: 8(bool) Load 150(b) - Store 182(param) 183 - 184: 2 FunctionCall 13(foo1(d1;b1;) 181(param) 182(param) - 185: 29(float) Load 173(f) - 186: 6(float) FConvert 185 - Store 187(param) 186 - 189: 6(float) Load 149(d) - Store 188(param) 189 - 190: 2 FunctionCall 39(foo1(d1;d1;) 187(param) 188(param) - 191: 29(float) Load 173(f) - 192: 6(float) FConvert 191 - Store 193(param) 192 - 195: 15(int) Load 161(u) - Store 194(param) 195 - 196: 2 FunctionCall 20(foo1(d1;u1;) 193(param) 194(param) - 197: 29(float) Load 173(f) - 198: 6(float) FConvert 197 - Store 199(param) 198 - 201: 22(int) Load 167(i) - Store 200(param) 201 - 202: 2 FunctionCall 27(foo1(d1;i1;) 199(param) 200(param) - 203: 29(float) Load 173(f) - 204: 6(float) FConvert 203 - Store 205(param) 204 - 207: 29(float) Load 173(f) - Store 206(param) 207 - 208: 2 FunctionCall 34(foo1(d1;f1;) 205(param) 206(param) - 209: 15(int) Load 161(u) - 210: 6(float) ConvertUToF 209 - Store 211(param) 210 - 213: 8(bool) Load 150(b) - Store 212(param) 213 - 214: 2 FunctionCall 13(foo1(d1;b1;) 211(param) 212(param) - 215: 15(int) Load 161(u) - 216: 6(float) ConvertUToF 215 - Store 217(param) 216 - 219: 6(float) Load 149(d) - Store 218(param) 219 - 220: 2 FunctionCall 39(foo1(d1;d1;) 217(param) 218(param) - 221: 15(int) Load 161(u) - 222: 6(float) ConvertUToF 221 - Store 223(param) 222 - 225: 15(int) Load 161(u) - Store 224(param) 225 - 226: 2 FunctionCall 20(foo1(d1;u1;) 223(param) 224(param) - 227: 15(int) Load 161(u) - 228: 6(float) ConvertUToF 227 - Store 229(param) 228 - 231: 22(int) Load 167(i) - Store 230(param) 231 - 232: 2 FunctionCall 27(foo1(d1;i1;) 229(param) 230(param) - 233: 15(int) Load 161(u) - 234: 6(float) ConvertUToF 233 - Store 235(param) 234 - 237: 29(float) Load 173(f) - Store 236(param) 237 - 238: 2 FunctionCall 34(foo1(d1;f1;) 235(param) 236(param) - 239: 22(int) Load 167(i) - 240: 6(float) ConvertSToF 239 - Store 241(param) 240 - 243: 8(bool) Load 150(b) - Store 242(param) 243 - 244: 2 FunctionCall 13(foo1(d1;b1;) 241(param) 242(param) - 245: 22(int) Load 167(i) - 246: 6(float) ConvertSToF 245 - Store 247(param) 246 - 249: 6(float) Load 149(d) - Store 248(param) 249 - 250: 2 FunctionCall 39(foo1(d1;d1;) 247(param) 248(param) - 251: 22(int) Load 167(i) - 252: 6(float) ConvertSToF 251 - Store 253(param) 252 - 255: 15(int) Load 161(u) - Store 254(param) 255 - 256: 2 FunctionCall 20(foo1(d1;u1;) 253(param) 254(param) - 257: 22(int) Load 167(i) - 258: 6(float) ConvertSToF 257 - Store 259(param) 258 - 261: 22(int) Load 167(i) - Store 260(param) 261 - 262: 2 FunctionCall 27(foo1(d1;i1;) 259(param) 260(param) - 263: 22(int) Load 167(i) - 264: 6(float) ConvertSToF 263 - Store 265(param) 264 - 267: 29(float) Load 173(f) - Store 266(param) 267 - 268: 2 FunctionCall 34(foo1(d1;f1;) 265(param) 266(param) - 269: 15(int) Load 161(u) - 270: 22(int) Bitcast 269 - Store 271(param) 270 - 273: 8(bool) Load 150(b) - Store 272(param) 273 - 274: 2 FunctionCall 44(foo2(i1;b1;) 271(param) 272(param) - 275: 15(int) Load 161(u) - 276: 22(int) Bitcast 275 - Store 277(param) 276 - 279: 6(float) Load 149(d) - Store 278(param) 279 - 280: 2 FunctionCall 64(foo2(i1;d1;) 277(param) 278(param) - 281: 15(int) Load 161(u) - 282: 22(int) Bitcast 281 - Store 283(param) 282 - 285: 15(int) Load 161(u) - Store 284(param) 285 - 286: 2 FunctionCall 49(foo2(i1;u1;) 283(param) 284(param) - 287: 15(int) Load 161(u) - 288: 22(int) Bitcast 287 - Store 289(param) 288 - 291: 22(int) Load 167(i) - Store 290(param) 291 - 292: 2 FunctionCall 54(foo2(i1;i1;) 289(param) 290(param) - 293: 15(int) Load 161(u) - 294: 22(int) Bitcast 293 - Store 295(param) 294 - 297: 29(float) Load 173(f) - Store 296(param) 297 - 298: 2 FunctionCall 59(foo2(i1;f1;) 295(param) 296(param) - 300: 22(int) Load 167(i) - Store 299(param) 300 - 302: 8(bool) Load 150(b) - Store 301(param) 302 - 303: 2 FunctionCall 44(foo2(i1;b1;) 299(param) 301(param) - 305: 22(int) Load 167(i) - Store 304(param) 305 - 307: 6(float) Load 149(d) - Store 306(param) 307 - 308: 2 FunctionCall 64(foo2(i1;d1;) 304(param) 306(param) - 310: 22(int) Load 167(i) - Store 309(param) 310 - 312: 15(int) Load 161(u) - Store 311(param) 312 - 313: 2 FunctionCall 49(foo2(i1;u1;) 309(param) 311(param) - 315: 22(int) Load 167(i) - Store 314(param) 315 - 317: 22(int) Load 167(i) - Store 316(param) 317 - 318: 2 FunctionCall 54(foo2(i1;i1;) 314(param) 316(param) - 320: 22(int) Load 167(i) - Store 319(param) 320 - 322: 29(float) Load 173(f) - Store 321(param) 322 - 323: 2 FunctionCall 59(foo2(i1;f1;) 319(param) 321(param) - 325: 8(bool) Load 150(b) - Store 324(param) 325 - 326: 2 FunctionCall 68(foo3(b1;) 324(param) - 327: 6(float) Load 149(d) - 329: 8(bool) FOrdNotEqual 327 328 - Store 330(param) 329 - 331: 2 FunctionCall 68(foo3(b1;) 330(param) - 332: 15(int) Load 161(u) - 334: 8(bool) INotEqual 332 333 - Store 335(param) 334 - 336: 2 FunctionCall 68(foo3(b1;) 335(param) - 337: 22(int) Load 167(i) - 338: 8(bool) INotEqual 337 333 - Store 339(param) 338 - 340: 2 FunctionCall 68(foo3(b1;) 339(param) - 341: 29(float) Load 173(f) - 343: 8(bool) FOrdNotEqual 341 342 - Store 344(param) 343 - 345: 2 FunctionCall 68(foo3(b1;) 344(param) - 346: 8(bool) Load 150(b) - 348: 15(int) Select 346 347 333 - Store 349(param) 348 - 350: 2 FunctionCall 72(foo4(u1;) 349(param) - 351: 6(float) Load 149(d) - 352: 15(int) ConvertFToU 351 - Store 353(param) 352 - 354: 2 FunctionCall 72(foo4(u1;) 353(param) - 356: 15(int) Load 161(u) - Store 355(param) 356 - 357: 2 FunctionCall 72(foo4(u1;) 355(param) - 358: 22(int) Load 167(i) - 359: 15(int) Bitcast 358 - Store 360(param) 359 - 361: 2 FunctionCall 72(foo4(u1;) 360(param) - 362: 29(float) Load 173(f) - 363: 15(int) ConvertFToU 362 - Store 364(param) 363 - 365: 2 FunctionCall 72(foo4(u1;) 364(param) - 366: 8(bool) Load 150(b) - 369: 22(int) Select 366 368 367 - Store 370(param) 369 - 371: 2 FunctionCall 76(foo5(i1;) 370(param) - 372: 6(float) Load 149(d) - 373: 22(int) ConvertFToS 372 - Store 374(param) 373 - 375: 2 FunctionCall 76(foo5(i1;) 374(param) - 376: 15(int) Load 161(u) - 377: 22(int) Bitcast 376 - Store 378(param) 377 - 379: 2 FunctionCall 76(foo5(i1;) 378(param) - 381: 22(int) Load 167(i) - Store 380(param) 381 - 382: 2 FunctionCall 76(foo5(i1;) 380(param) - 383: 29(float) Load 173(f) - 384: 22(int) ConvertFToS 383 - Store 385(param) 384 - 386: 2 FunctionCall 76(foo5(i1;) 385(param) - 387: 8(bool) Load 150(b) - 389: 29(float) Select 387 388 342 - Store 390(param) 389 - 391: 2 FunctionCall 80(foo6(f1;) 390(param) - 392: 6(float) Load 149(d) - 393: 29(float) FConvert 392 - Store 394(param) 393 - 395: 2 FunctionCall 80(foo6(f1;) 394(param) - 396: 15(int) Load 161(u) - 397: 29(float) ConvertUToF 396 - Store 398(param) 397 - 399: 2 FunctionCall 80(foo6(f1;) 398(param) - 400: 22(int) Load 167(i) - 401: 29(float) ConvertSToF 400 - Store 402(param) 401 - 403: 2 FunctionCall 80(foo6(f1;) 402(param) - 405: 29(float) Load 173(f) - Store 404(param) 405 - 406: 2 FunctionCall 80(foo6(f1;) 404(param) - 407: 8(bool) Load 150(b) - 409: 6(float) Select 407 408 328 - Store 410(param) 409 - 411: 2 FunctionCall 84(foo7(d1;) 410(param) - 413: 6(float) Load 149(d) - Store 412(param) 413 - 414: 2 FunctionCall 84(foo7(d1;) 412(param) - 415: 15(int) Load 161(u) - 416: 6(float) ConvertUToF 415 - Store 417(param) 416 - 418: 2 FunctionCall 84(foo7(d1;) 417(param) - 419: 22(int) Load 167(i) - 420: 6(float) ConvertSToF 419 - Store 421(param) 420 - 422: 2 FunctionCall 84(foo7(d1;) 421(param) - 423: 29(float) Load 173(f) - 424: 6(float) FConvert 423 - Store 425(param) 424 - 426: 2 FunctionCall 84(foo7(d1;) 425(param) - 427: 8(bool) Load 150(b) - 428: 29(float) Select 427 388 342 - Store 429(param) 428 - 430: 2 FunctionCall 87(foo8(f1;) 429(param) - 431: 15(int) Load 161(u) - 432: 29(float) ConvertUToF 431 - Store 433(param) 432 - 434: 2 FunctionCall 87(foo8(f1;) 433(param) - 435: 22(int) Load 167(i) - 436: 29(float) ConvertSToF 435 - Store 437(param) 436 - 438: 2 FunctionCall 87(foo8(f1;) 437(param) - 439: 8(bool) Load 150(b) - 440: 22(int) Select 439 368 367 - Store 441(param) 440 - 442: 2 FunctionCall 93(foo9(i1;) 441(param) - 443: 29(float) Load 173(f) - 444: 15(int) ConvertFToU 443 - Store 445(param) 444 - 446: 2 FunctionCall 96(foo9(u1;) 445(param) - 447: 6(float) Load 149(d) - 448: 15(int) ConvertFToU 447 - Store 449(param) 448 - 450: 2 FunctionCall 96(foo9(u1;) 449(param) - 451: 15(int) Load 161(u) - 452: 22(int) Bitcast 451 - Store 453(param) 452 - 454: 2 FunctionCall 102(foo10(i1;) 453(param) - 455: 29(float) Load 173(f) - 456: 22(int) ConvertFToS 455 - Store 457(param) 456 - 458: 2 FunctionCall 102(foo10(i1;) 457(param) - 459: 6(float) Load 149(d) - 460: 22(int) ConvertFToS 459 - Store 461(param) 460 - 462: 2 FunctionCall 102(foo10(i1;) 461(param) - 463: 8(bool) Load 150(b) - 464: 15(int) Select 463 347 333 - Store 465(param) 464 - 466: 2 FunctionCall 120(foo11(u1;) 465(param) - 467: 29(float) Load 173(f) - 468: 6(float) FConvert 467 - Store 469(param) 468 - 470: 2 FunctionCall 111(foo11(d1;) 469(param) - 471: 29(float) Load 173(f) - 472: 104(fvec3) CompositeConstruct 471 471 471 - 473: 125(fvec3) FConvert 472 - Store 474(param) 473 - 475: 2 FunctionCall 129(foo12(vd3;) 474(param) - 476: 22(int) Load 167(i) - 477: 22(int) Load 167(i) - 479: 478(ivec2) CompositeConstruct 476 477 - 480: 134(ivec2) Bitcast 479 - Store 481(param) 480 - 482: 2 FunctionCall 138(foo16(vu2;) 481(param) - 483: 29(float) Load 173(f) - 484: 104(fvec3) CompositeConstruct 483 483 483 - Store 485(param) 484 - 486: 2 FunctionCall 141(foo13(vf3;) 485(param) - 487: 22(int) Load 167(i) - 489: 488(ivec4) CompositeConstruct 487 487 487 487 - 490: 22(int) CompositeExtract 489 0 - Store 491(param) 490 - 492: 2 FunctionCall 144(foo14(vi1;) 491(param) - 493: 8(bool) Load 150(b) - Store 494(param) 493 - 495: 2 FunctionCall 147(foo15(vb1;) 494(param) - 496: 8(bool) Load 150(b) - 498: 497(bvec3) CompositeConstruct 496 496 496 - 499: 8(bool) CompositeExtract 498 0 - Store 500(param) 499 - 501: 2 FunctionCall 147(foo15(vb1;) 500(param) - 507: 502(fvec4) Load 506(input) - Store 504(@entryPointOutput) 507 + 511(input): 150(ptr) Variable Function + 517(param): 150(ptr) Variable Function + 514: 149(fvec4) Load 513(input) + Store 511(input) 514 + 518: 149(fvec4) Load 511(input) + Store 517(param) 518 + 519: 149(fvec4) FunctionCall 153(@PixelShaderFunction(vf4;) 517(param) + Store 516(@entryPointOutput) 519 Return FunctionEnd 13(foo1(d1;b1;): 2 Function None 10 @@ -1590,3 +1172,453 @@ gl_FragCoord origin is upper left 148: Label Return FunctionEnd +153(@PixelShaderFunction(vf4;): 149(fvec4) Function None 151 + 152(input): 150(ptr) FunctionParameter + 154: Label + 155(d): 7(ptr) Variable Function + 156(b): 9(ptr) Variable Function + 157(param): 7(ptr) Variable Function + 159(param): 9(ptr) Variable Function + 162(param): 7(ptr) Variable Function + 164(param): 7(ptr) Variable Function + 167(u): 16(ptr) Variable Function + 168(param): 7(ptr) Variable Function + 170(param): 16(ptr) Variable Function + 173(i): 23(ptr) Variable Function + 174(param): 7(ptr) Variable Function + 176(param): 23(ptr) Variable Function + 179(f): 30(ptr) Variable Function + 180(param): 7(ptr) Variable Function + 182(param): 30(ptr) Variable Function + 187(param): 7(ptr) Variable Function + 188(param): 9(ptr) Variable Function + 193(param): 7(ptr) Variable Function + 194(param): 7(ptr) Variable Function + 199(param): 7(ptr) Variable Function + 200(param): 16(ptr) Variable Function + 205(param): 7(ptr) Variable Function + 206(param): 23(ptr) Variable Function + 211(param): 7(ptr) Variable Function + 212(param): 30(ptr) Variable Function + 217(param): 7(ptr) Variable Function + 218(param): 9(ptr) Variable Function + 223(param): 7(ptr) Variable Function + 224(param): 7(ptr) Variable Function + 229(param): 7(ptr) Variable Function + 230(param): 16(ptr) Variable Function + 235(param): 7(ptr) Variable Function + 236(param): 23(ptr) Variable Function + 241(param): 7(ptr) Variable Function + 242(param): 30(ptr) Variable Function + 247(param): 7(ptr) Variable Function + 248(param): 9(ptr) Variable Function + 253(param): 7(ptr) Variable Function + 254(param): 7(ptr) Variable Function + 259(param): 7(ptr) Variable Function + 260(param): 16(ptr) Variable Function + 265(param): 7(ptr) Variable Function + 266(param): 23(ptr) Variable Function + 271(param): 7(ptr) Variable Function + 272(param): 30(ptr) Variable Function + 277(param): 23(ptr) Variable Function + 278(param): 9(ptr) Variable Function + 283(param): 23(ptr) Variable Function + 284(param): 7(ptr) Variable Function + 289(param): 23(ptr) Variable Function + 290(param): 16(ptr) Variable Function + 295(param): 23(ptr) Variable Function + 296(param): 23(ptr) Variable Function + 301(param): 23(ptr) Variable Function + 302(param): 30(ptr) Variable Function + 305(param): 23(ptr) Variable Function + 307(param): 9(ptr) Variable Function + 310(param): 23(ptr) Variable Function + 312(param): 7(ptr) Variable Function + 315(param): 23(ptr) Variable Function + 317(param): 16(ptr) Variable Function + 320(param): 23(ptr) Variable Function + 322(param): 23(ptr) Variable Function + 325(param): 23(ptr) Variable Function + 327(param): 30(ptr) Variable Function + 330(param): 9(ptr) Variable Function + 336(param): 9(ptr) Variable Function + 341(param): 9(ptr) Variable Function + 345(param): 9(ptr) Variable Function + 350(param): 9(ptr) Variable Function + 355(param): 16(ptr) Variable Function + 359(param): 16(ptr) Variable Function + 361(param): 16(ptr) Variable Function + 366(param): 16(ptr) Variable Function + 370(param): 16(ptr) Variable Function + 376(param): 23(ptr) Variable Function + 380(param): 23(ptr) Variable Function + 384(param): 23(ptr) Variable Function + 386(param): 23(ptr) Variable Function + 391(param): 23(ptr) Variable Function + 396(param): 30(ptr) Variable Function + 400(param): 30(ptr) Variable Function + 404(param): 30(ptr) Variable Function + 408(param): 30(ptr) Variable Function + 410(param): 30(ptr) Variable Function + 416(param): 7(ptr) Variable Function + 418(param): 7(ptr) Variable Function + 423(param): 7(ptr) Variable Function + 427(param): 7(ptr) Variable Function + 431(param): 7(ptr) Variable Function + 435(param): 30(ptr) Variable Function + 439(param): 30(ptr) Variable Function + 443(param): 30(ptr) Variable Function + 447(param): 23(ptr) Variable Function + 451(param): 16(ptr) Variable Function + 455(param): 16(ptr) Variable Function + 459(param): 23(ptr) Variable Function + 463(param): 23(ptr) Variable Function + 467(param): 23(ptr) Variable Function + 471(param): 16(ptr) Variable Function + 475(param): 7(ptr) Variable Function + 480(param): 126(ptr) Variable Function + 487(param): 135(ptr) Variable Function + 491(param): 105(ptr) Variable Function + 497(param): 23(ptr) Variable Function + 500(param): 9(ptr) Variable Function + 506(param): 9(ptr) Variable Function + 158: 6(float) Load 155(d) + Store 157(param) 158 + 160: 8(bool) Load 156(b) + Store 159(param) 160 + 161: 2 FunctionCall 13(foo1(d1;b1;) 157(param) 159(param) + 163: 6(float) Load 155(d) + Store 162(param) 163 + 165: 6(float) Load 155(d) + Store 164(param) 165 + 166: 2 FunctionCall 39(foo1(d1;d1;) 162(param) 164(param) + 169: 6(float) Load 155(d) + Store 168(param) 169 + 171: 15(int) Load 167(u) + Store 170(param) 171 + 172: 2 FunctionCall 20(foo1(d1;u1;) 168(param) 170(param) + 175: 6(float) Load 155(d) + Store 174(param) 175 + 177: 22(int) Load 173(i) + Store 176(param) 177 + 178: 2 FunctionCall 27(foo1(d1;i1;) 174(param) 176(param) + 181: 6(float) Load 155(d) + Store 180(param) 181 + 183: 29(float) Load 179(f) + Store 182(param) 183 + 184: 2 FunctionCall 34(foo1(d1;f1;) 180(param) 182(param) + 185: 29(float) Load 179(f) + 186: 6(float) FConvert 185 + Store 187(param) 186 + 189: 8(bool) Load 156(b) + Store 188(param) 189 + 190: 2 FunctionCall 13(foo1(d1;b1;) 187(param) 188(param) + 191: 29(float) Load 179(f) + 192: 6(float) FConvert 191 + Store 193(param) 192 + 195: 6(float) Load 155(d) + Store 194(param) 195 + 196: 2 FunctionCall 39(foo1(d1;d1;) 193(param) 194(param) + 197: 29(float) Load 179(f) + 198: 6(float) FConvert 197 + Store 199(param) 198 + 201: 15(int) Load 167(u) + Store 200(param) 201 + 202: 2 FunctionCall 20(foo1(d1;u1;) 199(param) 200(param) + 203: 29(float) Load 179(f) + 204: 6(float) FConvert 203 + Store 205(param) 204 + 207: 22(int) Load 173(i) + Store 206(param) 207 + 208: 2 FunctionCall 27(foo1(d1;i1;) 205(param) 206(param) + 209: 29(float) Load 179(f) + 210: 6(float) FConvert 209 + Store 211(param) 210 + 213: 29(float) Load 179(f) + Store 212(param) 213 + 214: 2 FunctionCall 34(foo1(d1;f1;) 211(param) 212(param) + 215: 15(int) Load 167(u) + 216: 6(float) ConvertUToF 215 + Store 217(param) 216 + 219: 8(bool) Load 156(b) + Store 218(param) 219 + 220: 2 FunctionCall 13(foo1(d1;b1;) 217(param) 218(param) + 221: 15(int) Load 167(u) + 222: 6(float) ConvertUToF 221 + Store 223(param) 222 + 225: 6(float) Load 155(d) + Store 224(param) 225 + 226: 2 FunctionCall 39(foo1(d1;d1;) 223(param) 224(param) + 227: 15(int) Load 167(u) + 228: 6(float) ConvertUToF 227 + Store 229(param) 228 + 231: 15(int) Load 167(u) + Store 230(param) 231 + 232: 2 FunctionCall 20(foo1(d1;u1;) 229(param) 230(param) + 233: 15(int) Load 167(u) + 234: 6(float) ConvertUToF 233 + Store 235(param) 234 + 237: 22(int) Load 173(i) + Store 236(param) 237 + 238: 2 FunctionCall 27(foo1(d1;i1;) 235(param) 236(param) + 239: 15(int) Load 167(u) + 240: 6(float) ConvertUToF 239 + Store 241(param) 240 + 243: 29(float) Load 179(f) + Store 242(param) 243 + 244: 2 FunctionCall 34(foo1(d1;f1;) 241(param) 242(param) + 245: 22(int) Load 173(i) + 246: 6(float) ConvertSToF 245 + Store 247(param) 246 + 249: 8(bool) Load 156(b) + Store 248(param) 249 + 250: 2 FunctionCall 13(foo1(d1;b1;) 247(param) 248(param) + 251: 22(int) Load 173(i) + 252: 6(float) ConvertSToF 251 + Store 253(param) 252 + 255: 6(float) Load 155(d) + Store 254(param) 255 + 256: 2 FunctionCall 39(foo1(d1;d1;) 253(param) 254(param) + 257: 22(int) Load 173(i) + 258: 6(float) ConvertSToF 257 + Store 259(param) 258 + 261: 15(int) Load 167(u) + Store 260(param) 261 + 262: 2 FunctionCall 20(foo1(d1;u1;) 259(param) 260(param) + 263: 22(int) Load 173(i) + 264: 6(float) ConvertSToF 263 + Store 265(param) 264 + 267: 22(int) Load 173(i) + Store 266(param) 267 + 268: 2 FunctionCall 27(foo1(d1;i1;) 265(param) 266(param) + 269: 22(int) Load 173(i) + 270: 6(float) ConvertSToF 269 + Store 271(param) 270 + 273: 29(float) Load 179(f) + Store 272(param) 273 + 274: 2 FunctionCall 34(foo1(d1;f1;) 271(param) 272(param) + 275: 15(int) Load 167(u) + 276: 22(int) Bitcast 275 + Store 277(param) 276 + 279: 8(bool) Load 156(b) + Store 278(param) 279 + 280: 2 FunctionCall 44(foo2(i1;b1;) 277(param) 278(param) + 281: 15(int) Load 167(u) + 282: 22(int) Bitcast 281 + Store 283(param) 282 + 285: 6(float) Load 155(d) + Store 284(param) 285 + 286: 2 FunctionCall 64(foo2(i1;d1;) 283(param) 284(param) + 287: 15(int) Load 167(u) + 288: 22(int) Bitcast 287 + Store 289(param) 288 + 291: 15(int) Load 167(u) + Store 290(param) 291 + 292: 2 FunctionCall 49(foo2(i1;u1;) 289(param) 290(param) + 293: 15(int) Load 167(u) + 294: 22(int) Bitcast 293 + Store 295(param) 294 + 297: 22(int) Load 173(i) + Store 296(param) 297 + 298: 2 FunctionCall 54(foo2(i1;i1;) 295(param) 296(param) + 299: 15(int) Load 167(u) + 300: 22(int) Bitcast 299 + Store 301(param) 300 + 303: 29(float) Load 179(f) + Store 302(param) 303 + 304: 2 FunctionCall 59(foo2(i1;f1;) 301(param) 302(param) + 306: 22(int) Load 173(i) + Store 305(param) 306 + 308: 8(bool) Load 156(b) + Store 307(param) 308 + 309: 2 FunctionCall 44(foo2(i1;b1;) 305(param) 307(param) + 311: 22(int) Load 173(i) + Store 310(param) 311 + 313: 6(float) Load 155(d) + Store 312(param) 313 + 314: 2 FunctionCall 64(foo2(i1;d1;) 310(param) 312(param) + 316: 22(int) Load 173(i) + Store 315(param) 316 + 318: 15(int) Load 167(u) + Store 317(param) 318 + 319: 2 FunctionCall 49(foo2(i1;u1;) 315(param) 317(param) + 321: 22(int) Load 173(i) + Store 320(param) 321 + 323: 22(int) Load 173(i) + Store 322(param) 323 + 324: 2 FunctionCall 54(foo2(i1;i1;) 320(param) 322(param) + 326: 22(int) Load 173(i) + Store 325(param) 326 + 328: 29(float) Load 179(f) + Store 327(param) 328 + 329: 2 FunctionCall 59(foo2(i1;f1;) 325(param) 327(param) + 331: 8(bool) Load 156(b) + Store 330(param) 331 + 332: 2 FunctionCall 68(foo3(b1;) 330(param) + 333: 6(float) Load 155(d) + 335: 8(bool) FOrdNotEqual 333 334 + Store 336(param) 335 + 337: 2 FunctionCall 68(foo3(b1;) 336(param) + 338: 15(int) Load 167(u) + 340: 8(bool) INotEqual 338 339 + Store 341(param) 340 + 342: 2 FunctionCall 68(foo3(b1;) 341(param) + 343: 22(int) Load 173(i) + 344: 8(bool) INotEqual 343 339 + Store 345(param) 344 + 346: 2 FunctionCall 68(foo3(b1;) 345(param) + 347: 29(float) Load 179(f) + 349: 8(bool) FOrdNotEqual 347 348 + Store 350(param) 349 + 351: 2 FunctionCall 68(foo3(b1;) 350(param) + 352: 8(bool) Load 156(b) + 354: 15(int) Select 352 353 339 + Store 355(param) 354 + 356: 2 FunctionCall 72(foo4(u1;) 355(param) + 357: 6(float) Load 155(d) + 358: 15(int) ConvertFToU 357 + Store 359(param) 358 + 360: 2 FunctionCall 72(foo4(u1;) 359(param) + 362: 15(int) Load 167(u) + Store 361(param) 362 + 363: 2 FunctionCall 72(foo4(u1;) 361(param) + 364: 22(int) Load 173(i) + 365: 15(int) Bitcast 364 + Store 366(param) 365 + 367: 2 FunctionCall 72(foo4(u1;) 366(param) + 368: 29(float) Load 179(f) + 369: 15(int) ConvertFToU 368 + Store 370(param) 369 + 371: 2 FunctionCall 72(foo4(u1;) 370(param) + 372: 8(bool) Load 156(b) + 375: 22(int) Select 372 374 373 + Store 376(param) 375 + 377: 2 FunctionCall 76(foo5(i1;) 376(param) + 378: 6(float) Load 155(d) + 379: 22(int) ConvertFToS 378 + Store 380(param) 379 + 381: 2 FunctionCall 76(foo5(i1;) 380(param) + 382: 15(int) Load 167(u) + 383: 22(int) Bitcast 382 + Store 384(param) 383 + 385: 2 FunctionCall 76(foo5(i1;) 384(param) + 387: 22(int) Load 173(i) + Store 386(param) 387 + 388: 2 FunctionCall 76(foo5(i1;) 386(param) + 389: 29(float) Load 179(f) + 390: 22(int) ConvertFToS 389 + Store 391(param) 390 + 392: 2 FunctionCall 76(foo5(i1;) 391(param) + 393: 8(bool) Load 156(b) + 395: 29(float) Select 393 394 348 + Store 396(param) 395 + 397: 2 FunctionCall 80(foo6(f1;) 396(param) + 398: 6(float) Load 155(d) + 399: 29(float) FConvert 398 + Store 400(param) 399 + 401: 2 FunctionCall 80(foo6(f1;) 400(param) + 402: 15(int) Load 167(u) + 403: 29(float) ConvertUToF 402 + Store 404(param) 403 + 405: 2 FunctionCall 80(foo6(f1;) 404(param) + 406: 22(int) Load 173(i) + 407: 29(float) ConvertSToF 406 + Store 408(param) 407 + 409: 2 FunctionCall 80(foo6(f1;) 408(param) + 411: 29(float) Load 179(f) + Store 410(param) 411 + 412: 2 FunctionCall 80(foo6(f1;) 410(param) + 413: 8(bool) Load 156(b) + 415: 6(float) Select 413 414 334 + Store 416(param) 415 + 417: 2 FunctionCall 84(foo7(d1;) 416(param) + 419: 6(float) Load 155(d) + Store 418(param) 419 + 420: 2 FunctionCall 84(foo7(d1;) 418(param) + 421: 15(int) Load 167(u) + 422: 6(float) ConvertUToF 421 + Store 423(param) 422 + 424: 2 FunctionCall 84(foo7(d1;) 423(param) + 425: 22(int) Load 173(i) + 426: 6(float) ConvertSToF 425 + Store 427(param) 426 + 428: 2 FunctionCall 84(foo7(d1;) 427(param) + 429: 29(float) Load 179(f) + 430: 6(float) FConvert 429 + Store 431(param) 430 + 432: 2 FunctionCall 84(foo7(d1;) 431(param) + 433: 8(bool) Load 156(b) + 434: 29(float) Select 433 394 348 + Store 435(param) 434 + 436: 2 FunctionCall 87(foo8(f1;) 435(param) + 437: 15(int) Load 167(u) + 438: 29(float) ConvertUToF 437 + Store 439(param) 438 + 440: 2 FunctionCall 87(foo8(f1;) 439(param) + 441: 22(int) Load 173(i) + 442: 29(float) ConvertSToF 441 + Store 443(param) 442 + 444: 2 FunctionCall 87(foo8(f1;) 443(param) + 445: 8(bool) Load 156(b) + 446: 22(int) Select 445 374 373 + Store 447(param) 446 + 448: 2 FunctionCall 93(foo9(i1;) 447(param) + 449: 29(float) Load 179(f) + 450: 15(int) ConvertFToU 449 + Store 451(param) 450 + 452: 2 FunctionCall 96(foo9(u1;) 451(param) + 453: 6(float) Load 155(d) + 454: 15(int) ConvertFToU 453 + Store 455(param) 454 + 456: 2 FunctionCall 96(foo9(u1;) 455(param) + 457: 15(int) Load 167(u) + 458: 22(int) Bitcast 457 + Store 459(param) 458 + 460: 2 FunctionCall 102(foo10(i1;) 459(param) + 461: 29(float) Load 179(f) + 462: 22(int) ConvertFToS 461 + Store 463(param) 462 + 464: 2 FunctionCall 102(foo10(i1;) 463(param) + 465: 6(float) Load 155(d) + 466: 22(int) ConvertFToS 465 + Store 467(param) 466 + 468: 2 FunctionCall 102(foo10(i1;) 467(param) + 469: 8(bool) Load 156(b) + 470: 15(int) Select 469 353 339 + Store 471(param) 470 + 472: 2 FunctionCall 120(foo11(u1;) 471(param) + 473: 29(float) Load 179(f) + 474: 6(float) FConvert 473 + Store 475(param) 474 + 476: 2 FunctionCall 111(foo11(d1;) 475(param) + 477: 29(float) Load 179(f) + 478: 104(fvec3) CompositeConstruct 477 477 477 + 479: 125(fvec3) FConvert 478 + Store 480(param) 479 + 481: 2 FunctionCall 129(foo12(vd3;) 480(param) + 482: 22(int) Load 173(i) + 483: 22(int) Load 173(i) + 485: 484(ivec2) CompositeConstruct 482 483 + 486: 134(ivec2) Bitcast 485 + Store 487(param) 486 + 488: 2 FunctionCall 138(foo16(vu2;) 487(param) + 489: 29(float) Load 179(f) + 490: 104(fvec3) CompositeConstruct 489 489 489 + Store 491(param) 490 + 492: 2 FunctionCall 141(foo13(vf3;) 491(param) + 493: 22(int) Load 173(i) + 495: 494(ivec4) CompositeConstruct 493 493 493 493 + 496: 22(int) CompositeExtract 495 0 + Store 497(param) 496 + 498: 2 FunctionCall 144(foo14(vi1;) 497(param) + 499: 8(bool) Load 156(b) + Store 500(param) 499 + 501: 2 FunctionCall 147(foo15(vb1;) 500(param) + 502: 8(bool) Load 156(b) + 504: 503(bvec3) CompositeConstruct 502 502 502 + 505: 8(bool) CompositeExtract 504 0 + Store 506(param) 505 + 507: 2 FunctionCall 147(foo15(vb1;) 506(param) + 508: 149(fvec4) Load 152(input) + ReturnValue 508 + FunctionEnd diff --git a/Test/baseResults/hlsl.params.default.frag.out b/Test/baseResults/hlsl.params.default.frag.out index 3c62c5db..49d195ad 100644 --- a/Test/baseResults/hlsl.params.default.frag.out +++ b/Test/baseResults/hlsl.params.default.frag.out @@ -55,7 +55,7 @@ gl_FragCoord origin is upper left 0:32 Function Definition: fn3(i1; (temp void) 0:32 Function Parameters: 0:32 'p0' (in int) -0:36 Function Definition: main( (temp 4-component vector of int) +0:36 Function Definition: @main( (temp 4-component vector of int) 0:36 Function Parameters: 0:? Sequence 0:37 Sequence @@ -70,117 +70,120 @@ gl_FragCoord origin is upper left 0:40 Function Call: fn3(i1; (temp void) 0:40 Constant: 0:40 5 (const int) -0:50 Sequence -0:50 move second child to first child (temp 4-component vector of int) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int) -0:49 add (temp 4-component vector of int) -0:47 add (temp 4-component vector of int) -0:46 add (temp 4-component vector of int) -0:45 add (temp 4-component vector of int) -0:44 add (temp 4-component vector of int) -0:43 add (temp 4-component vector of int) -0:42 add (temp 4-component vector of int) -0:42 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) -0:42 Constant: -0:42 100 (const int) -0:42 100 (const int) -0:42 100 (const int) -0:42 100 (const int) -0:? Constant: -0:? -1 (const int) -0:? -2 (const int) -0:? -3 (const int) -0:? -4 (const int) -0:15 Constant: -0:15 1 (const int) -0:15 2 (const int) -0:16 Constant: -0:16 42 (const int) -0:43 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) -0:43 Constant: -0:43 101 (const int) -0:43 101 (const int) -0:43 101 (const int) -0:43 101 (const int) -0:43 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int) -0:43 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4}) -0:43 Constant: -0:43 0 (const uint) -0:15 Constant: -0:15 1 (const int) -0:15 2 (const int) -0:16 Constant: -0:16 42 (const int) -0:44 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) -0:44 Constant: -0:44 102 (const int) -0:44 102 (const int) -0:44 102 (const int) -0:44 102 (const int) -0:44 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int) -0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4}) -0:44 Constant: -0:44 0 (const uint) -0:44 'myarray' (temp 2-element array of int) +0:50 Branch: Return with expression +0:49 add (temp 4-component vector of int) +0:47 add (temp 4-component vector of int) +0:46 add (temp 4-component vector of int) +0:45 add (temp 4-component vector of int) +0:44 add (temp 4-component vector of int) +0:43 add (temp 4-component vector of int) +0:42 add (temp 4-component vector of int) +0:42 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) +0:42 Constant: +0:42 100 (const int) +0:42 100 (const int) +0:42 100 (const int) +0:42 100 (const int) +0:? Constant: +0:? -1 (const int) +0:? -2 (const int) +0:? -3 (const int) +0:? -4 (const int) +0:15 Constant: +0:15 1 (const int) +0:15 2 (const int) 0:16 Constant: 0:16 42 (const int) -0:45 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) +0:43 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) +0:43 Constant: +0:43 101 (const int) +0:43 101 (const int) +0:43 101 (const int) +0:43 101 (const int) +0:43 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int) +0:43 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4}) +0:43 Constant: +0:43 0 (const uint) +0:15 Constant: +0:15 1 (const int) +0:15 2 (const int) +0:16 Constant: +0:16 42 (const int) +0:44 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) +0:44 Constant: +0:44 102 (const int) +0:44 102 (const int) +0:44 102 (const int) +0:44 102 (const int) +0:44 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int) +0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4}) +0:44 Constant: +0:44 0 (const uint) +0:44 'myarray' (temp 2-element array of int) +0:16 Constant: +0:16 42 (const int) +0:45 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) +0:45 Constant: +0:45 103 (const int) +0:45 103 (const int) +0:45 103 (const int) +0:45 103 (const int) +0:45 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int) +0:45 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4}) 0:45 Constant: -0:45 103 (const int) -0:45 103 (const int) -0:45 103 (const int) -0:45 103 (const int) -0:45 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int) -0:45 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4}) -0:45 Constant: -0:45 0 (const uint) -0:45 'myarray' (temp 2-element array of int) -0:45 Constant: -0:45 99 (const int) -0:46 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int) -0:46 Constant: -0:46 104 (const int) -0:46 104 (const int) -0:46 104 (const int) -0:46 104 (const int) -0:46 Constant: -0:46 false (const bool) -0:9 Constant: -0:9 false (const bool) -0:47 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int) -0:47 Constant: -0:47 105 (const int) -0:47 105 (const int) -0:47 105 (const int) -0:47 105 (const int) -0:47 Constant: -0:47 false (const bool) -0:47 Constant: -0:47 true (const bool) -0:49 Function Call: fn2(vi4;f1; (temp 4-component vector of int) -0:49 Constant: -0:49 110 (const int) -0:49 110 (const int) -0:49 110 (const int) -0:49 110 (const int) -0:49 Constant: -0:49 11.110000 -0:50 Function Call: fn2(vi4;i1; (temp 4-component vector of int) -0:50 Constant: -0:50 111 (const int) -0:50 111 (const int) -0:50 111 (const int) -0:50 111 (const int) -0:50 Constant: -0:50 12 (const int) -0:50 Branch: Return +0:45 0 (const uint) +0:45 'myarray' (temp 2-element array of int) +0:45 Constant: +0:45 99 (const int) +0:46 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int) +0:46 Constant: +0:46 104 (const int) +0:46 104 (const int) +0:46 104 (const int) +0:46 104 (const int) +0:46 Constant: +0:46 false (const bool) +0:9 Constant: +0:9 false (const bool) +0:47 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int) +0:47 Constant: +0:47 105 (const int) +0:47 105 (const int) +0:47 105 (const int) +0:47 105 (const int) +0:47 Constant: +0:47 false (const bool) +0:47 Constant: +0:47 true (const bool) +0:49 Function Call: fn2(vi4;f1; (temp 4-component vector of int) +0:49 Constant: +0:49 110 (const int) +0:49 110 (const int) +0:49 110 (const int) +0:49 110 (const int) +0:49 Constant: +0:49 11.110000 +0:50 Function Call: fn2(vi4;i1; (temp 4-component vector of int) +0:50 Constant: +0:50 111 (const int) +0:50 111 (const int) +0:50 111 (const int) +0:50 111 (const int) +0:50 Constant: +0:50 12 (const int) +0:36 Function Definition: main( (temp void) +0:36 Function Parameters: +0:? Sequence +0:36 move second child to first child (temp 4-component vector of int) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int) +0:36 Function Call: @main( (temp 4-component vector of int) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int) 0:? 'cia' (const int) 0:? -4 (const int) 0:? 'cib' (const int) 0:? -42 (const int) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4}) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int) Linked fragment stage: @@ -242,7 +245,7 @@ gl_FragCoord origin is upper left 0:32 Function Definition: fn3(i1; (temp void) 0:32 Function Parameters: 0:32 'p0' (in int) -0:36 Function Definition: main( (temp 4-component vector of int) +0:36 Function Definition: @main( (temp 4-component vector of int) 0:36 Function Parameters: 0:? Sequence 0:37 Sequence @@ -257,126 +260,129 @@ gl_FragCoord origin is upper left 0:40 Function Call: fn3(i1; (temp void) 0:40 Constant: 0:40 5 (const int) -0:50 Sequence -0:50 move second child to first child (temp 4-component vector of int) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int) -0:49 add (temp 4-component vector of int) -0:47 add (temp 4-component vector of int) -0:46 add (temp 4-component vector of int) -0:45 add (temp 4-component vector of int) -0:44 add (temp 4-component vector of int) -0:43 add (temp 4-component vector of int) -0:42 add (temp 4-component vector of int) -0:42 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) -0:42 Constant: -0:42 100 (const int) -0:42 100 (const int) -0:42 100 (const int) -0:42 100 (const int) -0:? Constant: -0:? -1 (const int) -0:? -2 (const int) -0:? -3 (const int) -0:? -4 (const int) -0:15 Constant: -0:15 1 (const int) -0:15 2 (const int) -0:16 Constant: -0:16 42 (const int) -0:43 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) -0:43 Constant: -0:43 101 (const int) -0:43 101 (const int) -0:43 101 (const int) -0:43 101 (const int) -0:43 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int) -0:43 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4}) -0:43 Constant: -0:43 0 (const uint) -0:15 Constant: -0:15 1 (const int) -0:15 2 (const int) -0:16 Constant: -0:16 42 (const int) -0:44 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) -0:44 Constant: -0:44 102 (const int) -0:44 102 (const int) -0:44 102 (const int) -0:44 102 (const int) -0:44 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int) -0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4}) -0:44 Constant: -0:44 0 (const uint) -0:44 'myarray' (temp 2-element array of int) +0:50 Branch: Return with expression +0:49 add (temp 4-component vector of int) +0:47 add (temp 4-component vector of int) +0:46 add (temp 4-component vector of int) +0:45 add (temp 4-component vector of int) +0:44 add (temp 4-component vector of int) +0:43 add (temp 4-component vector of int) +0:42 add (temp 4-component vector of int) +0:42 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) +0:42 Constant: +0:42 100 (const int) +0:42 100 (const int) +0:42 100 (const int) +0:42 100 (const int) +0:? Constant: +0:? -1 (const int) +0:? -2 (const int) +0:? -3 (const int) +0:? -4 (const int) +0:15 Constant: +0:15 1 (const int) +0:15 2 (const int) 0:16 Constant: 0:16 42 (const int) -0:45 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) +0:43 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) +0:43 Constant: +0:43 101 (const int) +0:43 101 (const int) +0:43 101 (const int) +0:43 101 (const int) +0:43 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int) +0:43 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4}) +0:43 Constant: +0:43 0 (const uint) +0:15 Constant: +0:15 1 (const int) +0:15 2 (const int) +0:16 Constant: +0:16 42 (const int) +0:44 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) +0:44 Constant: +0:44 102 (const int) +0:44 102 (const int) +0:44 102 (const int) +0:44 102 (const int) +0:44 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int) +0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4}) +0:44 Constant: +0:44 0 (const uint) +0:44 'myarray' (temp 2-element array of int) +0:16 Constant: +0:16 42 (const int) +0:45 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) +0:45 Constant: +0:45 103 (const int) +0:45 103 (const int) +0:45 103 (const int) +0:45 103 (const int) +0:45 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int) +0:45 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4}) 0:45 Constant: -0:45 103 (const int) -0:45 103 (const int) -0:45 103 (const int) -0:45 103 (const int) -0:45 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int) -0:45 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4}) -0:45 Constant: -0:45 0 (const uint) -0:45 'myarray' (temp 2-element array of int) -0:45 Constant: -0:45 99 (const int) -0:46 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int) -0:46 Constant: -0:46 104 (const int) -0:46 104 (const int) -0:46 104 (const int) -0:46 104 (const int) -0:46 Constant: -0:46 false (const bool) -0:9 Constant: -0:9 false (const bool) -0:47 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int) -0:47 Constant: -0:47 105 (const int) -0:47 105 (const int) -0:47 105 (const int) -0:47 105 (const int) -0:47 Constant: -0:47 false (const bool) -0:47 Constant: -0:47 true (const bool) -0:49 Function Call: fn2(vi4;f1; (temp 4-component vector of int) -0:49 Constant: -0:49 110 (const int) -0:49 110 (const int) -0:49 110 (const int) -0:49 110 (const int) -0:49 Constant: -0:49 11.110000 -0:50 Function Call: fn2(vi4;i1; (temp 4-component vector of int) -0:50 Constant: -0:50 111 (const int) -0:50 111 (const int) -0:50 111 (const int) -0:50 111 (const int) -0:50 Constant: -0:50 12 (const int) -0:50 Branch: Return +0:45 0 (const uint) +0:45 'myarray' (temp 2-element array of int) +0:45 Constant: +0:45 99 (const int) +0:46 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int) +0:46 Constant: +0:46 104 (const int) +0:46 104 (const int) +0:46 104 (const int) +0:46 104 (const int) +0:46 Constant: +0:46 false (const bool) +0:9 Constant: +0:9 false (const bool) +0:47 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int) +0:47 Constant: +0:47 105 (const int) +0:47 105 (const int) +0:47 105 (const int) +0:47 105 (const int) +0:47 Constant: +0:47 false (const bool) +0:47 Constant: +0:47 true (const bool) +0:49 Function Call: fn2(vi4;f1; (temp 4-component vector of int) +0:49 Constant: +0:49 110 (const int) +0:49 110 (const int) +0:49 110 (const int) +0:49 110 (const int) +0:49 Constant: +0:49 11.110000 +0:50 Function Call: fn2(vi4;i1; (temp 4-component vector of int) +0:50 Constant: +0:50 111 (const int) +0:50 111 (const int) +0:50 111 (const int) +0:50 111 (const int) +0:50 Constant: +0:50 12 (const int) +0:36 Function Definition: main( (temp void) +0:36 Function Parameters: +0:? Sequence +0:36 move second child to first child (temp 4-component vector of int) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int) +0:36 Function Call: @main( (temp 4-component vector of int) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int) 0:? 'cia' (const int) 0:? -4 (const int) 0:? 'cib' (const int) 0:? -42 (const int) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4}) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 173 +// Id's are bound by 178 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 88 + EntryPoint Fragment 4 "main" 175 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 15 "fn1(vi4;b1;b1;" @@ -396,43 +402,44 @@ gl_FragCoord origin is upper left Name 38 "x" Name 43 "fn3(i1;" Name 42 "p0" - Name 77 "myarray" - Name 82 "param" + Name 46 "@main(" + Name 80 "myarray" Name 85 "param" - Name 88 "@entryPointOutput" - Name 100 "param" + Name 88 "param" Name 101 "param" Name 102 "param" Name 103 "param" - Name 107 "$Global" - MemberName 107($Global) 0 "ui4" - Name 109 "" - Name 110 "param" + Name 104 "param" + Name 108 "$Global" + MemberName 108($Global) 0 "ui4" + Name 110 "" Name 111 "param" - Name 115 "param" + Name 112 "param" Name 116 "param" - Name 121 "param" + Name 117 "param" Name 122 "param" - Name 125 "param" - Name 127 "param" - Name 133 "param" + Name 123 "param" + Name 126 "param" + Name 128 "param" Name 134 "param" - Name 137 "param" - Name 139 "param" - Name 145 "param" + Name 135 "param" + Name 138 "param" + Name 140 "param" Name 146 "param" Name 147 "param" - Name 153 "param" + Name 148 "param" Name 154 "param" Name 155 "param" - Name 161 "param" + Name 156 "param" Name 162 "param" - Name 167 "param" + Name 163 "param" Name 168 "param" - Decorate 88(@entryPointOutput) Location 0 - MemberDecorate 107($Global) 0 Offset 0 - Decorate 107($Global) Block - Decorate 109 DescriptorSet 0 + Name 169 "param" + Name 175 "@entryPointOutput" + MemberDecorate 108($Global) 0 Offset 0 + Decorate 108($Global) Block + Decorate 110 DescriptorSet 0 + Decorate 175(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 @@ -452,144 +459,63 @@ gl_FragCoord origin is upper left 35: TypePointer Function 34(float) 36: TypeFunction 7(ivec4) 8(ptr) 35(ptr) 41: TypeFunction 2 21(ptr) - 51: 6(int) Constant 0 - 61: 6(int) Constant 10 - 62: 6(int) Constant 11 - 63: 6(int) Constant 12 - 64: 6(int) Constant 13 - 65: 7(ivec4) ConstantComposite 61 62 63 64 - 69: 6(int) Constant 20 - 70: 6(int) Constant 21 - 71: 6(int) Constant 22 - 72: 6(int) Constant 23 - 73: 7(ivec4) ConstantComposite 69 70 71 72 - 78: 6(int) Constant 30 - 79: 6(int) Constant 31 - 80: 19 ConstantComposite 78 79 - 81: 6(int) Constant 3 - 84: 6(int) Constant 5 - 87: TypePointer Output 7(ivec4) -88(@entryPointOutput): 87(ptr) Variable Output - 89: 6(int) Constant 100 - 90: 7(ivec4) ConstantComposite 89 89 89 89 - 91: 6(int) Constant 4294967295 - 92: 6(int) Constant 4294967294 - 93: 6(int) Constant 4294967293 - 94: 6(int) Constant 4294967292 - 95: 7(ivec4) ConstantComposite 91 92 93 94 - 96: 6(int) Constant 1 - 97: 6(int) Constant 2 - 98: 19 ConstantComposite 96 97 - 99: 6(int) Constant 42 - 105: 6(int) Constant 101 - 106: 7(ivec4) ConstantComposite 105 105 105 105 - 107($Global): TypeStruct 7(ivec4) - 108: TypePointer Uniform 107($Global) - 109: 108(ptr) Variable Uniform - 112: TypePointer Uniform 7(ivec4) - 119: 6(int) Constant 102 - 120: 7(ivec4) ConstantComposite 119 119 119 119 - 130: 6(int) Constant 103 - 131: 7(ivec4) ConstantComposite 130 130 130 130 - 132: 6(int) Constant 99 - 142: 6(int) Constant 104 - 143: 7(ivec4) ConstantComposite 142 142 142 142 - 144: 9(bool) ConstantFalse - 150: 6(int) Constant 105 - 151: 7(ivec4) ConstantComposite 150 150 150 150 - 152: 9(bool) ConstantTrue - 158: 6(int) Constant 110 - 159: 7(ivec4) ConstantComposite 158 158 158 158 - 160: 34(float) Constant 1093780111 - 165: 6(int) Constant 111 - 166: 7(ivec4) ConstantComposite 165 165 165 165 - 172: 6(int) Constant 4294967254 + 45: TypeFunction 7(ivec4) + 54: 6(int) Constant 0 + 64: 6(int) Constant 10 + 65: 6(int) Constant 11 + 66: 6(int) Constant 12 + 67: 6(int) Constant 13 + 68: 7(ivec4) ConstantComposite 64 65 66 67 + 72: 6(int) Constant 20 + 73: 6(int) Constant 21 + 74: 6(int) Constant 22 + 75: 6(int) Constant 23 + 76: 7(ivec4) ConstantComposite 72 73 74 75 + 81: 6(int) Constant 30 + 82: 6(int) Constant 31 + 83: 19 ConstantComposite 81 82 + 84: 6(int) Constant 3 + 87: 6(int) Constant 5 + 90: 6(int) Constant 100 + 91: 7(ivec4) ConstantComposite 90 90 90 90 + 92: 6(int) Constant 4294967295 + 93: 6(int) Constant 4294967294 + 94: 6(int) Constant 4294967293 + 95: 6(int) Constant 4294967292 + 96: 7(ivec4) ConstantComposite 92 93 94 95 + 97: 6(int) Constant 1 + 98: 6(int) Constant 2 + 99: 19 ConstantComposite 97 98 + 100: 6(int) Constant 42 + 106: 6(int) Constant 101 + 107: 7(ivec4) ConstantComposite 106 106 106 106 + 108($Global): TypeStruct 7(ivec4) + 109: TypePointer Uniform 108($Global) + 110: 109(ptr) Variable Uniform + 113: TypePointer Uniform 7(ivec4) + 120: 6(int) Constant 102 + 121: 7(ivec4) ConstantComposite 120 120 120 120 + 131: 6(int) Constant 103 + 132: 7(ivec4) ConstantComposite 131 131 131 131 + 133: 6(int) Constant 99 + 143: 6(int) Constant 104 + 144: 7(ivec4) ConstantComposite 143 143 143 143 + 145: 9(bool) ConstantFalse + 151: 6(int) Constant 105 + 152: 7(ivec4) ConstantComposite 151 151 151 151 + 153: 9(bool) ConstantTrue + 159: 6(int) Constant 110 + 160: 7(ivec4) ConstantComposite 159 159 159 159 + 161: 34(float) Constant 1093780111 + 166: 6(int) Constant 111 + 167: 7(ivec4) ConstantComposite 166 166 166 166 + 174: TypePointer Output 7(ivec4) +175(@entryPointOutput): 174(ptr) Variable Output + 177: 6(int) Constant 4294967254 4(main): 2 Function None 3 5: Label - 77(myarray): 20(ptr) Variable Function - 82(param): 21(ptr) Variable Function - 85(param): 21(ptr) Variable Function - 100(param): 8(ptr) Variable Function - 101(param): 8(ptr) Variable Function - 102(param): 20(ptr) Variable Function - 103(param): 21(ptr) Variable Function - 110(param): 8(ptr) Variable Function - 111(param): 8(ptr) Variable Function - 115(param): 20(ptr) Variable Function - 116(param): 21(ptr) Variable Function - 121(param): 8(ptr) Variable Function - 122(param): 8(ptr) Variable Function - 125(param): 20(ptr) Variable Function - 127(param): 21(ptr) Variable Function - 133(param): 8(ptr) Variable Function - 134(param): 8(ptr) Variable Function - 137(param): 20(ptr) Variable Function - 139(param): 21(ptr) Variable Function - 145(param): 8(ptr) Variable Function - 146(param): 10(ptr) Variable Function - 147(param): 10(ptr) Variable Function - 153(param): 8(ptr) Variable Function - 154(param): 10(ptr) Variable Function - 155(param): 10(ptr) Variable Function - 161(param): 8(ptr) Variable Function - 162(param): 35(ptr) Variable Function - 167(param): 8(ptr) Variable Function - 168(param): 21(ptr) Variable Function - Store 77(myarray) 80 - Store 82(param) 81 - 83: 2 FunctionCall 43(fn3(i1;) 82(param) - Store 85(param) 84 - 86: 2 FunctionCall 43(fn3(i1;) 85(param) - Store 100(param) 90 - Store 101(param) 95 - Store 102(param) 98 - Store 103(param) 99 - 104: 7(ivec4) FunctionCall 27(fn1(vi4;vi4;i1[2];i1;) 100(param) 101(param) 102(param) 103(param) - Store 110(param) 106 - 113: 112(ptr) AccessChain 109 51 - 114: 7(ivec4) Load 113 - Store 111(param) 114 - Store 115(param) 98 - Store 116(param) 99 - 117: 7(ivec4) FunctionCall 27(fn1(vi4;vi4;i1[2];i1;) 110(param) 111(param) 115(param) 116(param) - 118: 7(ivec4) IAdd 104 117 - Store 121(param) 120 - 123: 112(ptr) AccessChain 109 51 - 124: 7(ivec4) Load 123 - Store 122(param) 124 - 126: 19 Load 77(myarray) - Store 125(param) 126 - Store 127(param) 99 - 128: 7(ivec4) FunctionCall 27(fn1(vi4;vi4;i1[2];i1;) 121(param) 122(param) 125(param) 127(param) - 129: 7(ivec4) IAdd 118 128 - Store 133(param) 131 - 135: 112(ptr) AccessChain 109 51 - 136: 7(ivec4) Load 135 - Store 134(param) 136 - 138: 19 Load 77(myarray) - Store 137(param) 138 - Store 139(param) 132 - 140: 7(ivec4) FunctionCall 27(fn1(vi4;vi4;i1[2];i1;) 133(param) 134(param) 137(param) 139(param) - 141: 7(ivec4) IAdd 129 140 - Store 145(param) 143 - Store 146(param) 144 - Store 147(param) 144 - 148: 7(ivec4) FunctionCall 15(fn1(vi4;b1;b1;) 145(param) 146(param) 147(param) - 149: 7(ivec4) IAdd 141 148 - Store 153(param) 151 - Store 154(param) 144 - Store 155(param) 152 - 156: 7(ivec4) FunctionCall 15(fn1(vi4;b1;b1;) 153(param) 154(param) 155(param) - 157: 7(ivec4) IAdd 149 156 - Store 161(param) 159 - Store 162(param) 160 - 163: 7(ivec4) FunctionCall 39(fn2(vi4;f1;) 161(param) 162(param) - 164: 7(ivec4) IAdd 157 163 - Store 167(param) 166 - Store 168(param) 63 - 169: 7(ivec4) FunctionCall 32(fn2(vi4;i1;) 167(param) 168(param) - 170: 7(ivec4) IAdd 164 169 - Store 88(@entryPointOutput) 170 + 176: 7(ivec4) FunctionCall 46(@main() + Store 175(@entryPointOutput) 176 Return FunctionEnd 15(fn1(vi4;b1;b1;): 7(ivec4) Function None 11 @@ -597,8 +523,8 @@ gl_FragCoord origin is upper left 13(b1): 10(ptr) FunctionParameter 14(b2): 10(ptr) FunctionParameter 16: Label - 45: 7(ivec4) Load 12(p0) - ReturnValue 45 + 48: 7(ivec4) Load 12(p0) + ReturnValue 48 FunctionEnd 27(fn1(vi4;vi4;i1[2];i1;): 7(ivec4) Function None 22 23(p0): 8(ptr) FunctionParameter @@ -606,34 +532,121 @@ gl_FragCoord origin is upper left 25(p2): 20(ptr) FunctionParameter 26(p3): 21(ptr) FunctionParameter 28: Label - 48: 7(ivec4) Load 23(p0) - 49: 7(ivec4) Load 24(p1) - 50: 7(ivec4) IAdd 48 49 - 52: 21(ptr) AccessChain 25(p2) 51 - 53: 6(int) Load 52 - 54: 7(ivec4) CompositeConstruct 53 53 53 53 - 55: 7(ivec4) IAdd 50 54 - 56: 6(int) Load 26(p3) + 51: 7(ivec4) Load 23(p0) + 52: 7(ivec4) Load 24(p1) + 53: 7(ivec4) IAdd 51 52 + 55: 21(ptr) AccessChain 25(p2) 54 + 56: 6(int) Load 55 57: 7(ivec4) CompositeConstruct 56 56 56 56 - 58: 7(ivec4) IAdd 55 57 - ReturnValue 58 + 58: 7(ivec4) IAdd 53 57 + 59: 6(int) Load 26(p3) + 60: 7(ivec4) CompositeConstruct 59 59 59 59 + 61: 7(ivec4) IAdd 58 60 + ReturnValue 61 FunctionEnd 32(fn2(vi4;i1;): 7(ivec4) Function None 29 30(p0): 8(ptr) FunctionParameter 31(x): 21(ptr) FunctionParameter 33: Label - ReturnValue 65 + ReturnValue 68 FunctionEnd 39(fn2(vi4;f1;): 7(ivec4) Function None 36 37(p0): 8(ptr) FunctionParameter 38(x): 35(ptr) FunctionParameter 40: Label - 68: 7(ivec4) Load 37(p0) - 74: 7(ivec4) IAdd 68 73 - ReturnValue 74 + 71: 7(ivec4) Load 37(p0) + 77: 7(ivec4) IAdd 71 76 + ReturnValue 77 FunctionEnd 43(fn3(i1;): 2 Function None 41 42(p0): 21(ptr) FunctionParameter 44: Label Return FunctionEnd + 46(@main(): 7(ivec4) Function None 45 + 47: Label + 80(myarray): 20(ptr) Variable Function + 85(param): 21(ptr) Variable Function + 88(param): 21(ptr) Variable Function + 101(param): 8(ptr) Variable Function + 102(param): 8(ptr) Variable Function + 103(param): 20(ptr) Variable Function + 104(param): 21(ptr) Variable Function + 111(param): 8(ptr) Variable Function + 112(param): 8(ptr) Variable Function + 116(param): 20(ptr) Variable Function + 117(param): 21(ptr) Variable Function + 122(param): 8(ptr) Variable Function + 123(param): 8(ptr) Variable Function + 126(param): 20(ptr) Variable Function + 128(param): 21(ptr) Variable Function + 134(param): 8(ptr) Variable Function + 135(param): 8(ptr) Variable Function + 138(param): 20(ptr) Variable Function + 140(param): 21(ptr) Variable Function + 146(param): 8(ptr) Variable Function + 147(param): 10(ptr) Variable Function + 148(param): 10(ptr) Variable Function + 154(param): 8(ptr) Variable Function + 155(param): 10(ptr) Variable Function + 156(param): 10(ptr) Variable Function + 162(param): 8(ptr) Variable Function + 163(param): 35(ptr) Variable Function + 168(param): 8(ptr) Variable Function + 169(param): 21(ptr) Variable Function + Store 80(myarray) 83 + Store 85(param) 84 + 86: 2 FunctionCall 43(fn3(i1;) 85(param) + Store 88(param) 87 + 89: 2 FunctionCall 43(fn3(i1;) 88(param) + Store 101(param) 91 + Store 102(param) 96 + Store 103(param) 99 + Store 104(param) 100 + 105: 7(ivec4) FunctionCall 27(fn1(vi4;vi4;i1[2];i1;) 101(param) 102(param) 103(param) 104(param) + Store 111(param) 107 + 114: 113(ptr) AccessChain 110 54 + 115: 7(ivec4) Load 114 + Store 112(param) 115 + Store 116(param) 99 + Store 117(param) 100 + 118: 7(ivec4) FunctionCall 27(fn1(vi4;vi4;i1[2];i1;) 111(param) 112(param) 116(param) 117(param) + 119: 7(ivec4) IAdd 105 118 + Store 122(param) 121 + 124: 113(ptr) AccessChain 110 54 + 125: 7(ivec4) Load 124 + Store 123(param) 125 + 127: 19 Load 80(myarray) + Store 126(param) 127 + Store 128(param) 100 + 129: 7(ivec4) FunctionCall 27(fn1(vi4;vi4;i1[2];i1;) 122(param) 123(param) 126(param) 128(param) + 130: 7(ivec4) IAdd 119 129 + Store 134(param) 132 + 136: 113(ptr) AccessChain 110 54 + 137: 7(ivec4) Load 136 + Store 135(param) 137 + 139: 19 Load 80(myarray) + Store 138(param) 139 + Store 140(param) 133 + 141: 7(ivec4) FunctionCall 27(fn1(vi4;vi4;i1[2];i1;) 134(param) 135(param) 138(param) 140(param) + 142: 7(ivec4) IAdd 130 141 + Store 146(param) 144 + Store 147(param) 145 + Store 148(param) 145 + 149: 7(ivec4) FunctionCall 15(fn1(vi4;b1;b1;) 146(param) 147(param) 148(param) + 150: 7(ivec4) IAdd 142 149 + Store 154(param) 152 + Store 155(param) 145 + Store 156(param) 153 + 157: 7(ivec4) FunctionCall 15(fn1(vi4;b1;b1;) 154(param) 155(param) 156(param) + 158: 7(ivec4) IAdd 150 157 + Store 162(param) 160 + Store 163(param) 161 + 164: 7(ivec4) FunctionCall 39(fn2(vi4;f1;) 162(param) 163(param) + 165: 7(ivec4) IAdd 158 164 + Store 168(param) 167 + Store 169(param) 66 + 170: 7(ivec4) FunctionCall 32(fn2(vi4;i1;) 168(param) 169(param) + 171: 7(ivec4) IAdd 165 170 + ReturnValue 171 + FunctionEnd diff --git a/Test/baseResults/hlsl.params.default.negative.frag.out b/Test/baseResults/hlsl.params.default.negative.frag.out index fa723f3e..1932646e 100644 --- a/Test/baseResults/hlsl.params.default.negative.frag.out +++ b/Test/baseResults/hlsl.params.default.negative.frag.out @@ -71,7 +71,7 @@ ERROR: node is still EOpNull! 0:33 Function Definition: fn3(i1; (temp void) 0:33 Function Parameters: 0:33 'p0' (in int) -0:37 Function Definition: main( (temp 4-component vector of int) +0:37 Function Definition: @main( (temp 4-component vector of int) 0:37 Function Parameters: 0:? Sequence 0:38 Sequence @@ -80,114 +80,117 @@ ERROR: node is still EOpNull! 0:38 Constant: 0:38 30 (const int) 0:38 31 (const int) -0:49 Sequence -0:49 move second child to first child (temp 4-component vector of int) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int) -0:48 add (temp 4-component vector of int) -0:47 add (temp 4-component vector of int) -0:45 add (temp 4-component vector of int) -0:44 add (temp 4-component vector of int) -0:43 add (temp 4-component vector of int) -0:42 add (temp 4-component vector of int) -0:41 add (temp 4-component vector of int) -0:40 add (temp 4-component vector of int) -0:40 Function Call: fn1(vi4; (temp 4-component vector of int) -0:40 Constant: -0:40 100 (const int) -0:40 100 (const int) -0:40 100 (const int) -0:40 100 (const int) -0:41 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) +0:49 Branch: Return with expression +0:48 add (temp 4-component vector of int) +0:47 add (temp 4-component vector of int) +0:45 add (temp 4-component vector of int) +0:44 add (temp 4-component vector of int) +0:43 add (temp 4-component vector of int) +0:42 add (temp 4-component vector of int) +0:41 add (temp 4-component vector of int) +0:40 add (temp 4-component vector of int) +0:40 Function Call: fn1(vi4; (temp 4-component vector of int) +0:40 Constant: +0:40 100 (const int) +0:40 100 (const int) +0:40 100 (const int) +0:40 100 (const int) +0:41 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) +0:41 Constant: +0:41 101 (const int) +0:41 101 (const int) +0:41 101 (const int) +0:41 101 (const int) +0:41 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int) +0:41 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar}) 0:41 Constant: -0:41 101 (const int) -0:41 101 (const int) -0:41 101 (const int) -0:41 101 (const int) -0:41 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int) -0:41 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar}) -0:41 Constant: -0:41 0 (const uint) -0:15 Constant: -0:15 1 (const int) -0:15 2 (const int) -0:16 Constant: -0:16 42 (const int) -0:42 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) -0:42 Constant: -0:42 102 (const int) -0:42 102 (const int) -0:42 102 (const int) -0:42 102 (const int) -0:42 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int) -0:42 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar}) -0:42 Constant: -0:42 0 (const uint) -0:42 'myarray' (temp 2-element array of int) +0:41 0 (const uint) +0:15 Constant: +0:15 1 (const int) +0:15 2 (const int) 0:16 Constant: 0:16 42 (const int) -0:43 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) +0:42 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) +0:42 Constant: +0:42 102 (const int) +0:42 102 (const int) +0:42 102 (const int) +0:42 102 (const int) +0:42 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int) +0:42 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar}) +0:42 Constant: +0:42 0 (const uint) +0:42 'myarray' (temp 2-element array of int) +0:16 Constant: +0:16 42 (const int) +0:43 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) +0:43 Constant: +0:43 103 (const int) +0:43 103 (const int) +0:43 103 (const int) +0:43 103 (const int) +0:43 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int) +0:43 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar}) 0:43 Constant: -0:43 103 (const int) -0:43 103 (const int) -0:43 103 (const int) -0:43 103 (const int) -0:43 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int) -0:43 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar}) -0:43 Constant: -0:43 0 (const uint) -0:43 'myarray' (temp 2-element array of int) -0:43 Constant: -0:43 99 (const int) -0:44 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int) -0:44 Constant: -0:44 104 (const int) -0:44 104 (const int) -0:44 104 (const int) -0:44 104 (const int) -0:44 Constant: -0:44 false (const bool) -0:9 Constant: -0:9 false (const bool) -0:45 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int) -0:45 Constant: -0:45 105 (const int) -0:45 105 (const int) -0:45 105 (const int) -0:45 105 (const int) -0:45 Constant: -0:45 false (const bool) -0:45 Constant: -0:45 true (const bool) -0:47 Function Call: fn2(vi4; (temp 4-component vector of int) -0:47 Constant: -0:47 112 (const int) -0:47 112 (const int) -0:47 112 (const int) -0:47 112 (const int) -0:48 Function Call: fn2(vi4;i1; (temp 4-component vector of int) -0:48 Constant: -0:48 110 (const int) -0:48 110 (const int) -0:48 110 (const int) -0:48 110 (const int) -0:48 Constant: -0:48 11 (const int) -0:49 Function Call: fn2(vi4;i1; (temp 4-component vector of int) -0:49 Constant: -0:49 111 (const int) -0:49 111 (const int) -0:49 111 (const int) -0:49 111 (const int) -0:49 Constant: -0:49 12 (const int) -0:49 Branch: Return +0:43 0 (const uint) +0:43 'myarray' (temp 2-element array of int) +0:43 Constant: +0:43 99 (const int) +0:44 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int) +0:44 Constant: +0:44 104 (const int) +0:44 104 (const int) +0:44 104 (const int) +0:44 104 (const int) +0:44 Constant: +0:44 false (const bool) +0:9 Constant: +0:9 false (const bool) +0:45 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int) +0:45 Constant: +0:45 105 (const int) +0:45 105 (const int) +0:45 105 (const int) +0:45 105 (const int) +0:45 Constant: +0:45 false (const bool) +0:45 Constant: +0:45 true (const bool) +0:47 Function Call: fn2(vi4; (temp 4-component vector of int) +0:47 Constant: +0:47 112 (const int) +0:47 112 (const int) +0:47 112 (const int) +0:47 112 (const int) +0:48 Function Call: fn2(vi4;i1; (temp 4-component vector of int) +0:48 Constant: +0:48 110 (const int) +0:48 110 (const int) +0:48 110 (const int) +0:48 110 (const int) +0:48 Constant: +0:48 11 (const int) +0:49 Function Call: fn2(vi4;i1; (temp 4-component vector of int) +0:49 Constant: +0:49 111 (const int) +0:49 111 (const int) +0:49 111 (const int) +0:49 111 (const int) +0:49 Constant: +0:49 12 (const int) +0:37 Function Definition: main( (temp void) +0:37 Function Parameters: +0:? Sequence +0:37 move second child to first child (temp 4-component vector of int) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int) +0:37 Function Call: @main( (temp 4-component vector of int) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int) 0:? 'cia' (const int) 0:? -4 (const int) 0:? 'cib' (const int) 0:? -42 (const int) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar}) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int) Linked fragment stage: @@ -258,7 +261,7 @@ ERROR: node is still EOpNull! 0:33 Function Definition: fn3(i1; (temp void) 0:33 Function Parameters: 0:33 'p0' (in int) -0:37 Function Definition: main( (temp 4-component vector of int) +0:37 Function Definition: @main( (temp 4-component vector of int) 0:37 Function Parameters: 0:? Sequence 0:38 Sequence @@ -267,113 +270,116 @@ ERROR: node is still EOpNull! 0:38 Constant: 0:38 30 (const int) 0:38 31 (const int) -0:49 Sequence -0:49 move second child to first child (temp 4-component vector of int) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int) -0:48 add (temp 4-component vector of int) -0:47 add (temp 4-component vector of int) -0:45 add (temp 4-component vector of int) -0:44 add (temp 4-component vector of int) -0:43 add (temp 4-component vector of int) -0:42 add (temp 4-component vector of int) -0:41 add (temp 4-component vector of int) -0:40 add (temp 4-component vector of int) -0:40 Function Call: fn1(vi4; (temp 4-component vector of int) -0:40 Constant: -0:40 100 (const int) -0:40 100 (const int) -0:40 100 (const int) -0:40 100 (const int) -0:41 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) +0:49 Branch: Return with expression +0:48 add (temp 4-component vector of int) +0:47 add (temp 4-component vector of int) +0:45 add (temp 4-component vector of int) +0:44 add (temp 4-component vector of int) +0:43 add (temp 4-component vector of int) +0:42 add (temp 4-component vector of int) +0:41 add (temp 4-component vector of int) +0:40 add (temp 4-component vector of int) +0:40 Function Call: fn1(vi4; (temp 4-component vector of int) +0:40 Constant: +0:40 100 (const int) +0:40 100 (const int) +0:40 100 (const int) +0:40 100 (const int) +0:41 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) +0:41 Constant: +0:41 101 (const int) +0:41 101 (const int) +0:41 101 (const int) +0:41 101 (const int) +0:41 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int) +0:41 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar}) 0:41 Constant: -0:41 101 (const int) -0:41 101 (const int) -0:41 101 (const int) -0:41 101 (const int) -0:41 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int) -0:41 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar}) -0:41 Constant: -0:41 0 (const uint) -0:15 Constant: -0:15 1 (const int) -0:15 2 (const int) -0:16 Constant: -0:16 42 (const int) -0:42 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) -0:42 Constant: -0:42 102 (const int) -0:42 102 (const int) -0:42 102 (const int) -0:42 102 (const int) -0:42 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int) -0:42 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar}) -0:42 Constant: -0:42 0 (const uint) -0:42 'myarray' (temp 2-element array of int) +0:41 0 (const uint) +0:15 Constant: +0:15 1 (const int) +0:15 2 (const int) 0:16 Constant: 0:16 42 (const int) -0:43 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) +0:42 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) +0:42 Constant: +0:42 102 (const int) +0:42 102 (const int) +0:42 102 (const int) +0:42 102 (const int) +0:42 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int) +0:42 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar}) +0:42 Constant: +0:42 0 (const uint) +0:42 'myarray' (temp 2-element array of int) +0:16 Constant: +0:16 42 (const int) +0:43 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) +0:43 Constant: +0:43 103 (const int) +0:43 103 (const int) +0:43 103 (const int) +0:43 103 (const int) +0:43 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int) +0:43 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar}) 0:43 Constant: -0:43 103 (const int) -0:43 103 (const int) -0:43 103 (const int) -0:43 103 (const int) -0:43 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int) -0:43 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar}) -0:43 Constant: -0:43 0 (const uint) -0:43 'myarray' (temp 2-element array of int) -0:43 Constant: -0:43 99 (const int) -0:44 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int) -0:44 Constant: -0:44 104 (const int) -0:44 104 (const int) -0:44 104 (const int) -0:44 104 (const int) -0:44 Constant: -0:44 false (const bool) -0:9 Constant: -0:9 false (const bool) -0:45 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int) -0:45 Constant: -0:45 105 (const int) -0:45 105 (const int) -0:45 105 (const int) -0:45 105 (const int) -0:45 Constant: -0:45 false (const bool) -0:45 Constant: -0:45 true (const bool) -0:47 Function Call: fn2(vi4; (temp 4-component vector of int) -0:47 Constant: -0:47 112 (const int) -0:47 112 (const int) -0:47 112 (const int) -0:47 112 (const int) -0:48 Function Call: fn2(vi4;i1; (temp 4-component vector of int) -0:48 Constant: -0:48 110 (const int) -0:48 110 (const int) -0:48 110 (const int) -0:48 110 (const int) -0:48 Constant: -0:48 11 (const int) -0:49 Function Call: fn2(vi4;i1; (temp 4-component vector of int) -0:49 Constant: -0:49 111 (const int) -0:49 111 (const int) -0:49 111 (const int) -0:49 111 (const int) -0:49 Constant: -0:49 12 (const int) -0:49 Branch: Return +0:43 0 (const uint) +0:43 'myarray' (temp 2-element array of int) +0:43 Constant: +0:43 99 (const int) +0:44 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int) +0:44 Constant: +0:44 104 (const int) +0:44 104 (const int) +0:44 104 (const int) +0:44 104 (const int) +0:44 Constant: +0:44 false (const bool) +0:9 Constant: +0:9 false (const bool) +0:45 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int) +0:45 Constant: +0:45 105 (const int) +0:45 105 (const int) +0:45 105 (const int) +0:45 105 (const int) +0:45 Constant: +0:45 false (const bool) +0:45 Constant: +0:45 true (const bool) +0:47 Function Call: fn2(vi4; (temp 4-component vector of int) +0:47 Constant: +0:47 112 (const int) +0:47 112 (const int) +0:47 112 (const int) +0:47 112 (const int) +0:48 Function Call: fn2(vi4;i1; (temp 4-component vector of int) +0:48 Constant: +0:48 110 (const int) +0:48 110 (const int) +0:48 110 (const int) +0:48 110 (const int) +0:48 Constant: +0:48 11 (const int) +0:49 Function Call: fn2(vi4;i1; (temp 4-component vector of int) +0:49 Constant: +0:49 111 (const int) +0:49 111 (const int) +0:49 111 (const int) +0:49 111 (const int) +0:49 Constant: +0:49 12 (const int) +0:37 Function Definition: main( (temp void) +0:37 Function Parameters: +0:? Sequence +0:37 move second child to first child (temp 4-component vector of int) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int) +0:37 Function Call: @main( (temp 4-component vector of int) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int) 0:? 'cia' (const int) 0:? -4 (const int) 0:? 'cib' (const int) 0:? -42 (const int) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar}) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int) SPIR-V is not generated for failed compile or link diff --git a/Test/baseResults/hlsl.partialInit.frag.out b/Test/baseResults/hlsl.partialInit.frag.out index e0bda0e1..bd0de389 100755 --- a/Test/baseResults/hlsl.partialInit.frag.out +++ b/Test/baseResults/hlsl.partialInit.frag.out @@ -20,9 +20,9 @@ gl_FragCoord origin is upper left 0:9 0.000000 0:9 0.000000 0:9 0.000000 -0:18 Function Definition: PixelShaderFunction(vf4; (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:18 Function Definition: @PixelShaderFunction(vf4; (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) 0:18 Function Parameters: -0:18 'input' (layout(location=0 ) in 4-component vector of float) +0:18 'input' (in 4-component vector of float) 0:? Sequence 0:19 Sequence 0:19 move second child to first child (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) @@ -143,41 +143,51 @@ gl_FragCoord origin is upper left 0:30 1 (const int) 0:30 Convert int to float (temp float) 0:30 'cgi' (temp int) -0:32 Sequence -0:32 Sequence -0:32 move second child to first child (temp int) -0:? 'a' (layout(location=0 ) out int) -0:32 a: direct index for structure (temp int) -0:32 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) -0:32 Constant: -0:32 0 (const int) -0:32 move second child to first child (temp float) -0:? 'b' (layout(location=1 ) out float) -0:32 b: direct index for structure (temp float) -0:32 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) -0:32 Constant: -0:32 1 (const int) -0:32 move second child to first child (temp bool) -0:? 'c' (layout(location=2 ) out bool) -0:32 c: direct index for structure (temp bool) -0:32 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) -0:32 Constant: -0:32 2 (const int) -0:32 move second child to first child (temp 4-component vector of float) -0:? 'v' (layout(location=3 ) out 4-component vector of float) -0:32 v: direct index for structure (temp 4-component vector of float) -0:32 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) -0:32 Constant: -0:32 3 (const int) -0:32 Branch: Return +0:32 Branch: Return with expression +0:32 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:18 Function Definition: PixelShaderFunction( (temp void) +0:18 Function Parameters: +0:? Sequence +0:18 move second child to first child (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:18 Sequence +0:18 move second child to first child (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:18 'flattenTemp' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:18 Function Call: @PixelShaderFunction(vf4; (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:? 'input' (temp 4-component vector of float) +0:18 move second child to first child (temp int) +0:? 'a' (layout(location=0 ) out int) +0:18 a: direct index for structure (temp int) +0:18 'flattenTemp' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:18 Constant: +0:18 0 (const int) +0:18 move second child to first child (temp float) +0:? 'b' (layout(location=1 ) out float) +0:18 b: direct index for structure (temp float) +0:18 'flattenTemp' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:18 Constant: +0:18 1 (const int) +0:18 move second child to first child (temp bool) +0:? 'c' (layout(location=2 ) out bool) +0:18 c: direct index for structure (temp bool) +0:18 'flattenTemp' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:18 Constant: +0:18 2 (const int) +0:18 move second child to first child (temp 4-component vector of float) +0:? 'v' (layout(location=3 ) out 4-component vector of float) +0:18 v: direct index for structure (temp 4-component vector of float) +0:18 'flattenTemp' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:18 Constant: +0:18 3 (const int) 0:? Linker Objects +0:? 'gv' (global 4-component vector of float) +0:? 'gfa' (global 3-element array of float) 0:? 'a' (layout(location=0 ) out int) 0:? 'b' (layout(location=1 ) out float) 0:? 'c' (layout(location=2 ) out bool) 0:? 'v' (layout(location=3 ) out 4-component vector of float) 0:? 'input' (layout(location=0 ) in 4-component vector of float) -0:? 'gv' (global 4-component vector of float) -0:? 'gfa' (global 3-element array of float) 0:? 'cgf2a' (const 3-element array of 2-component vector of float) 0:? 0.000000 0:? 0.000000 @@ -210,9 +220,9 @@ gl_FragCoord origin is upper left 0:9 0.000000 0:9 0.000000 0:9 0.000000 -0:18 Function Definition: PixelShaderFunction(vf4; (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:18 Function Definition: @PixelShaderFunction(vf4; (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) 0:18 Function Parameters: -0:18 'input' (layout(location=0 ) in 4-component vector of float) +0:18 'input' (in 4-component vector of float) 0:? Sequence 0:19 Sequence 0:19 move second child to first child (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) @@ -333,41 +343,51 @@ gl_FragCoord origin is upper left 0:30 1 (const int) 0:30 Convert int to float (temp float) 0:30 'cgi' (temp int) -0:32 Sequence -0:32 Sequence -0:32 move second child to first child (temp int) -0:? 'a' (layout(location=0 ) out int) -0:32 a: direct index for structure (temp int) -0:32 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) -0:32 Constant: -0:32 0 (const int) -0:32 move second child to first child (temp float) -0:? 'b' (layout(location=1 ) out float) -0:32 b: direct index for structure (temp float) -0:32 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) -0:32 Constant: -0:32 1 (const int) -0:32 move second child to first child (temp bool) -0:? 'c' (layout(location=2 ) out bool) -0:32 c: direct index for structure (temp bool) -0:32 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) -0:32 Constant: -0:32 2 (const int) -0:32 move second child to first child (temp 4-component vector of float) -0:? 'v' (layout(location=3 ) out 4-component vector of float) -0:32 v: direct index for structure (temp 4-component vector of float) -0:32 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) -0:32 Constant: -0:32 3 (const int) -0:32 Branch: Return +0:32 Branch: Return with expression +0:32 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:18 Function Definition: PixelShaderFunction( (temp void) +0:18 Function Parameters: +0:? Sequence +0:18 move second child to first child (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:18 Sequence +0:18 move second child to first child (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:18 'flattenTemp' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:18 Function Call: @PixelShaderFunction(vf4; (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:? 'input' (temp 4-component vector of float) +0:18 move second child to first child (temp int) +0:? 'a' (layout(location=0 ) out int) +0:18 a: direct index for structure (temp int) +0:18 'flattenTemp' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:18 Constant: +0:18 0 (const int) +0:18 move second child to first child (temp float) +0:? 'b' (layout(location=1 ) out float) +0:18 b: direct index for structure (temp float) +0:18 'flattenTemp' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:18 Constant: +0:18 1 (const int) +0:18 move second child to first child (temp bool) +0:? 'c' (layout(location=2 ) out bool) +0:18 c: direct index for structure (temp bool) +0:18 'flattenTemp' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:18 Constant: +0:18 2 (const int) +0:18 move second child to first child (temp 4-component vector of float) +0:? 'v' (layout(location=3 ) out 4-component vector of float) +0:18 v: direct index for structure (temp 4-component vector of float) +0:18 'flattenTemp' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:18 Constant: +0:18 3 (const int) 0:? Linker Objects +0:? 'gv' (global 4-component vector of float) +0:? 'gfa' (global 3-element array of float) 0:? 'a' (layout(location=0 ) out int) 0:? 'b' (layout(location=1 ) out float) 0:? 'c' (layout(location=2 ) out bool) 0:? 'v' (layout(location=3 ) out 4-component vector of float) 0:? 'input' (layout(location=0 ) in 4-component vector of float) -0:? 'gv' (global 4-component vector of float) -0:? 'gfa' (global 3-element array of float) 0:? 'cgf2a' (const 3-element array of 2-component vector of float) 0:? 0.000000 0:? 0.000000 @@ -380,146 +400,167 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 92 +// Id's are bound by 104 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 72 76 80 84 89 + EntryPoint Fragment 4 "PixelShaderFunction" 80 87 91 95 99 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 9 "gv" - Name 17 "gfa" - Name 21 "outs" - MemberName 21(outs) 0 "a" - MemberName 21(outs) 1 "b" - MemberName 21(outs) 2 "c" - MemberName 21(outs) 3 "v" - Name 23 "o2" - Name 28 "o4" - Name 37 "o1" - Name 40 "o3" - Name 47 "Nest" - MemberName 47(Nest) 0 "m" - MemberName 47(Nest) 1 "os" - MemberName 47(Nest) 2 "b" - Name 49 "nest" - Name 57 "gf2a" - Name 61 "cgi" - Name 72 "a" - Name 76 "b" - Name 80 "c" - Name 84 "v" - Name 89 "input" - Decorate 72(a) Location 0 - Decorate 76(b) Location 1 - Decorate 80(c) Location 2 - Decorate 84(v) Location 3 - Decorate 89(input) Location 0 + Name 11 "outs" + MemberName 11(outs) 0 "a" + MemberName 11(outs) 1 "b" + MemberName 11(outs) 2 "c" + MemberName 11(outs) 3 "v" + Name 14 "@PixelShaderFunction(vf4;" + Name 13 "input" + Name 17 "gv" + Name 25 "gfa" + Name 28 "o2" + Name 33 "o4" + Name 41 "o1" + Name 44 "o3" + Name 51 "Nest" + MemberName 51(Nest) 0 "m" + MemberName 51(Nest) 1 "os" + MemberName 51(Nest) 2 "b" + Name 53 "nest" + Name 61 "gf2a" + Name 65 "cgi" + Name 78 "input" + Name 80 "input" + Name 82 "flattenTemp" + Name 83 "param" + Name 87 "a" + Name 91 "b" + Name 95 "c" + Name 99 "v" + Decorate 80(input) Location 0 + Decorate 87(a) Location 0 + Decorate 91(b) Location 1 + Decorate 95(c) Location 2 + Decorate 99(v) Location 3 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Private 7(fvec4) - 9(gv): 8(ptr) Variable Private - 10: 6(float) Constant 0 - 11: 6(float) Constant 1065353216 - 12: 7(fvec4) ConstantComposite 10 10 11 10 - 13: TypeInt 32 0 - 14: 13(int) Constant 3 - 15: TypeArray 6(float) 14 - 16: TypePointer Private 15 - 17(gfa): 16(ptr) Variable Private - 18: 15 ConstantComposite 10 10 10 - 19: TypeInt 32 1 - 20: TypeBool - 21(outs): TypeStruct 19(int) 6(float) 20(bool) 7(fvec4) - 22: TypePointer Function 21(outs) - 24: 19(int) Constant 3 - 25: 20(bool) ConstantFalse - 26: 7(fvec4) ConstantComposite 10 10 10 10 - 27: 21(outs) ConstantComposite 24 10 25 26 - 30: 19(int) Constant 2 - 31: TypePointer Private 6(float) - 35: TypePointer Function 7(fvec4) - 38: 19(int) Constant 0 - 39: 21(outs) ConstantComposite 38 10 25 26 - 41: TypePointer Function 20(bool) - 45: TypeVector 6(float) 3 - 46: TypeMatrix 45(fvec3) 4 - 47(Nest): TypeStruct 46 21(outs) 20(bool) - 48: TypePointer Function 47(Nest) - 50: 45(fvec3) ConstantComposite 10 10 10 - 51: 46 ConstantComposite 50 50 50 50 - 52: 47(Nest) ConstantComposite 51 39 25 - 53: TypeVector 6(float) 2 - 54: 13(int) Constant 4 - 55: TypeArray 53(fvec2) 54 - 56: TypePointer Function 55 - 58: 53(fvec2) ConstantComposite 10 10 - 59: 55 ConstantComposite 58 58 58 58 - 60: TypePointer Function 19(int) - 62: 19(int) Constant 1 - 63: 13(int) Constant 1 - 64: TypePointer Function 6(float) - 71: TypePointer Output 19(int) - 72(a): 71(ptr) Variable Output - 75: TypePointer Output 6(float) - 76(b): 75(ptr) Variable Output - 79: TypePointer Output 20(bool) - 80(c): 79(ptr) Variable Output - 83: TypePointer Output 7(fvec4) - 84(v): 83(ptr) Variable Output - 88: TypePointer Input 7(fvec4) - 89(input): 88(ptr) Variable Input - 90: TypeArray 53(fvec2) 14 - 91: 90 ConstantComposite 58 58 58 + 8: TypePointer Function 7(fvec4) + 9: TypeInt 32 1 + 10: TypeBool + 11(outs): TypeStruct 9(int) 6(float) 10(bool) 7(fvec4) + 12: TypeFunction 11(outs) 8(ptr) + 16: TypePointer Private 7(fvec4) + 17(gv): 16(ptr) Variable Private + 18: 6(float) Constant 0 + 19: 6(float) Constant 1065353216 + 20: 7(fvec4) ConstantComposite 18 18 19 18 + 21: TypeInt 32 0 + 22: 21(int) Constant 3 + 23: TypeArray 6(float) 22 + 24: TypePointer Private 23 + 25(gfa): 24(ptr) Variable Private + 26: 23 ConstantComposite 18 18 18 + 27: TypePointer Function 11(outs) + 29: 9(int) Constant 3 + 30: 10(bool) ConstantFalse + 31: 7(fvec4) ConstantComposite 18 18 18 18 + 32: 11(outs) ConstantComposite 29 18 30 31 + 35: 9(int) Constant 2 + 36: TypePointer Private 6(float) + 42: 9(int) Constant 0 + 43: 11(outs) ConstantComposite 42 18 30 31 + 45: TypePointer Function 10(bool) + 49: TypeVector 6(float) 3 + 50: TypeMatrix 49(fvec3) 4 + 51(Nest): TypeStruct 50 11(outs) 10(bool) + 52: TypePointer Function 51(Nest) + 54: 49(fvec3) ConstantComposite 18 18 18 + 55: 50 ConstantComposite 54 54 54 54 + 56: 51(Nest) ConstantComposite 55 43 30 + 57: TypeVector 6(float) 2 + 58: 21(int) Constant 4 + 59: TypeArray 57(fvec2) 58 + 60: TypePointer Function 59 + 62: 57(fvec2) ConstantComposite 18 18 + 63: 59 ConstantComposite 62 62 62 62 + 64: TypePointer Function 9(int) + 66: 9(int) Constant 1 + 67: 21(int) Constant 1 + 68: TypePointer Function 6(float) + 79: TypePointer Input 7(fvec4) + 80(input): 79(ptr) Variable Input + 86: TypePointer Output 9(int) + 87(a): 86(ptr) Variable Output + 90: TypePointer Output 6(float) + 91(b): 90(ptr) Variable Output + 94: TypePointer Output 10(bool) + 95(c): 94(ptr) Variable Output + 98: TypePointer Output 7(fvec4) + 99(v): 98(ptr) Variable Output + 102: TypeArray 57(fvec2) 22 + 103: 102 ConstantComposite 62 62 62 4(PixelShaderFunction): 2 Function None 3 5: Label - 23(o2): 22(ptr) Variable Function - 28(o4): 22(ptr) Variable Function - 37(o1): 22(ptr) Variable Function - 40(o3): 22(ptr) Variable Function - 49(nest): 48(ptr) Variable Function - 57(gf2a): 56(ptr) Variable Function - 61(cgi): 60(ptr) Variable Function - Store 9(gv) 12 - Store 17(gfa) 18 - Store 23(o2) 27 - 29: 7(fvec4) Load 9(gv) - 32: 31(ptr) AccessChain 17(gfa) 30 - 33: 6(float) Load 32 - 34: 7(fvec4) VectorTimesScalar 29 33 - 36: 35(ptr) AccessChain 28(o4) 24 - Store 36 34 - Store 37(o1) 39 - Store 40(o3) 39 - Store 28(o4) 39 - 42: 41(ptr) AccessChain 37(o1) 30 - 43: 20(bool) Load 42 - 44: 41(ptr) AccessChain 28(o4) 30 - Store 44 43 - Store 49(nest) 52 - Store 57(gf2a) 59 - Store 61(cgi) 38 - 65: 64(ptr) AccessChain 57(gf2a) 30 63 - 66: 6(float) Load 65 - 67: 19(int) Load 61(cgi) - 68: 6(float) ConvertSToF 67 - 69: 6(float) FMul 66 68 - 70: 64(ptr) AccessChain 28(o4) 62 - Store 70 69 - 73: 60(ptr) AccessChain 28(o4) 38 - 74: 19(int) Load 73 - Store 72(a) 74 - 77: 64(ptr) AccessChain 28(o4) 62 - 78: 6(float) Load 77 - Store 76(b) 78 - 81: 41(ptr) AccessChain 28(o4) 30 - 82: 20(bool) Load 81 - Store 80(c) 82 - 85: 35(ptr) AccessChain 28(o4) 24 - 86: 7(fvec4) Load 85 - Store 84(v) 86 + 78(input): 8(ptr) Variable Function + 82(flattenTemp): 27(ptr) Variable Function + 83(param): 8(ptr) Variable Function + Store 17(gv) 20 + Store 25(gfa) 26 + 81: 7(fvec4) Load 80(input) + Store 78(input) 81 + 84: 7(fvec4) Load 78(input) + Store 83(param) 84 + 85: 11(outs) FunctionCall 14(@PixelShaderFunction(vf4;) 83(param) + Store 82(flattenTemp) 85 + 88: 64(ptr) AccessChain 82(flattenTemp) 42 + 89: 9(int) Load 88 + Store 87(a) 89 + 92: 68(ptr) AccessChain 82(flattenTemp) 66 + 93: 6(float) Load 92 + Store 91(b) 93 + 96: 45(ptr) AccessChain 82(flattenTemp) 35 + 97: 10(bool) Load 96 + Store 95(c) 97 + 100: 8(ptr) AccessChain 82(flattenTemp) 29 + 101: 7(fvec4) Load 100 + Store 99(v) 101 Return FunctionEnd +14(@PixelShaderFunction(vf4;): 11(outs) Function None 12 + 13(input): 8(ptr) FunctionParameter + 15: Label + 28(o2): 27(ptr) Variable Function + 33(o4): 27(ptr) Variable Function + 41(o1): 27(ptr) Variable Function + 44(o3): 27(ptr) Variable Function + 53(nest): 52(ptr) Variable Function + 61(gf2a): 60(ptr) Variable Function + 65(cgi): 64(ptr) Variable Function + Store 28(o2) 32 + 34: 7(fvec4) Load 17(gv) + 37: 36(ptr) AccessChain 25(gfa) 35 + 38: 6(float) Load 37 + 39: 7(fvec4) VectorTimesScalar 34 38 + 40: 8(ptr) AccessChain 33(o4) 29 + Store 40 39 + Store 41(o1) 43 + Store 44(o3) 43 + Store 33(o4) 43 + 46: 45(ptr) AccessChain 41(o1) 35 + 47: 10(bool) Load 46 + 48: 45(ptr) AccessChain 33(o4) 35 + Store 48 47 + Store 53(nest) 56 + Store 61(gf2a) 63 + Store 65(cgi) 42 + 69: 68(ptr) AccessChain 61(gf2a) 35 67 + 70: 6(float) Load 69 + 71: 9(int) Load 65(cgi) + 72: 6(float) ConvertSToF 71 + 73: 6(float) FMul 70 72 + 74: 68(ptr) AccessChain 33(o4) 66 + Store 74 73 + 75: 11(outs) Load 33(o4) + ReturnValue 75 + FunctionEnd diff --git a/Test/baseResults/hlsl.pp.line.frag.out b/Test/baseResults/hlsl.pp.line.frag.out index 6bbbee64..ecdc73b5 100644 --- a/Test/baseResults/hlsl.pp.line.frag.out +++ b/Test/baseResults/hlsl.pp.line.frag.out @@ -2,7 +2,7 @@ hlsl.pp.line.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:4 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:4 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:4 Function Parameters: 0:? Sequence 0:124 Sequence @@ -31,21 +31,27 @@ gl_FragCoord origin is upper left 0:127 1 (const int) 0:127 Constant: 0:127 1.000000 -0:129 Sequence -0:129 Sequence -0:129 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:129 Color: direct index for structure (temp 4-component vector of float) -0:129 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:129 Constant: -0:129 0 (const int) -0:129 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:129 Depth: direct index for structure (temp float) -0:129 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:129 Constant: -0:129 1 (const int) -0:129 Branch: Return +0:129 Branch: Return with expression +0:129 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:4 Function Definition: main( (temp void) +0:4 Function Parameters: +0:? Sequence +0:4 Sequence +0:4 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:4 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:4 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:4 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:4 Color: direct index for structure (temp 4-component vector of float) +0:4 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:4 Constant: +0:4 0 (const int) +0:4 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:4 Depth: direct index for structure (temp float) +0:4 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:4 Constant: +0:4 1 (const int) 0:? Linker Objects 0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'Depth' (out float FragDepth) @@ -57,7 +63,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:4 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:4 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:4 Function Parameters: 0:? Sequence 0:124 Sequence @@ -86,80 +92,97 @@ gl_FragCoord origin is upper left 0:127 1 (const int) 0:127 Constant: 0:127 1.000000 -0:129 Sequence -0:129 Sequence -0:129 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:129 Color: direct index for structure (temp 4-component vector of float) -0:129 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:129 Constant: -0:129 0 (const int) -0:129 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:129 Depth: direct index for structure (temp float) -0:129 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:129 Constant: -0:129 1 (const int) -0:129 Branch: Return +0:129 Branch: Return with expression +0:129 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:4 Function Definition: main( (temp void) +0:4 Function Parameters: +0:? Sequence +0:4 Sequence +0:4 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:4 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:4 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:4 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:4 Color: direct index for structure (temp 4-component vector of float) +0:4 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:4 Constant: +0:4 0 (const int) +0:4 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:4 Depth: direct index for structure (temp float) +0:4 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:4 Constant: +0:4 1 (const int) 0:? Linker Objects 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 35 +// Id's are bound by 42 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 27 31 + EntryPoint Fragment 4 "main" 35 39 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "thisLineIs" - Name 12 "PS_OUTPUT" - MemberName 12(PS_OUTPUT) 0 "Color" - MemberName 12(PS_OUTPUT) 1 "Depth" - Name 14 "psout" - Name 27 "Color" - Name 31 "Depth" - Decorate 27(Color) Location 0 - Decorate 31(Depth) BuiltIn FragDepth + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 14 "thisLineIs" + Name 17 "psout" + Name 32 "flattenTemp" + Name 35 "Color" + Name 39 "Depth" + Decorate 35(Color) Location 0 + Decorate 39(Depth) BuiltIn FragDepth 2: TypeVoid 3: TypeFunction 2 - 6: TypeInt 32 1 - 7: TypePointer Function 6(int) - 9: 6(int) Constant 124 - 10: TypeFloat 32 - 11: TypeVector 10(float) 4 - 12(PS_OUTPUT): TypeStruct 11(fvec4) 10(float) - 13: TypePointer Function 12(PS_OUTPUT) - 15: 6(int) Constant 0 - 18: 10(float) Constant 0 - 19: 10(float) Constant 1065353216 - 21: TypePointer Function 11(fvec4) - 23: 6(int) Constant 1 - 24: TypePointer Function 10(float) - 26: TypePointer Output 11(fvec4) - 27(Color): 26(ptr) Variable Output - 30: TypePointer Output 10(float) - 31(Depth): 30(ptr) Variable Output + 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: TypePointer Function 12(int) + 15: 12(int) Constant 124 + 16: TypePointer Function 8(PS_OUTPUT) + 18: 12(int) Constant 0 + 21: 6(float) Constant 0 + 22: 6(float) Constant 1065353216 + 24: TypePointer Function 7(fvec4) + 26: 12(int) Constant 1 + 27: TypePointer Function 6(float) + 34: TypePointer Output 7(fvec4) + 35(Color): 34(ptr) Variable Output + 38: TypePointer Output 6(float) + 39(Depth): 38(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 8(thisLineIs): 7(ptr) Variable Function - 14(psout): 13(ptr) Variable Function - Store 8(thisLineIs) 9 - 16: 6(int) Load 8(thisLineIs) - 17: 10(float) ConvertSToF 16 - 20: 11(fvec4) CompositeConstruct 17 18 18 19 - 22: 21(ptr) AccessChain 14(psout) 15 - Store 22 20 - 25: 24(ptr) AccessChain 14(psout) 23 - Store 25 19 - 28: 21(ptr) AccessChain 14(psout) 15 - 29: 11(fvec4) Load 28 - Store 27(Color) 29 - 32: 24(ptr) AccessChain 14(psout) 23 - 33: 10(float) Load 32 - Store 31(Depth) 33 + 32(flattenTemp): 16(ptr) Variable Function + 33:8(PS_OUTPUT) FunctionCall 10(@main() + Store 32(flattenTemp) 33 + 36: 24(ptr) AccessChain 32(flattenTemp) 18 + 37: 7(fvec4) Load 36 + Store 35(Color) 37 + 40: 27(ptr) AccessChain 32(flattenTemp) 26 + 41: 6(float) Load 40 + Store 39(Depth) 41 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 14(thisLineIs): 13(ptr) Variable Function + 17(psout): 16(ptr) Variable Function + Store 14(thisLineIs) 15 + 19: 12(int) Load 14(thisLineIs) + 20: 6(float) ConvertSToF 19 + 23: 7(fvec4) CompositeConstruct 20 21 21 22 + 25: 24(ptr) AccessChain 17(psout) 18 + Store 25 23 + 28: 27(ptr) AccessChain 17(psout) 26 + Store 28 22 + 29:8(PS_OUTPUT) Load 17(psout) + ReturnValue 29 + FunctionEnd diff --git a/Test/baseResults/hlsl.precedence.frag.out b/Test/baseResults/hlsl.precedence.frag.out index 1e18a405..bc4ff2be 100755 --- a/Test/baseResults/hlsl.precedence.frag.out +++ b/Test/baseResults/hlsl.precedence.frag.out @@ -2,49 +2,68 @@ hlsl.precedence.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:7 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vf4; (temp 4-component vector of float) +0:7 Function Definition: @PixelShaderFunction(vf4;vf4;vf4;vf4; (temp 4-component vector of float) 0:7 Function Parameters: -0:7 'a1' (layout(location=0 ) in 4-component vector of float) -0:7 'a2' (layout(location=1 ) in 4-component vector of float) -0:7 'a3' (layout(location=2 ) in 4-component vector of float) -0:7 'a4' (layout(location=3 ) in 4-component vector of float) +0:7 'a1' (in 4-component vector of float) +0:7 'a2' (in 4-component vector of float) +0:7 'a3' (in 4-component vector of float) +0:7 'a4' (in 4-component vector of float) 0:? Sequence -0:8 Sequence -0:8 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:8 Branch: Return with expression +0:8 add (temp 4-component vector of float) 0:8 add (temp 4-component vector of float) 0:8 add (temp 4-component vector of float) -0:8 add (temp 4-component vector of float) -0:8 'a1' (layout(location=0 ) in 4-component vector of float) -0:8 component-wise multiply (temp 4-component vector of float) -0:8 'a2' (layout(location=1 ) in 4-component vector of float) -0:8 'a3' (layout(location=2 ) in 4-component vector of float) -0:8 'a4' (layout(location=3 ) in 4-component vector of float) -0:? Construct vec4 (temp 4-component vector of float) -0:8 component-wise multiply (temp 3-component vector of float) -0:8 vector swizzle (temp 3-component vector of float) -0:8 'a1' (layout(location=0 ) in 4-component vector of float) -0:8 Sequence -0:8 Constant: -0:8 0 (const int) -0:8 Constant: -0:8 1 (const int) -0:8 Constant: -0:8 2 (const int) -0:8 vector swizzle (temp 3-component vector of float) -0:8 'a2' (layout(location=1 ) in 4-component vector of float) -0:8 Sequence -0:8 Constant: -0:8 0 (const int) -0:8 Constant: -0:8 1 (const int) -0:8 Constant: -0:8 2 (const int) -0:8 direct index (temp float) -0:8 'a3' (layout(location=2 ) in 4-component vector of float) -0:8 Constant: -0:8 3 (const int) -0:8 Branch: Return +0:8 'a1' (in 4-component vector of float) +0:8 component-wise multiply (temp 4-component vector of float) +0:8 'a2' (in 4-component vector of float) +0:8 'a3' (in 4-component vector of float) +0:8 'a4' (in 4-component vector of float) +0:? Construct vec4 (temp 4-component vector of float) +0:8 component-wise multiply (temp 3-component vector of float) +0:8 vector swizzle (temp 3-component vector of float) +0:8 'a1' (in 4-component vector of float) +0:8 Sequence +0:8 Constant: +0:8 0 (const int) +0:8 Constant: +0:8 1 (const int) +0:8 Constant: +0:8 2 (const int) +0:8 vector swizzle (temp 3-component vector of float) +0:8 'a2' (in 4-component vector of float) +0:8 Sequence +0:8 Constant: +0:8 0 (const int) +0:8 Constant: +0:8 1 (const int) +0:8 Constant: +0:8 2 (const int) +0:8 direct index (temp float) +0:8 'a3' (in 4-component vector of float) +0:8 Constant: +0:8 3 (const int) +0:7 Function Definition: PixelShaderFunction( (temp void) +0:7 Function Parameters: +0:? Sequence +0:7 move second child to first child (temp 4-component vector of float) +0:? 'a1' (temp 4-component vector of float) +0:? 'a1' (layout(location=0 ) in 4-component vector of float) +0:7 move second child to first child (temp 4-component vector of float) +0:? 'a2' (temp 4-component vector of float) +0:? 'a2' (layout(location=1 ) in 4-component vector of float) +0:7 move second child to first child (temp 4-component vector of float) +0:? 'a3' (temp 4-component vector of float) +0:? 'a3' (layout(location=2 ) in 4-component vector of float) +0:7 move second child to first child (temp 4-component vector of float) +0:? 'a4' (temp 4-component vector of float) +0:? 'a4' (layout(location=3 ) in 4-component vector of float) +0:7 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:7 Function Call: @PixelShaderFunction(vf4;vf4;vf4;vf4; (temp 4-component vector of float) +0:? 'a1' (temp 4-component vector of float) +0:? 'a2' (temp 4-component vector of float) +0:? 'a3' (temp 4-component vector of float) +0:? 'a4' (temp 4-component vector of float) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 'a1' (layout(location=0 ) in 4-component vector of float) @@ -59,49 +78,68 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:7 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vf4; (temp 4-component vector of float) +0:7 Function Definition: @PixelShaderFunction(vf4;vf4;vf4;vf4; (temp 4-component vector of float) 0:7 Function Parameters: -0:7 'a1' (layout(location=0 ) in 4-component vector of float) -0:7 'a2' (layout(location=1 ) in 4-component vector of float) -0:7 'a3' (layout(location=2 ) in 4-component vector of float) -0:7 'a4' (layout(location=3 ) in 4-component vector of float) +0:7 'a1' (in 4-component vector of float) +0:7 'a2' (in 4-component vector of float) +0:7 'a3' (in 4-component vector of float) +0:7 'a4' (in 4-component vector of float) 0:? Sequence -0:8 Sequence -0:8 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:8 Branch: Return with expression +0:8 add (temp 4-component vector of float) 0:8 add (temp 4-component vector of float) 0:8 add (temp 4-component vector of float) -0:8 add (temp 4-component vector of float) -0:8 'a1' (layout(location=0 ) in 4-component vector of float) -0:8 component-wise multiply (temp 4-component vector of float) -0:8 'a2' (layout(location=1 ) in 4-component vector of float) -0:8 'a3' (layout(location=2 ) in 4-component vector of float) -0:8 'a4' (layout(location=3 ) in 4-component vector of float) -0:? Construct vec4 (temp 4-component vector of float) -0:8 component-wise multiply (temp 3-component vector of float) -0:8 vector swizzle (temp 3-component vector of float) -0:8 'a1' (layout(location=0 ) in 4-component vector of float) -0:8 Sequence -0:8 Constant: -0:8 0 (const int) -0:8 Constant: -0:8 1 (const int) -0:8 Constant: -0:8 2 (const int) -0:8 vector swizzle (temp 3-component vector of float) -0:8 'a2' (layout(location=1 ) in 4-component vector of float) -0:8 Sequence -0:8 Constant: -0:8 0 (const int) -0:8 Constant: -0:8 1 (const int) -0:8 Constant: -0:8 2 (const int) -0:8 direct index (temp float) -0:8 'a3' (layout(location=2 ) in 4-component vector of float) -0:8 Constant: -0:8 3 (const int) -0:8 Branch: Return +0:8 'a1' (in 4-component vector of float) +0:8 component-wise multiply (temp 4-component vector of float) +0:8 'a2' (in 4-component vector of float) +0:8 'a3' (in 4-component vector of float) +0:8 'a4' (in 4-component vector of float) +0:? Construct vec4 (temp 4-component vector of float) +0:8 component-wise multiply (temp 3-component vector of float) +0:8 vector swizzle (temp 3-component vector of float) +0:8 'a1' (in 4-component vector of float) +0:8 Sequence +0:8 Constant: +0:8 0 (const int) +0:8 Constant: +0:8 1 (const int) +0:8 Constant: +0:8 2 (const int) +0:8 vector swizzle (temp 3-component vector of float) +0:8 'a2' (in 4-component vector of float) +0:8 Sequence +0:8 Constant: +0:8 0 (const int) +0:8 Constant: +0:8 1 (const int) +0:8 Constant: +0:8 2 (const int) +0:8 direct index (temp float) +0:8 'a3' (in 4-component vector of float) +0:8 Constant: +0:8 3 (const int) +0:7 Function Definition: PixelShaderFunction( (temp void) +0:7 Function Parameters: +0:? Sequence +0:7 move second child to first child (temp 4-component vector of float) +0:? 'a1' (temp 4-component vector of float) +0:? 'a1' (layout(location=0 ) in 4-component vector of float) +0:7 move second child to first child (temp 4-component vector of float) +0:? 'a2' (temp 4-component vector of float) +0:? 'a2' (layout(location=1 ) in 4-component vector of float) +0:7 move second child to first child (temp 4-component vector of float) +0:? 'a3' (temp 4-component vector of float) +0:? 'a3' (layout(location=2 ) in 4-component vector of float) +0:7 move second child to first child (temp 4-component vector of float) +0:? 'a4' (temp 4-component vector of float) +0:? 'a4' (layout(location=3 ) in 4-component vector of float) +0:7 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:7 Function Call: @PixelShaderFunction(vf4;vf4;vf4;vf4; (temp 4-component vector of float) +0:? 'a1' (temp 4-component vector of float) +0:? 'a2' (temp 4-component vector of float) +0:? 'a3' (temp 4-component vector of float) +0:? 'a4' (temp 4-component vector of float) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 'a1' (layout(location=0 ) in 4-component vector of float) @@ -111,60 +149,108 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 39 +// Id's are bound by 65 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 9 11 13 15 19 + EntryPoint Fragment 4 "PixelShaderFunction" 43 46 49 52 55 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 9 "@entryPointOutput" - Name 11 "a1" - Name 13 "a2" - Name 15 "a3" - Name 19 "a4" - Decorate 9(@entryPointOutput) Location 0 - Decorate 11(a1) Location 0 - Decorate 13(a2) Location 1 - Decorate 15(a3) Location 2 - Decorate 19(a4) Location 3 + Name 14 "@PixelShaderFunction(vf4;vf4;vf4;vf4;" + Name 10 "a1" + Name 11 "a2" + Name 12 "a3" + Name 13 "a4" + Name 41 "a1" + Name 43 "a1" + Name 45 "a2" + Name 46 "a2" + Name 48 "a3" + Name 49 "a3" + Name 51 "a4" + Name 52 "a4" + Name 55 "@entryPointOutput" + Name 56 "param" + Name 58 "param" + Name 60 "param" + Name 62 "param" + Decorate 43(a1) Location 0 + Decorate 46(a2) Location 1 + Decorate 49(a3) Location 2 + Decorate 52(a4) Location 3 + Decorate 55(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Output 7(fvec4) -9(@entryPointOutput): 8(ptr) Variable Output - 10: TypePointer Input 7(fvec4) - 11(a1): 10(ptr) Variable Input - 13(a2): 10(ptr) Variable Input - 15(a3): 10(ptr) Variable Input - 19(a4): 10(ptr) Variable Input - 22: TypeVector 6(float) 3 - 28: TypeInt 32 0 - 29: 28(int) Constant 3 - 30: TypePointer Input 6(float) + 8: TypePointer Function 7(fvec4) + 9: TypeFunction 7(fvec4) 8(ptr) 8(ptr) 8(ptr) 8(ptr) + 23: TypeVector 6(float) 3 + 29: TypeInt 32 0 + 30: 29(int) Constant 3 + 31: TypePointer Function 6(float) + 42: TypePointer Input 7(fvec4) + 43(a1): 42(ptr) Variable Input + 46(a2): 42(ptr) Variable Input + 49(a3): 42(ptr) Variable Input + 52(a4): 42(ptr) Variable Input + 54: TypePointer Output 7(fvec4) +55(@entryPointOutput): 54(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label - 12: 7(fvec4) Load 11(a1) - 14: 7(fvec4) Load 13(a2) - 16: 7(fvec4) Load 15(a3) - 17: 7(fvec4) FMul 14 16 - 18: 7(fvec4) FAdd 12 17 - 20: 7(fvec4) Load 19(a4) - 21: 7(fvec4) FAdd 18 20 - 23: 7(fvec4) Load 11(a1) - 24: 22(fvec3) VectorShuffle 23 23 0 1 2 - 25: 7(fvec4) Load 13(a2) - 26: 22(fvec3) VectorShuffle 25 25 0 1 2 - 27: 22(fvec3) FMul 24 26 - 31: 30(ptr) AccessChain 15(a3) 29 - 32: 6(float) Load 31 - 33: 6(float) CompositeExtract 27 0 - 34: 6(float) CompositeExtract 27 1 - 35: 6(float) CompositeExtract 27 2 - 36: 7(fvec4) CompositeConstruct 33 34 35 32 - 37: 7(fvec4) FAdd 21 36 - Store 9(@entryPointOutput) 37 + 41(a1): 8(ptr) Variable Function + 45(a2): 8(ptr) Variable Function + 48(a3): 8(ptr) Variable Function + 51(a4): 8(ptr) Variable Function + 56(param): 8(ptr) Variable Function + 58(param): 8(ptr) Variable Function + 60(param): 8(ptr) Variable Function + 62(param): 8(ptr) Variable Function + 44: 7(fvec4) Load 43(a1) + Store 41(a1) 44 + 47: 7(fvec4) Load 46(a2) + Store 45(a2) 47 + 50: 7(fvec4) Load 49(a3) + Store 48(a3) 50 + 53: 7(fvec4) Load 52(a4) + Store 51(a4) 53 + 57: 7(fvec4) Load 41(a1) + Store 56(param) 57 + 59: 7(fvec4) Load 45(a2) + Store 58(param) 59 + 61: 7(fvec4) Load 48(a3) + Store 60(param) 61 + 63: 7(fvec4) Load 51(a4) + Store 62(param) 63 + 64: 7(fvec4) FunctionCall 14(@PixelShaderFunction(vf4;vf4;vf4;vf4;) 56(param) 58(param) 60(param) 62(param) + Store 55(@entryPointOutput) 64 Return FunctionEnd +14(@PixelShaderFunction(vf4;vf4;vf4;vf4;): 7(fvec4) Function None 9 + 10(a1): 8(ptr) FunctionParameter + 11(a2): 8(ptr) FunctionParameter + 12(a3): 8(ptr) FunctionParameter + 13(a4): 8(ptr) FunctionParameter + 15: Label + 16: 7(fvec4) Load 10(a1) + 17: 7(fvec4) Load 11(a2) + 18: 7(fvec4) Load 12(a3) + 19: 7(fvec4) FMul 17 18 + 20: 7(fvec4) FAdd 16 19 + 21: 7(fvec4) Load 13(a4) + 22: 7(fvec4) FAdd 20 21 + 24: 7(fvec4) Load 10(a1) + 25: 23(fvec3) VectorShuffle 24 24 0 1 2 + 26: 7(fvec4) Load 11(a2) + 27: 23(fvec3) VectorShuffle 26 26 0 1 2 + 28: 23(fvec3) FMul 25 27 + 32: 31(ptr) AccessChain 12(a3) 30 + 33: 6(float) Load 32 + 34: 6(float) CompositeExtract 28 0 + 35: 6(float) CompositeExtract 28 1 + 36: 6(float) CompositeExtract 28 2 + 37: 7(fvec4) CompositeConstruct 34 35 36 33 + 38: 7(fvec4) FAdd 22 37 + ReturnValue 38 + FunctionEnd diff --git a/Test/baseResults/hlsl.precedence2.frag.out b/Test/baseResults/hlsl.precedence2.frag.out index 64cce2c7..04ff0e5a 100755 --- a/Test/baseResults/hlsl.precedence2.frag.out +++ b/Test/baseResults/hlsl.precedence2.frag.out @@ -2,32 +2,51 @@ hlsl.precedence2.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:7 Function Definition: PixelShaderFunction(i1;i1;i1;i1; (temp int) +0:7 Function Definition: @PixelShaderFunction(i1;i1;i1;i1; (temp int) 0:7 Function Parameters: -0:7 'a1' (layout(location=0 ) in int) -0:7 'a2' (layout(location=1 ) in int) -0:7 'a3' (layout(location=2 ) in int) -0:7 'a4' (layout(location=3 ) in int) +0:7 'a1' (in int) +0:7 'a2' (in int) +0:7 'a3' (in int) +0:7 'a4' (in int) 0:? Sequence -0:8 Sequence -0:8 move second child to first child (temp int) -0:? '@entryPointOutput' (layout(location=0 ) out int) -0:8 add (temp int) -0:8 left-shift (temp int) -0:8 add (temp int) -0:8 component-wise multiply (temp int) -0:8 'a1' (layout(location=0 ) in int) -0:8 'a2' (layout(location=1 ) in int) -0:8 'a3' (layout(location=2 ) in int) -0:8 'a4' (layout(location=3 ) in int) -0:8 left-shift (temp int) -0:8 'a1' (layout(location=0 ) in int) -0:8 add (temp int) -0:8 'a2' (layout(location=1 ) in int) -0:8 component-wise multiply (temp int) -0:8 'a3' (layout(location=2 ) in int) -0:8 'a4' (layout(location=3 ) in int) -0:8 Branch: Return +0:8 Branch: Return with expression +0:8 add (temp int) +0:8 left-shift (temp int) +0:8 add (temp int) +0:8 component-wise multiply (temp int) +0:8 'a1' (in int) +0:8 'a2' (in int) +0:8 'a3' (in int) +0:8 'a4' (in int) +0:8 left-shift (temp int) +0:8 'a1' (in int) +0:8 add (temp int) +0:8 'a2' (in int) +0:8 component-wise multiply (temp int) +0:8 'a3' (in int) +0:8 'a4' (in int) +0:7 Function Definition: PixelShaderFunction( (temp void) +0:7 Function Parameters: +0:? Sequence +0:7 move second child to first child (temp int) +0:? 'a1' (temp int) +0:? 'a1' (layout(location=0 ) in int) +0:7 move second child to first child (temp int) +0:? 'a2' (temp int) +0:? 'a2' (layout(location=1 ) in int) +0:7 move second child to first child (temp int) +0:? 'a3' (temp int) +0:? 'a3' (layout(location=2 ) in int) +0:7 move second child to first child (temp int) +0:? 'a4' (temp int) +0:? 'a4' (layout(location=3 ) in int) +0:7 move second child to first child (temp int) +0:? '@entryPointOutput' (layout(location=0 ) out int) +0:7 Function Call: @PixelShaderFunction(i1;i1;i1;i1; (temp int) +0:? 'a1' (temp int) +0:? 'a2' (temp int) +0:? 'a3' (temp int) +0:? 'a4' (temp int) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out int) 0:? 'a1' (layout(location=0 ) in int) @@ -42,32 +61,51 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:7 Function Definition: PixelShaderFunction(i1;i1;i1;i1; (temp int) +0:7 Function Definition: @PixelShaderFunction(i1;i1;i1;i1; (temp int) 0:7 Function Parameters: -0:7 'a1' (layout(location=0 ) in int) -0:7 'a2' (layout(location=1 ) in int) -0:7 'a3' (layout(location=2 ) in int) -0:7 'a4' (layout(location=3 ) in int) +0:7 'a1' (in int) +0:7 'a2' (in int) +0:7 'a3' (in int) +0:7 'a4' (in int) 0:? Sequence -0:8 Sequence -0:8 move second child to first child (temp int) -0:? '@entryPointOutput' (layout(location=0 ) out int) -0:8 add (temp int) -0:8 left-shift (temp int) -0:8 add (temp int) -0:8 component-wise multiply (temp int) -0:8 'a1' (layout(location=0 ) in int) -0:8 'a2' (layout(location=1 ) in int) -0:8 'a3' (layout(location=2 ) in int) -0:8 'a4' (layout(location=3 ) in int) -0:8 left-shift (temp int) -0:8 'a1' (layout(location=0 ) in int) -0:8 add (temp int) -0:8 'a2' (layout(location=1 ) in int) -0:8 component-wise multiply (temp int) -0:8 'a3' (layout(location=2 ) in int) -0:8 'a4' (layout(location=3 ) in int) -0:8 Branch: Return +0:8 Branch: Return with expression +0:8 add (temp int) +0:8 left-shift (temp int) +0:8 add (temp int) +0:8 component-wise multiply (temp int) +0:8 'a1' (in int) +0:8 'a2' (in int) +0:8 'a3' (in int) +0:8 'a4' (in int) +0:8 left-shift (temp int) +0:8 'a1' (in int) +0:8 add (temp int) +0:8 'a2' (in int) +0:8 component-wise multiply (temp int) +0:8 'a3' (in int) +0:8 'a4' (in int) +0:7 Function Definition: PixelShaderFunction( (temp void) +0:7 Function Parameters: +0:? Sequence +0:7 move second child to first child (temp int) +0:? 'a1' (temp int) +0:? 'a1' (layout(location=0 ) in int) +0:7 move second child to first child (temp int) +0:? 'a2' (temp int) +0:? 'a2' (layout(location=1 ) in int) +0:7 move second child to first child (temp int) +0:? 'a3' (temp int) +0:? 'a3' (layout(location=2 ) in int) +0:7 move second child to first child (temp int) +0:? 'a4' (temp int) +0:? 'a4' (layout(location=3 ) in int) +0:7 move second child to first child (temp int) +0:? '@entryPointOutput' (layout(location=0 ) out int) +0:7 Function Call: @PixelShaderFunction(i1;i1;i1;i1; (temp int) +0:? 'a1' (temp int) +0:? 'a2' (temp int) +0:? 'a3' (temp int) +0:? 'a4' (temp int) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out int) 0:? 'a1' (layout(location=0 ) in int) @@ -77,51 +115,99 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 30 +// Id's are bound by 56 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 8 10 12 15 18 + EntryPoint Fragment 4 "PixelShaderFunction" 34 37 40 43 46 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 8 "@entryPointOutput" - Name 10 "a1" - Name 12 "a2" - Name 15 "a3" - Name 18 "a4" - Decorate 8(@entryPointOutput) Location 0 - Decorate 10(a1) Location 0 - Decorate 12(a2) Location 1 - Decorate 15(a3) Location 2 - Decorate 18(a4) Location 3 + Name 13 "@PixelShaderFunction(i1;i1;i1;i1;" + Name 9 "a1" + Name 10 "a2" + Name 11 "a3" + Name 12 "a4" + Name 32 "a1" + Name 34 "a1" + Name 36 "a2" + Name 37 "a2" + Name 39 "a3" + Name 40 "a3" + Name 42 "a4" + Name 43 "a4" + Name 46 "@entryPointOutput" + Name 47 "param" + Name 49 "param" + Name 51 "param" + Name 53 "param" + Decorate 34(a1) Location 0 + Decorate 37(a2) Location 1 + Decorate 40(a3) Location 2 + Decorate 43(a4) Location 3 + Decorate 46(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 - 7: TypePointer Output 6(int) -8(@entryPointOutput): 7(ptr) Variable Output - 9: TypePointer Input 6(int) - 10(a1): 9(ptr) Variable Input - 12(a2): 9(ptr) Variable Input - 15(a3): 9(ptr) Variable Input - 18(a4): 9(ptr) Variable Input + 7: TypePointer Function 6(int) + 8: TypeFunction 6(int) 7(ptr) 7(ptr) 7(ptr) 7(ptr) + 33: TypePointer Input 6(int) + 34(a1): 33(ptr) Variable Input + 37(a2): 33(ptr) Variable Input + 40(a3): 33(ptr) Variable Input + 43(a4): 33(ptr) Variable Input + 45: TypePointer Output 6(int) +46(@entryPointOutput): 45(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label - 11: 6(int) Load 10(a1) - 13: 6(int) Load 12(a2) - 14: 6(int) IMul 11 13 - 16: 6(int) Load 15(a3) - 17: 6(int) IAdd 14 16 - 19: 6(int) Load 18(a4) - 20: 6(int) ShiftLeftLogical 17 19 - 21: 6(int) Load 10(a1) - 22: 6(int) Load 12(a2) - 23: 6(int) Load 15(a3) - 24: 6(int) Load 18(a4) - 25: 6(int) IMul 23 24 - 26: 6(int) IAdd 22 25 - 27: 6(int) ShiftLeftLogical 21 26 - 28: 6(int) IAdd 20 27 - Store 8(@entryPointOutput) 28 + 32(a1): 7(ptr) Variable Function + 36(a2): 7(ptr) Variable Function + 39(a3): 7(ptr) Variable Function + 42(a4): 7(ptr) Variable Function + 47(param): 7(ptr) Variable Function + 49(param): 7(ptr) Variable Function + 51(param): 7(ptr) Variable Function + 53(param): 7(ptr) Variable Function + 35: 6(int) Load 34(a1) + Store 32(a1) 35 + 38: 6(int) Load 37(a2) + Store 36(a2) 38 + 41: 6(int) Load 40(a3) + Store 39(a3) 41 + 44: 6(int) Load 43(a4) + Store 42(a4) 44 + 48: 6(int) Load 32(a1) + Store 47(param) 48 + 50: 6(int) Load 36(a2) + Store 49(param) 50 + 52: 6(int) Load 39(a3) + Store 51(param) 52 + 54: 6(int) Load 42(a4) + Store 53(param) 54 + 55: 6(int) FunctionCall 13(@PixelShaderFunction(i1;i1;i1;i1;) 47(param) 49(param) 51(param) 53(param) + Store 46(@entryPointOutput) 55 Return FunctionEnd +13(@PixelShaderFunction(i1;i1;i1;i1;): 6(int) Function None 8 + 9(a1): 7(ptr) FunctionParameter + 10(a2): 7(ptr) FunctionParameter + 11(a3): 7(ptr) FunctionParameter + 12(a4): 7(ptr) FunctionParameter + 14: Label + 15: 6(int) Load 9(a1) + 16: 6(int) Load 10(a2) + 17: 6(int) IMul 15 16 + 18: 6(int) Load 11(a3) + 19: 6(int) IAdd 17 18 + 20: 6(int) Load 12(a4) + 21: 6(int) ShiftLeftLogical 19 20 + 22: 6(int) Load 9(a1) + 23: 6(int) Load 10(a2) + 24: 6(int) Load 11(a3) + 25: 6(int) Load 12(a4) + 26: 6(int) IMul 24 25 + 27: 6(int) IAdd 23 26 + 28: 6(int) ShiftLeftLogical 22 27 + 29: 6(int) IAdd 21 28 + ReturnValue 29 + FunctionEnd diff --git a/Test/baseResults/hlsl.precise.frag.out b/Test/baseResults/hlsl.precise.frag.out index cd2af746..8a468a32 100644 --- a/Test/baseResults/hlsl.precise.frag.out +++ b/Test/baseResults/hlsl.precise.frag.out @@ -6,7 +6,7 @@ gl_FragCoord origin is upper left 0:6 Function Parameters: 0:6 'myfloat' (noContraction in float) 0:6 'myfloat3' (noContraction out 3-component vector of float) -0:9 Function Definition: main( (temp structure{noContraction temp 4-component vector of float color}) +0:9 Function Definition: @main( (temp structure{noContraction temp 4-component vector of float color}) 0:9 Function Parameters: 0:? Sequence 0:11 move second child to first child (noContraction temp 4-component vector of float) @@ -19,18 +19,21 @@ gl_FragCoord origin is upper left 0:11 1.000000 0:11 1.000000 0:11 1.000000 -0:12 Sequence -0:12 Sequence -0:12 move second child to first child (noContraction temp 4-component vector of float) -0:? 'color' (layout(location=0 ) noContraction out 4-component vector of float) -0:12 color: direct index for structure (noContraction temp 4-component vector of float) -0:12 'ps_output' (temp structure{noContraction temp 4-component vector of float color}) -0:12 Constant: -0:12 0 (const int) -0:12 Branch: Return +0:12 Branch: Return with expression +0:12 'ps_output' (temp structure{noContraction temp 4-component vector of float color}) +0:9 Function Definition: main( (temp void) +0:9 Function Parameters: +0:? Sequence +0:9 Sequence +0:9 move second child to first child (noContraction temp 4-component vector of float) +0:? 'color' (layout(location=0 ) noContraction out 4-component vector of float) +0:9 color: direct index for structure (noContraction temp 4-component vector of float) +0:9 Function Call: @main( (temp structure{noContraction temp 4-component vector of float color}) +0:9 Constant: +0:9 0 (const int) 0:? Linker Objects -0:? 'color' (layout(location=0 ) noContraction out 4-component vector of float) 0:? 'precisefloat' (noContraction global float) +0:? 'color' (layout(location=0 ) noContraction out 4-component vector of float) Linked fragment stage: @@ -43,7 +46,7 @@ gl_FragCoord origin is upper left 0:6 Function Parameters: 0:6 'myfloat' (noContraction in float) 0:6 'myfloat3' (noContraction out 3-component vector of float) -0:9 Function Definition: main( (temp structure{noContraction temp 4-component vector of float color}) +0:9 Function Definition: @main( (temp structure{noContraction temp 4-component vector of float color}) 0:9 Function Parameters: 0:? Sequence 0:11 move second child to first child (noContraction temp 4-component vector of float) @@ -56,27 +59,30 @@ gl_FragCoord origin is upper left 0:11 1.000000 0:11 1.000000 0:11 1.000000 -0:12 Sequence -0:12 Sequence -0:12 move second child to first child (noContraction temp 4-component vector of float) -0:? 'color' (layout(location=0 ) noContraction out 4-component vector of float) -0:12 color: direct index for structure (noContraction temp 4-component vector of float) -0:12 'ps_output' (temp structure{noContraction temp 4-component vector of float color}) -0:12 Constant: -0:12 0 (const int) -0:12 Branch: Return +0:12 Branch: Return with expression +0:12 'ps_output' (temp structure{noContraction temp 4-component vector of float color}) +0:9 Function Definition: main( (temp void) +0:9 Function Parameters: +0:? Sequence +0:9 Sequence +0:9 move second child to first child (noContraction temp 4-component vector of float) +0:? 'color' (layout(location=0 ) noContraction out 4-component vector of float) +0:9 color: direct index for structure (noContraction temp 4-component vector of float) +0:9 Function Call: @main( (temp structure{noContraction temp 4-component vector of float color}) +0:9 Constant: +0:9 0 (const int) 0:? Linker Objects -0:? 'color' (layout(location=0 ) noContraction out 4-component vector of float) 0:? 'precisefloat' (noContraction global float) +0:? 'color' (layout(location=0 ) noContraction out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 32 +// Id's are bound by 37 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 26 + EntryPoint Fragment 4 "main" 32 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 13 "MyFunction(f1;vf3;" @@ -84,10 +90,11 @@ gl_FragCoord origin is upper left Name 12 "myfloat3" Name 16 "PS_OUTPUT" MemberName 16(PS_OUTPUT) 0 "color" - Name 18 "ps_output" - Name 26 "color" - Name 31 "precisefloat" - Decorate 26(color) Location 0 + Name 18 "@main(" + Name 21 "ps_output" + Name 32 "color" + Name 36 "precisefloat" + Decorate 32(color) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -97,24 +104,22 @@ gl_FragCoord origin is upper left 10: TypeFunction 2 7(ptr) 9(ptr) 15: TypeVector 6(float) 4 16(PS_OUTPUT): TypeStruct 15(fvec4) - 17: TypePointer Function 16(PS_OUTPUT) - 19: TypeInt 32 1 - 20: 19(int) Constant 0 - 21: 6(float) Constant 1065353216 - 22: 15(fvec4) ConstantComposite 21 21 21 21 - 23: TypePointer Function 15(fvec4) - 25: TypePointer Output 15(fvec4) - 26(color): 25(ptr) Variable Output - 30: TypePointer Private 6(float) -31(precisefloat): 30(ptr) Variable Private + 17: TypeFunction 16(PS_OUTPUT) + 20: TypePointer Function 16(PS_OUTPUT) + 22: TypeInt 32 1 + 23: 22(int) Constant 0 + 24: 6(float) Constant 1065353216 + 25: 15(fvec4) ConstantComposite 24 24 24 24 + 26: TypePointer Function 15(fvec4) + 31: TypePointer Output 15(fvec4) + 32(color): 31(ptr) Variable Output + 35: TypePointer Private 6(float) +36(precisefloat): 35(ptr) Variable Private 4(main): 2 Function None 3 5: Label - 18(ps_output): 17(ptr) Variable Function - 24: 23(ptr) AccessChain 18(ps_output) 20 - Store 24 22 - 27: 23(ptr) AccessChain 18(ps_output) 20 - 28: 15(fvec4) Load 27 - Store 26(color) 28 + 33:16(PS_OUTPUT) FunctionCall 18(@main() + 34: 15(fvec4) CompositeExtract 33 0 + Store 32(color) 34 Return FunctionEnd 13(MyFunction(f1;vf3;): 2 Function None 10 @@ -123,3 +128,11 @@ gl_FragCoord origin is upper left 14: Label Return FunctionEnd + 18(@main():16(PS_OUTPUT) Function None 17 + 19: Label + 21(ps_output): 20(ptr) Variable Function + 27: 26(ptr) AccessChain 21(ps_output) 23 + Store 27 25 + 28:16(PS_OUTPUT) Load 21(ps_output) + ReturnValue 28 + FunctionEnd diff --git a/Test/baseResults/hlsl.promote.atomic.frag.out b/Test/baseResults/hlsl.promote.atomic.frag.out index 7fa0cad8..6bad1c77 100644 --- a/Test/baseResults/hlsl.promote.atomic.frag.out +++ b/Test/baseResults/hlsl.promote.atomic.frag.out @@ -2,7 +2,7 @@ hlsl.promote.atomic.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:5 Function Definition: main( (temp 4-component vector of float) +0:5 Function Definition: @main( (temp 4-component vector of float) 0:5 Function Parameters: 0:? Sequence 0:13 move second child to first child (temp int) @@ -13,18 +13,21 @@ gl_FragCoord origin is upper left 0:13 'Loc' (temp int) 0:13 Convert int to uint (temp uint) 0:13 'Inc' (temp int) -0:15 Sequence -0:15 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? Constant: -0:? 0.000000 -0:? 0.000000 -0:? 0.000000 -0:? 0.000000 -0:15 Branch: Return +0:15 Branch: Return with expression +0:? Constant: +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:5 Function Definition: main( (temp void) +0:5 Function Parameters: +0:? Sequence +0:5 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:5 Function Call: @main( (temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 's_uintbuff' (layout(r32ui ) uniform uimageBuffer) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) Linked fragment stage: @@ -33,7 +36,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:5 Function Definition: main( (temp 4-component vector of float) +0:5 Function Definition: @main( (temp 4-component vector of float) 0:5 Function Parameters: 0:? Sequence 0:13 move second child to first child (temp int) @@ -44,66 +47,76 @@ gl_FragCoord origin is upper left 0:13 'Loc' (temp int) 0:13 Convert int to uint (temp uint) 0:13 'Inc' (temp int) -0:15 Sequence -0:15 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? Constant: -0:? 0.000000 -0:? 0.000000 -0:? 0.000000 -0:? 0.000000 -0:15 Branch: Return +0:15 Branch: Return with expression +0:? Constant: +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:5 Function Definition: main( (temp void) +0:5 Function Parameters: +0:? Sequence +0:5 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:5 Function Call: @main( (temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 's_uintbuff' (layout(r32ui ) uniform uimageBuffer) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 31 +// Id's are bound by 36 Capability Shader Capability SampledBuffer 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 27 + EntryPoint Fragment 4 "main" 34 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "Orig" - Name 12 "s_uintbuff" - Name 13 "Loc" - Name 15 "Inc" - Name 27 "@entryPointOutput" - Decorate 12(s_uintbuff) DescriptorSet 0 - Decorate 27(@entryPointOutput) Location 0 + Name 9 "@main(" + Name 13 "Orig" + Name 17 "s_uintbuff" + Name 18 "Loc" + Name 20 "Inc" + Name 34 "@entryPointOutput" + Decorate 17(s_uintbuff) DescriptorSet 0 + Decorate 34(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 - 6: TypeInt 32 1 - 7: TypePointer Function 6(int) - 9: TypeInt 32 0 - 10: TypeImage 9(int) Buffer nonsampled format:R32ui - 11: TypePointer UniformConstant 10 - 12(s_uintbuff): 11(ptr) Variable UniformConstant - 18: 9(int) Constant 0 - 19: TypePointer Image 9(int) - 21: 9(int) Constant 1 - 24: TypeFloat 32 - 25: TypeVector 24(float) 4 - 26: TypePointer Output 25(fvec4) -27(@entryPointOutput): 26(ptr) Variable Output - 28: 24(float) Constant 0 - 29: 25(fvec4) ConstantComposite 28 28 28 28 + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8: TypeFunction 7(fvec4) + 11: TypeInt 32 1 + 12: TypePointer Function 11(int) + 14: TypeInt 32 0 + 15: TypeImage 14(int) Buffer nonsampled format:R32ui + 16: TypePointer UniformConstant 15 + 17(s_uintbuff): 16(ptr) Variable UniformConstant + 23: 14(int) Constant 0 + 24: TypePointer Image 14(int) + 26: 14(int) Constant 1 + 29: 6(float) Constant 0 + 30: 7(fvec4) ConstantComposite 29 29 29 29 + 33: TypePointer Output 7(fvec4) +34(@entryPointOutput): 33(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 8(Orig): 7(ptr) Variable Function - 13(Loc): 7(ptr) Variable Function - 15(Inc): 7(ptr) Variable Function - 14: 6(int) Load 13(Loc) - 16: 6(int) Load 15(Inc) - 17: 9(int) Bitcast 16 - 20: 19(ptr) ImageTexelPointer 12(s_uintbuff) 14 18 - 22: 9(int) AtomicIAdd 20 21 18 17 - 23: 6(int) Bitcast 22 - Store 8(Orig) 23 - Store 27(@entryPointOutput) 29 + 35: 7(fvec4) FunctionCall 9(@main() + Store 34(@entryPointOutput) 35 Return FunctionEnd + 9(@main(): 7(fvec4) Function None 8 + 10: Label + 13(Orig): 12(ptr) Variable Function + 18(Loc): 12(ptr) Variable Function + 20(Inc): 12(ptr) Variable Function + 19: 11(int) Load 18(Loc) + 21: 11(int) Load 20(Inc) + 22: 14(int) Bitcast 21 + 25: 24(ptr) ImageTexelPointer 17(s_uintbuff) 19 23 + 27: 14(int) AtomicIAdd 25 26 23 22 + 28: 11(int) Bitcast 27 + Store 13(Orig) 28 + ReturnValue 30 + FunctionEnd diff --git a/Test/baseResults/hlsl.promote.binary.frag.out b/Test/baseResults/hlsl.promote.binary.frag.out index 2c7425e1..855e5def 100644 --- a/Test/baseResults/hlsl.promote.binary.frag.out +++ b/Test/baseResults/hlsl.promote.binary.frag.out @@ -2,7 +2,7 @@ hlsl.promote.binary.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:14 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:14 Function Definition: @main( (temp structure{temp 4-component vector of float Color}) 0:14 Function Parameters: 0:? Sequence 0:15 mod (temp float) @@ -67,15 +67,18 @@ gl_FragCoord origin is upper left 0:25 0.000000 0:25 0.000000 0:25 0.000000 -0:26 Sequence -0:26 Sequence -0:26 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:26 Color: direct index for structure (temp 4-component vector of float) -0:26 'psout' (temp structure{temp 4-component vector of float Color}) -0:26 Constant: -0:26 0 (const int) -0:26 Branch: Return +0:26 Branch: Return with expression +0:26 'psout' (temp structure{temp 4-component vector of float Color}) +0:14 Function Definition: main( (temp void) +0:14 Function Parameters: +0:? Sequence +0:14 Sequence +0:14 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:14 Color: direct index for structure (temp 4-component vector of float) +0:14 Function Call: @main( (temp structure{temp 4-component vector of float Color}) +0:14 Constant: +0:14 0 (const int) 0:? Linker Objects 0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4}) @@ -87,7 +90,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:14 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:14 Function Definition: @main( (temp structure{temp 4-component vector of float Color}) 0:14 Function Parameters: 0:? Sequence 0:15 mod (temp float) @@ -152,129 +155,139 @@ gl_FragCoord origin is upper left 0:25 0.000000 0:25 0.000000 0:25 0.000000 -0:26 Sequence -0:26 Sequence -0:26 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:26 Color: direct index for structure (temp 4-component vector of float) -0:26 'psout' (temp structure{temp 4-component vector of float Color}) -0:26 Constant: -0:26 0 (const int) -0:26 Branch: Return +0:26 Branch: Return with expression +0:26 'psout' (temp structure{temp 4-component vector of float Color}) +0:14 Function Definition: main( (temp void) +0:14 Function Parameters: +0:? Sequence +0:14 Sequence +0:14 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:14 Color: direct index for structure (temp 4-component vector of float) +0:14 Function Call: @main( (temp structure{temp 4-component vector of float Color}) +0:14 Constant: +0:14 0 (const int) 0:? Linker Objects 0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 78 +// Id's are bound by 83 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 74 + EntryPoint Fragment 4 "main" 80 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 12 "$Global" - MemberName 12($Global) 0 "bval" - MemberName 12($Global) 1 "bval4" - MemberName 12($Global) 2 "ival" - MemberName 12($Global) 3 "ival4" - MemberName 12($Global) 4 "fval" - MemberName 12($Global) 5 "fval4" - Name 14 "" - Name 62 "l_int" - Name 68 "PS_OUTPUT" - MemberName 68(PS_OUTPUT) 0 "Color" - Name 70 "psout" - Name 74 "Color" - MemberDecorate 12($Global) 0 Offset 0 - MemberDecorate 12($Global) 1 Offset 16 - MemberDecorate 12($Global) 2 Offset 32 - MemberDecorate 12($Global) 3 Offset 48 - MemberDecorate 12($Global) 4 Offset 64 - MemberDecorate 12($Global) 5 Offset 80 - Decorate 12($Global) Block - Decorate 14 DescriptorSet 0 - Decorate 74(Color) Location 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + Name 10 "@main(" + Name 16 "$Global" + MemberName 16($Global) 0 "bval" + MemberName 16($Global) 1 "bval4" + MemberName 16($Global) 2 "ival" + MemberName 16($Global) 3 "ival4" + MemberName 16($Global) 4 "fval" + MemberName 16($Global) 5 "fval4" + Name 18 "" + Name 66 "l_int" + Name 73 "psout" + Name 80 "Color" + MemberDecorate 16($Global) 0 Offset 0 + MemberDecorate 16($Global) 1 Offset 16 + MemberDecorate 16($Global) 2 Offset 32 + MemberDecorate 16($Global) 3 Offset 48 + MemberDecorate 16($Global) 4 Offset 64 + MemberDecorate 16($Global) 5 Offset 80 + Decorate 16($Global) Block + Decorate 18 DescriptorSet 0 + Decorate 80(Color) Location 0 2: TypeVoid 3: TypeFunction 2 - 6: TypeInt 32 0 - 7: TypeVector 6(int) 4 - 8: TypeInt 32 1 - 9: TypeVector 8(int) 4 - 10: TypeFloat 32 - 11: TypeVector 10(float) 4 - 12($Global): TypeStruct 6(int) 7(ivec4) 8(int) 9(ivec4) 10(float) 11(fvec4) - 13: TypePointer Uniform 12($Global) - 14: 13(ptr) Variable Uniform - 15: 8(int) Constant 2 - 16: TypePointer Uniform 8(int) - 20: 8(int) Constant 4 - 21: TypePointer Uniform 10(float) - 25: 8(int) Constant 3 - 26: TypePointer Uniform 9(ivec4) - 30: 8(int) Constant 5 - 31: TypePointer Uniform 11(fvec4) - 35: 8(int) Constant 0 - 36: TypePointer Uniform 6(int) - 39: TypeBool - 40: 6(int) Constant 0 - 42: 10(float) Constant 0 - 43: 10(float) Constant 1065353216 - 48: 8(int) Constant 1 - 49: TypePointer Uniform 7(ivec4) - 52: TypeVector 39(bool) 4 - 53: 7(ivec4) ConstantComposite 40 40 40 40 - 55: 11(fvec4) ConstantComposite 42 42 42 42 - 56: 11(fvec4) ConstantComposite 43 43 43 43 - 61: TypePointer Function 8(int) - 68(PS_OUTPUT): TypeStruct 11(fvec4) - 69: TypePointer Function 68(PS_OUTPUT) - 71: TypePointer Function 11(fvec4) - 73: TypePointer Output 11(fvec4) - 74(Color): 73(ptr) Variable Output + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypeInt 32 0 + 13: TypeVector 12(int) 4 + 14: TypeInt 32 1 + 15: TypeVector 14(int) 4 + 16($Global): TypeStruct 12(int) 13(ivec4) 14(int) 15(ivec4) 6(float) 7(fvec4) + 17: TypePointer Uniform 16($Global) + 18: 17(ptr) Variable Uniform + 19: 14(int) Constant 2 + 20: TypePointer Uniform 14(int) + 24: 14(int) Constant 4 + 25: TypePointer Uniform 6(float) + 29: 14(int) Constant 3 + 30: TypePointer Uniform 15(ivec4) + 34: 14(int) Constant 5 + 35: TypePointer Uniform 7(fvec4) + 39: 14(int) Constant 0 + 40: TypePointer Uniform 12(int) + 43: TypeBool + 44: 12(int) Constant 0 + 46: 6(float) Constant 0 + 47: 6(float) Constant 1065353216 + 52: 14(int) Constant 1 + 53: TypePointer Uniform 13(ivec4) + 56: TypeVector 43(bool) 4 + 57: 13(ivec4) ConstantComposite 44 44 44 44 + 59: 7(fvec4) ConstantComposite 46 46 46 46 + 60: 7(fvec4) ConstantComposite 47 47 47 47 + 65: TypePointer Function 14(int) + 72: TypePointer Function 8(PS_OUTPUT) + 74: TypePointer Function 7(fvec4) + 79: TypePointer Output 7(fvec4) + 80(Color): 79(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 62(l_int): 61(ptr) Variable Function - 70(psout): 69(ptr) Variable Function - 17: 16(ptr) AccessChain 14 15 - 18: 8(int) Load 17 - 19: 10(float) ConvertSToF 18 - 22: 21(ptr) AccessChain 14 20 - 23: 10(float) Load 22 - 24: 10(float) FMod 19 23 - 27: 26(ptr) AccessChain 14 25 - 28: 9(ivec4) Load 27 - 29: 11(fvec4) ConvertSToF 28 - 32: 31(ptr) AccessChain 14 30 - 33: 11(fvec4) Load 32 - 34: 11(fvec4) FMod 29 33 - 37: 36(ptr) AccessChain 14 35 - 38: 6(int) Load 37 - 41: 39(bool) INotEqual 38 40 - 44: 10(float) Select 41 43 42 - 45: 21(ptr) AccessChain 14 20 - 46: 10(float) Load 45 - 47: 10(float) FMod 44 46 - 50: 49(ptr) AccessChain 14 48 - 51: 7(ivec4) Load 50 - 54: 52(bvec4) INotEqual 51 53 - 57: 11(fvec4) Select 54 56 55 - 58: 31(ptr) AccessChain 14 30 - 59: 11(fvec4) Load 58 - 60: 11(fvec4) FMod 57 59 - Store 62(l_int) 48 - 63: 21(ptr) AccessChain 14 20 - 64: 10(float) Load 63 - 65: 8(int) ConvertFToS 64 - 66: 8(int) Load 62(l_int) - 67: 8(int) SMod 66 65 - Store 62(l_int) 67 - 72: 71(ptr) AccessChain 70(psout) 35 - Store 72 55 - 75: 71(ptr) AccessChain 70(psout) 35 - 76: 11(fvec4) Load 75 - Store 74(Color) 76 + 81:8(PS_OUTPUT) FunctionCall 10(@main() + 82: 7(fvec4) CompositeExtract 81 0 + Store 80(Color) 82 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 66(l_int): 65(ptr) Variable Function + 73(psout): 72(ptr) Variable Function + 21: 20(ptr) AccessChain 18 19 + 22: 14(int) Load 21 + 23: 6(float) ConvertSToF 22 + 26: 25(ptr) AccessChain 18 24 + 27: 6(float) Load 26 + 28: 6(float) FMod 23 27 + 31: 30(ptr) AccessChain 18 29 + 32: 15(ivec4) Load 31 + 33: 7(fvec4) ConvertSToF 32 + 36: 35(ptr) AccessChain 18 34 + 37: 7(fvec4) Load 36 + 38: 7(fvec4) FMod 33 37 + 41: 40(ptr) AccessChain 18 39 + 42: 12(int) Load 41 + 45: 43(bool) INotEqual 42 44 + 48: 6(float) Select 45 47 46 + 49: 25(ptr) AccessChain 18 24 + 50: 6(float) Load 49 + 51: 6(float) FMod 48 50 + 54: 53(ptr) AccessChain 18 52 + 55: 13(ivec4) Load 54 + 58: 56(bvec4) INotEqual 55 57 + 61: 7(fvec4) Select 58 60 59 + 62: 35(ptr) AccessChain 18 34 + 63: 7(fvec4) Load 62 + 64: 7(fvec4) FMod 61 63 + Store 66(l_int) 52 + 67: 25(ptr) AccessChain 18 24 + 68: 6(float) Load 67 + 69: 14(int) ConvertFToS 68 + 70: 14(int) Load 66(l_int) + 71: 14(int) SMod 70 69 + Store 66(l_int) 71 + 75: 74(ptr) AccessChain 73(psout) 39 + Store 75 59 + 76:8(PS_OUTPUT) Load 73(psout) + ReturnValue 76 + FunctionEnd diff --git a/Test/baseResults/hlsl.promote.vec1.frag.out b/Test/baseResults/hlsl.promote.vec1.frag.out index 9179dbcc..6905122f 100644 --- a/Test/baseResults/hlsl.promote.vec1.frag.out +++ b/Test/baseResults/hlsl.promote.vec1.frag.out @@ -2,7 +2,7 @@ hlsl.promote.vec1.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:3 Function Definition: main( (temp 4-component vector of float) +0:3 Function Definition: @main( (temp 4-component vector of float) 0:3 Function Parameters: 0:? Sequence 0:7 move second child to first child (temp float) @@ -22,15 +22,18 @@ gl_FragCoord origin is upper left 0:13 sine (temp float) 0:13 Construct float (in float) 0:13 'f1b' (temp 1-component vector of float) -0:15 Sequence -0:15 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? Constant: -0:? 0.000000 -0:? 0.000000 -0:? 0.000000 -0:? 0.000000 -0:15 Branch: Return +0:15 Branch: Return with expression +0:? Constant: +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:3 Function Definition: main( (temp void) +0:3 Function Parameters: +0:? Sequence +0:3 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:3 Function Call: @main( (temp 4-component vector of float) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) @@ -41,7 +44,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:3 Function Definition: main( (temp 4-component vector of float) +0:3 Function Definition: @main( (temp 4-component vector of float) 0:3 Function Parameters: 0:? Sequence 0:7 move second child to first child (temp float) @@ -61,58 +64,68 @@ gl_FragCoord origin is upper left 0:13 sine (temp float) 0:13 Construct float (in float) 0:13 'f1b' (temp 1-component vector of float) -0:15 Sequence -0:15 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? Constant: -0:? 0.000000 -0:? 0.000000 -0:? 0.000000 -0:? 0.000000 -0:15 Branch: Return +0:15 Branch: Return with expression +0:? Constant: +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:3 Function Definition: main( (temp void) +0:3 Function Parameters: +0:? Sequence +0:3 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:3 Function Call: @main( (temp 4-component vector of float) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 26 +// Id's are bound by 31 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 23 + EntryPoint Fragment 4 "main" 29 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "f1a" - Name 9 "f1b" - Name 16 "f3" - Name 23 "@entryPointOutput" - Decorate 23(@entryPointOutput) Location 0 + Name 9 "@main(" + Name 12 "f1a" + Name 13 "f1b" + Name 20 "f3" + Name 29 "@entryPointOutput" + Decorate 29(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypePointer Function 6(float) - 12: TypeVector 6(float) 3 - 13: 6(float) Constant 0 - 14: 12(fvec3) ConstantComposite 13 13 13 - 15: TypePointer Function 12(fvec3) - 21: TypeVector 6(float) 4 - 22: TypePointer Output 21(fvec4) -23(@entryPointOutput): 22(ptr) Variable Output - 24: 21(fvec4) ConstantComposite 13 13 13 13 + 7: TypeVector 6(float) 4 + 8: TypeFunction 7(fvec4) + 11: TypePointer Function 6(float) + 16: TypeVector 6(float) 3 + 17: 6(float) Constant 0 + 18: 16(fvec3) ConstantComposite 17 17 17 + 19: TypePointer Function 16(fvec3) + 25: 7(fvec4) ConstantComposite 17 17 17 17 + 28: TypePointer Output 7(fvec4) +29(@entryPointOutput): 28(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 8(f1a): 7(ptr) Variable Function - 9(f1b): 7(ptr) Variable Function - 16(f3): 15(ptr) Variable Function - 10: 6(float) Load 9(f1b) - Store 8(f1a) 10 - 11: 6(float) Load 8(f1a) - Store 9(f1b) 11 - 17: 12(fvec3) Load 16(f3) - 18: 12(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 14 17 - 19: 6(float) Load 9(f1b) - 20: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 19 - Store 23(@entryPointOutput) 24 + 30: 7(fvec4) FunctionCall 9(@main() + Store 29(@entryPointOutput) 30 Return FunctionEnd + 9(@main(): 7(fvec4) Function None 8 + 10: Label + 12(f1a): 11(ptr) Variable Function + 13(f1b): 11(ptr) Variable Function + 20(f3): 19(ptr) Variable Function + 14: 6(float) Load 13(f1b) + Store 12(f1a) 14 + 15: 6(float) Load 12(f1a) + Store 13(f1b) 15 + 21: 16(fvec3) Load 20(f3) + 22: 16(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 18 21 + 23: 6(float) Load 13(f1b) + 24: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 23 + ReturnValue 25 + FunctionEnd diff --git a/Test/baseResults/hlsl.promotions.frag.out b/Test/baseResults/hlsl.promotions.frag.out index 01ced169..3541a90f 100644 --- a/Test/baseResults/hlsl.promotions.frag.out +++ b/Test/baseResults/hlsl.promotions.frag.out @@ -357,7 +357,7 @@ gl_FragCoord origin is upper left 0:49 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) 0:49 Constant: 0:49 2 (const uint) -0:52 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:52 Function Definition: @main( (temp structure{temp 4-component vector of float Color}) 0:52 Function Parameters: 0:? Sequence 0:54 Sequence @@ -772,18 +772,21 @@ gl_FragCoord origin is upper left 0:199 Constant: 0:199 0 (const int) 0:199 'outval' (temp 4-component vector of float) -0:200 Sequence -0:200 Sequence -0:200 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:200 Color: direct index for structure (temp 4-component vector of float) -0:200 'psout' (temp structure{temp 4-component vector of float Color}) -0:200 Constant: -0:200 0 (const int) -0:200 Branch: Return +0:200 Branch: Return with expression +0:200 'psout' (temp structure{temp 4-component vector of float Color}) +0:52 Function Definition: main( (temp void) +0:52 Function Parameters: +0:? Sequence +0:52 Sequence +0:52 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:52 Color: direct index for structure (temp 4-component vector of float) +0:52 Function Call: @main( (temp structure{temp 4-component vector of float Color}) +0:52 Constant: +0:52 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) Linked fragment stage: @@ -1147,7 +1150,7 @@ gl_FragCoord origin is upper left 0:49 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) 0:49 Constant: 0:49 2 (const uint) -0:52 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:52 Function Definition: @main( (temp structure{temp 4-component vector of float Color}) 0:52 Function Parameters: 0:? Sequence 0:54 Sequence @@ -1562,28 +1565,31 @@ gl_FragCoord origin is upper left 0:199 Constant: 0:199 0 (const int) 0:199 'outval' (temp 4-component vector of float) -0:200 Sequence -0:200 Sequence -0:200 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:200 Color: direct index for structure (temp 4-component vector of float) -0:200 'psout' (temp structure{temp 4-component vector of float Color}) -0:200 Constant: -0:200 0 (const int) -0:200 Branch: Return +0:200 Branch: Return with expression +0:200 'psout' (temp structure{temp 4-component vector of float Color}) +0:52 Function Definition: main( (temp void) +0:52 Function Parameters: +0:? Sequence +0:52 Sequence +0:52 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:52 Color: direct index for structure (temp 4-component vector of float) +0:52 Function Call: @main( (temp structure{temp 4-component vector of float Color}) +0:52 Constant: +0:52 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 591 +// Id's are bound by 596 Capability Shader Capability Float64 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 587 + EntryPoint Fragment 4 "main" 593 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 11 "Fn_F3(vf3;" @@ -1636,58 +1642,59 @@ gl_FragCoord origin is upper left Name 100 "p" Name 104 "Fn_R_D3F(vd3;" Name 103 "p" - Name 106 "$Global" - MemberName 106($Global) 0 "i3" - MemberName 106($Global) 1 "b3" - MemberName 106($Global) 2 "f3" - MemberName 106($Global) 3 "u3" - MemberName 106($Global) 4 "d3" - MemberName 106($Global) 5 "is" - MemberName 106($Global) 6 "bs" - MemberName 106($Global) 7 "fs" - MemberName 106($Global) 8 "us" - MemberName 106($Global) 9 "ds" - Name 108 "" - Name 300 "r00" - Name 304 "r01" - Name 309 "r02" - Name 313 "r03" - Name 317 "r10" - Name 322 "r11" - Name 326 "r12" - Name 330 "r13" - Name 334 "r20" - Name 339 "r21" - Name 343 "r22" - Name 347 "r23" - Name 351 "r30" - Name 355 "r31" - Name 359 "r32" - Name 363 "r33" - Name 367 "r40" - Name 371 "r41" - Name 375 "r42" - Name 379 "r43" - Name 570 "c1" - Name 571 "c2" - Name 574 "outval" - Name 581 "PS_OUTPUT" - MemberName 581(PS_OUTPUT) 0 "Color" - Name 583 "psout" - Name 587 "Color" - MemberDecorate 106($Global) 0 Offset 0 - MemberDecorate 106($Global) 1 Offset 16 - MemberDecorate 106($Global) 2 Offset 32 - MemberDecorate 106($Global) 3 Offset 48 - MemberDecorate 106($Global) 4 Offset 64 - MemberDecorate 106($Global) 5 Offset 88 - MemberDecorate 106($Global) 6 Offset 92 - MemberDecorate 106($Global) 7 Offset 96 - MemberDecorate 106($Global) 8 Offset 100 - MemberDecorate 106($Global) 9 Offset 104 - Decorate 106($Global) Block - Decorate 108 DescriptorSet 0 - Decorate 587(Color) Location 0 + Name 107 "PS_OUTPUT" + MemberName 107(PS_OUTPUT) 0 "Color" + Name 109 "@main(" + Name 111 "$Global" + MemberName 111($Global) 0 "i3" + MemberName 111($Global) 1 "b3" + MemberName 111($Global) 2 "f3" + MemberName 111($Global) 3 "u3" + MemberName 111($Global) 4 "d3" + MemberName 111($Global) 5 "is" + MemberName 111($Global) 6 "bs" + MemberName 111($Global) 7 "fs" + MemberName 111($Global) 8 "us" + MemberName 111($Global) 9 "ds" + Name 113 "" + Name 305 "r00" + Name 309 "r01" + Name 314 "r02" + Name 318 "r03" + Name 322 "r10" + Name 327 "r11" + Name 331 "r12" + Name 335 "r13" + Name 339 "r20" + Name 344 "r21" + Name 348 "r22" + Name 352 "r23" + Name 356 "r30" + Name 360 "r31" + Name 364 "r32" + Name 368 "r33" + Name 372 "r40" + Name 376 "r41" + Name 380 "r42" + Name 384 "r43" + Name 575 "c1" + Name 576 "c2" + Name 578 "outval" + Name 586 "psout" + Name 593 "Color" + MemberDecorate 111($Global) 0 Offset 0 + MemberDecorate 111($Global) 1 Offset 16 + MemberDecorate 111($Global) 2 Offset 32 + MemberDecorate 111($Global) 3 Offset 48 + MemberDecorate 111($Global) 4 Offset 64 + MemberDecorate 111($Global) 5 Offset 88 + MemberDecorate 111($Global) 6 Offset 92 + MemberDecorate 111($Global) 7 Offset 96 + MemberDecorate 111($Global) 8 Offset 100 + MemberDecorate 111($Global) 9 Offset 104 + Decorate 111($Global) Block + Decorate 113 DescriptorSet 0 + Decorate 593(Color) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -1715,381 +1722,55 @@ gl_FragCoord origin is upper left 67: TypeFunction 21(ivec3) 22(ptr) 80: TypeFunction 28(bvec3) 29(ptr) 93: TypeFunction 35(fvec3) 36(ptr) - 106($Global): TypeStruct 14(ivec3) 21(ivec3) 7(fvec3) 21(ivec3) 35(fvec3) 13(int) 20(int) 6(float) 20(int) 34(float) - 107: TypePointer Uniform 106($Global) - 108: 107(ptr) Variable Uniform - 109: 13(int) Constant 0 - 110: TypePointer Uniform 14(ivec3) - 119: 13(int) Constant 3 - 120: TypePointer Uniform 21(ivec3) - 129: 13(int) Constant 1 - 132: 20(int) Constant 0 - 133: 21(ivec3) ConstantComposite 132 132 132 - 135: 6(float) Constant 0 - 136: 6(float) Constant 1065353216 - 137: 7(fvec3) ConstantComposite 135 135 135 - 138: 7(fvec3) ConstantComposite 136 136 136 - 146: 13(int) Constant 4 - 147: TypePointer Uniform 35(fvec3) - 167: 14(ivec3) ConstantComposite 109 109 109 - 168: 14(ivec3) ConstantComposite 129 129 129 - 176: 13(int) Constant 2 - 177: TypePointer Uniform 7(fvec3) - 213: 20(int) Constant 1 - 214: 21(ivec3) ConstantComposite 213 213 213 - 256: 34(float) Constant 0 0 - 257: 35(fvec3) ConstantComposite 256 256 256 - 283: 34(float) Constant 0 1072693248 - 284: 35(fvec3) ConstantComposite 283 283 283 - 468: 13(int) Constant 5 - 469: TypePointer Uniform 13(int) - 475: 13(int) Constant 6 - 476: TypePointer Uniform 20(int) - 483: 13(int) Constant 8 - 489: 13(int) Constant 9 - 490: TypePointer Uniform 34(float) - 509: 13(int) Constant 7 - 510: TypePointer Uniform 6(float) - 569: TypePointer Function 13(int) - 572: TypeVector 6(float) 4 - 573: TypePointer Function 572(fvec4) - 575: 6(float) Constant 1080452710 - 581(PS_OUTPUT): TypeStruct 572(fvec4) - 582: TypePointer Function 581(PS_OUTPUT) - 586: TypePointer Output 572(fvec4) - 587(Color): 586(ptr) Variable Output + 106: TypeVector 6(float) 4 + 107(PS_OUTPUT): TypeStruct 106(fvec4) + 108: TypeFunction 107(PS_OUTPUT) + 111($Global): TypeStruct 14(ivec3) 21(ivec3) 7(fvec3) 21(ivec3) 35(fvec3) 13(int) 20(int) 6(float) 20(int) 34(float) + 112: TypePointer Uniform 111($Global) + 113: 112(ptr) Variable Uniform + 114: 13(int) Constant 0 + 115: TypePointer Uniform 14(ivec3) + 124: 13(int) Constant 3 + 125: TypePointer Uniform 21(ivec3) + 134: 13(int) Constant 1 + 137: 20(int) Constant 0 + 138: 21(ivec3) ConstantComposite 137 137 137 + 140: 6(float) Constant 0 + 141: 6(float) Constant 1065353216 + 142: 7(fvec3) ConstantComposite 140 140 140 + 143: 7(fvec3) ConstantComposite 141 141 141 + 151: 13(int) Constant 4 + 152: TypePointer Uniform 35(fvec3) + 172: 14(ivec3) ConstantComposite 114 114 114 + 173: 14(ivec3) ConstantComposite 134 134 134 + 181: 13(int) Constant 2 + 182: TypePointer Uniform 7(fvec3) + 218: 20(int) Constant 1 + 219: 21(ivec3) ConstantComposite 218 218 218 + 261: 34(float) Constant 0 0 + 262: 35(fvec3) ConstantComposite 261 261 261 + 288: 34(float) Constant 0 1072693248 + 289: 35(fvec3) ConstantComposite 288 288 288 + 473: 13(int) Constant 5 + 474: TypePointer Uniform 13(int) + 480: 13(int) Constant 6 + 481: TypePointer Uniform 20(int) + 488: 13(int) Constant 8 + 494: 13(int) Constant 9 + 495: TypePointer Uniform 34(float) + 514: 13(int) Constant 7 + 515: TypePointer Uniform 6(float) + 574: TypePointer Function 13(int) + 577: TypePointer Function 106(fvec4) + 579: 6(float) Constant 1080452710 + 585: TypePointer Function 107(PS_OUTPUT) + 592: TypePointer Output 106(fvec4) + 593(Color): 592(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 300(r00): 8(ptr) Variable Function - 304(r01): 8(ptr) Variable Function - 309(r02): 8(ptr) Variable Function - 313(r03): 8(ptr) Variable Function - 317(r10): 15(ptr) Variable Function - 322(r11): 15(ptr) Variable Function - 326(r12): 15(ptr) Variable Function - 330(r13): 15(ptr) Variable Function - 334(r20): 22(ptr) Variable Function - 339(r21): 22(ptr) Variable Function - 343(r22): 22(ptr) Variable Function - 347(r23): 22(ptr) Variable Function - 351(r30): 29(ptr) Variable Function - 355(r31): 29(ptr) Variable Function - 359(r32): 29(ptr) Variable Function - 363(r33): 29(ptr) Variable Function - 367(r40): 36(ptr) Variable Function - 371(r41): 36(ptr) Variable Function - 375(r42): 36(ptr) Variable Function - 379(r43): 36(ptr) Variable Function - 570(c1): 569(ptr) Variable Function - 571(c2): 569(ptr) Variable Function - 574(outval): 573(ptr) Variable Function - 583(psout): 582(ptr) Variable Function - 301: 110(ptr) AccessChain 108 109 - 302: 14(ivec3) Load 301 - 303: 7(fvec3) ConvertSToF 302 - Store 300(r00) 303 - 305: 120(ptr) AccessChain 108 129 - 306: 21(ivec3) Load 305 - 307: 28(bvec3) INotEqual 306 133 - 308: 7(fvec3) Select 307 138 137 - Store 304(r01) 308 - 310: 120(ptr) AccessChain 108 119 - 311: 21(ivec3) Load 310 - 312: 7(fvec3) ConvertUToF 311 - Store 309(r02) 312 - 314: 147(ptr) AccessChain 108 146 - 315: 35(fvec3) Load 314 - 316: 7(fvec3) FConvert 315 - Store 313(r03) 316 - 318: 120(ptr) AccessChain 108 129 - 319: 21(ivec3) Load 318 - 320: 28(bvec3) INotEqual 319 133 - 321: 14(ivec3) Select 320 168 167 - Store 317(r10) 321 - 323: 120(ptr) AccessChain 108 119 - 324: 21(ivec3) Load 323 - 325: 14(ivec3) Bitcast 324 - Store 322(r11) 325 - 327: 177(ptr) AccessChain 108 176 - 328: 7(fvec3) Load 327 - 329: 14(ivec3) ConvertFToS 328 - Store 326(r12) 329 - 331: 147(ptr) AccessChain 108 146 - 332: 35(fvec3) Load 331 - 333: 14(ivec3) ConvertFToS 332 - Store 330(r13) 333 - 335: 120(ptr) AccessChain 108 129 - 336: 21(ivec3) Load 335 - 337: 28(bvec3) INotEqual 336 133 - 338: 21(ivec3) Select 337 214 133 - Store 334(r20) 338 - 340: 110(ptr) AccessChain 108 109 - 341: 14(ivec3) Load 340 - 342: 21(ivec3) Bitcast 341 - Store 339(r21) 342 - 344: 177(ptr) AccessChain 108 176 - 345: 7(fvec3) Load 344 - 346: 21(ivec3) ConvertFToU 345 - Store 343(r22) 346 - 348: 147(ptr) AccessChain 108 146 - 349: 35(fvec3) Load 348 - 350: 21(ivec3) ConvertFToU 349 - Store 347(r23) 350 - 352: 110(ptr) AccessChain 108 109 - 353: 14(ivec3) Load 352 - 354: 28(bvec3) INotEqual 353 133 - Store 351(r30) 354 - 356: 120(ptr) AccessChain 108 119 - 357: 21(ivec3) Load 356 - 358: 28(bvec3) INotEqual 357 133 - Store 355(r31) 358 - 360: 177(ptr) AccessChain 108 176 - 361: 7(fvec3) Load 360 - 362: 28(bvec3) FOrdNotEqual 361 137 - Store 359(r32) 362 - 364: 147(ptr) AccessChain 108 146 - 365: 35(fvec3) Load 364 - 366: 28(bvec3) FOrdNotEqual 365 257 - Store 363(r33) 366 - 368: 110(ptr) AccessChain 108 109 - 369: 14(ivec3) Load 368 - 370: 35(fvec3) ConvertSToF 369 - Store 367(r40) 370 - 372: 120(ptr) AccessChain 108 119 - 373: 21(ivec3) Load 372 - 374: 35(fvec3) ConvertUToF 373 - Store 371(r41) 374 - 376: 177(ptr) AccessChain 108 176 - 377: 7(fvec3) Load 376 - 378: 35(fvec3) FConvert 377 - Store 375(r42) 378 - 380: 120(ptr) AccessChain 108 129 - 381: 21(ivec3) Load 380 - 382: 28(bvec3) INotEqual 381 133 - 383: 35(fvec3) Select 382 284 257 - Store 379(r43) 383 - 384: 110(ptr) AccessChain 108 109 - 385: 14(ivec3) Load 384 - 386: 7(fvec3) ConvertSToF 385 - 387: 7(fvec3) Load 300(r00) - 388: 7(fvec3) FMul 387 386 - Store 300(r00) 388 - 389: 120(ptr) AccessChain 108 129 - 390: 21(ivec3) Load 389 - 391: 28(bvec3) INotEqual 390 133 - 392: 7(fvec3) Select 391 138 137 - 393: 7(fvec3) Load 304(r01) - 394: 7(fvec3) FMul 393 392 - Store 304(r01) 394 - 395: 120(ptr) AccessChain 108 119 - 396: 21(ivec3) Load 395 - 397: 7(fvec3) ConvertUToF 396 - 398: 7(fvec3) Load 309(r02) - 399: 7(fvec3) FMul 398 397 - Store 309(r02) 399 - 400: 147(ptr) AccessChain 108 146 - 401: 35(fvec3) Load 400 - 402: 7(fvec3) FConvert 401 - 403: 7(fvec3) Load 313(r03) - 404: 7(fvec3) FMul 403 402 - Store 313(r03) 404 - 405: 120(ptr) AccessChain 108 129 - 406: 21(ivec3) Load 405 - 407: 28(bvec3) INotEqual 406 133 - 408: 14(ivec3) Select 407 168 167 - 409: 14(ivec3) Load 317(r10) - 410: 14(ivec3) IMul 409 408 - Store 317(r10) 410 - 411: 120(ptr) AccessChain 108 119 - 412: 21(ivec3) Load 411 - 413: 14(ivec3) Bitcast 412 - 414: 14(ivec3) Load 322(r11) - 415: 14(ivec3) IMul 414 413 - Store 322(r11) 415 - 416: 177(ptr) AccessChain 108 176 - 417: 7(fvec3) Load 416 - 418: 14(ivec3) ConvertFToS 417 - 419: 14(ivec3) Load 326(r12) - 420: 14(ivec3) IMul 419 418 - Store 326(r12) 420 - 421: 147(ptr) AccessChain 108 146 - 422: 35(fvec3) Load 421 - 423: 14(ivec3) ConvertFToS 422 - 424: 14(ivec3) Load 330(r13) - 425: 14(ivec3) IMul 424 423 - Store 330(r13) 425 - 426: 120(ptr) AccessChain 108 129 - 427: 21(ivec3) Load 426 - 428: 28(bvec3) INotEqual 427 133 - 429: 21(ivec3) Select 428 214 133 - 430: 21(ivec3) Load 334(r20) - 431: 21(ivec3) IMul 430 429 - Store 334(r20) 431 - 432: 110(ptr) AccessChain 108 109 - 433: 14(ivec3) Load 432 - 434: 21(ivec3) Bitcast 433 - 435: 21(ivec3) Load 339(r21) - 436: 21(ivec3) IMul 435 434 - Store 339(r21) 436 - 437: 177(ptr) AccessChain 108 176 - 438: 7(fvec3) Load 437 - 439: 21(ivec3) ConvertFToU 438 - 440: 21(ivec3) Load 343(r22) - 441: 21(ivec3) IMul 440 439 - Store 343(r22) 441 - 442: 147(ptr) AccessChain 108 146 - 443: 35(fvec3) Load 442 - 444: 21(ivec3) ConvertFToU 443 - 445: 21(ivec3) Load 347(r23) - 446: 21(ivec3) IMul 445 444 - Store 347(r23) 446 - 447: 110(ptr) AccessChain 108 109 - 448: 14(ivec3) Load 447 - 449: 35(fvec3) ConvertSToF 448 - 450: 35(fvec3) Load 367(r40) - 451: 35(fvec3) FMul 450 449 - Store 367(r40) 451 - 452: 120(ptr) AccessChain 108 119 - 453: 21(ivec3) Load 452 - 454: 35(fvec3) ConvertUToF 453 - 455: 35(fvec3) Load 371(r41) - 456: 35(fvec3) FMul 455 454 - Store 371(r41) 456 - 457: 177(ptr) AccessChain 108 176 - 458: 7(fvec3) Load 457 - 459: 35(fvec3) FConvert 458 - 460: 35(fvec3) Load 375(r42) - 461: 35(fvec3) FMul 460 459 - Store 375(r42) 461 - 462: 120(ptr) AccessChain 108 129 - 463: 21(ivec3) Load 462 - 464: 28(bvec3) INotEqual 463 133 - 465: 35(fvec3) Select 464 284 257 - 466: 35(fvec3) Load 379(r43) - 467: 35(fvec3) FMul 466 465 - Store 379(r43) 467 - 470: 469(ptr) AccessChain 108 468 - 471: 13(int) Load 470 - 472: 6(float) ConvertSToF 471 - 473: 7(fvec3) Load 300(r00) - 474: 7(fvec3) VectorTimesScalar 473 472 - Store 300(r00) 474 - 477: 476(ptr) AccessChain 108 475 - 478: 20(int) Load 477 - 479: 27(bool) INotEqual 478 132 - 480: 6(float) Select 479 136 135 - 481: 7(fvec3) Load 304(r01) - 482: 7(fvec3) VectorTimesScalar 481 480 - Store 304(r01) 482 - 484: 476(ptr) AccessChain 108 483 - 485: 20(int) Load 484 - 486: 6(float) ConvertUToF 485 - 487: 7(fvec3) Load 309(r02) - 488: 7(fvec3) VectorTimesScalar 487 486 - Store 309(r02) 488 - 491: 490(ptr) AccessChain 108 489 - 492: 34(float) Load 491 - 493: 6(float) FConvert 492 - 494: 7(fvec3) Load 313(r03) - 495: 7(fvec3) VectorTimesScalar 494 493 - Store 313(r03) 495 - 496: 476(ptr) AccessChain 108 475 - 497: 20(int) Load 496 - 498: 27(bool) INotEqual 497 132 - 499: 13(int) Select 498 129 109 - 500: 14(ivec3) Load 317(r10) - 501: 14(ivec3) CompositeConstruct 499 499 499 - 502: 14(ivec3) IMul 500 501 - Store 317(r10) 502 - 503: 476(ptr) AccessChain 108 483 - 504: 20(int) Load 503 - 505: 13(int) Bitcast 504 - 506: 14(ivec3) Load 322(r11) - 507: 14(ivec3) CompositeConstruct 505 505 505 - 508: 14(ivec3) IMul 506 507 - Store 322(r11) 508 - 511: 510(ptr) AccessChain 108 509 - 512: 6(float) Load 511 - 513: 13(int) ConvertFToS 512 - 514: 14(ivec3) Load 326(r12) - 515: 14(ivec3) CompositeConstruct 513 513 513 - 516: 14(ivec3) IMul 514 515 - Store 326(r12) 516 - 517: 490(ptr) AccessChain 108 489 - 518: 34(float) Load 517 - 519: 13(int) ConvertFToS 518 - 520: 14(ivec3) Load 330(r13) - 521: 14(ivec3) CompositeConstruct 519 519 519 - 522: 14(ivec3) IMul 520 521 - Store 330(r13) 522 - 523: 476(ptr) AccessChain 108 475 - 524: 20(int) Load 523 - 525: 27(bool) INotEqual 524 132 - 526: 20(int) Select 525 213 132 - 527: 21(ivec3) Load 334(r20) - 528: 21(ivec3) CompositeConstruct 526 526 526 - 529: 21(ivec3) IMul 527 528 - Store 334(r20) 529 - 530: 469(ptr) AccessChain 108 468 - 531: 13(int) Load 530 - 532: 20(int) Bitcast 531 - 533: 21(ivec3) Load 339(r21) - 534: 21(ivec3) CompositeConstruct 532 532 532 - 535: 21(ivec3) IMul 533 534 - Store 339(r21) 535 - 536: 510(ptr) AccessChain 108 509 - 537: 6(float) Load 536 - 538: 20(int) ConvertFToU 537 - 539: 21(ivec3) Load 343(r22) - 540: 21(ivec3) CompositeConstruct 538 538 538 - 541: 21(ivec3) IMul 539 540 - Store 343(r22) 541 - 542: 490(ptr) AccessChain 108 489 - 543: 34(float) Load 542 - 544: 20(int) ConvertFToU 543 - 545: 21(ivec3) Load 347(r23) - 546: 21(ivec3) CompositeConstruct 544 544 544 - 547: 21(ivec3) IMul 545 546 - Store 347(r23) 547 - 548: 469(ptr) AccessChain 108 468 - 549: 13(int) Load 548 - 550: 34(float) ConvertSToF 549 - 551: 35(fvec3) Load 367(r40) - 552: 35(fvec3) VectorTimesScalar 551 550 - Store 367(r40) 552 - 553: 476(ptr) AccessChain 108 483 - 554: 20(int) Load 553 - 555: 34(float) ConvertUToF 554 - 556: 35(fvec3) Load 371(r41) - 557: 35(fvec3) VectorTimesScalar 556 555 - Store 371(r41) 557 - 558: 510(ptr) AccessChain 108 509 - 559: 6(float) Load 558 - 560: 34(float) FConvert 559 - 561: 35(fvec3) Load 375(r42) - 562: 35(fvec3) VectorTimesScalar 561 560 - Store 375(r42) 562 - 563: 476(ptr) AccessChain 108 475 - 564: 20(int) Load 563 - 565: 27(bool) INotEqual 564 132 - 566: 34(float) Select 565 283 256 - 567: 35(fvec3) Load 379(r43) - 568: 35(fvec3) VectorTimesScalar 567 566 - Store 379(r43) 568 - Store 570(c1) 119 - Store 571(c2) 119 - 576: 13(int) Load 570(c1) - 577: 6(float) ConvertSToF 576 - 578: 13(int) Load 571(c2) - 579: 6(float) ConvertSToF 578 - 580: 572(fvec4) CompositeConstruct 575 575 577 579 - Store 574(outval) 580 - 584: 572(fvec4) Load 574(outval) - 585: 573(ptr) AccessChain 583(psout) 109 - Store 585 584 - 588: 573(ptr) AccessChain 583(psout) 109 - 589: 572(fvec4) Load 588 - Store 587(Color) 589 + 594:107(PS_OUTPUT) FunctionCall 109(@main() + 595: 106(fvec4) CompositeExtract 594 0 + Store 593(Color) 595 Return FunctionEnd 11(Fn_F3(vf3;): 2 Function None 9 @@ -2120,248 +1801,580 @@ gl_FragCoord origin is upper left 43(Fn_R_F3I(vf3;): 7(fvec3) Function None 41 42(p): 8(ptr) FunctionParameter 44: Label - 111: 110(ptr) AccessChain 108 109 - 112: 14(ivec3) Load 111 - 113: 7(fvec3) ConvertSToF 112 - Store 42(p) 113 - 114: 110(ptr) AccessChain 108 109 - 115: 14(ivec3) Load 114 - 116: 7(fvec3) ConvertSToF 115 - ReturnValue 116 + 116: 115(ptr) AccessChain 113 114 + 117: 14(ivec3) Load 116 + 118: 7(fvec3) ConvertSToF 117 + Store 42(p) 118 + 119: 115(ptr) AccessChain 113 114 + 120: 14(ivec3) Load 119 + 121: 7(fvec3) ConvertSToF 120 + ReturnValue 121 FunctionEnd 46(Fn_R_F3U(vf3;): 7(fvec3) Function None 41 45(p): 8(ptr) FunctionParameter 47: Label - 121: 120(ptr) AccessChain 108 119 - 122: 21(ivec3) Load 121 - 123: 7(fvec3) ConvertUToF 122 - Store 45(p) 123 - 124: 120(ptr) AccessChain 108 119 - 125: 21(ivec3) Load 124 - 126: 7(fvec3) ConvertUToF 125 - ReturnValue 126 + 126: 125(ptr) AccessChain 113 124 + 127: 21(ivec3) Load 126 + 128: 7(fvec3) ConvertUToF 127 + Store 45(p) 128 + 129: 125(ptr) AccessChain 113 124 + 130: 21(ivec3) Load 129 + 131: 7(fvec3) ConvertUToF 130 + ReturnValue 131 FunctionEnd 49(Fn_R_F3B(vf3;): 7(fvec3) Function None 41 48(p): 8(ptr) FunctionParameter 50: Label - 130: 120(ptr) AccessChain 108 129 - 131: 21(ivec3) Load 130 - 134: 28(bvec3) INotEqual 131 133 - 139: 7(fvec3) Select 134 138 137 - Store 48(p) 139 - 140: 120(ptr) AccessChain 108 129 - 141: 21(ivec3) Load 140 - 142: 28(bvec3) INotEqual 141 133 - 143: 7(fvec3) Select 142 138 137 - ReturnValue 143 + 135: 125(ptr) AccessChain 113 134 + 136: 21(ivec3) Load 135 + 139: 28(bvec3) INotEqual 136 138 + 144: 7(fvec3) Select 139 143 142 + Store 48(p) 144 + 145: 125(ptr) AccessChain 113 134 + 146: 21(ivec3) Load 145 + 147: 28(bvec3) INotEqual 146 138 + 148: 7(fvec3) Select 147 143 142 + ReturnValue 148 FunctionEnd 52(Fn_R_F3D(vf3;): 7(fvec3) Function None 41 51(p): 8(ptr) FunctionParameter 53: Label - 148: 147(ptr) AccessChain 108 146 - 149: 35(fvec3) Load 148 - 150: 7(fvec3) FConvert 149 - Store 51(p) 150 - 151: 147(ptr) AccessChain 108 146 - 152: 35(fvec3) Load 151 - 153: 7(fvec3) FConvert 152 - ReturnValue 153 + 153: 152(ptr) AccessChain 113 151 + 154: 35(fvec3) Load 153 + 155: 7(fvec3) FConvert 154 + Store 51(p) 155 + 156: 152(ptr) AccessChain 113 151 + 157: 35(fvec3) Load 156 + 158: 7(fvec3) FConvert 157 + ReturnValue 158 FunctionEnd 56(Fn_R_I3U(vi3;): 14(ivec3) Function None 54 55(p): 15(ptr) FunctionParameter 57: Label - 156: 120(ptr) AccessChain 108 119 - 157: 21(ivec3) Load 156 - 158: 14(ivec3) Bitcast 157 - Store 55(p) 158 - 159: 120(ptr) AccessChain 108 119 - 160: 21(ivec3) Load 159 - 161: 14(ivec3) Bitcast 160 - ReturnValue 161 + 161: 125(ptr) AccessChain 113 124 + 162: 21(ivec3) Load 161 + 163: 14(ivec3) Bitcast 162 + Store 55(p) 163 + 164: 125(ptr) AccessChain 113 124 + 165: 21(ivec3) Load 164 + 166: 14(ivec3) Bitcast 165 + ReturnValue 166 FunctionEnd 59(Fn_R_I3B(vi3;): 14(ivec3) Function None 54 58(p): 15(ptr) FunctionParameter 60: Label - 164: 120(ptr) AccessChain 108 129 - 165: 21(ivec3) Load 164 - 166: 28(bvec3) INotEqual 165 133 - 169: 14(ivec3) Select 166 168 167 - Store 58(p) 169 - 170: 120(ptr) AccessChain 108 129 - 171: 21(ivec3) Load 170 - 172: 28(bvec3) INotEqual 171 133 - 173: 14(ivec3) Select 172 168 167 - ReturnValue 173 + 169: 125(ptr) AccessChain 113 134 + 170: 21(ivec3) Load 169 + 171: 28(bvec3) INotEqual 170 138 + 174: 14(ivec3) Select 171 173 172 + Store 58(p) 174 + 175: 125(ptr) AccessChain 113 134 + 176: 21(ivec3) Load 175 + 177: 28(bvec3) INotEqual 176 138 + 178: 14(ivec3) Select 177 173 172 + ReturnValue 178 FunctionEnd 62(Fn_R_I3F(vi3;): 14(ivec3) Function None 54 61(p): 15(ptr) FunctionParameter 63: Label - 178: 177(ptr) AccessChain 108 176 - 179: 7(fvec3) Load 178 - 180: 14(ivec3) ConvertFToS 179 - Store 61(p) 180 - 181: 177(ptr) AccessChain 108 176 - 182: 7(fvec3) Load 181 - 183: 14(ivec3) ConvertFToS 182 - ReturnValue 183 + 183: 182(ptr) AccessChain 113 181 + 184: 7(fvec3) Load 183 + 185: 14(ivec3) ConvertFToS 184 + Store 61(p) 185 + 186: 182(ptr) AccessChain 113 181 + 187: 7(fvec3) Load 186 + 188: 14(ivec3) ConvertFToS 187 + ReturnValue 188 FunctionEnd 65(Fn_R_I3D(vi3;): 14(ivec3) Function None 54 64(p): 15(ptr) FunctionParameter 66: Label - 186: 147(ptr) AccessChain 108 146 - 187: 35(fvec3) Load 186 - 188: 14(ivec3) ConvertFToS 187 - Store 64(p) 188 - 189: 147(ptr) AccessChain 108 146 - 190: 35(fvec3) Load 189 - 191: 14(ivec3) ConvertFToS 190 - ReturnValue 191 + 191: 152(ptr) AccessChain 113 151 + 192: 35(fvec3) Load 191 + 193: 14(ivec3) ConvertFToS 192 + Store 64(p) 193 + 194: 152(ptr) AccessChain 113 151 + 195: 35(fvec3) Load 194 + 196: 14(ivec3) ConvertFToS 195 + ReturnValue 196 FunctionEnd 69(Fn_R_U3I(vu3;): 21(ivec3) Function None 67 68(p): 22(ptr) FunctionParameter 70: Label - 194: 110(ptr) AccessChain 108 109 - 195: 14(ivec3) Load 194 - 196: 21(ivec3) Bitcast 195 - Store 68(p) 196 - 197: 110(ptr) AccessChain 108 109 - 198: 14(ivec3) Load 197 - 199: 21(ivec3) Bitcast 198 - ReturnValue 199 + 199: 115(ptr) AccessChain 113 114 + 200: 14(ivec3) Load 199 + 201: 21(ivec3) Bitcast 200 + Store 68(p) 201 + 202: 115(ptr) AccessChain 113 114 + 203: 14(ivec3) Load 202 + 204: 21(ivec3) Bitcast 203 + ReturnValue 204 FunctionEnd 72(Fn_R_U3F(vu3;): 21(ivec3) Function None 67 71(p): 22(ptr) FunctionParameter 73: Label - 202: 177(ptr) AccessChain 108 176 - 203: 7(fvec3) Load 202 - 204: 21(ivec3) ConvertFToU 203 - Store 71(p) 204 - 205: 177(ptr) AccessChain 108 176 - 206: 7(fvec3) Load 205 - 207: 21(ivec3) ConvertFToU 206 - ReturnValue 207 + 207: 182(ptr) AccessChain 113 181 + 208: 7(fvec3) Load 207 + 209: 21(ivec3) ConvertFToU 208 + Store 71(p) 209 + 210: 182(ptr) AccessChain 113 181 + 211: 7(fvec3) Load 210 + 212: 21(ivec3) ConvertFToU 211 + ReturnValue 212 FunctionEnd 75(Fn_R_U3B(vu3;): 21(ivec3) Function None 67 74(p): 22(ptr) FunctionParameter 76: Label - 210: 120(ptr) AccessChain 108 129 - 211: 21(ivec3) Load 210 - 212: 28(bvec3) INotEqual 211 133 - 215: 21(ivec3) Select 212 214 133 - Store 74(p) 215 - 216: 120(ptr) AccessChain 108 129 - 217: 21(ivec3) Load 216 - 218: 28(bvec3) INotEqual 217 133 - 219: 21(ivec3) Select 218 214 133 - ReturnValue 219 + 215: 125(ptr) AccessChain 113 134 + 216: 21(ivec3) Load 215 + 217: 28(bvec3) INotEqual 216 138 + 220: 21(ivec3) Select 217 219 138 + Store 74(p) 220 + 221: 125(ptr) AccessChain 113 134 + 222: 21(ivec3) Load 221 + 223: 28(bvec3) INotEqual 222 138 + 224: 21(ivec3) Select 223 219 138 + ReturnValue 224 FunctionEnd 78(Fn_R_U3D(vu3;): 21(ivec3) Function None 67 77(p): 22(ptr) FunctionParameter 79: Label - 222: 147(ptr) AccessChain 108 146 - 223: 35(fvec3) Load 222 - 224: 21(ivec3) ConvertFToU 223 - Store 77(p) 224 - 225: 147(ptr) AccessChain 108 146 - 226: 35(fvec3) Load 225 - 227: 21(ivec3) ConvertFToU 226 - ReturnValue 227 + 227: 152(ptr) AccessChain 113 151 + 228: 35(fvec3) Load 227 + 229: 21(ivec3) ConvertFToU 228 + Store 77(p) 229 + 230: 152(ptr) AccessChain 113 151 + 231: 35(fvec3) Load 230 + 232: 21(ivec3) ConvertFToU 231 + ReturnValue 232 FunctionEnd 82(Fn_R_B3I(vb3;): 28(bvec3) Function None 80 81(p): 29(ptr) FunctionParameter 83: Label - 230: 110(ptr) AccessChain 108 109 - 231: 14(ivec3) Load 230 - 232: 28(bvec3) INotEqual 231 133 - Store 81(p) 232 - 233: 110(ptr) AccessChain 108 109 - 234: 14(ivec3) Load 233 - 235: 28(bvec3) INotEqual 234 133 - ReturnValue 235 + 235: 115(ptr) AccessChain 113 114 + 236: 14(ivec3) Load 235 + 237: 28(bvec3) INotEqual 236 138 + Store 81(p) 237 + 238: 115(ptr) AccessChain 113 114 + 239: 14(ivec3) Load 238 + 240: 28(bvec3) INotEqual 239 138 + ReturnValue 240 FunctionEnd 85(Fn_R_B3U(vb3;): 28(bvec3) Function None 80 84(p): 29(ptr) FunctionParameter 86: Label - 238: 120(ptr) AccessChain 108 119 - 239: 21(ivec3) Load 238 - 240: 28(bvec3) INotEqual 239 133 - Store 84(p) 240 - 241: 120(ptr) AccessChain 108 119 - 242: 21(ivec3) Load 241 - 243: 28(bvec3) INotEqual 242 133 - ReturnValue 243 + 243: 125(ptr) AccessChain 113 124 + 244: 21(ivec3) Load 243 + 245: 28(bvec3) INotEqual 244 138 + Store 84(p) 245 + 246: 125(ptr) AccessChain 113 124 + 247: 21(ivec3) Load 246 + 248: 28(bvec3) INotEqual 247 138 + ReturnValue 248 FunctionEnd 88(Fn_R_B3F(vb3;): 28(bvec3) Function None 80 87(p): 29(ptr) FunctionParameter 89: Label - 246: 177(ptr) AccessChain 108 176 - 247: 7(fvec3) Load 246 - 248: 28(bvec3) FOrdNotEqual 247 137 - Store 87(p) 248 - 249: 177(ptr) AccessChain 108 176 - 250: 7(fvec3) Load 249 - 251: 28(bvec3) FOrdNotEqual 250 137 - ReturnValue 251 + 251: 182(ptr) AccessChain 113 181 + 252: 7(fvec3) Load 251 + 253: 28(bvec3) FOrdNotEqual 252 142 + Store 87(p) 253 + 254: 182(ptr) AccessChain 113 181 + 255: 7(fvec3) Load 254 + 256: 28(bvec3) FOrdNotEqual 255 142 + ReturnValue 256 FunctionEnd 91(Fn_R_B3D(vb3;): 28(bvec3) Function None 80 90(p): 29(ptr) FunctionParameter 92: Label - 254: 147(ptr) AccessChain 108 146 - 255: 35(fvec3) Load 254 - 258: 28(bvec3) FOrdNotEqual 255 257 - Store 90(p) 258 - 259: 147(ptr) AccessChain 108 146 + 259: 152(ptr) AccessChain 113 151 260: 35(fvec3) Load 259 - 261: 28(bvec3) FOrdNotEqual 260 257 - ReturnValue 261 + 263: 28(bvec3) FOrdNotEqual 260 262 + Store 90(p) 263 + 264: 152(ptr) AccessChain 113 151 + 265: 35(fvec3) Load 264 + 266: 28(bvec3) FOrdNotEqual 265 262 + ReturnValue 266 FunctionEnd 95(Fn_R_D3I(vd3;): 35(fvec3) Function None 93 94(p): 36(ptr) FunctionParameter 96: Label - 264: 110(ptr) AccessChain 108 109 - 265: 14(ivec3) Load 264 - 266: 35(fvec3) ConvertSToF 265 - Store 94(p) 266 - 267: 110(ptr) AccessChain 108 109 - 268: 14(ivec3) Load 267 - 269: 35(fvec3) ConvertSToF 268 - ReturnValue 269 + 269: 115(ptr) AccessChain 113 114 + 270: 14(ivec3) Load 269 + 271: 35(fvec3) ConvertSToF 270 + Store 94(p) 271 + 272: 115(ptr) AccessChain 113 114 + 273: 14(ivec3) Load 272 + 274: 35(fvec3) ConvertSToF 273 + ReturnValue 274 FunctionEnd 98(Fn_R_D3U(vd3;): 35(fvec3) Function None 93 97(p): 36(ptr) FunctionParameter 99: Label - 272: 120(ptr) AccessChain 108 119 - 273: 21(ivec3) Load 272 - 274: 35(fvec3) ConvertUToF 273 - Store 97(p) 274 - 275: 120(ptr) AccessChain 108 119 - 276: 21(ivec3) Load 275 - 277: 35(fvec3) ConvertUToF 276 - ReturnValue 277 + 277: 125(ptr) AccessChain 113 124 + 278: 21(ivec3) Load 277 + 279: 35(fvec3) ConvertUToF 278 + Store 97(p) 279 + 280: 125(ptr) AccessChain 113 124 + 281: 21(ivec3) Load 280 + 282: 35(fvec3) ConvertUToF 281 + ReturnValue 282 FunctionEnd 101(Fn_R_D3B(vd3;): 35(fvec3) Function None 93 100(p): 36(ptr) FunctionParameter 102: Label - 280: 120(ptr) AccessChain 108 129 - 281: 21(ivec3) Load 280 - 282: 28(bvec3) INotEqual 281 133 - 285: 35(fvec3) Select 282 284 257 - Store 100(p) 285 - 286: 120(ptr) AccessChain 108 129 - 287: 21(ivec3) Load 286 - 288: 28(bvec3) INotEqual 287 133 - 289: 35(fvec3) Select 288 284 257 - ReturnValue 289 + 285: 125(ptr) AccessChain 113 134 + 286: 21(ivec3) Load 285 + 287: 28(bvec3) INotEqual 286 138 + 290: 35(fvec3) Select 287 289 262 + Store 100(p) 290 + 291: 125(ptr) AccessChain 113 134 + 292: 21(ivec3) Load 291 + 293: 28(bvec3) INotEqual 292 138 + 294: 35(fvec3) Select 293 289 262 + ReturnValue 294 FunctionEnd 104(Fn_R_D3F(vd3;): 35(fvec3) Function None 93 103(p): 36(ptr) FunctionParameter 105: Label - 292: 177(ptr) AccessChain 108 176 - 293: 7(fvec3) Load 292 - 294: 35(fvec3) FConvert 293 - Store 103(p) 294 - 295: 177(ptr) AccessChain 108 176 - 296: 7(fvec3) Load 295 - 297: 35(fvec3) FConvert 296 - ReturnValue 297 + 297: 182(ptr) AccessChain 113 181 + 298: 7(fvec3) Load 297 + 299: 35(fvec3) FConvert 298 + Store 103(p) 299 + 300: 182(ptr) AccessChain 113 181 + 301: 7(fvec3) Load 300 + 302: 35(fvec3) FConvert 301 + ReturnValue 302 + FunctionEnd + 109(@main():107(PS_OUTPUT) Function None 108 + 110: Label + 305(r00): 8(ptr) Variable Function + 309(r01): 8(ptr) Variable Function + 314(r02): 8(ptr) Variable Function + 318(r03): 8(ptr) Variable Function + 322(r10): 15(ptr) Variable Function + 327(r11): 15(ptr) Variable Function + 331(r12): 15(ptr) Variable Function + 335(r13): 15(ptr) Variable Function + 339(r20): 22(ptr) Variable Function + 344(r21): 22(ptr) Variable Function + 348(r22): 22(ptr) Variable Function + 352(r23): 22(ptr) Variable Function + 356(r30): 29(ptr) Variable Function + 360(r31): 29(ptr) Variable Function + 364(r32): 29(ptr) Variable Function + 368(r33): 29(ptr) Variable Function + 372(r40): 36(ptr) Variable Function + 376(r41): 36(ptr) Variable Function + 380(r42): 36(ptr) Variable Function + 384(r43): 36(ptr) Variable Function + 575(c1): 574(ptr) Variable Function + 576(c2): 574(ptr) Variable Function + 578(outval): 577(ptr) Variable Function + 586(psout): 585(ptr) Variable Function + 306: 115(ptr) AccessChain 113 114 + 307: 14(ivec3) Load 306 + 308: 7(fvec3) ConvertSToF 307 + Store 305(r00) 308 + 310: 125(ptr) AccessChain 113 134 + 311: 21(ivec3) Load 310 + 312: 28(bvec3) INotEqual 311 138 + 313: 7(fvec3) Select 312 143 142 + Store 309(r01) 313 + 315: 125(ptr) AccessChain 113 124 + 316: 21(ivec3) Load 315 + 317: 7(fvec3) ConvertUToF 316 + Store 314(r02) 317 + 319: 152(ptr) AccessChain 113 151 + 320: 35(fvec3) Load 319 + 321: 7(fvec3) FConvert 320 + Store 318(r03) 321 + 323: 125(ptr) AccessChain 113 134 + 324: 21(ivec3) Load 323 + 325: 28(bvec3) INotEqual 324 138 + 326: 14(ivec3) Select 325 173 172 + Store 322(r10) 326 + 328: 125(ptr) AccessChain 113 124 + 329: 21(ivec3) Load 328 + 330: 14(ivec3) Bitcast 329 + Store 327(r11) 330 + 332: 182(ptr) AccessChain 113 181 + 333: 7(fvec3) Load 332 + 334: 14(ivec3) ConvertFToS 333 + Store 331(r12) 334 + 336: 152(ptr) AccessChain 113 151 + 337: 35(fvec3) Load 336 + 338: 14(ivec3) ConvertFToS 337 + Store 335(r13) 338 + 340: 125(ptr) AccessChain 113 134 + 341: 21(ivec3) Load 340 + 342: 28(bvec3) INotEqual 341 138 + 343: 21(ivec3) Select 342 219 138 + Store 339(r20) 343 + 345: 115(ptr) AccessChain 113 114 + 346: 14(ivec3) Load 345 + 347: 21(ivec3) Bitcast 346 + Store 344(r21) 347 + 349: 182(ptr) AccessChain 113 181 + 350: 7(fvec3) Load 349 + 351: 21(ivec3) ConvertFToU 350 + Store 348(r22) 351 + 353: 152(ptr) AccessChain 113 151 + 354: 35(fvec3) Load 353 + 355: 21(ivec3) ConvertFToU 354 + Store 352(r23) 355 + 357: 115(ptr) AccessChain 113 114 + 358: 14(ivec3) Load 357 + 359: 28(bvec3) INotEqual 358 138 + Store 356(r30) 359 + 361: 125(ptr) AccessChain 113 124 + 362: 21(ivec3) Load 361 + 363: 28(bvec3) INotEqual 362 138 + Store 360(r31) 363 + 365: 182(ptr) AccessChain 113 181 + 366: 7(fvec3) Load 365 + 367: 28(bvec3) FOrdNotEqual 366 142 + Store 364(r32) 367 + 369: 152(ptr) AccessChain 113 151 + 370: 35(fvec3) Load 369 + 371: 28(bvec3) FOrdNotEqual 370 262 + Store 368(r33) 371 + 373: 115(ptr) AccessChain 113 114 + 374: 14(ivec3) Load 373 + 375: 35(fvec3) ConvertSToF 374 + Store 372(r40) 375 + 377: 125(ptr) AccessChain 113 124 + 378: 21(ivec3) Load 377 + 379: 35(fvec3) ConvertUToF 378 + Store 376(r41) 379 + 381: 182(ptr) AccessChain 113 181 + 382: 7(fvec3) Load 381 + 383: 35(fvec3) FConvert 382 + Store 380(r42) 383 + 385: 125(ptr) AccessChain 113 134 + 386: 21(ivec3) Load 385 + 387: 28(bvec3) INotEqual 386 138 + 388: 35(fvec3) Select 387 289 262 + Store 384(r43) 388 + 389: 115(ptr) AccessChain 113 114 + 390: 14(ivec3) Load 389 + 391: 7(fvec3) ConvertSToF 390 + 392: 7(fvec3) Load 305(r00) + 393: 7(fvec3) FMul 392 391 + Store 305(r00) 393 + 394: 125(ptr) AccessChain 113 134 + 395: 21(ivec3) Load 394 + 396: 28(bvec3) INotEqual 395 138 + 397: 7(fvec3) Select 396 143 142 + 398: 7(fvec3) Load 309(r01) + 399: 7(fvec3) FMul 398 397 + Store 309(r01) 399 + 400: 125(ptr) AccessChain 113 124 + 401: 21(ivec3) Load 400 + 402: 7(fvec3) ConvertUToF 401 + 403: 7(fvec3) Load 314(r02) + 404: 7(fvec3) FMul 403 402 + Store 314(r02) 404 + 405: 152(ptr) AccessChain 113 151 + 406: 35(fvec3) Load 405 + 407: 7(fvec3) FConvert 406 + 408: 7(fvec3) Load 318(r03) + 409: 7(fvec3) FMul 408 407 + Store 318(r03) 409 + 410: 125(ptr) AccessChain 113 134 + 411: 21(ivec3) Load 410 + 412: 28(bvec3) INotEqual 411 138 + 413: 14(ivec3) Select 412 173 172 + 414: 14(ivec3) Load 322(r10) + 415: 14(ivec3) IMul 414 413 + Store 322(r10) 415 + 416: 125(ptr) AccessChain 113 124 + 417: 21(ivec3) Load 416 + 418: 14(ivec3) Bitcast 417 + 419: 14(ivec3) Load 327(r11) + 420: 14(ivec3) IMul 419 418 + Store 327(r11) 420 + 421: 182(ptr) AccessChain 113 181 + 422: 7(fvec3) Load 421 + 423: 14(ivec3) ConvertFToS 422 + 424: 14(ivec3) Load 331(r12) + 425: 14(ivec3) IMul 424 423 + Store 331(r12) 425 + 426: 152(ptr) AccessChain 113 151 + 427: 35(fvec3) Load 426 + 428: 14(ivec3) ConvertFToS 427 + 429: 14(ivec3) Load 335(r13) + 430: 14(ivec3) IMul 429 428 + Store 335(r13) 430 + 431: 125(ptr) AccessChain 113 134 + 432: 21(ivec3) Load 431 + 433: 28(bvec3) INotEqual 432 138 + 434: 21(ivec3) Select 433 219 138 + 435: 21(ivec3) Load 339(r20) + 436: 21(ivec3) IMul 435 434 + Store 339(r20) 436 + 437: 115(ptr) AccessChain 113 114 + 438: 14(ivec3) Load 437 + 439: 21(ivec3) Bitcast 438 + 440: 21(ivec3) Load 344(r21) + 441: 21(ivec3) IMul 440 439 + Store 344(r21) 441 + 442: 182(ptr) AccessChain 113 181 + 443: 7(fvec3) Load 442 + 444: 21(ivec3) ConvertFToU 443 + 445: 21(ivec3) Load 348(r22) + 446: 21(ivec3) IMul 445 444 + Store 348(r22) 446 + 447: 152(ptr) AccessChain 113 151 + 448: 35(fvec3) Load 447 + 449: 21(ivec3) ConvertFToU 448 + 450: 21(ivec3) Load 352(r23) + 451: 21(ivec3) IMul 450 449 + Store 352(r23) 451 + 452: 115(ptr) AccessChain 113 114 + 453: 14(ivec3) Load 452 + 454: 35(fvec3) ConvertSToF 453 + 455: 35(fvec3) Load 372(r40) + 456: 35(fvec3) FMul 455 454 + Store 372(r40) 456 + 457: 125(ptr) AccessChain 113 124 + 458: 21(ivec3) Load 457 + 459: 35(fvec3) ConvertUToF 458 + 460: 35(fvec3) Load 376(r41) + 461: 35(fvec3) FMul 460 459 + Store 376(r41) 461 + 462: 182(ptr) AccessChain 113 181 + 463: 7(fvec3) Load 462 + 464: 35(fvec3) FConvert 463 + 465: 35(fvec3) Load 380(r42) + 466: 35(fvec3) FMul 465 464 + Store 380(r42) 466 + 467: 125(ptr) AccessChain 113 134 + 468: 21(ivec3) Load 467 + 469: 28(bvec3) INotEqual 468 138 + 470: 35(fvec3) Select 469 289 262 + 471: 35(fvec3) Load 384(r43) + 472: 35(fvec3) FMul 471 470 + Store 384(r43) 472 + 475: 474(ptr) AccessChain 113 473 + 476: 13(int) Load 475 + 477: 6(float) ConvertSToF 476 + 478: 7(fvec3) Load 305(r00) + 479: 7(fvec3) VectorTimesScalar 478 477 + Store 305(r00) 479 + 482: 481(ptr) AccessChain 113 480 + 483: 20(int) Load 482 + 484: 27(bool) INotEqual 483 137 + 485: 6(float) Select 484 141 140 + 486: 7(fvec3) Load 309(r01) + 487: 7(fvec3) VectorTimesScalar 486 485 + Store 309(r01) 487 + 489: 481(ptr) AccessChain 113 488 + 490: 20(int) Load 489 + 491: 6(float) ConvertUToF 490 + 492: 7(fvec3) Load 314(r02) + 493: 7(fvec3) VectorTimesScalar 492 491 + Store 314(r02) 493 + 496: 495(ptr) AccessChain 113 494 + 497: 34(float) Load 496 + 498: 6(float) FConvert 497 + 499: 7(fvec3) Load 318(r03) + 500: 7(fvec3) VectorTimesScalar 499 498 + Store 318(r03) 500 + 501: 481(ptr) AccessChain 113 480 + 502: 20(int) Load 501 + 503: 27(bool) INotEqual 502 137 + 504: 13(int) Select 503 134 114 + 505: 14(ivec3) Load 322(r10) + 506: 14(ivec3) CompositeConstruct 504 504 504 + 507: 14(ivec3) IMul 505 506 + Store 322(r10) 507 + 508: 481(ptr) AccessChain 113 488 + 509: 20(int) Load 508 + 510: 13(int) Bitcast 509 + 511: 14(ivec3) Load 327(r11) + 512: 14(ivec3) CompositeConstruct 510 510 510 + 513: 14(ivec3) IMul 511 512 + Store 327(r11) 513 + 516: 515(ptr) AccessChain 113 514 + 517: 6(float) Load 516 + 518: 13(int) ConvertFToS 517 + 519: 14(ivec3) Load 331(r12) + 520: 14(ivec3) CompositeConstruct 518 518 518 + 521: 14(ivec3) IMul 519 520 + Store 331(r12) 521 + 522: 495(ptr) AccessChain 113 494 + 523: 34(float) Load 522 + 524: 13(int) ConvertFToS 523 + 525: 14(ivec3) Load 335(r13) + 526: 14(ivec3) CompositeConstruct 524 524 524 + 527: 14(ivec3) IMul 525 526 + Store 335(r13) 527 + 528: 481(ptr) AccessChain 113 480 + 529: 20(int) Load 528 + 530: 27(bool) INotEqual 529 137 + 531: 20(int) Select 530 218 137 + 532: 21(ivec3) Load 339(r20) + 533: 21(ivec3) CompositeConstruct 531 531 531 + 534: 21(ivec3) IMul 532 533 + Store 339(r20) 534 + 535: 474(ptr) AccessChain 113 473 + 536: 13(int) Load 535 + 537: 20(int) Bitcast 536 + 538: 21(ivec3) Load 344(r21) + 539: 21(ivec3) CompositeConstruct 537 537 537 + 540: 21(ivec3) IMul 538 539 + Store 344(r21) 540 + 541: 515(ptr) AccessChain 113 514 + 542: 6(float) Load 541 + 543: 20(int) ConvertFToU 542 + 544: 21(ivec3) Load 348(r22) + 545: 21(ivec3) CompositeConstruct 543 543 543 + 546: 21(ivec3) IMul 544 545 + Store 348(r22) 546 + 547: 495(ptr) AccessChain 113 494 + 548: 34(float) Load 547 + 549: 20(int) ConvertFToU 548 + 550: 21(ivec3) Load 352(r23) + 551: 21(ivec3) CompositeConstruct 549 549 549 + 552: 21(ivec3) IMul 550 551 + Store 352(r23) 552 + 553: 474(ptr) AccessChain 113 473 + 554: 13(int) Load 553 + 555: 34(float) ConvertSToF 554 + 556: 35(fvec3) Load 372(r40) + 557: 35(fvec3) VectorTimesScalar 556 555 + Store 372(r40) 557 + 558: 481(ptr) AccessChain 113 488 + 559: 20(int) Load 558 + 560: 34(float) ConvertUToF 559 + 561: 35(fvec3) Load 376(r41) + 562: 35(fvec3) VectorTimesScalar 561 560 + Store 376(r41) 562 + 563: 515(ptr) AccessChain 113 514 + 564: 6(float) Load 563 + 565: 34(float) FConvert 564 + 566: 35(fvec3) Load 380(r42) + 567: 35(fvec3) VectorTimesScalar 566 565 + Store 380(r42) 567 + 568: 481(ptr) AccessChain 113 480 + 569: 20(int) Load 568 + 570: 27(bool) INotEqual 569 137 + 571: 34(float) Select 570 288 261 + 572: 35(fvec3) Load 384(r43) + 573: 35(fvec3) VectorTimesScalar 572 571 + Store 384(r43) 573 + Store 575(c1) 124 + Store 576(c2) 124 + 580: 13(int) Load 575(c1) + 581: 6(float) ConvertSToF 580 + 582: 13(int) Load 576(c2) + 583: 6(float) ConvertSToF 582 + 584: 106(fvec4) CompositeConstruct 579 579 581 583 + Store 578(outval) 584 + 587: 106(fvec4) Load 578(outval) + 588: 577(ptr) AccessChain 586(psout) 114 + Store 588 587 + 589:107(PS_OUTPUT) Load 586(psout) + ReturnValue 589 FunctionEnd diff --git a/Test/baseResults/hlsl.rw.atomics.frag.out b/Test/baseResults/hlsl.rw.atomics.frag.out index 123bd4cb..699e6b23 100644 --- a/Test/baseResults/hlsl.rw.atomics.frag.out +++ b/Test/baseResults/hlsl.rw.atomics.frag.out @@ -2,7 +2,7 @@ hlsl.rw.atomics.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:45 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:45 Function Definition: @main( (temp structure{temp 4-component vector of float Color}) 0:45 Function Parameters: 0:? Sequence 0:50 imageAtomicAdd (temp int) @@ -1935,17 +1935,19 @@ gl_FragCoord origin is upper left 0:242 1.000000 0:242 1.000000 0:242 1.000000 -0:243 Sequence -0:243 Sequence -0:243 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:243 Color: direct index for structure (temp 4-component vector of float) -0:243 'psout' (temp structure{temp 4-component vector of float Color}) -0:243 Constant: -0:243 0 (const int) -0:243 Branch: Return +0:243 Branch: Return with expression +0:243 'psout' (temp structure{temp 4-component vector of float Color}) +0:45 Function Definition: main( (temp void) +0:45 Function Parameters: +0:? Sequence +0:45 Sequence +0:45 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:45 Color: direct index for structure (temp 4-component vector of float) +0:45 Function Call: @main( (temp structure{temp 4-component vector of float Color}) +0:45 Constant: +0:45 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'g_sSamp' (uniform sampler) 0:? 'g_tTex1df1' (layout(r32f ) uniform image1D) 0:? 'g_tTex1di1' (layout(r32i ) uniform iimage1D) @@ -1965,6 +1967,7 @@ gl_FragCoord origin is upper left 0:? 'g_tBuffF' (layout(r32f ) uniform imageBuffer) 0:? 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) 0:? 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) @@ -1974,7 +1977,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:45 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:45 Function Definition: @main( (temp structure{temp 4-component vector of float Color}) 0:45 Function Parameters: 0:? Sequence 0:50 imageAtomicAdd (temp int) @@ -3907,17 +3910,19 @@ gl_FragCoord origin is upper left 0:242 1.000000 0:242 1.000000 0:242 1.000000 -0:243 Sequence -0:243 Sequence -0:243 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:243 Color: direct index for structure (temp 4-component vector of float) -0:243 'psout' (temp structure{temp 4-component vector of float Color}) -0:243 Constant: -0:243 0 (const int) -0:243 Branch: Return +0:243 Branch: Return with expression +0:243 'psout' (temp structure{temp 4-component vector of float Color}) +0:45 Function Definition: main( (temp void) +0:45 Function Parameters: +0:? Sequence +0:45 Sequence +0:45 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:45 Color: direct index for structure (temp 4-component vector of float) +0:45 Function Call: @main( (temp structure{temp 4-component vector of float Color}) +0:45 Constant: +0:45 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'g_sSamp' (uniform sampler) 0:? 'g_tTex1df1' (layout(r32f ) uniform image1D) 0:? 'g_tTex1di1' (layout(r32i ) uniform iimage1D) @@ -3937,1325 +3942,1333 @@ gl_FragCoord origin is upper left 0:? 'g_tBuffF' (layout(r32f ) uniform imageBuffer) 0:? 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) 0:? 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 1142 +// Id's are bound by 1147 Capability Shader Capability Sampled1D Capability SampledBuffer 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 1111 + EntryPoint Fragment 4 "main" 1117 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "g_tTex1di1" - Name 15 "$Global" - MemberName 15($Global) 0 "u1" - MemberName 15($Global) 1 "u2" - MemberName 15($Global) 2 "u3" - MemberName 15($Global) 3 "u1b" - MemberName 15($Global) 4 "u1c" - MemberName 15($Global) 5 "i1" - MemberName 15($Global) 6 "i2" - MemberName 15($Global) 7 "i3" - MemberName 15($Global) 8 "i1b" - MemberName 15($Global) 9 "i1c" - Name 17 "" - Name 31 "out_i1" - Name 115 "g_tTex1du1" - Name 126 "out_u1" - Name 211 "g_tTex2di1" - Name 302 "g_tTex2du1" - Name 393 "g_tTex3di1" - Name 484 "g_tTex3du1" - Name 575 "g_tTex1di1a" - Name 664 "g_tTex1du1a" - Name 925 "g_tBuffI" - Name 1014 "g_tBuffU" - Name 1103 "PS_OUTPUT" - MemberName 1103(PS_OUTPUT) 0 "Color" - Name 1105 "psout" - Name 1111 "Color" - Name 1117 "g_sSamp" - Name 1120 "g_tTex1df1" - Name 1123 "g_tTex2df1" - Name 1126 "g_tTex3df1" - Name 1129 "g_tTex1df1a" - Name 1132 "g_tTex2df1a" - Name 1135 "g_tTex2di1a" - Name 1138 "g_tTex2du1a" - Name 1141 "g_tBuffF" - Decorate 9(g_tTex1di1) DescriptorSet 0 - MemberDecorate 15($Global) 0 Offset 0 - MemberDecorate 15($Global) 1 Offset 8 - MemberDecorate 15($Global) 2 Offset 16 - MemberDecorate 15($Global) 3 Offset 28 - MemberDecorate 15($Global) 4 Offset 32 - MemberDecorate 15($Global) 5 Offset 36 - MemberDecorate 15($Global) 6 Offset 40 - MemberDecorate 15($Global) 7 Offset 48 - MemberDecorate 15($Global) 8 Offset 60 - MemberDecorate 15($Global) 9 Offset 64 - Decorate 15($Global) Block - Decorate 17 DescriptorSet 0 - Decorate 115(g_tTex1du1) DescriptorSet 0 - Decorate 211(g_tTex2di1) DescriptorSet 0 - Decorate 302(g_tTex2du1) DescriptorSet 0 - Decorate 393(g_tTex3di1) DescriptorSet 0 - Decorate 484(g_tTex3du1) DescriptorSet 0 - Decorate 575(g_tTex1di1a) DescriptorSet 0 - Decorate 664(g_tTex1du1a) DescriptorSet 0 - Decorate 925(g_tBuffI) DescriptorSet 0 - Decorate 1014(g_tBuffU) DescriptorSet 0 - Decorate 1111(Color) Location 0 - Decorate 1117(g_sSamp) DescriptorSet 0 - Decorate 1120(g_tTex1df1) DescriptorSet 0 - Decorate 1123(g_tTex2df1) DescriptorSet 0 - Decorate 1126(g_tTex3df1) DescriptorSet 0 - Decorate 1129(g_tTex1df1a) DescriptorSet 0 - Decorate 1132(g_tTex2df1a) DescriptorSet 0 - Decorate 1135(g_tTex2di1a) DescriptorSet 0 - Decorate 1138(g_tTex2du1a) DescriptorSet 0 - Decorate 1141(g_tBuffF) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + Name 10 "@main(" + Name 15 "g_tTex1di1" + Name 21 "$Global" + MemberName 21($Global) 0 "u1" + MemberName 21($Global) 1 "u2" + MemberName 21($Global) 2 "u3" + MemberName 21($Global) 3 "u1b" + MemberName 21($Global) 4 "u1c" + MemberName 21($Global) 5 "i1" + MemberName 21($Global) 6 "i2" + MemberName 21($Global) 7 "i3" + MemberName 21($Global) 8 "i1b" + MemberName 21($Global) 9 "i1c" + Name 23 "" + Name 37 "out_i1" + Name 121 "g_tTex1du1" + Name 132 "out_u1" + Name 217 "g_tTex2di1" + Name 308 "g_tTex2du1" + Name 399 "g_tTex3di1" + Name 490 "g_tTex3du1" + Name 581 "g_tTex1di1a" + Name 670 "g_tTex1du1a" + Name 931 "g_tBuffI" + Name 1020 "g_tBuffU" + Name 1108 "psout" + Name 1117 "Color" + Name 1122 "g_sSamp" + Name 1125 "g_tTex1df1" + Name 1128 "g_tTex2df1" + Name 1131 "g_tTex3df1" + Name 1134 "g_tTex1df1a" + Name 1137 "g_tTex2df1a" + Name 1140 "g_tTex2di1a" + Name 1143 "g_tTex2du1a" + Name 1146 "g_tBuffF" + Decorate 15(g_tTex1di1) DescriptorSet 0 + MemberDecorate 21($Global) 0 Offset 0 + MemberDecorate 21($Global) 1 Offset 8 + MemberDecorate 21($Global) 2 Offset 16 + MemberDecorate 21($Global) 3 Offset 28 + MemberDecorate 21($Global) 4 Offset 32 + MemberDecorate 21($Global) 5 Offset 36 + MemberDecorate 21($Global) 6 Offset 40 + MemberDecorate 21($Global) 7 Offset 48 + MemberDecorate 21($Global) 8 Offset 60 + MemberDecorate 21($Global) 9 Offset 64 + Decorate 21($Global) Block + Decorate 23 DescriptorSet 0 + Decorate 121(g_tTex1du1) DescriptorSet 0 + Decorate 217(g_tTex2di1) DescriptorSet 0 + Decorate 308(g_tTex2du1) DescriptorSet 0 + Decorate 399(g_tTex3di1) DescriptorSet 0 + Decorate 490(g_tTex3du1) DescriptorSet 0 + Decorate 581(g_tTex1di1a) DescriptorSet 0 + Decorate 670(g_tTex1du1a) DescriptorSet 0 + Decorate 931(g_tBuffI) DescriptorSet 0 + Decorate 1020(g_tBuffU) DescriptorSet 0 + Decorate 1117(Color) Location 0 + Decorate 1122(g_sSamp) DescriptorSet 0 + Decorate 1125(g_tTex1df1) DescriptorSet 0 + Decorate 1128(g_tTex2df1) DescriptorSet 0 + Decorate 1131(g_tTex3df1) DescriptorSet 0 + Decorate 1134(g_tTex1df1a) DescriptorSet 0 + Decorate 1137(g_tTex2df1a) DescriptorSet 0 + Decorate 1140(g_tTex2di1a) DescriptorSet 0 + Decorate 1143(g_tTex2du1a) DescriptorSet 0 + Decorate 1146(g_tBuffF) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 - 6: TypeInt 32 1 - 7: TypeImage 6(int) 1D nonsampled format:R32i - 8: TypePointer UniformConstant 7 - 9(g_tTex1di1): 8(ptr) Variable UniformConstant - 10: TypeInt 32 0 - 11: TypeVector 10(int) 2 - 12: TypeVector 10(int) 3 - 13: TypeVector 6(int) 2 - 14: TypeVector 6(int) 3 - 15($Global): TypeStruct 10(int) 11(ivec2) 12(ivec3) 10(int) 10(int) 6(int) 13(ivec2) 14(ivec3) 6(int) 6(int) - 16: TypePointer Uniform 15($Global) - 17: 16(ptr) Variable Uniform - 18: 6(int) Constant 5 - 19: TypePointer Uniform 6(int) - 22: 6(int) Constant 8 - 25: 10(int) Constant 0 - 26: TypePointer Image 6(int) - 28: 10(int) Constant 1 - 30: TypePointer Function 6(int) - 54: 6(int) Constant 9 - 113: TypeImage 10(int) 1D nonsampled format:R32ui - 114: TypePointer UniformConstant 113 - 115(g_tTex1du1): 114(ptr) Variable UniformConstant - 116: 6(int) Constant 0 - 117: TypePointer Uniform 10(int) - 122: TypePointer Image 10(int) - 125: TypePointer Function 10(int) - 147: 6(int) Constant 3 - 150: 6(int) Constant 4 - 209: TypeImage 6(int) 2D nonsampled format:R32i - 210: TypePointer UniformConstant 209 - 211(g_tTex2di1): 210(ptr) Variable UniformConstant - 212: 6(int) Constant 6 - 213: TypePointer Uniform 13(ivec2) - 300: TypeImage 10(int) 2D nonsampled format:R32ui - 301: TypePointer UniformConstant 300 - 302(g_tTex2du1): 301(ptr) Variable UniformConstant - 303: 6(int) Constant 1 - 304: TypePointer Uniform 11(ivec2) - 391: TypeImage 6(int) 3D nonsampled format:R32i - 392: TypePointer UniformConstant 391 - 393(g_tTex3di1): 392(ptr) Variable UniformConstant - 394: 6(int) Constant 7 - 395: TypePointer Uniform 14(ivec3) - 482: TypeImage 10(int) 3D nonsampled format:R32ui - 483: TypePointer UniformConstant 482 - 484(g_tTex3du1): 483(ptr) Variable UniformConstant - 485: 6(int) Constant 2 - 486: TypePointer Uniform 12(ivec3) - 573: TypeImage 6(int) 1D array nonsampled format:R32i - 574: TypePointer UniformConstant 573 -575(g_tTex1di1a): 574(ptr) Variable UniformConstant - 662: TypeImage 10(int) 1D array nonsampled format:R32ui - 663: TypePointer UniformConstant 662 -664(g_tTex1du1a): 663(ptr) Variable UniformConstant - 923: TypeImage 6(int) Buffer nonsampled format:R32i - 924: TypePointer UniformConstant 923 - 925(g_tBuffI): 924(ptr) Variable UniformConstant - 1012: TypeImage 10(int) Buffer nonsampled format:R32ui - 1013: TypePointer UniformConstant 1012 - 1014(g_tBuffU): 1013(ptr) Variable UniformConstant - 1101: TypeFloat 32 - 1102: TypeVector 1101(float) 4 - 1103(PS_OUTPUT): TypeStruct 1102(fvec4) - 1104: TypePointer Function 1103(PS_OUTPUT) - 1106: 1101(float) Constant 1065353216 - 1107: 1102(fvec4) ConstantComposite 1106 1106 1106 1106 - 1108: TypePointer Function 1102(fvec4) - 1110: TypePointer Output 1102(fvec4) - 1111(Color): 1110(ptr) Variable Output - 1115: TypeSampler - 1116: TypePointer UniformConstant 1115 - 1117(g_sSamp): 1116(ptr) Variable UniformConstant - 1118: TypeImage 1101(float) 1D nonsampled format:R32f - 1119: TypePointer UniformConstant 1118 -1120(g_tTex1df1): 1119(ptr) Variable UniformConstant - 1121: TypeImage 1101(float) 2D nonsampled format:R32f - 1122: TypePointer UniformConstant 1121 -1123(g_tTex2df1): 1122(ptr) Variable UniformConstant - 1124: TypeImage 1101(float) 3D nonsampled format:R32f - 1125: TypePointer UniformConstant 1124 -1126(g_tTex3df1): 1125(ptr) Variable UniformConstant - 1127: TypeImage 1101(float) 1D array nonsampled format:R32f - 1128: TypePointer UniformConstant 1127 -1129(g_tTex1df1a): 1128(ptr) Variable UniformConstant - 1130: TypeImage 1101(float) 2D array nonsampled format:R32f - 1131: TypePointer UniformConstant 1130 -1132(g_tTex2df1a): 1131(ptr) Variable UniformConstant - 1133: TypeImage 6(int) 2D array nonsampled format:R32i - 1134: TypePointer UniformConstant 1133 -1135(g_tTex2di1a): 1134(ptr) Variable UniformConstant - 1136: TypeImage 10(int) 2D array nonsampled format:R32ui - 1137: TypePointer UniformConstant 1136 -1138(g_tTex2du1a): 1137(ptr) Variable UniformConstant - 1139: TypeImage 1101(float) Buffer nonsampled format:R32f - 1140: TypePointer UniformConstant 1139 - 1141(g_tBuffF): 1140(ptr) Variable UniformConstant + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypeInt 32 1 + 13: TypeImage 12(int) 1D nonsampled format:R32i + 14: TypePointer UniformConstant 13 + 15(g_tTex1di1): 14(ptr) Variable UniformConstant + 16: TypeInt 32 0 + 17: TypeVector 16(int) 2 + 18: TypeVector 16(int) 3 + 19: TypeVector 12(int) 2 + 20: TypeVector 12(int) 3 + 21($Global): TypeStruct 16(int) 17(ivec2) 18(ivec3) 16(int) 16(int) 12(int) 19(ivec2) 20(ivec3) 12(int) 12(int) + 22: TypePointer Uniform 21($Global) + 23: 22(ptr) Variable Uniform + 24: 12(int) Constant 5 + 25: TypePointer Uniform 12(int) + 28: 12(int) Constant 8 + 31: 16(int) Constant 0 + 32: TypePointer Image 12(int) + 34: 16(int) Constant 1 + 36: TypePointer Function 12(int) + 60: 12(int) Constant 9 + 119: TypeImage 16(int) 1D nonsampled format:R32ui + 120: TypePointer UniformConstant 119 + 121(g_tTex1du1): 120(ptr) Variable UniformConstant + 122: 12(int) Constant 0 + 123: TypePointer Uniform 16(int) + 128: TypePointer Image 16(int) + 131: TypePointer Function 16(int) + 153: 12(int) Constant 3 + 156: 12(int) Constant 4 + 215: TypeImage 12(int) 2D nonsampled format:R32i + 216: TypePointer UniformConstant 215 + 217(g_tTex2di1): 216(ptr) Variable UniformConstant + 218: 12(int) Constant 6 + 219: TypePointer Uniform 19(ivec2) + 306: TypeImage 16(int) 2D nonsampled format:R32ui + 307: TypePointer UniformConstant 306 + 308(g_tTex2du1): 307(ptr) Variable UniformConstant + 309: 12(int) Constant 1 + 310: TypePointer Uniform 17(ivec2) + 397: TypeImage 12(int) 3D nonsampled format:R32i + 398: TypePointer UniformConstant 397 + 399(g_tTex3di1): 398(ptr) Variable UniformConstant + 400: 12(int) Constant 7 + 401: TypePointer Uniform 20(ivec3) + 488: TypeImage 16(int) 3D nonsampled format:R32ui + 489: TypePointer UniformConstant 488 + 490(g_tTex3du1): 489(ptr) Variable UniformConstant + 491: 12(int) Constant 2 + 492: TypePointer Uniform 18(ivec3) + 579: TypeImage 12(int) 1D array nonsampled format:R32i + 580: TypePointer UniformConstant 579 +581(g_tTex1di1a): 580(ptr) Variable UniformConstant + 668: TypeImage 16(int) 1D array nonsampled format:R32ui + 669: TypePointer UniformConstant 668 +670(g_tTex1du1a): 669(ptr) Variable UniformConstant + 929: TypeImage 12(int) Buffer nonsampled format:R32i + 930: TypePointer UniformConstant 929 + 931(g_tBuffI): 930(ptr) Variable UniformConstant + 1018: TypeImage 16(int) Buffer nonsampled format:R32ui + 1019: TypePointer UniformConstant 1018 + 1020(g_tBuffU): 1019(ptr) Variable UniformConstant + 1107: TypePointer Function 8(PS_OUTPUT) + 1109: 6(float) Constant 1065353216 + 1110: 7(fvec4) ConstantComposite 1109 1109 1109 1109 + 1111: TypePointer Function 7(fvec4) + 1116: TypePointer Output 7(fvec4) + 1117(Color): 1116(ptr) Variable Output + 1120: TypeSampler + 1121: TypePointer UniformConstant 1120 + 1122(g_sSamp): 1121(ptr) Variable UniformConstant + 1123: TypeImage 6(float) 1D nonsampled format:R32f + 1124: TypePointer UniformConstant 1123 +1125(g_tTex1df1): 1124(ptr) Variable UniformConstant + 1126: TypeImage 6(float) 2D nonsampled format:R32f + 1127: TypePointer UniformConstant 1126 +1128(g_tTex2df1): 1127(ptr) Variable UniformConstant + 1129: TypeImage 6(float) 3D nonsampled format:R32f + 1130: TypePointer UniformConstant 1129 +1131(g_tTex3df1): 1130(ptr) Variable UniformConstant + 1132: TypeImage 6(float) 1D array nonsampled format:R32f + 1133: TypePointer UniformConstant 1132 +1134(g_tTex1df1a): 1133(ptr) Variable UniformConstant + 1135: TypeImage 6(float) 2D array nonsampled format:R32f + 1136: TypePointer UniformConstant 1135 +1137(g_tTex2df1a): 1136(ptr) Variable UniformConstant + 1138: TypeImage 12(int) 2D array nonsampled format:R32i + 1139: TypePointer UniformConstant 1138 +1140(g_tTex2di1a): 1139(ptr) Variable UniformConstant + 1141: TypeImage 16(int) 2D array nonsampled format:R32ui + 1142: TypePointer UniformConstant 1141 +1143(g_tTex2du1a): 1142(ptr) Variable UniformConstant + 1144: TypeImage 6(float) Buffer nonsampled format:R32f + 1145: TypePointer UniformConstant 1144 + 1146(g_tBuffF): 1145(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 31(out_i1): 30(ptr) Variable Function - 126(out_u1): 125(ptr) Variable Function - 1105(psout): 1104(ptr) Variable Function - 20: 19(ptr) AccessChain 17 18 - 21: 6(int) Load 20 - 23: 19(ptr) AccessChain 17 22 - 24: 6(int) Load 23 - 27: 26(ptr) ImageTexelPointer 9(g_tTex1di1) 21 25 - 29: 6(int) AtomicIAdd 27 28 25 24 - 32: 19(ptr) AccessChain 17 18 - 33: 6(int) Load 32 - 34: 19(ptr) AccessChain 17 18 - 35: 6(int) Load 34 - 36: 26(ptr) ImageTexelPointer 9(g_tTex1di1) 33 25 - 37: 6(int) AtomicIAdd 36 28 25 35 - Store 31(out_i1) 37 - 38: 19(ptr) AccessChain 17 18 - 39: 6(int) Load 38 - 40: 19(ptr) AccessChain 17 22 - 41: 6(int) Load 40 - 42: 26(ptr) ImageTexelPointer 9(g_tTex1di1) 39 25 - 43: 6(int) AtomicAnd 42 28 25 41 - 44: 19(ptr) AccessChain 17 18 - 45: 6(int) Load 44 - 46: 19(ptr) AccessChain 17 18 - 47: 6(int) Load 46 - 48: 26(ptr) ImageTexelPointer 9(g_tTex1di1) 45 25 - 49: 6(int) AtomicAnd 48 28 25 47 - Store 31(out_i1) 49 - 50: 19(ptr) AccessChain 17 18 - 51: 6(int) Load 50 - 52: 19(ptr) AccessChain 17 22 - 53: 6(int) Load 52 - 55: 19(ptr) AccessChain 17 54 - 56: 6(int) Load 55 - 57: 26(ptr) ImageTexelPointer 9(g_tTex1di1) 51 25 - 58: 6(int) AtomicCompareExchange 57 28 25 25 56 53 - Store 31(out_i1) 58 - 59: 19(ptr) AccessChain 17 18 - 60: 6(int) Load 59 - 61: 19(ptr) AccessChain 17 18 - 62: 6(int) Load 61 - 63: 26(ptr) ImageTexelPointer 9(g_tTex1di1) 60 25 - 64: 6(int) AtomicExchange 63 28 25 62 - Store 31(out_i1) 64 - 65: 19(ptr) AccessChain 17 18 - 66: 6(int) Load 65 - 67: 19(ptr) AccessChain 17 22 - 68: 6(int) Load 67 - 69: 26(ptr) ImageTexelPointer 9(g_tTex1di1) 66 25 - 70: 6(int) AtomicSMax 69 28 25 68 - 71: 19(ptr) AccessChain 17 18 - 72: 6(int) Load 71 - 73: 19(ptr) AccessChain 17 18 - 74: 6(int) Load 73 - 75: 26(ptr) ImageTexelPointer 9(g_tTex1di1) 72 25 - 76: 6(int) AtomicSMax 75 28 25 74 - Store 31(out_i1) 76 - 77: 19(ptr) AccessChain 17 18 - 78: 6(int) Load 77 - 79: 19(ptr) AccessChain 17 22 - 80: 6(int) Load 79 - 81: 26(ptr) ImageTexelPointer 9(g_tTex1di1) 78 25 - 82: 6(int) AtomicSMin 81 28 25 80 - 83: 19(ptr) AccessChain 17 18 - 84: 6(int) Load 83 - 85: 19(ptr) AccessChain 17 18 - 86: 6(int) Load 85 - 87: 26(ptr) ImageTexelPointer 9(g_tTex1di1) 84 25 - 88: 6(int) AtomicSMin 87 28 25 86 - Store 31(out_i1) 88 - 89: 19(ptr) AccessChain 17 18 - 90: 6(int) Load 89 - 91: 19(ptr) AccessChain 17 22 - 92: 6(int) Load 91 - 93: 26(ptr) ImageTexelPointer 9(g_tTex1di1) 90 25 - 94: 6(int) AtomicOr 93 28 25 92 - 95: 19(ptr) AccessChain 17 18 - 96: 6(int) Load 95 - 97: 19(ptr) AccessChain 17 18 - 98: 6(int) Load 97 - 99: 26(ptr) ImageTexelPointer 9(g_tTex1di1) 96 25 - 100: 6(int) AtomicOr 99 28 25 98 - Store 31(out_i1) 100 - 101: 19(ptr) AccessChain 17 18 - 102: 6(int) Load 101 - 103: 19(ptr) AccessChain 17 22 - 104: 6(int) Load 103 - 105: 26(ptr) ImageTexelPointer 9(g_tTex1di1) 102 25 - 106: 6(int) AtomicXor 105 28 25 104 - 107: 19(ptr) AccessChain 17 18 - 108: 6(int) Load 107 - 109: 19(ptr) AccessChain 17 18 - 110: 6(int) Load 109 - 111: 26(ptr) ImageTexelPointer 9(g_tTex1di1) 108 25 - 112: 6(int) AtomicXor 111 28 25 110 - Store 31(out_i1) 112 - 118: 117(ptr) AccessChain 17 116 - 119: 10(int) Load 118 - 120: 117(ptr) AccessChain 17 116 - 121: 10(int) Load 120 - 123: 122(ptr) ImageTexelPointer 115(g_tTex1du1) 119 25 - 124: 10(int) AtomicIAdd 123 28 25 121 - 127: 117(ptr) AccessChain 17 116 - 128: 10(int) Load 127 - 129: 117(ptr) AccessChain 17 116 - 130: 10(int) Load 129 - 131: 122(ptr) ImageTexelPointer 115(g_tTex1du1) 128 25 - 132: 10(int) AtomicIAdd 131 28 25 130 - Store 126(out_u1) 132 - 133: 117(ptr) AccessChain 17 116 - 134: 10(int) Load 133 - 135: 117(ptr) AccessChain 17 116 - 136: 10(int) Load 135 - 137: 122(ptr) ImageTexelPointer 115(g_tTex1du1) 134 25 - 138: 10(int) AtomicAnd 137 28 25 136 - 139: 117(ptr) AccessChain 17 116 - 140: 10(int) Load 139 - 141: 117(ptr) AccessChain 17 116 - 142: 10(int) Load 141 - 143: 122(ptr) ImageTexelPointer 115(g_tTex1du1) 140 25 - 144: 10(int) AtomicAnd 143 28 25 142 - Store 126(out_u1) 144 - 145: 117(ptr) AccessChain 17 116 - 146: 10(int) Load 145 - 148: 117(ptr) AccessChain 17 147 - 149: 10(int) Load 148 - 151: 117(ptr) AccessChain 17 150 - 152: 10(int) Load 151 - 153: 122(ptr) ImageTexelPointer 115(g_tTex1du1) 146 25 - 154: 10(int) AtomicCompareExchange 153 28 25 25 152 149 - Store 126(out_u1) 154 - 155: 117(ptr) AccessChain 17 116 - 156: 10(int) Load 155 - 157: 117(ptr) AccessChain 17 116 - 158: 10(int) Load 157 - 159: 122(ptr) ImageTexelPointer 115(g_tTex1du1) 156 25 - 160: 10(int) AtomicExchange 159 28 25 158 - Store 126(out_u1) 160 - 161: 117(ptr) AccessChain 17 116 - 162: 10(int) Load 161 - 163: 117(ptr) AccessChain 17 116 - 164: 10(int) Load 163 - 165: 122(ptr) ImageTexelPointer 115(g_tTex1du1) 162 25 - 166: 10(int) AtomicUMax 165 28 25 164 - 167: 117(ptr) AccessChain 17 116 - 168: 10(int) Load 167 - 169: 117(ptr) AccessChain 17 116 - 170: 10(int) Load 169 - 171: 122(ptr) ImageTexelPointer 115(g_tTex1du1) 168 25 - 172: 10(int) AtomicUMax 171 28 25 170 - Store 126(out_u1) 172 - 173: 117(ptr) AccessChain 17 116 - 174: 10(int) Load 173 - 175: 117(ptr) AccessChain 17 116 - 176: 10(int) Load 175 - 177: 122(ptr) ImageTexelPointer 115(g_tTex1du1) 174 25 - 178: 10(int) AtomicUMin 177 28 25 176 - 179: 117(ptr) AccessChain 17 116 - 180: 10(int) Load 179 - 181: 117(ptr) AccessChain 17 116 - 182: 10(int) Load 181 - 183: 122(ptr) ImageTexelPointer 115(g_tTex1du1) 180 25 - 184: 10(int) AtomicUMin 183 28 25 182 - Store 126(out_u1) 184 - 185: 117(ptr) AccessChain 17 116 - 186: 10(int) Load 185 - 187: 117(ptr) AccessChain 17 116 - 188: 10(int) Load 187 - 189: 122(ptr) ImageTexelPointer 115(g_tTex1du1) 186 25 - 190: 10(int) AtomicOr 189 28 25 188 - 191: 117(ptr) AccessChain 17 116 - 192: 10(int) Load 191 - 193: 117(ptr) AccessChain 17 116 - 194: 10(int) Load 193 - 195: 122(ptr) ImageTexelPointer 115(g_tTex1du1) 192 25 - 196: 10(int) AtomicOr 195 28 25 194 - Store 126(out_u1) 196 - 197: 117(ptr) AccessChain 17 116 - 198: 10(int) Load 197 - 199: 117(ptr) AccessChain 17 116 - 200: 10(int) Load 199 - 201: 122(ptr) ImageTexelPointer 115(g_tTex1du1) 198 25 - 202: 10(int) AtomicXor 201 28 25 200 - 203: 117(ptr) AccessChain 17 116 - 204: 10(int) Load 203 - 205: 117(ptr) AccessChain 17 116 - 206: 10(int) Load 205 - 207: 122(ptr) ImageTexelPointer 115(g_tTex1du1) 204 25 - 208: 10(int) AtomicXor 207 28 25 206 - Store 126(out_u1) 208 - 214: 213(ptr) AccessChain 17 212 - 215: 13(ivec2) Load 214 - 216: 19(ptr) AccessChain 17 22 - 217: 6(int) Load 216 - 218: 26(ptr) ImageTexelPointer 211(g_tTex2di1) 215 25 - 219: 6(int) AtomicIAdd 218 28 25 217 - 220: 213(ptr) AccessChain 17 212 - 221: 13(ivec2) Load 220 - 222: 19(ptr) AccessChain 17 18 - 223: 6(int) Load 222 - 224: 26(ptr) ImageTexelPointer 211(g_tTex2di1) 221 25 - 225: 6(int) AtomicIAdd 224 28 25 223 - Store 31(out_i1) 225 - 226: 213(ptr) AccessChain 17 212 - 227: 13(ivec2) Load 226 - 228: 19(ptr) AccessChain 17 22 - 229: 6(int) Load 228 - 230: 26(ptr) ImageTexelPointer 211(g_tTex2di1) 227 25 - 231: 6(int) AtomicAnd 230 28 25 229 - 232: 213(ptr) AccessChain 17 212 - 233: 13(ivec2) Load 232 - 234: 19(ptr) AccessChain 17 18 - 235: 6(int) Load 234 - 236: 26(ptr) ImageTexelPointer 211(g_tTex2di1) 233 25 - 237: 6(int) AtomicAnd 236 28 25 235 - Store 31(out_i1) 237 - 238: 213(ptr) AccessChain 17 212 - 239: 13(ivec2) Load 238 - 240: 19(ptr) AccessChain 17 22 - 241: 6(int) Load 240 - 242: 19(ptr) AccessChain 17 54 - 243: 6(int) Load 242 - 244: 26(ptr) ImageTexelPointer 211(g_tTex2di1) 239 25 - 245: 6(int) AtomicCompareExchange 244 28 25 25 243 241 - Store 31(out_i1) 245 - 246: 213(ptr) AccessChain 17 212 - 247: 13(ivec2) Load 246 - 248: 19(ptr) AccessChain 17 18 - 249: 6(int) Load 248 - 250: 26(ptr) ImageTexelPointer 211(g_tTex2di1) 247 25 - 251: 6(int) AtomicExchange 250 28 25 249 - Store 31(out_i1) 251 - 252: 213(ptr) AccessChain 17 212 - 253: 13(ivec2) Load 252 - 254: 19(ptr) AccessChain 17 22 - 255: 6(int) Load 254 - 256: 26(ptr) ImageTexelPointer 211(g_tTex2di1) 253 25 - 257: 6(int) AtomicSMax 256 28 25 255 - 258: 213(ptr) AccessChain 17 212 - 259: 13(ivec2) Load 258 - 260: 19(ptr) AccessChain 17 18 - 261: 6(int) Load 260 - 262: 26(ptr) ImageTexelPointer 211(g_tTex2di1) 259 25 - 263: 6(int) AtomicSMax 262 28 25 261 - Store 31(out_i1) 263 - 264: 213(ptr) AccessChain 17 212 - 265: 13(ivec2) Load 264 - 266: 19(ptr) AccessChain 17 22 - 267: 6(int) Load 266 - 268: 26(ptr) ImageTexelPointer 211(g_tTex2di1) 265 25 - 269: 6(int) AtomicSMin 268 28 25 267 - 270: 213(ptr) AccessChain 17 212 - 271: 13(ivec2) Load 270 - 272: 19(ptr) AccessChain 17 18 - 273: 6(int) Load 272 - 274: 26(ptr) ImageTexelPointer 211(g_tTex2di1) 271 25 - 275: 6(int) AtomicSMin 274 28 25 273 - Store 31(out_i1) 275 - 276: 213(ptr) AccessChain 17 212 - 277: 13(ivec2) Load 276 - 278: 19(ptr) AccessChain 17 22 - 279: 6(int) Load 278 - 280: 26(ptr) ImageTexelPointer 211(g_tTex2di1) 277 25 - 281: 6(int) AtomicOr 280 28 25 279 - 282: 213(ptr) AccessChain 17 212 - 283: 13(ivec2) Load 282 - 284: 19(ptr) AccessChain 17 18 - 285: 6(int) Load 284 - 286: 26(ptr) ImageTexelPointer 211(g_tTex2di1) 283 25 - 287: 6(int) AtomicOr 286 28 25 285 - Store 31(out_i1) 287 - 288: 213(ptr) AccessChain 17 212 - 289: 13(ivec2) Load 288 - 290: 19(ptr) AccessChain 17 22 - 291: 6(int) Load 290 - 292: 26(ptr) ImageTexelPointer 211(g_tTex2di1) 289 25 - 293: 6(int) AtomicXor 292 28 25 291 - 294: 213(ptr) AccessChain 17 212 - 295: 13(ivec2) Load 294 - 296: 19(ptr) AccessChain 17 18 - 297: 6(int) Load 296 - 298: 26(ptr) ImageTexelPointer 211(g_tTex2di1) 295 25 - 299: 6(int) AtomicXor 298 28 25 297 - Store 31(out_i1) 299 - 305: 304(ptr) AccessChain 17 303 - 306: 11(ivec2) Load 305 - 307: 117(ptr) AccessChain 17 116 - 308: 10(int) Load 307 - 309: 122(ptr) ImageTexelPointer 302(g_tTex2du1) 306 25 - 310: 10(int) AtomicIAdd 309 28 25 308 - 311: 304(ptr) AccessChain 17 303 - 312: 11(ivec2) Load 311 - 313: 117(ptr) AccessChain 17 116 - 314: 10(int) Load 313 - 315: 122(ptr) ImageTexelPointer 302(g_tTex2du1) 312 25 - 316: 10(int) AtomicIAdd 315 28 25 314 - Store 126(out_u1) 316 - 317: 304(ptr) AccessChain 17 303 - 318: 11(ivec2) Load 317 - 319: 117(ptr) AccessChain 17 116 - 320: 10(int) Load 319 - 321: 122(ptr) ImageTexelPointer 302(g_tTex2du1) 318 25 - 322: 10(int) AtomicAnd 321 28 25 320 - 323: 304(ptr) AccessChain 17 303 - 324: 11(ivec2) Load 323 - 325: 117(ptr) AccessChain 17 116 - 326: 10(int) Load 325 - 327: 122(ptr) ImageTexelPointer 302(g_tTex2du1) 324 25 - 328: 10(int) AtomicAnd 327 28 25 326 - Store 126(out_u1) 328 - 329: 304(ptr) AccessChain 17 303 - 330: 11(ivec2) Load 329 - 331: 117(ptr) AccessChain 17 147 - 332: 10(int) Load 331 - 333: 117(ptr) AccessChain 17 150 - 334: 10(int) Load 333 - 335: 122(ptr) ImageTexelPointer 302(g_tTex2du1) 330 25 - 336: 10(int) AtomicCompareExchange 335 28 25 25 334 332 - Store 126(out_u1) 336 - 337: 304(ptr) AccessChain 17 303 - 338: 11(ivec2) Load 337 - 339: 117(ptr) AccessChain 17 116 - 340: 10(int) Load 339 - 341: 122(ptr) ImageTexelPointer 302(g_tTex2du1) 338 25 - 342: 10(int) AtomicExchange 341 28 25 340 - Store 126(out_u1) 342 - 343: 304(ptr) AccessChain 17 303 - 344: 11(ivec2) Load 343 - 345: 117(ptr) AccessChain 17 116 - 346: 10(int) Load 345 - 347: 122(ptr) ImageTexelPointer 302(g_tTex2du1) 344 25 - 348: 10(int) AtomicUMax 347 28 25 346 - 349: 304(ptr) AccessChain 17 303 - 350: 11(ivec2) Load 349 - 351: 117(ptr) AccessChain 17 116 - 352: 10(int) Load 351 - 353: 122(ptr) ImageTexelPointer 302(g_tTex2du1) 350 25 - 354: 10(int) AtomicUMax 353 28 25 352 - Store 126(out_u1) 354 - 355: 304(ptr) AccessChain 17 303 - 356: 11(ivec2) Load 355 - 357: 117(ptr) AccessChain 17 116 - 358: 10(int) Load 357 - 359: 122(ptr) ImageTexelPointer 302(g_tTex2du1) 356 25 - 360: 10(int) AtomicUMin 359 28 25 358 - 361: 304(ptr) AccessChain 17 303 - 362: 11(ivec2) Load 361 - 363: 117(ptr) AccessChain 17 116 - 364: 10(int) Load 363 - 365: 122(ptr) ImageTexelPointer 302(g_tTex2du1) 362 25 - 366: 10(int) AtomicUMin 365 28 25 364 - Store 126(out_u1) 366 - 367: 304(ptr) AccessChain 17 303 - 368: 11(ivec2) Load 367 - 369: 117(ptr) AccessChain 17 116 - 370: 10(int) Load 369 - 371: 122(ptr) ImageTexelPointer 302(g_tTex2du1) 368 25 - 372: 10(int) AtomicOr 371 28 25 370 - 373: 304(ptr) AccessChain 17 303 - 374: 11(ivec2) Load 373 - 375: 117(ptr) AccessChain 17 116 - 376: 10(int) Load 375 - 377: 122(ptr) ImageTexelPointer 302(g_tTex2du1) 374 25 - 378: 10(int) AtomicOr 377 28 25 376 - Store 126(out_u1) 378 - 379: 304(ptr) AccessChain 17 303 - 380: 11(ivec2) Load 379 - 381: 117(ptr) AccessChain 17 116 - 382: 10(int) Load 381 - 383: 122(ptr) ImageTexelPointer 302(g_tTex2du1) 380 25 - 384: 10(int) AtomicXor 383 28 25 382 - 385: 304(ptr) AccessChain 17 303 - 386: 11(ivec2) Load 385 - 387: 117(ptr) AccessChain 17 116 - 388: 10(int) Load 387 - 389: 122(ptr) ImageTexelPointer 302(g_tTex2du1) 386 25 - 390: 10(int) AtomicXor 389 28 25 388 - Store 126(out_u1) 390 - 396: 395(ptr) AccessChain 17 394 - 397: 14(ivec3) Load 396 - 398: 19(ptr) AccessChain 17 22 - 399: 6(int) Load 398 - 400: 26(ptr) ImageTexelPointer 393(g_tTex3di1) 397 25 - 401: 6(int) AtomicIAdd 400 28 25 399 - 402: 395(ptr) AccessChain 17 394 - 403: 14(ivec3) Load 402 - 404: 19(ptr) AccessChain 17 18 - 405: 6(int) Load 404 - 406: 26(ptr) ImageTexelPointer 393(g_tTex3di1) 403 25 - 407: 6(int) AtomicIAdd 406 28 25 405 - Store 31(out_i1) 407 - 408: 395(ptr) AccessChain 17 394 - 409: 14(ivec3) Load 408 - 410: 19(ptr) AccessChain 17 22 - 411: 6(int) Load 410 - 412: 26(ptr) ImageTexelPointer 393(g_tTex3di1) 409 25 - 413: 6(int) AtomicAnd 412 28 25 411 - 414: 395(ptr) AccessChain 17 394 - 415: 14(ivec3) Load 414 - 416: 19(ptr) AccessChain 17 18 - 417: 6(int) Load 416 - 418: 26(ptr) ImageTexelPointer 393(g_tTex3di1) 415 25 - 419: 6(int) AtomicAnd 418 28 25 417 - Store 31(out_i1) 419 - 420: 395(ptr) AccessChain 17 394 - 421: 14(ivec3) Load 420 - 422: 19(ptr) AccessChain 17 22 - 423: 6(int) Load 422 - 424: 19(ptr) AccessChain 17 54 - 425: 6(int) Load 424 - 426: 26(ptr) ImageTexelPointer 393(g_tTex3di1) 421 25 - 427: 6(int) AtomicCompareExchange 426 28 25 25 425 423 - Store 31(out_i1) 427 - 428: 395(ptr) AccessChain 17 394 - 429: 14(ivec3) Load 428 - 430: 19(ptr) AccessChain 17 18 - 431: 6(int) Load 430 - 432: 26(ptr) ImageTexelPointer 393(g_tTex3di1) 429 25 - 433: 6(int) AtomicExchange 432 28 25 431 - Store 31(out_i1) 433 - 434: 395(ptr) AccessChain 17 394 - 435: 14(ivec3) Load 434 - 436: 19(ptr) AccessChain 17 22 - 437: 6(int) Load 436 - 438: 26(ptr) ImageTexelPointer 393(g_tTex3di1) 435 25 - 439: 6(int) AtomicSMax 438 28 25 437 - 440: 395(ptr) AccessChain 17 394 - 441: 14(ivec3) Load 440 - 442: 19(ptr) AccessChain 17 18 - 443: 6(int) Load 442 - 444: 26(ptr) ImageTexelPointer 393(g_tTex3di1) 441 25 - 445: 6(int) AtomicSMax 444 28 25 443 - Store 31(out_i1) 445 - 446: 395(ptr) AccessChain 17 394 - 447: 14(ivec3) Load 446 - 448: 19(ptr) AccessChain 17 22 - 449: 6(int) Load 448 - 450: 26(ptr) ImageTexelPointer 393(g_tTex3di1) 447 25 - 451: 6(int) AtomicSMin 450 28 25 449 - 452: 395(ptr) AccessChain 17 394 - 453: 14(ivec3) Load 452 - 454: 19(ptr) AccessChain 17 18 - 455: 6(int) Load 454 - 456: 26(ptr) ImageTexelPointer 393(g_tTex3di1) 453 25 - 457: 6(int) AtomicSMin 456 28 25 455 - Store 31(out_i1) 457 - 458: 395(ptr) AccessChain 17 394 - 459: 14(ivec3) Load 458 - 460: 19(ptr) AccessChain 17 22 - 461: 6(int) Load 460 - 462: 26(ptr) ImageTexelPointer 393(g_tTex3di1) 459 25 - 463: 6(int) AtomicOr 462 28 25 461 - 464: 395(ptr) AccessChain 17 394 - 465: 14(ivec3) Load 464 - 466: 19(ptr) AccessChain 17 18 - 467: 6(int) Load 466 - 468: 26(ptr) ImageTexelPointer 393(g_tTex3di1) 465 25 - 469: 6(int) AtomicOr 468 28 25 467 - Store 31(out_i1) 469 - 470: 395(ptr) AccessChain 17 394 - 471: 14(ivec3) Load 470 - 472: 19(ptr) AccessChain 17 22 - 473: 6(int) Load 472 - 474: 26(ptr) ImageTexelPointer 393(g_tTex3di1) 471 25 - 475: 6(int) AtomicXor 474 28 25 473 - 476: 395(ptr) AccessChain 17 394 - 477: 14(ivec3) Load 476 - 478: 19(ptr) AccessChain 17 18 - 479: 6(int) Load 478 - 480: 26(ptr) ImageTexelPointer 393(g_tTex3di1) 477 25 - 481: 6(int) AtomicXor 480 28 25 479 - Store 31(out_i1) 481 - 487: 486(ptr) AccessChain 17 485 - 488: 12(ivec3) Load 487 - 489: 117(ptr) AccessChain 17 116 - 490: 10(int) Load 489 - 491: 122(ptr) ImageTexelPointer 484(g_tTex3du1) 488 25 - 492: 10(int) AtomicIAdd 491 28 25 490 - 493: 486(ptr) AccessChain 17 485 - 494: 12(ivec3) Load 493 - 495: 117(ptr) AccessChain 17 116 - 496: 10(int) Load 495 - 497: 122(ptr) ImageTexelPointer 484(g_tTex3du1) 494 25 - 498: 10(int) AtomicIAdd 497 28 25 496 - Store 126(out_u1) 498 - 499: 486(ptr) AccessChain 17 485 - 500: 12(ivec3) Load 499 - 501: 117(ptr) AccessChain 17 116 - 502: 10(int) Load 501 - 503: 122(ptr) ImageTexelPointer 484(g_tTex3du1) 500 25 - 504: 10(int) AtomicAnd 503 28 25 502 - 505: 486(ptr) AccessChain 17 485 - 506: 12(ivec3) Load 505 - 507: 117(ptr) AccessChain 17 116 - 508: 10(int) Load 507 - 509: 122(ptr) ImageTexelPointer 484(g_tTex3du1) 506 25 - 510: 10(int) AtomicAnd 509 28 25 508 - Store 126(out_u1) 510 - 511: 486(ptr) AccessChain 17 485 - 512: 12(ivec3) Load 511 - 513: 117(ptr) AccessChain 17 147 - 514: 10(int) Load 513 - 515: 117(ptr) AccessChain 17 150 - 516: 10(int) Load 515 - 517: 122(ptr) ImageTexelPointer 484(g_tTex3du1) 512 25 - 518: 10(int) AtomicCompareExchange 517 28 25 25 516 514 - Store 126(out_u1) 518 - 519: 486(ptr) AccessChain 17 485 - 520: 12(ivec3) Load 519 - 521: 117(ptr) AccessChain 17 116 - 522: 10(int) Load 521 - 523: 122(ptr) ImageTexelPointer 484(g_tTex3du1) 520 25 - 524: 10(int) AtomicExchange 523 28 25 522 - Store 126(out_u1) 524 - 525: 486(ptr) AccessChain 17 485 - 526: 12(ivec3) Load 525 - 527: 117(ptr) AccessChain 17 116 - 528: 10(int) Load 527 - 529: 122(ptr) ImageTexelPointer 484(g_tTex3du1) 526 25 - 530: 10(int) AtomicUMax 529 28 25 528 - 531: 486(ptr) AccessChain 17 485 - 532: 12(ivec3) Load 531 - 533: 117(ptr) AccessChain 17 116 - 534: 10(int) Load 533 - 535: 122(ptr) ImageTexelPointer 484(g_tTex3du1) 532 25 - 536: 10(int) AtomicUMax 535 28 25 534 - Store 126(out_u1) 536 - 537: 486(ptr) AccessChain 17 485 - 538: 12(ivec3) Load 537 - 539: 117(ptr) AccessChain 17 116 - 540: 10(int) Load 539 - 541: 122(ptr) ImageTexelPointer 484(g_tTex3du1) 538 25 - 542: 10(int) AtomicUMin 541 28 25 540 - 543: 486(ptr) AccessChain 17 485 - 544: 12(ivec3) Load 543 - 545: 117(ptr) AccessChain 17 116 - 546: 10(int) Load 545 - 547: 122(ptr) ImageTexelPointer 484(g_tTex3du1) 544 25 - 548: 10(int) AtomicUMin 547 28 25 546 - Store 126(out_u1) 548 - 549: 486(ptr) AccessChain 17 485 - 550: 12(ivec3) Load 549 - 551: 117(ptr) AccessChain 17 116 - 552: 10(int) Load 551 - 553: 122(ptr) ImageTexelPointer 484(g_tTex3du1) 550 25 - 554: 10(int) AtomicOr 553 28 25 552 - 555: 486(ptr) AccessChain 17 485 - 556: 12(ivec3) Load 555 - 557: 117(ptr) AccessChain 17 116 - 558: 10(int) Load 557 - 559: 122(ptr) ImageTexelPointer 484(g_tTex3du1) 556 25 - 560: 10(int) AtomicOr 559 28 25 558 - Store 126(out_u1) 560 - 561: 486(ptr) AccessChain 17 485 - 562: 12(ivec3) Load 561 - 563: 117(ptr) AccessChain 17 116 - 564: 10(int) Load 563 - 565: 122(ptr) ImageTexelPointer 484(g_tTex3du1) 562 25 - 566: 10(int) AtomicXor 565 28 25 564 - 567: 486(ptr) AccessChain 17 485 - 568: 12(ivec3) Load 567 - 569: 117(ptr) AccessChain 17 116 - 570: 10(int) Load 569 - 571: 122(ptr) ImageTexelPointer 484(g_tTex3du1) 568 25 - 572: 10(int) AtomicXor 571 28 25 570 - Store 126(out_u1) 572 - 576: 213(ptr) AccessChain 17 212 - 577: 13(ivec2) Load 576 - 578: 19(ptr) AccessChain 17 22 - 579: 6(int) Load 578 - 580: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 577 25 - 581: 6(int) AtomicIAdd 580 28 25 579 - 582: 213(ptr) AccessChain 17 212 - 583: 13(ivec2) Load 582 - 584: 19(ptr) AccessChain 17 18 - 585: 6(int) Load 584 - 586: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 583 25 - 587: 6(int) AtomicIAdd 586 28 25 585 - Store 31(out_i1) 587 - 588: 213(ptr) AccessChain 17 212 - 589: 13(ivec2) Load 588 - 590: 19(ptr) AccessChain 17 22 - 591: 6(int) Load 590 - 592: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 589 25 - 593: 6(int) AtomicAnd 592 28 25 591 - 594: 213(ptr) AccessChain 17 212 - 595: 13(ivec2) Load 594 - 596: 19(ptr) AccessChain 17 18 - 597: 6(int) Load 596 - 598: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 595 25 - 599: 6(int) AtomicAnd 598 28 25 597 - Store 31(out_i1) 599 - 600: 213(ptr) AccessChain 17 212 - 601: 13(ivec2) Load 600 - 602: 19(ptr) AccessChain 17 22 - 603: 6(int) Load 602 - 604: 19(ptr) AccessChain 17 54 - 605: 6(int) Load 604 - 606: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 601 25 - 607: 6(int) AtomicCompareExchange 606 28 25 25 605 603 - Store 31(out_i1) 607 - 608: 213(ptr) AccessChain 17 212 - 609: 13(ivec2) Load 608 - 610: 19(ptr) AccessChain 17 18 - 611: 6(int) Load 610 - 612: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 609 25 - 613: 6(int) AtomicExchange 612 28 25 611 - Store 31(out_i1) 613 - 614: 213(ptr) AccessChain 17 212 - 615: 13(ivec2) Load 614 - 616: 19(ptr) AccessChain 17 22 - 617: 6(int) Load 616 - 618: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 615 25 - 619: 6(int) AtomicSMax 618 28 25 617 - 620: 213(ptr) AccessChain 17 212 - 621: 13(ivec2) Load 620 - 622: 19(ptr) AccessChain 17 18 - 623: 6(int) Load 622 - 624: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 621 25 - 625: 6(int) AtomicSMax 624 28 25 623 - Store 31(out_i1) 625 - 626: 213(ptr) AccessChain 17 212 - 627: 13(ivec2) Load 626 - 628: 19(ptr) AccessChain 17 22 - 629: 6(int) Load 628 - 630: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 627 25 - 631: 6(int) AtomicSMin 630 28 25 629 - 632: 213(ptr) AccessChain 17 212 - 633: 13(ivec2) Load 632 - 634: 19(ptr) AccessChain 17 18 - 635: 6(int) Load 634 - 636: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 633 25 - 637: 6(int) AtomicSMin 636 28 25 635 - Store 31(out_i1) 637 - 638: 213(ptr) AccessChain 17 212 - 639: 13(ivec2) Load 638 - 640: 19(ptr) AccessChain 17 22 - 641: 6(int) Load 640 - 642: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 639 25 - 643: 6(int) AtomicOr 642 28 25 641 - 644: 213(ptr) AccessChain 17 212 - 645: 13(ivec2) Load 644 - 646: 19(ptr) AccessChain 17 18 - 647: 6(int) Load 646 - 648: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 645 25 - 649: 6(int) AtomicOr 648 28 25 647 - Store 31(out_i1) 649 - 650: 213(ptr) AccessChain 17 212 - 651: 13(ivec2) Load 650 - 652: 19(ptr) AccessChain 17 22 - 653: 6(int) Load 652 - 654: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 651 25 - 655: 6(int) AtomicXor 654 28 25 653 - 656: 213(ptr) AccessChain 17 212 - 657: 13(ivec2) Load 656 - 658: 19(ptr) AccessChain 17 18 - 659: 6(int) Load 658 - 660: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 657 25 - 661: 6(int) AtomicXor 660 28 25 659 - Store 31(out_i1) 661 - 665: 304(ptr) AccessChain 17 303 - 666: 11(ivec2) Load 665 - 667: 117(ptr) AccessChain 17 116 - 668: 10(int) Load 667 - 669: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 666 25 - 670: 10(int) AtomicIAdd 669 28 25 668 - 671: 304(ptr) AccessChain 17 303 - 672: 11(ivec2) Load 671 - 673: 117(ptr) AccessChain 17 116 - 674: 10(int) Load 673 - 675: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 672 25 - 676: 10(int) AtomicIAdd 675 28 25 674 - Store 126(out_u1) 676 - 677: 304(ptr) AccessChain 17 303 - 678: 11(ivec2) Load 677 - 679: 117(ptr) AccessChain 17 116 - 680: 10(int) Load 679 - 681: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 678 25 - 682: 10(int) AtomicAnd 681 28 25 680 - 683: 304(ptr) AccessChain 17 303 - 684: 11(ivec2) Load 683 - 685: 117(ptr) AccessChain 17 116 - 686: 10(int) Load 685 - 687: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 684 25 - 688: 10(int) AtomicAnd 687 28 25 686 - Store 126(out_u1) 688 - 689: 304(ptr) AccessChain 17 303 - 690: 11(ivec2) Load 689 - 691: 117(ptr) AccessChain 17 147 - 692: 10(int) Load 691 - 693: 117(ptr) AccessChain 17 150 - 694: 10(int) Load 693 - 695: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 690 25 - 696: 10(int) AtomicCompareExchange 695 28 25 25 694 692 - Store 126(out_u1) 696 - 697: 304(ptr) AccessChain 17 303 - 698: 11(ivec2) Load 697 - 699: 117(ptr) AccessChain 17 116 - 700: 10(int) Load 699 - 701: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 698 25 - 702: 10(int) AtomicExchange 701 28 25 700 - Store 126(out_u1) 702 - 703: 304(ptr) AccessChain 17 303 - 704: 11(ivec2) Load 703 - 705: 117(ptr) AccessChain 17 116 - 706: 10(int) Load 705 - 707: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 704 25 - 708: 10(int) AtomicUMax 707 28 25 706 - 709: 304(ptr) AccessChain 17 303 - 710: 11(ivec2) Load 709 - 711: 117(ptr) AccessChain 17 116 - 712: 10(int) Load 711 - 713: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 710 25 - 714: 10(int) AtomicUMax 713 28 25 712 - Store 126(out_u1) 714 - 715: 304(ptr) AccessChain 17 303 - 716: 11(ivec2) Load 715 - 717: 117(ptr) AccessChain 17 116 - 718: 10(int) Load 717 - 719: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 716 25 - 720: 10(int) AtomicUMin 719 28 25 718 - 721: 304(ptr) AccessChain 17 303 - 722: 11(ivec2) Load 721 - 723: 117(ptr) AccessChain 17 116 - 724: 10(int) Load 723 - 725: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 722 25 - 726: 10(int) AtomicUMin 725 28 25 724 - Store 126(out_u1) 726 - 727: 304(ptr) AccessChain 17 303 - 728: 11(ivec2) Load 727 - 729: 117(ptr) AccessChain 17 116 - 730: 10(int) Load 729 - 731: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 728 25 - 732: 10(int) AtomicOr 731 28 25 730 - 733: 304(ptr) AccessChain 17 303 - 734: 11(ivec2) Load 733 - 735: 117(ptr) AccessChain 17 116 - 736: 10(int) Load 735 - 737: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 734 25 - 738: 10(int) AtomicOr 737 28 25 736 - Store 126(out_u1) 738 - 739: 304(ptr) AccessChain 17 303 - 740: 11(ivec2) Load 739 - 741: 117(ptr) AccessChain 17 116 - 742: 10(int) Load 741 - 743: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 740 25 - 744: 10(int) AtomicXor 743 28 25 742 - 745: 304(ptr) AccessChain 17 303 - 746: 11(ivec2) Load 745 - 747: 117(ptr) AccessChain 17 116 - 748: 10(int) Load 747 - 749: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 746 25 - 750: 10(int) AtomicXor 749 28 25 748 - Store 126(out_u1) 750 - 751: 213(ptr) AccessChain 17 212 - 752: 13(ivec2) Load 751 - 753: 19(ptr) AccessChain 17 22 - 754: 6(int) Load 753 - 755: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 752 25 - 756: 6(int) AtomicIAdd 755 28 25 754 - 757: 213(ptr) AccessChain 17 212 - 758: 13(ivec2) Load 757 - 759: 19(ptr) AccessChain 17 18 - 760: 6(int) Load 759 - 761: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 758 25 - 762: 6(int) AtomicIAdd 761 28 25 760 - Store 31(out_i1) 762 - 763: 213(ptr) AccessChain 17 212 - 764: 13(ivec2) Load 763 - 765: 19(ptr) AccessChain 17 22 - 766: 6(int) Load 765 - 767: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 764 25 - 768: 6(int) AtomicAnd 767 28 25 766 - 769: 213(ptr) AccessChain 17 212 - 770: 13(ivec2) Load 769 - 771: 19(ptr) AccessChain 17 18 - 772: 6(int) Load 771 - 773: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 770 25 - 774: 6(int) AtomicAnd 773 28 25 772 - Store 31(out_i1) 774 - 775: 213(ptr) AccessChain 17 212 - 776: 13(ivec2) Load 775 - 777: 19(ptr) AccessChain 17 22 - 778: 6(int) Load 777 - 779: 19(ptr) AccessChain 17 54 - 780: 6(int) Load 779 - 781: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 776 25 - 782: 6(int) AtomicCompareExchange 781 28 25 25 780 778 - Store 31(out_i1) 782 - 783: 213(ptr) AccessChain 17 212 - 784: 13(ivec2) Load 783 - 785: 19(ptr) AccessChain 17 18 - 786: 6(int) Load 785 - 787: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 784 25 - 788: 6(int) AtomicExchange 787 28 25 786 - Store 31(out_i1) 788 - 789: 213(ptr) AccessChain 17 212 - 790: 13(ivec2) Load 789 - 791: 19(ptr) AccessChain 17 22 - 792: 6(int) Load 791 - 793: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 790 25 - 794: 6(int) AtomicSMax 793 28 25 792 - 795: 213(ptr) AccessChain 17 212 - 796: 13(ivec2) Load 795 - 797: 19(ptr) AccessChain 17 18 - 798: 6(int) Load 797 - 799: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 796 25 - 800: 6(int) AtomicSMax 799 28 25 798 - Store 31(out_i1) 800 - 801: 213(ptr) AccessChain 17 212 - 802: 13(ivec2) Load 801 - 803: 19(ptr) AccessChain 17 22 - 804: 6(int) Load 803 - 805: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 802 25 - 806: 6(int) AtomicSMin 805 28 25 804 - 807: 213(ptr) AccessChain 17 212 - 808: 13(ivec2) Load 807 - 809: 19(ptr) AccessChain 17 18 - 810: 6(int) Load 809 - 811: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 808 25 - 812: 6(int) AtomicSMin 811 28 25 810 - Store 31(out_i1) 812 - 813: 213(ptr) AccessChain 17 212 - 814: 13(ivec2) Load 813 - 815: 19(ptr) AccessChain 17 22 - 816: 6(int) Load 815 - 817: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 814 25 - 818: 6(int) AtomicOr 817 28 25 816 - 819: 213(ptr) AccessChain 17 212 - 820: 13(ivec2) Load 819 - 821: 19(ptr) AccessChain 17 18 - 822: 6(int) Load 821 - 823: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 820 25 - 824: 6(int) AtomicOr 823 28 25 822 - Store 31(out_i1) 824 - 825: 213(ptr) AccessChain 17 212 - 826: 13(ivec2) Load 825 - 827: 19(ptr) AccessChain 17 22 - 828: 6(int) Load 827 - 829: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 826 25 - 830: 6(int) AtomicXor 829 28 25 828 - 831: 213(ptr) AccessChain 17 212 - 832: 13(ivec2) Load 831 - 833: 19(ptr) AccessChain 17 18 - 834: 6(int) Load 833 - 835: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 832 25 - 836: 6(int) AtomicXor 835 28 25 834 - Store 31(out_i1) 836 - 837: 304(ptr) AccessChain 17 303 - 838: 11(ivec2) Load 837 - 839: 117(ptr) AccessChain 17 116 - 840: 10(int) Load 839 - 841: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 838 25 - 842: 10(int) AtomicIAdd 841 28 25 840 - 843: 304(ptr) AccessChain 17 303 - 844: 11(ivec2) Load 843 - 845: 117(ptr) AccessChain 17 116 - 846: 10(int) Load 845 - 847: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 844 25 - 848: 10(int) AtomicIAdd 847 28 25 846 - Store 126(out_u1) 848 - 849: 304(ptr) AccessChain 17 303 - 850: 11(ivec2) Load 849 - 851: 117(ptr) AccessChain 17 116 - 852: 10(int) Load 851 - 853: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 850 25 - 854: 10(int) AtomicAnd 853 28 25 852 - 855: 304(ptr) AccessChain 17 303 - 856: 11(ivec2) Load 855 - 857: 117(ptr) AccessChain 17 116 - 858: 10(int) Load 857 - 859: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 856 25 - 860: 10(int) AtomicAnd 859 28 25 858 - Store 126(out_u1) 860 - 861: 304(ptr) AccessChain 17 303 - 862: 11(ivec2) Load 861 - 863: 117(ptr) AccessChain 17 147 - 864: 10(int) Load 863 - 865: 117(ptr) AccessChain 17 150 - 866: 10(int) Load 865 - 867: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 862 25 - 868: 10(int) AtomicCompareExchange 867 28 25 25 866 864 - Store 126(out_u1) 868 - 869: 304(ptr) AccessChain 17 303 - 870: 11(ivec2) Load 869 - 871: 117(ptr) AccessChain 17 116 - 872: 10(int) Load 871 - 873: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 870 25 - 874: 10(int) AtomicExchange 873 28 25 872 - Store 126(out_u1) 874 - 875: 304(ptr) AccessChain 17 303 - 876: 11(ivec2) Load 875 - 877: 117(ptr) AccessChain 17 116 - 878: 10(int) Load 877 - 879: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 876 25 - 880: 10(int) AtomicUMax 879 28 25 878 - 881: 304(ptr) AccessChain 17 303 - 882: 11(ivec2) Load 881 - 883: 117(ptr) AccessChain 17 116 - 884: 10(int) Load 883 - 885: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 882 25 - 886: 10(int) AtomicUMax 885 28 25 884 - Store 126(out_u1) 886 - 887: 304(ptr) AccessChain 17 303 - 888: 11(ivec2) Load 887 - 889: 117(ptr) AccessChain 17 116 - 890: 10(int) Load 889 - 891: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 888 25 - 892: 10(int) AtomicUMin 891 28 25 890 - 893: 304(ptr) AccessChain 17 303 - 894: 11(ivec2) Load 893 - 895: 117(ptr) AccessChain 17 116 - 896: 10(int) Load 895 - 897: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 894 25 - 898: 10(int) AtomicUMin 897 28 25 896 - Store 126(out_u1) 898 - 899: 304(ptr) AccessChain 17 303 - 900: 11(ivec2) Load 899 - 901: 117(ptr) AccessChain 17 116 - 902: 10(int) Load 901 - 903: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 900 25 - 904: 10(int) AtomicOr 903 28 25 902 - 905: 304(ptr) AccessChain 17 303 - 906: 11(ivec2) Load 905 - 907: 117(ptr) AccessChain 17 116 - 908: 10(int) Load 907 - 909: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 906 25 - 910: 10(int) AtomicOr 909 28 25 908 - Store 126(out_u1) 910 - 911: 304(ptr) AccessChain 17 303 - 912: 11(ivec2) Load 911 - 913: 117(ptr) AccessChain 17 116 - 914: 10(int) Load 913 - 915: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 912 25 - 916: 10(int) AtomicXor 915 28 25 914 - 917: 304(ptr) AccessChain 17 303 - 918: 11(ivec2) Load 917 - 919: 117(ptr) AccessChain 17 116 - 920: 10(int) Load 919 - 921: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 918 25 - 922: 10(int) AtomicXor 921 28 25 920 - Store 126(out_u1) 922 - 926: 19(ptr) AccessChain 17 18 - 927: 6(int) Load 926 - 928: 19(ptr) AccessChain 17 22 - 929: 6(int) Load 928 - 930: 26(ptr) ImageTexelPointer 925(g_tBuffI) 927 25 - 931: 6(int) AtomicIAdd 930 28 25 929 - 932: 19(ptr) AccessChain 17 18 - 933: 6(int) Load 932 - 934: 19(ptr) AccessChain 17 18 - 935: 6(int) Load 934 - 936: 26(ptr) ImageTexelPointer 925(g_tBuffI) 933 25 - 937: 6(int) AtomicIAdd 936 28 25 935 - Store 31(out_i1) 937 - 938: 19(ptr) AccessChain 17 18 - 939: 6(int) Load 938 - 940: 19(ptr) AccessChain 17 22 - 941: 6(int) Load 940 - 942: 26(ptr) ImageTexelPointer 925(g_tBuffI) 939 25 - 943: 6(int) AtomicAnd 942 28 25 941 - 944: 19(ptr) AccessChain 17 18 - 945: 6(int) Load 944 - 946: 19(ptr) AccessChain 17 18 - 947: 6(int) Load 946 - 948: 26(ptr) ImageTexelPointer 925(g_tBuffI) 945 25 - 949: 6(int) AtomicAnd 948 28 25 947 - Store 31(out_i1) 949 - 950: 19(ptr) AccessChain 17 18 - 951: 6(int) Load 950 - 952: 19(ptr) AccessChain 17 22 - 953: 6(int) Load 952 - 954: 19(ptr) AccessChain 17 54 - 955: 6(int) Load 954 - 956: 26(ptr) ImageTexelPointer 925(g_tBuffI) 951 25 - 957: 6(int) AtomicCompareExchange 956 28 25 25 955 953 - Store 31(out_i1) 957 - 958: 19(ptr) AccessChain 17 18 - 959: 6(int) Load 958 - 960: 19(ptr) AccessChain 17 18 - 961: 6(int) Load 960 - 962: 26(ptr) ImageTexelPointer 925(g_tBuffI) 959 25 - 963: 6(int) AtomicExchange 962 28 25 961 - Store 31(out_i1) 963 - 964: 19(ptr) AccessChain 17 18 - 965: 6(int) Load 964 - 966: 19(ptr) AccessChain 17 22 - 967: 6(int) Load 966 - 968: 26(ptr) ImageTexelPointer 925(g_tBuffI) 965 25 - 969: 6(int) AtomicSMax 968 28 25 967 - 970: 19(ptr) AccessChain 17 18 - 971: 6(int) Load 970 - 972: 19(ptr) AccessChain 17 18 - 973: 6(int) Load 972 - 974: 26(ptr) ImageTexelPointer 925(g_tBuffI) 971 25 - 975: 6(int) AtomicSMax 974 28 25 973 - Store 31(out_i1) 975 - 976: 19(ptr) AccessChain 17 18 - 977: 6(int) Load 976 - 978: 19(ptr) AccessChain 17 22 - 979: 6(int) Load 978 - 980: 26(ptr) ImageTexelPointer 925(g_tBuffI) 977 25 - 981: 6(int) AtomicSMin 980 28 25 979 - 982: 19(ptr) AccessChain 17 18 - 983: 6(int) Load 982 - 984: 19(ptr) AccessChain 17 18 - 985: 6(int) Load 984 - 986: 26(ptr) ImageTexelPointer 925(g_tBuffI) 983 25 - 987: 6(int) AtomicSMin 986 28 25 985 - Store 31(out_i1) 987 - 988: 19(ptr) AccessChain 17 18 - 989: 6(int) Load 988 - 990: 19(ptr) AccessChain 17 22 - 991: 6(int) Load 990 - 992: 26(ptr) ImageTexelPointer 925(g_tBuffI) 989 25 - 993: 6(int) AtomicOr 992 28 25 991 - 994: 19(ptr) AccessChain 17 18 - 995: 6(int) Load 994 - 996: 19(ptr) AccessChain 17 18 - 997: 6(int) Load 996 - 998: 26(ptr) ImageTexelPointer 925(g_tBuffI) 995 25 - 999: 6(int) AtomicOr 998 28 25 997 - Store 31(out_i1) 999 - 1000: 19(ptr) AccessChain 17 18 - 1001: 6(int) Load 1000 - 1002: 19(ptr) AccessChain 17 22 - 1003: 6(int) Load 1002 - 1004: 26(ptr) ImageTexelPointer 925(g_tBuffI) 1001 25 - 1005: 6(int) AtomicXor 1004 28 25 1003 - 1006: 19(ptr) AccessChain 17 18 - 1007: 6(int) Load 1006 - 1008: 19(ptr) AccessChain 17 18 - 1009: 6(int) Load 1008 - 1010: 26(ptr) ImageTexelPointer 925(g_tBuffI) 1007 25 - 1011: 6(int) AtomicXor 1010 28 25 1009 - Store 31(out_i1) 1011 - 1015: 117(ptr) AccessChain 17 116 - 1016: 10(int) Load 1015 - 1017: 117(ptr) AccessChain 17 116 - 1018: 10(int) Load 1017 - 1019: 122(ptr) ImageTexelPointer 1014(g_tBuffU) 1016 25 - 1020: 10(int) AtomicIAdd 1019 28 25 1018 - 1021: 117(ptr) AccessChain 17 116 - 1022: 10(int) Load 1021 - 1023: 117(ptr) AccessChain 17 116 - 1024: 10(int) Load 1023 - 1025: 122(ptr) ImageTexelPointer 1014(g_tBuffU) 1022 25 - 1026: 10(int) AtomicIAdd 1025 28 25 1024 - Store 126(out_u1) 1026 - 1027: 117(ptr) AccessChain 17 116 - 1028: 10(int) Load 1027 - 1029: 117(ptr) AccessChain 17 116 - 1030: 10(int) Load 1029 - 1031: 122(ptr) ImageTexelPointer 1014(g_tBuffU) 1028 25 - 1032: 10(int) AtomicAnd 1031 28 25 1030 - 1033: 117(ptr) AccessChain 17 116 - 1034: 10(int) Load 1033 - 1035: 117(ptr) AccessChain 17 116 - 1036: 10(int) Load 1035 - 1037: 122(ptr) ImageTexelPointer 1014(g_tBuffU) 1034 25 - 1038: 10(int) AtomicAnd 1037 28 25 1036 - Store 126(out_u1) 1038 - 1039: 117(ptr) AccessChain 17 116 - 1040: 10(int) Load 1039 - 1041: 117(ptr) AccessChain 17 147 - 1042: 10(int) Load 1041 - 1043: 117(ptr) AccessChain 17 150 - 1044: 10(int) Load 1043 - 1045: 122(ptr) ImageTexelPointer 1014(g_tBuffU) 1040 25 - 1046: 10(int) AtomicCompareExchange 1045 28 25 25 1044 1042 - Store 126(out_u1) 1046 - 1047: 117(ptr) AccessChain 17 116 - 1048: 10(int) Load 1047 - 1049: 117(ptr) AccessChain 17 116 - 1050: 10(int) Load 1049 - 1051: 122(ptr) ImageTexelPointer 1014(g_tBuffU) 1048 25 - 1052: 10(int) AtomicExchange 1051 28 25 1050 - Store 126(out_u1) 1052 - 1053: 117(ptr) AccessChain 17 116 - 1054: 10(int) Load 1053 - 1055: 117(ptr) AccessChain 17 116 - 1056: 10(int) Load 1055 - 1057: 122(ptr) ImageTexelPointer 1014(g_tBuffU) 1054 25 - 1058: 10(int) AtomicUMax 1057 28 25 1056 - 1059: 117(ptr) AccessChain 17 116 - 1060: 10(int) Load 1059 - 1061: 117(ptr) AccessChain 17 116 - 1062: 10(int) Load 1061 - 1063: 122(ptr) ImageTexelPointer 1014(g_tBuffU) 1060 25 - 1064: 10(int) AtomicUMax 1063 28 25 1062 - Store 126(out_u1) 1064 - 1065: 117(ptr) AccessChain 17 116 - 1066: 10(int) Load 1065 - 1067: 117(ptr) AccessChain 17 116 - 1068: 10(int) Load 1067 - 1069: 122(ptr) ImageTexelPointer 1014(g_tBuffU) 1066 25 - 1070: 10(int) AtomicUMin 1069 28 25 1068 - 1071: 117(ptr) AccessChain 17 116 - 1072: 10(int) Load 1071 - 1073: 117(ptr) AccessChain 17 116 - 1074: 10(int) Load 1073 - 1075: 122(ptr) ImageTexelPointer 1014(g_tBuffU) 1072 25 - 1076: 10(int) AtomicUMin 1075 28 25 1074 - Store 126(out_u1) 1076 - 1077: 117(ptr) AccessChain 17 116 - 1078: 10(int) Load 1077 - 1079: 117(ptr) AccessChain 17 116 - 1080: 10(int) Load 1079 - 1081: 122(ptr) ImageTexelPointer 1014(g_tBuffU) 1078 25 - 1082: 10(int) AtomicOr 1081 28 25 1080 - 1083: 117(ptr) AccessChain 17 116 - 1084: 10(int) Load 1083 - 1085: 117(ptr) AccessChain 17 116 - 1086: 10(int) Load 1085 - 1087: 122(ptr) ImageTexelPointer 1014(g_tBuffU) 1084 25 - 1088: 10(int) AtomicOr 1087 28 25 1086 - Store 126(out_u1) 1088 - 1089: 117(ptr) AccessChain 17 116 - 1090: 10(int) Load 1089 - 1091: 117(ptr) AccessChain 17 116 - 1092: 10(int) Load 1091 - 1093: 122(ptr) ImageTexelPointer 1014(g_tBuffU) 1090 25 - 1094: 10(int) AtomicXor 1093 28 25 1092 - 1095: 117(ptr) AccessChain 17 116 - 1096: 10(int) Load 1095 - 1097: 117(ptr) AccessChain 17 116 - 1098: 10(int) Load 1097 - 1099: 122(ptr) ImageTexelPointer 1014(g_tBuffU) 1096 25 - 1100: 10(int) AtomicXor 1099 28 25 1098 - Store 126(out_u1) 1100 - 1109: 1108(ptr) AccessChain 1105(psout) 116 - Store 1109 1107 - 1112: 1108(ptr) AccessChain 1105(psout) 116 - 1113: 1102(fvec4) Load 1112 - Store 1111(Color) 1113 + 1118:8(PS_OUTPUT) FunctionCall 10(@main() + 1119: 7(fvec4) CompositeExtract 1118 0 + Store 1117(Color) 1119 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 37(out_i1): 36(ptr) Variable Function + 132(out_u1): 131(ptr) Variable Function + 1108(psout): 1107(ptr) Variable Function + 26: 25(ptr) AccessChain 23 24 + 27: 12(int) Load 26 + 29: 25(ptr) AccessChain 23 28 + 30: 12(int) Load 29 + 33: 32(ptr) ImageTexelPointer 15(g_tTex1di1) 27 31 + 35: 12(int) AtomicIAdd 33 34 31 30 + 38: 25(ptr) AccessChain 23 24 + 39: 12(int) Load 38 + 40: 25(ptr) AccessChain 23 24 + 41: 12(int) Load 40 + 42: 32(ptr) ImageTexelPointer 15(g_tTex1di1) 39 31 + 43: 12(int) AtomicIAdd 42 34 31 41 + Store 37(out_i1) 43 + 44: 25(ptr) AccessChain 23 24 + 45: 12(int) Load 44 + 46: 25(ptr) AccessChain 23 28 + 47: 12(int) Load 46 + 48: 32(ptr) ImageTexelPointer 15(g_tTex1di1) 45 31 + 49: 12(int) AtomicAnd 48 34 31 47 + 50: 25(ptr) AccessChain 23 24 + 51: 12(int) Load 50 + 52: 25(ptr) AccessChain 23 24 + 53: 12(int) Load 52 + 54: 32(ptr) ImageTexelPointer 15(g_tTex1di1) 51 31 + 55: 12(int) AtomicAnd 54 34 31 53 + Store 37(out_i1) 55 + 56: 25(ptr) AccessChain 23 24 + 57: 12(int) Load 56 + 58: 25(ptr) AccessChain 23 28 + 59: 12(int) Load 58 + 61: 25(ptr) AccessChain 23 60 + 62: 12(int) Load 61 + 63: 32(ptr) ImageTexelPointer 15(g_tTex1di1) 57 31 + 64: 12(int) AtomicCompareExchange 63 34 31 31 62 59 + Store 37(out_i1) 64 + 65: 25(ptr) AccessChain 23 24 + 66: 12(int) Load 65 + 67: 25(ptr) AccessChain 23 24 + 68: 12(int) Load 67 + 69: 32(ptr) ImageTexelPointer 15(g_tTex1di1) 66 31 + 70: 12(int) AtomicExchange 69 34 31 68 + Store 37(out_i1) 70 + 71: 25(ptr) AccessChain 23 24 + 72: 12(int) Load 71 + 73: 25(ptr) AccessChain 23 28 + 74: 12(int) Load 73 + 75: 32(ptr) ImageTexelPointer 15(g_tTex1di1) 72 31 + 76: 12(int) AtomicSMax 75 34 31 74 + 77: 25(ptr) AccessChain 23 24 + 78: 12(int) Load 77 + 79: 25(ptr) AccessChain 23 24 + 80: 12(int) Load 79 + 81: 32(ptr) ImageTexelPointer 15(g_tTex1di1) 78 31 + 82: 12(int) AtomicSMax 81 34 31 80 + Store 37(out_i1) 82 + 83: 25(ptr) AccessChain 23 24 + 84: 12(int) Load 83 + 85: 25(ptr) AccessChain 23 28 + 86: 12(int) Load 85 + 87: 32(ptr) ImageTexelPointer 15(g_tTex1di1) 84 31 + 88: 12(int) AtomicSMin 87 34 31 86 + 89: 25(ptr) AccessChain 23 24 + 90: 12(int) Load 89 + 91: 25(ptr) AccessChain 23 24 + 92: 12(int) Load 91 + 93: 32(ptr) ImageTexelPointer 15(g_tTex1di1) 90 31 + 94: 12(int) AtomicSMin 93 34 31 92 + Store 37(out_i1) 94 + 95: 25(ptr) AccessChain 23 24 + 96: 12(int) Load 95 + 97: 25(ptr) AccessChain 23 28 + 98: 12(int) Load 97 + 99: 32(ptr) ImageTexelPointer 15(g_tTex1di1) 96 31 + 100: 12(int) AtomicOr 99 34 31 98 + 101: 25(ptr) AccessChain 23 24 + 102: 12(int) Load 101 + 103: 25(ptr) AccessChain 23 24 + 104: 12(int) Load 103 + 105: 32(ptr) ImageTexelPointer 15(g_tTex1di1) 102 31 + 106: 12(int) AtomicOr 105 34 31 104 + Store 37(out_i1) 106 + 107: 25(ptr) AccessChain 23 24 + 108: 12(int) Load 107 + 109: 25(ptr) AccessChain 23 28 + 110: 12(int) Load 109 + 111: 32(ptr) ImageTexelPointer 15(g_tTex1di1) 108 31 + 112: 12(int) AtomicXor 111 34 31 110 + 113: 25(ptr) AccessChain 23 24 + 114: 12(int) Load 113 + 115: 25(ptr) AccessChain 23 24 + 116: 12(int) Load 115 + 117: 32(ptr) ImageTexelPointer 15(g_tTex1di1) 114 31 + 118: 12(int) AtomicXor 117 34 31 116 + Store 37(out_i1) 118 + 124: 123(ptr) AccessChain 23 122 + 125: 16(int) Load 124 + 126: 123(ptr) AccessChain 23 122 + 127: 16(int) Load 126 + 129: 128(ptr) ImageTexelPointer 121(g_tTex1du1) 125 31 + 130: 16(int) AtomicIAdd 129 34 31 127 + 133: 123(ptr) AccessChain 23 122 + 134: 16(int) Load 133 + 135: 123(ptr) AccessChain 23 122 + 136: 16(int) Load 135 + 137: 128(ptr) ImageTexelPointer 121(g_tTex1du1) 134 31 + 138: 16(int) AtomicIAdd 137 34 31 136 + Store 132(out_u1) 138 + 139: 123(ptr) AccessChain 23 122 + 140: 16(int) Load 139 + 141: 123(ptr) AccessChain 23 122 + 142: 16(int) Load 141 + 143: 128(ptr) ImageTexelPointer 121(g_tTex1du1) 140 31 + 144: 16(int) AtomicAnd 143 34 31 142 + 145: 123(ptr) AccessChain 23 122 + 146: 16(int) Load 145 + 147: 123(ptr) AccessChain 23 122 + 148: 16(int) Load 147 + 149: 128(ptr) ImageTexelPointer 121(g_tTex1du1) 146 31 + 150: 16(int) AtomicAnd 149 34 31 148 + Store 132(out_u1) 150 + 151: 123(ptr) AccessChain 23 122 + 152: 16(int) Load 151 + 154: 123(ptr) AccessChain 23 153 + 155: 16(int) Load 154 + 157: 123(ptr) AccessChain 23 156 + 158: 16(int) Load 157 + 159: 128(ptr) ImageTexelPointer 121(g_tTex1du1) 152 31 + 160: 16(int) AtomicCompareExchange 159 34 31 31 158 155 + Store 132(out_u1) 160 + 161: 123(ptr) AccessChain 23 122 + 162: 16(int) Load 161 + 163: 123(ptr) AccessChain 23 122 + 164: 16(int) Load 163 + 165: 128(ptr) ImageTexelPointer 121(g_tTex1du1) 162 31 + 166: 16(int) AtomicExchange 165 34 31 164 + Store 132(out_u1) 166 + 167: 123(ptr) AccessChain 23 122 + 168: 16(int) Load 167 + 169: 123(ptr) AccessChain 23 122 + 170: 16(int) Load 169 + 171: 128(ptr) ImageTexelPointer 121(g_tTex1du1) 168 31 + 172: 16(int) AtomicUMax 171 34 31 170 + 173: 123(ptr) AccessChain 23 122 + 174: 16(int) Load 173 + 175: 123(ptr) AccessChain 23 122 + 176: 16(int) Load 175 + 177: 128(ptr) ImageTexelPointer 121(g_tTex1du1) 174 31 + 178: 16(int) AtomicUMax 177 34 31 176 + Store 132(out_u1) 178 + 179: 123(ptr) AccessChain 23 122 + 180: 16(int) Load 179 + 181: 123(ptr) AccessChain 23 122 + 182: 16(int) Load 181 + 183: 128(ptr) ImageTexelPointer 121(g_tTex1du1) 180 31 + 184: 16(int) AtomicUMin 183 34 31 182 + 185: 123(ptr) AccessChain 23 122 + 186: 16(int) Load 185 + 187: 123(ptr) AccessChain 23 122 + 188: 16(int) Load 187 + 189: 128(ptr) ImageTexelPointer 121(g_tTex1du1) 186 31 + 190: 16(int) AtomicUMin 189 34 31 188 + Store 132(out_u1) 190 + 191: 123(ptr) AccessChain 23 122 + 192: 16(int) Load 191 + 193: 123(ptr) AccessChain 23 122 + 194: 16(int) Load 193 + 195: 128(ptr) ImageTexelPointer 121(g_tTex1du1) 192 31 + 196: 16(int) AtomicOr 195 34 31 194 + 197: 123(ptr) AccessChain 23 122 + 198: 16(int) Load 197 + 199: 123(ptr) AccessChain 23 122 + 200: 16(int) Load 199 + 201: 128(ptr) ImageTexelPointer 121(g_tTex1du1) 198 31 + 202: 16(int) AtomicOr 201 34 31 200 + Store 132(out_u1) 202 + 203: 123(ptr) AccessChain 23 122 + 204: 16(int) Load 203 + 205: 123(ptr) AccessChain 23 122 + 206: 16(int) Load 205 + 207: 128(ptr) ImageTexelPointer 121(g_tTex1du1) 204 31 + 208: 16(int) AtomicXor 207 34 31 206 + 209: 123(ptr) AccessChain 23 122 + 210: 16(int) Load 209 + 211: 123(ptr) AccessChain 23 122 + 212: 16(int) Load 211 + 213: 128(ptr) ImageTexelPointer 121(g_tTex1du1) 210 31 + 214: 16(int) AtomicXor 213 34 31 212 + Store 132(out_u1) 214 + 220: 219(ptr) AccessChain 23 218 + 221: 19(ivec2) Load 220 + 222: 25(ptr) AccessChain 23 28 + 223: 12(int) Load 222 + 224: 32(ptr) ImageTexelPointer 217(g_tTex2di1) 221 31 + 225: 12(int) AtomicIAdd 224 34 31 223 + 226: 219(ptr) AccessChain 23 218 + 227: 19(ivec2) Load 226 + 228: 25(ptr) AccessChain 23 24 + 229: 12(int) Load 228 + 230: 32(ptr) ImageTexelPointer 217(g_tTex2di1) 227 31 + 231: 12(int) AtomicIAdd 230 34 31 229 + Store 37(out_i1) 231 + 232: 219(ptr) AccessChain 23 218 + 233: 19(ivec2) Load 232 + 234: 25(ptr) AccessChain 23 28 + 235: 12(int) Load 234 + 236: 32(ptr) ImageTexelPointer 217(g_tTex2di1) 233 31 + 237: 12(int) AtomicAnd 236 34 31 235 + 238: 219(ptr) AccessChain 23 218 + 239: 19(ivec2) Load 238 + 240: 25(ptr) AccessChain 23 24 + 241: 12(int) Load 240 + 242: 32(ptr) ImageTexelPointer 217(g_tTex2di1) 239 31 + 243: 12(int) AtomicAnd 242 34 31 241 + Store 37(out_i1) 243 + 244: 219(ptr) AccessChain 23 218 + 245: 19(ivec2) Load 244 + 246: 25(ptr) AccessChain 23 28 + 247: 12(int) Load 246 + 248: 25(ptr) AccessChain 23 60 + 249: 12(int) Load 248 + 250: 32(ptr) ImageTexelPointer 217(g_tTex2di1) 245 31 + 251: 12(int) AtomicCompareExchange 250 34 31 31 249 247 + Store 37(out_i1) 251 + 252: 219(ptr) AccessChain 23 218 + 253: 19(ivec2) Load 252 + 254: 25(ptr) AccessChain 23 24 + 255: 12(int) Load 254 + 256: 32(ptr) ImageTexelPointer 217(g_tTex2di1) 253 31 + 257: 12(int) AtomicExchange 256 34 31 255 + Store 37(out_i1) 257 + 258: 219(ptr) AccessChain 23 218 + 259: 19(ivec2) Load 258 + 260: 25(ptr) AccessChain 23 28 + 261: 12(int) Load 260 + 262: 32(ptr) ImageTexelPointer 217(g_tTex2di1) 259 31 + 263: 12(int) AtomicSMax 262 34 31 261 + 264: 219(ptr) AccessChain 23 218 + 265: 19(ivec2) Load 264 + 266: 25(ptr) AccessChain 23 24 + 267: 12(int) Load 266 + 268: 32(ptr) ImageTexelPointer 217(g_tTex2di1) 265 31 + 269: 12(int) AtomicSMax 268 34 31 267 + Store 37(out_i1) 269 + 270: 219(ptr) AccessChain 23 218 + 271: 19(ivec2) Load 270 + 272: 25(ptr) AccessChain 23 28 + 273: 12(int) Load 272 + 274: 32(ptr) ImageTexelPointer 217(g_tTex2di1) 271 31 + 275: 12(int) AtomicSMin 274 34 31 273 + 276: 219(ptr) AccessChain 23 218 + 277: 19(ivec2) Load 276 + 278: 25(ptr) AccessChain 23 24 + 279: 12(int) Load 278 + 280: 32(ptr) ImageTexelPointer 217(g_tTex2di1) 277 31 + 281: 12(int) AtomicSMin 280 34 31 279 + Store 37(out_i1) 281 + 282: 219(ptr) AccessChain 23 218 + 283: 19(ivec2) Load 282 + 284: 25(ptr) AccessChain 23 28 + 285: 12(int) Load 284 + 286: 32(ptr) ImageTexelPointer 217(g_tTex2di1) 283 31 + 287: 12(int) AtomicOr 286 34 31 285 + 288: 219(ptr) AccessChain 23 218 + 289: 19(ivec2) Load 288 + 290: 25(ptr) AccessChain 23 24 + 291: 12(int) Load 290 + 292: 32(ptr) ImageTexelPointer 217(g_tTex2di1) 289 31 + 293: 12(int) AtomicOr 292 34 31 291 + Store 37(out_i1) 293 + 294: 219(ptr) AccessChain 23 218 + 295: 19(ivec2) Load 294 + 296: 25(ptr) AccessChain 23 28 + 297: 12(int) Load 296 + 298: 32(ptr) ImageTexelPointer 217(g_tTex2di1) 295 31 + 299: 12(int) AtomicXor 298 34 31 297 + 300: 219(ptr) AccessChain 23 218 + 301: 19(ivec2) Load 300 + 302: 25(ptr) AccessChain 23 24 + 303: 12(int) Load 302 + 304: 32(ptr) ImageTexelPointer 217(g_tTex2di1) 301 31 + 305: 12(int) AtomicXor 304 34 31 303 + Store 37(out_i1) 305 + 311: 310(ptr) AccessChain 23 309 + 312: 17(ivec2) Load 311 + 313: 123(ptr) AccessChain 23 122 + 314: 16(int) Load 313 + 315: 128(ptr) ImageTexelPointer 308(g_tTex2du1) 312 31 + 316: 16(int) AtomicIAdd 315 34 31 314 + 317: 310(ptr) AccessChain 23 309 + 318: 17(ivec2) Load 317 + 319: 123(ptr) AccessChain 23 122 + 320: 16(int) Load 319 + 321: 128(ptr) ImageTexelPointer 308(g_tTex2du1) 318 31 + 322: 16(int) AtomicIAdd 321 34 31 320 + Store 132(out_u1) 322 + 323: 310(ptr) AccessChain 23 309 + 324: 17(ivec2) Load 323 + 325: 123(ptr) AccessChain 23 122 + 326: 16(int) Load 325 + 327: 128(ptr) ImageTexelPointer 308(g_tTex2du1) 324 31 + 328: 16(int) AtomicAnd 327 34 31 326 + 329: 310(ptr) AccessChain 23 309 + 330: 17(ivec2) Load 329 + 331: 123(ptr) AccessChain 23 122 + 332: 16(int) Load 331 + 333: 128(ptr) ImageTexelPointer 308(g_tTex2du1) 330 31 + 334: 16(int) AtomicAnd 333 34 31 332 + Store 132(out_u1) 334 + 335: 310(ptr) AccessChain 23 309 + 336: 17(ivec2) Load 335 + 337: 123(ptr) AccessChain 23 153 + 338: 16(int) Load 337 + 339: 123(ptr) AccessChain 23 156 + 340: 16(int) Load 339 + 341: 128(ptr) ImageTexelPointer 308(g_tTex2du1) 336 31 + 342: 16(int) AtomicCompareExchange 341 34 31 31 340 338 + Store 132(out_u1) 342 + 343: 310(ptr) AccessChain 23 309 + 344: 17(ivec2) Load 343 + 345: 123(ptr) AccessChain 23 122 + 346: 16(int) Load 345 + 347: 128(ptr) ImageTexelPointer 308(g_tTex2du1) 344 31 + 348: 16(int) AtomicExchange 347 34 31 346 + Store 132(out_u1) 348 + 349: 310(ptr) AccessChain 23 309 + 350: 17(ivec2) Load 349 + 351: 123(ptr) AccessChain 23 122 + 352: 16(int) Load 351 + 353: 128(ptr) ImageTexelPointer 308(g_tTex2du1) 350 31 + 354: 16(int) AtomicUMax 353 34 31 352 + 355: 310(ptr) AccessChain 23 309 + 356: 17(ivec2) Load 355 + 357: 123(ptr) AccessChain 23 122 + 358: 16(int) Load 357 + 359: 128(ptr) ImageTexelPointer 308(g_tTex2du1) 356 31 + 360: 16(int) AtomicUMax 359 34 31 358 + Store 132(out_u1) 360 + 361: 310(ptr) AccessChain 23 309 + 362: 17(ivec2) Load 361 + 363: 123(ptr) AccessChain 23 122 + 364: 16(int) Load 363 + 365: 128(ptr) ImageTexelPointer 308(g_tTex2du1) 362 31 + 366: 16(int) AtomicUMin 365 34 31 364 + 367: 310(ptr) AccessChain 23 309 + 368: 17(ivec2) Load 367 + 369: 123(ptr) AccessChain 23 122 + 370: 16(int) Load 369 + 371: 128(ptr) ImageTexelPointer 308(g_tTex2du1) 368 31 + 372: 16(int) AtomicUMin 371 34 31 370 + Store 132(out_u1) 372 + 373: 310(ptr) AccessChain 23 309 + 374: 17(ivec2) Load 373 + 375: 123(ptr) AccessChain 23 122 + 376: 16(int) Load 375 + 377: 128(ptr) ImageTexelPointer 308(g_tTex2du1) 374 31 + 378: 16(int) AtomicOr 377 34 31 376 + 379: 310(ptr) AccessChain 23 309 + 380: 17(ivec2) Load 379 + 381: 123(ptr) AccessChain 23 122 + 382: 16(int) Load 381 + 383: 128(ptr) ImageTexelPointer 308(g_tTex2du1) 380 31 + 384: 16(int) AtomicOr 383 34 31 382 + Store 132(out_u1) 384 + 385: 310(ptr) AccessChain 23 309 + 386: 17(ivec2) Load 385 + 387: 123(ptr) AccessChain 23 122 + 388: 16(int) Load 387 + 389: 128(ptr) ImageTexelPointer 308(g_tTex2du1) 386 31 + 390: 16(int) AtomicXor 389 34 31 388 + 391: 310(ptr) AccessChain 23 309 + 392: 17(ivec2) Load 391 + 393: 123(ptr) AccessChain 23 122 + 394: 16(int) Load 393 + 395: 128(ptr) ImageTexelPointer 308(g_tTex2du1) 392 31 + 396: 16(int) AtomicXor 395 34 31 394 + Store 132(out_u1) 396 + 402: 401(ptr) AccessChain 23 400 + 403: 20(ivec3) Load 402 + 404: 25(ptr) AccessChain 23 28 + 405: 12(int) Load 404 + 406: 32(ptr) ImageTexelPointer 399(g_tTex3di1) 403 31 + 407: 12(int) AtomicIAdd 406 34 31 405 + 408: 401(ptr) AccessChain 23 400 + 409: 20(ivec3) Load 408 + 410: 25(ptr) AccessChain 23 24 + 411: 12(int) Load 410 + 412: 32(ptr) ImageTexelPointer 399(g_tTex3di1) 409 31 + 413: 12(int) AtomicIAdd 412 34 31 411 + Store 37(out_i1) 413 + 414: 401(ptr) AccessChain 23 400 + 415: 20(ivec3) Load 414 + 416: 25(ptr) AccessChain 23 28 + 417: 12(int) Load 416 + 418: 32(ptr) ImageTexelPointer 399(g_tTex3di1) 415 31 + 419: 12(int) AtomicAnd 418 34 31 417 + 420: 401(ptr) AccessChain 23 400 + 421: 20(ivec3) Load 420 + 422: 25(ptr) AccessChain 23 24 + 423: 12(int) Load 422 + 424: 32(ptr) ImageTexelPointer 399(g_tTex3di1) 421 31 + 425: 12(int) AtomicAnd 424 34 31 423 + Store 37(out_i1) 425 + 426: 401(ptr) AccessChain 23 400 + 427: 20(ivec3) Load 426 + 428: 25(ptr) AccessChain 23 28 + 429: 12(int) Load 428 + 430: 25(ptr) AccessChain 23 60 + 431: 12(int) Load 430 + 432: 32(ptr) ImageTexelPointer 399(g_tTex3di1) 427 31 + 433: 12(int) AtomicCompareExchange 432 34 31 31 431 429 + Store 37(out_i1) 433 + 434: 401(ptr) AccessChain 23 400 + 435: 20(ivec3) Load 434 + 436: 25(ptr) AccessChain 23 24 + 437: 12(int) Load 436 + 438: 32(ptr) ImageTexelPointer 399(g_tTex3di1) 435 31 + 439: 12(int) AtomicExchange 438 34 31 437 + Store 37(out_i1) 439 + 440: 401(ptr) AccessChain 23 400 + 441: 20(ivec3) Load 440 + 442: 25(ptr) AccessChain 23 28 + 443: 12(int) Load 442 + 444: 32(ptr) ImageTexelPointer 399(g_tTex3di1) 441 31 + 445: 12(int) AtomicSMax 444 34 31 443 + 446: 401(ptr) AccessChain 23 400 + 447: 20(ivec3) Load 446 + 448: 25(ptr) AccessChain 23 24 + 449: 12(int) Load 448 + 450: 32(ptr) ImageTexelPointer 399(g_tTex3di1) 447 31 + 451: 12(int) AtomicSMax 450 34 31 449 + Store 37(out_i1) 451 + 452: 401(ptr) AccessChain 23 400 + 453: 20(ivec3) Load 452 + 454: 25(ptr) AccessChain 23 28 + 455: 12(int) Load 454 + 456: 32(ptr) ImageTexelPointer 399(g_tTex3di1) 453 31 + 457: 12(int) AtomicSMin 456 34 31 455 + 458: 401(ptr) AccessChain 23 400 + 459: 20(ivec3) Load 458 + 460: 25(ptr) AccessChain 23 24 + 461: 12(int) Load 460 + 462: 32(ptr) ImageTexelPointer 399(g_tTex3di1) 459 31 + 463: 12(int) AtomicSMin 462 34 31 461 + Store 37(out_i1) 463 + 464: 401(ptr) AccessChain 23 400 + 465: 20(ivec3) Load 464 + 466: 25(ptr) AccessChain 23 28 + 467: 12(int) Load 466 + 468: 32(ptr) ImageTexelPointer 399(g_tTex3di1) 465 31 + 469: 12(int) AtomicOr 468 34 31 467 + 470: 401(ptr) AccessChain 23 400 + 471: 20(ivec3) Load 470 + 472: 25(ptr) AccessChain 23 24 + 473: 12(int) Load 472 + 474: 32(ptr) ImageTexelPointer 399(g_tTex3di1) 471 31 + 475: 12(int) AtomicOr 474 34 31 473 + Store 37(out_i1) 475 + 476: 401(ptr) AccessChain 23 400 + 477: 20(ivec3) Load 476 + 478: 25(ptr) AccessChain 23 28 + 479: 12(int) Load 478 + 480: 32(ptr) ImageTexelPointer 399(g_tTex3di1) 477 31 + 481: 12(int) AtomicXor 480 34 31 479 + 482: 401(ptr) AccessChain 23 400 + 483: 20(ivec3) Load 482 + 484: 25(ptr) AccessChain 23 24 + 485: 12(int) Load 484 + 486: 32(ptr) ImageTexelPointer 399(g_tTex3di1) 483 31 + 487: 12(int) AtomicXor 486 34 31 485 + Store 37(out_i1) 487 + 493: 492(ptr) AccessChain 23 491 + 494: 18(ivec3) Load 493 + 495: 123(ptr) AccessChain 23 122 + 496: 16(int) Load 495 + 497: 128(ptr) ImageTexelPointer 490(g_tTex3du1) 494 31 + 498: 16(int) AtomicIAdd 497 34 31 496 + 499: 492(ptr) AccessChain 23 491 + 500: 18(ivec3) Load 499 + 501: 123(ptr) AccessChain 23 122 + 502: 16(int) Load 501 + 503: 128(ptr) ImageTexelPointer 490(g_tTex3du1) 500 31 + 504: 16(int) AtomicIAdd 503 34 31 502 + Store 132(out_u1) 504 + 505: 492(ptr) AccessChain 23 491 + 506: 18(ivec3) Load 505 + 507: 123(ptr) AccessChain 23 122 + 508: 16(int) Load 507 + 509: 128(ptr) ImageTexelPointer 490(g_tTex3du1) 506 31 + 510: 16(int) AtomicAnd 509 34 31 508 + 511: 492(ptr) AccessChain 23 491 + 512: 18(ivec3) Load 511 + 513: 123(ptr) AccessChain 23 122 + 514: 16(int) Load 513 + 515: 128(ptr) ImageTexelPointer 490(g_tTex3du1) 512 31 + 516: 16(int) AtomicAnd 515 34 31 514 + Store 132(out_u1) 516 + 517: 492(ptr) AccessChain 23 491 + 518: 18(ivec3) Load 517 + 519: 123(ptr) AccessChain 23 153 + 520: 16(int) Load 519 + 521: 123(ptr) AccessChain 23 156 + 522: 16(int) Load 521 + 523: 128(ptr) ImageTexelPointer 490(g_tTex3du1) 518 31 + 524: 16(int) AtomicCompareExchange 523 34 31 31 522 520 + Store 132(out_u1) 524 + 525: 492(ptr) AccessChain 23 491 + 526: 18(ivec3) Load 525 + 527: 123(ptr) AccessChain 23 122 + 528: 16(int) Load 527 + 529: 128(ptr) ImageTexelPointer 490(g_tTex3du1) 526 31 + 530: 16(int) AtomicExchange 529 34 31 528 + Store 132(out_u1) 530 + 531: 492(ptr) AccessChain 23 491 + 532: 18(ivec3) Load 531 + 533: 123(ptr) AccessChain 23 122 + 534: 16(int) Load 533 + 535: 128(ptr) ImageTexelPointer 490(g_tTex3du1) 532 31 + 536: 16(int) AtomicUMax 535 34 31 534 + 537: 492(ptr) AccessChain 23 491 + 538: 18(ivec3) Load 537 + 539: 123(ptr) AccessChain 23 122 + 540: 16(int) Load 539 + 541: 128(ptr) ImageTexelPointer 490(g_tTex3du1) 538 31 + 542: 16(int) AtomicUMax 541 34 31 540 + Store 132(out_u1) 542 + 543: 492(ptr) AccessChain 23 491 + 544: 18(ivec3) Load 543 + 545: 123(ptr) AccessChain 23 122 + 546: 16(int) Load 545 + 547: 128(ptr) ImageTexelPointer 490(g_tTex3du1) 544 31 + 548: 16(int) AtomicUMin 547 34 31 546 + 549: 492(ptr) AccessChain 23 491 + 550: 18(ivec3) Load 549 + 551: 123(ptr) AccessChain 23 122 + 552: 16(int) Load 551 + 553: 128(ptr) ImageTexelPointer 490(g_tTex3du1) 550 31 + 554: 16(int) AtomicUMin 553 34 31 552 + Store 132(out_u1) 554 + 555: 492(ptr) AccessChain 23 491 + 556: 18(ivec3) Load 555 + 557: 123(ptr) AccessChain 23 122 + 558: 16(int) Load 557 + 559: 128(ptr) ImageTexelPointer 490(g_tTex3du1) 556 31 + 560: 16(int) AtomicOr 559 34 31 558 + 561: 492(ptr) AccessChain 23 491 + 562: 18(ivec3) Load 561 + 563: 123(ptr) AccessChain 23 122 + 564: 16(int) Load 563 + 565: 128(ptr) ImageTexelPointer 490(g_tTex3du1) 562 31 + 566: 16(int) AtomicOr 565 34 31 564 + Store 132(out_u1) 566 + 567: 492(ptr) AccessChain 23 491 + 568: 18(ivec3) Load 567 + 569: 123(ptr) AccessChain 23 122 + 570: 16(int) Load 569 + 571: 128(ptr) ImageTexelPointer 490(g_tTex3du1) 568 31 + 572: 16(int) AtomicXor 571 34 31 570 + 573: 492(ptr) AccessChain 23 491 + 574: 18(ivec3) Load 573 + 575: 123(ptr) AccessChain 23 122 + 576: 16(int) Load 575 + 577: 128(ptr) ImageTexelPointer 490(g_tTex3du1) 574 31 + 578: 16(int) AtomicXor 577 34 31 576 + Store 132(out_u1) 578 + 582: 219(ptr) AccessChain 23 218 + 583: 19(ivec2) Load 582 + 584: 25(ptr) AccessChain 23 28 + 585: 12(int) Load 584 + 586: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 583 31 + 587: 12(int) AtomicIAdd 586 34 31 585 + 588: 219(ptr) AccessChain 23 218 + 589: 19(ivec2) Load 588 + 590: 25(ptr) AccessChain 23 24 + 591: 12(int) Load 590 + 592: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 589 31 + 593: 12(int) AtomicIAdd 592 34 31 591 + Store 37(out_i1) 593 + 594: 219(ptr) AccessChain 23 218 + 595: 19(ivec2) Load 594 + 596: 25(ptr) AccessChain 23 28 + 597: 12(int) Load 596 + 598: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 595 31 + 599: 12(int) AtomicAnd 598 34 31 597 + 600: 219(ptr) AccessChain 23 218 + 601: 19(ivec2) Load 600 + 602: 25(ptr) AccessChain 23 24 + 603: 12(int) Load 602 + 604: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 601 31 + 605: 12(int) AtomicAnd 604 34 31 603 + Store 37(out_i1) 605 + 606: 219(ptr) AccessChain 23 218 + 607: 19(ivec2) Load 606 + 608: 25(ptr) AccessChain 23 28 + 609: 12(int) Load 608 + 610: 25(ptr) AccessChain 23 60 + 611: 12(int) Load 610 + 612: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 607 31 + 613: 12(int) AtomicCompareExchange 612 34 31 31 611 609 + Store 37(out_i1) 613 + 614: 219(ptr) AccessChain 23 218 + 615: 19(ivec2) Load 614 + 616: 25(ptr) AccessChain 23 24 + 617: 12(int) Load 616 + 618: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 615 31 + 619: 12(int) AtomicExchange 618 34 31 617 + Store 37(out_i1) 619 + 620: 219(ptr) AccessChain 23 218 + 621: 19(ivec2) Load 620 + 622: 25(ptr) AccessChain 23 28 + 623: 12(int) Load 622 + 624: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 621 31 + 625: 12(int) AtomicSMax 624 34 31 623 + 626: 219(ptr) AccessChain 23 218 + 627: 19(ivec2) Load 626 + 628: 25(ptr) AccessChain 23 24 + 629: 12(int) Load 628 + 630: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 627 31 + 631: 12(int) AtomicSMax 630 34 31 629 + Store 37(out_i1) 631 + 632: 219(ptr) AccessChain 23 218 + 633: 19(ivec2) Load 632 + 634: 25(ptr) AccessChain 23 28 + 635: 12(int) Load 634 + 636: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 633 31 + 637: 12(int) AtomicSMin 636 34 31 635 + 638: 219(ptr) AccessChain 23 218 + 639: 19(ivec2) Load 638 + 640: 25(ptr) AccessChain 23 24 + 641: 12(int) Load 640 + 642: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 639 31 + 643: 12(int) AtomicSMin 642 34 31 641 + Store 37(out_i1) 643 + 644: 219(ptr) AccessChain 23 218 + 645: 19(ivec2) Load 644 + 646: 25(ptr) AccessChain 23 28 + 647: 12(int) Load 646 + 648: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 645 31 + 649: 12(int) AtomicOr 648 34 31 647 + 650: 219(ptr) AccessChain 23 218 + 651: 19(ivec2) Load 650 + 652: 25(ptr) AccessChain 23 24 + 653: 12(int) Load 652 + 654: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 651 31 + 655: 12(int) AtomicOr 654 34 31 653 + Store 37(out_i1) 655 + 656: 219(ptr) AccessChain 23 218 + 657: 19(ivec2) Load 656 + 658: 25(ptr) AccessChain 23 28 + 659: 12(int) Load 658 + 660: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 657 31 + 661: 12(int) AtomicXor 660 34 31 659 + 662: 219(ptr) AccessChain 23 218 + 663: 19(ivec2) Load 662 + 664: 25(ptr) AccessChain 23 24 + 665: 12(int) Load 664 + 666: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 663 31 + 667: 12(int) AtomicXor 666 34 31 665 + Store 37(out_i1) 667 + 671: 310(ptr) AccessChain 23 309 + 672: 17(ivec2) Load 671 + 673: 123(ptr) AccessChain 23 122 + 674: 16(int) Load 673 + 675: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 672 31 + 676: 16(int) AtomicIAdd 675 34 31 674 + 677: 310(ptr) AccessChain 23 309 + 678: 17(ivec2) Load 677 + 679: 123(ptr) AccessChain 23 122 + 680: 16(int) Load 679 + 681: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 678 31 + 682: 16(int) AtomicIAdd 681 34 31 680 + Store 132(out_u1) 682 + 683: 310(ptr) AccessChain 23 309 + 684: 17(ivec2) Load 683 + 685: 123(ptr) AccessChain 23 122 + 686: 16(int) Load 685 + 687: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 684 31 + 688: 16(int) AtomicAnd 687 34 31 686 + 689: 310(ptr) AccessChain 23 309 + 690: 17(ivec2) Load 689 + 691: 123(ptr) AccessChain 23 122 + 692: 16(int) Load 691 + 693: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 690 31 + 694: 16(int) AtomicAnd 693 34 31 692 + Store 132(out_u1) 694 + 695: 310(ptr) AccessChain 23 309 + 696: 17(ivec2) Load 695 + 697: 123(ptr) AccessChain 23 153 + 698: 16(int) Load 697 + 699: 123(ptr) AccessChain 23 156 + 700: 16(int) Load 699 + 701: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 696 31 + 702: 16(int) AtomicCompareExchange 701 34 31 31 700 698 + Store 132(out_u1) 702 + 703: 310(ptr) AccessChain 23 309 + 704: 17(ivec2) Load 703 + 705: 123(ptr) AccessChain 23 122 + 706: 16(int) Load 705 + 707: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 704 31 + 708: 16(int) AtomicExchange 707 34 31 706 + Store 132(out_u1) 708 + 709: 310(ptr) AccessChain 23 309 + 710: 17(ivec2) Load 709 + 711: 123(ptr) AccessChain 23 122 + 712: 16(int) Load 711 + 713: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 710 31 + 714: 16(int) AtomicUMax 713 34 31 712 + 715: 310(ptr) AccessChain 23 309 + 716: 17(ivec2) Load 715 + 717: 123(ptr) AccessChain 23 122 + 718: 16(int) Load 717 + 719: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 716 31 + 720: 16(int) AtomicUMax 719 34 31 718 + Store 132(out_u1) 720 + 721: 310(ptr) AccessChain 23 309 + 722: 17(ivec2) Load 721 + 723: 123(ptr) AccessChain 23 122 + 724: 16(int) Load 723 + 725: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 722 31 + 726: 16(int) AtomicUMin 725 34 31 724 + 727: 310(ptr) AccessChain 23 309 + 728: 17(ivec2) Load 727 + 729: 123(ptr) AccessChain 23 122 + 730: 16(int) Load 729 + 731: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 728 31 + 732: 16(int) AtomicUMin 731 34 31 730 + Store 132(out_u1) 732 + 733: 310(ptr) AccessChain 23 309 + 734: 17(ivec2) Load 733 + 735: 123(ptr) AccessChain 23 122 + 736: 16(int) Load 735 + 737: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 734 31 + 738: 16(int) AtomicOr 737 34 31 736 + 739: 310(ptr) AccessChain 23 309 + 740: 17(ivec2) Load 739 + 741: 123(ptr) AccessChain 23 122 + 742: 16(int) Load 741 + 743: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 740 31 + 744: 16(int) AtomicOr 743 34 31 742 + Store 132(out_u1) 744 + 745: 310(ptr) AccessChain 23 309 + 746: 17(ivec2) Load 745 + 747: 123(ptr) AccessChain 23 122 + 748: 16(int) Load 747 + 749: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 746 31 + 750: 16(int) AtomicXor 749 34 31 748 + 751: 310(ptr) AccessChain 23 309 + 752: 17(ivec2) Load 751 + 753: 123(ptr) AccessChain 23 122 + 754: 16(int) Load 753 + 755: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 752 31 + 756: 16(int) AtomicXor 755 34 31 754 + Store 132(out_u1) 756 + 757: 219(ptr) AccessChain 23 218 + 758: 19(ivec2) Load 757 + 759: 25(ptr) AccessChain 23 28 + 760: 12(int) Load 759 + 761: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 758 31 + 762: 12(int) AtomicIAdd 761 34 31 760 + 763: 219(ptr) AccessChain 23 218 + 764: 19(ivec2) Load 763 + 765: 25(ptr) AccessChain 23 24 + 766: 12(int) Load 765 + 767: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 764 31 + 768: 12(int) AtomicIAdd 767 34 31 766 + Store 37(out_i1) 768 + 769: 219(ptr) AccessChain 23 218 + 770: 19(ivec2) Load 769 + 771: 25(ptr) AccessChain 23 28 + 772: 12(int) Load 771 + 773: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 770 31 + 774: 12(int) AtomicAnd 773 34 31 772 + 775: 219(ptr) AccessChain 23 218 + 776: 19(ivec2) Load 775 + 777: 25(ptr) AccessChain 23 24 + 778: 12(int) Load 777 + 779: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 776 31 + 780: 12(int) AtomicAnd 779 34 31 778 + Store 37(out_i1) 780 + 781: 219(ptr) AccessChain 23 218 + 782: 19(ivec2) Load 781 + 783: 25(ptr) AccessChain 23 28 + 784: 12(int) Load 783 + 785: 25(ptr) AccessChain 23 60 + 786: 12(int) Load 785 + 787: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 782 31 + 788: 12(int) AtomicCompareExchange 787 34 31 31 786 784 + Store 37(out_i1) 788 + 789: 219(ptr) AccessChain 23 218 + 790: 19(ivec2) Load 789 + 791: 25(ptr) AccessChain 23 24 + 792: 12(int) Load 791 + 793: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 790 31 + 794: 12(int) AtomicExchange 793 34 31 792 + Store 37(out_i1) 794 + 795: 219(ptr) AccessChain 23 218 + 796: 19(ivec2) Load 795 + 797: 25(ptr) AccessChain 23 28 + 798: 12(int) Load 797 + 799: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 796 31 + 800: 12(int) AtomicSMax 799 34 31 798 + 801: 219(ptr) AccessChain 23 218 + 802: 19(ivec2) Load 801 + 803: 25(ptr) AccessChain 23 24 + 804: 12(int) Load 803 + 805: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 802 31 + 806: 12(int) AtomicSMax 805 34 31 804 + Store 37(out_i1) 806 + 807: 219(ptr) AccessChain 23 218 + 808: 19(ivec2) Load 807 + 809: 25(ptr) AccessChain 23 28 + 810: 12(int) Load 809 + 811: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 808 31 + 812: 12(int) AtomicSMin 811 34 31 810 + 813: 219(ptr) AccessChain 23 218 + 814: 19(ivec2) Load 813 + 815: 25(ptr) AccessChain 23 24 + 816: 12(int) Load 815 + 817: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 814 31 + 818: 12(int) AtomicSMin 817 34 31 816 + Store 37(out_i1) 818 + 819: 219(ptr) AccessChain 23 218 + 820: 19(ivec2) Load 819 + 821: 25(ptr) AccessChain 23 28 + 822: 12(int) Load 821 + 823: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 820 31 + 824: 12(int) AtomicOr 823 34 31 822 + 825: 219(ptr) AccessChain 23 218 + 826: 19(ivec2) Load 825 + 827: 25(ptr) AccessChain 23 24 + 828: 12(int) Load 827 + 829: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 826 31 + 830: 12(int) AtomicOr 829 34 31 828 + Store 37(out_i1) 830 + 831: 219(ptr) AccessChain 23 218 + 832: 19(ivec2) Load 831 + 833: 25(ptr) AccessChain 23 28 + 834: 12(int) Load 833 + 835: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 832 31 + 836: 12(int) AtomicXor 835 34 31 834 + 837: 219(ptr) AccessChain 23 218 + 838: 19(ivec2) Load 837 + 839: 25(ptr) AccessChain 23 24 + 840: 12(int) Load 839 + 841: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 838 31 + 842: 12(int) AtomicXor 841 34 31 840 + Store 37(out_i1) 842 + 843: 310(ptr) AccessChain 23 309 + 844: 17(ivec2) Load 843 + 845: 123(ptr) AccessChain 23 122 + 846: 16(int) Load 845 + 847: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 844 31 + 848: 16(int) AtomicIAdd 847 34 31 846 + 849: 310(ptr) AccessChain 23 309 + 850: 17(ivec2) Load 849 + 851: 123(ptr) AccessChain 23 122 + 852: 16(int) Load 851 + 853: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 850 31 + 854: 16(int) AtomicIAdd 853 34 31 852 + Store 132(out_u1) 854 + 855: 310(ptr) AccessChain 23 309 + 856: 17(ivec2) Load 855 + 857: 123(ptr) AccessChain 23 122 + 858: 16(int) Load 857 + 859: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 856 31 + 860: 16(int) AtomicAnd 859 34 31 858 + 861: 310(ptr) AccessChain 23 309 + 862: 17(ivec2) Load 861 + 863: 123(ptr) AccessChain 23 122 + 864: 16(int) Load 863 + 865: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 862 31 + 866: 16(int) AtomicAnd 865 34 31 864 + Store 132(out_u1) 866 + 867: 310(ptr) AccessChain 23 309 + 868: 17(ivec2) Load 867 + 869: 123(ptr) AccessChain 23 153 + 870: 16(int) Load 869 + 871: 123(ptr) AccessChain 23 156 + 872: 16(int) Load 871 + 873: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 868 31 + 874: 16(int) AtomicCompareExchange 873 34 31 31 872 870 + Store 132(out_u1) 874 + 875: 310(ptr) AccessChain 23 309 + 876: 17(ivec2) Load 875 + 877: 123(ptr) AccessChain 23 122 + 878: 16(int) Load 877 + 879: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 876 31 + 880: 16(int) AtomicExchange 879 34 31 878 + Store 132(out_u1) 880 + 881: 310(ptr) AccessChain 23 309 + 882: 17(ivec2) Load 881 + 883: 123(ptr) AccessChain 23 122 + 884: 16(int) Load 883 + 885: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 882 31 + 886: 16(int) AtomicUMax 885 34 31 884 + 887: 310(ptr) AccessChain 23 309 + 888: 17(ivec2) Load 887 + 889: 123(ptr) AccessChain 23 122 + 890: 16(int) Load 889 + 891: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 888 31 + 892: 16(int) AtomicUMax 891 34 31 890 + Store 132(out_u1) 892 + 893: 310(ptr) AccessChain 23 309 + 894: 17(ivec2) Load 893 + 895: 123(ptr) AccessChain 23 122 + 896: 16(int) Load 895 + 897: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 894 31 + 898: 16(int) AtomicUMin 897 34 31 896 + 899: 310(ptr) AccessChain 23 309 + 900: 17(ivec2) Load 899 + 901: 123(ptr) AccessChain 23 122 + 902: 16(int) Load 901 + 903: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 900 31 + 904: 16(int) AtomicUMin 903 34 31 902 + Store 132(out_u1) 904 + 905: 310(ptr) AccessChain 23 309 + 906: 17(ivec2) Load 905 + 907: 123(ptr) AccessChain 23 122 + 908: 16(int) Load 907 + 909: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 906 31 + 910: 16(int) AtomicOr 909 34 31 908 + 911: 310(ptr) AccessChain 23 309 + 912: 17(ivec2) Load 911 + 913: 123(ptr) AccessChain 23 122 + 914: 16(int) Load 913 + 915: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 912 31 + 916: 16(int) AtomicOr 915 34 31 914 + Store 132(out_u1) 916 + 917: 310(ptr) AccessChain 23 309 + 918: 17(ivec2) Load 917 + 919: 123(ptr) AccessChain 23 122 + 920: 16(int) Load 919 + 921: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 918 31 + 922: 16(int) AtomicXor 921 34 31 920 + 923: 310(ptr) AccessChain 23 309 + 924: 17(ivec2) Load 923 + 925: 123(ptr) AccessChain 23 122 + 926: 16(int) Load 925 + 927: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 924 31 + 928: 16(int) AtomicXor 927 34 31 926 + Store 132(out_u1) 928 + 932: 25(ptr) AccessChain 23 24 + 933: 12(int) Load 932 + 934: 25(ptr) AccessChain 23 28 + 935: 12(int) Load 934 + 936: 32(ptr) ImageTexelPointer 931(g_tBuffI) 933 31 + 937: 12(int) AtomicIAdd 936 34 31 935 + 938: 25(ptr) AccessChain 23 24 + 939: 12(int) Load 938 + 940: 25(ptr) AccessChain 23 24 + 941: 12(int) Load 940 + 942: 32(ptr) ImageTexelPointer 931(g_tBuffI) 939 31 + 943: 12(int) AtomicIAdd 942 34 31 941 + Store 37(out_i1) 943 + 944: 25(ptr) AccessChain 23 24 + 945: 12(int) Load 944 + 946: 25(ptr) AccessChain 23 28 + 947: 12(int) Load 946 + 948: 32(ptr) ImageTexelPointer 931(g_tBuffI) 945 31 + 949: 12(int) AtomicAnd 948 34 31 947 + 950: 25(ptr) AccessChain 23 24 + 951: 12(int) Load 950 + 952: 25(ptr) AccessChain 23 24 + 953: 12(int) Load 952 + 954: 32(ptr) ImageTexelPointer 931(g_tBuffI) 951 31 + 955: 12(int) AtomicAnd 954 34 31 953 + Store 37(out_i1) 955 + 956: 25(ptr) AccessChain 23 24 + 957: 12(int) Load 956 + 958: 25(ptr) AccessChain 23 28 + 959: 12(int) Load 958 + 960: 25(ptr) AccessChain 23 60 + 961: 12(int) Load 960 + 962: 32(ptr) ImageTexelPointer 931(g_tBuffI) 957 31 + 963: 12(int) AtomicCompareExchange 962 34 31 31 961 959 + Store 37(out_i1) 963 + 964: 25(ptr) AccessChain 23 24 + 965: 12(int) Load 964 + 966: 25(ptr) AccessChain 23 24 + 967: 12(int) Load 966 + 968: 32(ptr) ImageTexelPointer 931(g_tBuffI) 965 31 + 969: 12(int) AtomicExchange 968 34 31 967 + Store 37(out_i1) 969 + 970: 25(ptr) AccessChain 23 24 + 971: 12(int) Load 970 + 972: 25(ptr) AccessChain 23 28 + 973: 12(int) Load 972 + 974: 32(ptr) ImageTexelPointer 931(g_tBuffI) 971 31 + 975: 12(int) AtomicSMax 974 34 31 973 + 976: 25(ptr) AccessChain 23 24 + 977: 12(int) Load 976 + 978: 25(ptr) AccessChain 23 24 + 979: 12(int) Load 978 + 980: 32(ptr) ImageTexelPointer 931(g_tBuffI) 977 31 + 981: 12(int) AtomicSMax 980 34 31 979 + Store 37(out_i1) 981 + 982: 25(ptr) AccessChain 23 24 + 983: 12(int) Load 982 + 984: 25(ptr) AccessChain 23 28 + 985: 12(int) Load 984 + 986: 32(ptr) ImageTexelPointer 931(g_tBuffI) 983 31 + 987: 12(int) AtomicSMin 986 34 31 985 + 988: 25(ptr) AccessChain 23 24 + 989: 12(int) Load 988 + 990: 25(ptr) AccessChain 23 24 + 991: 12(int) Load 990 + 992: 32(ptr) ImageTexelPointer 931(g_tBuffI) 989 31 + 993: 12(int) AtomicSMin 992 34 31 991 + Store 37(out_i1) 993 + 994: 25(ptr) AccessChain 23 24 + 995: 12(int) Load 994 + 996: 25(ptr) AccessChain 23 28 + 997: 12(int) Load 996 + 998: 32(ptr) ImageTexelPointer 931(g_tBuffI) 995 31 + 999: 12(int) AtomicOr 998 34 31 997 + 1000: 25(ptr) AccessChain 23 24 + 1001: 12(int) Load 1000 + 1002: 25(ptr) AccessChain 23 24 + 1003: 12(int) Load 1002 + 1004: 32(ptr) ImageTexelPointer 931(g_tBuffI) 1001 31 + 1005: 12(int) AtomicOr 1004 34 31 1003 + Store 37(out_i1) 1005 + 1006: 25(ptr) AccessChain 23 24 + 1007: 12(int) Load 1006 + 1008: 25(ptr) AccessChain 23 28 + 1009: 12(int) Load 1008 + 1010: 32(ptr) ImageTexelPointer 931(g_tBuffI) 1007 31 + 1011: 12(int) AtomicXor 1010 34 31 1009 + 1012: 25(ptr) AccessChain 23 24 + 1013: 12(int) Load 1012 + 1014: 25(ptr) AccessChain 23 24 + 1015: 12(int) Load 1014 + 1016: 32(ptr) ImageTexelPointer 931(g_tBuffI) 1013 31 + 1017: 12(int) AtomicXor 1016 34 31 1015 + Store 37(out_i1) 1017 + 1021: 123(ptr) AccessChain 23 122 + 1022: 16(int) Load 1021 + 1023: 123(ptr) AccessChain 23 122 + 1024: 16(int) Load 1023 + 1025: 128(ptr) ImageTexelPointer 1020(g_tBuffU) 1022 31 + 1026: 16(int) AtomicIAdd 1025 34 31 1024 + 1027: 123(ptr) AccessChain 23 122 + 1028: 16(int) Load 1027 + 1029: 123(ptr) AccessChain 23 122 + 1030: 16(int) Load 1029 + 1031: 128(ptr) ImageTexelPointer 1020(g_tBuffU) 1028 31 + 1032: 16(int) AtomicIAdd 1031 34 31 1030 + Store 132(out_u1) 1032 + 1033: 123(ptr) AccessChain 23 122 + 1034: 16(int) Load 1033 + 1035: 123(ptr) AccessChain 23 122 + 1036: 16(int) Load 1035 + 1037: 128(ptr) ImageTexelPointer 1020(g_tBuffU) 1034 31 + 1038: 16(int) AtomicAnd 1037 34 31 1036 + 1039: 123(ptr) AccessChain 23 122 + 1040: 16(int) Load 1039 + 1041: 123(ptr) AccessChain 23 122 + 1042: 16(int) Load 1041 + 1043: 128(ptr) ImageTexelPointer 1020(g_tBuffU) 1040 31 + 1044: 16(int) AtomicAnd 1043 34 31 1042 + Store 132(out_u1) 1044 + 1045: 123(ptr) AccessChain 23 122 + 1046: 16(int) Load 1045 + 1047: 123(ptr) AccessChain 23 153 + 1048: 16(int) Load 1047 + 1049: 123(ptr) AccessChain 23 156 + 1050: 16(int) Load 1049 + 1051: 128(ptr) ImageTexelPointer 1020(g_tBuffU) 1046 31 + 1052: 16(int) AtomicCompareExchange 1051 34 31 31 1050 1048 + Store 132(out_u1) 1052 + 1053: 123(ptr) AccessChain 23 122 + 1054: 16(int) Load 1053 + 1055: 123(ptr) AccessChain 23 122 + 1056: 16(int) Load 1055 + 1057: 128(ptr) ImageTexelPointer 1020(g_tBuffU) 1054 31 + 1058: 16(int) AtomicExchange 1057 34 31 1056 + Store 132(out_u1) 1058 + 1059: 123(ptr) AccessChain 23 122 + 1060: 16(int) Load 1059 + 1061: 123(ptr) AccessChain 23 122 + 1062: 16(int) Load 1061 + 1063: 128(ptr) ImageTexelPointer 1020(g_tBuffU) 1060 31 + 1064: 16(int) AtomicUMax 1063 34 31 1062 + 1065: 123(ptr) AccessChain 23 122 + 1066: 16(int) Load 1065 + 1067: 123(ptr) AccessChain 23 122 + 1068: 16(int) Load 1067 + 1069: 128(ptr) ImageTexelPointer 1020(g_tBuffU) 1066 31 + 1070: 16(int) AtomicUMax 1069 34 31 1068 + Store 132(out_u1) 1070 + 1071: 123(ptr) AccessChain 23 122 + 1072: 16(int) Load 1071 + 1073: 123(ptr) AccessChain 23 122 + 1074: 16(int) Load 1073 + 1075: 128(ptr) ImageTexelPointer 1020(g_tBuffU) 1072 31 + 1076: 16(int) AtomicUMin 1075 34 31 1074 + 1077: 123(ptr) AccessChain 23 122 + 1078: 16(int) Load 1077 + 1079: 123(ptr) AccessChain 23 122 + 1080: 16(int) Load 1079 + 1081: 128(ptr) ImageTexelPointer 1020(g_tBuffU) 1078 31 + 1082: 16(int) AtomicUMin 1081 34 31 1080 + Store 132(out_u1) 1082 + 1083: 123(ptr) AccessChain 23 122 + 1084: 16(int) Load 1083 + 1085: 123(ptr) AccessChain 23 122 + 1086: 16(int) Load 1085 + 1087: 128(ptr) ImageTexelPointer 1020(g_tBuffU) 1084 31 + 1088: 16(int) AtomicOr 1087 34 31 1086 + 1089: 123(ptr) AccessChain 23 122 + 1090: 16(int) Load 1089 + 1091: 123(ptr) AccessChain 23 122 + 1092: 16(int) Load 1091 + 1093: 128(ptr) ImageTexelPointer 1020(g_tBuffU) 1090 31 + 1094: 16(int) AtomicOr 1093 34 31 1092 + Store 132(out_u1) 1094 + 1095: 123(ptr) AccessChain 23 122 + 1096: 16(int) Load 1095 + 1097: 123(ptr) AccessChain 23 122 + 1098: 16(int) Load 1097 + 1099: 128(ptr) ImageTexelPointer 1020(g_tBuffU) 1096 31 + 1100: 16(int) AtomicXor 1099 34 31 1098 + 1101: 123(ptr) AccessChain 23 122 + 1102: 16(int) Load 1101 + 1103: 123(ptr) AccessChain 23 122 + 1104: 16(int) Load 1103 + 1105: 128(ptr) ImageTexelPointer 1020(g_tBuffU) 1102 31 + 1106: 16(int) AtomicXor 1105 34 31 1104 + Store 132(out_u1) 1106 + 1112: 1111(ptr) AccessChain 1108(psout) 122 + Store 1112 1110 + 1113:8(PS_OUTPUT) Load 1108(psout) + ReturnValue 1113 + FunctionEnd diff --git a/Test/baseResults/hlsl.rw.bracket.frag.out b/Test/baseResults/hlsl.rw.bracket.frag.out index 31ed4a98..d7f77155 100644 --- a/Test/baseResults/hlsl.rw.bracket.frag.out +++ b/Test/baseResults/hlsl.rw.bracket.frag.out @@ -62,7 +62,7 @@ gl_FragCoord origin is upper left 0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) 0:50 Constant: 0:50 3 (const uint) -0:53 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:53 Function Definition: @main( (temp structure{temp 4-component vector of float Color}) 0:53 Function Parameters: 0:? Sequence 0:57 imageLoad (temp 4-component vector of float) @@ -837,17 +837,19 @@ gl_FragCoord origin is upper left 0:137 1.000000 0:137 1.000000 0:137 1.000000 -0:139 Sequence -0:139 Sequence -0:139 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:139 Color: direct index for structure (temp 4-component vector of float) -0:139 'psout' (temp structure{temp 4-component vector of float Color}) -0:139 Constant: -0:139 0 (const int) -0:139 Branch: Return +0:139 Branch: Return with expression +0:139 'psout' (temp structure{temp 4-component vector of float Color}) +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 4-component vector of float) +0:? '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 Function Call: @main( (temp structure{temp 4-component vector of float Color}) +0:53 Constant: +0:53 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) 0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) @@ -865,6 +867,7 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray) 0:? 'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) Linked fragment stage: @@ -933,7 +936,7 @@ gl_FragCoord origin is upper left 0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) 0:50 Constant: 0:50 3 (const uint) -0:53 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:53 Function Definition: @main( (temp structure{temp 4-component vector of float Color}) 0:53 Function Parameters: 0:? Sequence 0:57 imageLoad (temp 4-component vector of float) @@ -1708,17 +1711,19 @@ gl_FragCoord origin is upper left 0:137 1.000000 0:137 1.000000 0:137 1.000000 -0:139 Sequence -0:139 Sequence -0:139 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:139 Color: direct index for structure (temp 4-component vector of float) -0:139 'psout' (temp structure{temp 4-component vector of float Color}) -0:139 Constant: -0:139 0 (const int) -0:139 Branch: Return +0:139 Branch: Return with expression +0:139 'psout' (temp structure{temp 4-component vector of float Color}) +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 4-component vector of float) +0:? '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 Function Call: @main( (temp structure{temp 4-component vector of float Color}) +0:53 Constant: +0:53 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) 0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) @@ -1736,16 +1741,17 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray) 0:? 'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 602 +// Id's are bound by 607 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 577 + EntryPoint Fragment 4 "main" 583 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 11 "Fn1(vi4;" @@ -1761,149 +1767,150 @@ gl_FragCoord origin is upper left Name 37 "Fn2(vf4;" Name 36 "x" Name 40 "SomeValue(" - Name 59 "$Global" - MemberName 59($Global) 0 "c1" - MemberName 59($Global) 1 "c2" - MemberName 59($Global) 2 "c3" - MemberName 59($Global) 3 "c4" - MemberName 59($Global) 4 "o1" - MemberName 59($Global) 5 "o2" - MemberName 59($Global) 6 "o3" - MemberName 59($Global) 7 "o4" - MemberName 59($Global) 8 "uf4" - MemberName 59($Global) 9 "ui4" - MemberName 59($Global) 10 "uu4" - Name 61 "" - Name 71 "g_tTex1df4" - Name 77 "r00" - Name 82 "r01" - Name 85 "g_tTex1di4" - Name 90 "r02" - Name 93 "g_tTex1du4" - Name 98 "r10" - Name 101 "g_tTex2df4" - Name 108 "r11" - Name 111 "g_tTex2di4" - Name 116 "r12" - Name 119 "g_tTex2du4" - Name 124 "r20" - Name 127 "g_tTex3df4" - Name 134 "r21" - Name 137 "g_tTex3di4" - Name 142 "r22" - Name 145 "g_tTex3du4" - Name 150 "lf4" - Name 155 "storeTemp" - Name 165 "storeTemp" - Name 172 "storeTemp" - Name 181 "val1" - Name 183 "coordTemp" - Name 186 "storeTemp" - Name 197 "coordTemp" - Name 200 "storeTemp" - Name 211 "coordTemp" - Name 214 "storeTemp" - Name 225 "coordTemp" - Name 228 "storeTemp" - Name 238 "coordTemp" - Name 241 "storeTemp" - Name 251 "coordTemp" - Name 254 "storeTemp" - Name 265 "coordTemp" - Name 268 "storeTemp" - Name 279 "coordTemp" - Name 282 "storeTemp" - Name 292 "coordTemp" - Name 295 "storeTemp" - Name 305 "storeTemp" - Name 315 "storeTemp" - Name 322 "storeTemp" - Name 329 "storeTemp" - Name 339 "storeTemp" - Name 347 "storeTemp" - Name 358 "param" - Name 364 "param" - Name 370 "param" - Name 372 "tempArg" - Name 373 "param" - Name 380 "tempArg" - Name 381 "param" - Name 388 "tempArg" - Name 389 "param" - Name 396 "coordTemp" - Name 399 "storeTemp" - Name 410 "coordTemp" - Name 413 "storeTemp" - Name 423 "coordTemp" - Name 426 "storeTemp" - Name 436 "coordTemp" - Name 439 "storeTemp" - Name 449 "coordTemp" - Name 452 "storeTemp" - Name 462 "coordTemp" - Name 465 "storeTemp" - Name 475 "coordTemp" - Name 478 "storeTempPre" - Name 482 "storeTempPost" - Name 490 "coordTemp" - Name 493 "storeTempPre" - Name 497 "storeTempPost" - Name 505 "coordTemp" - Name 508 "storeTempPre" - Name 512 "storeTempPost" - Name 520 "coordTemp" - Name 523 "storeTempPre" - Name 527 "storeTempPost" - Name 535 "coordTemp" - Name 538 "storeTempPre" - Name 542 "storeTempPost" - Name 550 "coordTemp" - Name 553 "storeTempPre" - Name 557 "storeTempPost" - Name 565 "storeTemp" - Name 571 "PS_OUTPUT" - MemberName 571(PS_OUTPUT) 0 "Color" - Name 573 "psout" - Name 577 "Color" - Name 583 "g_sSamp" - Name 586 "g_tTex1df4a" - Name 589 "g_tTex1di4a" - Name 592 "g_tTex1du4a" - Name 595 "g_tTex2df4a" - Name 598 "g_tTex2di4a" - Name 601 "g_tTex2du4a" - MemberDecorate 59($Global) 0 Offset 0 - MemberDecorate 59($Global) 1 Offset 8 - MemberDecorate 59($Global) 2 Offset 16 - MemberDecorate 59($Global) 3 Offset 32 - MemberDecorate 59($Global) 4 Offset 48 - MemberDecorate 59($Global) 5 Offset 56 - MemberDecorate 59($Global) 6 Offset 64 - MemberDecorate 59($Global) 7 Offset 80 - MemberDecorate 59($Global) 8 Offset 96 - MemberDecorate 59($Global) 9 Offset 112 - MemberDecorate 59($Global) 10 Offset 128 - Decorate 59($Global) Block - Decorate 61 DescriptorSet 0 - Decorate 71(g_tTex1df4) DescriptorSet 0 - Decorate 71(g_tTex1df4) Binding 0 - Decorate 85(g_tTex1di4) DescriptorSet 0 - Decorate 93(g_tTex1du4) DescriptorSet 0 - Decorate 101(g_tTex2df4) DescriptorSet 0 - Decorate 111(g_tTex2di4) DescriptorSet 0 - Decorate 119(g_tTex2du4) DescriptorSet 0 - Decorate 127(g_tTex3df4) DescriptorSet 0 - Decorate 137(g_tTex3di4) DescriptorSet 0 - Decorate 145(g_tTex3du4) DescriptorSet 0 - Decorate 577(Color) Location 0 - Decorate 583(g_sSamp) DescriptorSet 0 - Decorate 583(g_sSamp) Binding 0 - Decorate 586(g_tTex1df4a) DescriptorSet 0 - Decorate 589(g_tTex1di4a) DescriptorSet 0 - Decorate 592(g_tTex1du4a) DescriptorSet 0 - Decorate 595(g_tTex2df4a) DescriptorSet 0 - Decorate 598(g_tTex2di4a) DescriptorSet 0 - Decorate 601(g_tTex2du4a) DescriptorSet 0 + Name 42 "PS_OUTPUT" + MemberName 42(PS_OUTPUT) 0 "Color" + Name 44 "@main(" + Name 63 "$Global" + MemberName 63($Global) 0 "c1" + MemberName 63($Global) 1 "c2" + MemberName 63($Global) 2 "c3" + MemberName 63($Global) 3 "c4" + MemberName 63($Global) 4 "o1" + MemberName 63($Global) 5 "o2" + MemberName 63($Global) 6 "o3" + MemberName 63($Global) 7 "o4" + MemberName 63($Global) 8 "uf4" + MemberName 63($Global) 9 "ui4" + MemberName 63($Global) 10 "uu4" + Name 65 "" + Name 75 "g_tTex1df4" + Name 81 "r00" + Name 86 "r01" + Name 89 "g_tTex1di4" + Name 94 "r02" + Name 97 "g_tTex1du4" + Name 102 "r10" + Name 105 "g_tTex2df4" + Name 112 "r11" + Name 115 "g_tTex2di4" + Name 120 "r12" + Name 123 "g_tTex2du4" + Name 128 "r20" + Name 131 "g_tTex3df4" + Name 138 "r21" + Name 141 "g_tTex3di4" + Name 146 "r22" + Name 149 "g_tTex3du4" + Name 154 "lf4" + Name 159 "storeTemp" + Name 169 "storeTemp" + Name 176 "storeTemp" + Name 185 "val1" + Name 187 "coordTemp" + Name 190 "storeTemp" + Name 201 "coordTemp" + Name 204 "storeTemp" + Name 215 "coordTemp" + Name 218 "storeTemp" + Name 229 "coordTemp" + Name 232 "storeTemp" + Name 242 "coordTemp" + Name 245 "storeTemp" + Name 255 "coordTemp" + Name 258 "storeTemp" + Name 269 "coordTemp" + Name 272 "storeTemp" + Name 283 "coordTemp" + Name 286 "storeTemp" + Name 296 "coordTemp" + Name 299 "storeTemp" + Name 309 "storeTemp" + Name 319 "storeTemp" + Name 326 "storeTemp" + Name 333 "storeTemp" + Name 343 "storeTemp" + Name 351 "storeTemp" + Name 362 "param" + Name 368 "param" + Name 374 "param" + Name 376 "tempArg" + Name 377 "param" + Name 384 "tempArg" + Name 385 "param" + Name 392 "tempArg" + Name 393 "param" + Name 400 "coordTemp" + Name 403 "storeTemp" + Name 414 "coordTemp" + Name 417 "storeTemp" + Name 427 "coordTemp" + Name 430 "storeTemp" + Name 440 "coordTemp" + Name 443 "storeTemp" + Name 453 "coordTemp" + Name 456 "storeTemp" + Name 466 "coordTemp" + Name 469 "storeTemp" + Name 479 "coordTemp" + Name 482 "storeTempPre" + Name 486 "storeTempPost" + Name 494 "coordTemp" + Name 497 "storeTempPre" + Name 501 "storeTempPost" + Name 509 "coordTemp" + Name 512 "storeTempPre" + Name 516 "storeTempPost" + Name 524 "coordTemp" + Name 527 "storeTempPre" + Name 531 "storeTempPost" + Name 539 "coordTemp" + Name 542 "storeTempPre" + Name 546 "storeTempPost" + Name 554 "coordTemp" + Name 557 "storeTempPre" + Name 561 "storeTempPost" + Name 569 "storeTemp" + Name 576 "psout" + Name 583 "Color" + Name 588 "g_sSamp" + Name 591 "g_tTex1df4a" + Name 594 "g_tTex1di4a" + Name 597 "g_tTex1du4a" + Name 600 "g_tTex2df4a" + Name 603 "g_tTex2di4a" + Name 606 "g_tTex2du4a" + MemberDecorate 63($Global) 0 Offset 0 + MemberDecorate 63($Global) 1 Offset 8 + MemberDecorate 63($Global) 2 Offset 16 + MemberDecorate 63($Global) 3 Offset 32 + MemberDecorate 63($Global) 4 Offset 48 + MemberDecorate 63($Global) 5 Offset 56 + MemberDecorate 63($Global) 6 Offset 64 + MemberDecorate 63($Global) 7 Offset 80 + MemberDecorate 63($Global) 8 Offset 96 + MemberDecorate 63($Global) 9 Offset 112 + MemberDecorate 63($Global) 10 Offset 128 + Decorate 63($Global) Block + Decorate 65 DescriptorSet 0 + Decorate 75(g_tTex1df4) DescriptorSet 0 + Decorate 75(g_tTex1df4) Binding 0 + Decorate 89(g_tTex1di4) DescriptorSet 0 + Decorate 97(g_tTex1du4) DescriptorSet 0 + Decorate 105(g_tTex2df4) DescriptorSet 0 + Decorate 115(g_tTex2di4) DescriptorSet 0 + Decorate 123(g_tTex2du4) DescriptorSet 0 + Decorate 131(g_tTex3df4) DescriptorSet 0 + Decorate 141(g_tTex3di4) DescriptorSet 0 + Decorate 149(g_tTex3du4) DescriptorSet 0 + Decorate 583(Color) Location 0 + Decorate 588(g_sSamp) DescriptorSet 0 + Decorate 588(g_sSamp) Binding 0 + Decorate 591(g_tTex1df4a) DescriptorSet 0 + Decorate 594(g_tTex1di4a) DescriptorSet 0 + Decorate 597(g_tTex1du4a) DescriptorSet 0 + Decorate 600(g_tTex2df4a) DescriptorSet 0 + Decorate 603(g_tTex2di4a) DescriptorSet 0 + Decorate 606(g_tTex2du4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 @@ -1922,730 +1929,736 @@ gl_FragCoord origin is upper left 31: TypeFunction 2 15(ptr) 35: TypeFunction 2 22(ptr) 39: TypeFunction 21(fvec4) - 51: 6(int) Constant 0 - 52: 7(ivec4) ConstantComposite 51 51 51 51 - 53: 13(int) Constant 0 - 54: 14(ivec4) ConstantComposite 53 53 53 53 - 55: 20(float) Constant 0 - 56: 21(fvec4) ConstantComposite 55 55 55 55 - 57: TypeVector 6(int) 2 - 58: TypeVector 6(int) 3 - 59($Global): TypeStruct 6(int) 57(ivec2) 58(ivec3) 7(ivec4) 6(int) 57(ivec2) 58(ivec3) 7(ivec4) 21(fvec4) 7(ivec4) 14(ivec4) - 60: TypePointer Uniform 59($Global) - 61: 60(ptr) Variable Uniform - 62: 6(int) Constant 3 - 63: TypePointer Uniform 7(ivec4) - 69: TypeImage 20(float) 1D nonsampled format:Rgba32f - 70: TypePointer UniformConstant 69 - 71(g_tTex1df4): 70(ptr) Variable UniformConstant - 73: TypePointer Uniform 6(int) - 83: TypeImage 6(int) 1D nonsampled format:Rgba32i - 84: TypePointer UniformConstant 83 - 85(g_tTex1di4): 84(ptr) Variable UniformConstant - 91: TypeImage 13(int) 1D nonsampled format:Rgba32ui - 92: TypePointer UniformConstant 91 - 93(g_tTex1du4): 92(ptr) Variable UniformConstant - 99: TypeImage 20(float) 2D nonsampled format:Rgba32f - 100: TypePointer UniformConstant 99 - 101(g_tTex2df4): 100(ptr) Variable UniformConstant - 103: 6(int) Constant 1 - 104: TypePointer Uniform 57(ivec2) - 109: TypeImage 6(int) 2D nonsampled format:Rgba32i - 110: TypePointer UniformConstant 109 - 111(g_tTex2di4): 110(ptr) Variable UniformConstant - 117: TypeImage 13(int) 2D nonsampled format:Rgba32ui - 118: TypePointer UniformConstant 117 - 119(g_tTex2du4): 118(ptr) Variable UniformConstant - 125: TypeImage 20(float) 3D nonsampled format:Rgba32f - 126: TypePointer UniformConstant 125 - 127(g_tTex3df4): 126(ptr) Variable UniformConstant - 129: 6(int) Constant 2 - 130: TypePointer Uniform 58(ivec3) - 135: TypeImage 6(int) 3D nonsampled format:Rgba32i - 136: TypePointer UniformConstant 135 - 137(g_tTex3di4): 136(ptr) Variable UniformConstant - 143: TypeImage 13(int) 3D nonsampled format:Rgba32ui - 144: TypePointer UniformConstant 143 - 145(g_tTex3du4): 144(ptr) Variable UniformConstant - 151: 6(int) Constant 8 - 152: TypePointer Uniform 21(fvec4) - 166: 6(int) Constant 4 - 167: 7(ivec4) ConstantComposite 129 129 62 166 - 173: 13(int) Constant 3 - 174: 13(int) Constant 2 - 175: 13(int) Constant 4 - 176: 14(ivec4) ConstantComposite 173 174 173 175 - 182: TypePointer Function 6(int) - 190: 20(float) Constant 1073741824 - 204: 20(float) Constant 1077936128 - 218: 20(float) Constant 1082130432 - 258: 6(int) Constant 65535 - 272: 6(int) Constant 61680 - 316: 6(int) Constant 5 - 317: 7(ivec4) ConstantComposite 316 129 62 166 - 323: 13(int) Constant 6 - 324: 14(ivec4) ConstantComposite 323 174 173 175 - 340: 6(int) Constant 6 - 341: 6(int) Constant 7 - 342: 7(ivec4) ConstantComposite 151 340 341 151 - 348: 13(int) Constant 9 - 349: 14(ivec4) ConstantComposite 348 174 173 175 - 404: 20(float) Constant 1065353216 - 567: 57(ivec2) ConstantComposite 129 62 - 571(PS_OUTPUT): TypeStruct 21(fvec4) - 572: TypePointer Function 571(PS_OUTPUT) - 574: 21(fvec4) ConstantComposite 404 404 404 404 - 576: TypePointer Output 21(fvec4) - 577(Color): 576(ptr) Variable Output - 581: TypeSampler - 582: TypePointer UniformConstant 581 - 583(g_sSamp): 582(ptr) Variable UniformConstant - 584: TypeImage 20(float) 1D array nonsampled format:Rgba32f - 585: TypePointer UniformConstant 584 -586(g_tTex1df4a): 585(ptr) Variable UniformConstant - 587: TypeImage 6(int) 1D array nonsampled format:Rgba32i - 588: TypePointer UniformConstant 587 -589(g_tTex1di4a): 588(ptr) Variable UniformConstant - 590: TypeImage 13(int) 1D array nonsampled format:Rgba32ui - 591: TypePointer UniformConstant 590 -592(g_tTex1du4a): 591(ptr) Variable UniformConstant - 593: TypeImage 20(float) 2D array nonsampled format:Rgba32f - 594: TypePointer UniformConstant 593 -595(g_tTex2df4a): 594(ptr) Variable UniformConstant - 596: TypeImage 6(int) 2D array nonsampled format:Rgba32i - 597: TypePointer UniformConstant 596 -598(g_tTex2di4a): 597(ptr) Variable UniformConstant - 599: TypeImage 13(int) 2D array nonsampled format:Rgba32ui - 600: TypePointer UniformConstant 599 -601(g_tTex2du4a): 600(ptr) Variable UniformConstant + 42(PS_OUTPUT): TypeStruct 21(fvec4) + 43: TypeFunction 42(PS_OUTPUT) + 55: 6(int) Constant 0 + 56: 7(ivec4) ConstantComposite 55 55 55 55 + 57: 13(int) Constant 0 + 58: 14(ivec4) ConstantComposite 57 57 57 57 + 59: 20(float) Constant 0 + 60: 21(fvec4) ConstantComposite 59 59 59 59 + 61: TypeVector 6(int) 2 + 62: TypeVector 6(int) 3 + 63($Global): TypeStruct 6(int) 61(ivec2) 62(ivec3) 7(ivec4) 6(int) 61(ivec2) 62(ivec3) 7(ivec4) 21(fvec4) 7(ivec4) 14(ivec4) + 64: TypePointer Uniform 63($Global) + 65: 64(ptr) Variable Uniform + 66: 6(int) Constant 3 + 67: TypePointer Uniform 7(ivec4) + 73: TypeImage 20(float) 1D nonsampled format:Rgba32f + 74: TypePointer UniformConstant 73 + 75(g_tTex1df4): 74(ptr) Variable UniformConstant + 77: TypePointer Uniform 6(int) + 87: TypeImage 6(int) 1D nonsampled format:Rgba32i + 88: TypePointer UniformConstant 87 + 89(g_tTex1di4): 88(ptr) Variable UniformConstant + 95: TypeImage 13(int) 1D nonsampled format:Rgba32ui + 96: TypePointer UniformConstant 95 + 97(g_tTex1du4): 96(ptr) Variable UniformConstant + 103: TypeImage 20(float) 2D nonsampled format:Rgba32f + 104: TypePointer UniformConstant 103 + 105(g_tTex2df4): 104(ptr) Variable UniformConstant + 107: 6(int) Constant 1 + 108: TypePointer Uniform 61(ivec2) + 113: TypeImage 6(int) 2D nonsampled format:Rgba32i + 114: TypePointer UniformConstant 113 + 115(g_tTex2di4): 114(ptr) Variable UniformConstant + 121: TypeImage 13(int) 2D nonsampled format:Rgba32ui + 122: TypePointer UniformConstant 121 + 123(g_tTex2du4): 122(ptr) Variable UniformConstant + 129: TypeImage 20(float) 3D nonsampled format:Rgba32f + 130: TypePointer UniformConstant 129 + 131(g_tTex3df4): 130(ptr) Variable UniformConstant + 133: 6(int) Constant 2 + 134: TypePointer Uniform 62(ivec3) + 139: TypeImage 6(int) 3D nonsampled format:Rgba32i + 140: TypePointer UniformConstant 139 + 141(g_tTex3di4): 140(ptr) Variable UniformConstant + 147: TypeImage 13(int) 3D nonsampled format:Rgba32ui + 148: TypePointer UniformConstant 147 + 149(g_tTex3du4): 148(ptr) Variable UniformConstant + 155: 6(int) Constant 8 + 156: TypePointer Uniform 21(fvec4) + 170: 6(int) Constant 4 + 171: 7(ivec4) ConstantComposite 133 133 66 170 + 177: 13(int) Constant 3 + 178: 13(int) Constant 2 + 179: 13(int) Constant 4 + 180: 14(ivec4) ConstantComposite 177 178 177 179 + 186: TypePointer Function 6(int) + 194: 20(float) Constant 1073741824 + 208: 20(float) Constant 1077936128 + 222: 20(float) Constant 1082130432 + 262: 6(int) Constant 65535 + 276: 6(int) Constant 61680 + 320: 6(int) Constant 5 + 321: 7(ivec4) ConstantComposite 320 133 66 170 + 327: 13(int) Constant 6 + 328: 14(ivec4) ConstantComposite 327 178 177 179 + 344: 6(int) Constant 6 + 345: 6(int) Constant 7 + 346: 7(ivec4) ConstantComposite 155 344 345 155 + 352: 13(int) Constant 9 + 353: 14(ivec4) ConstantComposite 352 178 177 179 + 408: 20(float) Constant 1065353216 + 571: 61(ivec2) ConstantComposite 133 66 + 575: TypePointer Function 42(PS_OUTPUT) + 577: 21(fvec4) ConstantComposite 408 408 408 408 + 582: TypePointer Output 21(fvec4) + 583(Color): 582(ptr) Variable Output + 586: TypeSampler + 587: TypePointer UniformConstant 586 + 588(g_sSamp): 587(ptr) Variable UniformConstant + 589: TypeImage 20(float) 1D array nonsampled format:Rgba32f + 590: TypePointer UniformConstant 589 +591(g_tTex1df4a): 590(ptr) Variable UniformConstant + 592: TypeImage 6(int) 1D array nonsampled format:Rgba32i + 593: TypePointer UniformConstant 592 +594(g_tTex1di4a): 593(ptr) Variable UniformConstant + 595: TypeImage 13(int) 1D array nonsampled format:Rgba32ui + 596: TypePointer UniformConstant 595 +597(g_tTex1du4a): 596(ptr) Variable UniformConstant + 598: TypeImage 20(float) 2D array nonsampled format:Rgba32f + 599: TypePointer UniformConstant 598 +600(g_tTex2df4a): 599(ptr) Variable UniformConstant + 601: TypeImage 6(int) 2D array nonsampled format:Rgba32i + 602: TypePointer UniformConstant 601 +603(g_tTex2di4a): 602(ptr) Variable UniformConstant + 604: TypeImage 13(int) 2D array nonsampled format:Rgba32ui + 605: TypePointer UniformConstant 604 +606(g_tTex2du4a): 605(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 77(r00): 22(ptr) Variable Function - 82(r01): 8(ptr) Variable Function - 90(r02): 15(ptr) Variable Function - 98(r10): 22(ptr) Variable Function - 108(r11): 8(ptr) Variable Function - 116(r12): 15(ptr) Variable Function - 124(r20): 22(ptr) Variable Function - 134(r21): 8(ptr) Variable Function - 142(r22): 15(ptr) Variable Function - 150(lf4): 22(ptr) Variable Function - 155(storeTemp): 22(ptr) Variable Function - 165(storeTemp): 8(ptr) Variable Function - 172(storeTemp): 15(ptr) Variable Function - 181(val1): 22(ptr) Variable Function - 183(coordTemp): 182(ptr) Variable Function - 186(storeTemp): 22(ptr) Variable Function - 197(coordTemp): 182(ptr) Variable Function - 200(storeTemp): 22(ptr) Variable Function - 211(coordTemp): 182(ptr) Variable Function - 214(storeTemp): 22(ptr) Variable Function - 225(coordTemp): 182(ptr) Variable Function - 228(storeTemp): 8(ptr) Variable Function - 238(coordTemp): 182(ptr) Variable Function - 241(storeTemp): 8(ptr) Variable Function - 251(coordTemp): 182(ptr) Variable Function - 254(storeTemp): 8(ptr) Variable Function - 265(coordTemp): 182(ptr) Variable Function - 268(storeTemp): 8(ptr) Variable Function - 279(coordTemp): 182(ptr) Variable Function - 282(storeTemp): 8(ptr) Variable Function - 292(coordTemp): 182(ptr) Variable Function - 295(storeTemp): 8(ptr) Variable Function - 305(storeTemp): 22(ptr) Variable Function - 315(storeTemp): 8(ptr) Variable Function - 322(storeTemp): 15(ptr) Variable Function - 329(storeTemp): 22(ptr) Variable Function - 339(storeTemp): 8(ptr) Variable Function - 347(storeTemp): 15(ptr) Variable Function - 358(param): 22(ptr) Variable Function - 364(param): 8(ptr) Variable Function - 370(param): 15(ptr) Variable Function - 372(tempArg): 22(ptr) Variable Function - 373(param): 22(ptr) Variable Function - 380(tempArg): 8(ptr) Variable Function - 381(param): 8(ptr) Variable Function - 388(tempArg): 15(ptr) Variable Function - 389(param): 15(ptr) Variable Function - 396(coordTemp): 182(ptr) Variable Function - 399(storeTemp): 22(ptr) Variable Function - 410(coordTemp): 182(ptr) Variable Function - 413(storeTemp): 8(ptr) Variable Function - 423(coordTemp): 182(ptr) Variable Function - 426(storeTemp): 15(ptr) Variable Function - 436(coordTemp): 182(ptr) Variable Function - 439(storeTemp): 22(ptr) Variable Function - 449(coordTemp): 182(ptr) Variable Function - 452(storeTemp): 8(ptr) Variable Function - 462(coordTemp): 182(ptr) Variable Function - 465(storeTemp): 15(ptr) Variable Function - 475(coordTemp): 182(ptr) Variable Function -478(storeTempPre): 22(ptr) Variable Function -482(storeTempPost): 22(ptr) Variable Function - 490(coordTemp): 182(ptr) Variable Function -493(storeTempPre): 15(ptr) Variable Function -497(storeTempPost): 15(ptr) Variable Function - 505(coordTemp): 182(ptr) Variable Function -508(storeTempPre): 8(ptr) Variable Function -512(storeTempPost): 8(ptr) Variable Function - 520(coordTemp): 182(ptr) Variable Function -523(storeTempPre): 22(ptr) Variable Function -527(storeTempPost): 22(ptr) Variable Function - 535(coordTemp): 182(ptr) Variable Function -538(storeTempPre): 8(ptr) Variable Function -542(storeTempPost): 8(ptr) Variable Function - 550(coordTemp): 182(ptr) Variable Function -553(storeTempPre): 15(ptr) Variable Function -557(storeTempPost): 15(ptr) Variable Function - 565(storeTemp): 22(ptr) Variable Function - 573(psout): 572(ptr) Variable Function - 72: 69 Load 71(g_tTex1df4) - 74: 73(ptr) AccessChain 61 51 - 75: 6(int) Load 74 - 76: 21(fvec4) ImageRead 72 75 - 78: 69 Load 71(g_tTex1df4) - 79: 73(ptr) AccessChain 61 51 - 80: 6(int) Load 79 - 81: 21(fvec4) ImageRead 78 80 - Store 77(r00) 81 - 86: 83 Load 85(g_tTex1di4) - 87: 73(ptr) AccessChain 61 51 - 88: 6(int) Load 87 - 89: 7(ivec4) ImageRead 86 88 - Store 82(r01) 89 - 94: 91 Load 93(g_tTex1du4) - 95: 73(ptr) AccessChain 61 51 - 96: 6(int) Load 95 - 97: 14(ivec4) ImageRead 94 96 - Store 90(r02) 97 - 102: 99 Load 101(g_tTex2df4) - 105: 104(ptr) AccessChain 61 103 - 106: 57(ivec2) Load 105 - 107: 21(fvec4) ImageRead 102 106 - Store 98(r10) 107 - 112: 109 Load 111(g_tTex2di4) - 113: 104(ptr) AccessChain 61 103 - 114: 57(ivec2) Load 113 - 115: 7(ivec4) ImageRead 112 114 - Store 108(r11) 115 - 120: 117 Load 119(g_tTex2du4) - 121: 104(ptr) AccessChain 61 103 - 122: 57(ivec2) Load 121 - 123: 14(ivec4) ImageRead 120 122 - Store 116(r12) 123 - 128: 125 Load 127(g_tTex3df4) - 131: 130(ptr) AccessChain 61 129 - 132: 58(ivec3) Load 131 - 133: 21(fvec4) ImageRead 128 132 - Store 124(r20) 133 - 138: 135 Load 137(g_tTex3di4) - 139: 130(ptr) AccessChain 61 129 - 140: 58(ivec3) Load 139 - 141: 7(ivec4) ImageRead 138 140 - Store 134(r21) 141 - 146: 143 Load 145(g_tTex3du4) - 147: 130(ptr) AccessChain 61 129 - 148: 58(ivec3) Load 147 - 149: 14(ivec4) ImageRead 146 148 - Store 142(r22) 149 - 153: 152(ptr) AccessChain 61 151 - 154: 21(fvec4) Load 153 - Store 150(lf4) 154 - 156: 21(fvec4) FunctionCall 40(SomeValue() - Store 155(storeTemp) 156 - 157: 69 Load 71(g_tTex1df4) - 158: 73(ptr) AccessChain 61 51 - 159: 6(int) Load 158 - 160: 21(fvec4) Load 155(storeTemp) - ImageWrite 157 159 160 - 161: 69 Load 71(g_tTex1df4) - 162: 73(ptr) AccessChain 61 51 - 163: 6(int) Load 162 - 164: 21(fvec4) Load 150(lf4) - ImageWrite 161 163 164 - Store 165(storeTemp) 167 - 168: 83 Load 85(g_tTex1di4) - 169: 73(ptr) AccessChain 61 51 - 170: 6(int) Load 169 - 171: 7(ivec4) Load 165(storeTemp) - ImageWrite 168 170 171 - Store 172(storeTemp) 176 - 177: 91 Load 93(g_tTex1du4) - 178: 73(ptr) AccessChain 61 51 - 179: 6(int) Load 178 - 180: 14(ivec4) Load 172(storeTemp) - ImageWrite 177 179 180 - 184: 73(ptr) AccessChain 61 51 - 185: 6(int) Load 184 - Store 183(coordTemp) 185 - 187: 69 Load 71(g_tTex1df4) - 188: 6(int) Load 183(coordTemp) - 189: 21(fvec4) ImageRead 187 188 - Store 186(storeTemp) 189 - 191: 21(fvec4) Load 186(storeTemp) - 192: 21(fvec4) VectorTimesScalar 191 190 - Store 186(storeTemp) 192 - 193: 69 Load 71(g_tTex1df4) - 194: 6(int) Load 183(coordTemp) - 195: 21(fvec4) Load 186(storeTemp) - ImageWrite 193 194 195 - 196: 21(fvec4) Load 186(storeTemp) - Store 181(val1) 196 - 198: 73(ptr) AccessChain 61 51 - 199: 6(int) Load 198 - Store 197(coordTemp) 199 - 201: 69 Load 71(g_tTex1df4) - 202: 6(int) Load 197(coordTemp) - 203: 21(fvec4) ImageRead 201 202 - Store 200(storeTemp) 203 - 205: 21(fvec4) Load 200(storeTemp) - 206: 21(fvec4) CompositeConstruct 204 204 204 204 - 207: 21(fvec4) FSub 205 206 - Store 200(storeTemp) 207 - 208: 69 Load 71(g_tTex1df4) - 209: 6(int) Load 197(coordTemp) - 210: 21(fvec4) Load 200(storeTemp) - ImageWrite 208 209 210 - 212: 73(ptr) AccessChain 61 51 - 213: 6(int) Load 212 - Store 211(coordTemp) 213 - 215: 69 Load 71(g_tTex1df4) - 216: 6(int) Load 211(coordTemp) - 217: 21(fvec4) ImageRead 215 216 - Store 214(storeTemp) 217 - 219: 21(fvec4) Load 214(storeTemp) - 220: 21(fvec4) CompositeConstruct 218 218 218 218 - 221: 21(fvec4) FAdd 219 220 - Store 214(storeTemp) 221 - 222: 69 Load 71(g_tTex1df4) - 223: 6(int) Load 211(coordTemp) - 224: 21(fvec4) Load 214(storeTemp) - ImageWrite 222 223 224 - 226: 73(ptr) AccessChain 61 51 - 227: 6(int) Load 226 - Store 225(coordTemp) 227 - 229: 83 Load 85(g_tTex1di4) - 230: 6(int) Load 225(coordTemp) - 231: 7(ivec4) ImageRead 229 230 - Store 228(storeTemp) 231 - 232: 7(ivec4) Load 228(storeTemp) - 233: 7(ivec4) CompositeConstruct 129 129 129 129 - 234: 7(ivec4) SDiv 232 233 - Store 228(storeTemp) 234 - 235: 83 Load 85(g_tTex1di4) - 236: 6(int) Load 225(coordTemp) - 237: 7(ivec4) Load 228(storeTemp) - ImageWrite 235 236 237 - 239: 73(ptr) AccessChain 61 51 - 240: 6(int) Load 239 - Store 238(coordTemp) 240 - 242: 83 Load 85(g_tTex1di4) - 243: 6(int) Load 238(coordTemp) - 244: 7(ivec4) ImageRead 242 243 - Store 241(storeTemp) 244 - 245: 7(ivec4) Load 241(storeTemp) - 246: 7(ivec4) CompositeConstruct 129 129 129 129 - 247: 7(ivec4) SMod 245 246 - Store 241(storeTemp) 247 - 248: 83 Load 85(g_tTex1di4) - 249: 6(int) Load 238(coordTemp) - 250: 7(ivec4) Load 241(storeTemp) - ImageWrite 248 249 250 - 252: 73(ptr) AccessChain 61 51 - 253: 6(int) Load 252 - Store 251(coordTemp) 253 - 255: 83 Load 85(g_tTex1di4) - 256: 6(int) Load 251(coordTemp) - 257: 7(ivec4) ImageRead 255 256 - Store 254(storeTemp) 257 - 259: 7(ivec4) Load 254(storeTemp) - 260: 7(ivec4) CompositeConstruct 258 258 258 258 - 261: 7(ivec4) BitwiseAnd 259 260 - Store 254(storeTemp) 261 - 262: 83 Load 85(g_tTex1di4) - 263: 6(int) Load 251(coordTemp) - 264: 7(ivec4) Load 254(storeTemp) - ImageWrite 262 263 264 - 266: 73(ptr) AccessChain 61 51 - 267: 6(int) Load 266 - Store 265(coordTemp) 267 - 269: 83 Load 85(g_tTex1di4) - 270: 6(int) Load 265(coordTemp) - 271: 7(ivec4) ImageRead 269 270 - Store 268(storeTemp) 271 - 273: 7(ivec4) Load 268(storeTemp) - 274: 7(ivec4) CompositeConstruct 272 272 272 272 - 275: 7(ivec4) BitwiseOr 273 274 - Store 268(storeTemp) 275 - 276: 83 Load 85(g_tTex1di4) - 277: 6(int) Load 265(coordTemp) - 278: 7(ivec4) Load 268(storeTemp) - ImageWrite 276 277 278 - 280: 73(ptr) AccessChain 61 51 - 281: 6(int) Load 280 - Store 279(coordTemp) 281 - 283: 83 Load 85(g_tTex1di4) - 284: 6(int) Load 279(coordTemp) - 285: 7(ivec4) ImageRead 283 284 - Store 282(storeTemp) 285 - 286: 7(ivec4) Load 282(storeTemp) - 287: 7(ivec4) CompositeConstruct 129 129 129 129 - 288: 7(ivec4) ShiftLeftLogical 286 287 - Store 282(storeTemp) 288 - 289: 83 Load 85(g_tTex1di4) - 290: 6(int) Load 279(coordTemp) - 291: 7(ivec4) Load 282(storeTemp) - ImageWrite 289 290 291 - 293: 73(ptr) AccessChain 61 51 - 294: 6(int) Load 293 - Store 292(coordTemp) 294 - 296: 83 Load 85(g_tTex1di4) - 297: 6(int) Load 292(coordTemp) - 298: 7(ivec4) ImageRead 296 297 - Store 295(storeTemp) 298 - 299: 7(ivec4) Load 295(storeTemp) - 300: 7(ivec4) CompositeConstruct 129 129 129 129 - 301: 7(ivec4) ShiftRightArithmetic 299 300 - Store 295(storeTemp) 301 - 302: 83 Load 85(g_tTex1di4) - 303: 6(int) Load 292(coordTemp) - 304: 7(ivec4) Load 295(storeTemp) - ImageWrite 302 303 304 - 306: 21(fvec4) FunctionCall 40(SomeValue() - Store 305(storeTemp) 306 - 307: 99 Load 101(g_tTex2df4) - 308: 104(ptr) AccessChain 61 103 - 309: 57(ivec2) Load 308 - 310: 21(fvec4) Load 305(storeTemp) - ImageWrite 307 309 310 - 311: 99 Load 101(g_tTex2df4) - 312: 104(ptr) AccessChain 61 103 - 313: 57(ivec2) Load 312 - 314: 21(fvec4) Load 150(lf4) - ImageWrite 311 313 314 - Store 315(storeTemp) 317 - 318: 109 Load 111(g_tTex2di4) - 319: 104(ptr) AccessChain 61 103 - 320: 57(ivec2) Load 319 - 321: 7(ivec4) Load 315(storeTemp) - ImageWrite 318 320 321 - Store 322(storeTemp) 324 - 325: 117 Load 119(g_tTex2du4) - 326: 104(ptr) AccessChain 61 103 - 327: 57(ivec2) Load 326 - 328: 14(ivec4) Load 322(storeTemp) - ImageWrite 325 327 328 - 330: 21(fvec4) FunctionCall 40(SomeValue() - Store 329(storeTemp) 330 - 331: 125 Load 127(g_tTex3df4) - 332: 130(ptr) AccessChain 61 129 - 333: 58(ivec3) Load 332 - 334: 21(fvec4) Load 329(storeTemp) - ImageWrite 331 333 334 - 335: 125 Load 127(g_tTex3df4) - 336: 130(ptr) AccessChain 61 129 - 337: 58(ivec3) Load 336 - 338: 21(fvec4) Load 150(lf4) - ImageWrite 335 337 338 - Store 339(storeTemp) 342 - 343: 135 Load 137(g_tTex3di4) - 344: 130(ptr) AccessChain 61 129 - 345: 58(ivec3) Load 344 - 346: 7(ivec4) Load 339(storeTemp) - ImageWrite 343 345 346 - Store 347(storeTemp) 349 - 350: 143 Load 145(g_tTex3du4) - 351: 130(ptr) AccessChain 61 129 - 352: 58(ivec3) Load 351 - 353: 14(ivec4) Load 347(storeTemp) - ImageWrite 350 352 353 - 354: 69 Load 71(g_tTex1df4) - 355: 73(ptr) AccessChain 61 51 - 356: 6(int) Load 355 - 357: 21(fvec4) ImageRead 354 356 - Store 358(param) 357 - 359: 21(fvec4) FunctionCall 25(Fn1(vf4;) 358(param) - 360: 83 Load 85(g_tTex1di4) - 361: 73(ptr) AccessChain 61 51 - 362: 6(int) Load 361 - 363: 7(ivec4) ImageRead 360 362 - Store 364(param) 363 - 365: 7(ivec4) FunctionCall 11(Fn1(vi4;) 364(param) - 366: 91 Load 93(g_tTex1du4) - 367: 73(ptr) AccessChain 61 51 - 368: 6(int) Load 367 - 369: 14(ivec4) ImageRead 366 368 - Store 370(param) 369 - 371: 14(ivec4) FunctionCall 18(Fn1(vu4;) 370(param) - 374: 2 FunctionCall 37(Fn2(vf4;) 373(param) - 375: 21(fvec4) Load 373(param) - Store 372(tempArg) 375 - 376: 69 Load 71(g_tTex1df4) - 377: 73(ptr) AccessChain 61 51 - 378: 6(int) Load 377 - 379: 21(fvec4) Load 372(tempArg) - ImageWrite 376 378 379 - 382: 2 FunctionCall 29(Fn2(vi4;) 381(param) - 383: 7(ivec4) Load 381(param) - Store 380(tempArg) 383 - 384: 83 Load 85(g_tTex1di4) - 385: 73(ptr) AccessChain 61 51 - 386: 6(int) Load 385 - 387: 7(ivec4) Load 380(tempArg) - ImageWrite 384 386 387 - 390: 2 FunctionCall 33(Fn2(vu4;) 389(param) - 391: 14(ivec4) Load 389(param) - Store 388(tempArg) 391 - 392: 91 Load 93(g_tTex1du4) - 393: 73(ptr) AccessChain 61 51 - 394: 6(int) Load 393 - 395: 14(ivec4) Load 388(tempArg) - ImageWrite 392 394 395 - 397: 73(ptr) AccessChain 61 51 - 398: 6(int) Load 397 - Store 396(coordTemp) 398 - 400: 69 Load 71(g_tTex1df4) - 401: 6(int) Load 396(coordTemp) - 402: 21(fvec4) ImageRead 400 401 - Store 399(storeTemp) 402 - 403: 21(fvec4) Load 399(storeTemp) - 405: 21(fvec4) CompositeConstruct 404 404 404 404 - 406: 21(fvec4) FAdd 403 405 - Store 399(storeTemp) 406 - 407: 69 Load 71(g_tTex1df4) - 408: 6(int) Load 396(coordTemp) - 409: 21(fvec4) Load 399(storeTemp) - ImageWrite 407 408 409 - 411: 73(ptr) AccessChain 61 51 - 412: 6(int) Load 411 - Store 410(coordTemp) 412 - 414: 83 Load 85(g_tTex1di4) - 415: 6(int) Load 410(coordTemp) - 416: 7(ivec4) ImageRead 414 415 - Store 413(storeTemp) 416 - 417: 7(ivec4) Load 413(storeTemp) - 418: 7(ivec4) CompositeConstruct 103 103 103 103 - 419: 7(ivec4) IAdd 417 418 - Store 413(storeTemp) 419 - 420: 83 Load 85(g_tTex1di4) - 421: 6(int) Load 410(coordTemp) - 422: 7(ivec4) Load 413(storeTemp) - ImageWrite 420 421 422 - 424: 73(ptr) AccessChain 61 51 - 425: 6(int) Load 424 - Store 423(coordTemp) 425 - 427: 91 Load 93(g_tTex1du4) - 428: 6(int) Load 423(coordTemp) - 429: 14(ivec4) ImageRead 427 428 - Store 426(storeTemp) 429 - 430: 14(ivec4) Load 426(storeTemp) - 431: 7(ivec4) CompositeConstruct 103 103 103 103 - 432: 14(ivec4) IAdd 430 431 - Store 426(storeTemp) 432 - 433: 91 Load 93(g_tTex1du4) - 434: 6(int) Load 423(coordTemp) - 435: 14(ivec4) Load 426(storeTemp) - ImageWrite 433 434 435 - 437: 73(ptr) AccessChain 61 51 - 438: 6(int) Load 437 - Store 436(coordTemp) 438 - 440: 69 Load 71(g_tTex1df4) - 441: 6(int) Load 436(coordTemp) - 442: 21(fvec4) ImageRead 440 441 - Store 439(storeTemp) 442 - 443: 21(fvec4) Load 439(storeTemp) - 444: 21(fvec4) CompositeConstruct 404 404 404 404 - 445: 21(fvec4) FSub 443 444 - Store 439(storeTemp) 445 - 446: 69 Load 71(g_tTex1df4) - 447: 6(int) Load 436(coordTemp) - 448: 21(fvec4) Load 439(storeTemp) - ImageWrite 446 447 448 - 450: 73(ptr) AccessChain 61 51 - 451: 6(int) Load 450 - Store 449(coordTemp) 451 - 453: 83 Load 85(g_tTex1di4) - 454: 6(int) Load 449(coordTemp) - 455: 7(ivec4) ImageRead 453 454 - Store 452(storeTemp) 455 - 456: 7(ivec4) Load 452(storeTemp) - 457: 7(ivec4) CompositeConstruct 103 103 103 103 - 458: 7(ivec4) ISub 456 457 - Store 452(storeTemp) 458 - 459: 83 Load 85(g_tTex1di4) - 460: 6(int) Load 449(coordTemp) - 461: 7(ivec4) Load 452(storeTemp) - ImageWrite 459 460 461 - 463: 73(ptr) AccessChain 61 51 - 464: 6(int) Load 463 - Store 462(coordTemp) 464 - 466: 91 Load 93(g_tTex1du4) - 467: 6(int) Load 462(coordTemp) - 468: 14(ivec4) ImageRead 466 467 - Store 465(storeTemp) 468 - 469: 14(ivec4) Load 465(storeTemp) - 470: 7(ivec4) CompositeConstruct 103 103 103 103 - 471: 14(ivec4) ISub 469 470 - Store 465(storeTemp) 471 - 472: 91 Load 93(g_tTex1du4) - 473: 6(int) Load 462(coordTemp) - 474: 14(ivec4) Load 465(storeTemp) - ImageWrite 472 473 474 - 476: 73(ptr) AccessChain 61 51 - 477: 6(int) Load 476 - Store 475(coordTemp) 477 - 479: 69 Load 71(g_tTex1df4) - 480: 6(int) Load 475(coordTemp) - 481: 21(fvec4) ImageRead 479 480 - Store 478(storeTempPre) 481 - 483: 21(fvec4) Load 478(storeTempPre) - Store 482(storeTempPost) 483 - 484: 21(fvec4) Load 482(storeTempPost) - 485: 21(fvec4) CompositeConstruct 404 404 404 404 - 486: 21(fvec4) FAdd 484 485 - Store 482(storeTempPost) 486 - 487: 69 Load 71(g_tTex1df4) - 488: 6(int) Load 475(coordTemp) - 489: 21(fvec4) Load 482(storeTempPost) - ImageWrite 487 488 489 - 491: 73(ptr) AccessChain 61 51 - 492: 6(int) Load 491 - Store 490(coordTemp) 492 - 494: 91 Load 93(g_tTex1du4) - 495: 6(int) Load 490(coordTemp) - 496: 14(ivec4) ImageRead 494 495 - Store 493(storeTempPre) 496 - 498: 14(ivec4) Load 493(storeTempPre) - Store 497(storeTempPost) 498 - 499: 14(ivec4) Load 497(storeTempPost) - 500: 7(ivec4) CompositeConstruct 103 103 103 103 - 501: 14(ivec4) ISub 499 500 - Store 497(storeTempPost) 501 - 502: 91 Load 93(g_tTex1du4) - 503: 6(int) Load 490(coordTemp) - 504: 14(ivec4) Load 497(storeTempPost) - ImageWrite 502 503 504 - 506: 73(ptr) AccessChain 61 51 - 507: 6(int) Load 506 - Store 505(coordTemp) 507 - 509: 83 Load 85(g_tTex1di4) - 510: 6(int) Load 505(coordTemp) - 511: 7(ivec4) ImageRead 509 510 - Store 508(storeTempPre) 511 - 513: 7(ivec4) Load 508(storeTempPre) - Store 512(storeTempPost) 513 - 514: 7(ivec4) Load 512(storeTempPost) - 515: 7(ivec4) CompositeConstruct 103 103 103 103 - 516: 7(ivec4) IAdd 514 515 - Store 512(storeTempPost) 516 - 517: 83 Load 85(g_tTex1di4) - 518: 6(int) Load 505(coordTemp) - 519: 7(ivec4) Load 512(storeTempPost) - ImageWrite 517 518 519 - 521: 73(ptr) AccessChain 61 51 - 522: 6(int) Load 521 - Store 520(coordTemp) 522 - 524: 69 Load 71(g_tTex1df4) - 525: 6(int) Load 520(coordTemp) - 526: 21(fvec4) ImageRead 524 525 - Store 523(storeTempPre) 526 - 528: 21(fvec4) Load 523(storeTempPre) - Store 527(storeTempPost) 528 - 529: 21(fvec4) Load 527(storeTempPost) - 530: 21(fvec4) CompositeConstruct 404 404 404 404 - 531: 21(fvec4) FSub 529 530 - Store 527(storeTempPost) 531 - 532: 69 Load 71(g_tTex1df4) - 533: 6(int) Load 520(coordTemp) - 534: 21(fvec4) Load 527(storeTempPost) - ImageWrite 532 533 534 - 536: 73(ptr) AccessChain 61 51 - 537: 6(int) Load 536 - Store 535(coordTemp) 537 - 539: 83 Load 85(g_tTex1di4) - 540: 6(int) Load 535(coordTemp) - 541: 7(ivec4) ImageRead 539 540 - Store 538(storeTempPre) 541 - 543: 7(ivec4) Load 538(storeTempPre) - Store 542(storeTempPost) 543 - 544: 7(ivec4) Load 542(storeTempPost) - 545: 7(ivec4) CompositeConstruct 103 103 103 103 - 546: 7(ivec4) IAdd 544 545 - Store 542(storeTempPost) 546 - 547: 83 Load 85(g_tTex1di4) - 548: 6(int) Load 535(coordTemp) - 549: 7(ivec4) Load 542(storeTempPost) - ImageWrite 547 548 549 - 551: 73(ptr) AccessChain 61 51 - 552: 6(int) Load 551 - Store 550(coordTemp) 552 - 554: 91 Load 93(g_tTex1du4) - 555: 6(int) Load 550(coordTemp) - 556: 14(ivec4) ImageRead 554 555 - Store 553(storeTempPre) 556 - 558: 14(ivec4) Load 553(storeTempPre) - Store 557(storeTempPost) 558 - 559: 14(ivec4) Load 557(storeTempPost) - 560: 7(ivec4) CompositeConstruct 103 103 103 103 - 561: 14(ivec4) ISub 559 560 - Store 557(storeTempPost) 561 - 562: 91 Load 93(g_tTex1du4) - 563: 6(int) Load 550(coordTemp) - 564: 14(ivec4) Load 557(storeTempPost) - ImageWrite 562 563 564 - 566: 99 Load 101(g_tTex2df4) - 568: 21(fvec4) ImageRead 566 567 - Store 565(storeTemp) 568 - 569: 69 Load 71(g_tTex1df4) - 570: 21(fvec4) Load 565(storeTemp) - ImageWrite 569 103 570 - 575: 22(ptr) AccessChain 573(psout) 51 - Store 575 574 - 578: 22(ptr) AccessChain 573(psout) 51 - 579: 21(fvec4) Load 578 - Store 577(Color) 579 + 584:42(PS_OUTPUT) FunctionCall 44(@main() + 585: 21(fvec4) CompositeExtract 584 0 + Store 583(Color) 585 Return FunctionEnd 11(Fn1(vi4;): 7(ivec4) Function None 9 10(x): 8(ptr) FunctionParameter 12: Label - 42: 7(ivec4) Load 10(x) - ReturnValue 42 + 46: 7(ivec4) Load 10(x) + ReturnValue 46 FunctionEnd 18(Fn1(vu4;): 14(ivec4) Function None 16 17(x): 15(ptr) FunctionParameter 19: Label - 45: 14(ivec4) Load 17(x) - ReturnValue 45 + 49: 14(ivec4) Load 17(x) + ReturnValue 49 FunctionEnd 25(Fn1(vf4;): 21(fvec4) Function None 23 24(x): 22(ptr) FunctionParameter 26: Label - 48: 21(fvec4) Load 24(x) - ReturnValue 48 + 52: 21(fvec4) Load 24(x) + ReturnValue 52 FunctionEnd 29(Fn2(vi4;): 2 Function None 27 28(x): 8(ptr) FunctionParameter 30: Label - Store 28(x) 52 + Store 28(x) 56 Return FunctionEnd 33(Fn2(vu4;): 2 Function None 31 32(x): 15(ptr) FunctionParameter 34: Label - Store 32(x) 54 + Store 32(x) 58 Return FunctionEnd 37(Fn2(vf4;): 2 Function None 35 36(x): 22(ptr) FunctionParameter 38: Label - Store 36(x) 56 + Store 36(x) 60 Return FunctionEnd 40(SomeValue(): 21(fvec4) Function None 39 41: Label - 64: 63(ptr) AccessChain 61 62 - 65: 7(ivec4) Load 64 - 66: 21(fvec4) ConvertSToF 65 - ReturnValue 66 + 68: 67(ptr) AccessChain 65 66 + 69: 7(ivec4) Load 68 + 70: 21(fvec4) ConvertSToF 69 + ReturnValue 70 + FunctionEnd + 44(@main():42(PS_OUTPUT) Function None 43 + 45: Label + 81(r00): 22(ptr) Variable Function + 86(r01): 8(ptr) Variable Function + 94(r02): 15(ptr) Variable Function + 102(r10): 22(ptr) Variable Function + 112(r11): 8(ptr) Variable Function + 120(r12): 15(ptr) Variable Function + 128(r20): 22(ptr) Variable Function + 138(r21): 8(ptr) Variable Function + 146(r22): 15(ptr) Variable Function + 154(lf4): 22(ptr) Variable Function + 159(storeTemp): 22(ptr) Variable Function + 169(storeTemp): 8(ptr) Variable Function + 176(storeTemp): 15(ptr) Variable Function + 185(val1): 22(ptr) Variable Function + 187(coordTemp): 186(ptr) Variable Function + 190(storeTemp): 22(ptr) Variable Function + 201(coordTemp): 186(ptr) Variable Function + 204(storeTemp): 22(ptr) Variable Function + 215(coordTemp): 186(ptr) Variable Function + 218(storeTemp): 22(ptr) Variable Function + 229(coordTemp): 186(ptr) Variable Function + 232(storeTemp): 8(ptr) Variable Function + 242(coordTemp): 186(ptr) Variable Function + 245(storeTemp): 8(ptr) Variable Function + 255(coordTemp): 186(ptr) Variable Function + 258(storeTemp): 8(ptr) Variable Function + 269(coordTemp): 186(ptr) Variable Function + 272(storeTemp): 8(ptr) Variable Function + 283(coordTemp): 186(ptr) Variable Function + 286(storeTemp): 8(ptr) Variable Function + 296(coordTemp): 186(ptr) Variable Function + 299(storeTemp): 8(ptr) Variable Function + 309(storeTemp): 22(ptr) Variable Function + 319(storeTemp): 8(ptr) Variable Function + 326(storeTemp): 15(ptr) Variable Function + 333(storeTemp): 22(ptr) Variable Function + 343(storeTemp): 8(ptr) Variable Function + 351(storeTemp): 15(ptr) Variable Function + 362(param): 22(ptr) Variable Function + 368(param): 8(ptr) Variable Function + 374(param): 15(ptr) Variable Function + 376(tempArg): 22(ptr) Variable Function + 377(param): 22(ptr) Variable Function + 384(tempArg): 8(ptr) Variable Function + 385(param): 8(ptr) Variable Function + 392(tempArg): 15(ptr) Variable Function + 393(param): 15(ptr) Variable Function + 400(coordTemp): 186(ptr) Variable Function + 403(storeTemp): 22(ptr) Variable Function + 414(coordTemp): 186(ptr) Variable Function + 417(storeTemp): 8(ptr) Variable Function + 427(coordTemp): 186(ptr) Variable Function + 430(storeTemp): 15(ptr) Variable Function + 440(coordTemp): 186(ptr) Variable Function + 443(storeTemp): 22(ptr) Variable Function + 453(coordTemp): 186(ptr) Variable Function + 456(storeTemp): 8(ptr) Variable Function + 466(coordTemp): 186(ptr) Variable Function + 469(storeTemp): 15(ptr) Variable Function + 479(coordTemp): 186(ptr) Variable Function +482(storeTempPre): 22(ptr) Variable Function +486(storeTempPost): 22(ptr) Variable Function + 494(coordTemp): 186(ptr) Variable Function +497(storeTempPre): 15(ptr) Variable Function +501(storeTempPost): 15(ptr) Variable Function + 509(coordTemp): 186(ptr) Variable Function +512(storeTempPre): 8(ptr) Variable Function +516(storeTempPost): 8(ptr) Variable Function + 524(coordTemp): 186(ptr) Variable Function +527(storeTempPre): 22(ptr) Variable Function +531(storeTempPost): 22(ptr) Variable Function + 539(coordTemp): 186(ptr) Variable Function +542(storeTempPre): 8(ptr) Variable Function +546(storeTempPost): 8(ptr) Variable Function + 554(coordTemp): 186(ptr) Variable Function +557(storeTempPre): 15(ptr) Variable Function +561(storeTempPost): 15(ptr) Variable Function + 569(storeTemp): 22(ptr) Variable Function + 576(psout): 575(ptr) Variable Function + 76: 73 Load 75(g_tTex1df4) + 78: 77(ptr) AccessChain 65 55 + 79: 6(int) Load 78 + 80: 21(fvec4) ImageRead 76 79 + 82: 73 Load 75(g_tTex1df4) + 83: 77(ptr) AccessChain 65 55 + 84: 6(int) Load 83 + 85: 21(fvec4) ImageRead 82 84 + Store 81(r00) 85 + 90: 87 Load 89(g_tTex1di4) + 91: 77(ptr) AccessChain 65 55 + 92: 6(int) Load 91 + 93: 7(ivec4) ImageRead 90 92 + Store 86(r01) 93 + 98: 95 Load 97(g_tTex1du4) + 99: 77(ptr) AccessChain 65 55 + 100: 6(int) Load 99 + 101: 14(ivec4) ImageRead 98 100 + Store 94(r02) 101 + 106: 103 Load 105(g_tTex2df4) + 109: 108(ptr) AccessChain 65 107 + 110: 61(ivec2) Load 109 + 111: 21(fvec4) ImageRead 106 110 + Store 102(r10) 111 + 116: 113 Load 115(g_tTex2di4) + 117: 108(ptr) AccessChain 65 107 + 118: 61(ivec2) Load 117 + 119: 7(ivec4) ImageRead 116 118 + Store 112(r11) 119 + 124: 121 Load 123(g_tTex2du4) + 125: 108(ptr) AccessChain 65 107 + 126: 61(ivec2) Load 125 + 127: 14(ivec4) ImageRead 124 126 + Store 120(r12) 127 + 132: 129 Load 131(g_tTex3df4) + 135: 134(ptr) AccessChain 65 133 + 136: 62(ivec3) Load 135 + 137: 21(fvec4) ImageRead 132 136 + Store 128(r20) 137 + 142: 139 Load 141(g_tTex3di4) + 143: 134(ptr) AccessChain 65 133 + 144: 62(ivec3) Load 143 + 145: 7(ivec4) ImageRead 142 144 + Store 138(r21) 145 + 150: 147 Load 149(g_tTex3du4) + 151: 134(ptr) AccessChain 65 133 + 152: 62(ivec3) Load 151 + 153: 14(ivec4) ImageRead 150 152 + Store 146(r22) 153 + 157: 156(ptr) AccessChain 65 155 + 158: 21(fvec4) Load 157 + Store 154(lf4) 158 + 160: 21(fvec4) FunctionCall 40(SomeValue() + Store 159(storeTemp) 160 + 161: 73 Load 75(g_tTex1df4) + 162: 77(ptr) AccessChain 65 55 + 163: 6(int) Load 162 + 164: 21(fvec4) Load 159(storeTemp) + ImageWrite 161 163 164 + 165: 73 Load 75(g_tTex1df4) + 166: 77(ptr) AccessChain 65 55 + 167: 6(int) Load 166 + 168: 21(fvec4) Load 154(lf4) + ImageWrite 165 167 168 + Store 169(storeTemp) 171 + 172: 87 Load 89(g_tTex1di4) + 173: 77(ptr) AccessChain 65 55 + 174: 6(int) Load 173 + 175: 7(ivec4) Load 169(storeTemp) + ImageWrite 172 174 175 + Store 176(storeTemp) 180 + 181: 95 Load 97(g_tTex1du4) + 182: 77(ptr) AccessChain 65 55 + 183: 6(int) Load 182 + 184: 14(ivec4) Load 176(storeTemp) + ImageWrite 181 183 184 + 188: 77(ptr) AccessChain 65 55 + 189: 6(int) Load 188 + Store 187(coordTemp) 189 + 191: 73 Load 75(g_tTex1df4) + 192: 6(int) Load 187(coordTemp) + 193: 21(fvec4) ImageRead 191 192 + Store 190(storeTemp) 193 + 195: 21(fvec4) Load 190(storeTemp) + 196: 21(fvec4) VectorTimesScalar 195 194 + Store 190(storeTemp) 196 + 197: 73 Load 75(g_tTex1df4) + 198: 6(int) Load 187(coordTemp) + 199: 21(fvec4) Load 190(storeTemp) + ImageWrite 197 198 199 + 200: 21(fvec4) Load 190(storeTemp) + Store 185(val1) 200 + 202: 77(ptr) AccessChain 65 55 + 203: 6(int) Load 202 + Store 201(coordTemp) 203 + 205: 73 Load 75(g_tTex1df4) + 206: 6(int) Load 201(coordTemp) + 207: 21(fvec4) ImageRead 205 206 + Store 204(storeTemp) 207 + 209: 21(fvec4) Load 204(storeTemp) + 210: 21(fvec4) CompositeConstruct 208 208 208 208 + 211: 21(fvec4) FSub 209 210 + Store 204(storeTemp) 211 + 212: 73 Load 75(g_tTex1df4) + 213: 6(int) Load 201(coordTemp) + 214: 21(fvec4) Load 204(storeTemp) + ImageWrite 212 213 214 + 216: 77(ptr) AccessChain 65 55 + 217: 6(int) Load 216 + Store 215(coordTemp) 217 + 219: 73 Load 75(g_tTex1df4) + 220: 6(int) Load 215(coordTemp) + 221: 21(fvec4) ImageRead 219 220 + Store 218(storeTemp) 221 + 223: 21(fvec4) Load 218(storeTemp) + 224: 21(fvec4) CompositeConstruct 222 222 222 222 + 225: 21(fvec4) FAdd 223 224 + Store 218(storeTemp) 225 + 226: 73 Load 75(g_tTex1df4) + 227: 6(int) Load 215(coordTemp) + 228: 21(fvec4) Load 218(storeTemp) + ImageWrite 226 227 228 + 230: 77(ptr) AccessChain 65 55 + 231: 6(int) Load 230 + Store 229(coordTemp) 231 + 233: 87 Load 89(g_tTex1di4) + 234: 6(int) Load 229(coordTemp) + 235: 7(ivec4) ImageRead 233 234 + Store 232(storeTemp) 235 + 236: 7(ivec4) Load 232(storeTemp) + 237: 7(ivec4) CompositeConstruct 133 133 133 133 + 238: 7(ivec4) SDiv 236 237 + Store 232(storeTemp) 238 + 239: 87 Load 89(g_tTex1di4) + 240: 6(int) Load 229(coordTemp) + 241: 7(ivec4) Load 232(storeTemp) + ImageWrite 239 240 241 + 243: 77(ptr) AccessChain 65 55 + 244: 6(int) Load 243 + Store 242(coordTemp) 244 + 246: 87 Load 89(g_tTex1di4) + 247: 6(int) Load 242(coordTemp) + 248: 7(ivec4) ImageRead 246 247 + Store 245(storeTemp) 248 + 249: 7(ivec4) Load 245(storeTemp) + 250: 7(ivec4) CompositeConstruct 133 133 133 133 + 251: 7(ivec4) SMod 249 250 + Store 245(storeTemp) 251 + 252: 87 Load 89(g_tTex1di4) + 253: 6(int) Load 242(coordTemp) + 254: 7(ivec4) Load 245(storeTemp) + ImageWrite 252 253 254 + 256: 77(ptr) AccessChain 65 55 + 257: 6(int) Load 256 + Store 255(coordTemp) 257 + 259: 87 Load 89(g_tTex1di4) + 260: 6(int) Load 255(coordTemp) + 261: 7(ivec4) ImageRead 259 260 + Store 258(storeTemp) 261 + 263: 7(ivec4) Load 258(storeTemp) + 264: 7(ivec4) CompositeConstruct 262 262 262 262 + 265: 7(ivec4) BitwiseAnd 263 264 + Store 258(storeTemp) 265 + 266: 87 Load 89(g_tTex1di4) + 267: 6(int) Load 255(coordTemp) + 268: 7(ivec4) Load 258(storeTemp) + ImageWrite 266 267 268 + 270: 77(ptr) AccessChain 65 55 + 271: 6(int) Load 270 + Store 269(coordTemp) 271 + 273: 87 Load 89(g_tTex1di4) + 274: 6(int) Load 269(coordTemp) + 275: 7(ivec4) ImageRead 273 274 + Store 272(storeTemp) 275 + 277: 7(ivec4) Load 272(storeTemp) + 278: 7(ivec4) CompositeConstruct 276 276 276 276 + 279: 7(ivec4) BitwiseOr 277 278 + Store 272(storeTemp) 279 + 280: 87 Load 89(g_tTex1di4) + 281: 6(int) Load 269(coordTemp) + 282: 7(ivec4) Load 272(storeTemp) + ImageWrite 280 281 282 + 284: 77(ptr) AccessChain 65 55 + 285: 6(int) Load 284 + Store 283(coordTemp) 285 + 287: 87 Load 89(g_tTex1di4) + 288: 6(int) Load 283(coordTemp) + 289: 7(ivec4) ImageRead 287 288 + Store 286(storeTemp) 289 + 290: 7(ivec4) Load 286(storeTemp) + 291: 7(ivec4) CompositeConstruct 133 133 133 133 + 292: 7(ivec4) ShiftLeftLogical 290 291 + Store 286(storeTemp) 292 + 293: 87 Load 89(g_tTex1di4) + 294: 6(int) Load 283(coordTemp) + 295: 7(ivec4) Load 286(storeTemp) + ImageWrite 293 294 295 + 297: 77(ptr) AccessChain 65 55 + 298: 6(int) Load 297 + Store 296(coordTemp) 298 + 300: 87 Load 89(g_tTex1di4) + 301: 6(int) Load 296(coordTemp) + 302: 7(ivec4) ImageRead 300 301 + Store 299(storeTemp) 302 + 303: 7(ivec4) Load 299(storeTemp) + 304: 7(ivec4) CompositeConstruct 133 133 133 133 + 305: 7(ivec4) ShiftRightArithmetic 303 304 + Store 299(storeTemp) 305 + 306: 87 Load 89(g_tTex1di4) + 307: 6(int) Load 296(coordTemp) + 308: 7(ivec4) Load 299(storeTemp) + ImageWrite 306 307 308 + 310: 21(fvec4) FunctionCall 40(SomeValue() + Store 309(storeTemp) 310 + 311: 103 Load 105(g_tTex2df4) + 312: 108(ptr) AccessChain 65 107 + 313: 61(ivec2) Load 312 + 314: 21(fvec4) Load 309(storeTemp) + ImageWrite 311 313 314 + 315: 103 Load 105(g_tTex2df4) + 316: 108(ptr) AccessChain 65 107 + 317: 61(ivec2) Load 316 + 318: 21(fvec4) Load 154(lf4) + ImageWrite 315 317 318 + Store 319(storeTemp) 321 + 322: 113 Load 115(g_tTex2di4) + 323: 108(ptr) AccessChain 65 107 + 324: 61(ivec2) Load 323 + 325: 7(ivec4) Load 319(storeTemp) + ImageWrite 322 324 325 + Store 326(storeTemp) 328 + 329: 121 Load 123(g_tTex2du4) + 330: 108(ptr) AccessChain 65 107 + 331: 61(ivec2) Load 330 + 332: 14(ivec4) Load 326(storeTemp) + ImageWrite 329 331 332 + 334: 21(fvec4) FunctionCall 40(SomeValue() + Store 333(storeTemp) 334 + 335: 129 Load 131(g_tTex3df4) + 336: 134(ptr) AccessChain 65 133 + 337: 62(ivec3) Load 336 + 338: 21(fvec4) Load 333(storeTemp) + ImageWrite 335 337 338 + 339: 129 Load 131(g_tTex3df4) + 340: 134(ptr) AccessChain 65 133 + 341: 62(ivec3) Load 340 + 342: 21(fvec4) Load 154(lf4) + ImageWrite 339 341 342 + Store 343(storeTemp) 346 + 347: 139 Load 141(g_tTex3di4) + 348: 134(ptr) AccessChain 65 133 + 349: 62(ivec3) Load 348 + 350: 7(ivec4) Load 343(storeTemp) + ImageWrite 347 349 350 + Store 351(storeTemp) 353 + 354: 147 Load 149(g_tTex3du4) + 355: 134(ptr) AccessChain 65 133 + 356: 62(ivec3) Load 355 + 357: 14(ivec4) Load 351(storeTemp) + ImageWrite 354 356 357 + 358: 73 Load 75(g_tTex1df4) + 359: 77(ptr) AccessChain 65 55 + 360: 6(int) Load 359 + 361: 21(fvec4) ImageRead 358 360 + Store 362(param) 361 + 363: 21(fvec4) FunctionCall 25(Fn1(vf4;) 362(param) + 364: 87 Load 89(g_tTex1di4) + 365: 77(ptr) AccessChain 65 55 + 366: 6(int) Load 365 + 367: 7(ivec4) ImageRead 364 366 + Store 368(param) 367 + 369: 7(ivec4) FunctionCall 11(Fn1(vi4;) 368(param) + 370: 95 Load 97(g_tTex1du4) + 371: 77(ptr) AccessChain 65 55 + 372: 6(int) Load 371 + 373: 14(ivec4) ImageRead 370 372 + Store 374(param) 373 + 375: 14(ivec4) FunctionCall 18(Fn1(vu4;) 374(param) + 378: 2 FunctionCall 37(Fn2(vf4;) 377(param) + 379: 21(fvec4) Load 377(param) + Store 376(tempArg) 379 + 380: 73 Load 75(g_tTex1df4) + 381: 77(ptr) AccessChain 65 55 + 382: 6(int) Load 381 + 383: 21(fvec4) Load 376(tempArg) + ImageWrite 380 382 383 + 386: 2 FunctionCall 29(Fn2(vi4;) 385(param) + 387: 7(ivec4) Load 385(param) + Store 384(tempArg) 387 + 388: 87 Load 89(g_tTex1di4) + 389: 77(ptr) AccessChain 65 55 + 390: 6(int) Load 389 + 391: 7(ivec4) Load 384(tempArg) + ImageWrite 388 390 391 + 394: 2 FunctionCall 33(Fn2(vu4;) 393(param) + 395: 14(ivec4) Load 393(param) + Store 392(tempArg) 395 + 396: 95 Load 97(g_tTex1du4) + 397: 77(ptr) AccessChain 65 55 + 398: 6(int) Load 397 + 399: 14(ivec4) Load 392(tempArg) + ImageWrite 396 398 399 + 401: 77(ptr) AccessChain 65 55 + 402: 6(int) Load 401 + Store 400(coordTemp) 402 + 404: 73 Load 75(g_tTex1df4) + 405: 6(int) Load 400(coordTemp) + 406: 21(fvec4) ImageRead 404 405 + Store 403(storeTemp) 406 + 407: 21(fvec4) Load 403(storeTemp) + 409: 21(fvec4) CompositeConstruct 408 408 408 408 + 410: 21(fvec4) FAdd 407 409 + Store 403(storeTemp) 410 + 411: 73 Load 75(g_tTex1df4) + 412: 6(int) Load 400(coordTemp) + 413: 21(fvec4) Load 403(storeTemp) + ImageWrite 411 412 413 + 415: 77(ptr) AccessChain 65 55 + 416: 6(int) Load 415 + Store 414(coordTemp) 416 + 418: 87 Load 89(g_tTex1di4) + 419: 6(int) Load 414(coordTemp) + 420: 7(ivec4) ImageRead 418 419 + Store 417(storeTemp) 420 + 421: 7(ivec4) Load 417(storeTemp) + 422: 7(ivec4) CompositeConstruct 107 107 107 107 + 423: 7(ivec4) IAdd 421 422 + Store 417(storeTemp) 423 + 424: 87 Load 89(g_tTex1di4) + 425: 6(int) Load 414(coordTemp) + 426: 7(ivec4) Load 417(storeTemp) + ImageWrite 424 425 426 + 428: 77(ptr) AccessChain 65 55 + 429: 6(int) Load 428 + Store 427(coordTemp) 429 + 431: 95 Load 97(g_tTex1du4) + 432: 6(int) Load 427(coordTemp) + 433: 14(ivec4) ImageRead 431 432 + Store 430(storeTemp) 433 + 434: 14(ivec4) Load 430(storeTemp) + 435: 7(ivec4) CompositeConstruct 107 107 107 107 + 436: 14(ivec4) IAdd 434 435 + Store 430(storeTemp) 436 + 437: 95 Load 97(g_tTex1du4) + 438: 6(int) Load 427(coordTemp) + 439: 14(ivec4) Load 430(storeTemp) + ImageWrite 437 438 439 + 441: 77(ptr) AccessChain 65 55 + 442: 6(int) Load 441 + Store 440(coordTemp) 442 + 444: 73 Load 75(g_tTex1df4) + 445: 6(int) Load 440(coordTemp) + 446: 21(fvec4) ImageRead 444 445 + Store 443(storeTemp) 446 + 447: 21(fvec4) Load 443(storeTemp) + 448: 21(fvec4) CompositeConstruct 408 408 408 408 + 449: 21(fvec4) FSub 447 448 + Store 443(storeTemp) 449 + 450: 73 Load 75(g_tTex1df4) + 451: 6(int) Load 440(coordTemp) + 452: 21(fvec4) Load 443(storeTemp) + ImageWrite 450 451 452 + 454: 77(ptr) AccessChain 65 55 + 455: 6(int) Load 454 + Store 453(coordTemp) 455 + 457: 87 Load 89(g_tTex1di4) + 458: 6(int) Load 453(coordTemp) + 459: 7(ivec4) ImageRead 457 458 + Store 456(storeTemp) 459 + 460: 7(ivec4) Load 456(storeTemp) + 461: 7(ivec4) CompositeConstruct 107 107 107 107 + 462: 7(ivec4) ISub 460 461 + Store 456(storeTemp) 462 + 463: 87 Load 89(g_tTex1di4) + 464: 6(int) Load 453(coordTemp) + 465: 7(ivec4) Load 456(storeTemp) + ImageWrite 463 464 465 + 467: 77(ptr) AccessChain 65 55 + 468: 6(int) Load 467 + Store 466(coordTemp) 468 + 470: 95 Load 97(g_tTex1du4) + 471: 6(int) Load 466(coordTemp) + 472: 14(ivec4) ImageRead 470 471 + Store 469(storeTemp) 472 + 473: 14(ivec4) Load 469(storeTemp) + 474: 7(ivec4) CompositeConstruct 107 107 107 107 + 475: 14(ivec4) ISub 473 474 + Store 469(storeTemp) 475 + 476: 95 Load 97(g_tTex1du4) + 477: 6(int) Load 466(coordTemp) + 478: 14(ivec4) Load 469(storeTemp) + ImageWrite 476 477 478 + 480: 77(ptr) AccessChain 65 55 + 481: 6(int) Load 480 + Store 479(coordTemp) 481 + 483: 73 Load 75(g_tTex1df4) + 484: 6(int) Load 479(coordTemp) + 485: 21(fvec4) ImageRead 483 484 + Store 482(storeTempPre) 485 + 487: 21(fvec4) Load 482(storeTempPre) + Store 486(storeTempPost) 487 + 488: 21(fvec4) Load 486(storeTempPost) + 489: 21(fvec4) CompositeConstruct 408 408 408 408 + 490: 21(fvec4) FAdd 488 489 + Store 486(storeTempPost) 490 + 491: 73 Load 75(g_tTex1df4) + 492: 6(int) Load 479(coordTemp) + 493: 21(fvec4) Load 486(storeTempPost) + ImageWrite 491 492 493 + 495: 77(ptr) AccessChain 65 55 + 496: 6(int) Load 495 + Store 494(coordTemp) 496 + 498: 95 Load 97(g_tTex1du4) + 499: 6(int) Load 494(coordTemp) + 500: 14(ivec4) ImageRead 498 499 + Store 497(storeTempPre) 500 + 502: 14(ivec4) Load 497(storeTempPre) + Store 501(storeTempPost) 502 + 503: 14(ivec4) Load 501(storeTempPost) + 504: 7(ivec4) CompositeConstruct 107 107 107 107 + 505: 14(ivec4) ISub 503 504 + Store 501(storeTempPost) 505 + 506: 95 Load 97(g_tTex1du4) + 507: 6(int) Load 494(coordTemp) + 508: 14(ivec4) Load 501(storeTempPost) + ImageWrite 506 507 508 + 510: 77(ptr) AccessChain 65 55 + 511: 6(int) Load 510 + Store 509(coordTemp) 511 + 513: 87 Load 89(g_tTex1di4) + 514: 6(int) Load 509(coordTemp) + 515: 7(ivec4) ImageRead 513 514 + Store 512(storeTempPre) 515 + 517: 7(ivec4) Load 512(storeTempPre) + Store 516(storeTempPost) 517 + 518: 7(ivec4) Load 516(storeTempPost) + 519: 7(ivec4) CompositeConstruct 107 107 107 107 + 520: 7(ivec4) IAdd 518 519 + Store 516(storeTempPost) 520 + 521: 87 Load 89(g_tTex1di4) + 522: 6(int) Load 509(coordTemp) + 523: 7(ivec4) Load 516(storeTempPost) + ImageWrite 521 522 523 + 525: 77(ptr) AccessChain 65 55 + 526: 6(int) Load 525 + Store 524(coordTemp) 526 + 528: 73 Load 75(g_tTex1df4) + 529: 6(int) Load 524(coordTemp) + 530: 21(fvec4) ImageRead 528 529 + Store 527(storeTempPre) 530 + 532: 21(fvec4) Load 527(storeTempPre) + Store 531(storeTempPost) 532 + 533: 21(fvec4) Load 531(storeTempPost) + 534: 21(fvec4) CompositeConstruct 408 408 408 408 + 535: 21(fvec4) FSub 533 534 + Store 531(storeTempPost) 535 + 536: 73 Load 75(g_tTex1df4) + 537: 6(int) Load 524(coordTemp) + 538: 21(fvec4) Load 531(storeTempPost) + ImageWrite 536 537 538 + 540: 77(ptr) AccessChain 65 55 + 541: 6(int) Load 540 + Store 539(coordTemp) 541 + 543: 87 Load 89(g_tTex1di4) + 544: 6(int) Load 539(coordTemp) + 545: 7(ivec4) ImageRead 543 544 + Store 542(storeTempPre) 545 + 547: 7(ivec4) Load 542(storeTempPre) + Store 546(storeTempPost) 547 + 548: 7(ivec4) Load 546(storeTempPost) + 549: 7(ivec4) CompositeConstruct 107 107 107 107 + 550: 7(ivec4) IAdd 548 549 + Store 546(storeTempPost) 550 + 551: 87 Load 89(g_tTex1di4) + 552: 6(int) Load 539(coordTemp) + 553: 7(ivec4) Load 546(storeTempPost) + ImageWrite 551 552 553 + 555: 77(ptr) AccessChain 65 55 + 556: 6(int) Load 555 + Store 554(coordTemp) 556 + 558: 95 Load 97(g_tTex1du4) + 559: 6(int) Load 554(coordTemp) + 560: 14(ivec4) ImageRead 558 559 + Store 557(storeTempPre) 560 + 562: 14(ivec4) Load 557(storeTempPre) + Store 561(storeTempPost) 562 + 563: 14(ivec4) Load 561(storeTempPost) + 564: 7(ivec4) CompositeConstruct 107 107 107 107 + 565: 14(ivec4) ISub 563 564 + Store 561(storeTempPost) 565 + 566: 95 Load 97(g_tTex1du4) + 567: 6(int) Load 554(coordTemp) + 568: 14(ivec4) Load 561(storeTempPost) + ImageWrite 566 567 568 + 570: 103 Load 105(g_tTex2df4) + 572: 21(fvec4) ImageRead 570 571 + Store 569(storeTemp) 572 + 573: 73 Load 75(g_tTex1df4) + 574: 21(fvec4) Load 569(storeTemp) + ImageWrite 573 107 574 + 578: 22(ptr) AccessChain 576(psout) 55 + Store 578 577 + 579:42(PS_OUTPUT) Load 576(psout) + ReturnValue 579 FunctionEnd diff --git a/Test/baseResults/hlsl.rw.register.frag.out b/Test/baseResults/hlsl.rw.register.frag.out index f369cac7..e8e6f4d2 100644 --- a/Test/baseResults/hlsl.rw.register.frag.out +++ b/Test/baseResults/hlsl.rw.register.frag.out @@ -2,7 +2,7 @@ hlsl.rw.register.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:11 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:11 Function Definition: @main( (temp structure{temp 4-component vector of float Color}) 0:11 Function Parameters: 0:? Sequence 0:12 Sequence @@ -29,19 +29,22 @@ gl_FragCoord origin is upper left 0:16 1.000000 0:16 1.000000 0:16 1.000000 -0:17 Sequence -0:17 Sequence -0:17 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:17 Color: direct index for structure (temp 4-component vector of float) -0:17 'psout' (temp structure{temp 4-component vector of float Color}) -0:17 Constant: -0:17 0 (const int) -0:17 Branch: Return +0:17 Branch: Return with expression +0:17 'psout' (temp structure{temp 4-component vector of float Color}) +0:11 Function Definition: main( (temp void) +0:11 Function Parameters: +0:? Sequence +0:11 Sequence +0:11 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:11 Color: direct index for structure (temp 4-component vector of float) +0:11 Function Call: @main( (temp structure{temp 4-component vector of float Color}) +0:11 Constant: +0:11 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'g_tTex1df1' (layout(binding=2 r32f ) uniform image1D) 0:? 'g_tBuf1du1' (layout(binding=3 r32ui ) uniform uimageBuffer) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) Linked fragment stage: @@ -50,7 +53,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:11 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:11 Function Definition: @main( (temp structure{temp 4-component vector of float Color}) 0:11 Function Parameters: 0:? Sequence 0:12 Sequence @@ -77,82 +80,92 @@ gl_FragCoord origin is upper left 0:16 1.000000 0:16 1.000000 0:16 1.000000 -0:17 Sequence -0:17 Sequence -0:17 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:17 Color: direct index for structure (temp 4-component vector of float) -0:17 'psout' (temp structure{temp 4-component vector of float Color}) -0:17 Constant: -0:17 0 (const int) -0:17 Branch: Return +0:17 Branch: Return with expression +0:17 'psout' (temp structure{temp 4-component vector of float Color}) +0:11 Function Definition: main( (temp void) +0:11 Function Parameters: +0:? Sequence +0:11 Sequence +0:11 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:11 Color: direct index for structure (temp 4-component vector of float) +0:11 Function Call: @main( (temp structure{temp 4-component vector of float Color}) +0:11 Constant: +0:11 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'g_tTex1df1' (layout(binding=2 r32f ) uniform image1D) 0:? 'g_tBuf1du1' (layout(binding=3 r32ui ) uniform uimageBuffer) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 37 +// Id's are bound by 42 Capability Shader Capability Sampled1D Capability SampledBuffer 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 33 + EntryPoint Fragment 4 "main" 39 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "r00" - Name 11 "g_tTex1df1" - Name 18 "r01" - Name 21 "g_tBuf1du1" - Name 25 "PS_OUTPUT" - MemberName 25(PS_OUTPUT) 0 "Color" - Name 27 "psout" - Name 33 "Color" - Decorate 11(g_tTex1df1) DescriptorSet 0 - Decorate 11(g_tTex1df1) Binding 2 - Decorate 21(g_tBuf1du1) DescriptorSet 0 - Decorate 21(g_tBuf1du1) Binding 3 - Decorate 33(Color) Location 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + Name 10 "@main(" + Name 13 "r00" + Name 16 "g_tTex1df1" + Name 23 "r01" + Name 26 "g_tBuf1du1" + Name 30 "psout" + Name 39 "Color" + Decorate 16(g_tTex1df1) DescriptorSet 0 + Decorate 16(g_tTex1df1) Binding 2 + Decorate 26(g_tBuf1du1) DescriptorSet 0 + Decorate 26(g_tBuf1du1) Binding 3 + Decorate 39(Color) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypePointer Function 6(float) - 9: TypeImage 6(float) 1D nonsampled format:R32f - 10: TypePointer UniformConstant 9 - 11(g_tTex1df1): 10(ptr) Variable UniformConstant - 13: TypeInt 32 1 - 14: 13(int) Constant 0 - 16: TypeInt 32 0 - 17: TypePointer Function 16(int) - 19: TypeImage 16(int) Buffer nonsampled format:R32ui - 20: TypePointer UniformConstant 19 - 21(g_tBuf1du1): 20(ptr) Variable UniformConstant - 24: TypeVector 6(float) 4 - 25(PS_OUTPUT): TypeStruct 24(fvec4) - 26: TypePointer Function 25(PS_OUTPUT) - 28: 6(float) Constant 1065353216 - 29: 24(fvec4) ConstantComposite 28 28 28 28 - 30: TypePointer Function 24(fvec4) - 32: TypePointer Output 24(fvec4) - 33(Color): 32(ptr) Variable Output + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 6(float) + 14: TypeImage 6(float) 1D nonsampled format:R32f + 15: TypePointer UniformConstant 14 + 16(g_tTex1df1): 15(ptr) Variable UniformConstant + 18: TypeInt 32 1 + 19: 18(int) Constant 0 + 21: TypeInt 32 0 + 22: TypePointer Function 21(int) + 24: TypeImage 21(int) Buffer nonsampled format:R32ui + 25: TypePointer UniformConstant 24 + 26(g_tBuf1du1): 25(ptr) Variable UniformConstant + 29: TypePointer Function 8(PS_OUTPUT) + 31: 6(float) Constant 1065353216 + 32: 7(fvec4) ConstantComposite 31 31 31 31 + 33: TypePointer Function 7(fvec4) + 38: TypePointer Output 7(fvec4) + 39(Color): 38(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 8(r00): 7(ptr) Variable Function - 18(r01): 17(ptr) Variable Function - 27(psout): 26(ptr) Variable Function - 12: 9 Load 11(g_tTex1df1) - 15: 6(float) ImageRead 12 14 - Store 8(r00) 15 - 22: 19 Load 21(g_tBuf1du1) - 23: 16(int) ImageRead 22 14 - Store 18(r01) 23 - 31: 30(ptr) AccessChain 27(psout) 14 - Store 31 29 - 34: 30(ptr) AccessChain 27(psout) 14 - 35: 24(fvec4) Load 34 - Store 33(Color) 35 + 40:8(PS_OUTPUT) FunctionCall 10(@main() + 41: 7(fvec4) CompositeExtract 40 0 + Store 39(Color) 41 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(r00): 12(ptr) Variable Function + 23(r01): 22(ptr) Variable Function + 30(psout): 29(ptr) Variable Function + 17: 14 Load 16(g_tTex1df1) + 20: 6(float) ImageRead 17 19 + Store 13(r00) 20 + 27: 24 Load 26(g_tBuf1du1) + 28: 21(int) ImageRead 27 19 + Store 23(r01) 28 + 34: 33(ptr) AccessChain 30(psout) 19 + Store 34 32 + 35:8(PS_OUTPUT) Load 30(psout) + ReturnValue 35 + FunctionEnd diff --git a/Test/baseResults/hlsl.rw.scalar.bracket.frag.out b/Test/baseResults/hlsl.rw.scalar.bracket.frag.out index 8e40fd2e..66401f0b 100644 --- a/Test/baseResults/hlsl.rw.scalar.bracket.frag.out +++ b/Test/baseResults/hlsl.rw.scalar.bracket.frag.out @@ -53,7 +53,7 @@ gl_FragCoord origin is upper left 0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) 0:50 Constant: 0:50 0 (const uint) -0:53 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:53 Function Definition: @main( (temp structure{temp 4-component vector of float Color}) 0:53 Function Parameters: 0:? Sequence 0:57 imageLoad (temp float) @@ -810,17 +810,19 @@ gl_FragCoord origin is upper left 0:137 1.000000 0:137 1.000000 0:137 1.000000 -0:139 Sequence -0:139 Sequence -0:139 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:139 Color: direct index for structure (temp 4-component vector of float) -0:139 'psout' (temp structure{temp 4-component vector of float Color}) -0:139 Constant: -0:139 0 (const int) -0:139 Branch: Return +0:139 Branch: Return with expression +0:139 'psout' (temp structure{temp 4-component vector of float Color}) +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 4-component vector of float) +0:? '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 Function Call: @main( (temp structure{temp 4-component vector of float Color}) +0:53 Constant: +0:53 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df1' (layout(r32f ) uniform image1D) 0:? 'g_tTex1di1' (layout(r32i ) uniform iimage1D) @@ -838,6 +840,7 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2di1a' (layout(r32i ) uniform iimage2DArray) 0:? 'g_tTex2du1a' (layout(r32ui ) uniform uimage2DArray) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) Linked fragment stage: @@ -897,7 +900,7 @@ gl_FragCoord origin is upper left 0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) 0:50 Constant: 0:50 0 (const uint) -0:53 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:53 Function Definition: @main( (temp structure{temp 4-component vector of float Color}) 0:53 Function Parameters: 0:? Sequence 0:57 imageLoad (temp float) @@ -1654,17 +1657,19 @@ gl_FragCoord origin is upper left 0:137 1.000000 0:137 1.000000 0:137 1.000000 -0:139 Sequence -0:139 Sequence -0:139 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:139 Color: direct index for structure (temp 4-component vector of float) -0:139 'psout' (temp structure{temp 4-component vector of float Color}) -0:139 Constant: -0:139 0 (const int) -0:139 Branch: Return +0:139 Branch: Return with expression +0:139 'psout' (temp structure{temp 4-component vector of float Color}) +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 4-component vector of float) +0:? '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 Function Call: @main( (temp structure{temp 4-component vector of float Color}) +0:53 Constant: +0:53 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df1' (layout(r32f ) uniform image1D) 0:? 'g_tTex1di1' (layout(r32i ) uniform iimage1D) @@ -1682,16 +1687,17 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2di1a' (layout(r32i ) uniform iimage2DArray) 0:? 'g_tTex2du1a' (layout(r32ui ) uniform uimage2DArray) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 566 +// Id's are bound by 571 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 541 + EntryPoint Fragment 4 "main" 547 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 10 "Fn1(i1;" @@ -1707,148 +1713,149 @@ gl_FragCoord origin is upper left Name 34 "Fn2(f1;" Name 33 "x" Name 37 "SomeValue(" - Name 54 "$Global" - MemberName 54($Global) 0 "c1" - MemberName 54($Global) 1 "c2" - MemberName 54($Global) 2 "c3" - MemberName 54($Global) 3 "c4" - MemberName 54($Global) 4 "o1" - MemberName 54($Global) 5 "o2" - MemberName 54($Global) 6 "o3" - MemberName 54($Global) 7 "o4" - MemberName 54($Global) 8 "uf1" - MemberName 54($Global) 9 "ui1" - MemberName 54($Global) 10 "uu1" - Name 56 "" - Name 65 "g_tTex1df1" - Name 70 "r00" - Name 75 "r01" - Name 78 "g_tTex1di1" - Name 83 "r02" - Name 86 "g_tTex1du1" - Name 91 "r10" - Name 94 "g_tTex2df1" - Name 101 "r11" - Name 104 "g_tTex2di1" - Name 109 "r12" - Name 112 "g_tTex2du1" - Name 117 "r20" - Name 120 "g_tTex3df1" - Name 127 "r21" - Name 130 "g_tTex3di1" - Name 135 "r22" - Name 138 "g_tTex3du1" - Name 143 "lf1" - Name 148 "storeTemp" - Name 158 "storeTemp" + Name 40 "PS_OUTPUT" + MemberName 40(PS_OUTPUT) 0 "Color" + Name 42 "@main(" + Name 59 "$Global" + MemberName 59($Global) 0 "c1" + MemberName 59($Global) 1 "c2" + MemberName 59($Global) 2 "c3" + MemberName 59($Global) 3 "c4" + MemberName 59($Global) 4 "o1" + MemberName 59($Global) 5 "o2" + MemberName 59($Global) 6 "o3" + MemberName 59($Global) 7 "o4" + MemberName 59($Global) 8 "uf1" + MemberName 59($Global) 9 "ui1" + MemberName 59($Global) 10 "uu1" + Name 61 "" + Name 70 "g_tTex1df1" + Name 75 "r00" + Name 80 "r01" + Name 83 "g_tTex1di1" + Name 88 "r02" + Name 91 "g_tTex1du1" + Name 96 "r10" + Name 99 "g_tTex2df1" + Name 106 "r11" + Name 109 "g_tTex2di1" + Name 114 "r12" + Name 117 "g_tTex2du1" + Name 122 "r20" + Name 125 "g_tTex3df1" + Name 132 "r21" + Name 135 "g_tTex3di1" + Name 140 "r22" + Name 143 "g_tTex3du1" + Name 148 "lf1" + Name 153 "storeTemp" Name 163 "storeTemp" - Name 169 "val1" - Name 170 "coordTemp" - Name 173 "storeTemp" - Name 184 "coordTemp" - Name 187 "storeTemp" - Name 197 "coordTemp" - Name 200 "storeTemp" - Name 210 "coordTemp" - Name 213 "storeTemp" - Name 222 "coordTemp" - Name 225 "storeTemp" - Name 234 "coordTemp" - Name 237 "storeTemp" - Name 247 "coordTemp" - Name 250 "storeTemp" - Name 260 "coordTemp" - Name 263 "storeTemp" - Name 272 "coordTemp" - Name 275 "storeTemp" - Name 284 "storeTemp" - Name 294 "storeTemp" - Name 300 "storeTemp" - Name 306 "storeTemp" - Name 316 "storeTemp" + Name 168 "storeTemp" + Name 174 "val1" + Name 175 "coordTemp" + Name 178 "storeTemp" + Name 189 "coordTemp" + Name 192 "storeTemp" + Name 202 "coordTemp" + Name 205 "storeTemp" + Name 215 "coordTemp" + Name 218 "storeTemp" + Name 227 "coordTemp" + Name 230 "storeTemp" + Name 239 "coordTemp" + Name 242 "storeTemp" + Name 252 "coordTemp" + Name 255 "storeTemp" + Name 265 "coordTemp" + Name 268 "storeTemp" + Name 277 "coordTemp" + Name 280 "storeTemp" + Name 289 "storeTemp" + Name 299 "storeTemp" + Name 305 "storeTemp" + Name 311 "storeTemp" Name 321 "storeTemp" - Name 331 "param" - Name 337 "param" - Name 343 "param" - Name 345 "tempArg" - Name 346 "param" - Name 353 "tempArg" - Name 354 "param" - Name 361 "tempArg" - Name 362 "param" - Name 369 "coordTemp" - Name 372 "storeTemp" - Name 382 "coordTemp" - Name 385 "storeTemp" - Name 394 "coordTemp" - Name 397 "storeTemp" - Name 406 "coordTemp" - Name 409 "storeTemp" - Name 418 "coordTemp" - Name 421 "storeTemp" - Name 430 "coordTemp" - Name 433 "storeTemp" - Name 442 "coordTemp" - Name 445 "storeTempPre" - Name 449 "storeTempPost" - Name 456 "coordTemp" - Name 459 "storeTempPre" - Name 463 "storeTempPost" - Name 470 "coordTemp" - Name 473 "storeTempPre" - Name 477 "storeTempPost" - Name 484 "coordTemp" - Name 487 "storeTempPre" - Name 491 "storeTempPost" - Name 498 "coordTemp" - Name 501 "storeTempPre" - Name 505 "storeTempPost" - Name 512 "coordTemp" - Name 515 "storeTempPre" - Name 519 "storeTempPost" - Name 526 "storeTemp" - Name 534 "PS_OUTPUT" - MemberName 534(PS_OUTPUT) 0 "Color" - Name 536 "psout" - Name 541 "Color" - Name 547 "g_sSamp" - Name 550 "g_tTex1df1a" - Name 553 "g_tTex1di1a" - Name 556 "g_tTex1du1a" - Name 559 "g_tTex2df1a" - Name 562 "g_tTex2di1a" - Name 565 "g_tTex2du1a" - MemberDecorate 54($Global) 0 Offset 0 - MemberDecorate 54($Global) 1 Offset 8 - MemberDecorate 54($Global) 2 Offset 16 - MemberDecorate 54($Global) 3 Offset 32 - MemberDecorate 54($Global) 4 Offset 48 - MemberDecorate 54($Global) 5 Offset 56 - MemberDecorate 54($Global) 6 Offset 64 - MemberDecorate 54($Global) 7 Offset 80 - MemberDecorate 54($Global) 8 Offset 96 - MemberDecorate 54($Global) 9 Offset 100 - MemberDecorate 54($Global) 10 Offset 104 - Decorate 54($Global) Block - Decorate 56 DescriptorSet 0 - Decorate 65(g_tTex1df1) DescriptorSet 0 - Decorate 78(g_tTex1di1) DescriptorSet 0 - Decorate 86(g_tTex1du1) DescriptorSet 0 - Decorate 94(g_tTex2df1) DescriptorSet 0 - Decorate 104(g_tTex2di1) DescriptorSet 0 - Decorate 112(g_tTex2du1) DescriptorSet 0 - Decorate 120(g_tTex3df1) DescriptorSet 0 - Decorate 130(g_tTex3di1) DescriptorSet 0 - Decorate 138(g_tTex3du1) DescriptorSet 0 - Decorate 541(Color) Location 0 - Decorate 547(g_sSamp) DescriptorSet 0 - Decorate 547(g_sSamp) Binding 0 - Decorate 550(g_tTex1df1a) DescriptorSet 0 - Decorate 553(g_tTex1di1a) DescriptorSet 0 - Decorate 556(g_tTex1du1a) DescriptorSet 0 - Decorate 559(g_tTex2df1a) DescriptorSet 0 - Decorate 562(g_tTex2di1a) DescriptorSet 0 - Decorate 565(g_tTex2du1a) DescriptorSet 0 + Name 326 "storeTemp" + Name 336 "param" + Name 342 "param" + Name 348 "param" + Name 350 "tempArg" + Name 351 "param" + Name 358 "tempArg" + Name 359 "param" + Name 366 "tempArg" + Name 367 "param" + Name 374 "coordTemp" + Name 377 "storeTemp" + Name 387 "coordTemp" + Name 390 "storeTemp" + Name 399 "coordTemp" + Name 402 "storeTemp" + Name 411 "coordTemp" + Name 414 "storeTemp" + Name 423 "coordTemp" + Name 426 "storeTemp" + Name 435 "coordTemp" + Name 438 "storeTemp" + Name 447 "coordTemp" + Name 450 "storeTempPre" + Name 454 "storeTempPost" + Name 461 "coordTemp" + Name 464 "storeTempPre" + Name 468 "storeTempPost" + Name 475 "coordTemp" + Name 478 "storeTempPre" + Name 482 "storeTempPost" + Name 489 "coordTemp" + Name 492 "storeTempPre" + Name 496 "storeTempPost" + Name 503 "coordTemp" + Name 506 "storeTempPre" + Name 510 "storeTempPost" + Name 517 "coordTemp" + Name 520 "storeTempPre" + Name 524 "storeTempPost" + Name 531 "storeTemp" + Name 539 "psout" + Name 547 "Color" + Name 552 "g_sSamp" + Name 555 "g_tTex1df1a" + Name 558 "g_tTex1di1a" + Name 561 "g_tTex1du1a" + Name 564 "g_tTex2df1a" + Name 567 "g_tTex2di1a" + Name 570 "g_tTex2du1a" + MemberDecorate 59($Global) 0 Offset 0 + MemberDecorate 59($Global) 1 Offset 8 + MemberDecorate 59($Global) 2 Offset 16 + MemberDecorate 59($Global) 3 Offset 32 + MemberDecorate 59($Global) 4 Offset 48 + MemberDecorate 59($Global) 5 Offset 56 + MemberDecorate 59($Global) 6 Offset 64 + MemberDecorate 59($Global) 7 Offset 80 + MemberDecorate 59($Global) 8 Offset 96 + MemberDecorate 59($Global) 9 Offset 100 + MemberDecorate 59($Global) 10 Offset 104 + Decorate 59($Global) Block + Decorate 61 DescriptorSet 0 + Decorate 70(g_tTex1df1) DescriptorSet 0 + Decorate 83(g_tTex1di1) DescriptorSet 0 + Decorate 91(g_tTex1du1) DescriptorSet 0 + Decorate 99(g_tTex2df1) DescriptorSet 0 + Decorate 109(g_tTex2di1) DescriptorSet 0 + Decorate 117(g_tTex2du1) DescriptorSet 0 + Decorate 125(g_tTex3df1) DescriptorSet 0 + Decorate 135(g_tTex3di1) DescriptorSet 0 + Decorate 143(g_tTex3du1) DescriptorSet 0 + Decorate 547(Color) Location 0 + Decorate 552(g_sSamp) DescriptorSet 0 + Decorate 552(g_sSamp) Binding 0 + Decorate 555(g_tTex1df1a) DescriptorSet 0 + Decorate 558(g_tTex1di1a) DescriptorSet 0 + Decorate 561(g_tTex1du1a) DescriptorSet 0 + Decorate 564(g_tTex2df1a) DescriptorSet 0 + Decorate 567(g_tTex2di1a) DescriptorSet 0 + Decorate 570(g_tTex2du1a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 @@ -1864,697 +1871,703 @@ gl_FragCoord origin is upper left 28: TypeFunction 2 13(ptr) 32: TypeFunction 2 19(ptr) 36: TypeFunction 18(float) - 48: 6(int) Constant 0 - 49: 12(int) Constant 0 - 50: 18(float) Constant 0 - 51: TypeVector 6(int) 2 - 52: TypeVector 6(int) 3 - 53: TypeVector 6(int) 4 - 54($Global): TypeStruct 6(int) 51(ivec2) 52(ivec3) 53(ivec4) 6(int) 51(ivec2) 52(ivec3) 53(ivec4) 18(float) 6(int) 12(int) - 55: TypePointer Uniform 54($Global) - 56: 55(ptr) Variable Uniform - 57: TypePointer Uniform 6(int) - 63: TypeImage 18(float) 1D nonsampled format:R32f - 64: TypePointer UniformConstant 63 - 65(g_tTex1df1): 64(ptr) Variable UniformConstant - 76: TypeImage 6(int) 1D nonsampled format:R32i - 77: TypePointer UniformConstant 76 - 78(g_tTex1di1): 77(ptr) Variable UniformConstant - 84: TypeImage 12(int) 1D nonsampled format:R32ui - 85: TypePointer UniformConstant 84 - 86(g_tTex1du1): 85(ptr) Variable UniformConstant - 92: TypeImage 18(float) 2D nonsampled format:R32f - 93: TypePointer UniformConstant 92 - 94(g_tTex2df1): 93(ptr) Variable UniformConstant - 96: 6(int) Constant 1 - 97: TypePointer Uniform 51(ivec2) - 102: TypeImage 6(int) 2D nonsampled format:R32i - 103: TypePointer UniformConstant 102 - 104(g_tTex2di1): 103(ptr) Variable UniformConstant - 110: TypeImage 12(int) 2D nonsampled format:R32ui - 111: TypePointer UniformConstant 110 - 112(g_tTex2du1): 111(ptr) Variable UniformConstant - 118: TypeImage 18(float) 3D nonsampled format:R32f - 119: TypePointer UniformConstant 118 - 120(g_tTex3df1): 119(ptr) Variable UniformConstant - 122: 6(int) Constant 2 - 123: TypePointer Uniform 52(ivec3) - 128: TypeImage 6(int) 3D nonsampled format:R32i - 129: TypePointer UniformConstant 128 - 130(g_tTex3di1): 129(ptr) Variable UniformConstant - 136: TypeImage 12(int) 3D nonsampled format:R32ui - 137: TypePointer UniformConstant 136 - 138(g_tTex3du1): 137(ptr) Variable UniformConstant - 144: 6(int) Constant 8 - 145: TypePointer Uniform 18(float) - 164: 12(int) Constant 3 - 177: 18(float) Constant 1073741824 - 191: 18(float) Constant 1077936128 - 204: 18(float) Constant 1082130432 - 241: 6(int) Constant 65535 - 254: 6(int) Constant 61680 - 295: 6(int) Constant 5 - 301: 12(int) Constant 6 - 322: 12(int) Constant 9 - 377: 18(float) Constant 1065353216 - 528: 6(int) Constant 3 - 529: 51(ivec2) ConstantComposite 122 528 - 533: TypeVector 18(float) 4 - 534(PS_OUTPUT): TypeStruct 533(fvec4) - 535: TypePointer Function 534(PS_OUTPUT) - 537: 533(fvec4) ConstantComposite 377 377 377 377 - 538: TypePointer Function 533(fvec4) - 540: TypePointer Output 533(fvec4) - 541(Color): 540(ptr) Variable Output - 545: TypeSampler - 546: TypePointer UniformConstant 545 - 547(g_sSamp): 546(ptr) Variable UniformConstant - 548: TypeImage 18(float) 1D array nonsampled format:R32f - 549: TypePointer UniformConstant 548 -550(g_tTex1df1a): 549(ptr) Variable UniformConstant - 551: TypeImage 6(int) 1D array nonsampled format:R32i - 552: TypePointer UniformConstant 551 -553(g_tTex1di1a): 552(ptr) Variable UniformConstant - 554: TypeImage 12(int) 1D array nonsampled format:R32ui - 555: TypePointer UniformConstant 554 -556(g_tTex1du1a): 555(ptr) Variable UniformConstant - 557: TypeImage 18(float) 2D array nonsampled format:R32f - 558: TypePointer UniformConstant 557 -559(g_tTex2df1a): 558(ptr) Variable UniformConstant - 560: TypeImage 6(int) 2D array nonsampled format:R32i - 561: TypePointer UniformConstant 560 -562(g_tTex2di1a): 561(ptr) Variable UniformConstant - 563: TypeImage 12(int) 2D array nonsampled format:R32ui - 564: TypePointer UniformConstant 563 -565(g_tTex2du1a): 564(ptr) Variable UniformConstant + 39: TypeVector 18(float) 4 + 40(PS_OUTPUT): TypeStruct 39(fvec4) + 41: TypeFunction 40(PS_OUTPUT) + 53: 6(int) Constant 0 + 54: 12(int) Constant 0 + 55: 18(float) Constant 0 + 56: TypeVector 6(int) 2 + 57: TypeVector 6(int) 3 + 58: TypeVector 6(int) 4 + 59($Global): TypeStruct 6(int) 56(ivec2) 57(ivec3) 58(ivec4) 6(int) 56(ivec2) 57(ivec3) 58(ivec4) 18(float) 6(int) 12(int) + 60: TypePointer Uniform 59($Global) + 61: 60(ptr) Variable Uniform + 62: TypePointer Uniform 6(int) + 68: TypeImage 18(float) 1D nonsampled format:R32f + 69: TypePointer UniformConstant 68 + 70(g_tTex1df1): 69(ptr) Variable UniformConstant + 81: TypeImage 6(int) 1D nonsampled format:R32i + 82: TypePointer UniformConstant 81 + 83(g_tTex1di1): 82(ptr) Variable UniformConstant + 89: TypeImage 12(int) 1D nonsampled format:R32ui + 90: TypePointer UniformConstant 89 + 91(g_tTex1du1): 90(ptr) Variable UniformConstant + 97: TypeImage 18(float) 2D nonsampled format:R32f + 98: TypePointer UniformConstant 97 + 99(g_tTex2df1): 98(ptr) Variable UniformConstant + 101: 6(int) Constant 1 + 102: TypePointer Uniform 56(ivec2) + 107: TypeImage 6(int) 2D nonsampled format:R32i + 108: TypePointer UniformConstant 107 + 109(g_tTex2di1): 108(ptr) Variable UniformConstant + 115: TypeImage 12(int) 2D nonsampled format:R32ui + 116: TypePointer UniformConstant 115 + 117(g_tTex2du1): 116(ptr) Variable UniformConstant + 123: TypeImage 18(float) 3D nonsampled format:R32f + 124: TypePointer UniformConstant 123 + 125(g_tTex3df1): 124(ptr) Variable UniformConstant + 127: 6(int) Constant 2 + 128: TypePointer Uniform 57(ivec3) + 133: TypeImage 6(int) 3D nonsampled format:R32i + 134: TypePointer UniformConstant 133 + 135(g_tTex3di1): 134(ptr) Variable UniformConstant + 141: TypeImage 12(int) 3D nonsampled format:R32ui + 142: TypePointer UniformConstant 141 + 143(g_tTex3du1): 142(ptr) Variable UniformConstant + 149: 6(int) Constant 8 + 150: TypePointer Uniform 18(float) + 169: 12(int) Constant 3 + 182: 18(float) Constant 1073741824 + 196: 18(float) Constant 1077936128 + 209: 18(float) Constant 1082130432 + 246: 6(int) Constant 65535 + 259: 6(int) Constant 61680 + 300: 6(int) Constant 5 + 306: 12(int) Constant 6 + 327: 12(int) Constant 9 + 382: 18(float) Constant 1065353216 + 533: 6(int) Constant 3 + 534: 56(ivec2) ConstantComposite 127 533 + 538: TypePointer Function 40(PS_OUTPUT) + 540: 39(fvec4) ConstantComposite 382 382 382 382 + 541: TypePointer Function 39(fvec4) + 546: TypePointer Output 39(fvec4) + 547(Color): 546(ptr) Variable Output + 550: TypeSampler + 551: TypePointer UniformConstant 550 + 552(g_sSamp): 551(ptr) Variable UniformConstant + 553: TypeImage 18(float) 1D array nonsampled format:R32f + 554: TypePointer UniformConstant 553 +555(g_tTex1df1a): 554(ptr) Variable UniformConstant + 556: TypeImage 6(int) 1D array nonsampled format:R32i + 557: TypePointer UniformConstant 556 +558(g_tTex1di1a): 557(ptr) Variable UniformConstant + 559: TypeImage 12(int) 1D array nonsampled format:R32ui + 560: TypePointer UniformConstant 559 +561(g_tTex1du1a): 560(ptr) Variable UniformConstant + 562: TypeImage 18(float) 2D array nonsampled format:R32f + 563: TypePointer UniformConstant 562 +564(g_tTex2df1a): 563(ptr) Variable UniformConstant + 565: TypeImage 6(int) 2D array nonsampled format:R32i + 566: TypePointer UniformConstant 565 +567(g_tTex2di1a): 566(ptr) Variable UniformConstant + 568: TypeImage 12(int) 2D array nonsampled format:R32ui + 569: TypePointer UniformConstant 568 +570(g_tTex2du1a): 569(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 70(r00): 19(ptr) Variable Function - 75(r01): 7(ptr) Variable Function - 83(r02): 13(ptr) Variable Function - 91(r10): 19(ptr) Variable Function - 101(r11): 7(ptr) Variable Function - 109(r12): 13(ptr) Variable Function - 117(r20): 19(ptr) Variable Function - 127(r21): 7(ptr) Variable Function - 135(r22): 13(ptr) Variable Function - 143(lf1): 19(ptr) Variable Function - 148(storeTemp): 19(ptr) Variable Function - 158(storeTemp): 7(ptr) Variable Function - 163(storeTemp): 13(ptr) Variable Function - 169(val1): 19(ptr) Variable Function - 170(coordTemp): 7(ptr) Variable Function - 173(storeTemp): 19(ptr) Variable Function - 184(coordTemp): 7(ptr) Variable Function - 187(storeTemp): 19(ptr) Variable Function - 197(coordTemp): 7(ptr) Variable Function - 200(storeTemp): 19(ptr) Variable Function - 210(coordTemp): 7(ptr) Variable Function - 213(storeTemp): 7(ptr) Variable Function - 222(coordTemp): 7(ptr) Variable Function - 225(storeTemp): 7(ptr) Variable Function - 234(coordTemp): 7(ptr) Variable Function - 237(storeTemp): 7(ptr) Variable Function - 247(coordTemp): 7(ptr) Variable Function - 250(storeTemp): 7(ptr) Variable Function - 260(coordTemp): 7(ptr) Variable Function - 263(storeTemp): 7(ptr) Variable Function - 272(coordTemp): 7(ptr) Variable Function - 275(storeTemp): 7(ptr) Variable Function - 284(storeTemp): 19(ptr) Variable Function - 294(storeTemp): 7(ptr) Variable Function - 300(storeTemp): 13(ptr) Variable Function - 306(storeTemp): 19(ptr) Variable Function - 316(storeTemp): 7(ptr) Variable Function - 321(storeTemp): 13(ptr) Variable Function - 331(param): 19(ptr) Variable Function - 337(param): 7(ptr) Variable Function - 343(param): 13(ptr) Variable Function - 345(tempArg): 19(ptr) Variable Function - 346(param): 19(ptr) Variable Function - 353(tempArg): 7(ptr) Variable Function - 354(param): 7(ptr) Variable Function - 361(tempArg): 13(ptr) Variable Function - 362(param): 13(ptr) Variable Function - 369(coordTemp): 7(ptr) Variable Function - 372(storeTemp): 19(ptr) Variable Function - 382(coordTemp): 7(ptr) Variable Function - 385(storeTemp): 7(ptr) Variable Function - 394(coordTemp): 7(ptr) Variable Function - 397(storeTemp): 13(ptr) Variable Function - 406(coordTemp): 7(ptr) Variable Function - 409(storeTemp): 19(ptr) Variable Function - 418(coordTemp): 7(ptr) Variable Function - 421(storeTemp): 7(ptr) Variable Function - 430(coordTemp): 7(ptr) Variable Function - 433(storeTemp): 13(ptr) Variable Function - 442(coordTemp): 7(ptr) Variable Function -445(storeTempPre): 19(ptr) Variable Function -449(storeTempPost): 19(ptr) Variable Function - 456(coordTemp): 7(ptr) Variable Function -459(storeTempPre): 13(ptr) Variable Function -463(storeTempPost): 13(ptr) Variable Function - 470(coordTemp): 7(ptr) Variable Function -473(storeTempPre): 7(ptr) Variable Function -477(storeTempPost): 7(ptr) Variable Function - 484(coordTemp): 7(ptr) Variable Function -487(storeTempPre): 19(ptr) Variable Function -491(storeTempPost): 19(ptr) Variable Function - 498(coordTemp): 7(ptr) Variable Function -501(storeTempPre): 7(ptr) Variable Function -505(storeTempPost): 7(ptr) Variable Function - 512(coordTemp): 7(ptr) Variable Function -515(storeTempPre): 13(ptr) Variable Function -519(storeTempPost): 13(ptr) Variable Function - 526(storeTemp): 19(ptr) Variable Function - 536(psout): 535(ptr) Variable Function - 66: 63 Load 65(g_tTex1df1) - 67: 57(ptr) AccessChain 56 48 - 68: 6(int) Load 67 - 69: 18(float) ImageRead 66 68 - 71: 63 Load 65(g_tTex1df1) - 72: 57(ptr) AccessChain 56 48 - 73: 6(int) Load 72 - 74: 18(float) ImageRead 71 73 - Store 70(r00) 74 - 79: 76 Load 78(g_tTex1di1) - 80: 57(ptr) AccessChain 56 48 - 81: 6(int) Load 80 - 82: 6(int) ImageRead 79 81 - Store 75(r01) 82 - 87: 84 Load 86(g_tTex1du1) - 88: 57(ptr) AccessChain 56 48 - 89: 6(int) Load 88 - 90: 12(int) ImageRead 87 89 - Store 83(r02) 90 - 95: 92 Load 94(g_tTex2df1) - 98: 97(ptr) AccessChain 56 96 - 99: 51(ivec2) Load 98 - 100: 18(float) ImageRead 95 99 - Store 91(r10) 100 - 105: 102 Load 104(g_tTex2di1) - 106: 97(ptr) AccessChain 56 96 - 107: 51(ivec2) Load 106 - 108: 6(int) ImageRead 105 107 - Store 101(r11) 108 - 113: 110 Load 112(g_tTex2du1) - 114: 97(ptr) AccessChain 56 96 - 115: 51(ivec2) Load 114 - 116: 12(int) ImageRead 113 115 - Store 109(r12) 116 - 121: 118 Load 120(g_tTex3df1) - 124: 123(ptr) AccessChain 56 122 - 125: 52(ivec3) Load 124 - 126: 18(float) ImageRead 121 125 - Store 117(r20) 126 - 131: 128 Load 130(g_tTex3di1) - 132: 123(ptr) AccessChain 56 122 - 133: 52(ivec3) Load 132 - 134: 6(int) ImageRead 131 133 - Store 127(r21) 134 - 139: 136 Load 138(g_tTex3du1) - 140: 123(ptr) AccessChain 56 122 - 141: 52(ivec3) Load 140 - 142: 12(int) ImageRead 139 141 - Store 135(r22) 142 - 146: 145(ptr) AccessChain 56 144 - 147: 18(float) Load 146 - Store 143(lf1) 147 - 149: 18(float) FunctionCall 37(SomeValue() - Store 148(storeTemp) 149 - 150: 63 Load 65(g_tTex1df1) - 151: 57(ptr) AccessChain 56 48 - 152: 6(int) Load 151 - 153: 18(float) Load 148(storeTemp) - ImageWrite 150 152 153 - 154: 63 Load 65(g_tTex1df1) - 155: 57(ptr) AccessChain 56 48 - 156: 6(int) Load 155 - 157: 18(float) Load 143(lf1) - ImageWrite 154 156 157 - Store 158(storeTemp) 122 - 159: 76 Load 78(g_tTex1di1) - 160: 57(ptr) AccessChain 56 48 - 161: 6(int) Load 160 - 162: 6(int) Load 158(storeTemp) - ImageWrite 159 161 162 - Store 163(storeTemp) 164 - 165: 84 Load 86(g_tTex1du1) - 166: 57(ptr) AccessChain 56 48 - 167: 6(int) Load 166 - 168: 12(int) Load 163(storeTemp) - ImageWrite 165 167 168 - 171: 57(ptr) AccessChain 56 48 - 172: 6(int) Load 171 - Store 170(coordTemp) 172 - 174: 63 Load 65(g_tTex1df1) - 175: 6(int) Load 170(coordTemp) - 176: 18(float) ImageRead 174 175 - Store 173(storeTemp) 176 - 178: 18(float) Load 173(storeTemp) - 179: 18(float) FMul 178 177 - Store 173(storeTemp) 179 - 180: 63 Load 65(g_tTex1df1) - 181: 6(int) Load 170(coordTemp) - 182: 18(float) Load 173(storeTemp) - ImageWrite 180 181 182 - 183: 18(float) Load 173(storeTemp) - Store 169(val1) 183 - 185: 57(ptr) AccessChain 56 48 - 186: 6(int) Load 185 - Store 184(coordTemp) 186 - 188: 63 Load 65(g_tTex1df1) - 189: 6(int) Load 184(coordTemp) - 190: 18(float) ImageRead 188 189 - Store 187(storeTemp) 190 - 192: 18(float) Load 187(storeTemp) - 193: 18(float) FSub 192 191 - Store 187(storeTemp) 193 - 194: 63 Load 65(g_tTex1df1) - 195: 6(int) Load 184(coordTemp) - 196: 18(float) Load 187(storeTemp) - ImageWrite 194 195 196 - 198: 57(ptr) AccessChain 56 48 - 199: 6(int) Load 198 - Store 197(coordTemp) 199 - 201: 63 Load 65(g_tTex1df1) - 202: 6(int) Load 197(coordTemp) - 203: 18(float) ImageRead 201 202 - Store 200(storeTemp) 203 - 205: 18(float) Load 200(storeTemp) - 206: 18(float) FAdd 205 204 - Store 200(storeTemp) 206 - 207: 63 Load 65(g_tTex1df1) - 208: 6(int) Load 197(coordTemp) - 209: 18(float) Load 200(storeTemp) - ImageWrite 207 208 209 - 211: 57(ptr) AccessChain 56 48 - 212: 6(int) Load 211 - Store 210(coordTemp) 212 - 214: 76 Load 78(g_tTex1di1) - 215: 6(int) Load 210(coordTemp) - 216: 6(int) ImageRead 214 215 - Store 213(storeTemp) 216 - 217: 6(int) Load 213(storeTemp) - 218: 6(int) SDiv 217 122 - Store 213(storeTemp) 218 - 219: 76 Load 78(g_tTex1di1) - 220: 6(int) Load 210(coordTemp) - 221: 6(int) Load 213(storeTemp) - ImageWrite 219 220 221 - 223: 57(ptr) AccessChain 56 48 - 224: 6(int) Load 223 - Store 222(coordTemp) 224 - 226: 76 Load 78(g_tTex1di1) - 227: 6(int) Load 222(coordTemp) - 228: 6(int) ImageRead 226 227 - Store 225(storeTemp) 228 - 229: 6(int) Load 225(storeTemp) - 230: 6(int) SMod 229 122 - Store 225(storeTemp) 230 - 231: 76 Load 78(g_tTex1di1) - 232: 6(int) Load 222(coordTemp) - 233: 6(int) Load 225(storeTemp) - ImageWrite 231 232 233 - 235: 57(ptr) AccessChain 56 48 - 236: 6(int) Load 235 - Store 234(coordTemp) 236 - 238: 76 Load 78(g_tTex1di1) - 239: 6(int) Load 234(coordTemp) - 240: 6(int) ImageRead 238 239 - Store 237(storeTemp) 240 - 242: 6(int) Load 237(storeTemp) - 243: 6(int) BitwiseAnd 242 241 - Store 237(storeTemp) 243 - 244: 76 Load 78(g_tTex1di1) - 245: 6(int) Load 234(coordTemp) - 246: 6(int) Load 237(storeTemp) - ImageWrite 244 245 246 - 248: 57(ptr) AccessChain 56 48 - 249: 6(int) Load 248 - Store 247(coordTemp) 249 - 251: 76 Load 78(g_tTex1di1) - 252: 6(int) Load 247(coordTemp) - 253: 6(int) ImageRead 251 252 - Store 250(storeTemp) 253 - 255: 6(int) Load 250(storeTemp) - 256: 6(int) BitwiseOr 255 254 - Store 250(storeTemp) 256 - 257: 76 Load 78(g_tTex1di1) - 258: 6(int) Load 247(coordTemp) - 259: 6(int) Load 250(storeTemp) - ImageWrite 257 258 259 - 261: 57(ptr) AccessChain 56 48 - 262: 6(int) Load 261 - Store 260(coordTemp) 262 - 264: 76 Load 78(g_tTex1di1) - 265: 6(int) Load 260(coordTemp) - 266: 6(int) ImageRead 264 265 - Store 263(storeTemp) 266 - 267: 6(int) Load 263(storeTemp) - 268: 6(int) ShiftLeftLogical 267 122 - Store 263(storeTemp) 268 - 269: 76 Load 78(g_tTex1di1) - 270: 6(int) Load 260(coordTemp) - 271: 6(int) Load 263(storeTemp) - ImageWrite 269 270 271 - 273: 57(ptr) AccessChain 56 48 - 274: 6(int) Load 273 - Store 272(coordTemp) 274 - 276: 76 Load 78(g_tTex1di1) - 277: 6(int) Load 272(coordTemp) - 278: 6(int) ImageRead 276 277 - Store 275(storeTemp) 278 - 279: 6(int) Load 275(storeTemp) - 280: 6(int) ShiftRightArithmetic 279 122 - Store 275(storeTemp) 280 - 281: 76 Load 78(g_tTex1di1) - 282: 6(int) Load 272(coordTemp) - 283: 6(int) Load 275(storeTemp) - ImageWrite 281 282 283 - 285: 18(float) FunctionCall 37(SomeValue() - Store 284(storeTemp) 285 - 286: 92 Load 94(g_tTex2df1) - 287: 97(ptr) AccessChain 56 96 - 288: 51(ivec2) Load 287 - 289: 18(float) Load 284(storeTemp) - ImageWrite 286 288 289 - 290: 92 Load 94(g_tTex2df1) - 291: 97(ptr) AccessChain 56 96 - 292: 51(ivec2) Load 291 - 293: 18(float) Load 143(lf1) - ImageWrite 290 292 293 - Store 294(storeTemp) 295 - 296: 102 Load 104(g_tTex2di1) - 297: 97(ptr) AccessChain 56 96 - 298: 51(ivec2) Load 297 - 299: 6(int) Load 294(storeTemp) - ImageWrite 296 298 299 - Store 300(storeTemp) 301 - 302: 110 Load 112(g_tTex2du1) - 303: 97(ptr) AccessChain 56 96 - 304: 51(ivec2) Load 303 - 305: 12(int) Load 300(storeTemp) - ImageWrite 302 304 305 - 307: 18(float) FunctionCall 37(SomeValue() - Store 306(storeTemp) 307 - 308: 118 Load 120(g_tTex3df1) - 309: 123(ptr) AccessChain 56 122 - 310: 52(ivec3) Load 309 - 311: 18(float) Load 306(storeTemp) - ImageWrite 308 310 311 - 312: 118 Load 120(g_tTex3df1) - 313: 123(ptr) AccessChain 56 122 - 314: 52(ivec3) Load 313 - 315: 18(float) Load 143(lf1) - ImageWrite 312 314 315 - Store 316(storeTemp) 144 - 317: 128 Load 130(g_tTex3di1) - 318: 123(ptr) AccessChain 56 122 - 319: 52(ivec3) Load 318 - 320: 6(int) Load 316(storeTemp) - ImageWrite 317 319 320 - Store 321(storeTemp) 322 - 323: 136 Load 138(g_tTex3du1) - 324: 123(ptr) AccessChain 56 122 - 325: 52(ivec3) Load 324 - 326: 12(int) Load 321(storeTemp) - ImageWrite 323 325 326 - 327: 63 Load 65(g_tTex1df1) - 328: 57(ptr) AccessChain 56 48 - 329: 6(int) Load 328 - 330: 18(float) ImageRead 327 329 - Store 331(param) 330 - 332: 18(float) FunctionCall 22(Fn1(f1;) 331(param) - 333: 76 Load 78(g_tTex1di1) - 334: 57(ptr) AccessChain 56 48 - 335: 6(int) Load 334 - 336: 6(int) ImageRead 333 335 - Store 337(param) 336 - 338: 6(int) FunctionCall 10(Fn1(i1;) 337(param) - 339: 84 Load 86(g_tTex1du1) - 340: 57(ptr) AccessChain 56 48 - 341: 6(int) Load 340 - 342: 12(int) ImageRead 339 341 - Store 343(param) 342 - 344: 12(int) FunctionCall 16(Fn1(u1;) 343(param) - 347: 2 FunctionCall 34(Fn2(f1;) 346(param) - 348: 18(float) Load 346(param) - Store 345(tempArg) 348 - 349: 63 Load 65(g_tTex1df1) - 350: 57(ptr) AccessChain 56 48 - 351: 6(int) Load 350 - 352: 18(float) Load 345(tempArg) - ImageWrite 349 351 352 - 355: 2 FunctionCall 26(Fn2(i1;) 354(param) - 356: 6(int) Load 354(param) - Store 353(tempArg) 356 - 357: 76 Load 78(g_tTex1di1) - 358: 57(ptr) AccessChain 56 48 - 359: 6(int) Load 358 - 360: 6(int) Load 353(tempArg) - ImageWrite 357 359 360 - 363: 2 FunctionCall 30(Fn2(u1;) 362(param) - 364: 12(int) Load 362(param) - Store 361(tempArg) 364 - 365: 84 Load 86(g_tTex1du1) - 366: 57(ptr) AccessChain 56 48 - 367: 6(int) Load 366 - 368: 12(int) Load 361(tempArg) - ImageWrite 365 367 368 - 370: 57(ptr) AccessChain 56 48 - 371: 6(int) Load 370 - Store 369(coordTemp) 371 - 373: 63 Load 65(g_tTex1df1) - 374: 6(int) Load 369(coordTemp) - 375: 18(float) ImageRead 373 374 - Store 372(storeTemp) 375 - 376: 18(float) Load 372(storeTemp) - 378: 18(float) FAdd 376 377 - Store 372(storeTemp) 378 - 379: 63 Load 65(g_tTex1df1) - 380: 6(int) Load 369(coordTemp) - 381: 18(float) Load 372(storeTemp) - ImageWrite 379 380 381 - 383: 57(ptr) AccessChain 56 48 - 384: 6(int) Load 383 - Store 382(coordTemp) 384 - 386: 76 Load 78(g_tTex1di1) - 387: 6(int) Load 382(coordTemp) - 388: 6(int) ImageRead 386 387 - Store 385(storeTemp) 388 - 389: 6(int) Load 385(storeTemp) - 390: 6(int) IAdd 389 96 - Store 385(storeTemp) 390 - 391: 76 Load 78(g_tTex1di1) - 392: 6(int) Load 382(coordTemp) - 393: 6(int) Load 385(storeTemp) - ImageWrite 391 392 393 - 395: 57(ptr) AccessChain 56 48 - 396: 6(int) Load 395 - Store 394(coordTemp) 396 - 398: 84 Load 86(g_tTex1du1) - 399: 6(int) Load 394(coordTemp) - 400: 12(int) ImageRead 398 399 - Store 397(storeTemp) 400 - 401: 12(int) Load 397(storeTemp) - 402: 12(int) IAdd 401 96 - Store 397(storeTemp) 402 - 403: 84 Load 86(g_tTex1du1) - 404: 6(int) Load 394(coordTemp) - 405: 12(int) Load 397(storeTemp) - ImageWrite 403 404 405 - 407: 57(ptr) AccessChain 56 48 - 408: 6(int) Load 407 - Store 406(coordTemp) 408 - 410: 63 Load 65(g_tTex1df1) - 411: 6(int) Load 406(coordTemp) - 412: 18(float) ImageRead 410 411 - Store 409(storeTemp) 412 - 413: 18(float) Load 409(storeTemp) - 414: 18(float) FSub 413 377 - Store 409(storeTemp) 414 - 415: 63 Load 65(g_tTex1df1) - 416: 6(int) Load 406(coordTemp) - 417: 18(float) Load 409(storeTemp) - ImageWrite 415 416 417 - 419: 57(ptr) AccessChain 56 48 - 420: 6(int) Load 419 - Store 418(coordTemp) 420 - 422: 76 Load 78(g_tTex1di1) - 423: 6(int) Load 418(coordTemp) - 424: 6(int) ImageRead 422 423 - Store 421(storeTemp) 424 - 425: 6(int) Load 421(storeTemp) - 426: 6(int) ISub 425 96 - Store 421(storeTemp) 426 - 427: 76 Load 78(g_tTex1di1) - 428: 6(int) Load 418(coordTemp) - 429: 6(int) Load 421(storeTemp) - ImageWrite 427 428 429 - 431: 57(ptr) AccessChain 56 48 - 432: 6(int) Load 431 - Store 430(coordTemp) 432 - 434: 84 Load 86(g_tTex1du1) - 435: 6(int) Load 430(coordTemp) - 436: 12(int) ImageRead 434 435 - Store 433(storeTemp) 436 - 437: 12(int) Load 433(storeTemp) - 438: 12(int) ISub 437 96 - Store 433(storeTemp) 438 - 439: 84 Load 86(g_tTex1du1) - 440: 6(int) Load 430(coordTemp) - 441: 12(int) Load 433(storeTemp) - ImageWrite 439 440 441 - 443: 57(ptr) AccessChain 56 48 - 444: 6(int) Load 443 - Store 442(coordTemp) 444 - 446: 63 Load 65(g_tTex1df1) - 447: 6(int) Load 442(coordTemp) - 448: 18(float) ImageRead 446 447 - Store 445(storeTempPre) 448 - 450: 18(float) Load 445(storeTempPre) - Store 449(storeTempPost) 450 - 451: 18(float) Load 449(storeTempPost) - 452: 18(float) FAdd 451 377 - Store 449(storeTempPost) 452 - 453: 63 Load 65(g_tTex1df1) - 454: 6(int) Load 442(coordTemp) - 455: 18(float) Load 449(storeTempPost) - ImageWrite 453 454 455 - 457: 57(ptr) AccessChain 56 48 - 458: 6(int) Load 457 - Store 456(coordTemp) 458 - 460: 84 Load 86(g_tTex1du1) - 461: 6(int) Load 456(coordTemp) - 462: 12(int) ImageRead 460 461 - Store 459(storeTempPre) 462 - 464: 12(int) Load 459(storeTempPre) - Store 463(storeTempPost) 464 - 465: 12(int) Load 463(storeTempPost) - 466: 12(int) ISub 465 96 - Store 463(storeTempPost) 466 - 467: 84 Load 86(g_tTex1du1) - 468: 6(int) Load 456(coordTemp) - 469: 12(int) Load 463(storeTempPost) - ImageWrite 467 468 469 - 471: 57(ptr) AccessChain 56 48 - 472: 6(int) Load 471 - Store 470(coordTemp) 472 - 474: 76 Load 78(g_tTex1di1) - 475: 6(int) Load 470(coordTemp) - 476: 6(int) ImageRead 474 475 - Store 473(storeTempPre) 476 - 478: 6(int) Load 473(storeTempPre) - Store 477(storeTempPost) 478 - 479: 6(int) Load 477(storeTempPost) - 480: 6(int) IAdd 479 96 - Store 477(storeTempPost) 480 - 481: 76 Load 78(g_tTex1di1) - 482: 6(int) Load 470(coordTemp) - 483: 6(int) Load 477(storeTempPost) - ImageWrite 481 482 483 - 485: 57(ptr) AccessChain 56 48 - 486: 6(int) Load 485 - Store 484(coordTemp) 486 - 488: 63 Load 65(g_tTex1df1) - 489: 6(int) Load 484(coordTemp) - 490: 18(float) ImageRead 488 489 - Store 487(storeTempPre) 490 - 492: 18(float) Load 487(storeTempPre) - Store 491(storeTempPost) 492 - 493: 18(float) Load 491(storeTempPost) - 494: 18(float) FSub 493 377 - Store 491(storeTempPost) 494 - 495: 63 Load 65(g_tTex1df1) - 496: 6(int) Load 484(coordTemp) - 497: 18(float) Load 491(storeTempPost) - ImageWrite 495 496 497 - 499: 57(ptr) AccessChain 56 48 - 500: 6(int) Load 499 - Store 498(coordTemp) 500 - 502: 76 Load 78(g_tTex1di1) - 503: 6(int) Load 498(coordTemp) - 504: 6(int) ImageRead 502 503 - Store 501(storeTempPre) 504 - 506: 6(int) Load 501(storeTempPre) - Store 505(storeTempPost) 506 - 507: 6(int) Load 505(storeTempPost) - 508: 6(int) IAdd 507 96 - Store 505(storeTempPost) 508 - 509: 76 Load 78(g_tTex1di1) - 510: 6(int) Load 498(coordTemp) - 511: 6(int) Load 505(storeTempPost) - ImageWrite 509 510 511 - 513: 57(ptr) AccessChain 56 48 - 514: 6(int) Load 513 - Store 512(coordTemp) 514 - 516: 84 Load 86(g_tTex1du1) - 517: 6(int) Load 512(coordTemp) - 518: 12(int) ImageRead 516 517 - Store 515(storeTempPre) 518 - 520: 12(int) Load 515(storeTempPre) - Store 519(storeTempPost) 520 - 521: 12(int) Load 519(storeTempPost) - 522: 12(int) ISub 521 96 - Store 519(storeTempPost) 522 - 523: 84 Load 86(g_tTex1du1) - 524: 6(int) Load 512(coordTemp) - 525: 12(int) Load 519(storeTempPost) - ImageWrite 523 524 525 - 527: 92 Load 94(g_tTex2df1) - 530: 18(float) ImageRead 527 529 - Store 526(storeTemp) 530 - 531: 63 Load 65(g_tTex1df1) - 532: 18(float) Load 526(storeTemp) - ImageWrite 531 96 532 - 539: 538(ptr) AccessChain 536(psout) 48 - Store 539 537 - 542: 538(ptr) AccessChain 536(psout) 48 - 543: 533(fvec4) Load 542 - Store 541(Color) 543 + 548:40(PS_OUTPUT) FunctionCall 42(@main() + 549: 39(fvec4) CompositeExtract 548 0 + Store 547(Color) 549 Return FunctionEnd 10(Fn1(i1;): 6(int) Function None 8 9(x): 7(ptr) FunctionParameter 11: Label - 39: 6(int) Load 9(x) - ReturnValue 39 + 44: 6(int) Load 9(x) + ReturnValue 44 FunctionEnd 16(Fn1(u1;): 12(int) Function None 14 15(x): 13(ptr) FunctionParameter 17: Label - 42: 12(int) Load 15(x) - ReturnValue 42 + 47: 12(int) Load 15(x) + ReturnValue 47 FunctionEnd 22(Fn1(f1;): 18(float) Function None 20 21(x): 19(ptr) FunctionParameter 23: Label - 45: 18(float) Load 21(x) - ReturnValue 45 + 50: 18(float) Load 21(x) + ReturnValue 50 FunctionEnd 26(Fn2(i1;): 2 Function None 24 25(x): 7(ptr) FunctionParameter 27: Label - Store 25(x) 48 + Store 25(x) 53 Return FunctionEnd 30(Fn2(u1;): 2 Function None 28 29(x): 13(ptr) FunctionParameter 31: Label - Store 29(x) 49 + Store 29(x) 54 Return FunctionEnd 34(Fn2(f1;): 2 Function None 32 33(x): 19(ptr) FunctionParameter 35: Label - Store 33(x) 50 + Store 33(x) 55 Return FunctionEnd 37(SomeValue(): 18(float) Function None 36 38: Label - 58: 57(ptr) AccessChain 56 48 - 59: 6(int) Load 58 - 60: 18(float) ConvertSToF 59 - ReturnValue 60 + 63: 62(ptr) AccessChain 61 53 + 64: 6(int) Load 63 + 65: 18(float) ConvertSToF 64 + ReturnValue 65 + FunctionEnd + 42(@main():40(PS_OUTPUT) Function None 41 + 43: Label + 75(r00): 19(ptr) Variable Function + 80(r01): 7(ptr) Variable Function + 88(r02): 13(ptr) Variable Function + 96(r10): 19(ptr) Variable Function + 106(r11): 7(ptr) Variable Function + 114(r12): 13(ptr) Variable Function + 122(r20): 19(ptr) Variable Function + 132(r21): 7(ptr) Variable Function + 140(r22): 13(ptr) Variable Function + 148(lf1): 19(ptr) Variable Function + 153(storeTemp): 19(ptr) Variable Function + 163(storeTemp): 7(ptr) Variable Function + 168(storeTemp): 13(ptr) Variable Function + 174(val1): 19(ptr) Variable Function + 175(coordTemp): 7(ptr) Variable Function + 178(storeTemp): 19(ptr) Variable Function + 189(coordTemp): 7(ptr) Variable Function + 192(storeTemp): 19(ptr) Variable Function + 202(coordTemp): 7(ptr) Variable Function + 205(storeTemp): 19(ptr) Variable Function + 215(coordTemp): 7(ptr) Variable Function + 218(storeTemp): 7(ptr) Variable Function + 227(coordTemp): 7(ptr) Variable Function + 230(storeTemp): 7(ptr) Variable Function + 239(coordTemp): 7(ptr) Variable Function + 242(storeTemp): 7(ptr) Variable Function + 252(coordTemp): 7(ptr) Variable Function + 255(storeTemp): 7(ptr) Variable Function + 265(coordTemp): 7(ptr) Variable Function + 268(storeTemp): 7(ptr) Variable Function + 277(coordTemp): 7(ptr) Variable Function + 280(storeTemp): 7(ptr) Variable Function + 289(storeTemp): 19(ptr) Variable Function + 299(storeTemp): 7(ptr) Variable Function + 305(storeTemp): 13(ptr) Variable Function + 311(storeTemp): 19(ptr) Variable Function + 321(storeTemp): 7(ptr) Variable Function + 326(storeTemp): 13(ptr) Variable Function + 336(param): 19(ptr) Variable Function + 342(param): 7(ptr) Variable Function + 348(param): 13(ptr) Variable Function + 350(tempArg): 19(ptr) Variable Function + 351(param): 19(ptr) Variable Function + 358(tempArg): 7(ptr) Variable Function + 359(param): 7(ptr) Variable Function + 366(tempArg): 13(ptr) Variable Function + 367(param): 13(ptr) Variable Function + 374(coordTemp): 7(ptr) Variable Function + 377(storeTemp): 19(ptr) Variable Function + 387(coordTemp): 7(ptr) Variable Function + 390(storeTemp): 7(ptr) Variable Function + 399(coordTemp): 7(ptr) Variable Function + 402(storeTemp): 13(ptr) Variable Function + 411(coordTemp): 7(ptr) Variable Function + 414(storeTemp): 19(ptr) Variable Function + 423(coordTemp): 7(ptr) Variable Function + 426(storeTemp): 7(ptr) Variable Function + 435(coordTemp): 7(ptr) Variable Function + 438(storeTemp): 13(ptr) Variable Function + 447(coordTemp): 7(ptr) Variable Function +450(storeTempPre): 19(ptr) Variable Function +454(storeTempPost): 19(ptr) Variable Function + 461(coordTemp): 7(ptr) Variable Function +464(storeTempPre): 13(ptr) Variable Function +468(storeTempPost): 13(ptr) Variable Function + 475(coordTemp): 7(ptr) Variable Function +478(storeTempPre): 7(ptr) Variable Function +482(storeTempPost): 7(ptr) Variable Function + 489(coordTemp): 7(ptr) Variable Function +492(storeTempPre): 19(ptr) Variable Function +496(storeTempPost): 19(ptr) Variable Function + 503(coordTemp): 7(ptr) Variable Function +506(storeTempPre): 7(ptr) Variable Function +510(storeTempPost): 7(ptr) Variable Function + 517(coordTemp): 7(ptr) Variable Function +520(storeTempPre): 13(ptr) Variable Function +524(storeTempPost): 13(ptr) Variable Function + 531(storeTemp): 19(ptr) Variable Function + 539(psout): 538(ptr) Variable Function + 71: 68 Load 70(g_tTex1df1) + 72: 62(ptr) AccessChain 61 53 + 73: 6(int) Load 72 + 74: 18(float) ImageRead 71 73 + 76: 68 Load 70(g_tTex1df1) + 77: 62(ptr) AccessChain 61 53 + 78: 6(int) Load 77 + 79: 18(float) ImageRead 76 78 + Store 75(r00) 79 + 84: 81 Load 83(g_tTex1di1) + 85: 62(ptr) AccessChain 61 53 + 86: 6(int) Load 85 + 87: 6(int) ImageRead 84 86 + Store 80(r01) 87 + 92: 89 Load 91(g_tTex1du1) + 93: 62(ptr) AccessChain 61 53 + 94: 6(int) Load 93 + 95: 12(int) ImageRead 92 94 + Store 88(r02) 95 + 100: 97 Load 99(g_tTex2df1) + 103: 102(ptr) AccessChain 61 101 + 104: 56(ivec2) Load 103 + 105: 18(float) ImageRead 100 104 + Store 96(r10) 105 + 110: 107 Load 109(g_tTex2di1) + 111: 102(ptr) AccessChain 61 101 + 112: 56(ivec2) Load 111 + 113: 6(int) ImageRead 110 112 + Store 106(r11) 113 + 118: 115 Load 117(g_tTex2du1) + 119: 102(ptr) AccessChain 61 101 + 120: 56(ivec2) Load 119 + 121: 12(int) ImageRead 118 120 + Store 114(r12) 121 + 126: 123 Load 125(g_tTex3df1) + 129: 128(ptr) AccessChain 61 127 + 130: 57(ivec3) Load 129 + 131: 18(float) ImageRead 126 130 + Store 122(r20) 131 + 136: 133 Load 135(g_tTex3di1) + 137: 128(ptr) AccessChain 61 127 + 138: 57(ivec3) Load 137 + 139: 6(int) ImageRead 136 138 + Store 132(r21) 139 + 144: 141 Load 143(g_tTex3du1) + 145: 128(ptr) AccessChain 61 127 + 146: 57(ivec3) Load 145 + 147: 12(int) ImageRead 144 146 + Store 140(r22) 147 + 151: 150(ptr) AccessChain 61 149 + 152: 18(float) Load 151 + Store 148(lf1) 152 + 154: 18(float) FunctionCall 37(SomeValue() + Store 153(storeTemp) 154 + 155: 68 Load 70(g_tTex1df1) + 156: 62(ptr) AccessChain 61 53 + 157: 6(int) Load 156 + 158: 18(float) Load 153(storeTemp) + ImageWrite 155 157 158 + 159: 68 Load 70(g_tTex1df1) + 160: 62(ptr) AccessChain 61 53 + 161: 6(int) Load 160 + 162: 18(float) Load 148(lf1) + ImageWrite 159 161 162 + Store 163(storeTemp) 127 + 164: 81 Load 83(g_tTex1di1) + 165: 62(ptr) AccessChain 61 53 + 166: 6(int) Load 165 + 167: 6(int) Load 163(storeTemp) + ImageWrite 164 166 167 + Store 168(storeTemp) 169 + 170: 89 Load 91(g_tTex1du1) + 171: 62(ptr) AccessChain 61 53 + 172: 6(int) Load 171 + 173: 12(int) Load 168(storeTemp) + ImageWrite 170 172 173 + 176: 62(ptr) AccessChain 61 53 + 177: 6(int) Load 176 + Store 175(coordTemp) 177 + 179: 68 Load 70(g_tTex1df1) + 180: 6(int) Load 175(coordTemp) + 181: 18(float) ImageRead 179 180 + Store 178(storeTemp) 181 + 183: 18(float) Load 178(storeTemp) + 184: 18(float) FMul 183 182 + Store 178(storeTemp) 184 + 185: 68 Load 70(g_tTex1df1) + 186: 6(int) Load 175(coordTemp) + 187: 18(float) Load 178(storeTemp) + ImageWrite 185 186 187 + 188: 18(float) Load 178(storeTemp) + Store 174(val1) 188 + 190: 62(ptr) AccessChain 61 53 + 191: 6(int) Load 190 + Store 189(coordTemp) 191 + 193: 68 Load 70(g_tTex1df1) + 194: 6(int) Load 189(coordTemp) + 195: 18(float) ImageRead 193 194 + Store 192(storeTemp) 195 + 197: 18(float) Load 192(storeTemp) + 198: 18(float) FSub 197 196 + Store 192(storeTemp) 198 + 199: 68 Load 70(g_tTex1df1) + 200: 6(int) Load 189(coordTemp) + 201: 18(float) Load 192(storeTemp) + ImageWrite 199 200 201 + 203: 62(ptr) AccessChain 61 53 + 204: 6(int) Load 203 + Store 202(coordTemp) 204 + 206: 68 Load 70(g_tTex1df1) + 207: 6(int) Load 202(coordTemp) + 208: 18(float) ImageRead 206 207 + Store 205(storeTemp) 208 + 210: 18(float) Load 205(storeTemp) + 211: 18(float) FAdd 210 209 + Store 205(storeTemp) 211 + 212: 68 Load 70(g_tTex1df1) + 213: 6(int) Load 202(coordTemp) + 214: 18(float) Load 205(storeTemp) + ImageWrite 212 213 214 + 216: 62(ptr) AccessChain 61 53 + 217: 6(int) Load 216 + Store 215(coordTemp) 217 + 219: 81 Load 83(g_tTex1di1) + 220: 6(int) Load 215(coordTemp) + 221: 6(int) ImageRead 219 220 + Store 218(storeTemp) 221 + 222: 6(int) Load 218(storeTemp) + 223: 6(int) SDiv 222 127 + Store 218(storeTemp) 223 + 224: 81 Load 83(g_tTex1di1) + 225: 6(int) Load 215(coordTemp) + 226: 6(int) Load 218(storeTemp) + ImageWrite 224 225 226 + 228: 62(ptr) AccessChain 61 53 + 229: 6(int) Load 228 + Store 227(coordTemp) 229 + 231: 81 Load 83(g_tTex1di1) + 232: 6(int) Load 227(coordTemp) + 233: 6(int) ImageRead 231 232 + Store 230(storeTemp) 233 + 234: 6(int) Load 230(storeTemp) + 235: 6(int) SMod 234 127 + Store 230(storeTemp) 235 + 236: 81 Load 83(g_tTex1di1) + 237: 6(int) Load 227(coordTemp) + 238: 6(int) Load 230(storeTemp) + ImageWrite 236 237 238 + 240: 62(ptr) AccessChain 61 53 + 241: 6(int) Load 240 + Store 239(coordTemp) 241 + 243: 81 Load 83(g_tTex1di1) + 244: 6(int) Load 239(coordTemp) + 245: 6(int) ImageRead 243 244 + Store 242(storeTemp) 245 + 247: 6(int) Load 242(storeTemp) + 248: 6(int) BitwiseAnd 247 246 + Store 242(storeTemp) 248 + 249: 81 Load 83(g_tTex1di1) + 250: 6(int) Load 239(coordTemp) + 251: 6(int) Load 242(storeTemp) + ImageWrite 249 250 251 + 253: 62(ptr) AccessChain 61 53 + 254: 6(int) Load 253 + Store 252(coordTemp) 254 + 256: 81 Load 83(g_tTex1di1) + 257: 6(int) Load 252(coordTemp) + 258: 6(int) ImageRead 256 257 + Store 255(storeTemp) 258 + 260: 6(int) Load 255(storeTemp) + 261: 6(int) BitwiseOr 260 259 + Store 255(storeTemp) 261 + 262: 81 Load 83(g_tTex1di1) + 263: 6(int) Load 252(coordTemp) + 264: 6(int) Load 255(storeTemp) + ImageWrite 262 263 264 + 266: 62(ptr) AccessChain 61 53 + 267: 6(int) Load 266 + Store 265(coordTemp) 267 + 269: 81 Load 83(g_tTex1di1) + 270: 6(int) Load 265(coordTemp) + 271: 6(int) ImageRead 269 270 + Store 268(storeTemp) 271 + 272: 6(int) Load 268(storeTemp) + 273: 6(int) ShiftLeftLogical 272 127 + Store 268(storeTemp) 273 + 274: 81 Load 83(g_tTex1di1) + 275: 6(int) Load 265(coordTemp) + 276: 6(int) Load 268(storeTemp) + ImageWrite 274 275 276 + 278: 62(ptr) AccessChain 61 53 + 279: 6(int) Load 278 + Store 277(coordTemp) 279 + 281: 81 Load 83(g_tTex1di1) + 282: 6(int) Load 277(coordTemp) + 283: 6(int) ImageRead 281 282 + Store 280(storeTemp) 283 + 284: 6(int) Load 280(storeTemp) + 285: 6(int) ShiftRightArithmetic 284 127 + Store 280(storeTemp) 285 + 286: 81 Load 83(g_tTex1di1) + 287: 6(int) Load 277(coordTemp) + 288: 6(int) Load 280(storeTemp) + ImageWrite 286 287 288 + 290: 18(float) FunctionCall 37(SomeValue() + Store 289(storeTemp) 290 + 291: 97 Load 99(g_tTex2df1) + 292: 102(ptr) AccessChain 61 101 + 293: 56(ivec2) Load 292 + 294: 18(float) Load 289(storeTemp) + ImageWrite 291 293 294 + 295: 97 Load 99(g_tTex2df1) + 296: 102(ptr) AccessChain 61 101 + 297: 56(ivec2) Load 296 + 298: 18(float) Load 148(lf1) + ImageWrite 295 297 298 + Store 299(storeTemp) 300 + 301: 107 Load 109(g_tTex2di1) + 302: 102(ptr) AccessChain 61 101 + 303: 56(ivec2) Load 302 + 304: 6(int) Load 299(storeTemp) + ImageWrite 301 303 304 + Store 305(storeTemp) 306 + 307: 115 Load 117(g_tTex2du1) + 308: 102(ptr) AccessChain 61 101 + 309: 56(ivec2) Load 308 + 310: 12(int) Load 305(storeTemp) + ImageWrite 307 309 310 + 312: 18(float) FunctionCall 37(SomeValue() + Store 311(storeTemp) 312 + 313: 123 Load 125(g_tTex3df1) + 314: 128(ptr) AccessChain 61 127 + 315: 57(ivec3) Load 314 + 316: 18(float) Load 311(storeTemp) + ImageWrite 313 315 316 + 317: 123 Load 125(g_tTex3df1) + 318: 128(ptr) AccessChain 61 127 + 319: 57(ivec3) Load 318 + 320: 18(float) Load 148(lf1) + ImageWrite 317 319 320 + Store 321(storeTemp) 149 + 322: 133 Load 135(g_tTex3di1) + 323: 128(ptr) AccessChain 61 127 + 324: 57(ivec3) Load 323 + 325: 6(int) Load 321(storeTemp) + ImageWrite 322 324 325 + Store 326(storeTemp) 327 + 328: 141 Load 143(g_tTex3du1) + 329: 128(ptr) AccessChain 61 127 + 330: 57(ivec3) Load 329 + 331: 12(int) Load 326(storeTemp) + ImageWrite 328 330 331 + 332: 68 Load 70(g_tTex1df1) + 333: 62(ptr) AccessChain 61 53 + 334: 6(int) Load 333 + 335: 18(float) ImageRead 332 334 + Store 336(param) 335 + 337: 18(float) FunctionCall 22(Fn1(f1;) 336(param) + 338: 81 Load 83(g_tTex1di1) + 339: 62(ptr) AccessChain 61 53 + 340: 6(int) Load 339 + 341: 6(int) ImageRead 338 340 + Store 342(param) 341 + 343: 6(int) FunctionCall 10(Fn1(i1;) 342(param) + 344: 89 Load 91(g_tTex1du1) + 345: 62(ptr) AccessChain 61 53 + 346: 6(int) Load 345 + 347: 12(int) ImageRead 344 346 + Store 348(param) 347 + 349: 12(int) FunctionCall 16(Fn1(u1;) 348(param) + 352: 2 FunctionCall 34(Fn2(f1;) 351(param) + 353: 18(float) Load 351(param) + Store 350(tempArg) 353 + 354: 68 Load 70(g_tTex1df1) + 355: 62(ptr) AccessChain 61 53 + 356: 6(int) Load 355 + 357: 18(float) Load 350(tempArg) + ImageWrite 354 356 357 + 360: 2 FunctionCall 26(Fn2(i1;) 359(param) + 361: 6(int) Load 359(param) + Store 358(tempArg) 361 + 362: 81 Load 83(g_tTex1di1) + 363: 62(ptr) AccessChain 61 53 + 364: 6(int) Load 363 + 365: 6(int) Load 358(tempArg) + ImageWrite 362 364 365 + 368: 2 FunctionCall 30(Fn2(u1;) 367(param) + 369: 12(int) Load 367(param) + Store 366(tempArg) 369 + 370: 89 Load 91(g_tTex1du1) + 371: 62(ptr) AccessChain 61 53 + 372: 6(int) Load 371 + 373: 12(int) Load 366(tempArg) + ImageWrite 370 372 373 + 375: 62(ptr) AccessChain 61 53 + 376: 6(int) Load 375 + Store 374(coordTemp) 376 + 378: 68 Load 70(g_tTex1df1) + 379: 6(int) Load 374(coordTemp) + 380: 18(float) ImageRead 378 379 + Store 377(storeTemp) 380 + 381: 18(float) Load 377(storeTemp) + 383: 18(float) FAdd 381 382 + Store 377(storeTemp) 383 + 384: 68 Load 70(g_tTex1df1) + 385: 6(int) Load 374(coordTemp) + 386: 18(float) Load 377(storeTemp) + ImageWrite 384 385 386 + 388: 62(ptr) AccessChain 61 53 + 389: 6(int) Load 388 + Store 387(coordTemp) 389 + 391: 81 Load 83(g_tTex1di1) + 392: 6(int) Load 387(coordTemp) + 393: 6(int) ImageRead 391 392 + Store 390(storeTemp) 393 + 394: 6(int) Load 390(storeTemp) + 395: 6(int) IAdd 394 101 + Store 390(storeTemp) 395 + 396: 81 Load 83(g_tTex1di1) + 397: 6(int) Load 387(coordTemp) + 398: 6(int) Load 390(storeTemp) + ImageWrite 396 397 398 + 400: 62(ptr) AccessChain 61 53 + 401: 6(int) Load 400 + Store 399(coordTemp) 401 + 403: 89 Load 91(g_tTex1du1) + 404: 6(int) Load 399(coordTemp) + 405: 12(int) ImageRead 403 404 + Store 402(storeTemp) 405 + 406: 12(int) Load 402(storeTemp) + 407: 12(int) IAdd 406 101 + Store 402(storeTemp) 407 + 408: 89 Load 91(g_tTex1du1) + 409: 6(int) Load 399(coordTemp) + 410: 12(int) Load 402(storeTemp) + ImageWrite 408 409 410 + 412: 62(ptr) AccessChain 61 53 + 413: 6(int) Load 412 + Store 411(coordTemp) 413 + 415: 68 Load 70(g_tTex1df1) + 416: 6(int) Load 411(coordTemp) + 417: 18(float) ImageRead 415 416 + Store 414(storeTemp) 417 + 418: 18(float) Load 414(storeTemp) + 419: 18(float) FSub 418 382 + Store 414(storeTemp) 419 + 420: 68 Load 70(g_tTex1df1) + 421: 6(int) Load 411(coordTemp) + 422: 18(float) Load 414(storeTemp) + ImageWrite 420 421 422 + 424: 62(ptr) AccessChain 61 53 + 425: 6(int) Load 424 + Store 423(coordTemp) 425 + 427: 81 Load 83(g_tTex1di1) + 428: 6(int) Load 423(coordTemp) + 429: 6(int) ImageRead 427 428 + Store 426(storeTemp) 429 + 430: 6(int) Load 426(storeTemp) + 431: 6(int) ISub 430 101 + Store 426(storeTemp) 431 + 432: 81 Load 83(g_tTex1di1) + 433: 6(int) Load 423(coordTemp) + 434: 6(int) Load 426(storeTemp) + ImageWrite 432 433 434 + 436: 62(ptr) AccessChain 61 53 + 437: 6(int) Load 436 + Store 435(coordTemp) 437 + 439: 89 Load 91(g_tTex1du1) + 440: 6(int) Load 435(coordTemp) + 441: 12(int) ImageRead 439 440 + Store 438(storeTemp) 441 + 442: 12(int) Load 438(storeTemp) + 443: 12(int) ISub 442 101 + Store 438(storeTemp) 443 + 444: 89 Load 91(g_tTex1du1) + 445: 6(int) Load 435(coordTemp) + 446: 12(int) Load 438(storeTemp) + ImageWrite 444 445 446 + 448: 62(ptr) AccessChain 61 53 + 449: 6(int) Load 448 + Store 447(coordTemp) 449 + 451: 68 Load 70(g_tTex1df1) + 452: 6(int) Load 447(coordTemp) + 453: 18(float) ImageRead 451 452 + Store 450(storeTempPre) 453 + 455: 18(float) Load 450(storeTempPre) + Store 454(storeTempPost) 455 + 456: 18(float) Load 454(storeTempPost) + 457: 18(float) FAdd 456 382 + Store 454(storeTempPost) 457 + 458: 68 Load 70(g_tTex1df1) + 459: 6(int) Load 447(coordTemp) + 460: 18(float) Load 454(storeTempPost) + ImageWrite 458 459 460 + 462: 62(ptr) AccessChain 61 53 + 463: 6(int) Load 462 + Store 461(coordTemp) 463 + 465: 89 Load 91(g_tTex1du1) + 466: 6(int) Load 461(coordTemp) + 467: 12(int) ImageRead 465 466 + Store 464(storeTempPre) 467 + 469: 12(int) Load 464(storeTempPre) + Store 468(storeTempPost) 469 + 470: 12(int) Load 468(storeTempPost) + 471: 12(int) ISub 470 101 + Store 468(storeTempPost) 471 + 472: 89 Load 91(g_tTex1du1) + 473: 6(int) Load 461(coordTemp) + 474: 12(int) Load 468(storeTempPost) + ImageWrite 472 473 474 + 476: 62(ptr) AccessChain 61 53 + 477: 6(int) Load 476 + Store 475(coordTemp) 477 + 479: 81 Load 83(g_tTex1di1) + 480: 6(int) Load 475(coordTemp) + 481: 6(int) ImageRead 479 480 + Store 478(storeTempPre) 481 + 483: 6(int) Load 478(storeTempPre) + Store 482(storeTempPost) 483 + 484: 6(int) Load 482(storeTempPost) + 485: 6(int) IAdd 484 101 + Store 482(storeTempPost) 485 + 486: 81 Load 83(g_tTex1di1) + 487: 6(int) Load 475(coordTemp) + 488: 6(int) Load 482(storeTempPost) + ImageWrite 486 487 488 + 490: 62(ptr) AccessChain 61 53 + 491: 6(int) Load 490 + Store 489(coordTemp) 491 + 493: 68 Load 70(g_tTex1df1) + 494: 6(int) Load 489(coordTemp) + 495: 18(float) ImageRead 493 494 + Store 492(storeTempPre) 495 + 497: 18(float) Load 492(storeTempPre) + Store 496(storeTempPost) 497 + 498: 18(float) Load 496(storeTempPost) + 499: 18(float) FSub 498 382 + Store 496(storeTempPost) 499 + 500: 68 Load 70(g_tTex1df1) + 501: 6(int) Load 489(coordTemp) + 502: 18(float) Load 496(storeTempPost) + ImageWrite 500 501 502 + 504: 62(ptr) AccessChain 61 53 + 505: 6(int) Load 504 + Store 503(coordTemp) 505 + 507: 81 Load 83(g_tTex1di1) + 508: 6(int) Load 503(coordTemp) + 509: 6(int) ImageRead 507 508 + Store 506(storeTempPre) 509 + 511: 6(int) Load 506(storeTempPre) + Store 510(storeTempPost) 511 + 512: 6(int) Load 510(storeTempPost) + 513: 6(int) IAdd 512 101 + Store 510(storeTempPost) 513 + 514: 81 Load 83(g_tTex1di1) + 515: 6(int) Load 503(coordTemp) + 516: 6(int) Load 510(storeTempPost) + ImageWrite 514 515 516 + 518: 62(ptr) AccessChain 61 53 + 519: 6(int) Load 518 + Store 517(coordTemp) 519 + 521: 89 Load 91(g_tTex1du1) + 522: 6(int) Load 517(coordTemp) + 523: 12(int) ImageRead 521 522 + Store 520(storeTempPre) 523 + 525: 12(int) Load 520(storeTempPre) + Store 524(storeTempPost) 525 + 526: 12(int) Load 524(storeTempPost) + 527: 12(int) ISub 526 101 + Store 524(storeTempPost) 527 + 528: 89 Load 91(g_tTex1du1) + 529: 6(int) Load 517(coordTemp) + 530: 12(int) Load 524(storeTempPost) + ImageWrite 528 529 530 + 532: 97 Load 99(g_tTex2df1) + 535: 18(float) ImageRead 532 534 + Store 531(storeTemp) 535 + 536: 68 Load 70(g_tTex1df1) + 537: 18(float) Load 531(storeTemp) + ImageWrite 536 101 537 + 542: 541(ptr) AccessChain 539(psout) 53 + Store 542 540 + 543:40(PS_OUTPUT) Load 539(psout) + ReturnValue 543 FunctionEnd diff --git a/Test/baseResults/hlsl.rw.swizzle.frag.out b/Test/baseResults/hlsl.rw.swizzle.frag.out index 807fa681..e876e06b 100644 --- a/Test/baseResults/hlsl.rw.swizzle.frag.out +++ b/Test/baseResults/hlsl.rw.swizzle.frag.out @@ -10,7 +10,7 @@ gl_FragCoord origin is upper left 0:? 1.000000 0:? 2.000000 0:? 3.000000 -0:7 Function Definition: main( (temp 4-component vector of float) +0:7 Function Definition: @main( (temp 4-component vector of float) 0:7 Function Parameters: 0:? Sequence 0:8 Sequence @@ -81,19 +81,22 @@ gl_FragCoord origin is upper left 0:14 'tc2' (temp 2-component vector of int) 0:14 'storeTemp' (temp 3-component vector of float) 0:14 'storeTemp' (temp 3-component vector of float) -0:27 Sequence -0:27 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:27 Constant: -0:27 0.000000 -0:27 0.000000 -0:27 0.000000 -0:27 0.000000 -0:27 Branch: Return +0:27 Branch: Return with expression +0:27 Constant: +0:27 0.000000 +0:27 0.000000 +0:27 0.000000 +0:27 0.000000 +0:7 Function Definition: main( (temp void) +0:7 Function Parameters: +0:? Sequence +0:7 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:7 Function Call: @main( (temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 'rwtx' (layout(rgba32f ) uniform image2D) 0:? 'buf' (layout(rgba32f ) uniform imageBuffer) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) Linked fragment stage: @@ -110,7 +113,7 @@ gl_FragCoord origin is upper left 0:? 1.000000 0:? 2.000000 0:? 3.000000 -0:7 Function Definition: main( (temp 4-component vector of float) +0:7 Function Definition: @main( (temp 4-component vector of float) 0:7 Function Parameters: 0:? Sequence 0:8 Sequence @@ -181,106 +184,116 @@ gl_FragCoord origin is upper left 0:14 'tc2' (temp 2-component vector of int) 0:14 'storeTemp' (temp 3-component vector of float) 0:14 'storeTemp' (temp 3-component vector of float) -0:27 Sequence -0:27 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:27 Constant: -0:27 0.000000 -0:27 0.000000 -0:27 0.000000 -0:27 0.000000 -0:27 Branch: Return +0:27 Branch: Return with expression +0:27 Constant: +0:27 0.000000 +0:27 0.000000 +0:27 0.000000 +0:27 0.000000 +0:7 Function Definition: main( (temp void) +0:7 Function Parameters: +0:? Sequence +0:7 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:7 Function Call: @main( (temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 'rwtx' (layout(rgba32f ) uniform image2D) 0:? 'buf' (layout(rgba32f ) uniform imageBuffer) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 58 +// Id's are bound by 63 Capability Shader Capability SampledBuffer 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 51 + EntryPoint Fragment 4 "main" 58 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "SomeValue(" - Name 20 "tc2" - Name 24 "tc" - Name 26 "storeTemp" - Name 31 "rwtx" - Name 35 "storeTemp" - Name 42 "storeTemp" - Name 51 "@entryPointOutput" - Name 57 "buf" - Decorate 31(rwtx) DescriptorSet 0 - Decorate 51(@entryPointOutput) Location 0 - Decorate 57(buf) DescriptorSet 0 + Name 13 "@main(" + Name 24 "tc2" + Name 28 "tc" + Name 30 "storeTemp" + Name 35 "rwtx" + Name 39 "storeTemp" + Name 46 "storeTemp" + Name 58 "@entryPointOutput" + Name 62 "buf" + Decorate 35(rwtx) DescriptorSet 0 + Decorate 58(@entryPointOutput) Location 0 + Decorate 62(buf) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 3 8: TypeFunction 7(fvec3) - 11: 6(float) Constant 1065353216 - 12: 6(float) Constant 1073741824 - 13: 6(float) Constant 1077936128 - 14: 7(fvec3) ConstantComposite 11 12 13 - 17: TypeInt 32 1 - 18: TypeVector 17(int) 2 - 19: TypePointer Function 18(ivec2) - 21: 17(int) Constant 0 - 22: 18(ivec2) ConstantComposite 21 21 - 23: TypePointer Function 17(int) - 25: TypePointer Function 7(fvec3) - 29: TypeImage 6(float) 2D nonsampled format:Rgba32f - 30: TypePointer UniformConstant 29 - 31(rwtx): 30(ptr) Variable UniformConstant - 43: 7(fvec3) ConstantComposite 12 12 12 - 49: TypeVector 6(float) 4 - 50: TypePointer Output 49(fvec4) -51(@entryPointOutput): 50(ptr) Variable Output - 52: 6(float) Constant 0 - 53: 49(fvec4) ConstantComposite 52 52 52 52 - 55: TypeImage 6(float) Buffer nonsampled format:Rgba32f - 56: TypePointer UniformConstant 55 - 57(buf): 56(ptr) Variable UniformConstant + 11: TypeVector 6(float) 4 + 12: TypeFunction 11(fvec4) + 15: 6(float) Constant 1065353216 + 16: 6(float) Constant 1073741824 + 17: 6(float) Constant 1077936128 + 18: 7(fvec3) ConstantComposite 15 16 17 + 21: TypeInt 32 1 + 22: TypeVector 21(int) 2 + 23: TypePointer Function 22(ivec2) + 25: 21(int) Constant 0 + 26: 22(ivec2) ConstantComposite 25 25 + 27: TypePointer Function 21(int) + 29: TypePointer Function 7(fvec3) + 33: TypeImage 6(float) 2D nonsampled format:Rgba32f + 34: TypePointer UniformConstant 33 + 35(rwtx): 34(ptr) Variable UniformConstant + 47: 7(fvec3) ConstantComposite 16 16 16 + 53: 6(float) Constant 0 + 54: 11(fvec4) ConstantComposite 53 53 53 53 + 57: TypePointer Output 11(fvec4) +58(@entryPointOutput): 57(ptr) Variable Output + 60: TypeImage 6(float) Buffer nonsampled format:Rgba32f + 61: TypePointer UniformConstant 60 + 62(buf): 61(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 20(tc2): 19(ptr) Variable Function - 24(tc): 23(ptr) Variable Function - 26(storeTemp): 25(ptr) Variable Function - 35(storeTemp): 25(ptr) Variable Function - 42(storeTemp): 25(ptr) Variable Function - Store 20(tc2) 22 - Store 24(tc) 21 - 27: 7(fvec3) Load 26(storeTemp) - 28: 7(fvec3) VectorShuffle 27 14 5 4 3 - Store 26(storeTemp) 28 - 32: 29 Load 31(rwtx) - 33: 18(ivec2) Load 20(tc2) - 34: 7(fvec3) Load 26(storeTemp) - ImageWrite 32 33 34 - 36: 7(fvec3) FunctionCall 9(SomeValue() - 37: 7(fvec3) Load 35(storeTemp) - 38: 7(fvec3) VectorShuffle 37 36 5 4 3 - Store 35(storeTemp) 38 - 39: 29 Load 31(rwtx) - 40: 18(ivec2) Load 20(tc2) - 41: 7(fvec3) Load 35(storeTemp) - ImageWrite 39 40 41 - 44: 7(fvec3) Load 42(storeTemp) - 45: 7(fvec3) VectorShuffle 44 43 5 4 3 - Store 42(storeTemp) 45 - 46: 29 Load 31(rwtx) - 47: 18(ivec2) Load 20(tc2) - 48: 7(fvec3) Load 42(storeTemp) - ImageWrite 46 47 48 - Store 51(@entryPointOutput) 53 + 59: 11(fvec4) FunctionCall 13(@main() + Store 58(@entryPointOutput) 59 Return FunctionEnd 9(SomeValue(): 7(fvec3) Function None 8 10: Label - ReturnValue 14 + ReturnValue 18 + FunctionEnd + 13(@main(): 11(fvec4) Function None 12 + 14: Label + 24(tc2): 23(ptr) Variable Function + 28(tc): 27(ptr) Variable Function + 30(storeTemp): 29(ptr) Variable Function + 39(storeTemp): 29(ptr) Variable Function + 46(storeTemp): 29(ptr) Variable Function + Store 24(tc2) 26 + Store 28(tc) 25 + 31: 7(fvec3) Load 30(storeTemp) + 32: 7(fvec3) VectorShuffle 31 18 5 4 3 + Store 30(storeTemp) 32 + 36: 33 Load 35(rwtx) + 37: 22(ivec2) Load 24(tc2) + 38: 7(fvec3) Load 30(storeTemp) + ImageWrite 36 37 38 + 40: 7(fvec3) FunctionCall 9(SomeValue() + 41: 7(fvec3) Load 39(storeTemp) + 42: 7(fvec3) VectorShuffle 41 40 5 4 3 + Store 39(storeTemp) 42 + 43: 33 Load 35(rwtx) + 44: 22(ivec2) Load 24(tc2) + 45: 7(fvec3) Load 39(storeTemp) + ImageWrite 43 44 45 + 48: 7(fvec3) Load 46(storeTemp) + 49: 7(fvec3) VectorShuffle 48 47 5 4 3 + Store 46(storeTemp) 49 + 50: 33 Load 35(rwtx) + 51: 22(ivec2) Load 24(tc2) + 52: 7(fvec3) Load 46(storeTemp) + ImageWrite 50 51 52 + ReturnValue 54 FunctionEnd diff --git a/Test/baseResults/hlsl.rw.vec2.bracket.frag.out b/Test/baseResults/hlsl.rw.vec2.bracket.frag.out index 7ca7e3e4..d1c1d47e 100644 --- a/Test/baseResults/hlsl.rw.vec2.bracket.frag.out +++ b/Test/baseResults/hlsl.rw.vec2.bracket.frag.out @@ -56,7 +56,7 @@ gl_FragCoord origin is upper left 0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) 0:50 Constant: 0:50 1 (const uint) -0:53 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:53 Function Definition: @main( (temp structure{temp 4-component vector of float Color}) 0:53 Function Parameters: 0:? Sequence 0:57 imageLoad (temp 2-component vector of float) @@ -819,17 +819,19 @@ gl_FragCoord origin is upper left 0:137 1.000000 0:137 1.000000 0:137 1.000000 -0:139 Sequence -0:139 Sequence -0:139 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:139 Color: direct index for structure (temp 4-component vector of float) -0:139 'psout' (temp structure{temp 4-component vector of float Color}) -0:139 Constant: -0:139 0 (const int) -0:139 Branch: Return +0:139 Branch: Return with expression +0:139 'psout' (temp structure{temp 4-component vector of float Color}) +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 4-component vector of float) +0:? '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 Function Call: @main( (temp structure{temp 4-component vector of float Color}) +0:53 Constant: +0:53 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df2' (layout(rg32f ) uniform image1D) 0:? 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) @@ -847,6 +849,7 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2di2a' (layout(rg32i ) uniform iimage2DArray) 0:? 'g_tTex2du2a' (layout(rg32ui ) uniform uimage2DArray) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) Linked fragment stage: @@ -909,7 +912,7 @@ gl_FragCoord origin is upper left 0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) 0:50 Constant: 0:50 1 (const uint) -0:53 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:53 Function Definition: @main( (temp structure{temp 4-component vector of float Color}) 0:53 Function Parameters: 0:? Sequence 0:57 imageLoad (temp 2-component vector of float) @@ -1672,17 +1675,19 @@ gl_FragCoord origin is upper left 0:137 1.000000 0:137 1.000000 0:137 1.000000 -0:139 Sequence -0:139 Sequence -0:139 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:139 Color: direct index for structure (temp 4-component vector of float) -0:139 'psout' (temp structure{temp 4-component vector of float Color}) -0:139 Constant: -0:139 0 (const int) -0:139 Branch: Return +0:139 Branch: Return with expression +0:139 'psout' (temp structure{temp 4-component vector of float Color}) +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 4-component vector of float) +0:? '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 Function Call: @main( (temp structure{temp 4-component vector of float Color}) +0:53 Constant: +0:53 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df2' (layout(rg32f ) uniform image1D) 0:? 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) @@ -1700,17 +1705,18 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2di2a' (layout(rg32i ) uniform iimage2DArray) 0:? 'g_tTex2du2a' (layout(rg32ui ) uniform uimage2DArray) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 600 +// Id's are bound by 605 Capability Shader Capability Sampled1D Capability StorageImageExtendedFormats 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 575 + EntryPoint Fragment 4 "main" 581 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 11 "Fn1(vi2;" @@ -1726,148 +1732,149 @@ gl_FragCoord origin is upper left Name 37 "Fn2(vf2;" Name 36 "x" Name 40 "SomeValue(" - Name 59 "$Global" - MemberName 59($Global) 0 "c1" - MemberName 59($Global) 1 "c2" - MemberName 59($Global) 2 "c3" - MemberName 59($Global) 3 "c4" - MemberName 59($Global) 4 "o1" - MemberName 59($Global) 5 "o2" - MemberName 59($Global) 6 "o3" - MemberName 59($Global) 7 "o4" - MemberName 59($Global) 8 "uf2" - MemberName 59($Global) 9 "ui2" - MemberName 59($Global) 10 "uu2" - Name 61 "" - Name 71 "g_tTex1df2" - Name 77 "r00" - Name 82 "r01" - Name 85 "g_tTex1di2" - Name 90 "r02" - Name 93 "g_tTex1du2" - Name 98 "r10" - Name 101 "g_tTex2df2" - Name 106 "r11" - Name 109 "g_tTex2di2" - Name 114 "r12" - Name 117 "g_tTex2du2" - Name 122 "r20" - Name 125 "g_tTex3df2" - Name 132 "r21" - Name 135 "g_tTex3di2" - Name 140 "r22" - Name 143 "g_tTex3du2" - Name 148 "lf2" - Name 153 "storeTemp" - Name 163 "storeTemp" - Name 169 "storeTemp" - Name 177 "val1" - Name 179 "coordTemp" - Name 182 "storeTemp" - Name 193 "coordTemp" - Name 196 "storeTemp" - Name 207 "coordTemp" - Name 210 "storeTemp" - Name 221 "coordTemp" - Name 224 "storeTemp" - Name 234 "coordTemp" - Name 237 "storeTemp" - Name 247 "coordTemp" - Name 250 "storeTemp" - Name 261 "coordTemp" - Name 264 "storeTemp" - Name 275 "coordTemp" - Name 278 "storeTemp" - Name 288 "coordTemp" - Name 291 "storeTemp" - Name 301 "storeTemp" - Name 311 "storeTemp" - Name 318 "storeTemp" - Name 325 "storeTemp" - Name 335 "storeTemp" - Name 342 "storeTemp" - Name 353 "param" - Name 359 "param" - Name 365 "param" - Name 367 "tempArg" - Name 368 "param" - Name 375 "tempArg" - Name 376 "param" - Name 383 "tempArg" - Name 384 "param" - Name 391 "coordTemp" - Name 394 "storeTemp" - Name 405 "coordTemp" - Name 408 "storeTemp" - Name 418 "coordTemp" - Name 421 "storeTemp" - Name 431 "coordTemp" - Name 434 "storeTemp" - Name 444 "coordTemp" - Name 447 "storeTemp" - Name 457 "coordTemp" - Name 460 "storeTemp" - Name 470 "coordTemp" - Name 473 "storeTempPre" - Name 477 "storeTempPost" - Name 485 "coordTemp" - Name 488 "storeTempPre" - Name 492 "storeTempPost" - Name 500 "coordTemp" - Name 503 "storeTempPre" - Name 507 "storeTempPost" - Name 515 "coordTemp" - Name 518 "storeTempPre" - Name 522 "storeTempPost" - Name 530 "coordTemp" - Name 533 "storeTempPre" - Name 537 "storeTempPost" - Name 545 "coordTemp" - Name 548 "storeTempPre" - Name 552 "storeTempPost" - Name 560 "storeTemp" - Name 568 "PS_OUTPUT" - MemberName 568(PS_OUTPUT) 0 "Color" - Name 570 "psout" - Name 575 "Color" - Name 581 "g_sSamp" - Name 584 "g_tTex1df2a" - Name 587 "g_tTex1di2a" - Name 590 "g_tTex1du2a" - Name 593 "g_tTex2df2a" - Name 596 "g_tTex2di2a" - Name 599 "g_tTex2du2a" - MemberDecorate 59($Global) 0 Offset 0 - MemberDecorate 59($Global) 1 Offset 8 - MemberDecorate 59($Global) 2 Offset 16 - MemberDecorate 59($Global) 3 Offset 32 - MemberDecorate 59($Global) 4 Offset 48 - MemberDecorate 59($Global) 5 Offset 56 - MemberDecorate 59($Global) 6 Offset 64 - MemberDecorate 59($Global) 7 Offset 80 - MemberDecorate 59($Global) 8 Offset 96 - MemberDecorate 59($Global) 9 Offset 104 - MemberDecorate 59($Global) 10 Offset 112 - Decorate 59($Global) Block - Decorate 61 DescriptorSet 0 - Decorate 71(g_tTex1df2) DescriptorSet 0 - Decorate 85(g_tTex1di2) DescriptorSet 0 - Decorate 93(g_tTex1du2) DescriptorSet 0 - Decorate 101(g_tTex2df2) DescriptorSet 0 - Decorate 109(g_tTex2di2) DescriptorSet 0 - Decorate 117(g_tTex2du2) DescriptorSet 0 - Decorate 125(g_tTex3df2) DescriptorSet 0 - Decorate 135(g_tTex3di2) DescriptorSet 0 - Decorate 143(g_tTex3du2) DescriptorSet 0 - Decorate 575(Color) Location 0 - Decorate 581(g_sSamp) DescriptorSet 0 - Decorate 581(g_sSamp) Binding 0 - Decorate 584(g_tTex1df2a) DescriptorSet 0 - Decorate 587(g_tTex1di2a) DescriptorSet 0 - Decorate 590(g_tTex1du2a) DescriptorSet 0 - Decorate 593(g_tTex2df2a) DescriptorSet 0 - Decorate 596(g_tTex2di2a) DescriptorSet 0 - Decorate 599(g_tTex2du2a) DescriptorSet 0 + Name 43 "PS_OUTPUT" + MemberName 43(PS_OUTPUT) 0 "Color" + Name 45 "@main(" + Name 64 "$Global" + MemberName 64($Global) 0 "c1" + MemberName 64($Global) 1 "c2" + MemberName 64($Global) 2 "c3" + MemberName 64($Global) 3 "c4" + MemberName 64($Global) 4 "o1" + MemberName 64($Global) 5 "o2" + MemberName 64($Global) 6 "o3" + MemberName 64($Global) 7 "o4" + MemberName 64($Global) 8 "uf2" + MemberName 64($Global) 9 "ui2" + MemberName 64($Global) 10 "uu2" + Name 66 "" + Name 76 "g_tTex1df2" + Name 82 "r00" + Name 87 "r01" + Name 90 "g_tTex1di2" + Name 95 "r02" + Name 98 "g_tTex1du2" + Name 103 "r10" + Name 106 "g_tTex2df2" + Name 111 "r11" + Name 114 "g_tTex2di2" + Name 119 "r12" + Name 122 "g_tTex2du2" + Name 127 "r20" + Name 130 "g_tTex3df2" + Name 137 "r21" + Name 140 "g_tTex3di2" + Name 145 "r22" + Name 148 "g_tTex3du2" + Name 153 "lf2" + Name 158 "storeTemp" + Name 168 "storeTemp" + Name 174 "storeTemp" + Name 182 "val1" + Name 184 "coordTemp" + Name 187 "storeTemp" + Name 198 "coordTemp" + Name 201 "storeTemp" + Name 212 "coordTemp" + Name 215 "storeTemp" + Name 226 "coordTemp" + Name 229 "storeTemp" + Name 239 "coordTemp" + Name 242 "storeTemp" + Name 252 "coordTemp" + Name 255 "storeTemp" + Name 266 "coordTemp" + Name 269 "storeTemp" + Name 280 "coordTemp" + Name 283 "storeTemp" + Name 293 "coordTemp" + Name 296 "storeTemp" + Name 306 "storeTemp" + Name 316 "storeTemp" + Name 323 "storeTemp" + Name 330 "storeTemp" + Name 340 "storeTemp" + Name 347 "storeTemp" + Name 358 "param" + Name 364 "param" + Name 370 "param" + Name 372 "tempArg" + Name 373 "param" + Name 380 "tempArg" + Name 381 "param" + Name 388 "tempArg" + Name 389 "param" + Name 396 "coordTemp" + Name 399 "storeTemp" + Name 410 "coordTemp" + Name 413 "storeTemp" + Name 423 "coordTemp" + Name 426 "storeTemp" + Name 436 "coordTemp" + Name 439 "storeTemp" + Name 449 "coordTemp" + Name 452 "storeTemp" + Name 462 "coordTemp" + Name 465 "storeTemp" + Name 475 "coordTemp" + Name 478 "storeTempPre" + Name 482 "storeTempPost" + Name 490 "coordTemp" + Name 493 "storeTempPre" + Name 497 "storeTempPost" + Name 505 "coordTemp" + Name 508 "storeTempPre" + Name 512 "storeTempPost" + Name 520 "coordTemp" + Name 523 "storeTempPre" + Name 527 "storeTempPost" + Name 535 "coordTemp" + Name 538 "storeTempPre" + Name 542 "storeTempPost" + Name 550 "coordTemp" + Name 553 "storeTempPre" + Name 557 "storeTempPost" + Name 565 "storeTemp" + Name 573 "psout" + Name 581 "Color" + Name 586 "g_sSamp" + Name 589 "g_tTex1df2a" + Name 592 "g_tTex1di2a" + Name 595 "g_tTex1du2a" + Name 598 "g_tTex2df2a" + Name 601 "g_tTex2di2a" + Name 604 "g_tTex2du2a" + MemberDecorate 64($Global) 0 Offset 0 + MemberDecorate 64($Global) 1 Offset 8 + MemberDecorate 64($Global) 2 Offset 16 + MemberDecorate 64($Global) 3 Offset 32 + MemberDecorate 64($Global) 4 Offset 48 + MemberDecorate 64($Global) 5 Offset 56 + MemberDecorate 64($Global) 6 Offset 64 + MemberDecorate 64($Global) 7 Offset 80 + MemberDecorate 64($Global) 8 Offset 96 + MemberDecorate 64($Global) 9 Offset 104 + MemberDecorate 64($Global) 10 Offset 112 + Decorate 64($Global) Block + Decorate 66 DescriptorSet 0 + Decorate 76(g_tTex1df2) DescriptorSet 0 + Decorate 90(g_tTex1di2) DescriptorSet 0 + Decorate 98(g_tTex1du2) DescriptorSet 0 + Decorate 106(g_tTex2df2) DescriptorSet 0 + Decorate 114(g_tTex2di2) DescriptorSet 0 + Decorate 122(g_tTex2du2) DescriptorSet 0 + Decorate 130(g_tTex3df2) DescriptorSet 0 + Decorate 140(g_tTex3di2) DescriptorSet 0 + Decorate 148(g_tTex3du2) DescriptorSet 0 + Decorate 581(Color) Location 0 + Decorate 586(g_sSamp) DescriptorSet 0 + Decorate 586(g_sSamp) Binding 0 + Decorate 589(g_tTex1df2a) DescriptorSet 0 + Decorate 592(g_tTex1di2a) DescriptorSet 0 + Decorate 595(g_tTex1du2a) DescriptorSet 0 + Decorate 598(g_tTex2df2a) DescriptorSet 0 + Decorate 601(g_tTex2di2a) DescriptorSet 0 + Decorate 604(g_tTex2du2a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 @@ -1886,728 +1893,734 @@ gl_FragCoord origin is upper left 31: TypeFunction 2 15(ptr) 35: TypeFunction 2 22(ptr) 39: TypeFunction 21(fvec2) - 51: 6(int) Constant 0 - 52: 7(ivec2) ConstantComposite 51 51 - 53: 13(int) Constant 0 - 54: 14(ivec2) ConstantComposite 53 53 - 55: 20(float) Constant 0 - 56: 21(fvec2) ConstantComposite 55 55 - 57: TypeVector 6(int) 3 - 58: TypeVector 6(int) 4 - 59($Global): TypeStruct 6(int) 7(ivec2) 57(ivec3) 58(ivec4) 6(int) 7(ivec2) 57(ivec3) 58(ivec4) 21(fvec2) 7(ivec2) 14(ivec2) - 60: TypePointer Uniform 59($Global) - 61: 60(ptr) Variable Uniform - 62: 6(int) Constant 1 - 63: TypePointer Uniform 7(ivec2) - 69: TypeImage 20(float) 1D nonsampled format:Rg32f - 70: TypePointer UniformConstant 69 - 71(g_tTex1df2): 70(ptr) Variable UniformConstant - 73: TypePointer Uniform 6(int) - 83: TypeImage 6(int) 1D nonsampled format:Rg32i - 84: TypePointer UniformConstant 83 - 85(g_tTex1di2): 84(ptr) Variable UniformConstant - 91: TypeImage 13(int) 1D nonsampled format:Rg32ui - 92: TypePointer UniformConstant 91 - 93(g_tTex1du2): 92(ptr) Variable UniformConstant - 99: TypeImage 20(float) 2D nonsampled format:Rg32f - 100: TypePointer UniformConstant 99 - 101(g_tTex2df2): 100(ptr) Variable UniformConstant - 107: TypeImage 6(int) 2D nonsampled format:Rg32i - 108: TypePointer UniformConstant 107 - 109(g_tTex2di2): 108(ptr) Variable UniformConstant - 115: TypeImage 13(int) 2D nonsampled format:Rg32ui - 116: TypePointer UniformConstant 115 - 117(g_tTex2du2): 116(ptr) Variable UniformConstant - 123: TypeImage 20(float) 3D nonsampled format:Rg32f - 124: TypePointer UniformConstant 123 - 125(g_tTex3df2): 124(ptr) Variable UniformConstant - 127: 6(int) Constant 2 - 128: TypePointer Uniform 57(ivec3) - 133: TypeImage 6(int) 3D nonsampled format:Rg32i - 134: TypePointer UniformConstant 133 - 135(g_tTex3di2): 134(ptr) Variable UniformConstant - 141: TypeImage 13(int) 3D nonsampled format:Rg32ui - 142: TypePointer UniformConstant 141 - 143(g_tTex3du2): 142(ptr) Variable UniformConstant - 149: 6(int) Constant 8 - 150: TypePointer Uniform 21(fvec2) - 164: 7(ivec2) ConstantComposite 127 127 - 170: 13(int) Constant 3 - 171: 13(int) Constant 2 - 172: 14(ivec2) ConstantComposite 170 171 - 178: TypePointer Function 6(int) - 186: 20(float) Constant 1073741824 - 200: 20(float) Constant 1077936128 - 214: 20(float) Constant 1082130432 - 254: 6(int) Constant 65535 - 268: 6(int) Constant 61680 - 312: 6(int) Constant 5 - 313: 7(ivec2) ConstantComposite 312 127 - 319: 13(int) Constant 6 - 320: 14(ivec2) ConstantComposite 319 171 - 336: 6(int) Constant 6 - 337: 7(ivec2) ConstantComposite 149 336 - 343: 13(int) Constant 9 - 344: 14(ivec2) ConstantComposite 343 171 - 399: 20(float) Constant 1065353216 - 562: 6(int) Constant 3 - 563: 7(ivec2) ConstantComposite 127 562 - 567: TypeVector 20(float) 4 - 568(PS_OUTPUT): TypeStruct 567(fvec4) - 569: TypePointer Function 568(PS_OUTPUT) - 571: 567(fvec4) ConstantComposite 399 399 399 399 - 572: TypePointer Function 567(fvec4) - 574: TypePointer Output 567(fvec4) - 575(Color): 574(ptr) Variable Output - 579: TypeSampler - 580: TypePointer UniformConstant 579 - 581(g_sSamp): 580(ptr) Variable UniformConstant - 582: TypeImage 20(float) 1D array nonsampled format:Rg32f - 583: TypePointer UniformConstant 582 -584(g_tTex1df2a): 583(ptr) Variable UniformConstant - 585: TypeImage 6(int) 1D array nonsampled format:Rg32i - 586: TypePointer UniformConstant 585 -587(g_tTex1di2a): 586(ptr) Variable UniformConstant - 588: TypeImage 13(int) 1D array nonsampled format:Rg32ui - 589: TypePointer UniformConstant 588 -590(g_tTex1du2a): 589(ptr) Variable UniformConstant - 591: TypeImage 20(float) 2D array nonsampled format:Rg32f - 592: TypePointer UniformConstant 591 -593(g_tTex2df2a): 592(ptr) Variable UniformConstant - 594: TypeImage 6(int) 2D array nonsampled format:Rg32i - 595: TypePointer UniformConstant 594 -596(g_tTex2di2a): 595(ptr) Variable UniformConstant - 597: TypeImage 13(int) 2D array nonsampled format:Rg32ui - 598: TypePointer UniformConstant 597 -599(g_tTex2du2a): 598(ptr) Variable UniformConstant + 42: TypeVector 20(float) 4 + 43(PS_OUTPUT): TypeStruct 42(fvec4) + 44: TypeFunction 43(PS_OUTPUT) + 56: 6(int) Constant 0 + 57: 7(ivec2) ConstantComposite 56 56 + 58: 13(int) Constant 0 + 59: 14(ivec2) ConstantComposite 58 58 + 60: 20(float) Constant 0 + 61: 21(fvec2) ConstantComposite 60 60 + 62: TypeVector 6(int) 3 + 63: TypeVector 6(int) 4 + 64($Global): TypeStruct 6(int) 7(ivec2) 62(ivec3) 63(ivec4) 6(int) 7(ivec2) 62(ivec3) 63(ivec4) 21(fvec2) 7(ivec2) 14(ivec2) + 65: TypePointer Uniform 64($Global) + 66: 65(ptr) Variable Uniform + 67: 6(int) Constant 1 + 68: TypePointer Uniform 7(ivec2) + 74: TypeImage 20(float) 1D nonsampled format:Rg32f + 75: TypePointer UniformConstant 74 + 76(g_tTex1df2): 75(ptr) Variable UniformConstant + 78: TypePointer Uniform 6(int) + 88: TypeImage 6(int) 1D nonsampled format:Rg32i + 89: TypePointer UniformConstant 88 + 90(g_tTex1di2): 89(ptr) Variable UniformConstant + 96: TypeImage 13(int) 1D nonsampled format:Rg32ui + 97: TypePointer UniformConstant 96 + 98(g_tTex1du2): 97(ptr) Variable UniformConstant + 104: TypeImage 20(float) 2D nonsampled format:Rg32f + 105: TypePointer UniformConstant 104 + 106(g_tTex2df2): 105(ptr) Variable UniformConstant + 112: TypeImage 6(int) 2D nonsampled format:Rg32i + 113: TypePointer UniformConstant 112 + 114(g_tTex2di2): 113(ptr) Variable UniformConstant + 120: TypeImage 13(int) 2D nonsampled format:Rg32ui + 121: TypePointer UniformConstant 120 + 122(g_tTex2du2): 121(ptr) Variable UniformConstant + 128: TypeImage 20(float) 3D nonsampled format:Rg32f + 129: TypePointer UniformConstant 128 + 130(g_tTex3df2): 129(ptr) Variable UniformConstant + 132: 6(int) Constant 2 + 133: TypePointer Uniform 62(ivec3) + 138: TypeImage 6(int) 3D nonsampled format:Rg32i + 139: TypePointer UniformConstant 138 + 140(g_tTex3di2): 139(ptr) Variable UniformConstant + 146: TypeImage 13(int) 3D nonsampled format:Rg32ui + 147: TypePointer UniformConstant 146 + 148(g_tTex3du2): 147(ptr) Variable UniformConstant + 154: 6(int) Constant 8 + 155: TypePointer Uniform 21(fvec2) + 169: 7(ivec2) ConstantComposite 132 132 + 175: 13(int) Constant 3 + 176: 13(int) Constant 2 + 177: 14(ivec2) ConstantComposite 175 176 + 183: TypePointer Function 6(int) + 191: 20(float) Constant 1073741824 + 205: 20(float) Constant 1077936128 + 219: 20(float) Constant 1082130432 + 259: 6(int) Constant 65535 + 273: 6(int) Constant 61680 + 317: 6(int) Constant 5 + 318: 7(ivec2) ConstantComposite 317 132 + 324: 13(int) Constant 6 + 325: 14(ivec2) ConstantComposite 324 176 + 341: 6(int) Constant 6 + 342: 7(ivec2) ConstantComposite 154 341 + 348: 13(int) Constant 9 + 349: 14(ivec2) ConstantComposite 348 176 + 404: 20(float) Constant 1065353216 + 567: 6(int) Constant 3 + 568: 7(ivec2) ConstantComposite 132 567 + 572: TypePointer Function 43(PS_OUTPUT) + 574: 42(fvec4) ConstantComposite 404 404 404 404 + 575: TypePointer Function 42(fvec4) + 580: TypePointer Output 42(fvec4) + 581(Color): 580(ptr) Variable Output + 584: TypeSampler + 585: TypePointer UniformConstant 584 + 586(g_sSamp): 585(ptr) Variable UniformConstant + 587: TypeImage 20(float) 1D array nonsampled format:Rg32f + 588: TypePointer UniformConstant 587 +589(g_tTex1df2a): 588(ptr) Variable UniformConstant + 590: TypeImage 6(int) 1D array nonsampled format:Rg32i + 591: TypePointer UniformConstant 590 +592(g_tTex1di2a): 591(ptr) Variable UniformConstant + 593: TypeImage 13(int) 1D array nonsampled format:Rg32ui + 594: TypePointer UniformConstant 593 +595(g_tTex1du2a): 594(ptr) Variable UniformConstant + 596: TypeImage 20(float) 2D array nonsampled format:Rg32f + 597: TypePointer UniformConstant 596 +598(g_tTex2df2a): 597(ptr) Variable UniformConstant + 599: TypeImage 6(int) 2D array nonsampled format:Rg32i + 600: TypePointer UniformConstant 599 +601(g_tTex2di2a): 600(ptr) Variable UniformConstant + 602: TypeImage 13(int) 2D array nonsampled format:Rg32ui + 603: TypePointer UniformConstant 602 +604(g_tTex2du2a): 603(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 77(r00): 22(ptr) Variable Function - 82(r01): 8(ptr) Variable Function - 90(r02): 15(ptr) Variable Function - 98(r10): 22(ptr) Variable Function - 106(r11): 8(ptr) Variable Function - 114(r12): 15(ptr) Variable Function - 122(r20): 22(ptr) Variable Function - 132(r21): 8(ptr) Variable Function - 140(r22): 15(ptr) Variable Function - 148(lf2): 22(ptr) Variable Function - 153(storeTemp): 22(ptr) Variable Function - 163(storeTemp): 8(ptr) Variable Function - 169(storeTemp): 15(ptr) Variable Function - 177(val1): 22(ptr) Variable Function - 179(coordTemp): 178(ptr) Variable Function - 182(storeTemp): 22(ptr) Variable Function - 193(coordTemp): 178(ptr) Variable Function - 196(storeTemp): 22(ptr) Variable Function - 207(coordTemp): 178(ptr) Variable Function - 210(storeTemp): 22(ptr) Variable Function - 221(coordTemp): 178(ptr) Variable Function - 224(storeTemp): 8(ptr) Variable Function - 234(coordTemp): 178(ptr) Variable Function - 237(storeTemp): 8(ptr) Variable Function - 247(coordTemp): 178(ptr) Variable Function - 250(storeTemp): 8(ptr) Variable Function - 261(coordTemp): 178(ptr) Variable Function - 264(storeTemp): 8(ptr) Variable Function - 275(coordTemp): 178(ptr) Variable Function - 278(storeTemp): 8(ptr) Variable Function - 288(coordTemp): 178(ptr) Variable Function - 291(storeTemp): 8(ptr) Variable Function - 301(storeTemp): 22(ptr) Variable Function - 311(storeTemp): 8(ptr) Variable Function - 318(storeTemp): 15(ptr) Variable Function - 325(storeTemp): 22(ptr) Variable Function - 335(storeTemp): 8(ptr) Variable Function - 342(storeTemp): 15(ptr) Variable Function - 353(param): 22(ptr) Variable Function - 359(param): 8(ptr) Variable Function - 365(param): 15(ptr) Variable Function - 367(tempArg): 22(ptr) Variable Function - 368(param): 22(ptr) Variable Function - 375(tempArg): 8(ptr) Variable Function - 376(param): 8(ptr) Variable Function - 383(tempArg): 15(ptr) Variable Function - 384(param): 15(ptr) Variable Function - 391(coordTemp): 178(ptr) Variable Function - 394(storeTemp): 22(ptr) Variable Function - 405(coordTemp): 178(ptr) Variable Function - 408(storeTemp): 8(ptr) Variable Function - 418(coordTemp): 178(ptr) Variable Function - 421(storeTemp): 15(ptr) Variable Function - 431(coordTemp): 178(ptr) Variable Function - 434(storeTemp): 22(ptr) Variable Function - 444(coordTemp): 178(ptr) Variable Function - 447(storeTemp): 8(ptr) Variable Function - 457(coordTemp): 178(ptr) Variable Function - 460(storeTemp): 15(ptr) Variable Function - 470(coordTemp): 178(ptr) Variable Function -473(storeTempPre): 22(ptr) Variable Function -477(storeTempPost): 22(ptr) Variable Function - 485(coordTemp): 178(ptr) Variable Function -488(storeTempPre): 15(ptr) Variable Function -492(storeTempPost): 15(ptr) Variable Function - 500(coordTemp): 178(ptr) Variable Function -503(storeTempPre): 8(ptr) Variable Function -507(storeTempPost): 8(ptr) Variable Function - 515(coordTemp): 178(ptr) Variable Function -518(storeTempPre): 22(ptr) Variable Function -522(storeTempPost): 22(ptr) Variable Function - 530(coordTemp): 178(ptr) Variable Function -533(storeTempPre): 8(ptr) Variable Function -537(storeTempPost): 8(ptr) Variable Function - 545(coordTemp): 178(ptr) Variable Function -548(storeTempPre): 15(ptr) Variable Function -552(storeTempPost): 15(ptr) Variable Function - 560(storeTemp): 22(ptr) Variable Function - 570(psout): 569(ptr) Variable Function - 72: 69 Load 71(g_tTex1df2) - 74: 73(ptr) AccessChain 61 51 - 75: 6(int) Load 74 - 76: 21(fvec2) ImageRead 72 75 - 78: 69 Load 71(g_tTex1df2) - 79: 73(ptr) AccessChain 61 51 - 80: 6(int) Load 79 - 81: 21(fvec2) ImageRead 78 80 - Store 77(r00) 81 - 86: 83 Load 85(g_tTex1di2) - 87: 73(ptr) AccessChain 61 51 - 88: 6(int) Load 87 - 89: 7(ivec2) ImageRead 86 88 - Store 82(r01) 89 - 94: 91 Load 93(g_tTex1du2) - 95: 73(ptr) AccessChain 61 51 - 96: 6(int) Load 95 - 97: 14(ivec2) ImageRead 94 96 - Store 90(r02) 97 - 102: 99 Load 101(g_tTex2df2) - 103: 63(ptr) AccessChain 61 62 - 104: 7(ivec2) Load 103 - 105: 21(fvec2) ImageRead 102 104 - Store 98(r10) 105 - 110: 107 Load 109(g_tTex2di2) - 111: 63(ptr) AccessChain 61 62 - 112: 7(ivec2) Load 111 - 113: 7(ivec2) ImageRead 110 112 - Store 106(r11) 113 - 118: 115 Load 117(g_tTex2du2) - 119: 63(ptr) AccessChain 61 62 - 120: 7(ivec2) Load 119 - 121: 14(ivec2) ImageRead 118 120 - Store 114(r12) 121 - 126: 123 Load 125(g_tTex3df2) - 129: 128(ptr) AccessChain 61 127 - 130: 57(ivec3) Load 129 - 131: 21(fvec2) ImageRead 126 130 - Store 122(r20) 131 - 136: 133 Load 135(g_tTex3di2) - 137: 128(ptr) AccessChain 61 127 - 138: 57(ivec3) Load 137 - 139: 7(ivec2) ImageRead 136 138 - Store 132(r21) 139 - 144: 141 Load 143(g_tTex3du2) - 145: 128(ptr) AccessChain 61 127 - 146: 57(ivec3) Load 145 - 147: 14(ivec2) ImageRead 144 146 - Store 140(r22) 147 - 151: 150(ptr) AccessChain 61 149 - 152: 21(fvec2) Load 151 - Store 148(lf2) 152 - 154: 21(fvec2) FunctionCall 40(SomeValue() - Store 153(storeTemp) 154 - 155: 69 Load 71(g_tTex1df2) - 156: 73(ptr) AccessChain 61 51 - 157: 6(int) Load 156 - 158: 21(fvec2) Load 153(storeTemp) - ImageWrite 155 157 158 - 159: 69 Load 71(g_tTex1df2) - 160: 73(ptr) AccessChain 61 51 - 161: 6(int) Load 160 - 162: 21(fvec2) Load 148(lf2) - ImageWrite 159 161 162 - Store 163(storeTemp) 164 - 165: 83 Load 85(g_tTex1di2) - 166: 73(ptr) AccessChain 61 51 - 167: 6(int) Load 166 - 168: 7(ivec2) Load 163(storeTemp) - ImageWrite 165 167 168 - Store 169(storeTemp) 172 - 173: 91 Load 93(g_tTex1du2) - 174: 73(ptr) AccessChain 61 51 - 175: 6(int) Load 174 - 176: 14(ivec2) Load 169(storeTemp) - ImageWrite 173 175 176 - 180: 73(ptr) AccessChain 61 51 - 181: 6(int) Load 180 - Store 179(coordTemp) 181 - 183: 69 Load 71(g_tTex1df2) - 184: 6(int) Load 179(coordTemp) - 185: 21(fvec2) ImageRead 183 184 - Store 182(storeTemp) 185 - 187: 21(fvec2) Load 182(storeTemp) - 188: 21(fvec2) VectorTimesScalar 187 186 - Store 182(storeTemp) 188 - 189: 69 Load 71(g_tTex1df2) - 190: 6(int) Load 179(coordTemp) - 191: 21(fvec2) Load 182(storeTemp) - ImageWrite 189 190 191 - 192: 21(fvec2) Load 182(storeTemp) - Store 177(val1) 192 - 194: 73(ptr) AccessChain 61 51 - 195: 6(int) Load 194 - Store 193(coordTemp) 195 - 197: 69 Load 71(g_tTex1df2) - 198: 6(int) Load 193(coordTemp) - 199: 21(fvec2) ImageRead 197 198 - Store 196(storeTemp) 199 - 201: 21(fvec2) Load 196(storeTemp) - 202: 21(fvec2) CompositeConstruct 200 200 - 203: 21(fvec2) FSub 201 202 - Store 196(storeTemp) 203 - 204: 69 Load 71(g_tTex1df2) - 205: 6(int) Load 193(coordTemp) - 206: 21(fvec2) Load 196(storeTemp) - ImageWrite 204 205 206 - 208: 73(ptr) AccessChain 61 51 - 209: 6(int) Load 208 - Store 207(coordTemp) 209 - 211: 69 Load 71(g_tTex1df2) - 212: 6(int) Load 207(coordTemp) - 213: 21(fvec2) ImageRead 211 212 - Store 210(storeTemp) 213 - 215: 21(fvec2) Load 210(storeTemp) - 216: 21(fvec2) CompositeConstruct 214 214 - 217: 21(fvec2) FAdd 215 216 - Store 210(storeTemp) 217 - 218: 69 Load 71(g_tTex1df2) - 219: 6(int) Load 207(coordTemp) - 220: 21(fvec2) Load 210(storeTemp) - ImageWrite 218 219 220 - 222: 73(ptr) AccessChain 61 51 - 223: 6(int) Load 222 - Store 221(coordTemp) 223 - 225: 83 Load 85(g_tTex1di2) - 226: 6(int) Load 221(coordTemp) - 227: 7(ivec2) ImageRead 225 226 - Store 224(storeTemp) 227 - 228: 7(ivec2) Load 224(storeTemp) - 229: 7(ivec2) CompositeConstruct 127 127 - 230: 7(ivec2) SDiv 228 229 - Store 224(storeTemp) 230 - 231: 83 Load 85(g_tTex1di2) - 232: 6(int) Load 221(coordTemp) - 233: 7(ivec2) Load 224(storeTemp) - ImageWrite 231 232 233 - 235: 73(ptr) AccessChain 61 51 - 236: 6(int) Load 235 - Store 234(coordTemp) 236 - 238: 83 Load 85(g_tTex1di2) - 239: 6(int) Load 234(coordTemp) - 240: 7(ivec2) ImageRead 238 239 - Store 237(storeTemp) 240 - 241: 7(ivec2) Load 237(storeTemp) - 242: 7(ivec2) CompositeConstruct 127 127 - 243: 7(ivec2) SMod 241 242 - Store 237(storeTemp) 243 - 244: 83 Load 85(g_tTex1di2) - 245: 6(int) Load 234(coordTemp) - 246: 7(ivec2) Load 237(storeTemp) - ImageWrite 244 245 246 - 248: 73(ptr) AccessChain 61 51 - 249: 6(int) Load 248 - Store 247(coordTemp) 249 - 251: 83 Load 85(g_tTex1di2) - 252: 6(int) Load 247(coordTemp) - 253: 7(ivec2) ImageRead 251 252 - Store 250(storeTemp) 253 - 255: 7(ivec2) Load 250(storeTemp) - 256: 7(ivec2) CompositeConstruct 254 254 - 257: 7(ivec2) BitwiseAnd 255 256 - Store 250(storeTemp) 257 - 258: 83 Load 85(g_tTex1di2) - 259: 6(int) Load 247(coordTemp) - 260: 7(ivec2) Load 250(storeTemp) - ImageWrite 258 259 260 - 262: 73(ptr) AccessChain 61 51 - 263: 6(int) Load 262 - Store 261(coordTemp) 263 - 265: 83 Load 85(g_tTex1di2) - 266: 6(int) Load 261(coordTemp) - 267: 7(ivec2) ImageRead 265 266 - Store 264(storeTemp) 267 - 269: 7(ivec2) Load 264(storeTemp) - 270: 7(ivec2) CompositeConstruct 268 268 - 271: 7(ivec2) BitwiseOr 269 270 - Store 264(storeTemp) 271 - 272: 83 Load 85(g_tTex1di2) - 273: 6(int) Load 261(coordTemp) - 274: 7(ivec2) Load 264(storeTemp) - ImageWrite 272 273 274 - 276: 73(ptr) AccessChain 61 51 - 277: 6(int) Load 276 - Store 275(coordTemp) 277 - 279: 83 Load 85(g_tTex1di2) - 280: 6(int) Load 275(coordTemp) - 281: 7(ivec2) ImageRead 279 280 - Store 278(storeTemp) 281 - 282: 7(ivec2) Load 278(storeTemp) - 283: 7(ivec2) CompositeConstruct 127 127 - 284: 7(ivec2) ShiftLeftLogical 282 283 - Store 278(storeTemp) 284 - 285: 83 Load 85(g_tTex1di2) - 286: 6(int) Load 275(coordTemp) - 287: 7(ivec2) Load 278(storeTemp) - ImageWrite 285 286 287 - 289: 73(ptr) AccessChain 61 51 - 290: 6(int) Load 289 - Store 288(coordTemp) 290 - 292: 83 Load 85(g_tTex1di2) - 293: 6(int) Load 288(coordTemp) - 294: 7(ivec2) ImageRead 292 293 - Store 291(storeTemp) 294 - 295: 7(ivec2) Load 291(storeTemp) - 296: 7(ivec2) CompositeConstruct 127 127 - 297: 7(ivec2) ShiftRightArithmetic 295 296 - Store 291(storeTemp) 297 - 298: 83 Load 85(g_tTex1di2) - 299: 6(int) Load 288(coordTemp) - 300: 7(ivec2) Load 291(storeTemp) - ImageWrite 298 299 300 - 302: 21(fvec2) FunctionCall 40(SomeValue() - Store 301(storeTemp) 302 - 303: 99 Load 101(g_tTex2df2) - 304: 63(ptr) AccessChain 61 62 - 305: 7(ivec2) Load 304 - 306: 21(fvec2) Load 301(storeTemp) - ImageWrite 303 305 306 - 307: 99 Load 101(g_tTex2df2) - 308: 63(ptr) AccessChain 61 62 - 309: 7(ivec2) Load 308 - 310: 21(fvec2) Load 148(lf2) - ImageWrite 307 309 310 - Store 311(storeTemp) 313 - 314: 107 Load 109(g_tTex2di2) - 315: 63(ptr) AccessChain 61 62 - 316: 7(ivec2) Load 315 - 317: 7(ivec2) Load 311(storeTemp) - ImageWrite 314 316 317 - Store 318(storeTemp) 320 - 321: 115 Load 117(g_tTex2du2) - 322: 63(ptr) AccessChain 61 62 - 323: 7(ivec2) Load 322 - 324: 14(ivec2) Load 318(storeTemp) - ImageWrite 321 323 324 - 326: 21(fvec2) FunctionCall 40(SomeValue() - Store 325(storeTemp) 326 - 327: 123 Load 125(g_tTex3df2) - 328: 128(ptr) AccessChain 61 127 - 329: 57(ivec3) Load 328 - 330: 21(fvec2) Load 325(storeTemp) - ImageWrite 327 329 330 - 331: 123 Load 125(g_tTex3df2) - 332: 128(ptr) AccessChain 61 127 - 333: 57(ivec3) Load 332 - 334: 21(fvec2) Load 148(lf2) - ImageWrite 331 333 334 - Store 335(storeTemp) 337 - 338: 133 Load 135(g_tTex3di2) - 339: 128(ptr) AccessChain 61 127 - 340: 57(ivec3) Load 339 - 341: 7(ivec2) Load 335(storeTemp) - ImageWrite 338 340 341 - Store 342(storeTemp) 344 - 345: 141 Load 143(g_tTex3du2) - 346: 128(ptr) AccessChain 61 127 - 347: 57(ivec3) Load 346 - 348: 14(ivec2) Load 342(storeTemp) - ImageWrite 345 347 348 - 349: 69 Load 71(g_tTex1df2) - 350: 73(ptr) AccessChain 61 51 - 351: 6(int) Load 350 - 352: 21(fvec2) ImageRead 349 351 - Store 353(param) 352 - 354: 21(fvec2) FunctionCall 25(Fn1(vf2;) 353(param) - 355: 83 Load 85(g_tTex1di2) - 356: 73(ptr) AccessChain 61 51 - 357: 6(int) Load 356 - 358: 7(ivec2) ImageRead 355 357 - Store 359(param) 358 - 360: 7(ivec2) FunctionCall 11(Fn1(vi2;) 359(param) - 361: 91 Load 93(g_tTex1du2) - 362: 73(ptr) AccessChain 61 51 - 363: 6(int) Load 362 - 364: 14(ivec2) ImageRead 361 363 - Store 365(param) 364 - 366: 14(ivec2) FunctionCall 18(Fn1(vu2;) 365(param) - 369: 2 FunctionCall 37(Fn2(vf2;) 368(param) - 370: 21(fvec2) Load 368(param) - Store 367(tempArg) 370 - 371: 69 Load 71(g_tTex1df2) - 372: 73(ptr) AccessChain 61 51 - 373: 6(int) Load 372 - 374: 21(fvec2) Load 367(tempArg) - ImageWrite 371 373 374 - 377: 2 FunctionCall 29(Fn2(vi2;) 376(param) - 378: 7(ivec2) Load 376(param) - Store 375(tempArg) 378 - 379: 83 Load 85(g_tTex1di2) - 380: 73(ptr) AccessChain 61 51 - 381: 6(int) Load 380 - 382: 7(ivec2) Load 375(tempArg) - ImageWrite 379 381 382 - 385: 2 FunctionCall 33(Fn2(vu2;) 384(param) - 386: 14(ivec2) Load 384(param) - Store 383(tempArg) 386 - 387: 91 Load 93(g_tTex1du2) - 388: 73(ptr) AccessChain 61 51 - 389: 6(int) Load 388 - 390: 14(ivec2) Load 383(tempArg) - ImageWrite 387 389 390 - 392: 73(ptr) AccessChain 61 51 - 393: 6(int) Load 392 - Store 391(coordTemp) 393 - 395: 69 Load 71(g_tTex1df2) - 396: 6(int) Load 391(coordTemp) - 397: 21(fvec2) ImageRead 395 396 - Store 394(storeTemp) 397 - 398: 21(fvec2) Load 394(storeTemp) - 400: 21(fvec2) CompositeConstruct 399 399 - 401: 21(fvec2) FAdd 398 400 - Store 394(storeTemp) 401 - 402: 69 Load 71(g_tTex1df2) - 403: 6(int) Load 391(coordTemp) - 404: 21(fvec2) Load 394(storeTemp) - ImageWrite 402 403 404 - 406: 73(ptr) AccessChain 61 51 - 407: 6(int) Load 406 - Store 405(coordTemp) 407 - 409: 83 Load 85(g_tTex1di2) - 410: 6(int) Load 405(coordTemp) - 411: 7(ivec2) ImageRead 409 410 - Store 408(storeTemp) 411 - 412: 7(ivec2) Load 408(storeTemp) - 413: 7(ivec2) CompositeConstruct 62 62 - 414: 7(ivec2) IAdd 412 413 - Store 408(storeTemp) 414 - 415: 83 Load 85(g_tTex1di2) - 416: 6(int) Load 405(coordTemp) - 417: 7(ivec2) Load 408(storeTemp) - ImageWrite 415 416 417 - 419: 73(ptr) AccessChain 61 51 - 420: 6(int) Load 419 - Store 418(coordTemp) 420 - 422: 91 Load 93(g_tTex1du2) - 423: 6(int) Load 418(coordTemp) - 424: 14(ivec2) ImageRead 422 423 - Store 421(storeTemp) 424 - 425: 14(ivec2) Load 421(storeTemp) - 426: 7(ivec2) CompositeConstruct 62 62 - 427: 14(ivec2) IAdd 425 426 - Store 421(storeTemp) 427 - 428: 91 Load 93(g_tTex1du2) - 429: 6(int) Load 418(coordTemp) - 430: 14(ivec2) Load 421(storeTemp) - ImageWrite 428 429 430 - 432: 73(ptr) AccessChain 61 51 - 433: 6(int) Load 432 - Store 431(coordTemp) 433 - 435: 69 Load 71(g_tTex1df2) - 436: 6(int) Load 431(coordTemp) - 437: 21(fvec2) ImageRead 435 436 - Store 434(storeTemp) 437 - 438: 21(fvec2) Load 434(storeTemp) - 439: 21(fvec2) CompositeConstruct 399 399 - 440: 21(fvec2) FSub 438 439 - Store 434(storeTemp) 440 - 441: 69 Load 71(g_tTex1df2) - 442: 6(int) Load 431(coordTemp) - 443: 21(fvec2) Load 434(storeTemp) - ImageWrite 441 442 443 - 445: 73(ptr) AccessChain 61 51 - 446: 6(int) Load 445 - Store 444(coordTemp) 446 - 448: 83 Load 85(g_tTex1di2) - 449: 6(int) Load 444(coordTemp) - 450: 7(ivec2) ImageRead 448 449 - Store 447(storeTemp) 450 - 451: 7(ivec2) Load 447(storeTemp) - 452: 7(ivec2) CompositeConstruct 62 62 - 453: 7(ivec2) ISub 451 452 - Store 447(storeTemp) 453 - 454: 83 Load 85(g_tTex1di2) - 455: 6(int) Load 444(coordTemp) - 456: 7(ivec2) Load 447(storeTemp) - ImageWrite 454 455 456 - 458: 73(ptr) AccessChain 61 51 - 459: 6(int) Load 458 - Store 457(coordTemp) 459 - 461: 91 Load 93(g_tTex1du2) - 462: 6(int) Load 457(coordTemp) - 463: 14(ivec2) ImageRead 461 462 - Store 460(storeTemp) 463 - 464: 14(ivec2) Load 460(storeTemp) - 465: 7(ivec2) CompositeConstruct 62 62 - 466: 14(ivec2) ISub 464 465 - Store 460(storeTemp) 466 - 467: 91 Load 93(g_tTex1du2) - 468: 6(int) Load 457(coordTemp) - 469: 14(ivec2) Load 460(storeTemp) - ImageWrite 467 468 469 - 471: 73(ptr) AccessChain 61 51 - 472: 6(int) Load 471 - Store 470(coordTemp) 472 - 474: 69 Load 71(g_tTex1df2) - 475: 6(int) Load 470(coordTemp) - 476: 21(fvec2) ImageRead 474 475 - Store 473(storeTempPre) 476 - 478: 21(fvec2) Load 473(storeTempPre) - Store 477(storeTempPost) 478 - 479: 21(fvec2) Load 477(storeTempPost) - 480: 21(fvec2) CompositeConstruct 399 399 - 481: 21(fvec2) FAdd 479 480 - Store 477(storeTempPost) 481 - 482: 69 Load 71(g_tTex1df2) - 483: 6(int) Load 470(coordTemp) - 484: 21(fvec2) Load 477(storeTempPost) - ImageWrite 482 483 484 - 486: 73(ptr) AccessChain 61 51 - 487: 6(int) Load 486 - Store 485(coordTemp) 487 - 489: 91 Load 93(g_tTex1du2) - 490: 6(int) Load 485(coordTemp) - 491: 14(ivec2) ImageRead 489 490 - Store 488(storeTempPre) 491 - 493: 14(ivec2) Load 488(storeTempPre) - Store 492(storeTempPost) 493 - 494: 14(ivec2) Load 492(storeTempPost) - 495: 7(ivec2) CompositeConstruct 62 62 - 496: 14(ivec2) ISub 494 495 - Store 492(storeTempPost) 496 - 497: 91 Load 93(g_tTex1du2) - 498: 6(int) Load 485(coordTemp) - 499: 14(ivec2) Load 492(storeTempPost) - ImageWrite 497 498 499 - 501: 73(ptr) AccessChain 61 51 - 502: 6(int) Load 501 - Store 500(coordTemp) 502 - 504: 83 Load 85(g_tTex1di2) - 505: 6(int) Load 500(coordTemp) - 506: 7(ivec2) ImageRead 504 505 - Store 503(storeTempPre) 506 - 508: 7(ivec2) Load 503(storeTempPre) - Store 507(storeTempPost) 508 - 509: 7(ivec2) Load 507(storeTempPost) - 510: 7(ivec2) CompositeConstruct 62 62 - 511: 7(ivec2) IAdd 509 510 - Store 507(storeTempPost) 511 - 512: 83 Load 85(g_tTex1di2) - 513: 6(int) Load 500(coordTemp) - 514: 7(ivec2) Load 507(storeTempPost) - ImageWrite 512 513 514 - 516: 73(ptr) AccessChain 61 51 - 517: 6(int) Load 516 - Store 515(coordTemp) 517 - 519: 69 Load 71(g_tTex1df2) - 520: 6(int) Load 515(coordTemp) - 521: 21(fvec2) ImageRead 519 520 - Store 518(storeTempPre) 521 - 523: 21(fvec2) Load 518(storeTempPre) - Store 522(storeTempPost) 523 - 524: 21(fvec2) Load 522(storeTempPost) - 525: 21(fvec2) CompositeConstruct 399 399 - 526: 21(fvec2) FSub 524 525 - Store 522(storeTempPost) 526 - 527: 69 Load 71(g_tTex1df2) - 528: 6(int) Load 515(coordTemp) - 529: 21(fvec2) Load 522(storeTempPost) - ImageWrite 527 528 529 - 531: 73(ptr) AccessChain 61 51 - 532: 6(int) Load 531 - Store 530(coordTemp) 532 - 534: 83 Load 85(g_tTex1di2) - 535: 6(int) Load 530(coordTemp) - 536: 7(ivec2) ImageRead 534 535 - Store 533(storeTempPre) 536 - 538: 7(ivec2) Load 533(storeTempPre) - Store 537(storeTempPost) 538 - 539: 7(ivec2) Load 537(storeTempPost) - 540: 7(ivec2) CompositeConstruct 62 62 - 541: 7(ivec2) IAdd 539 540 - Store 537(storeTempPost) 541 - 542: 83 Load 85(g_tTex1di2) - 543: 6(int) Load 530(coordTemp) - 544: 7(ivec2) Load 537(storeTempPost) - ImageWrite 542 543 544 - 546: 73(ptr) AccessChain 61 51 - 547: 6(int) Load 546 - Store 545(coordTemp) 547 - 549: 91 Load 93(g_tTex1du2) - 550: 6(int) Load 545(coordTemp) - 551: 14(ivec2) ImageRead 549 550 - Store 548(storeTempPre) 551 - 553: 14(ivec2) Load 548(storeTempPre) - Store 552(storeTempPost) 553 - 554: 14(ivec2) Load 552(storeTempPost) - 555: 7(ivec2) CompositeConstruct 62 62 - 556: 14(ivec2) ISub 554 555 - Store 552(storeTempPost) 556 - 557: 91 Load 93(g_tTex1du2) - 558: 6(int) Load 545(coordTemp) - 559: 14(ivec2) Load 552(storeTempPost) - ImageWrite 557 558 559 - 561: 99 Load 101(g_tTex2df2) - 564: 21(fvec2) ImageRead 561 563 - Store 560(storeTemp) 564 - 565: 69 Load 71(g_tTex1df2) - 566: 21(fvec2) Load 560(storeTemp) - ImageWrite 565 62 566 - 573: 572(ptr) AccessChain 570(psout) 51 - Store 573 571 - 576: 572(ptr) AccessChain 570(psout) 51 - 577: 567(fvec4) Load 576 - Store 575(Color) 577 + 582:43(PS_OUTPUT) FunctionCall 45(@main() + 583: 42(fvec4) CompositeExtract 582 0 + Store 581(Color) 583 Return FunctionEnd 11(Fn1(vi2;): 7(ivec2) Function None 9 10(x): 8(ptr) FunctionParameter 12: Label - 42: 7(ivec2) Load 10(x) - ReturnValue 42 + 47: 7(ivec2) Load 10(x) + ReturnValue 47 FunctionEnd 18(Fn1(vu2;): 14(ivec2) Function None 16 17(x): 15(ptr) FunctionParameter 19: Label - 45: 14(ivec2) Load 17(x) - ReturnValue 45 + 50: 14(ivec2) Load 17(x) + ReturnValue 50 FunctionEnd 25(Fn1(vf2;): 21(fvec2) Function None 23 24(x): 22(ptr) FunctionParameter 26: Label - 48: 21(fvec2) Load 24(x) - ReturnValue 48 + 53: 21(fvec2) Load 24(x) + ReturnValue 53 FunctionEnd 29(Fn2(vi2;): 2 Function None 27 28(x): 8(ptr) FunctionParameter 30: Label - Store 28(x) 52 + Store 28(x) 57 Return FunctionEnd 33(Fn2(vu2;): 2 Function None 31 32(x): 15(ptr) FunctionParameter 34: Label - Store 32(x) 54 + Store 32(x) 59 Return FunctionEnd 37(Fn2(vf2;): 2 Function None 35 36(x): 22(ptr) FunctionParameter 38: Label - Store 36(x) 56 + Store 36(x) 61 Return FunctionEnd 40(SomeValue(): 21(fvec2) Function None 39 41: Label - 64: 63(ptr) AccessChain 61 62 - 65: 7(ivec2) Load 64 - 66: 21(fvec2) ConvertSToF 65 - ReturnValue 66 + 69: 68(ptr) AccessChain 66 67 + 70: 7(ivec2) Load 69 + 71: 21(fvec2) ConvertSToF 70 + ReturnValue 71 + FunctionEnd + 45(@main():43(PS_OUTPUT) Function None 44 + 46: Label + 82(r00): 22(ptr) Variable Function + 87(r01): 8(ptr) Variable Function + 95(r02): 15(ptr) Variable Function + 103(r10): 22(ptr) Variable Function + 111(r11): 8(ptr) Variable Function + 119(r12): 15(ptr) Variable Function + 127(r20): 22(ptr) Variable Function + 137(r21): 8(ptr) Variable Function + 145(r22): 15(ptr) Variable Function + 153(lf2): 22(ptr) Variable Function + 158(storeTemp): 22(ptr) Variable Function + 168(storeTemp): 8(ptr) Variable Function + 174(storeTemp): 15(ptr) Variable Function + 182(val1): 22(ptr) Variable Function + 184(coordTemp): 183(ptr) Variable Function + 187(storeTemp): 22(ptr) Variable Function + 198(coordTemp): 183(ptr) Variable Function + 201(storeTemp): 22(ptr) Variable Function + 212(coordTemp): 183(ptr) Variable Function + 215(storeTemp): 22(ptr) Variable Function + 226(coordTemp): 183(ptr) Variable Function + 229(storeTemp): 8(ptr) Variable Function + 239(coordTemp): 183(ptr) Variable Function + 242(storeTemp): 8(ptr) Variable Function + 252(coordTemp): 183(ptr) Variable Function + 255(storeTemp): 8(ptr) Variable Function + 266(coordTemp): 183(ptr) Variable Function + 269(storeTemp): 8(ptr) Variable Function + 280(coordTemp): 183(ptr) Variable Function + 283(storeTemp): 8(ptr) Variable Function + 293(coordTemp): 183(ptr) Variable Function + 296(storeTemp): 8(ptr) Variable Function + 306(storeTemp): 22(ptr) Variable Function + 316(storeTemp): 8(ptr) Variable Function + 323(storeTemp): 15(ptr) Variable Function + 330(storeTemp): 22(ptr) Variable Function + 340(storeTemp): 8(ptr) Variable Function + 347(storeTemp): 15(ptr) Variable Function + 358(param): 22(ptr) Variable Function + 364(param): 8(ptr) Variable Function + 370(param): 15(ptr) Variable Function + 372(tempArg): 22(ptr) Variable Function + 373(param): 22(ptr) Variable Function + 380(tempArg): 8(ptr) Variable Function + 381(param): 8(ptr) Variable Function + 388(tempArg): 15(ptr) Variable Function + 389(param): 15(ptr) Variable Function + 396(coordTemp): 183(ptr) Variable Function + 399(storeTemp): 22(ptr) Variable Function + 410(coordTemp): 183(ptr) Variable Function + 413(storeTemp): 8(ptr) Variable Function + 423(coordTemp): 183(ptr) Variable Function + 426(storeTemp): 15(ptr) Variable Function + 436(coordTemp): 183(ptr) Variable Function + 439(storeTemp): 22(ptr) Variable Function + 449(coordTemp): 183(ptr) Variable Function + 452(storeTemp): 8(ptr) Variable Function + 462(coordTemp): 183(ptr) Variable Function + 465(storeTemp): 15(ptr) Variable Function + 475(coordTemp): 183(ptr) Variable Function +478(storeTempPre): 22(ptr) Variable Function +482(storeTempPost): 22(ptr) Variable Function + 490(coordTemp): 183(ptr) Variable Function +493(storeTempPre): 15(ptr) Variable Function +497(storeTempPost): 15(ptr) Variable Function + 505(coordTemp): 183(ptr) Variable Function +508(storeTempPre): 8(ptr) Variable Function +512(storeTempPost): 8(ptr) Variable Function + 520(coordTemp): 183(ptr) Variable Function +523(storeTempPre): 22(ptr) Variable Function +527(storeTempPost): 22(ptr) Variable Function + 535(coordTemp): 183(ptr) Variable Function +538(storeTempPre): 8(ptr) Variable Function +542(storeTempPost): 8(ptr) Variable Function + 550(coordTemp): 183(ptr) Variable Function +553(storeTempPre): 15(ptr) Variable Function +557(storeTempPost): 15(ptr) Variable Function + 565(storeTemp): 22(ptr) Variable Function + 573(psout): 572(ptr) Variable Function + 77: 74 Load 76(g_tTex1df2) + 79: 78(ptr) AccessChain 66 56 + 80: 6(int) Load 79 + 81: 21(fvec2) ImageRead 77 80 + 83: 74 Load 76(g_tTex1df2) + 84: 78(ptr) AccessChain 66 56 + 85: 6(int) Load 84 + 86: 21(fvec2) ImageRead 83 85 + Store 82(r00) 86 + 91: 88 Load 90(g_tTex1di2) + 92: 78(ptr) AccessChain 66 56 + 93: 6(int) Load 92 + 94: 7(ivec2) ImageRead 91 93 + Store 87(r01) 94 + 99: 96 Load 98(g_tTex1du2) + 100: 78(ptr) AccessChain 66 56 + 101: 6(int) Load 100 + 102: 14(ivec2) ImageRead 99 101 + Store 95(r02) 102 + 107: 104 Load 106(g_tTex2df2) + 108: 68(ptr) AccessChain 66 67 + 109: 7(ivec2) Load 108 + 110: 21(fvec2) ImageRead 107 109 + Store 103(r10) 110 + 115: 112 Load 114(g_tTex2di2) + 116: 68(ptr) AccessChain 66 67 + 117: 7(ivec2) Load 116 + 118: 7(ivec2) ImageRead 115 117 + Store 111(r11) 118 + 123: 120 Load 122(g_tTex2du2) + 124: 68(ptr) AccessChain 66 67 + 125: 7(ivec2) Load 124 + 126: 14(ivec2) ImageRead 123 125 + Store 119(r12) 126 + 131: 128 Load 130(g_tTex3df2) + 134: 133(ptr) AccessChain 66 132 + 135: 62(ivec3) Load 134 + 136: 21(fvec2) ImageRead 131 135 + Store 127(r20) 136 + 141: 138 Load 140(g_tTex3di2) + 142: 133(ptr) AccessChain 66 132 + 143: 62(ivec3) Load 142 + 144: 7(ivec2) ImageRead 141 143 + Store 137(r21) 144 + 149: 146 Load 148(g_tTex3du2) + 150: 133(ptr) AccessChain 66 132 + 151: 62(ivec3) Load 150 + 152: 14(ivec2) ImageRead 149 151 + Store 145(r22) 152 + 156: 155(ptr) AccessChain 66 154 + 157: 21(fvec2) Load 156 + Store 153(lf2) 157 + 159: 21(fvec2) FunctionCall 40(SomeValue() + Store 158(storeTemp) 159 + 160: 74 Load 76(g_tTex1df2) + 161: 78(ptr) AccessChain 66 56 + 162: 6(int) Load 161 + 163: 21(fvec2) Load 158(storeTemp) + ImageWrite 160 162 163 + 164: 74 Load 76(g_tTex1df2) + 165: 78(ptr) AccessChain 66 56 + 166: 6(int) Load 165 + 167: 21(fvec2) Load 153(lf2) + ImageWrite 164 166 167 + Store 168(storeTemp) 169 + 170: 88 Load 90(g_tTex1di2) + 171: 78(ptr) AccessChain 66 56 + 172: 6(int) Load 171 + 173: 7(ivec2) Load 168(storeTemp) + ImageWrite 170 172 173 + Store 174(storeTemp) 177 + 178: 96 Load 98(g_tTex1du2) + 179: 78(ptr) AccessChain 66 56 + 180: 6(int) Load 179 + 181: 14(ivec2) Load 174(storeTemp) + ImageWrite 178 180 181 + 185: 78(ptr) AccessChain 66 56 + 186: 6(int) Load 185 + Store 184(coordTemp) 186 + 188: 74 Load 76(g_tTex1df2) + 189: 6(int) Load 184(coordTemp) + 190: 21(fvec2) ImageRead 188 189 + Store 187(storeTemp) 190 + 192: 21(fvec2) Load 187(storeTemp) + 193: 21(fvec2) VectorTimesScalar 192 191 + Store 187(storeTemp) 193 + 194: 74 Load 76(g_tTex1df2) + 195: 6(int) Load 184(coordTemp) + 196: 21(fvec2) Load 187(storeTemp) + ImageWrite 194 195 196 + 197: 21(fvec2) Load 187(storeTemp) + Store 182(val1) 197 + 199: 78(ptr) AccessChain 66 56 + 200: 6(int) Load 199 + Store 198(coordTemp) 200 + 202: 74 Load 76(g_tTex1df2) + 203: 6(int) Load 198(coordTemp) + 204: 21(fvec2) ImageRead 202 203 + Store 201(storeTemp) 204 + 206: 21(fvec2) Load 201(storeTemp) + 207: 21(fvec2) CompositeConstruct 205 205 + 208: 21(fvec2) FSub 206 207 + Store 201(storeTemp) 208 + 209: 74 Load 76(g_tTex1df2) + 210: 6(int) Load 198(coordTemp) + 211: 21(fvec2) Load 201(storeTemp) + ImageWrite 209 210 211 + 213: 78(ptr) AccessChain 66 56 + 214: 6(int) Load 213 + Store 212(coordTemp) 214 + 216: 74 Load 76(g_tTex1df2) + 217: 6(int) Load 212(coordTemp) + 218: 21(fvec2) ImageRead 216 217 + Store 215(storeTemp) 218 + 220: 21(fvec2) Load 215(storeTemp) + 221: 21(fvec2) CompositeConstruct 219 219 + 222: 21(fvec2) FAdd 220 221 + Store 215(storeTemp) 222 + 223: 74 Load 76(g_tTex1df2) + 224: 6(int) Load 212(coordTemp) + 225: 21(fvec2) Load 215(storeTemp) + ImageWrite 223 224 225 + 227: 78(ptr) AccessChain 66 56 + 228: 6(int) Load 227 + Store 226(coordTemp) 228 + 230: 88 Load 90(g_tTex1di2) + 231: 6(int) Load 226(coordTemp) + 232: 7(ivec2) ImageRead 230 231 + Store 229(storeTemp) 232 + 233: 7(ivec2) Load 229(storeTemp) + 234: 7(ivec2) CompositeConstruct 132 132 + 235: 7(ivec2) SDiv 233 234 + Store 229(storeTemp) 235 + 236: 88 Load 90(g_tTex1di2) + 237: 6(int) Load 226(coordTemp) + 238: 7(ivec2) Load 229(storeTemp) + ImageWrite 236 237 238 + 240: 78(ptr) AccessChain 66 56 + 241: 6(int) Load 240 + Store 239(coordTemp) 241 + 243: 88 Load 90(g_tTex1di2) + 244: 6(int) Load 239(coordTemp) + 245: 7(ivec2) ImageRead 243 244 + Store 242(storeTemp) 245 + 246: 7(ivec2) Load 242(storeTemp) + 247: 7(ivec2) CompositeConstruct 132 132 + 248: 7(ivec2) SMod 246 247 + Store 242(storeTemp) 248 + 249: 88 Load 90(g_tTex1di2) + 250: 6(int) Load 239(coordTemp) + 251: 7(ivec2) Load 242(storeTemp) + ImageWrite 249 250 251 + 253: 78(ptr) AccessChain 66 56 + 254: 6(int) Load 253 + Store 252(coordTemp) 254 + 256: 88 Load 90(g_tTex1di2) + 257: 6(int) Load 252(coordTemp) + 258: 7(ivec2) ImageRead 256 257 + Store 255(storeTemp) 258 + 260: 7(ivec2) Load 255(storeTemp) + 261: 7(ivec2) CompositeConstruct 259 259 + 262: 7(ivec2) BitwiseAnd 260 261 + Store 255(storeTemp) 262 + 263: 88 Load 90(g_tTex1di2) + 264: 6(int) Load 252(coordTemp) + 265: 7(ivec2) Load 255(storeTemp) + ImageWrite 263 264 265 + 267: 78(ptr) AccessChain 66 56 + 268: 6(int) Load 267 + Store 266(coordTemp) 268 + 270: 88 Load 90(g_tTex1di2) + 271: 6(int) Load 266(coordTemp) + 272: 7(ivec2) ImageRead 270 271 + Store 269(storeTemp) 272 + 274: 7(ivec2) Load 269(storeTemp) + 275: 7(ivec2) CompositeConstruct 273 273 + 276: 7(ivec2) BitwiseOr 274 275 + Store 269(storeTemp) 276 + 277: 88 Load 90(g_tTex1di2) + 278: 6(int) Load 266(coordTemp) + 279: 7(ivec2) Load 269(storeTemp) + ImageWrite 277 278 279 + 281: 78(ptr) AccessChain 66 56 + 282: 6(int) Load 281 + Store 280(coordTemp) 282 + 284: 88 Load 90(g_tTex1di2) + 285: 6(int) Load 280(coordTemp) + 286: 7(ivec2) ImageRead 284 285 + Store 283(storeTemp) 286 + 287: 7(ivec2) Load 283(storeTemp) + 288: 7(ivec2) CompositeConstruct 132 132 + 289: 7(ivec2) ShiftLeftLogical 287 288 + Store 283(storeTemp) 289 + 290: 88 Load 90(g_tTex1di2) + 291: 6(int) Load 280(coordTemp) + 292: 7(ivec2) Load 283(storeTemp) + ImageWrite 290 291 292 + 294: 78(ptr) AccessChain 66 56 + 295: 6(int) Load 294 + Store 293(coordTemp) 295 + 297: 88 Load 90(g_tTex1di2) + 298: 6(int) Load 293(coordTemp) + 299: 7(ivec2) ImageRead 297 298 + Store 296(storeTemp) 299 + 300: 7(ivec2) Load 296(storeTemp) + 301: 7(ivec2) CompositeConstruct 132 132 + 302: 7(ivec2) ShiftRightArithmetic 300 301 + Store 296(storeTemp) 302 + 303: 88 Load 90(g_tTex1di2) + 304: 6(int) Load 293(coordTemp) + 305: 7(ivec2) Load 296(storeTemp) + ImageWrite 303 304 305 + 307: 21(fvec2) FunctionCall 40(SomeValue() + Store 306(storeTemp) 307 + 308: 104 Load 106(g_tTex2df2) + 309: 68(ptr) AccessChain 66 67 + 310: 7(ivec2) Load 309 + 311: 21(fvec2) Load 306(storeTemp) + ImageWrite 308 310 311 + 312: 104 Load 106(g_tTex2df2) + 313: 68(ptr) AccessChain 66 67 + 314: 7(ivec2) Load 313 + 315: 21(fvec2) Load 153(lf2) + ImageWrite 312 314 315 + Store 316(storeTemp) 318 + 319: 112 Load 114(g_tTex2di2) + 320: 68(ptr) AccessChain 66 67 + 321: 7(ivec2) Load 320 + 322: 7(ivec2) Load 316(storeTemp) + ImageWrite 319 321 322 + Store 323(storeTemp) 325 + 326: 120 Load 122(g_tTex2du2) + 327: 68(ptr) AccessChain 66 67 + 328: 7(ivec2) Load 327 + 329: 14(ivec2) Load 323(storeTemp) + ImageWrite 326 328 329 + 331: 21(fvec2) FunctionCall 40(SomeValue() + Store 330(storeTemp) 331 + 332: 128 Load 130(g_tTex3df2) + 333: 133(ptr) AccessChain 66 132 + 334: 62(ivec3) Load 333 + 335: 21(fvec2) Load 330(storeTemp) + ImageWrite 332 334 335 + 336: 128 Load 130(g_tTex3df2) + 337: 133(ptr) AccessChain 66 132 + 338: 62(ivec3) Load 337 + 339: 21(fvec2) Load 153(lf2) + ImageWrite 336 338 339 + Store 340(storeTemp) 342 + 343: 138 Load 140(g_tTex3di2) + 344: 133(ptr) AccessChain 66 132 + 345: 62(ivec3) Load 344 + 346: 7(ivec2) Load 340(storeTemp) + ImageWrite 343 345 346 + Store 347(storeTemp) 349 + 350: 146 Load 148(g_tTex3du2) + 351: 133(ptr) AccessChain 66 132 + 352: 62(ivec3) Load 351 + 353: 14(ivec2) Load 347(storeTemp) + ImageWrite 350 352 353 + 354: 74 Load 76(g_tTex1df2) + 355: 78(ptr) AccessChain 66 56 + 356: 6(int) Load 355 + 357: 21(fvec2) ImageRead 354 356 + Store 358(param) 357 + 359: 21(fvec2) FunctionCall 25(Fn1(vf2;) 358(param) + 360: 88 Load 90(g_tTex1di2) + 361: 78(ptr) AccessChain 66 56 + 362: 6(int) Load 361 + 363: 7(ivec2) ImageRead 360 362 + Store 364(param) 363 + 365: 7(ivec2) FunctionCall 11(Fn1(vi2;) 364(param) + 366: 96 Load 98(g_tTex1du2) + 367: 78(ptr) AccessChain 66 56 + 368: 6(int) Load 367 + 369: 14(ivec2) ImageRead 366 368 + Store 370(param) 369 + 371: 14(ivec2) FunctionCall 18(Fn1(vu2;) 370(param) + 374: 2 FunctionCall 37(Fn2(vf2;) 373(param) + 375: 21(fvec2) Load 373(param) + Store 372(tempArg) 375 + 376: 74 Load 76(g_tTex1df2) + 377: 78(ptr) AccessChain 66 56 + 378: 6(int) Load 377 + 379: 21(fvec2) Load 372(tempArg) + ImageWrite 376 378 379 + 382: 2 FunctionCall 29(Fn2(vi2;) 381(param) + 383: 7(ivec2) Load 381(param) + Store 380(tempArg) 383 + 384: 88 Load 90(g_tTex1di2) + 385: 78(ptr) AccessChain 66 56 + 386: 6(int) Load 385 + 387: 7(ivec2) Load 380(tempArg) + ImageWrite 384 386 387 + 390: 2 FunctionCall 33(Fn2(vu2;) 389(param) + 391: 14(ivec2) Load 389(param) + Store 388(tempArg) 391 + 392: 96 Load 98(g_tTex1du2) + 393: 78(ptr) AccessChain 66 56 + 394: 6(int) Load 393 + 395: 14(ivec2) Load 388(tempArg) + ImageWrite 392 394 395 + 397: 78(ptr) AccessChain 66 56 + 398: 6(int) Load 397 + Store 396(coordTemp) 398 + 400: 74 Load 76(g_tTex1df2) + 401: 6(int) Load 396(coordTemp) + 402: 21(fvec2) ImageRead 400 401 + Store 399(storeTemp) 402 + 403: 21(fvec2) Load 399(storeTemp) + 405: 21(fvec2) CompositeConstruct 404 404 + 406: 21(fvec2) FAdd 403 405 + Store 399(storeTemp) 406 + 407: 74 Load 76(g_tTex1df2) + 408: 6(int) Load 396(coordTemp) + 409: 21(fvec2) Load 399(storeTemp) + ImageWrite 407 408 409 + 411: 78(ptr) AccessChain 66 56 + 412: 6(int) Load 411 + Store 410(coordTemp) 412 + 414: 88 Load 90(g_tTex1di2) + 415: 6(int) Load 410(coordTemp) + 416: 7(ivec2) ImageRead 414 415 + Store 413(storeTemp) 416 + 417: 7(ivec2) Load 413(storeTemp) + 418: 7(ivec2) CompositeConstruct 67 67 + 419: 7(ivec2) IAdd 417 418 + Store 413(storeTemp) 419 + 420: 88 Load 90(g_tTex1di2) + 421: 6(int) Load 410(coordTemp) + 422: 7(ivec2) Load 413(storeTemp) + ImageWrite 420 421 422 + 424: 78(ptr) AccessChain 66 56 + 425: 6(int) Load 424 + Store 423(coordTemp) 425 + 427: 96 Load 98(g_tTex1du2) + 428: 6(int) Load 423(coordTemp) + 429: 14(ivec2) ImageRead 427 428 + Store 426(storeTemp) 429 + 430: 14(ivec2) Load 426(storeTemp) + 431: 7(ivec2) CompositeConstruct 67 67 + 432: 14(ivec2) IAdd 430 431 + Store 426(storeTemp) 432 + 433: 96 Load 98(g_tTex1du2) + 434: 6(int) Load 423(coordTemp) + 435: 14(ivec2) Load 426(storeTemp) + ImageWrite 433 434 435 + 437: 78(ptr) AccessChain 66 56 + 438: 6(int) Load 437 + Store 436(coordTemp) 438 + 440: 74 Load 76(g_tTex1df2) + 441: 6(int) Load 436(coordTemp) + 442: 21(fvec2) ImageRead 440 441 + Store 439(storeTemp) 442 + 443: 21(fvec2) Load 439(storeTemp) + 444: 21(fvec2) CompositeConstruct 404 404 + 445: 21(fvec2) FSub 443 444 + Store 439(storeTemp) 445 + 446: 74 Load 76(g_tTex1df2) + 447: 6(int) Load 436(coordTemp) + 448: 21(fvec2) Load 439(storeTemp) + ImageWrite 446 447 448 + 450: 78(ptr) AccessChain 66 56 + 451: 6(int) Load 450 + Store 449(coordTemp) 451 + 453: 88 Load 90(g_tTex1di2) + 454: 6(int) Load 449(coordTemp) + 455: 7(ivec2) ImageRead 453 454 + Store 452(storeTemp) 455 + 456: 7(ivec2) Load 452(storeTemp) + 457: 7(ivec2) CompositeConstruct 67 67 + 458: 7(ivec2) ISub 456 457 + Store 452(storeTemp) 458 + 459: 88 Load 90(g_tTex1di2) + 460: 6(int) Load 449(coordTemp) + 461: 7(ivec2) Load 452(storeTemp) + ImageWrite 459 460 461 + 463: 78(ptr) AccessChain 66 56 + 464: 6(int) Load 463 + Store 462(coordTemp) 464 + 466: 96 Load 98(g_tTex1du2) + 467: 6(int) Load 462(coordTemp) + 468: 14(ivec2) ImageRead 466 467 + Store 465(storeTemp) 468 + 469: 14(ivec2) Load 465(storeTemp) + 470: 7(ivec2) CompositeConstruct 67 67 + 471: 14(ivec2) ISub 469 470 + Store 465(storeTemp) 471 + 472: 96 Load 98(g_tTex1du2) + 473: 6(int) Load 462(coordTemp) + 474: 14(ivec2) Load 465(storeTemp) + ImageWrite 472 473 474 + 476: 78(ptr) AccessChain 66 56 + 477: 6(int) Load 476 + Store 475(coordTemp) 477 + 479: 74 Load 76(g_tTex1df2) + 480: 6(int) Load 475(coordTemp) + 481: 21(fvec2) ImageRead 479 480 + Store 478(storeTempPre) 481 + 483: 21(fvec2) Load 478(storeTempPre) + Store 482(storeTempPost) 483 + 484: 21(fvec2) Load 482(storeTempPost) + 485: 21(fvec2) CompositeConstruct 404 404 + 486: 21(fvec2) FAdd 484 485 + Store 482(storeTempPost) 486 + 487: 74 Load 76(g_tTex1df2) + 488: 6(int) Load 475(coordTemp) + 489: 21(fvec2) Load 482(storeTempPost) + ImageWrite 487 488 489 + 491: 78(ptr) AccessChain 66 56 + 492: 6(int) Load 491 + Store 490(coordTemp) 492 + 494: 96 Load 98(g_tTex1du2) + 495: 6(int) Load 490(coordTemp) + 496: 14(ivec2) ImageRead 494 495 + Store 493(storeTempPre) 496 + 498: 14(ivec2) Load 493(storeTempPre) + Store 497(storeTempPost) 498 + 499: 14(ivec2) Load 497(storeTempPost) + 500: 7(ivec2) CompositeConstruct 67 67 + 501: 14(ivec2) ISub 499 500 + Store 497(storeTempPost) 501 + 502: 96 Load 98(g_tTex1du2) + 503: 6(int) Load 490(coordTemp) + 504: 14(ivec2) Load 497(storeTempPost) + ImageWrite 502 503 504 + 506: 78(ptr) AccessChain 66 56 + 507: 6(int) Load 506 + Store 505(coordTemp) 507 + 509: 88 Load 90(g_tTex1di2) + 510: 6(int) Load 505(coordTemp) + 511: 7(ivec2) ImageRead 509 510 + Store 508(storeTempPre) 511 + 513: 7(ivec2) Load 508(storeTempPre) + Store 512(storeTempPost) 513 + 514: 7(ivec2) Load 512(storeTempPost) + 515: 7(ivec2) CompositeConstruct 67 67 + 516: 7(ivec2) IAdd 514 515 + Store 512(storeTempPost) 516 + 517: 88 Load 90(g_tTex1di2) + 518: 6(int) Load 505(coordTemp) + 519: 7(ivec2) Load 512(storeTempPost) + ImageWrite 517 518 519 + 521: 78(ptr) AccessChain 66 56 + 522: 6(int) Load 521 + Store 520(coordTemp) 522 + 524: 74 Load 76(g_tTex1df2) + 525: 6(int) Load 520(coordTemp) + 526: 21(fvec2) ImageRead 524 525 + Store 523(storeTempPre) 526 + 528: 21(fvec2) Load 523(storeTempPre) + Store 527(storeTempPost) 528 + 529: 21(fvec2) Load 527(storeTempPost) + 530: 21(fvec2) CompositeConstruct 404 404 + 531: 21(fvec2) FSub 529 530 + Store 527(storeTempPost) 531 + 532: 74 Load 76(g_tTex1df2) + 533: 6(int) Load 520(coordTemp) + 534: 21(fvec2) Load 527(storeTempPost) + ImageWrite 532 533 534 + 536: 78(ptr) AccessChain 66 56 + 537: 6(int) Load 536 + Store 535(coordTemp) 537 + 539: 88 Load 90(g_tTex1di2) + 540: 6(int) Load 535(coordTemp) + 541: 7(ivec2) ImageRead 539 540 + Store 538(storeTempPre) 541 + 543: 7(ivec2) Load 538(storeTempPre) + Store 542(storeTempPost) 543 + 544: 7(ivec2) Load 542(storeTempPost) + 545: 7(ivec2) CompositeConstruct 67 67 + 546: 7(ivec2) IAdd 544 545 + Store 542(storeTempPost) 546 + 547: 88 Load 90(g_tTex1di2) + 548: 6(int) Load 535(coordTemp) + 549: 7(ivec2) Load 542(storeTempPost) + ImageWrite 547 548 549 + 551: 78(ptr) AccessChain 66 56 + 552: 6(int) Load 551 + Store 550(coordTemp) 552 + 554: 96 Load 98(g_tTex1du2) + 555: 6(int) Load 550(coordTemp) + 556: 14(ivec2) ImageRead 554 555 + Store 553(storeTempPre) 556 + 558: 14(ivec2) Load 553(storeTempPre) + Store 557(storeTempPost) 558 + 559: 14(ivec2) Load 557(storeTempPost) + 560: 7(ivec2) CompositeConstruct 67 67 + 561: 14(ivec2) ISub 559 560 + Store 557(storeTempPost) 561 + 562: 96 Load 98(g_tTex1du2) + 563: 6(int) Load 550(coordTemp) + 564: 14(ivec2) Load 557(storeTempPost) + ImageWrite 562 563 564 + 566: 104 Load 106(g_tTex2df2) + 569: 21(fvec2) ImageRead 566 568 + Store 565(storeTemp) 569 + 570: 74 Load 76(g_tTex1df2) + 571: 21(fvec2) Load 565(storeTemp) + ImageWrite 570 67 571 + 576: 575(ptr) AccessChain 573(psout) 56 + Store 576 574 + 577:43(PS_OUTPUT) Load 573(psout) + ReturnValue 577 FunctionEnd diff --git a/Test/baseResults/hlsl.sample.array.dx10.frag.out b/Test/baseResults/hlsl.sample.array.dx10.frag.out index f223e4bf..bd5ba3d1 100644 --- a/Test/baseResults/hlsl.sample.array.dx10.frag.out +++ b/Test/baseResults/hlsl.sample.array.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.sample.array.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:24 Function Parameters: 0:? Sequence 0:27 Sequence @@ -121,24 +121,28 @@ gl_FragCoord origin is upper left 0:40 1 (const int) 0:40 Constant: 0:40 1.000000 -0:42 Sequence -0:42 Sequence -0:42 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:42 Color: direct index for structure (temp 4-component vector of float) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:42 Constant: -0:42 0 (const int) -0:42 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:42 Depth: direct index for structure (temp float) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:42 Constant: -0:42 1 (const int) -0:42 Branch: Return +0:42 Branch: Return with expression +0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: main( (temp void) +0:24 Function Parameters: +0:? Sequence +0:24 Sequence +0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:24 Color: direct index for structure (temp 4-component vector of float) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:24 Depth: direct index for structure (temp float) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -150,6 +154,8 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' (uniform textureCubeArray) 0:? 'g_tTexcdi4' (uniform itextureCubeArray) 0:? 'g_tTexcdu4' (uniform utextureCubeArray) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -158,7 +164,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:24 Function Parameters: 0:? Sequence 0:27 Sequence @@ -277,24 +283,28 @@ gl_FragCoord origin is upper left 0:40 1 (const int) 0:40 Constant: 0:40 1.000000 -0:42 Sequence -0:42 Sequence -0:42 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:42 Color: direct index for structure (temp 4-component vector of float) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:42 Constant: -0:42 0 (const int) -0:42 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:42 Depth: direct index for structure (temp float) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:42 Constant: -0:42 1 (const int) -0:42 Branch: Return +0:42 Branch: Return with expression +0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: main( (temp void) +0:24 Function Parameters: +0:? Sequence +0:24 Sequence +0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:24 Color: direct index for structure (temp 4-component vector of float) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:24 Depth: direct index for structure (temp float) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -306,209 +316,222 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' (uniform textureCubeArray) 0:? 'g_tTexcdi4' (uniform itextureCubeArray) 0:? 'g_tTexcdu4' (uniform utextureCubeArray) +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 139 +// Id's are bound by 146 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 130 134 + EntryPoint Fragment 4 "main" 138 142 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval10" - Name 12 "g_tTex1df4" - Name 16 "g_sSamp" - Name 28 "txval11" - Name 31 "g_tTex1di4" - Name 42 "txval12" - Name 45 "g_tTex1du4" - Name 53 "txval20" - Name 56 "g_tTex2df4" - Name 64 "txval21" - Name 67 "g_tTex2di4" - Name 75 "txval22" - Name 78 "g_tTex2du4" - Name 87 "txval40" - Name 90 "g_tTexcdf4" - Name 97 "txval41" - Name 100 "g_tTexcdi4" - Name 107 "txval42" - Name 110 "g_tTexcdu4" - Name 120 "PS_OUTPUT" - MemberName 120(PS_OUTPUT) 0 "Color" - MemberName 120(PS_OUTPUT) 1 "Depth" - Name 122 "psout" - Name 130 "Color" - Name 134 "Depth" - Name 138 "g_tTex1df4a" - Decorate 12(g_tTex1df4) DescriptorSet 0 - Decorate 12(g_tTex1df4) Binding 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - Decorate 31(g_tTex1di4) DescriptorSet 0 - Decorate 45(g_tTex1du4) DescriptorSet 0 - Decorate 56(g_tTex2df4) DescriptorSet 0 - Decorate 67(g_tTex2di4) DescriptorSet 0 - Decorate 78(g_tTex2du4) DescriptorSet 0 - Decorate 90(g_tTexcdf4) DescriptorSet 0 - Decorate 100(g_tTexcdi4) DescriptorSet 0 - Decorate 110(g_tTexcdu4) DescriptorSet 0 - Decorate 130(Color) Location 0 - Decorate 134(Depth) BuiltIn FragDepth - Decorate 138(g_tTex1df4a) DescriptorSet 0 - Decorate 138(g_tTex1df4a) Binding 1 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval10" + Name 16 "g_tTex1df4" + Name 20 "g_sSamp" + Name 32 "txval11" + Name 35 "g_tTex1di4" + Name 46 "txval12" + Name 49 "g_tTex1du4" + Name 57 "txval20" + Name 60 "g_tTex2df4" + Name 68 "txval21" + Name 71 "g_tTex2di4" + Name 79 "txval22" + Name 82 "g_tTex2du4" + Name 91 "txval40" + Name 94 "g_tTexcdf4" + Name 101 "txval41" + Name 104 "g_tTexcdi4" + Name 111 "txval42" + Name 114 "g_tTexcdu4" + Name 125 "psout" + Name 135 "flattenTemp" + Name 138 "Color" + Name 142 "Depth" + Name 145 "g_tTex1df4a" + Decorate 16(g_tTex1df4) DescriptorSet 0 + Decorate 16(g_tTex1df4) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 35(g_tTex1di4) DescriptorSet 0 + Decorate 49(g_tTex1du4) DescriptorSet 0 + Decorate 60(g_tTex2df4) DescriptorSet 0 + Decorate 71(g_tTex2di4) DescriptorSet 0 + Decorate 82(g_tTex2du4) DescriptorSet 0 + Decorate 94(g_tTexcdf4) DescriptorSet 0 + Decorate 104(g_tTexcdi4) DescriptorSet 0 + Decorate 114(g_tTexcdu4) DescriptorSet 0 + Decorate 138(Color) Location 0 + Decorate 142(Depth) BuiltIn FragDepth + Decorate 145(g_tTex1df4a) DescriptorSet 0 + Decorate 145(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 1D array sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex1df4): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 1D array sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: TypeVector 6(float) 2 - 21: 6(float) Constant 1036831949 - 22: 6(float) Constant 1045220557 - 23: 20(fvec2) ConstantComposite 21 22 - 25: TypeInt 32 1 - 26: TypeVector 25(int) 4 - 27: TypePointer Function 26(ivec4) - 29: TypeImage 25(int) 1D array sampled format:Unknown - 30: TypePointer UniformConstant 29 - 31(g_tTex1di4): 30(ptr) Variable UniformConstant - 34: TypeSampledImage 29 - 36: 6(float) Constant 1050253722 - 37: 20(fvec2) ConstantComposite 22 36 - 39: TypeInt 32 0 - 40: TypeVector 39(int) 4 - 41: TypePointer Function 40(ivec4) - 43: TypeImage 39(int) 1D array sampled format:Unknown - 44: TypePointer UniformConstant 43 - 45(g_tTex1du4): 44(ptr) Variable UniformConstant - 48: TypeSampledImage 43 - 50: 6(float) Constant 1053609165 - 51: 20(fvec2) ConstantComposite 36 50 - 54: TypeImage 6(float) 2D array sampled format:Unknown - 55: TypePointer UniformConstant 54 - 56(g_tTex2df4): 55(ptr) Variable UniformConstant - 59: TypeSampledImage 54 - 61: TypeVector 6(float) 3 - 62: 61(fvec3) ConstantComposite 21 22 36 - 65: TypeImage 25(int) 2D array sampled format:Unknown - 66: TypePointer UniformConstant 65 - 67(g_tTex2di4): 66(ptr) Variable UniformConstant - 70: TypeSampledImage 65 - 72: 6(float) Constant 1056964608 - 73: 61(fvec3) ConstantComposite 36 50 72 - 76: TypeImage 39(int) 2D array sampled format:Unknown - 77: TypePointer UniformConstant 76 - 78(g_tTex2du4): 77(ptr) Variable UniformConstant - 81: TypeSampledImage 76 - 83: 6(float) Constant 1058642330 - 84: 6(float) Constant 1060320051 - 85: 61(fvec3) ConstantComposite 72 83 84 - 88: TypeImage 6(float) Cube array sampled format:Unknown - 89: TypePointer UniformConstant 88 - 90(g_tTexcdf4): 89(ptr) Variable UniformConstant - 93: TypeSampledImage 88 - 95: 7(fvec4) ConstantComposite 21 22 36 50 - 98: TypeImage 25(int) Cube array sampled format:Unknown - 99: TypePointer UniformConstant 98 - 100(g_tTexcdi4): 99(ptr) Variable UniformConstant - 103: TypeSampledImage 98 - 105: 7(fvec4) ConstantComposite 50 72 83 84 - 108: TypeImage 39(int) Cube array sampled format:Unknown - 109: TypePointer UniformConstant 108 - 110(g_tTexcdu4): 109(ptr) Variable UniformConstant - 113: TypeSampledImage 108 - 115: 6(float) Constant 1061997773 - 116: 6(float) Constant 1063675494 - 117: 6(float) Constant 1065353216 - 118: 7(fvec4) ConstantComposite 84 115 116 117 - 120(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 121: TypePointer Function 120(PS_OUTPUT) - 123: 25(int) Constant 0 - 124: 7(fvec4) ConstantComposite 117 117 117 117 - 126: 25(int) Constant 1 - 127: TypePointer Function 6(float) - 129: TypePointer Output 7(fvec4) - 130(Color): 129(ptr) Variable Output - 133: TypePointer Output 6(float) - 134(Depth): 133(ptr) Variable Output -138(g_tTex1df4a): 11(ptr) Variable UniformConstant + 16(g_tTex1df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: TypeVector 6(float) 2 + 25: 6(float) Constant 1036831949 + 26: 6(float) Constant 1045220557 + 27: 24(fvec2) ConstantComposite 25 26 + 29: TypeInt 32 1 + 30: TypeVector 29(int) 4 + 31: TypePointer Function 30(ivec4) + 33: TypeImage 29(int) 1D array sampled format:Unknown + 34: TypePointer UniformConstant 33 + 35(g_tTex1di4): 34(ptr) Variable UniformConstant + 38: TypeSampledImage 33 + 40: 6(float) Constant 1050253722 + 41: 24(fvec2) ConstantComposite 26 40 + 43: TypeInt 32 0 + 44: TypeVector 43(int) 4 + 45: TypePointer Function 44(ivec4) + 47: TypeImage 43(int) 1D array sampled format:Unknown + 48: TypePointer UniformConstant 47 + 49(g_tTex1du4): 48(ptr) Variable UniformConstant + 52: TypeSampledImage 47 + 54: 6(float) Constant 1053609165 + 55: 24(fvec2) ConstantComposite 40 54 + 58: TypeImage 6(float) 2D array sampled format:Unknown + 59: TypePointer UniformConstant 58 + 60(g_tTex2df4): 59(ptr) Variable UniformConstant + 63: TypeSampledImage 58 + 65: TypeVector 6(float) 3 + 66: 65(fvec3) ConstantComposite 25 26 40 + 69: TypeImage 29(int) 2D array sampled format:Unknown + 70: TypePointer UniformConstant 69 + 71(g_tTex2di4): 70(ptr) Variable UniformConstant + 74: TypeSampledImage 69 + 76: 6(float) Constant 1056964608 + 77: 65(fvec3) ConstantComposite 40 54 76 + 80: TypeImage 43(int) 2D array sampled format:Unknown + 81: TypePointer UniformConstant 80 + 82(g_tTex2du4): 81(ptr) Variable UniformConstant + 85: TypeSampledImage 80 + 87: 6(float) Constant 1058642330 + 88: 6(float) Constant 1060320051 + 89: 65(fvec3) ConstantComposite 76 87 88 + 92: TypeImage 6(float) Cube array sampled format:Unknown + 93: TypePointer UniformConstant 92 + 94(g_tTexcdf4): 93(ptr) Variable UniformConstant + 97: TypeSampledImage 92 + 99: 7(fvec4) ConstantComposite 25 26 40 54 + 102: TypeImage 29(int) Cube array sampled format:Unknown + 103: TypePointer UniformConstant 102 + 104(g_tTexcdi4): 103(ptr) Variable UniformConstant + 107: TypeSampledImage 102 + 109: 7(fvec4) ConstantComposite 54 76 87 88 + 112: TypeImage 43(int) Cube array sampled format:Unknown + 113: TypePointer UniformConstant 112 + 114(g_tTexcdu4): 113(ptr) Variable UniformConstant + 117: TypeSampledImage 112 + 119: 6(float) Constant 1061997773 + 120: 6(float) Constant 1063675494 + 121: 6(float) Constant 1065353216 + 122: 7(fvec4) ConstantComposite 88 119 120 121 + 124: TypePointer Function 8(PS_OUTPUT) + 126: 29(int) Constant 0 + 127: 7(fvec4) ConstantComposite 121 121 121 121 + 129: 29(int) Constant 1 + 130: TypePointer Function 6(float) + 137: TypePointer Output 7(fvec4) + 138(Color): 137(ptr) Variable Output + 141: TypePointer Output 6(float) + 142(Depth): 141(ptr) Variable Output +145(g_tTex1df4a): 15(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval10): 8(ptr) Variable Function - 28(txval11): 27(ptr) Variable Function - 42(txval12): 41(ptr) Variable Function - 53(txval20): 8(ptr) Variable Function - 64(txval21): 27(ptr) Variable Function - 75(txval22): 41(ptr) Variable Function - 87(txval40): 8(ptr) Variable Function - 97(txval41): 27(ptr) Variable Function - 107(txval42): 41(ptr) Variable Function - 122(psout): 121(ptr) Variable Function - 13: 10 Load 12(g_tTex1df4) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 24: 7(fvec4) ImageSampleImplicitLod 19 23 - Store 9(txval10) 24 - 32: 29 Load 31(g_tTex1di4) - 33: 14 Load 16(g_sSamp) - 35: 34 SampledImage 32 33 - 38: 26(ivec4) ImageSampleImplicitLod 35 37 - Store 28(txval11) 38 - 46: 43 Load 45(g_tTex1du4) - 47: 14 Load 16(g_sSamp) - 49: 48 SampledImage 46 47 - 52: 40(ivec4) ImageSampleImplicitLod 49 51 - Store 42(txval12) 52 - 57: 54 Load 56(g_tTex2df4) - 58: 14 Load 16(g_sSamp) - 60: 59 SampledImage 57 58 - 63: 7(fvec4) ImageSampleImplicitLod 60 62 - Store 53(txval20) 63 - 68: 65 Load 67(g_tTex2di4) - 69: 14 Load 16(g_sSamp) - 71: 70 SampledImage 68 69 - 74: 26(ivec4) ImageSampleImplicitLod 71 73 - Store 64(txval21) 74 - 79: 76 Load 78(g_tTex2du4) - 80: 14 Load 16(g_sSamp) - 82: 81 SampledImage 79 80 - 86: 40(ivec4) ImageSampleImplicitLod 82 85 - Store 75(txval22) 86 - 91: 88 Load 90(g_tTexcdf4) - 92: 14 Load 16(g_sSamp) - 94: 93 SampledImage 91 92 - 96: 7(fvec4) ImageSampleImplicitLod 94 95 - Store 87(txval40) 96 - 101: 98 Load 100(g_tTexcdi4) - 102: 14 Load 16(g_sSamp) - 104: 103 SampledImage 101 102 - 106: 26(ivec4) ImageSampleImplicitLod 104 105 - Store 97(txval41) 106 - 111: 108 Load 110(g_tTexcdu4) - 112: 14 Load 16(g_sSamp) - 114: 113 SampledImage 111 112 - 119: 40(ivec4) ImageSampleImplicitLod 114 118 - Store 107(txval42) 119 - 125: 8(ptr) AccessChain 122(psout) 123 - Store 125 124 - 128: 127(ptr) AccessChain 122(psout) 126 - Store 128 117 - 131: 8(ptr) AccessChain 122(psout) 123 - 132: 7(fvec4) Load 131 - Store 130(Color) 132 - 135: 127(ptr) AccessChain 122(psout) 126 - 136: 6(float) Load 135 - Store 134(Depth) 136 +135(flattenTemp): 124(ptr) Variable Function + 136:8(PS_OUTPUT) FunctionCall 10(@main() + Store 135(flattenTemp) 136 + 139: 12(ptr) AccessChain 135(flattenTemp) 126 + 140: 7(fvec4) Load 139 + Store 138(Color) 140 + 143: 130(ptr) AccessChain 135(flattenTemp) 129 + 144: 6(float) Load 143 + Store 142(Depth) 144 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval10): 12(ptr) Variable Function + 32(txval11): 31(ptr) Variable Function + 46(txval12): 45(ptr) Variable Function + 57(txval20): 12(ptr) Variable Function + 68(txval21): 31(ptr) Variable Function + 79(txval22): 45(ptr) Variable Function + 91(txval40): 12(ptr) Variable Function + 101(txval41): 31(ptr) Variable Function + 111(txval42): 45(ptr) Variable Function + 125(psout): 124(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 28: 7(fvec4) ImageSampleImplicitLod 23 27 + Store 13(txval10) 28 + 36: 33 Load 35(g_tTex1di4) + 37: 18 Load 20(g_sSamp) + 39: 38 SampledImage 36 37 + 42: 30(ivec4) ImageSampleImplicitLod 39 41 + Store 32(txval11) 42 + 50: 47 Load 49(g_tTex1du4) + 51: 18 Load 20(g_sSamp) + 53: 52 SampledImage 50 51 + 56: 44(ivec4) ImageSampleImplicitLod 53 55 + Store 46(txval12) 56 + 61: 58 Load 60(g_tTex2df4) + 62: 18 Load 20(g_sSamp) + 64: 63 SampledImage 61 62 + 67: 7(fvec4) ImageSampleImplicitLod 64 66 + Store 57(txval20) 67 + 72: 69 Load 71(g_tTex2di4) + 73: 18 Load 20(g_sSamp) + 75: 74 SampledImage 72 73 + 78: 30(ivec4) ImageSampleImplicitLod 75 77 + Store 68(txval21) 78 + 83: 80 Load 82(g_tTex2du4) + 84: 18 Load 20(g_sSamp) + 86: 85 SampledImage 83 84 + 90: 44(ivec4) ImageSampleImplicitLod 86 89 + Store 79(txval22) 90 + 95: 92 Load 94(g_tTexcdf4) + 96: 18 Load 20(g_sSamp) + 98: 97 SampledImage 95 96 + 100: 7(fvec4) ImageSampleImplicitLod 98 99 + Store 91(txval40) 100 + 105: 102 Load 104(g_tTexcdi4) + 106: 18 Load 20(g_sSamp) + 108: 107 SampledImage 105 106 + 110: 30(ivec4) ImageSampleImplicitLod 108 109 + Store 101(txval41) 110 + 115: 112 Load 114(g_tTexcdu4) + 116: 18 Load 20(g_sSamp) + 118: 117 SampledImage 115 116 + 123: 44(ivec4) ImageSampleImplicitLod 118 122 + Store 111(txval42) 123 + 128: 12(ptr) AccessChain 125(psout) 126 + Store 128 127 + 131: 130(ptr) AccessChain 125(psout) 129 + Store 131 121 + 132:8(PS_OUTPUT) Load 125(psout) + ReturnValue 132 + FunctionEnd diff --git a/Test/baseResults/hlsl.sample.basic.dx10.frag.out b/Test/baseResults/hlsl.sample.basic.dx10.frag.out index a222125a..c09389cf 100644 --- a/Test/baseResults/hlsl.sample.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.sample.basic.dx10.frag.out @@ -4,7 +4,7 @@ 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 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) @@ -231,24 +231,28 @@ gl_FragCoord origin is upper left 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: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:? '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:? '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:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) 0:? 'g_sSamp2D_b' (uniform sampler) @@ -265,6 +269,8 @@ gl_FragCoord origin is upper left 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: @@ -273,7 +279,7 @@ 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 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) @@ -500,24 +506,28 @@ gl_FragCoord origin is upper left 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: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:? '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:? '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:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) 0:? 'g_sSamp2D_b' (uniform sampler) @@ -534,302 +544,315 @@ gl_FragCoord origin is upper left 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 +// Id's are bound by 198 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 180 184 + EntryPoint Fragment 4 "main" 188 192 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 + 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 "Color" + Name 192 "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(Color) Location 0 + Decorate 192(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: 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 + 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_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 + 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(Color): 187(ptr) Variable Output + 191: TypePointer Output 6(float) + 192(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 - 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 +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(Color) 190 + 193: 180(ptr) AccessChain 185(flattenTemp) 16 + 194: 6(float) Load 193 + Store 192(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 diff --git a/Test/baseResults/hlsl.sample.offset.dx10.frag.out b/Test/baseResults/hlsl.sample.offset.dx10.frag.out index a148a86e..99e32311 100644 --- a/Test/baseResults/hlsl.sample.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.sample.offset.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.sample.offset.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:28 Function Parameters: 0:? Sequence 0:31 Sequence @@ -139,24 +139,28 @@ gl_FragCoord origin is upper left 0:46 1 (const int) 0:46 Constant: 0:46 1.000000 -0:48 Sequence -0:48 Sequence -0:48 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:48 Color: direct index for structure (temp 4-component vector of float) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:48 Constant: -0:48 0 (const int) -0:48 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:48 Depth: direct index for structure (temp float) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:48 Constant: -0:48 1 (const int) -0:48 Branch: Return +0:48 Branch: Return with expression +0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: main( (temp void) +0:28 Function Parameters: +0:? Sequence +0:28 Sequence +0:28 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:28 Color: direct index for structure (temp 4-component vector of float) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 0 (const int) +0:28 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:28 Depth: direct index for structure (temp float) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -171,6 +175,8 @@ gl_FragCoord origin is upper left 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: @@ -179,7 +185,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:28 Function Parameters: 0:? Sequence 0:31 Sequence @@ -316,24 +322,28 @@ gl_FragCoord origin is upper left 0:46 1 (const int) 0:46 Constant: 0:46 1.000000 -0:48 Sequence -0:48 Sequence -0:48 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:48 Color: direct index for structure (temp 4-component vector of float) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:48 Constant: -0:48 0 (const int) -0:48 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:48 Depth: direct index for structure (temp float) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:48 Constant: -0:48 1 (const int) -0:48 Branch: Return +0:48 Branch: Return with expression +0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: main( (temp void) +0:28 Function Parameters: +0:? Sequence +0:28 Sequence +0:28 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:28 Color: direct index for structure (temp 4-component vector of float) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 0 (const int) +0:28 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:28 Depth: direct index for structure (temp float) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -348,229 +358,242 @@ gl_FragCoord origin is upper left 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 154 +// Id's are bound by 161 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 136 140 + EntryPoint Fragment 4 "main" 144 148 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval10" - Name 12 "g_tTex1df4" - Name 16 "g_sSamp" - Name 26 "txval11" - Name 29 "g_tTex1di4" - Name 39 "txval12" - Name 42 "g_tTex1du4" - Name 49 "txval20" - Name 52 "g_tTex2df4" - Name 63 "txval21" - Name 66 "g_tTex2di4" - Name 75 "txval22" - Name 78 "g_tTex2du4" - Name 89 "txval30" - Name 92 "g_tTex3df4" - Name 102 "txval31" - Name 105 "g_tTex3di4" - Name 113 "txval32" - Name 116 "g_tTex3du4" - Name 127 "PS_OUTPUT" - MemberName 127(PS_OUTPUT) 0 "Color" - MemberName 127(PS_OUTPUT) 1 "Depth" - Name 129 "psout" - Name 136 "Color" - Name 140 "Depth" - Name 144 "g_tTex1df4a" - Name 147 "g_tTexcdf4" - Name 150 "g_tTexcdi4" - Name 153 "g_tTexcdu4" - Decorate 12(g_tTex1df4) DescriptorSet 0 - Decorate 12(g_tTex1df4) Binding 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - Decorate 29(g_tTex1di4) DescriptorSet 0 - Decorate 42(g_tTex1du4) DescriptorSet 0 - Decorate 52(g_tTex2df4) DescriptorSet 0 - Decorate 66(g_tTex2di4) DescriptorSet 0 - Decorate 78(g_tTex2du4) DescriptorSet 0 - Decorate 92(g_tTex3df4) DescriptorSet 0 - Decorate 105(g_tTex3di4) DescriptorSet 0 - Decorate 116(g_tTex3du4) DescriptorSet 0 - Decorate 136(Color) Location 0 - Decorate 140(Depth) BuiltIn FragDepth - Decorate 144(g_tTex1df4a) DescriptorSet 0 - Decorate 144(g_tTex1df4a) Binding 1 - Decorate 147(g_tTexcdf4) DescriptorSet 0 - Decorate 150(g_tTexcdi4) DescriptorSet 0 - Decorate 153(g_tTexcdu4) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval10" + Name 16 "g_tTex1df4" + Name 20 "g_sSamp" + Name 30 "txval11" + Name 33 "g_tTex1di4" + Name 43 "txval12" + Name 46 "g_tTex1du4" + Name 53 "txval20" + Name 56 "g_tTex2df4" + Name 67 "txval21" + Name 70 "g_tTex2di4" + Name 79 "txval22" + Name 82 "g_tTex2du4" + Name 93 "txval30" + Name 96 "g_tTex3df4" + Name 106 "txval31" + Name 109 "g_tTex3di4" + Name 117 "txval32" + Name 120 "g_tTex3du4" + Name 132 "psout" + Name 141 "flattenTemp" + Name 144 "Color" + Name 148 "Depth" + Name 151 "g_tTex1df4a" + Name 154 "g_tTexcdf4" + Name 157 "g_tTexcdi4" + Name 160 "g_tTexcdu4" + Decorate 16(g_tTex1df4) DescriptorSet 0 + Decorate 16(g_tTex1df4) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 33(g_tTex1di4) DescriptorSet 0 + Decorate 46(g_tTex1du4) DescriptorSet 0 + Decorate 56(g_tTex2df4) DescriptorSet 0 + Decorate 70(g_tTex2di4) DescriptorSet 0 + Decorate 82(g_tTex2du4) DescriptorSet 0 + Decorate 96(g_tTex3df4) DescriptorSet 0 + Decorate 109(g_tTex3di4) DescriptorSet 0 + Decorate 120(g_tTex3du4) DescriptorSet 0 + Decorate 144(Color) Location 0 + Decorate 148(Depth) BuiltIn FragDepth + Decorate 151(g_tTex1df4a) DescriptorSet 0 + Decorate 151(g_tTex1df4a) Binding 1 + Decorate 154(g_tTexcdf4) DescriptorSet 0 + Decorate 157(g_tTexcdi4) DescriptorSet 0 + Decorate 160(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 1D sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex1df4): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 1D sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: 6(float) Constant 1036831949 - 21: TypeInt 32 1 - 22: 21(int) Constant 1 - 24: TypeVector 21(int) 4 - 25: TypePointer Function 24(ivec4) - 27: TypeImage 21(int) 1D sampled format:Unknown - 28: TypePointer UniformConstant 27 - 29(g_tTex1di4): 28(ptr) Variable UniformConstant - 32: TypeSampledImage 27 - 34: 6(float) Constant 1045220557 - 36: TypeInt 32 0 - 37: TypeVector 36(int) 4 - 38: TypePointer Function 37(ivec4) - 40: TypeImage 36(int) 1D sampled format:Unknown - 41: TypePointer UniformConstant 40 - 42(g_tTex1du4): 41(ptr) Variable UniformConstant - 45: TypeSampledImage 40 - 47: 6(float) Constant 1050253722 - 50: TypeImage 6(float) 2D sampled format:Unknown - 51: TypePointer UniformConstant 50 - 52(g_tTex2df4): 51(ptr) Variable UniformConstant - 55: TypeSampledImage 50 - 57: TypeVector 6(float) 2 - 58: 57(fvec2) ConstantComposite 20 34 - 59: TypeVector 21(int) 2 - 60: 21(int) Constant 0 - 61: 59(ivec2) ConstantComposite 22 60 - 64: TypeImage 21(int) 2D sampled format:Unknown - 65: TypePointer UniformConstant 64 - 66(g_tTex2di4): 65(ptr) Variable UniformConstant - 69: TypeSampledImage 64 - 71: 6(float) Constant 1053609165 - 72: 57(fvec2) ConstantComposite 47 71 - 73: 59(ivec2) ConstantComposite 22 22 - 76: TypeImage 36(int) 2D sampled format:Unknown - 77: TypePointer UniformConstant 76 - 78(g_tTex2du4): 77(ptr) Variable UniformConstant - 81: TypeSampledImage 76 - 83: 6(float) Constant 1056964608 - 84: 6(float) Constant 1058642330 - 85: 57(fvec2) ConstantComposite 83 84 - 86: 21(int) Constant 4294967295 - 87: 59(ivec2) ConstantComposite 22 86 - 90: TypeImage 6(float) 3D sampled format:Unknown - 91: TypePointer UniformConstant 90 - 92(g_tTex3df4): 91(ptr) Variable UniformConstant - 95: TypeSampledImage 90 - 97: TypeVector 6(float) 3 - 98: 97(fvec3) ConstantComposite 20 34 47 - 99: TypeVector 21(int) 3 - 100: 99(ivec3) ConstantComposite 22 60 22 - 103: TypeImage 21(int) 3D sampled format:Unknown - 104: TypePointer UniformConstant 103 - 105(g_tTex3di4): 104(ptr) Variable UniformConstant - 108: TypeSampledImage 103 - 110: 97(fvec3) ConstantComposite 71 83 84 - 111: 99(ivec3) ConstantComposite 22 22 22 - 114: TypeImage 36(int) 3D sampled format:Unknown - 115: TypePointer UniformConstant 114 - 116(g_tTex3du4): 115(ptr) Variable UniformConstant - 119: TypeSampledImage 114 - 121: 6(float) Constant 1060320051 - 122: 6(float) Constant 1061997773 - 123: 6(float) Constant 1063675494 - 124: 97(fvec3) ConstantComposite 121 122 123 - 125: 99(ivec3) ConstantComposite 22 60 86 - 127(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 128: TypePointer Function 127(PS_OUTPUT) - 130: 6(float) Constant 1065353216 - 131: 7(fvec4) ConstantComposite 130 130 130 130 - 133: TypePointer Function 6(float) - 135: TypePointer Output 7(fvec4) - 136(Color): 135(ptr) Variable Output - 139: TypePointer Output 6(float) - 140(Depth): 139(ptr) Variable Output -144(g_tTex1df4a): 11(ptr) Variable UniformConstant - 145: TypeImage 6(float) Cube sampled format:Unknown - 146: TypePointer UniformConstant 145 - 147(g_tTexcdf4): 146(ptr) Variable UniformConstant - 148: TypeImage 21(int) Cube sampled format:Unknown - 149: TypePointer UniformConstant 148 - 150(g_tTexcdi4): 149(ptr) Variable UniformConstant - 151: TypeImage 36(int) Cube sampled format:Unknown - 152: TypePointer UniformConstant 151 - 153(g_tTexcdu4): 152(ptr) Variable UniformConstant + 16(g_tTex1df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: 6(float) Constant 1036831949 + 25: TypeInt 32 1 + 26: 25(int) Constant 1 + 28: TypeVector 25(int) 4 + 29: TypePointer Function 28(ivec4) + 31: TypeImage 25(int) 1D sampled format:Unknown + 32: TypePointer UniformConstant 31 + 33(g_tTex1di4): 32(ptr) Variable UniformConstant + 36: TypeSampledImage 31 + 38: 6(float) Constant 1045220557 + 40: TypeInt 32 0 + 41: TypeVector 40(int) 4 + 42: TypePointer Function 41(ivec4) + 44: TypeImage 40(int) 1D sampled format:Unknown + 45: TypePointer UniformConstant 44 + 46(g_tTex1du4): 45(ptr) Variable UniformConstant + 49: TypeSampledImage 44 + 51: 6(float) Constant 1050253722 + 54: TypeImage 6(float) 2D sampled format:Unknown + 55: TypePointer UniformConstant 54 + 56(g_tTex2df4): 55(ptr) Variable UniformConstant + 59: TypeSampledImage 54 + 61: TypeVector 6(float) 2 + 62: 61(fvec2) ConstantComposite 24 38 + 63: TypeVector 25(int) 2 + 64: 25(int) Constant 0 + 65: 63(ivec2) ConstantComposite 26 64 + 68: TypeImage 25(int) 2D sampled format:Unknown + 69: TypePointer UniformConstant 68 + 70(g_tTex2di4): 69(ptr) Variable UniformConstant + 73: TypeSampledImage 68 + 75: 6(float) Constant 1053609165 + 76: 61(fvec2) ConstantComposite 51 75 + 77: 63(ivec2) ConstantComposite 26 26 + 80: TypeImage 40(int) 2D sampled format:Unknown + 81: TypePointer UniformConstant 80 + 82(g_tTex2du4): 81(ptr) Variable UniformConstant + 85: TypeSampledImage 80 + 87: 6(float) Constant 1056964608 + 88: 6(float) Constant 1058642330 + 89: 61(fvec2) ConstantComposite 87 88 + 90: 25(int) Constant 4294967295 + 91: 63(ivec2) ConstantComposite 26 90 + 94: TypeImage 6(float) 3D sampled format:Unknown + 95: TypePointer UniformConstant 94 + 96(g_tTex3df4): 95(ptr) Variable UniformConstant + 99: TypeSampledImage 94 + 101: TypeVector 6(float) 3 + 102: 101(fvec3) ConstantComposite 24 38 51 + 103: TypeVector 25(int) 3 + 104: 103(ivec3) ConstantComposite 26 64 26 + 107: TypeImage 25(int) 3D sampled format:Unknown + 108: TypePointer UniformConstant 107 + 109(g_tTex3di4): 108(ptr) Variable UniformConstant + 112: TypeSampledImage 107 + 114: 101(fvec3) ConstantComposite 75 87 88 + 115: 103(ivec3) ConstantComposite 26 26 26 + 118: TypeImage 40(int) 3D sampled format:Unknown + 119: TypePointer UniformConstant 118 + 120(g_tTex3du4): 119(ptr) Variable UniformConstant + 123: TypeSampledImage 118 + 125: 6(float) Constant 1060320051 + 126: 6(float) Constant 1061997773 + 127: 6(float) Constant 1063675494 + 128: 101(fvec3) ConstantComposite 125 126 127 + 129: 103(ivec3) ConstantComposite 26 64 90 + 131: TypePointer Function 8(PS_OUTPUT) + 133: 6(float) Constant 1065353216 + 134: 7(fvec4) ConstantComposite 133 133 133 133 + 136: TypePointer Function 6(float) + 143: TypePointer Output 7(fvec4) + 144(Color): 143(ptr) Variable Output + 147: TypePointer Output 6(float) + 148(Depth): 147(ptr) Variable Output +151(g_tTex1df4a): 15(ptr) Variable UniformConstant + 152: TypeImage 6(float) Cube sampled format:Unknown + 153: TypePointer UniformConstant 152 + 154(g_tTexcdf4): 153(ptr) Variable UniformConstant + 155: TypeImage 25(int) Cube sampled format:Unknown + 156: TypePointer UniformConstant 155 + 157(g_tTexcdi4): 156(ptr) Variable UniformConstant + 158: TypeImage 40(int) Cube sampled format:Unknown + 159: TypePointer UniformConstant 158 + 160(g_tTexcdu4): 159(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval10): 8(ptr) Variable Function - 26(txval11): 25(ptr) Variable Function - 39(txval12): 38(ptr) Variable Function - 49(txval20): 8(ptr) Variable Function - 63(txval21): 25(ptr) Variable Function - 75(txval22): 38(ptr) Variable Function - 89(txval30): 8(ptr) Variable Function - 102(txval31): 25(ptr) Variable Function - 113(txval32): 38(ptr) Variable Function - 129(psout): 128(ptr) Variable Function - 13: 10 Load 12(g_tTex1df4) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 23: 7(fvec4) ImageSampleImplicitLod 19 20 ConstOffset 22 - Store 9(txval10) 23 - 30: 27 Load 29(g_tTex1di4) - 31: 14 Load 16(g_sSamp) - 33: 32 SampledImage 30 31 - 35: 24(ivec4) ImageSampleImplicitLod 33 34 ConstOffset 22 - Store 26(txval11) 35 - 43: 40 Load 42(g_tTex1du4) - 44: 14 Load 16(g_sSamp) - 46: 45 SampledImage 43 44 - 48: 37(ivec4) ImageSampleImplicitLod 46 47 ConstOffset 22 - Store 39(txval12) 48 - 53: 50 Load 52(g_tTex2df4) - 54: 14 Load 16(g_sSamp) - 56: 55 SampledImage 53 54 - 62: 7(fvec4) ImageSampleImplicitLod 56 58 ConstOffset 61 - Store 49(txval20) 62 - 67: 64 Load 66(g_tTex2di4) - 68: 14 Load 16(g_sSamp) - 70: 69 SampledImage 67 68 - 74: 24(ivec4) ImageSampleImplicitLod 70 72 ConstOffset 73 - Store 63(txval21) 74 - 79: 76 Load 78(g_tTex2du4) - 80: 14 Load 16(g_sSamp) - 82: 81 SampledImage 79 80 - 88: 37(ivec4) ImageSampleImplicitLod 82 85 ConstOffset 87 - Store 75(txval22) 88 - 93: 90 Load 92(g_tTex3df4) - 94: 14 Load 16(g_sSamp) - 96: 95 SampledImage 93 94 - 101: 7(fvec4) ImageSampleImplicitLod 96 98 ConstOffset 100 - Store 89(txval30) 101 - 106: 103 Load 105(g_tTex3di4) - 107: 14 Load 16(g_sSamp) - 109: 108 SampledImage 106 107 - 112: 24(ivec4) ImageSampleImplicitLod 109 110 ConstOffset 111 - Store 102(txval31) 112 - 117: 114 Load 116(g_tTex3du4) - 118: 14 Load 16(g_sSamp) - 120: 119 SampledImage 117 118 - 126: 37(ivec4) ImageSampleImplicitLod 120 124 ConstOffset 125 - Store 113(txval32) 126 - 132: 8(ptr) AccessChain 129(psout) 60 - Store 132 131 - 134: 133(ptr) AccessChain 129(psout) 22 - Store 134 130 - 137: 8(ptr) AccessChain 129(psout) 60 - 138: 7(fvec4) Load 137 - Store 136(Color) 138 - 141: 133(ptr) AccessChain 129(psout) 22 - 142: 6(float) Load 141 - Store 140(Depth) 142 +141(flattenTemp): 131(ptr) Variable Function + 142:8(PS_OUTPUT) FunctionCall 10(@main() + Store 141(flattenTemp) 142 + 145: 12(ptr) AccessChain 141(flattenTemp) 64 + 146: 7(fvec4) Load 145 + Store 144(Color) 146 + 149: 136(ptr) AccessChain 141(flattenTemp) 26 + 150: 6(float) Load 149 + Store 148(Depth) 150 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval10): 12(ptr) Variable Function + 30(txval11): 29(ptr) Variable Function + 43(txval12): 42(ptr) Variable Function + 53(txval20): 12(ptr) Variable Function + 67(txval21): 29(ptr) Variable Function + 79(txval22): 42(ptr) Variable Function + 93(txval30): 12(ptr) Variable Function + 106(txval31): 29(ptr) Variable Function + 117(txval32): 42(ptr) Variable Function + 132(psout): 131(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 27: 7(fvec4) ImageSampleImplicitLod 23 24 ConstOffset 26 + Store 13(txval10) 27 + 34: 31 Load 33(g_tTex1di4) + 35: 18 Load 20(g_sSamp) + 37: 36 SampledImage 34 35 + 39: 28(ivec4) ImageSampleImplicitLod 37 38 ConstOffset 26 + Store 30(txval11) 39 + 47: 44 Load 46(g_tTex1du4) + 48: 18 Load 20(g_sSamp) + 50: 49 SampledImage 47 48 + 52: 41(ivec4) ImageSampleImplicitLod 50 51 ConstOffset 26 + Store 43(txval12) 52 + 57: 54 Load 56(g_tTex2df4) + 58: 18 Load 20(g_sSamp) + 60: 59 SampledImage 57 58 + 66: 7(fvec4) ImageSampleImplicitLod 60 62 ConstOffset 65 + Store 53(txval20) 66 + 71: 68 Load 70(g_tTex2di4) + 72: 18 Load 20(g_sSamp) + 74: 73 SampledImage 71 72 + 78: 28(ivec4) ImageSampleImplicitLod 74 76 ConstOffset 77 + Store 67(txval21) 78 + 83: 80 Load 82(g_tTex2du4) + 84: 18 Load 20(g_sSamp) + 86: 85 SampledImage 83 84 + 92: 41(ivec4) ImageSampleImplicitLod 86 89 ConstOffset 91 + Store 79(txval22) 92 + 97: 94 Load 96(g_tTex3df4) + 98: 18 Load 20(g_sSamp) + 100: 99 SampledImage 97 98 + 105: 7(fvec4) ImageSampleImplicitLod 100 102 ConstOffset 104 + Store 93(txval30) 105 + 110: 107 Load 109(g_tTex3di4) + 111: 18 Load 20(g_sSamp) + 113: 112 SampledImage 110 111 + 116: 28(ivec4) ImageSampleImplicitLod 113 114 ConstOffset 115 + Store 106(txval31) 116 + 121: 118 Load 120(g_tTex3du4) + 122: 18 Load 20(g_sSamp) + 124: 123 SampledImage 121 122 + 130: 41(ivec4) ImageSampleImplicitLod 124 128 ConstOffset 129 + Store 117(txval32) 130 + 135: 12(ptr) AccessChain 132(psout) 64 + Store 135 134 + 137: 136(ptr) AccessChain 132(psout) 26 + Store 137 133 + 138:8(PS_OUTPUT) Load 132(psout) + ReturnValue 138 + FunctionEnd diff --git a/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out index abdf0327..177cee3d 100644 --- a/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.sample.offsetarray.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:20 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:20 Function Parameters: 0:? Sequence 0:23 Sequence @@ -100,24 +100,28 @@ gl_FragCoord origin is upper left 0:34 1 (const int) 0:34 Constant: 0:34 1.000000 -0:36 Sequence -0:36 Sequence -0:36 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:36 Color: direct index for structure (temp 4-component vector of float) -0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:36 Constant: -0:36 0 (const int) -0:36 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:36 Depth: direct index for structure (temp float) -0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:36 Constant: -0:36 1 (const int) -0:36 Branch: Return +0:36 Branch: Return with expression +0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Function Definition: main( (temp void) +0:20 Function Parameters: +0:? Sequence +0:20 Sequence +0:20 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:20 Color: direct index for structure (temp 4-component vector of float) +0:20 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Constant: +0:20 0 (const int) +0:20 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:20 Depth: direct index for structure (temp float) +0:20 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Constant: +0:20 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -126,6 +130,8 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2df4' (uniform texture2DArray) 0:? 'g_tTex2di4' (uniform itexture2DArray) 0:? 'g_tTex2du4' (uniform utexture2DArray) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -134,7 +140,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:20 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:20 Function Parameters: 0:? Sequence 0:23 Sequence @@ -232,24 +238,28 @@ gl_FragCoord origin is upper left 0:34 1 (const int) 0:34 Constant: 0:34 1.000000 -0:36 Sequence -0:36 Sequence -0:36 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:36 Color: direct index for structure (temp 4-component vector of float) -0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:36 Constant: -0:36 0 (const int) -0:36 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:36 Depth: direct index for structure (temp float) -0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:36 Constant: -0:36 1 (const int) -0:36 Branch: Return +0:36 Branch: Return with expression +0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Function Definition: main( (temp void) +0:20 Function Parameters: +0:? Sequence +0:20 Sequence +0:20 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:20 Color: direct index for structure (temp 4-component vector of float) +0:20 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Constant: +0:20 0 (const int) +0:20 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:20 Depth: direct index for structure (temp float) +0:20 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Constant: +0:20 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -258,168 +268,181 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2df4' (uniform texture2DArray) 0:? 'g_tTex2di4' (uniform itexture2DArray) 0:? 'g_tTex2du4' (uniform utexture2DArray) +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 111 +// Id's are bound by 118 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 102 106 + EntryPoint Fragment 4 "main" 110 114 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval10" - Name 12 "g_tTex1df4" - Name 16 "g_sSamp" - Name 29 "txval11" - Name 32 "g_tTex1di4" - Name 44 "txval12" - Name 47 "g_tTex1du4" - Name 56 "txval20" - Name 59 "g_tTex2df4" - Name 69 "txval21" - Name 72 "g_tTex2di4" - Name 80 "txval22" - Name 83 "g_tTex2du4" - Name 93 "PS_OUTPUT" - MemberName 93(PS_OUTPUT) 0 "Color" - MemberName 93(PS_OUTPUT) 1 "Depth" - Name 95 "psout" - Name 102 "Color" - Name 106 "Depth" - Name 110 "g_tTex1df4a" - Decorate 12(g_tTex1df4) DescriptorSet 0 - Decorate 12(g_tTex1df4) Binding 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - Decorate 32(g_tTex1di4) DescriptorSet 0 - Decorate 47(g_tTex1du4) DescriptorSet 0 - Decorate 59(g_tTex2df4) DescriptorSet 0 - Decorate 72(g_tTex2di4) DescriptorSet 0 - Decorate 83(g_tTex2du4) DescriptorSet 0 - Decorate 102(Color) Location 0 - Decorate 106(Depth) BuiltIn FragDepth - Decorate 110(g_tTex1df4a) DescriptorSet 0 - Decorate 110(g_tTex1df4a) Binding 1 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval10" + Name 16 "g_tTex1df4" + Name 20 "g_sSamp" + Name 33 "txval11" + Name 36 "g_tTex1di4" + Name 48 "txval12" + Name 51 "g_tTex1du4" + Name 60 "txval20" + Name 63 "g_tTex2df4" + Name 73 "txval21" + Name 76 "g_tTex2di4" + Name 84 "txval22" + Name 87 "g_tTex2du4" + Name 98 "psout" + Name 107 "flattenTemp" + Name 110 "Color" + Name 114 "Depth" + Name 117 "g_tTex1df4a" + Decorate 16(g_tTex1df4) DescriptorSet 0 + Decorate 16(g_tTex1df4) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 36(g_tTex1di4) DescriptorSet 0 + Decorate 51(g_tTex1du4) DescriptorSet 0 + Decorate 63(g_tTex2df4) DescriptorSet 0 + Decorate 76(g_tTex2di4) DescriptorSet 0 + Decorate 87(g_tTex2du4) DescriptorSet 0 + Decorate 110(Color) Location 0 + Decorate 114(Depth) BuiltIn FragDepth + Decorate 117(g_tTex1df4a) DescriptorSet 0 + Decorate 117(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 1D array sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex1df4): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 1D array sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: TypeVector 6(float) 2 - 21: 6(float) Constant 1036831949 - 22: 6(float) Constant 1045220557 - 23: 20(fvec2) ConstantComposite 21 22 - 24: TypeInt 32 1 - 25: 24(int) Constant 0 - 27: TypeVector 24(int) 4 - 28: TypePointer Function 27(ivec4) - 30: TypeImage 24(int) 1D array sampled format:Unknown - 31: TypePointer UniformConstant 30 - 32(g_tTex1di4): 31(ptr) Variable UniformConstant - 35: TypeSampledImage 30 - 37: 6(float) Constant 1050253722 - 38: 20(fvec2) ConstantComposite 22 37 - 39: 24(int) Constant 1 - 41: TypeInt 32 0 - 42: TypeVector 41(int) 4 - 43: TypePointer Function 42(ivec4) - 45: TypeImage 41(int) 1D array sampled format:Unknown - 46: TypePointer UniformConstant 45 - 47(g_tTex1du4): 46(ptr) Variable UniformConstant - 50: TypeSampledImage 45 - 52: 6(float) Constant 1053609165 - 53: 20(fvec2) ConstantComposite 37 52 - 54: 24(int) Constant 2 - 57: TypeImage 6(float) 2D array sampled format:Unknown - 58: TypePointer UniformConstant 57 - 59(g_tTex2df4): 58(ptr) Variable UniformConstant - 62: TypeSampledImage 57 - 64: TypeVector 6(float) 3 - 65: 64(fvec3) ConstantComposite 21 22 37 - 66: TypeVector 24(int) 2 - 67: 66(ivec2) ConstantComposite 25 25 - 70: TypeImage 24(int) 2D array sampled format:Unknown - 71: TypePointer UniformConstant 70 - 72(g_tTex2di4): 71(ptr) Variable UniformConstant - 75: TypeSampledImage 70 - 77: 6(float) Constant 1056964608 - 78: 64(fvec3) ConstantComposite 37 52 77 - 81: TypeImage 41(int) 2D array sampled format:Unknown - 82: TypePointer UniformConstant 81 - 83(g_tTex2du4): 82(ptr) Variable UniformConstant - 86: TypeSampledImage 81 - 88: 6(float) Constant 1058642330 - 89: 6(float) Constant 1060320051 - 90: 64(fvec3) ConstantComposite 77 88 89 - 91: 66(ivec2) ConstantComposite 25 39 - 93(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 94: TypePointer Function 93(PS_OUTPUT) - 96: 6(float) Constant 1065353216 - 97: 7(fvec4) ConstantComposite 96 96 96 96 - 99: TypePointer Function 6(float) - 101: TypePointer Output 7(fvec4) - 102(Color): 101(ptr) Variable Output - 105: TypePointer Output 6(float) - 106(Depth): 105(ptr) Variable Output -110(g_tTex1df4a): 11(ptr) Variable UniformConstant + 16(g_tTex1df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: TypeVector 6(float) 2 + 25: 6(float) Constant 1036831949 + 26: 6(float) Constant 1045220557 + 27: 24(fvec2) ConstantComposite 25 26 + 28: TypeInt 32 1 + 29: 28(int) Constant 0 + 31: TypeVector 28(int) 4 + 32: TypePointer Function 31(ivec4) + 34: TypeImage 28(int) 1D array sampled format:Unknown + 35: TypePointer UniformConstant 34 + 36(g_tTex1di4): 35(ptr) Variable UniformConstant + 39: TypeSampledImage 34 + 41: 6(float) Constant 1050253722 + 42: 24(fvec2) ConstantComposite 26 41 + 43: 28(int) Constant 1 + 45: TypeInt 32 0 + 46: TypeVector 45(int) 4 + 47: TypePointer Function 46(ivec4) + 49: TypeImage 45(int) 1D array sampled format:Unknown + 50: TypePointer UniformConstant 49 + 51(g_tTex1du4): 50(ptr) Variable UniformConstant + 54: TypeSampledImage 49 + 56: 6(float) Constant 1053609165 + 57: 24(fvec2) ConstantComposite 41 56 + 58: 28(int) Constant 2 + 61: TypeImage 6(float) 2D array sampled format:Unknown + 62: TypePointer UniformConstant 61 + 63(g_tTex2df4): 62(ptr) Variable UniformConstant + 66: TypeSampledImage 61 + 68: TypeVector 6(float) 3 + 69: 68(fvec3) ConstantComposite 25 26 41 + 70: TypeVector 28(int) 2 + 71: 70(ivec2) ConstantComposite 29 29 + 74: TypeImage 28(int) 2D array sampled format:Unknown + 75: TypePointer UniformConstant 74 + 76(g_tTex2di4): 75(ptr) Variable UniformConstant + 79: TypeSampledImage 74 + 81: 6(float) Constant 1056964608 + 82: 68(fvec3) ConstantComposite 41 56 81 + 85: TypeImage 45(int) 2D array sampled format:Unknown + 86: TypePointer UniformConstant 85 + 87(g_tTex2du4): 86(ptr) Variable UniformConstant + 90: TypeSampledImage 85 + 92: 6(float) Constant 1058642330 + 93: 6(float) Constant 1060320051 + 94: 68(fvec3) ConstantComposite 81 92 93 + 95: 70(ivec2) ConstantComposite 29 43 + 97: TypePointer Function 8(PS_OUTPUT) + 99: 6(float) Constant 1065353216 + 100: 7(fvec4) ConstantComposite 99 99 99 99 + 102: TypePointer Function 6(float) + 109: TypePointer Output 7(fvec4) + 110(Color): 109(ptr) Variable Output + 113: TypePointer Output 6(float) + 114(Depth): 113(ptr) Variable Output +117(g_tTex1df4a): 15(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval10): 8(ptr) Variable Function - 29(txval11): 28(ptr) Variable Function - 44(txval12): 43(ptr) Variable Function - 56(txval20): 8(ptr) Variable Function - 69(txval21): 28(ptr) Variable Function - 80(txval22): 43(ptr) Variable Function - 95(psout): 94(ptr) Variable Function - 13: 10 Load 12(g_tTex1df4) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 26: 7(fvec4) ImageSampleImplicitLod 19 23 ConstOffset 25 - Store 9(txval10) 26 - 33: 30 Load 32(g_tTex1di4) - 34: 14 Load 16(g_sSamp) - 36: 35 SampledImage 33 34 - 40: 27(ivec4) ImageSampleImplicitLod 36 38 ConstOffset 39 - Store 29(txval11) 40 - 48: 45 Load 47(g_tTex1du4) - 49: 14 Load 16(g_sSamp) - 51: 50 SampledImage 48 49 - 55: 42(ivec4) ImageSampleImplicitLod 51 53 ConstOffset 54 - Store 44(txval12) 55 - 60: 57 Load 59(g_tTex2df4) - 61: 14 Load 16(g_sSamp) - 63: 62 SampledImage 60 61 - 68: 7(fvec4) ImageSampleImplicitLod 63 65 ConstOffset 67 - Store 56(txval20) 68 - 73: 70 Load 72(g_tTex2di4) - 74: 14 Load 16(g_sSamp) - 76: 75 SampledImage 73 74 - 79: 27(ivec4) ImageSampleImplicitLod 76 78 ConstOffset 67 - Store 69(txval21) 79 - 84: 81 Load 83(g_tTex2du4) - 85: 14 Load 16(g_sSamp) - 87: 86 SampledImage 84 85 - 92: 42(ivec4) ImageSampleImplicitLod 87 90 ConstOffset 91 - Store 80(txval22) 92 - 98: 8(ptr) AccessChain 95(psout) 25 - Store 98 97 - 100: 99(ptr) AccessChain 95(psout) 39 - Store 100 96 - 103: 8(ptr) AccessChain 95(psout) 25 - 104: 7(fvec4) Load 103 - Store 102(Color) 104 - 107: 99(ptr) AccessChain 95(psout) 39 - 108: 6(float) Load 107 - Store 106(Depth) 108 +107(flattenTemp): 97(ptr) Variable Function + 108:8(PS_OUTPUT) FunctionCall 10(@main() + Store 107(flattenTemp) 108 + 111: 12(ptr) AccessChain 107(flattenTemp) 29 + 112: 7(fvec4) Load 111 + Store 110(Color) 112 + 115: 102(ptr) AccessChain 107(flattenTemp) 43 + 116: 6(float) Load 115 + Store 114(Depth) 116 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval10): 12(ptr) Variable Function + 33(txval11): 32(ptr) Variable Function + 48(txval12): 47(ptr) Variable Function + 60(txval20): 12(ptr) Variable Function + 73(txval21): 32(ptr) Variable Function + 84(txval22): 47(ptr) Variable Function + 98(psout): 97(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 30: 7(fvec4) ImageSampleImplicitLod 23 27 ConstOffset 29 + Store 13(txval10) 30 + 37: 34 Load 36(g_tTex1di4) + 38: 18 Load 20(g_sSamp) + 40: 39 SampledImage 37 38 + 44: 31(ivec4) ImageSampleImplicitLod 40 42 ConstOffset 43 + Store 33(txval11) 44 + 52: 49 Load 51(g_tTex1du4) + 53: 18 Load 20(g_sSamp) + 55: 54 SampledImage 52 53 + 59: 46(ivec4) ImageSampleImplicitLod 55 57 ConstOffset 58 + Store 48(txval12) 59 + 64: 61 Load 63(g_tTex2df4) + 65: 18 Load 20(g_sSamp) + 67: 66 SampledImage 64 65 + 72: 7(fvec4) ImageSampleImplicitLod 67 69 ConstOffset 71 + Store 60(txval20) 72 + 77: 74 Load 76(g_tTex2di4) + 78: 18 Load 20(g_sSamp) + 80: 79 SampledImage 77 78 + 83: 31(ivec4) ImageSampleImplicitLod 80 82 ConstOffset 71 + Store 73(txval21) 83 + 88: 85 Load 87(g_tTex2du4) + 89: 18 Load 20(g_sSamp) + 91: 90 SampledImage 88 89 + 96: 46(ivec4) ImageSampleImplicitLod 91 94 ConstOffset 95 + Store 84(txval22) 96 + 101: 12(ptr) AccessChain 98(psout) 29 + Store 101 100 + 103: 102(ptr) AccessChain 98(psout) 43 + Store 103 99 + 104:8(PS_OUTPUT) Load 98(psout) + ReturnValue 104 + FunctionEnd diff --git a/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out b/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out index bfbad5c2..d6353e55 100644 --- a/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out +++ b/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.sample.sub-vec4.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:14 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:14 Function Definition: @main( (temp structure{temp 4-component vector of float Color}) 0:14 Function Parameters: 0:? Sequence 0:17 Sequence @@ -54,22 +54,25 @@ gl_FragCoord origin is upper left 0:22 1.000000 0:22 1.000000 0:22 1.000000 -0:23 Sequence -0:23 Sequence -0:23 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:23 Color: direct index for structure (temp 4-component vector of float) -0:23 'psout' (temp structure{temp 4-component vector of float Color}) -0:23 Constant: -0:23 0 (const int) -0:23 Branch: Return +0:23 Branch: Return with expression +0:23 'psout' (temp structure{temp 4-component vector of float Color}) +0:14 Function Definition: main( (temp void) +0:14 Function Parameters: +0:? Sequence +0:14 Sequence +0:14 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:14 Color: direct index for structure (temp 4-component vector of float) +0:14 Function Call: @main( (temp structure{temp 4-component vector of float Color}) +0:14 Constant: +0:14 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df1' (uniform texture1D) 0:? 'g_tTex1df2' (uniform texture1D) 0:? 'g_tTex1df3' (uniform texture1D) 0:? 'g_tTex1df4' (uniform texture1D) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) Linked fragment stage: @@ -78,7 +81,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:14 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:14 Function Definition: @main( (temp structure{temp 4-component vector of float Color}) 0:14 Function Parameters: 0:? Sequence 0:17 Sequence @@ -130,123 +133,133 @@ gl_FragCoord origin is upper left 0:22 1.000000 0:22 1.000000 0:22 1.000000 -0:23 Sequence -0:23 Sequence -0:23 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:23 Color: direct index for structure (temp 4-component vector of float) -0:23 'psout' (temp structure{temp 4-component vector of float Color}) -0:23 Constant: -0:23 0 (const int) -0:23 Branch: Return +0:23 Branch: Return with expression +0:23 'psout' (temp structure{temp 4-component vector of float Color}) +0:14 Function Definition: main( (temp void) +0:14 Function Parameters: +0:? Sequence +0:14 Sequence +0:14 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:14 Color: direct index for structure (temp 4-component vector of float) +0:14 Function Call: @main( (temp structure{temp 4-component vector of float Color}) +0:14 Constant: +0:14 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df1' (uniform texture1D) 0:? 'g_tTex1df2' (uniform texture1D) 0:? 'g_tTex1df3' (uniform texture1D) 0:? 'g_tTex1df4' (uniform texture1D) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 67 +// Id's are bound by 72 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 63 + EntryPoint Fragment 4 "main" 69 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "txval10" - Name 11 "g_tTex1df1" - Name 15 "g_sSamp" - Name 25 "txval11" - Name 26 "g_tTex1df2" - Name 37 "txval12" - Name 38 "g_tTex1df3" - Name 48 "txval13" - Name 49 "g_tTex1df4" - Name 54 "PS_OUTPUT" - MemberName 54(PS_OUTPUT) 0 "Color" - Name 56 "psout" - Name 63 "Color" - Decorate 11(g_tTex1df1) DescriptorSet 0 - Decorate 15(g_sSamp) DescriptorSet 0 - Decorate 15(g_sSamp) Binding 0 - Decorate 26(g_tTex1df2) DescriptorSet 0 - Decorate 38(g_tTex1df3) DescriptorSet 0 - Decorate 49(g_tTex1df4) DescriptorSet 0 - Decorate 63(Color) Location 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + Name 10 "@main(" + Name 13 "txval10" + Name 16 "g_tTex1df1" + Name 20 "g_sSamp" + Name 29 "txval11" + Name 30 "g_tTex1df2" + Name 41 "txval12" + Name 42 "g_tTex1df3" + Name 52 "txval13" + Name 53 "g_tTex1df4" + Name 59 "psout" + Name 69 "Color" + Decorate 16(g_tTex1df1) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 30(g_tTex1df2) DescriptorSet 0 + Decorate 42(g_tTex1df3) DescriptorSet 0 + Decorate 53(g_tTex1df4) DescriptorSet 0 + Decorate 69(Color) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypePointer Function 6(float) - 9: TypeImage 6(float) 1D sampled format:Unknown - 10: TypePointer UniformConstant 9 - 11(g_tTex1df1): 10(ptr) Variable UniformConstant - 13: TypeSampler - 14: TypePointer UniformConstant 13 - 15(g_sSamp): 14(ptr) Variable UniformConstant - 17: TypeSampledImage 9 - 19: 6(float) Constant 1036831949 - 20: TypeVector 6(float) 4 - 23: TypeVector 6(float) 2 - 24: TypePointer Function 23(fvec2) - 26(g_tTex1df2): 10(ptr) Variable UniformConstant - 30: 6(float) Constant 1045220557 - 35: TypeVector 6(float) 3 - 36: TypePointer Function 35(fvec3) - 38(g_tTex1df3): 10(ptr) Variable UniformConstant - 47: TypePointer Function 20(fvec4) - 49(g_tTex1df4): 10(ptr) Variable UniformConstant - 54(PS_OUTPUT): TypeStruct 20(fvec4) - 55: TypePointer Function 54(PS_OUTPUT) - 57: TypeInt 32 1 - 58: 57(int) Constant 0 - 59: 6(float) Constant 1065353216 - 60: 20(fvec4) ConstantComposite 59 59 59 59 - 62: TypePointer Output 20(fvec4) - 63(Color): 62(ptr) Variable Output + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 6(float) + 14: TypeImage 6(float) 1D sampled format:Unknown + 15: TypePointer UniformConstant 14 + 16(g_tTex1df1): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: 6(float) Constant 1036831949 + 27: TypeVector 6(float) 2 + 28: TypePointer Function 27(fvec2) + 30(g_tTex1df2): 15(ptr) Variable UniformConstant + 34: 6(float) Constant 1045220557 + 39: TypeVector 6(float) 3 + 40: TypePointer Function 39(fvec3) + 42(g_tTex1df3): 15(ptr) Variable UniformConstant + 51: TypePointer Function 7(fvec4) + 53(g_tTex1df4): 15(ptr) Variable UniformConstant + 58: TypePointer Function 8(PS_OUTPUT) + 60: TypeInt 32 1 + 61: 60(int) Constant 0 + 62: 6(float) Constant 1065353216 + 63: 7(fvec4) ConstantComposite 62 62 62 62 + 68: TypePointer Output 7(fvec4) + 69(Color): 68(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 8(txval10): 7(ptr) Variable Function - 25(txval11): 24(ptr) Variable Function - 37(txval12): 36(ptr) Variable Function - 48(txval13): 47(ptr) Variable Function - 56(psout): 55(ptr) Variable Function - 12: 9 Load 11(g_tTex1df1) - 16: 13 Load 15(g_sSamp) - 18: 17 SampledImage 12 16 - 21: 20(fvec4) ImageSampleImplicitLod 18 19 - 22: 6(float) CompositeExtract 21 0 - Store 8(txval10) 22 - 27: 9 Load 26(g_tTex1df2) - 28: 13 Load 15(g_sSamp) - 29: 17 SampledImage 27 28 - 31: 20(fvec4) ImageSampleImplicitLod 29 30 - 32: 6(float) CompositeExtract 31 0 - 33: 6(float) CompositeExtract 31 1 - 34: 23(fvec2) CompositeConstruct 32 33 - Store 25(txval11) 34 - 39: 9 Load 38(g_tTex1df3) - 40: 13 Load 15(g_sSamp) - 41: 17 SampledImage 39 40 - 42: 20(fvec4) ImageSampleImplicitLod 41 30 - 43: 6(float) CompositeExtract 42 0 - 44: 6(float) CompositeExtract 42 1 - 45: 6(float) CompositeExtract 42 2 - 46: 35(fvec3) CompositeConstruct 43 44 45 - Store 37(txval12) 46 - 50: 9 Load 49(g_tTex1df4) - 51: 13 Load 15(g_sSamp) - 52: 17 SampledImage 50 51 - 53: 20(fvec4) ImageSampleImplicitLod 52 30 - Store 48(txval13) 53 - 61: 47(ptr) AccessChain 56(psout) 58 - Store 61 60 - 64: 47(ptr) AccessChain 56(psout) 58 - 65: 20(fvec4) Load 64 - Store 63(Color) 65 + 70:8(PS_OUTPUT) FunctionCall 10(@main() + 71: 7(fvec4) CompositeExtract 70 0 + Store 69(Color) 71 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval10): 12(ptr) Variable Function + 29(txval11): 28(ptr) Variable Function + 41(txval12): 40(ptr) Variable Function + 52(txval13): 51(ptr) Variable Function + 59(psout): 58(ptr) Variable Function + 17: 14 Load 16(g_tTex1df1) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 25: 7(fvec4) ImageSampleImplicitLod 23 24 + 26: 6(float) CompositeExtract 25 0 + Store 13(txval10) 26 + 31: 14 Load 30(g_tTex1df2) + 32: 18 Load 20(g_sSamp) + 33: 22 SampledImage 31 32 + 35: 7(fvec4) ImageSampleImplicitLod 33 34 + 36: 6(float) CompositeExtract 35 0 + 37: 6(float) CompositeExtract 35 1 + 38: 27(fvec2) CompositeConstruct 36 37 + Store 29(txval11) 38 + 43: 14 Load 42(g_tTex1df3) + 44: 18 Load 20(g_sSamp) + 45: 22 SampledImage 43 44 + 46: 7(fvec4) ImageSampleImplicitLod 45 34 + 47: 6(float) CompositeExtract 46 0 + 48: 6(float) CompositeExtract 46 1 + 49: 6(float) CompositeExtract 46 2 + 50: 39(fvec3) CompositeConstruct 47 48 49 + Store 41(txval12) 50 + 54: 14 Load 53(g_tTex1df4) + 55: 18 Load 20(g_sSamp) + 56: 22 SampledImage 54 55 + 57: 7(fvec4) ImageSampleImplicitLod 56 34 + Store 52(txval13) 57 + 64: 51(ptr) AccessChain 59(psout) 61 + Store 64 63 + 65:8(PS_OUTPUT) Load 59(psout) + ReturnValue 65 + FunctionEnd diff --git a/Test/baseResults/hlsl.samplebias.array.dx10.frag.out b/Test/baseResults/hlsl.samplebias.array.dx10.frag.out index 05ac32a5..e14c8f1b 100644 --- a/Test/baseResults/hlsl.samplebias.array.dx10.frag.out +++ b/Test/baseResults/hlsl.samplebias.array.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.samplebias.array.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:24 Function Parameters: 0:? Sequence 0:27 Sequence @@ -139,24 +139,28 @@ gl_FragCoord origin is upper left 0:40 1 (const int) 0:40 Constant: 0:40 1.000000 -0:42 Sequence -0:42 Sequence -0:42 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:42 Color: direct index for structure (temp 4-component vector of float) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:42 Constant: -0:42 0 (const int) -0:42 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:42 Depth: direct index for structure (temp float) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:42 Constant: -0:42 1 (const int) -0:42 Branch: Return +0:42 Branch: Return with expression +0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: main( (temp void) +0:24 Function Parameters: +0:? Sequence +0:24 Sequence +0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:24 Color: direct index for structure (temp 4-component vector of float) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:24 Depth: direct index for structure (temp float) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -168,6 +172,8 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' (uniform textureCubeArray) 0:? 'g_tTexcdi4' (uniform itextureCubeArray) 0:? 'g_tTexcdu4' (uniform utextureCubeArray) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -176,7 +182,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:24 Function Parameters: 0:? Sequence 0:27 Sequence @@ -313,24 +319,28 @@ gl_FragCoord origin is upper left 0:40 1 (const int) 0:40 Constant: 0:40 1.000000 -0:42 Sequence -0:42 Sequence -0:42 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:42 Color: direct index for structure (temp 4-component vector of float) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:42 Constant: -0:42 0 (const int) -0:42 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:42 Depth: direct index for structure (temp float) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:42 Constant: -0:42 1 (const int) -0:42 Branch: Return +0:42 Branch: Return with expression +0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: main( (temp void) +0:24 Function Parameters: +0:? Sequence +0:24 Sequence +0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:24 Color: direct index for structure (temp 4-component vector of float) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:24 Depth: direct index for structure (temp float) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -342,209 +352,222 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' (uniform textureCubeArray) 0:? 'g_tTexcdi4' (uniform itextureCubeArray) 0:? 'g_tTexcdu4' (uniform utextureCubeArray) +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 139 +// Id's are bound by 146 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 130 134 + EntryPoint Fragment 4 "main" 138 142 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval10" - Name 12 "g_tTex1df4" - Name 16 "g_sSamp" - Name 29 "txval11" - Name 32 "g_tTex1di4" - Name 43 "txval12" - Name 46 "g_tTex1du4" - Name 54 "txval20" - Name 57 "g_tTex2df4" - Name 65 "txval21" - Name 68 "g_tTex2di4" - Name 75 "txval22" - Name 78 "g_tTex2du4" - Name 87 "txval40" - Name 90 "g_tTexcdf4" - Name 97 "txval41" - Name 100 "g_tTexcdi4" - Name 107 "txval42" - Name 110 "g_tTexcdu4" - Name 120 "PS_OUTPUT" - MemberName 120(PS_OUTPUT) 0 "Color" - MemberName 120(PS_OUTPUT) 1 "Depth" - Name 122 "psout" - Name 130 "Color" - Name 134 "Depth" - Name 138 "g_tTex1df4a" - Decorate 12(g_tTex1df4) DescriptorSet 0 - Decorate 12(g_tTex1df4) Binding 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - Decorate 32(g_tTex1di4) DescriptorSet 0 - Decorate 46(g_tTex1du4) DescriptorSet 0 - Decorate 57(g_tTex2df4) DescriptorSet 0 - Decorate 68(g_tTex2di4) DescriptorSet 0 - Decorate 78(g_tTex2du4) DescriptorSet 0 - Decorate 90(g_tTexcdf4) DescriptorSet 0 - Decorate 100(g_tTexcdi4) DescriptorSet 0 - Decorate 110(g_tTexcdu4) DescriptorSet 0 - Decorate 130(Color) Location 0 - Decorate 134(Depth) BuiltIn FragDepth - Decorate 138(g_tTex1df4a) DescriptorSet 0 - Decorate 138(g_tTex1df4a) Binding 1 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval10" + Name 16 "g_tTex1df4" + Name 20 "g_sSamp" + Name 33 "txval11" + Name 36 "g_tTex1di4" + Name 47 "txval12" + Name 50 "g_tTex1du4" + Name 58 "txval20" + Name 61 "g_tTex2df4" + Name 69 "txval21" + Name 72 "g_tTex2di4" + Name 79 "txval22" + Name 82 "g_tTex2du4" + Name 91 "txval40" + Name 94 "g_tTexcdf4" + Name 101 "txval41" + Name 104 "g_tTexcdi4" + Name 111 "txval42" + Name 114 "g_tTexcdu4" + Name 125 "psout" + Name 135 "flattenTemp" + Name 138 "Color" + Name 142 "Depth" + Name 145 "g_tTex1df4a" + Decorate 16(g_tTex1df4) DescriptorSet 0 + Decorate 16(g_tTex1df4) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 36(g_tTex1di4) DescriptorSet 0 + Decorate 50(g_tTex1du4) DescriptorSet 0 + Decorate 61(g_tTex2df4) DescriptorSet 0 + Decorate 72(g_tTex2di4) DescriptorSet 0 + Decorate 82(g_tTex2du4) DescriptorSet 0 + Decorate 94(g_tTexcdf4) DescriptorSet 0 + Decorate 104(g_tTexcdi4) DescriptorSet 0 + Decorate 114(g_tTexcdu4) DescriptorSet 0 + Decorate 138(Color) Location 0 + Decorate 142(Depth) BuiltIn FragDepth + Decorate 145(g_tTex1df4a) DescriptorSet 0 + Decorate 145(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 1D array sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex1df4): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 1D array sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: TypeVector 6(float) 2 - 21: 6(float) Constant 1036831949 - 22: 6(float) Constant 1045220557 - 23: 20(fvec2) ConstantComposite 21 22 - 24: 6(float) Constant 1056964608 - 26: TypeInt 32 1 - 27: TypeVector 26(int) 4 - 28: TypePointer Function 27(ivec4) - 30: TypeImage 26(int) 1D array sampled format:Unknown - 31: TypePointer UniformConstant 30 - 32(g_tTex1di4): 31(ptr) Variable UniformConstant - 35: TypeSampledImage 30 - 37: 6(float) Constant 1050253722 - 38: 20(fvec2) ConstantComposite 22 37 - 40: TypeInt 32 0 - 41: TypeVector 40(int) 4 - 42: TypePointer Function 41(ivec4) - 44: TypeImage 40(int) 1D array sampled format:Unknown - 45: TypePointer UniformConstant 44 - 46(g_tTex1du4): 45(ptr) Variable UniformConstant - 49: TypeSampledImage 44 - 51: 6(float) Constant 1053609165 - 52: 20(fvec2) ConstantComposite 37 51 - 55: TypeImage 6(float) 2D array sampled format:Unknown - 56: TypePointer UniformConstant 55 - 57(g_tTex2df4): 56(ptr) Variable UniformConstant - 60: TypeSampledImage 55 - 62: TypeVector 6(float) 3 - 63: 62(fvec3) ConstantComposite 21 22 37 - 66: TypeImage 26(int) 2D array sampled format:Unknown - 67: TypePointer UniformConstant 66 - 68(g_tTex2di4): 67(ptr) Variable UniformConstant - 71: TypeSampledImage 66 - 73: 62(fvec3) ConstantComposite 37 51 24 - 76: TypeImage 40(int) 2D array sampled format:Unknown - 77: TypePointer UniformConstant 76 - 78(g_tTex2du4): 77(ptr) Variable UniformConstant - 81: TypeSampledImage 76 - 83: 6(float) Constant 1058642330 - 84: 6(float) Constant 1060320051 - 85: 62(fvec3) ConstantComposite 24 83 84 - 88: TypeImage 6(float) Cube array sampled format:Unknown - 89: TypePointer UniformConstant 88 - 90(g_tTexcdf4): 89(ptr) Variable UniformConstant - 93: TypeSampledImage 88 - 95: 7(fvec4) ConstantComposite 21 22 37 51 - 98: TypeImage 26(int) Cube array sampled format:Unknown - 99: TypePointer UniformConstant 98 - 100(g_tTexcdi4): 99(ptr) Variable UniformConstant - 103: TypeSampledImage 98 - 105: 7(fvec4) ConstantComposite 51 24 83 84 - 108: TypeImage 40(int) Cube array sampled format:Unknown - 109: TypePointer UniformConstant 108 - 110(g_tTexcdu4): 109(ptr) Variable UniformConstant - 113: TypeSampledImage 108 - 115: 6(float) Constant 1061997773 - 116: 6(float) Constant 1063675494 - 117: 6(float) Constant 1065353216 - 118: 7(fvec4) ConstantComposite 84 115 116 117 - 120(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 121: TypePointer Function 120(PS_OUTPUT) - 123: 26(int) Constant 0 - 124: 7(fvec4) ConstantComposite 117 117 117 117 - 126: 26(int) Constant 1 - 127: TypePointer Function 6(float) - 129: TypePointer Output 7(fvec4) - 130(Color): 129(ptr) Variable Output - 133: TypePointer Output 6(float) - 134(Depth): 133(ptr) Variable Output -138(g_tTex1df4a): 11(ptr) Variable UniformConstant + 16(g_tTex1df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: TypeVector 6(float) 2 + 25: 6(float) Constant 1036831949 + 26: 6(float) Constant 1045220557 + 27: 24(fvec2) ConstantComposite 25 26 + 28: 6(float) Constant 1056964608 + 30: TypeInt 32 1 + 31: TypeVector 30(int) 4 + 32: TypePointer Function 31(ivec4) + 34: TypeImage 30(int) 1D array sampled format:Unknown + 35: TypePointer UniformConstant 34 + 36(g_tTex1di4): 35(ptr) Variable UniformConstant + 39: TypeSampledImage 34 + 41: 6(float) Constant 1050253722 + 42: 24(fvec2) ConstantComposite 26 41 + 44: TypeInt 32 0 + 45: TypeVector 44(int) 4 + 46: TypePointer Function 45(ivec4) + 48: TypeImage 44(int) 1D array sampled format:Unknown + 49: TypePointer UniformConstant 48 + 50(g_tTex1du4): 49(ptr) Variable UniformConstant + 53: TypeSampledImage 48 + 55: 6(float) Constant 1053609165 + 56: 24(fvec2) ConstantComposite 41 55 + 59: TypeImage 6(float) 2D array sampled format:Unknown + 60: TypePointer UniformConstant 59 + 61(g_tTex2df4): 60(ptr) Variable UniformConstant + 64: TypeSampledImage 59 + 66: TypeVector 6(float) 3 + 67: 66(fvec3) ConstantComposite 25 26 41 + 70: TypeImage 30(int) 2D array sampled format:Unknown + 71: TypePointer UniformConstant 70 + 72(g_tTex2di4): 71(ptr) Variable UniformConstant + 75: TypeSampledImage 70 + 77: 66(fvec3) ConstantComposite 41 55 28 + 80: TypeImage 44(int) 2D array sampled format:Unknown + 81: TypePointer UniformConstant 80 + 82(g_tTex2du4): 81(ptr) Variable UniformConstant + 85: TypeSampledImage 80 + 87: 6(float) Constant 1058642330 + 88: 6(float) Constant 1060320051 + 89: 66(fvec3) ConstantComposite 28 87 88 + 92: TypeImage 6(float) Cube array sampled format:Unknown + 93: TypePointer UniformConstant 92 + 94(g_tTexcdf4): 93(ptr) Variable UniformConstant + 97: TypeSampledImage 92 + 99: 7(fvec4) ConstantComposite 25 26 41 55 + 102: TypeImage 30(int) Cube array sampled format:Unknown + 103: TypePointer UniformConstant 102 + 104(g_tTexcdi4): 103(ptr) Variable UniformConstant + 107: TypeSampledImage 102 + 109: 7(fvec4) ConstantComposite 55 28 87 88 + 112: TypeImage 44(int) Cube array sampled format:Unknown + 113: TypePointer UniformConstant 112 + 114(g_tTexcdu4): 113(ptr) Variable UniformConstant + 117: TypeSampledImage 112 + 119: 6(float) Constant 1061997773 + 120: 6(float) Constant 1063675494 + 121: 6(float) Constant 1065353216 + 122: 7(fvec4) ConstantComposite 88 119 120 121 + 124: TypePointer Function 8(PS_OUTPUT) + 126: 30(int) Constant 0 + 127: 7(fvec4) ConstantComposite 121 121 121 121 + 129: 30(int) Constant 1 + 130: TypePointer Function 6(float) + 137: TypePointer Output 7(fvec4) + 138(Color): 137(ptr) Variable Output + 141: TypePointer Output 6(float) + 142(Depth): 141(ptr) Variable Output +145(g_tTex1df4a): 15(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval10): 8(ptr) Variable Function - 29(txval11): 28(ptr) Variable Function - 43(txval12): 42(ptr) Variable Function - 54(txval20): 8(ptr) Variable Function - 65(txval21): 28(ptr) Variable Function - 75(txval22): 42(ptr) Variable Function - 87(txval40): 8(ptr) Variable Function - 97(txval41): 28(ptr) Variable Function - 107(txval42): 42(ptr) Variable Function - 122(psout): 121(ptr) Variable Function - 13: 10 Load 12(g_tTex1df4) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 25: 7(fvec4) ImageSampleImplicitLod 19 23 Bias 24 - Store 9(txval10) 25 - 33: 30 Load 32(g_tTex1di4) - 34: 14 Load 16(g_sSamp) - 36: 35 SampledImage 33 34 - 39: 27(ivec4) ImageSampleImplicitLod 36 38 Bias 24 - Store 29(txval11) 39 - 47: 44 Load 46(g_tTex1du4) - 48: 14 Load 16(g_sSamp) - 50: 49 SampledImage 47 48 - 53: 41(ivec4) ImageSampleImplicitLod 50 52 Bias 24 - Store 43(txval12) 53 - 58: 55 Load 57(g_tTex2df4) - 59: 14 Load 16(g_sSamp) - 61: 60 SampledImage 58 59 - 64: 7(fvec4) ImageSampleImplicitLod 61 63 Bias 24 - Store 54(txval20) 64 - 69: 66 Load 68(g_tTex2di4) - 70: 14 Load 16(g_sSamp) - 72: 71 SampledImage 69 70 - 74: 27(ivec4) ImageSampleImplicitLod 72 73 Bias 24 - Store 65(txval21) 74 - 79: 76 Load 78(g_tTex2du4) - 80: 14 Load 16(g_sSamp) - 82: 81 SampledImage 79 80 - 86: 41(ivec4) ImageSampleImplicitLod 82 85 Bias 24 - Store 75(txval22) 86 - 91: 88 Load 90(g_tTexcdf4) - 92: 14 Load 16(g_sSamp) - 94: 93 SampledImage 91 92 - 96: 7(fvec4) ImageSampleImplicitLod 94 95 Bias 24 - Store 87(txval40) 96 - 101: 98 Load 100(g_tTexcdi4) - 102: 14 Load 16(g_sSamp) - 104: 103 SampledImage 101 102 - 106: 27(ivec4) ImageSampleImplicitLod 104 105 Bias 24 - Store 97(txval41) 106 - 111: 108 Load 110(g_tTexcdu4) - 112: 14 Load 16(g_sSamp) - 114: 113 SampledImage 111 112 - 119: 41(ivec4) ImageSampleImplicitLod 114 118 Bias 24 - Store 107(txval42) 119 - 125: 8(ptr) AccessChain 122(psout) 123 - Store 125 124 - 128: 127(ptr) AccessChain 122(psout) 126 - Store 128 117 - 131: 8(ptr) AccessChain 122(psout) 123 - 132: 7(fvec4) Load 131 - Store 130(Color) 132 - 135: 127(ptr) AccessChain 122(psout) 126 - 136: 6(float) Load 135 - Store 134(Depth) 136 +135(flattenTemp): 124(ptr) Variable Function + 136:8(PS_OUTPUT) FunctionCall 10(@main() + Store 135(flattenTemp) 136 + 139: 12(ptr) AccessChain 135(flattenTemp) 126 + 140: 7(fvec4) Load 139 + Store 138(Color) 140 + 143: 130(ptr) AccessChain 135(flattenTemp) 129 + 144: 6(float) Load 143 + Store 142(Depth) 144 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval10): 12(ptr) Variable Function + 33(txval11): 32(ptr) Variable Function + 47(txval12): 46(ptr) Variable Function + 58(txval20): 12(ptr) Variable Function + 69(txval21): 32(ptr) Variable Function + 79(txval22): 46(ptr) Variable Function + 91(txval40): 12(ptr) Variable Function + 101(txval41): 32(ptr) Variable Function + 111(txval42): 46(ptr) Variable Function + 125(psout): 124(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 29: 7(fvec4) ImageSampleImplicitLod 23 27 Bias 28 + Store 13(txval10) 29 + 37: 34 Load 36(g_tTex1di4) + 38: 18 Load 20(g_sSamp) + 40: 39 SampledImage 37 38 + 43: 31(ivec4) ImageSampleImplicitLod 40 42 Bias 28 + Store 33(txval11) 43 + 51: 48 Load 50(g_tTex1du4) + 52: 18 Load 20(g_sSamp) + 54: 53 SampledImage 51 52 + 57: 45(ivec4) ImageSampleImplicitLod 54 56 Bias 28 + Store 47(txval12) 57 + 62: 59 Load 61(g_tTex2df4) + 63: 18 Load 20(g_sSamp) + 65: 64 SampledImage 62 63 + 68: 7(fvec4) ImageSampleImplicitLod 65 67 Bias 28 + Store 58(txval20) 68 + 73: 70 Load 72(g_tTex2di4) + 74: 18 Load 20(g_sSamp) + 76: 75 SampledImage 73 74 + 78: 31(ivec4) ImageSampleImplicitLod 76 77 Bias 28 + Store 69(txval21) 78 + 83: 80 Load 82(g_tTex2du4) + 84: 18 Load 20(g_sSamp) + 86: 85 SampledImage 83 84 + 90: 45(ivec4) ImageSampleImplicitLod 86 89 Bias 28 + Store 79(txval22) 90 + 95: 92 Load 94(g_tTexcdf4) + 96: 18 Load 20(g_sSamp) + 98: 97 SampledImage 95 96 + 100: 7(fvec4) ImageSampleImplicitLod 98 99 Bias 28 + Store 91(txval40) 100 + 105: 102 Load 104(g_tTexcdi4) + 106: 18 Load 20(g_sSamp) + 108: 107 SampledImage 105 106 + 110: 31(ivec4) ImageSampleImplicitLod 108 109 Bias 28 + Store 101(txval41) 110 + 115: 112 Load 114(g_tTexcdu4) + 116: 18 Load 20(g_sSamp) + 118: 117 SampledImage 115 116 + 123: 45(ivec4) ImageSampleImplicitLod 118 122 Bias 28 + Store 111(txval42) 123 + 128: 12(ptr) AccessChain 125(psout) 126 + Store 128 127 + 131: 130(ptr) AccessChain 125(psout) 129 + Store 131 121 + 132:8(PS_OUTPUT) Load 125(psout) + ReturnValue 132 + FunctionEnd diff --git a/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out b/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out index 1442fc3c..3b43d0ad 100644 --- a/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.samplebias.basic.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:28 Function Parameters: 0:? Sequence 0:31 Sequence @@ -169,24 +169,28 @@ gl_FragCoord origin is upper left 0:48 1 (const int) 0:48 Constant: 0:48 1.000000 -0:50 Sequence -0:50 Sequence -0:50 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:50 Color: direct index for structure (temp 4-component vector of float) -0:50 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:50 Constant: -0:50 0 (const int) -0:50 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:50 Depth: direct index for structure (temp float) -0:50 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:50 Constant: -0:50 1 (const int) -0:50 Branch: Return +0:50 Branch: Return with expression +0:50 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: main( (temp void) +0:28 Function Parameters: +0:? Sequence +0:28 Sequence +0:28 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:28 Color: direct index for structure (temp 4-component vector of float) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 0 (const int) +0:28 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:28 Depth: direct index for structure (temp float) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -201,6 +205,8 @@ gl_FragCoord origin is upper left 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: @@ -209,7 +215,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:28 Function Parameters: 0:? Sequence 0:31 Sequence @@ -376,24 +382,28 @@ gl_FragCoord origin is upper left 0:48 1 (const int) 0:48 Constant: 0:48 1.000000 -0:50 Sequence -0:50 Sequence -0:50 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:50 Color: direct index for structure (temp 4-component vector of float) -0:50 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:50 Constant: -0:50 0 (const int) -0:50 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:50 Depth: direct index for structure (temp float) -0:50 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:50 Constant: -0:50 1 (const int) -0:50 Branch: Return +0:50 Branch: Return with expression +0:50 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: main( (temp void) +0:28 Function Parameters: +0:? Sequence +0:28 Sequence +0:28 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:28 Color: direct index for structure (temp 4-component vector of float) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 0 (const int) +0:28 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:28 Depth: direct index for structure (temp float) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -408,244 +418,257 @@ gl_FragCoord origin is upper left 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 163 +// Id's are bound by 170 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 154 158 + EntryPoint Fragment 4 "main" 162 166 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval10" - Name 12 "g_tTex1df4" - Name 16 "g_sSamp" - Name 26 "txval11" - Name 29 "g_tTex1di4" - Name 39 "txval12" - Name 42 "g_tTex1du4" - Name 49 "txval20" - Name 52 "g_tTex2df4" - Name 60 "txval21" - Name 63 "g_tTex2di4" - Name 71 "txval22" - Name 74 "g_tTex2du4" - Name 82 "txval30" - Name 85 "g_tTex3df4" - Name 93 "txval31" - Name 96 "g_tTex3di4" - Name 103 "txval32" - Name 106 "g_tTex3du4" - Name 116 "txval40" - Name 119 "g_tTexcdf4" - Name 125 "txval41" - Name 128 "g_tTexcdi4" - Name 134 "txval42" - Name 137 "g_tTexcdu4" - Name 143 "PS_OUTPUT" - MemberName 143(PS_OUTPUT) 0 "Color" - MemberName 143(PS_OUTPUT) 1 "Depth" - Name 145 "psout" - Name 154 "Color" - Name 158 "Depth" - Name 162 "g_tTex1df4a" - Decorate 12(g_tTex1df4) DescriptorSet 0 - Decorate 12(g_tTex1df4) Binding 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - Decorate 29(g_tTex1di4) DescriptorSet 0 - Decorate 42(g_tTex1du4) DescriptorSet 0 - Decorate 52(g_tTex2df4) DescriptorSet 0 - Decorate 63(g_tTex2di4) DescriptorSet 0 - Decorate 74(g_tTex2du4) DescriptorSet 0 - Decorate 85(g_tTex3df4) DescriptorSet 0 - Decorate 96(g_tTex3di4) DescriptorSet 0 - Decorate 106(g_tTex3du4) DescriptorSet 0 - Decorate 119(g_tTexcdf4) DescriptorSet 0 - Decorate 128(g_tTexcdi4) DescriptorSet 0 - Decorate 137(g_tTexcdu4) DescriptorSet 0 - Decorate 154(Color) Location 0 - Decorate 158(Depth) BuiltIn FragDepth - Decorate 162(g_tTex1df4a) DescriptorSet 0 - Decorate 162(g_tTex1df4a) Binding 1 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval10" + Name 16 "g_tTex1df4" + Name 20 "g_sSamp" + Name 30 "txval11" + Name 33 "g_tTex1di4" + Name 43 "txval12" + Name 46 "g_tTex1du4" + Name 53 "txval20" + Name 56 "g_tTex2df4" + Name 64 "txval21" + Name 67 "g_tTex2di4" + Name 75 "txval22" + Name 78 "g_tTex2du4" + Name 86 "txval30" + Name 89 "g_tTex3df4" + Name 97 "txval31" + Name 100 "g_tTex3di4" + Name 107 "txval32" + Name 110 "g_tTex3du4" + Name 120 "txval40" + Name 123 "g_tTexcdf4" + Name 129 "txval41" + Name 132 "g_tTexcdi4" + Name 138 "txval42" + Name 141 "g_tTexcdu4" + Name 148 "psout" + Name 159 "flattenTemp" + Name 162 "Color" + Name 166 "Depth" + Name 169 "g_tTex1df4a" + Decorate 16(g_tTex1df4) DescriptorSet 0 + Decorate 16(g_tTex1df4) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 33(g_tTex1di4) DescriptorSet 0 + Decorate 46(g_tTex1du4) DescriptorSet 0 + Decorate 56(g_tTex2df4) DescriptorSet 0 + Decorate 67(g_tTex2di4) DescriptorSet 0 + Decorate 78(g_tTex2du4) DescriptorSet 0 + Decorate 89(g_tTex3df4) DescriptorSet 0 + Decorate 100(g_tTex3di4) DescriptorSet 0 + Decorate 110(g_tTex3du4) DescriptorSet 0 + Decorate 123(g_tTexcdf4) DescriptorSet 0 + Decorate 132(g_tTexcdi4) DescriptorSet 0 + Decorate 141(g_tTexcdu4) DescriptorSet 0 + Decorate 162(Color) Location 0 + Decorate 166(Depth) BuiltIn FragDepth + Decorate 169(g_tTex1df4a) DescriptorSet 0 + Decorate 169(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 1D sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex1df4): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 1D sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: 6(float) Constant 1036831949 - 21: 6(float) Constant 1056964608 - 23: TypeInt 32 1 - 24: TypeVector 23(int) 4 - 25: TypePointer Function 24(ivec4) - 27: TypeImage 23(int) 1D sampled format:Unknown - 28: TypePointer UniformConstant 27 - 29(g_tTex1di4): 28(ptr) Variable UniformConstant - 32: TypeSampledImage 27 - 34: 6(float) Constant 1045220557 - 36: TypeInt 32 0 - 37: TypeVector 36(int) 4 - 38: TypePointer Function 37(ivec4) - 40: TypeImage 36(int) 1D sampled format:Unknown - 41: TypePointer UniformConstant 40 - 42(g_tTex1du4): 41(ptr) Variable UniformConstant - 45: TypeSampledImage 40 - 47: 6(float) Constant 1050253722 - 50: TypeImage 6(float) 2D sampled format:Unknown - 51: TypePointer UniformConstant 50 - 52(g_tTex2df4): 51(ptr) Variable UniformConstant - 55: TypeSampledImage 50 - 57: TypeVector 6(float) 2 - 58: 57(fvec2) ConstantComposite 20 34 - 61: TypeImage 23(int) 2D sampled format:Unknown - 62: TypePointer UniformConstant 61 - 63(g_tTex2di4): 62(ptr) Variable UniformConstant - 66: TypeSampledImage 61 - 68: 6(float) Constant 1053609165 - 69: 57(fvec2) ConstantComposite 47 68 - 72: TypeImage 36(int) 2D sampled format:Unknown - 73: TypePointer UniformConstant 72 - 74(g_tTex2du4): 73(ptr) Variable UniformConstant - 77: TypeSampledImage 72 - 79: 6(float) Constant 1058642330 - 80: 57(fvec2) ConstantComposite 21 79 - 83: TypeImage 6(float) 3D sampled format:Unknown - 84: TypePointer UniformConstant 83 - 85(g_tTex3df4): 84(ptr) Variable UniformConstant - 88: TypeSampledImage 83 - 90: TypeVector 6(float) 3 - 91: 90(fvec3) ConstantComposite 20 34 47 - 94: TypeImage 23(int) 3D sampled format:Unknown - 95: TypePointer UniformConstant 94 - 96(g_tTex3di4): 95(ptr) Variable UniformConstant - 99: TypeSampledImage 94 - 101: 90(fvec3) ConstantComposite 68 21 79 - 104: TypeImage 36(int) 3D sampled format:Unknown - 105: TypePointer UniformConstant 104 - 106(g_tTex3du4): 105(ptr) Variable UniformConstant - 109: TypeSampledImage 104 - 111: 6(float) Constant 1060320051 - 112: 6(float) Constant 1061997773 - 113: 6(float) Constant 1063675494 - 114: 90(fvec3) ConstantComposite 111 112 113 - 117: TypeImage 6(float) Cube sampled format:Unknown - 118: TypePointer UniformConstant 117 - 119(g_tTexcdf4): 118(ptr) Variable UniformConstant - 122: TypeSampledImage 117 - 126: TypeImage 23(int) Cube sampled format:Unknown - 127: TypePointer UniformConstant 126 - 128(g_tTexcdi4): 127(ptr) Variable UniformConstant - 131: TypeSampledImage 126 - 135: TypeImage 36(int) Cube sampled format:Unknown - 136: TypePointer UniformConstant 135 - 137(g_tTexcdu4): 136(ptr) Variable UniformConstant - 140: TypeSampledImage 135 - 143(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 144: TypePointer Function 143(PS_OUTPUT) - 146: 23(int) Constant 0 - 147: 6(float) Constant 1065353216 - 148: 7(fvec4) ConstantComposite 147 147 147 147 - 150: 23(int) Constant 1 - 151: TypePointer Function 6(float) - 153: TypePointer Output 7(fvec4) - 154(Color): 153(ptr) Variable Output - 157: TypePointer Output 6(float) - 158(Depth): 157(ptr) Variable Output -162(g_tTex1df4a): 11(ptr) Variable UniformConstant + 16(g_tTex1df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: 6(float) Constant 1036831949 + 25: 6(float) Constant 1056964608 + 27: TypeInt 32 1 + 28: TypeVector 27(int) 4 + 29: TypePointer Function 28(ivec4) + 31: TypeImage 27(int) 1D sampled format:Unknown + 32: TypePointer UniformConstant 31 + 33(g_tTex1di4): 32(ptr) Variable UniformConstant + 36: TypeSampledImage 31 + 38: 6(float) Constant 1045220557 + 40: TypeInt 32 0 + 41: TypeVector 40(int) 4 + 42: TypePointer Function 41(ivec4) + 44: TypeImage 40(int) 1D sampled format:Unknown + 45: TypePointer UniformConstant 44 + 46(g_tTex1du4): 45(ptr) Variable UniformConstant + 49: TypeSampledImage 44 + 51: 6(float) Constant 1050253722 + 54: TypeImage 6(float) 2D sampled format:Unknown + 55: TypePointer UniformConstant 54 + 56(g_tTex2df4): 55(ptr) Variable UniformConstant + 59: TypeSampledImage 54 + 61: TypeVector 6(float) 2 + 62: 61(fvec2) ConstantComposite 24 38 + 65: TypeImage 27(int) 2D sampled format:Unknown + 66: TypePointer UniformConstant 65 + 67(g_tTex2di4): 66(ptr) Variable UniformConstant + 70: TypeSampledImage 65 + 72: 6(float) Constant 1053609165 + 73: 61(fvec2) ConstantComposite 51 72 + 76: TypeImage 40(int) 2D sampled format:Unknown + 77: TypePointer UniformConstant 76 + 78(g_tTex2du4): 77(ptr) Variable UniformConstant + 81: TypeSampledImage 76 + 83: 6(float) Constant 1058642330 + 84: 61(fvec2) ConstantComposite 25 83 + 87: TypeImage 6(float) 3D sampled format:Unknown + 88: TypePointer UniformConstant 87 + 89(g_tTex3df4): 88(ptr) Variable UniformConstant + 92: TypeSampledImage 87 + 94: TypeVector 6(float) 3 + 95: 94(fvec3) ConstantComposite 24 38 51 + 98: TypeImage 27(int) 3D sampled format:Unknown + 99: TypePointer UniformConstant 98 + 100(g_tTex3di4): 99(ptr) Variable UniformConstant + 103: TypeSampledImage 98 + 105: 94(fvec3) ConstantComposite 72 25 83 + 108: TypeImage 40(int) 3D sampled format:Unknown + 109: TypePointer UniformConstant 108 + 110(g_tTex3du4): 109(ptr) Variable UniformConstant + 113: TypeSampledImage 108 + 115: 6(float) Constant 1060320051 + 116: 6(float) Constant 1061997773 + 117: 6(float) Constant 1063675494 + 118: 94(fvec3) ConstantComposite 115 116 117 + 121: TypeImage 6(float) Cube sampled format:Unknown + 122: TypePointer UniformConstant 121 + 123(g_tTexcdf4): 122(ptr) Variable UniformConstant + 126: TypeSampledImage 121 + 130: TypeImage 27(int) Cube sampled format:Unknown + 131: TypePointer UniformConstant 130 + 132(g_tTexcdi4): 131(ptr) Variable UniformConstant + 135: TypeSampledImage 130 + 139: TypeImage 40(int) Cube sampled format:Unknown + 140: TypePointer UniformConstant 139 + 141(g_tTexcdu4): 140(ptr) Variable UniformConstant + 144: TypeSampledImage 139 + 147: TypePointer Function 8(PS_OUTPUT) + 149: 27(int) Constant 0 + 150: 6(float) Constant 1065353216 + 151: 7(fvec4) ConstantComposite 150 150 150 150 + 153: 27(int) Constant 1 + 154: TypePointer Function 6(float) + 161: TypePointer Output 7(fvec4) + 162(Color): 161(ptr) Variable Output + 165: TypePointer Output 6(float) + 166(Depth): 165(ptr) Variable Output +169(g_tTex1df4a): 15(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval10): 8(ptr) Variable Function - 26(txval11): 25(ptr) Variable Function - 39(txval12): 38(ptr) Variable Function - 49(txval20): 8(ptr) Variable Function - 60(txval21): 25(ptr) Variable Function - 71(txval22): 38(ptr) Variable Function - 82(txval30): 8(ptr) Variable Function - 93(txval31): 25(ptr) Variable Function - 103(txval32): 38(ptr) Variable Function - 116(txval40): 8(ptr) Variable Function - 125(txval41): 25(ptr) Variable Function - 134(txval42): 38(ptr) Variable Function - 145(psout): 144(ptr) Variable Function - 13: 10 Load 12(g_tTex1df4) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 22: 7(fvec4) ImageSampleImplicitLod 19 20 Bias 21 - Store 9(txval10) 22 - 30: 27 Load 29(g_tTex1di4) - 31: 14 Load 16(g_sSamp) - 33: 32 SampledImage 30 31 - 35: 24(ivec4) ImageSampleImplicitLod 33 34 Bias 21 - Store 26(txval11) 35 - 43: 40 Load 42(g_tTex1du4) - 44: 14 Load 16(g_sSamp) - 46: 45 SampledImage 43 44 - 48: 37(ivec4) ImageSampleImplicitLod 46 47 Bias 21 - Store 39(txval12) 48 - 53: 50 Load 52(g_tTex2df4) - 54: 14 Load 16(g_sSamp) - 56: 55 SampledImage 53 54 - 59: 7(fvec4) ImageSampleImplicitLod 56 58 Bias 21 - Store 49(txval20) 59 - 64: 61 Load 63(g_tTex2di4) - 65: 14 Load 16(g_sSamp) - 67: 66 SampledImage 64 65 - 70: 24(ivec4) ImageSampleImplicitLod 67 69 Bias 21 - Store 60(txval21) 70 - 75: 72 Load 74(g_tTex2du4) - 76: 14 Load 16(g_sSamp) - 78: 77 SampledImage 75 76 - 81: 37(ivec4) ImageSampleImplicitLod 78 80 Bias 21 - Store 71(txval22) 81 - 86: 83 Load 85(g_tTex3df4) - 87: 14 Load 16(g_sSamp) - 89: 88 SampledImage 86 87 - 92: 7(fvec4) ImageSampleImplicitLod 89 91 Bias 21 - Store 82(txval30) 92 - 97: 94 Load 96(g_tTex3di4) - 98: 14 Load 16(g_sSamp) - 100: 99 SampledImage 97 98 - 102: 24(ivec4) ImageSampleImplicitLod 100 101 Bias 21 - Store 93(txval31) 102 - 107: 104 Load 106(g_tTex3du4) - 108: 14 Load 16(g_sSamp) - 110: 109 SampledImage 107 108 - 115: 37(ivec4) ImageSampleImplicitLod 110 114 Bias 21 - Store 103(txval32) 115 - 120: 117 Load 119(g_tTexcdf4) - 121: 14 Load 16(g_sSamp) - 123: 122 SampledImage 120 121 - 124: 7(fvec4) ImageSampleImplicitLod 123 91 Bias 21 - Store 116(txval40) 124 - 129: 126 Load 128(g_tTexcdi4) - 130: 14 Load 16(g_sSamp) - 132: 131 SampledImage 129 130 - 133: 24(ivec4) ImageSampleImplicitLod 132 101 Bias 21 - Store 125(txval41) 133 - 138: 135 Load 137(g_tTexcdu4) - 139: 14 Load 16(g_sSamp) - 141: 140 SampledImage 138 139 - 142: 37(ivec4) ImageSampleImplicitLod 141 114 Bias 21 - Store 134(txval42) 142 - 149: 8(ptr) AccessChain 145(psout) 146 - Store 149 148 - 152: 151(ptr) AccessChain 145(psout) 150 - Store 152 147 - 155: 8(ptr) AccessChain 145(psout) 146 - 156: 7(fvec4) Load 155 - Store 154(Color) 156 - 159: 151(ptr) AccessChain 145(psout) 150 - 160: 6(float) Load 159 - Store 158(Depth) 160 +159(flattenTemp): 147(ptr) Variable Function + 160:8(PS_OUTPUT) FunctionCall 10(@main() + Store 159(flattenTemp) 160 + 163: 12(ptr) AccessChain 159(flattenTemp) 149 + 164: 7(fvec4) Load 163 + Store 162(Color) 164 + 167: 154(ptr) AccessChain 159(flattenTemp) 153 + 168: 6(float) Load 167 + Store 166(Depth) 168 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval10): 12(ptr) Variable Function + 30(txval11): 29(ptr) Variable Function + 43(txval12): 42(ptr) Variable Function + 53(txval20): 12(ptr) Variable Function + 64(txval21): 29(ptr) Variable Function + 75(txval22): 42(ptr) Variable Function + 86(txval30): 12(ptr) Variable Function + 97(txval31): 29(ptr) Variable Function + 107(txval32): 42(ptr) Variable Function + 120(txval40): 12(ptr) Variable Function + 129(txval41): 29(ptr) Variable Function + 138(txval42): 42(ptr) Variable Function + 148(psout): 147(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 26: 7(fvec4) ImageSampleImplicitLod 23 24 Bias 25 + Store 13(txval10) 26 + 34: 31 Load 33(g_tTex1di4) + 35: 18 Load 20(g_sSamp) + 37: 36 SampledImage 34 35 + 39: 28(ivec4) ImageSampleImplicitLod 37 38 Bias 25 + Store 30(txval11) 39 + 47: 44 Load 46(g_tTex1du4) + 48: 18 Load 20(g_sSamp) + 50: 49 SampledImage 47 48 + 52: 41(ivec4) ImageSampleImplicitLod 50 51 Bias 25 + Store 43(txval12) 52 + 57: 54 Load 56(g_tTex2df4) + 58: 18 Load 20(g_sSamp) + 60: 59 SampledImage 57 58 + 63: 7(fvec4) ImageSampleImplicitLod 60 62 Bias 25 + Store 53(txval20) 63 + 68: 65 Load 67(g_tTex2di4) + 69: 18 Load 20(g_sSamp) + 71: 70 SampledImage 68 69 + 74: 28(ivec4) ImageSampleImplicitLod 71 73 Bias 25 + Store 64(txval21) 74 + 79: 76 Load 78(g_tTex2du4) + 80: 18 Load 20(g_sSamp) + 82: 81 SampledImage 79 80 + 85: 41(ivec4) ImageSampleImplicitLod 82 84 Bias 25 + Store 75(txval22) 85 + 90: 87 Load 89(g_tTex3df4) + 91: 18 Load 20(g_sSamp) + 93: 92 SampledImage 90 91 + 96: 7(fvec4) ImageSampleImplicitLod 93 95 Bias 25 + Store 86(txval30) 96 + 101: 98 Load 100(g_tTex3di4) + 102: 18 Load 20(g_sSamp) + 104: 103 SampledImage 101 102 + 106: 28(ivec4) ImageSampleImplicitLod 104 105 Bias 25 + Store 97(txval31) 106 + 111: 108 Load 110(g_tTex3du4) + 112: 18 Load 20(g_sSamp) + 114: 113 SampledImage 111 112 + 119: 41(ivec4) ImageSampleImplicitLod 114 118 Bias 25 + Store 107(txval32) 119 + 124: 121 Load 123(g_tTexcdf4) + 125: 18 Load 20(g_sSamp) + 127: 126 SampledImage 124 125 + 128: 7(fvec4) ImageSampleImplicitLod 127 95 Bias 25 + Store 120(txval40) 128 + 133: 130 Load 132(g_tTexcdi4) + 134: 18 Load 20(g_sSamp) + 136: 135 SampledImage 133 134 + 137: 28(ivec4) ImageSampleImplicitLod 136 105 Bias 25 + Store 129(txval41) 137 + 142: 139 Load 141(g_tTexcdu4) + 143: 18 Load 20(g_sSamp) + 145: 144 SampledImage 142 143 + 146: 41(ivec4) ImageSampleImplicitLod 145 118 Bias 25 + Store 138(txval42) 146 + 152: 12(ptr) AccessChain 148(psout) 149 + Store 152 151 + 155: 154(ptr) AccessChain 148(psout) 153 + Store 155 150 + 156:8(PS_OUTPUT) Load 148(psout) + ReturnValue 156 + FunctionEnd diff --git a/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out b/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out index 01facb65..a9b552ea 100644 --- a/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.samplebias.offset.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:28 Function Parameters: 0:? Sequence 0:31 Sequence @@ -157,24 +157,28 @@ gl_FragCoord origin is upper left 0:46 1 (const int) 0:46 Constant: 0:46 1.000000 -0:48 Sequence -0:48 Sequence -0:48 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:48 Color: direct index for structure (temp 4-component vector of float) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:48 Constant: -0:48 0 (const int) -0:48 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:48 Depth: direct index for structure (temp float) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:48 Constant: -0:48 1 (const int) -0:48 Branch: Return +0:48 Branch: Return with expression +0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: main( (temp void) +0:28 Function Parameters: +0:? Sequence +0:28 Sequence +0:28 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:28 Color: direct index for structure (temp 4-component vector of float) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 0 (const int) +0:28 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:28 Depth: direct index for structure (temp float) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -189,6 +193,8 @@ gl_FragCoord origin is upper left 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: @@ -197,7 +203,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:28 Function Parameters: 0:? Sequence 0:31 Sequence @@ -352,24 +358,28 @@ gl_FragCoord origin is upper left 0:46 1 (const int) 0:46 Constant: 0:46 1.000000 -0:48 Sequence -0:48 Sequence -0:48 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:48 Color: direct index for structure (temp 4-component vector of float) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:48 Constant: -0:48 0 (const int) -0:48 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:48 Depth: direct index for structure (temp float) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:48 Constant: -0:48 1 (const int) -0:48 Branch: Return +0:48 Branch: Return with expression +0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: main( (temp void) +0:28 Function Parameters: +0:? Sequence +0:28 Sequence +0:28 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:28 Color: direct index for structure (temp 4-component vector of float) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 0 (const int) +0:28 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:28 Depth: direct index for structure (temp float) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -384,229 +394,242 @@ gl_FragCoord origin is upper left 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 154 +// Id's are bound by 161 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 136 140 + EntryPoint Fragment 4 "main" 144 148 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval10" - Name 12 "g_tTex1df4" - Name 16 "g_sSamp" - Name 27 "txval11" - Name 30 "g_tTex1di4" - Name 40 "txval12" - Name 43 "g_tTex1du4" - Name 50 "txval20" - Name 53 "g_tTex2df4" - Name 64 "txval21" - Name 67 "g_tTex2di4" - Name 76 "txval22" - Name 79 "g_tTex2du4" - Name 89 "txval30" - Name 92 "g_tTex3df4" - Name 102 "txval31" - Name 105 "g_tTex3di4" - Name 113 "txval32" - Name 116 "g_tTex3du4" - Name 127 "PS_OUTPUT" - MemberName 127(PS_OUTPUT) 0 "Color" - MemberName 127(PS_OUTPUT) 1 "Depth" - Name 129 "psout" - Name 136 "Color" - Name 140 "Depth" - Name 144 "g_tTex1df4a" - Name 147 "g_tTexcdf4" - Name 150 "g_tTexcdi4" - Name 153 "g_tTexcdu4" - Decorate 12(g_tTex1df4) DescriptorSet 0 - Decorate 12(g_tTex1df4) Binding 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - Decorate 30(g_tTex1di4) DescriptorSet 0 - Decorate 43(g_tTex1du4) DescriptorSet 0 - Decorate 53(g_tTex2df4) DescriptorSet 0 - Decorate 67(g_tTex2di4) DescriptorSet 0 - Decorate 79(g_tTex2du4) DescriptorSet 0 - Decorate 92(g_tTex3df4) DescriptorSet 0 - Decorate 105(g_tTex3di4) DescriptorSet 0 - Decorate 116(g_tTex3du4) DescriptorSet 0 - Decorate 136(Color) Location 0 - Decorate 140(Depth) BuiltIn FragDepth - Decorate 144(g_tTex1df4a) DescriptorSet 0 - Decorate 144(g_tTex1df4a) Binding 1 - Decorate 147(g_tTexcdf4) DescriptorSet 0 - Decorate 150(g_tTexcdi4) DescriptorSet 0 - Decorate 153(g_tTexcdu4) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval10" + Name 16 "g_tTex1df4" + Name 20 "g_sSamp" + Name 31 "txval11" + Name 34 "g_tTex1di4" + Name 44 "txval12" + Name 47 "g_tTex1du4" + Name 54 "txval20" + Name 57 "g_tTex2df4" + Name 68 "txval21" + Name 71 "g_tTex2di4" + Name 80 "txval22" + Name 83 "g_tTex2du4" + Name 93 "txval30" + Name 96 "g_tTex3df4" + Name 106 "txval31" + Name 109 "g_tTex3di4" + Name 117 "txval32" + Name 120 "g_tTex3du4" + Name 132 "psout" + Name 141 "flattenTemp" + Name 144 "Color" + Name 148 "Depth" + Name 151 "g_tTex1df4a" + Name 154 "g_tTexcdf4" + Name 157 "g_tTexcdi4" + Name 160 "g_tTexcdu4" + Decorate 16(g_tTex1df4) DescriptorSet 0 + Decorate 16(g_tTex1df4) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 34(g_tTex1di4) DescriptorSet 0 + Decorate 47(g_tTex1du4) DescriptorSet 0 + Decorate 57(g_tTex2df4) DescriptorSet 0 + Decorate 71(g_tTex2di4) DescriptorSet 0 + Decorate 83(g_tTex2du4) DescriptorSet 0 + Decorate 96(g_tTex3df4) DescriptorSet 0 + Decorate 109(g_tTex3di4) DescriptorSet 0 + Decorate 120(g_tTex3du4) DescriptorSet 0 + Decorate 144(Color) Location 0 + Decorate 148(Depth) BuiltIn FragDepth + Decorate 151(g_tTex1df4a) DescriptorSet 0 + Decorate 151(g_tTex1df4a) Binding 1 + Decorate 154(g_tTexcdf4) DescriptorSet 0 + Decorate 157(g_tTexcdi4) DescriptorSet 0 + Decorate 160(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 1D sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex1df4): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 1D sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: 6(float) Constant 1036831949 - 21: 6(float) Constant 1056964608 - 22: TypeInt 32 1 - 23: 22(int) Constant 1 - 25: TypeVector 22(int) 4 - 26: TypePointer Function 25(ivec4) - 28: TypeImage 22(int) 1D sampled format:Unknown - 29: TypePointer UniformConstant 28 - 30(g_tTex1di4): 29(ptr) Variable UniformConstant - 33: TypeSampledImage 28 - 35: 6(float) Constant 1045220557 - 37: TypeInt 32 0 - 38: TypeVector 37(int) 4 - 39: TypePointer Function 38(ivec4) - 41: TypeImage 37(int) 1D sampled format:Unknown - 42: TypePointer UniformConstant 41 - 43(g_tTex1du4): 42(ptr) Variable UniformConstant - 46: TypeSampledImage 41 - 48: 6(float) Constant 1050253722 - 51: TypeImage 6(float) 2D sampled format:Unknown - 52: TypePointer UniformConstant 51 - 53(g_tTex2df4): 52(ptr) Variable UniformConstant - 56: TypeSampledImage 51 - 58: TypeVector 6(float) 2 - 59: 58(fvec2) ConstantComposite 20 35 - 60: TypeVector 22(int) 2 - 61: 22(int) Constant 0 - 62: 60(ivec2) ConstantComposite 23 61 - 65: TypeImage 22(int) 2D sampled format:Unknown - 66: TypePointer UniformConstant 65 - 67(g_tTex2di4): 66(ptr) Variable UniformConstant - 70: TypeSampledImage 65 - 72: 6(float) Constant 1053609165 - 73: 58(fvec2) ConstantComposite 48 72 - 74: 60(ivec2) ConstantComposite 23 23 - 77: TypeImage 37(int) 2D sampled format:Unknown - 78: TypePointer UniformConstant 77 - 79(g_tTex2du4): 78(ptr) Variable UniformConstant - 82: TypeSampledImage 77 - 84: 6(float) Constant 1058642330 - 85: 58(fvec2) ConstantComposite 21 84 - 86: 22(int) Constant 4294967295 - 87: 60(ivec2) ConstantComposite 23 86 - 90: TypeImage 6(float) 3D sampled format:Unknown - 91: TypePointer UniformConstant 90 - 92(g_tTex3df4): 91(ptr) Variable UniformConstant - 95: TypeSampledImage 90 - 97: TypeVector 6(float) 3 - 98: 97(fvec3) ConstantComposite 20 35 48 - 99: TypeVector 22(int) 3 - 100: 99(ivec3) ConstantComposite 23 61 23 - 103: TypeImage 22(int) 3D sampled format:Unknown - 104: TypePointer UniformConstant 103 - 105(g_tTex3di4): 104(ptr) Variable UniformConstant - 108: TypeSampledImage 103 - 110: 97(fvec3) ConstantComposite 72 21 84 - 111: 99(ivec3) ConstantComposite 23 23 23 - 114: TypeImage 37(int) 3D sampled format:Unknown - 115: TypePointer UniformConstant 114 - 116(g_tTex3du4): 115(ptr) Variable UniformConstant - 119: TypeSampledImage 114 - 121: 6(float) Constant 1060320051 - 122: 6(float) Constant 1061997773 - 123: 6(float) Constant 1063675494 - 124: 97(fvec3) ConstantComposite 121 122 123 - 125: 99(ivec3) ConstantComposite 23 61 86 - 127(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 128: TypePointer Function 127(PS_OUTPUT) - 130: 6(float) Constant 1065353216 - 131: 7(fvec4) ConstantComposite 130 130 130 130 - 133: TypePointer Function 6(float) - 135: TypePointer Output 7(fvec4) - 136(Color): 135(ptr) Variable Output - 139: TypePointer Output 6(float) - 140(Depth): 139(ptr) Variable Output -144(g_tTex1df4a): 11(ptr) Variable UniformConstant - 145: TypeImage 6(float) Cube sampled format:Unknown - 146: TypePointer UniformConstant 145 - 147(g_tTexcdf4): 146(ptr) Variable UniformConstant - 148: TypeImage 22(int) Cube sampled format:Unknown - 149: TypePointer UniformConstant 148 - 150(g_tTexcdi4): 149(ptr) Variable UniformConstant - 151: TypeImage 37(int) Cube sampled format:Unknown - 152: TypePointer UniformConstant 151 - 153(g_tTexcdu4): 152(ptr) Variable UniformConstant + 16(g_tTex1df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: 6(float) Constant 1036831949 + 25: 6(float) Constant 1056964608 + 26: TypeInt 32 1 + 27: 26(int) Constant 1 + 29: TypeVector 26(int) 4 + 30: TypePointer Function 29(ivec4) + 32: TypeImage 26(int) 1D sampled format:Unknown + 33: TypePointer UniformConstant 32 + 34(g_tTex1di4): 33(ptr) Variable UniformConstant + 37: TypeSampledImage 32 + 39: 6(float) Constant 1045220557 + 41: TypeInt 32 0 + 42: TypeVector 41(int) 4 + 43: TypePointer Function 42(ivec4) + 45: TypeImage 41(int) 1D sampled format:Unknown + 46: TypePointer UniformConstant 45 + 47(g_tTex1du4): 46(ptr) Variable UniformConstant + 50: TypeSampledImage 45 + 52: 6(float) Constant 1050253722 + 55: TypeImage 6(float) 2D sampled format:Unknown + 56: TypePointer UniformConstant 55 + 57(g_tTex2df4): 56(ptr) Variable UniformConstant + 60: TypeSampledImage 55 + 62: TypeVector 6(float) 2 + 63: 62(fvec2) ConstantComposite 24 39 + 64: TypeVector 26(int) 2 + 65: 26(int) Constant 0 + 66: 64(ivec2) ConstantComposite 27 65 + 69: TypeImage 26(int) 2D sampled format:Unknown + 70: TypePointer UniformConstant 69 + 71(g_tTex2di4): 70(ptr) Variable UniformConstant + 74: TypeSampledImage 69 + 76: 6(float) Constant 1053609165 + 77: 62(fvec2) ConstantComposite 52 76 + 78: 64(ivec2) ConstantComposite 27 27 + 81: TypeImage 41(int) 2D sampled format:Unknown + 82: TypePointer UniformConstant 81 + 83(g_tTex2du4): 82(ptr) Variable UniformConstant + 86: TypeSampledImage 81 + 88: 6(float) Constant 1058642330 + 89: 62(fvec2) ConstantComposite 25 88 + 90: 26(int) Constant 4294967295 + 91: 64(ivec2) ConstantComposite 27 90 + 94: TypeImage 6(float) 3D sampled format:Unknown + 95: TypePointer UniformConstant 94 + 96(g_tTex3df4): 95(ptr) Variable UniformConstant + 99: TypeSampledImage 94 + 101: TypeVector 6(float) 3 + 102: 101(fvec3) ConstantComposite 24 39 52 + 103: TypeVector 26(int) 3 + 104: 103(ivec3) ConstantComposite 27 65 27 + 107: TypeImage 26(int) 3D sampled format:Unknown + 108: TypePointer UniformConstant 107 + 109(g_tTex3di4): 108(ptr) Variable UniformConstant + 112: TypeSampledImage 107 + 114: 101(fvec3) ConstantComposite 76 25 88 + 115: 103(ivec3) ConstantComposite 27 27 27 + 118: TypeImage 41(int) 3D sampled format:Unknown + 119: TypePointer UniformConstant 118 + 120(g_tTex3du4): 119(ptr) Variable UniformConstant + 123: TypeSampledImage 118 + 125: 6(float) Constant 1060320051 + 126: 6(float) Constant 1061997773 + 127: 6(float) Constant 1063675494 + 128: 101(fvec3) ConstantComposite 125 126 127 + 129: 103(ivec3) ConstantComposite 27 65 90 + 131: TypePointer Function 8(PS_OUTPUT) + 133: 6(float) Constant 1065353216 + 134: 7(fvec4) ConstantComposite 133 133 133 133 + 136: TypePointer Function 6(float) + 143: TypePointer Output 7(fvec4) + 144(Color): 143(ptr) Variable Output + 147: TypePointer Output 6(float) + 148(Depth): 147(ptr) Variable Output +151(g_tTex1df4a): 15(ptr) Variable UniformConstant + 152: TypeImage 6(float) Cube sampled format:Unknown + 153: TypePointer UniformConstant 152 + 154(g_tTexcdf4): 153(ptr) Variable UniformConstant + 155: TypeImage 26(int) Cube sampled format:Unknown + 156: TypePointer UniformConstant 155 + 157(g_tTexcdi4): 156(ptr) Variable UniformConstant + 158: TypeImage 41(int) Cube sampled format:Unknown + 159: TypePointer UniformConstant 158 + 160(g_tTexcdu4): 159(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval10): 8(ptr) Variable Function - 27(txval11): 26(ptr) Variable Function - 40(txval12): 39(ptr) Variable Function - 50(txval20): 8(ptr) Variable Function - 64(txval21): 26(ptr) Variable Function - 76(txval22): 39(ptr) Variable Function - 89(txval30): 8(ptr) Variable Function - 102(txval31): 26(ptr) Variable Function - 113(txval32): 39(ptr) Variable Function - 129(psout): 128(ptr) Variable Function - 13: 10 Load 12(g_tTex1df4) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 24: 7(fvec4) ImageSampleImplicitLod 19 20 Bias ConstOffset 23 21 - Store 9(txval10) 24 - 31: 28 Load 30(g_tTex1di4) - 32: 14 Load 16(g_sSamp) - 34: 33 SampledImage 31 32 - 36: 25(ivec4) ImageSampleImplicitLod 34 35 Bias ConstOffset 23 21 - Store 27(txval11) 36 - 44: 41 Load 43(g_tTex1du4) - 45: 14 Load 16(g_sSamp) - 47: 46 SampledImage 44 45 - 49: 38(ivec4) ImageSampleImplicitLod 47 48 Bias ConstOffset 23 21 - Store 40(txval12) 49 - 54: 51 Load 53(g_tTex2df4) - 55: 14 Load 16(g_sSamp) - 57: 56 SampledImage 54 55 - 63: 7(fvec4) ImageSampleImplicitLod 57 59 Bias ConstOffset 62 21 - Store 50(txval20) 63 - 68: 65 Load 67(g_tTex2di4) - 69: 14 Load 16(g_sSamp) - 71: 70 SampledImage 68 69 - 75: 25(ivec4) ImageSampleImplicitLod 71 73 Bias ConstOffset 74 21 - Store 64(txval21) 75 - 80: 77 Load 79(g_tTex2du4) - 81: 14 Load 16(g_sSamp) - 83: 82 SampledImage 80 81 - 88: 38(ivec4) ImageSampleImplicitLod 83 85 Bias ConstOffset 87 21 - Store 76(txval22) 88 - 93: 90 Load 92(g_tTex3df4) - 94: 14 Load 16(g_sSamp) - 96: 95 SampledImage 93 94 - 101: 7(fvec4) ImageSampleImplicitLod 96 98 Bias ConstOffset 100 21 - Store 89(txval30) 101 - 106: 103 Load 105(g_tTex3di4) - 107: 14 Load 16(g_sSamp) - 109: 108 SampledImage 106 107 - 112: 25(ivec4) ImageSampleImplicitLod 109 110 Bias ConstOffset 111 21 - Store 102(txval31) 112 - 117: 114 Load 116(g_tTex3du4) - 118: 14 Load 16(g_sSamp) - 120: 119 SampledImage 117 118 - 126: 38(ivec4) ImageSampleImplicitLod 120 124 Bias ConstOffset 125 21 - Store 113(txval32) 126 - 132: 8(ptr) AccessChain 129(psout) 61 - Store 132 131 - 134: 133(ptr) AccessChain 129(psout) 23 - Store 134 130 - 137: 8(ptr) AccessChain 129(psout) 61 - 138: 7(fvec4) Load 137 - Store 136(Color) 138 - 141: 133(ptr) AccessChain 129(psout) 23 - 142: 6(float) Load 141 - Store 140(Depth) 142 +141(flattenTemp): 131(ptr) Variable Function + 142:8(PS_OUTPUT) FunctionCall 10(@main() + Store 141(flattenTemp) 142 + 145: 12(ptr) AccessChain 141(flattenTemp) 65 + 146: 7(fvec4) Load 145 + Store 144(Color) 146 + 149: 136(ptr) AccessChain 141(flattenTemp) 27 + 150: 6(float) Load 149 + Store 148(Depth) 150 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval10): 12(ptr) Variable Function + 31(txval11): 30(ptr) Variable Function + 44(txval12): 43(ptr) Variable Function + 54(txval20): 12(ptr) Variable Function + 68(txval21): 30(ptr) Variable Function + 80(txval22): 43(ptr) Variable Function + 93(txval30): 12(ptr) Variable Function + 106(txval31): 30(ptr) Variable Function + 117(txval32): 43(ptr) Variable Function + 132(psout): 131(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 28: 7(fvec4) ImageSampleImplicitLod 23 24 Bias ConstOffset 27 25 + Store 13(txval10) 28 + 35: 32 Load 34(g_tTex1di4) + 36: 18 Load 20(g_sSamp) + 38: 37 SampledImage 35 36 + 40: 29(ivec4) ImageSampleImplicitLod 38 39 Bias ConstOffset 27 25 + Store 31(txval11) 40 + 48: 45 Load 47(g_tTex1du4) + 49: 18 Load 20(g_sSamp) + 51: 50 SampledImage 48 49 + 53: 42(ivec4) ImageSampleImplicitLod 51 52 Bias ConstOffset 27 25 + Store 44(txval12) 53 + 58: 55 Load 57(g_tTex2df4) + 59: 18 Load 20(g_sSamp) + 61: 60 SampledImage 58 59 + 67: 7(fvec4) ImageSampleImplicitLod 61 63 Bias ConstOffset 66 25 + Store 54(txval20) 67 + 72: 69 Load 71(g_tTex2di4) + 73: 18 Load 20(g_sSamp) + 75: 74 SampledImage 72 73 + 79: 29(ivec4) ImageSampleImplicitLod 75 77 Bias ConstOffset 78 25 + Store 68(txval21) 79 + 84: 81 Load 83(g_tTex2du4) + 85: 18 Load 20(g_sSamp) + 87: 86 SampledImage 84 85 + 92: 42(ivec4) ImageSampleImplicitLod 87 89 Bias ConstOffset 91 25 + Store 80(txval22) 92 + 97: 94 Load 96(g_tTex3df4) + 98: 18 Load 20(g_sSamp) + 100: 99 SampledImage 97 98 + 105: 7(fvec4) ImageSampleImplicitLod 100 102 Bias ConstOffset 104 25 + Store 93(txval30) 105 + 110: 107 Load 109(g_tTex3di4) + 111: 18 Load 20(g_sSamp) + 113: 112 SampledImage 110 111 + 116: 29(ivec4) ImageSampleImplicitLod 113 114 Bias ConstOffset 115 25 + Store 106(txval31) 116 + 121: 118 Load 120(g_tTex3du4) + 122: 18 Load 20(g_sSamp) + 124: 123 SampledImage 121 122 + 130: 42(ivec4) ImageSampleImplicitLod 124 128 Bias ConstOffset 129 25 + Store 117(txval32) 130 + 135: 12(ptr) AccessChain 132(psout) 65 + Store 135 134 + 137: 136(ptr) AccessChain 132(psout) 27 + Store 137 133 + 138:8(PS_OUTPUT) Load 132(psout) + ReturnValue 138 + FunctionEnd diff --git a/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out index 17aef7ae..e101a85d 100644 --- a/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.samplebias.offsetarray.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:20 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:20 Function Parameters: 0:? Sequence 0:23 Sequence @@ -112,24 +112,28 @@ gl_FragCoord origin is upper left 0:34 1 (const int) 0:34 Constant: 0:34 1.000000 -0:36 Sequence -0:36 Sequence -0:36 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:36 Color: direct index for structure (temp 4-component vector of float) -0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:36 Constant: -0:36 0 (const int) -0:36 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:36 Depth: direct index for structure (temp float) -0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:36 Constant: -0:36 1 (const int) -0:36 Branch: Return +0:36 Branch: Return with expression +0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Function Definition: main( (temp void) +0:20 Function Parameters: +0:? Sequence +0:20 Sequence +0:20 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:20 Color: direct index for structure (temp 4-component vector of float) +0:20 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Constant: +0:20 0 (const int) +0:20 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:20 Depth: direct index for structure (temp float) +0:20 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Constant: +0:20 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -138,6 +142,8 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2df4' (uniform texture2DArray) 0:? 'g_tTex2di4' (uniform itexture2DArray) 0:? 'g_tTex2du4' (uniform utexture2DArray) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -146,7 +152,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:20 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:20 Function Parameters: 0:? Sequence 0:23 Sequence @@ -256,24 +262,28 @@ gl_FragCoord origin is upper left 0:34 1 (const int) 0:34 Constant: 0:34 1.000000 -0:36 Sequence -0:36 Sequence -0:36 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:36 Color: direct index for structure (temp 4-component vector of float) -0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:36 Constant: -0:36 0 (const int) -0:36 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:36 Depth: direct index for structure (temp float) -0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:36 Constant: -0:36 1 (const int) -0:36 Branch: Return +0:36 Branch: Return with expression +0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Function Definition: main( (temp void) +0:20 Function Parameters: +0:? Sequence +0:20 Sequence +0:20 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:20 Color: direct index for structure (temp 4-component vector of float) +0:20 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Constant: +0:20 0 (const int) +0:20 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:20 Depth: direct index for structure (temp float) +0:20 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Constant: +0:20 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -282,168 +292,181 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2df4' (uniform texture2DArray) 0:? 'g_tTex2di4' (uniform itexture2DArray) 0:? 'g_tTex2du4' (uniform utexture2DArray) +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 111 +// Id's are bound by 118 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 102 106 + EntryPoint Fragment 4 "main" 110 114 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval10" - Name 12 "g_tTex1df4" - Name 16 "g_sSamp" - Name 30 "txval11" - Name 33 "g_tTex1di4" - Name 45 "txval12" - Name 48 "g_tTex1du4" - Name 57 "txval20" - Name 60 "g_tTex2df4" - Name 70 "txval21" - Name 73 "g_tTex2di4" - Name 80 "txval22" - Name 83 "g_tTex2du4" - Name 93 "PS_OUTPUT" - MemberName 93(PS_OUTPUT) 0 "Color" - MemberName 93(PS_OUTPUT) 1 "Depth" - Name 95 "psout" - Name 102 "Color" - Name 106 "Depth" - Name 110 "g_tTex1df4a" - Decorate 12(g_tTex1df4) DescriptorSet 0 - Decorate 12(g_tTex1df4) Binding 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - Decorate 33(g_tTex1di4) DescriptorSet 0 - Decorate 48(g_tTex1du4) DescriptorSet 0 - Decorate 60(g_tTex2df4) DescriptorSet 0 - Decorate 73(g_tTex2di4) DescriptorSet 0 - Decorate 83(g_tTex2du4) DescriptorSet 0 - Decorate 102(Color) Location 0 - Decorate 106(Depth) BuiltIn FragDepth - Decorate 110(g_tTex1df4a) DescriptorSet 0 - Decorate 110(g_tTex1df4a) Binding 1 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval10" + Name 16 "g_tTex1df4" + Name 20 "g_sSamp" + Name 34 "txval11" + Name 37 "g_tTex1di4" + Name 49 "txval12" + Name 52 "g_tTex1du4" + Name 61 "txval20" + Name 64 "g_tTex2df4" + Name 74 "txval21" + Name 77 "g_tTex2di4" + Name 84 "txval22" + Name 87 "g_tTex2du4" + Name 98 "psout" + Name 107 "flattenTemp" + Name 110 "Color" + Name 114 "Depth" + Name 117 "g_tTex1df4a" + Decorate 16(g_tTex1df4) DescriptorSet 0 + Decorate 16(g_tTex1df4) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 37(g_tTex1di4) DescriptorSet 0 + Decorate 52(g_tTex1du4) DescriptorSet 0 + Decorate 64(g_tTex2df4) DescriptorSet 0 + Decorate 77(g_tTex2di4) DescriptorSet 0 + Decorate 87(g_tTex2du4) DescriptorSet 0 + Decorate 110(Color) Location 0 + Decorate 114(Depth) BuiltIn FragDepth + Decorate 117(g_tTex1df4a) DescriptorSet 0 + Decorate 117(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 1D array sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex1df4): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 1D array sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: TypeVector 6(float) 2 - 21: 6(float) Constant 1036831949 - 22: 6(float) Constant 1045220557 - 23: 20(fvec2) ConstantComposite 21 22 - 24: 6(float) Constant 1056964608 - 25: TypeInt 32 1 - 26: 25(int) Constant 0 - 28: TypeVector 25(int) 4 - 29: TypePointer Function 28(ivec4) - 31: TypeImage 25(int) 1D array sampled format:Unknown - 32: TypePointer UniformConstant 31 - 33(g_tTex1di4): 32(ptr) Variable UniformConstant - 36: TypeSampledImage 31 - 38: 6(float) Constant 1050253722 - 39: 20(fvec2) ConstantComposite 22 38 - 40: 25(int) Constant 1 - 42: TypeInt 32 0 - 43: TypeVector 42(int) 4 - 44: TypePointer Function 43(ivec4) - 46: TypeImage 42(int) 1D array sampled format:Unknown - 47: TypePointer UniformConstant 46 - 48(g_tTex1du4): 47(ptr) Variable UniformConstant - 51: TypeSampledImage 46 - 53: 6(float) Constant 1053609165 - 54: 20(fvec2) ConstantComposite 38 53 - 55: 25(int) Constant 2 - 58: TypeImage 6(float) 2D array sampled format:Unknown - 59: TypePointer UniformConstant 58 - 60(g_tTex2df4): 59(ptr) Variable UniformConstant - 63: TypeSampledImage 58 - 65: TypeVector 6(float) 3 - 66: 65(fvec3) ConstantComposite 21 22 38 - 67: TypeVector 25(int) 2 - 68: 67(ivec2) ConstantComposite 26 26 - 71: TypeImage 25(int) 2D array sampled format:Unknown - 72: TypePointer UniformConstant 71 - 73(g_tTex2di4): 72(ptr) Variable UniformConstant - 76: TypeSampledImage 71 - 78: 65(fvec3) ConstantComposite 38 53 24 - 81: TypeImage 42(int) 2D array sampled format:Unknown - 82: TypePointer UniformConstant 81 - 83(g_tTex2du4): 82(ptr) Variable UniformConstant - 86: TypeSampledImage 81 - 88: 6(float) Constant 1058642330 - 89: 6(float) Constant 1060320051 - 90: 65(fvec3) ConstantComposite 24 88 89 - 91: 67(ivec2) ConstantComposite 26 40 - 93(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 94: TypePointer Function 93(PS_OUTPUT) - 96: 6(float) Constant 1065353216 - 97: 7(fvec4) ConstantComposite 96 96 96 96 - 99: TypePointer Function 6(float) - 101: TypePointer Output 7(fvec4) - 102(Color): 101(ptr) Variable Output - 105: TypePointer Output 6(float) - 106(Depth): 105(ptr) Variable Output -110(g_tTex1df4a): 11(ptr) Variable UniformConstant + 16(g_tTex1df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: TypeVector 6(float) 2 + 25: 6(float) Constant 1036831949 + 26: 6(float) Constant 1045220557 + 27: 24(fvec2) ConstantComposite 25 26 + 28: 6(float) Constant 1056964608 + 29: TypeInt 32 1 + 30: 29(int) Constant 0 + 32: TypeVector 29(int) 4 + 33: TypePointer Function 32(ivec4) + 35: TypeImage 29(int) 1D array sampled format:Unknown + 36: TypePointer UniformConstant 35 + 37(g_tTex1di4): 36(ptr) Variable UniformConstant + 40: TypeSampledImage 35 + 42: 6(float) Constant 1050253722 + 43: 24(fvec2) ConstantComposite 26 42 + 44: 29(int) Constant 1 + 46: TypeInt 32 0 + 47: TypeVector 46(int) 4 + 48: TypePointer Function 47(ivec4) + 50: TypeImage 46(int) 1D array sampled format:Unknown + 51: TypePointer UniformConstant 50 + 52(g_tTex1du4): 51(ptr) Variable UniformConstant + 55: TypeSampledImage 50 + 57: 6(float) Constant 1053609165 + 58: 24(fvec2) ConstantComposite 42 57 + 59: 29(int) Constant 2 + 62: TypeImage 6(float) 2D array sampled format:Unknown + 63: TypePointer UniformConstant 62 + 64(g_tTex2df4): 63(ptr) Variable UniformConstant + 67: TypeSampledImage 62 + 69: TypeVector 6(float) 3 + 70: 69(fvec3) ConstantComposite 25 26 42 + 71: TypeVector 29(int) 2 + 72: 71(ivec2) ConstantComposite 30 30 + 75: TypeImage 29(int) 2D array sampled format:Unknown + 76: TypePointer UniformConstant 75 + 77(g_tTex2di4): 76(ptr) Variable UniformConstant + 80: TypeSampledImage 75 + 82: 69(fvec3) ConstantComposite 42 57 28 + 85: TypeImage 46(int) 2D array sampled format:Unknown + 86: TypePointer UniformConstant 85 + 87(g_tTex2du4): 86(ptr) Variable UniformConstant + 90: TypeSampledImage 85 + 92: 6(float) Constant 1058642330 + 93: 6(float) Constant 1060320051 + 94: 69(fvec3) ConstantComposite 28 92 93 + 95: 71(ivec2) ConstantComposite 30 44 + 97: TypePointer Function 8(PS_OUTPUT) + 99: 6(float) Constant 1065353216 + 100: 7(fvec4) ConstantComposite 99 99 99 99 + 102: TypePointer Function 6(float) + 109: TypePointer Output 7(fvec4) + 110(Color): 109(ptr) Variable Output + 113: TypePointer Output 6(float) + 114(Depth): 113(ptr) Variable Output +117(g_tTex1df4a): 15(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval10): 8(ptr) Variable Function - 30(txval11): 29(ptr) Variable Function - 45(txval12): 44(ptr) Variable Function - 57(txval20): 8(ptr) Variable Function - 70(txval21): 29(ptr) Variable Function - 80(txval22): 44(ptr) Variable Function - 95(psout): 94(ptr) Variable Function - 13: 10 Load 12(g_tTex1df4) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 27: 7(fvec4) ImageSampleImplicitLod 19 23 Bias ConstOffset 26 24 - Store 9(txval10) 27 - 34: 31 Load 33(g_tTex1di4) - 35: 14 Load 16(g_sSamp) - 37: 36 SampledImage 34 35 - 41: 28(ivec4) ImageSampleImplicitLod 37 39 Bias ConstOffset 40 24 - Store 30(txval11) 41 - 49: 46 Load 48(g_tTex1du4) - 50: 14 Load 16(g_sSamp) - 52: 51 SampledImage 49 50 - 56: 43(ivec4) ImageSampleImplicitLod 52 54 Bias ConstOffset 55 24 - Store 45(txval12) 56 - 61: 58 Load 60(g_tTex2df4) - 62: 14 Load 16(g_sSamp) - 64: 63 SampledImage 61 62 - 69: 7(fvec4) ImageSampleImplicitLod 64 66 Bias ConstOffset 68 24 - Store 57(txval20) 69 - 74: 71 Load 73(g_tTex2di4) - 75: 14 Load 16(g_sSamp) - 77: 76 SampledImage 74 75 - 79: 28(ivec4) ImageSampleImplicitLod 77 78 Bias ConstOffset 68 24 - Store 70(txval21) 79 - 84: 81 Load 83(g_tTex2du4) - 85: 14 Load 16(g_sSamp) - 87: 86 SampledImage 84 85 - 92: 43(ivec4) ImageSampleImplicitLod 87 90 Bias ConstOffset 91 24 - Store 80(txval22) 92 - 98: 8(ptr) AccessChain 95(psout) 26 - Store 98 97 - 100: 99(ptr) AccessChain 95(psout) 40 - Store 100 96 - 103: 8(ptr) AccessChain 95(psout) 26 - 104: 7(fvec4) Load 103 - Store 102(Color) 104 - 107: 99(ptr) AccessChain 95(psout) 40 - 108: 6(float) Load 107 - Store 106(Depth) 108 +107(flattenTemp): 97(ptr) Variable Function + 108:8(PS_OUTPUT) FunctionCall 10(@main() + Store 107(flattenTemp) 108 + 111: 12(ptr) AccessChain 107(flattenTemp) 30 + 112: 7(fvec4) Load 111 + Store 110(Color) 112 + 115: 102(ptr) AccessChain 107(flattenTemp) 44 + 116: 6(float) Load 115 + Store 114(Depth) 116 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval10): 12(ptr) Variable Function + 34(txval11): 33(ptr) Variable Function + 49(txval12): 48(ptr) Variable Function + 61(txval20): 12(ptr) Variable Function + 74(txval21): 33(ptr) Variable Function + 84(txval22): 48(ptr) Variable Function + 98(psout): 97(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 31: 7(fvec4) ImageSampleImplicitLod 23 27 Bias ConstOffset 30 28 + Store 13(txval10) 31 + 38: 35 Load 37(g_tTex1di4) + 39: 18 Load 20(g_sSamp) + 41: 40 SampledImage 38 39 + 45: 32(ivec4) ImageSampleImplicitLod 41 43 Bias ConstOffset 44 28 + Store 34(txval11) 45 + 53: 50 Load 52(g_tTex1du4) + 54: 18 Load 20(g_sSamp) + 56: 55 SampledImage 53 54 + 60: 47(ivec4) ImageSampleImplicitLod 56 58 Bias ConstOffset 59 28 + Store 49(txval12) 60 + 65: 62 Load 64(g_tTex2df4) + 66: 18 Load 20(g_sSamp) + 68: 67 SampledImage 65 66 + 73: 7(fvec4) ImageSampleImplicitLod 68 70 Bias ConstOffset 72 28 + Store 61(txval20) 73 + 78: 75 Load 77(g_tTex2di4) + 79: 18 Load 20(g_sSamp) + 81: 80 SampledImage 78 79 + 83: 32(ivec4) ImageSampleImplicitLod 81 82 Bias ConstOffset 72 28 + Store 74(txval21) 83 + 88: 85 Load 87(g_tTex2du4) + 89: 18 Load 20(g_sSamp) + 91: 90 SampledImage 88 89 + 96: 47(ivec4) ImageSampleImplicitLod 91 94 Bias ConstOffset 95 28 + Store 84(txval22) 96 + 101: 12(ptr) AccessChain 98(psout) 30 + Store 101 100 + 103: 102(ptr) AccessChain 98(psout) 44 + Store 103 99 + 104:8(PS_OUTPUT) Load 98(psout) + ReturnValue 104 + FunctionEnd diff --git a/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out index c4f5d11c..8bd07cf9 100644 --- a/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.samplecmp.array.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:38 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:38 Function Parameters: 0:? Sequence 0:42 Sequence @@ -148,24 +148,28 @@ gl_FragCoord origin is upper left 0:57 1 (const int) 0:57 Constant: 0:57 1.000000 -0:59 Sequence -0:59 Sequence -0:59 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:59 Color: direct index for structure (temp 4-component vector of float) -0:59 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:59 Constant: -0:59 0 (const int) -0:59 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:59 Depth: direct index for structure (temp float) -0:59 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:59 Constant: -0:59 1 (const int) -0:59 Branch: Return +0:59 Branch: Return with expression +0:59 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: main( (temp void) +0:38 Function Parameters: +0:? Sequence +0:38 Sequence +0:38 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:38 Color: direct index for structure (temp 4-component vector of float) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 0 (const int) +0:38 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:38 Depth: direct index for structure (temp float) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -188,6 +192,8 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -196,7 +202,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:38 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:38 Function Parameters: 0:? Sequence 0:42 Sequence @@ -342,24 +348,28 @@ gl_FragCoord origin is upper left 0:57 1 (const int) 0:57 Constant: 0:57 1.000000 -0:59 Sequence -0:59 Sequence -0:59 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:59 Color: direct index for structure (temp 4-component vector of float) -0:59 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:59 Constant: -0:59 0 (const int) -0:59 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:59 Depth: direct index for structure (temp float) -0:59 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:59 Constant: -0:59 1 (const int) -0:59 Branch: Return +0:59 Branch: Return with expression +0:59 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: main( (temp void) +0:38 Function Parameters: +0:? Sequence +0:38 Sequence +0:38 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:38 Color: direct index for structure (temp 4-component vector of float) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 0 (const int) +0:38 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:38 Depth: direct index for structure (temp float) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -382,302 +392,315 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +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 211 +// Id's are bound by 218 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 167 171 + EntryPoint Fragment 4 "main" 175 179 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "r10" - Name 11 "g_tTex1df4a" - Name 15 "g_sSamp" - Name 31 "r12" - Name 35 "g_tTex1di4a" - Name 46 "r14" - Name 50 "g_tTex1du4a" - Name 61 "r30" - Name 64 "g_tTex2df4a" - Name 79 "r32" - Name 82 "g_tTex2di4a" - Name 94 "r34" - Name 97 "g_tTex2du4a" - Name 109 "r60" - Name 112 "g_tTexcdf4a" - Name 126 "r62" - Name 129 "g_tTexcdi4a" - Name 141 "r64" - Name 144 "g_tTexcdu4a" - Name 156 "PS_OUTPUT" - MemberName 156(PS_OUTPUT) 0 "Color" - MemberName 156(PS_OUTPUT) 1 "Depth" - Name 158 "psout" - Name 167 "Color" - Name 171 "Depth" - Name 177 "g_tTex1df4" - Name 180 "g_tTex1di4" - Name 183 "g_tTex1du4" - Name 186 "g_tTex2df4" - Name 189 "g_tTex2di4" - Name 192 "g_tTex2du4" - Name 195 "g_tTex3df4" - Name 198 "g_tTex3di4" - Name 201 "g_tTex3du4" - Name 204 "g_tTexcdf4" - Name 207 "g_tTexcdi4" - Name 210 "g_tTexcdu4" - Decorate 11(g_tTex1df4a) DescriptorSet 0 - Decorate 15(g_sSamp) DescriptorSet 0 - Decorate 15(g_sSamp) Binding 0 - Decorate 35(g_tTex1di4a) DescriptorSet 0 - Decorate 50(g_tTex1du4a) DescriptorSet 0 - Decorate 64(g_tTex2df4a) DescriptorSet 0 - Decorate 82(g_tTex2di4a) DescriptorSet 0 - Decorate 97(g_tTex2du4a) DescriptorSet 0 - Decorate 112(g_tTexcdf4a) DescriptorSet 0 - Decorate 129(g_tTexcdi4a) DescriptorSet 0 - Decorate 144(g_tTexcdu4a) DescriptorSet 0 - Decorate 167(Color) Location 0 - Decorate 171(Depth) BuiltIn FragDepth - Decorate 177(g_tTex1df4) DescriptorSet 0 - Decorate 177(g_tTex1df4) Binding 0 - Decorate 180(g_tTex1di4) DescriptorSet 0 - Decorate 183(g_tTex1du4) DescriptorSet 0 - Decorate 186(g_tTex2df4) DescriptorSet 0 - Decorate 189(g_tTex2di4) DescriptorSet 0 - Decorate 192(g_tTex2du4) DescriptorSet 0 - Decorate 195(g_tTex3df4) DescriptorSet 0 - Decorate 198(g_tTex3di4) DescriptorSet 0 - Decorate 201(g_tTex3du4) DescriptorSet 0 - Decorate 204(g_tTexcdf4) DescriptorSet 0 - Decorate 207(g_tTexcdi4) DescriptorSet 0 - Decorate 210(g_tTexcdu4) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "r10" + Name 16 "g_tTex1df4a" + Name 20 "g_sSamp" + Name 36 "r12" + Name 40 "g_tTex1di4a" + Name 51 "r14" + Name 55 "g_tTex1du4a" + Name 66 "r30" + Name 69 "g_tTex2df4a" + Name 83 "r32" + Name 86 "g_tTex2di4a" + Name 98 "r34" + Name 101 "g_tTex2du4a" + Name 113 "r60" + Name 116 "g_tTexcdf4a" + Name 130 "r62" + Name 133 "g_tTexcdi4a" + Name 145 "r64" + Name 148 "g_tTexcdu4a" + Name 161 "psout" + Name 172 "flattenTemp" + Name 175 "Color" + Name 179 "Depth" + Name 184 "g_tTex1df4" + Name 187 "g_tTex1di4" + Name 190 "g_tTex1du4" + Name 193 "g_tTex2df4" + Name 196 "g_tTex2di4" + Name 199 "g_tTex2du4" + Name 202 "g_tTex3df4" + Name 205 "g_tTex3di4" + Name 208 "g_tTex3du4" + Name 211 "g_tTexcdf4" + Name 214 "g_tTexcdi4" + Name 217 "g_tTexcdu4" + Decorate 16(g_tTex1df4a) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 40(g_tTex1di4a) DescriptorSet 0 + Decorate 55(g_tTex1du4a) DescriptorSet 0 + Decorate 69(g_tTex2df4a) DescriptorSet 0 + Decorate 86(g_tTex2di4a) DescriptorSet 0 + Decorate 101(g_tTex2du4a) DescriptorSet 0 + Decorate 116(g_tTexcdf4a) DescriptorSet 0 + Decorate 133(g_tTexcdi4a) DescriptorSet 0 + Decorate 148(g_tTexcdu4a) DescriptorSet 0 + Decorate 175(Color) Location 0 + Decorate 179(Depth) BuiltIn FragDepth + Decorate 184(g_tTex1df4) DescriptorSet 0 + Decorate 184(g_tTex1df4) Binding 0 + Decorate 187(g_tTex1di4) DescriptorSet 0 + Decorate 190(g_tTex1du4) DescriptorSet 0 + Decorate 193(g_tTex2df4) DescriptorSet 0 + Decorate 196(g_tTex2di4) DescriptorSet 0 + Decorate 199(g_tTex2du4) DescriptorSet 0 + Decorate 202(g_tTex3df4) DescriptorSet 0 + Decorate 205(g_tTex3di4) DescriptorSet 0 + Decorate 208(g_tTex3du4) DescriptorSet 0 + Decorate 211(g_tTexcdf4) DescriptorSet 0 + Decorate 214(g_tTexcdi4) DescriptorSet 0 + Decorate 217(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypePointer Function 6(float) - 9: TypeImage 6(float) 1D array sampled format:Unknown - 10: TypePointer UniformConstant 9 - 11(g_tTex1df4a): 10(ptr) Variable UniformConstant - 13: TypeSampler - 14: TypePointer UniformConstant 13 - 15(g_sSamp): 14(ptr) Variable UniformConstant - 17: TypeImage 6(float) 1D depth array sampled format:Unknown - 18: TypeSampledImage 17 - 20: TypeVector 6(float) 2 - 21: 6(float) Constant 1036831949 - 22: 6(float) Constant 1045220557 - 23: 20(fvec2) ConstantComposite 21 22 - 24: 6(float) Constant 1061158912 - 25: TypeVector 6(float) 3 - 32: TypeInt 32 1 - 33: TypeImage 32(int) 1D array sampled format:Unknown - 34: TypePointer UniformConstant 33 - 35(g_tTex1di4a): 34(ptr) Variable UniformConstant - 38: TypeImage 32(int) 1D depth array sampled format:Unknown - 39: TypeSampledImage 38 - 47: TypeInt 32 0 - 48: TypeImage 47(int) 1D array sampled format:Unknown - 49: TypePointer UniformConstant 48 - 50(g_tTex1du4a): 49(ptr) Variable UniformConstant - 53: TypeImage 47(int) 1D depth array sampled format:Unknown - 54: TypeSampledImage 53 - 62: TypeImage 6(float) 2D array sampled format:Unknown - 63: TypePointer UniformConstant 62 - 64(g_tTex2df4a): 63(ptr) Variable UniformConstant - 67: TypeImage 6(float) 2D depth array sampled format:Unknown - 68: TypeSampledImage 67 - 70: 6(float) Constant 1050253722 - 71: 25(fvec3) ConstantComposite 21 22 70 - 72: TypeVector 6(float) 4 - 80: TypeImage 32(int) 2D array sampled format:Unknown - 81: TypePointer UniformConstant 80 - 82(g_tTex2di4a): 81(ptr) Variable UniformConstant - 85: TypeImage 32(int) 2D depth array sampled format:Unknown - 86: TypeSampledImage 85 - 95: TypeImage 47(int) 2D array sampled format:Unknown - 96: TypePointer UniformConstant 95 - 97(g_tTex2du4a): 96(ptr) Variable UniformConstant - 100: TypeImage 47(int) 2D depth array sampled format:Unknown - 101: TypeSampledImage 100 - 110: TypeImage 6(float) Cube array sampled format:Unknown - 111: TypePointer UniformConstant 110 -112(g_tTexcdf4a): 111(ptr) Variable UniformConstant - 115: TypeImage 6(float) Cube depth array sampled format:Unknown - 116: TypeSampledImage 115 - 118: 6(float) Constant 1053609165 - 119: 72(fvec4) ConstantComposite 21 22 70 118 - 127: TypeImage 32(int) Cube array sampled format:Unknown - 128: TypePointer UniformConstant 127 -129(g_tTexcdi4a): 128(ptr) Variable UniformConstant - 132: TypeImage 32(int) Cube depth array sampled format:Unknown - 133: TypeSampledImage 132 - 142: TypeImage 47(int) Cube array sampled format:Unknown - 143: TypePointer UniformConstant 142 -144(g_tTexcdu4a): 143(ptr) Variable UniformConstant - 147: TypeImage 47(int) Cube depth array sampled format:Unknown - 148: TypeSampledImage 147 - 156(PS_OUTPUT): TypeStruct 72(fvec4) 6(float) - 157: TypePointer Function 156(PS_OUTPUT) - 159: 32(int) Constant 0 - 160: 6(float) Constant 1065353216 - 161: 72(fvec4) ConstantComposite 160 160 160 160 - 162: TypePointer Function 72(fvec4) - 164: 32(int) Constant 1 - 166: TypePointer Output 72(fvec4) - 167(Color): 166(ptr) Variable Output - 170: TypePointer Output 6(float) - 171(Depth): 170(ptr) Variable Output - 175: TypeImage 6(float) 1D sampled format:Unknown - 176: TypePointer UniformConstant 175 - 177(g_tTex1df4): 176(ptr) Variable UniformConstant - 178: TypeImage 32(int) 1D sampled format:Unknown - 179: TypePointer UniformConstant 178 - 180(g_tTex1di4): 179(ptr) Variable UniformConstant - 181: TypeImage 47(int) 1D sampled format:Unknown - 182: TypePointer UniformConstant 181 - 183(g_tTex1du4): 182(ptr) Variable UniformConstant - 184: TypeImage 6(float) 2D sampled format:Unknown - 185: TypePointer UniformConstant 184 - 186(g_tTex2df4): 185(ptr) Variable UniformConstant - 187: TypeImage 32(int) 2D sampled format:Unknown - 188: TypePointer UniformConstant 187 - 189(g_tTex2di4): 188(ptr) Variable UniformConstant - 190: TypeImage 47(int) 2D sampled format:Unknown - 191: TypePointer UniformConstant 190 - 192(g_tTex2du4): 191(ptr) Variable UniformConstant - 193: TypeImage 6(float) 3D sampled format:Unknown - 194: TypePointer UniformConstant 193 - 195(g_tTex3df4): 194(ptr) Variable UniformConstant - 196: TypeImage 32(int) 3D sampled format:Unknown - 197: TypePointer UniformConstant 196 - 198(g_tTex3di4): 197(ptr) Variable UniformConstant - 199: TypeImage 47(int) 3D sampled format:Unknown - 200: TypePointer UniformConstant 199 - 201(g_tTex3du4): 200(ptr) Variable UniformConstant - 202: TypeImage 6(float) Cube sampled format:Unknown - 203: TypePointer UniformConstant 202 - 204(g_tTexcdf4): 203(ptr) Variable UniformConstant - 205: TypeImage 32(int) Cube sampled format:Unknown - 206: TypePointer UniformConstant 205 - 207(g_tTexcdi4): 206(ptr) Variable UniformConstant - 208: TypeImage 47(int) Cube sampled format:Unknown - 209: TypePointer UniformConstant 208 - 210(g_tTexcdu4): 209(ptr) Variable UniformConstant + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 6(float) + 14: TypeImage 6(float) 1D array sampled format:Unknown + 15: TypePointer UniformConstant 14 + 16(g_tTex1df4a): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeImage 6(float) 1D depth array sampled format:Unknown + 23: TypeSampledImage 22 + 25: TypeVector 6(float) 2 + 26: 6(float) Constant 1036831949 + 27: 6(float) Constant 1045220557 + 28: 25(fvec2) ConstantComposite 26 27 + 29: 6(float) Constant 1061158912 + 30: TypeVector 6(float) 3 + 37: TypeInt 32 1 + 38: TypeImage 37(int) 1D array sampled format:Unknown + 39: TypePointer UniformConstant 38 + 40(g_tTex1di4a): 39(ptr) Variable UniformConstant + 43: TypeImage 37(int) 1D depth array sampled format:Unknown + 44: TypeSampledImage 43 + 52: TypeInt 32 0 + 53: TypeImage 52(int) 1D array sampled format:Unknown + 54: TypePointer UniformConstant 53 + 55(g_tTex1du4a): 54(ptr) Variable UniformConstant + 58: TypeImage 52(int) 1D depth array sampled format:Unknown + 59: TypeSampledImage 58 + 67: TypeImage 6(float) 2D array sampled format:Unknown + 68: TypePointer UniformConstant 67 + 69(g_tTex2df4a): 68(ptr) Variable UniformConstant + 72: TypeImage 6(float) 2D depth array sampled format:Unknown + 73: TypeSampledImage 72 + 75: 6(float) Constant 1050253722 + 76: 30(fvec3) ConstantComposite 26 27 75 + 84: TypeImage 37(int) 2D array sampled format:Unknown + 85: TypePointer UniformConstant 84 + 86(g_tTex2di4a): 85(ptr) Variable UniformConstant + 89: TypeImage 37(int) 2D depth array sampled format:Unknown + 90: TypeSampledImage 89 + 99: TypeImage 52(int) 2D array sampled format:Unknown + 100: TypePointer UniformConstant 99 +101(g_tTex2du4a): 100(ptr) Variable UniformConstant + 104: TypeImage 52(int) 2D depth array sampled format:Unknown + 105: TypeSampledImage 104 + 114: TypeImage 6(float) Cube array sampled format:Unknown + 115: TypePointer UniformConstant 114 +116(g_tTexcdf4a): 115(ptr) Variable UniformConstant + 119: TypeImage 6(float) Cube depth array sampled format:Unknown + 120: TypeSampledImage 119 + 122: 6(float) Constant 1053609165 + 123: 7(fvec4) ConstantComposite 26 27 75 122 + 131: TypeImage 37(int) Cube array sampled format:Unknown + 132: TypePointer UniformConstant 131 +133(g_tTexcdi4a): 132(ptr) Variable UniformConstant + 136: TypeImage 37(int) Cube depth array sampled format:Unknown + 137: TypeSampledImage 136 + 146: TypeImage 52(int) Cube array sampled format:Unknown + 147: TypePointer UniformConstant 146 +148(g_tTexcdu4a): 147(ptr) Variable UniformConstant + 151: TypeImage 52(int) Cube depth array sampled format:Unknown + 152: TypeSampledImage 151 + 160: TypePointer Function 8(PS_OUTPUT) + 162: 37(int) Constant 0 + 163: 6(float) Constant 1065353216 + 164: 7(fvec4) ConstantComposite 163 163 163 163 + 165: TypePointer Function 7(fvec4) + 167: 37(int) Constant 1 + 174: TypePointer Output 7(fvec4) + 175(Color): 174(ptr) Variable Output + 178: TypePointer Output 6(float) + 179(Depth): 178(ptr) Variable Output + 182: TypeImage 6(float) 1D sampled format:Unknown + 183: TypePointer UniformConstant 182 + 184(g_tTex1df4): 183(ptr) Variable UniformConstant + 185: TypeImage 37(int) 1D sampled format:Unknown + 186: TypePointer UniformConstant 185 + 187(g_tTex1di4): 186(ptr) Variable UniformConstant + 188: TypeImage 52(int) 1D sampled format:Unknown + 189: TypePointer UniformConstant 188 + 190(g_tTex1du4): 189(ptr) Variable UniformConstant + 191: TypeImage 6(float) 2D sampled format:Unknown + 192: TypePointer UniformConstant 191 + 193(g_tTex2df4): 192(ptr) Variable UniformConstant + 194: TypeImage 37(int) 2D sampled format:Unknown + 195: TypePointer UniformConstant 194 + 196(g_tTex2di4): 195(ptr) Variable UniformConstant + 197: TypeImage 52(int) 2D sampled format:Unknown + 198: TypePointer UniformConstant 197 + 199(g_tTex2du4): 198(ptr) Variable UniformConstant + 200: TypeImage 6(float) 3D sampled format:Unknown + 201: TypePointer UniformConstant 200 + 202(g_tTex3df4): 201(ptr) Variable UniformConstant + 203: TypeImage 37(int) 3D sampled format:Unknown + 204: TypePointer UniformConstant 203 + 205(g_tTex3di4): 204(ptr) Variable UniformConstant + 206: TypeImage 52(int) 3D sampled format:Unknown + 207: TypePointer UniformConstant 206 + 208(g_tTex3du4): 207(ptr) Variable UniformConstant + 209: TypeImage 6(float) Cube sampled format:Unknown + 210: TypePointer UniformConstant 209 + 211(g_tTexcdf4): 210(ptr) Variable UniformConstant + 212: TypeImage 37(int) Cube sampled format:Unknown + 213: TypePointer UniformConstant 212 + 214(g_tTexcdi4): 213(ptr) Variable UniformConstant + 215: TypeImage 52(int) Cube sampled format:Unknown + 216: TypePointer UniformConstant 215 + 217(g_tTexcdu4): 216(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 8(r10): 7(ptr) Variable Function - 31(r12): 7(ptr) Variable Function - 46(r14): 7(ptr) Variable Function - 61(r30): 7(ptr) Variable Function - 79(r32): 7(ptr) Variable Function - 94(r34): 7(ptr) Variable Function - 109(r60): 7(ptr) Variable Function - 126(r62): 7(ptr) Variable Function - 141(r64): 7(ptr) Variable Function - 158(psout): 157(ptr) Variable Function - 12: 9 Load 11(g_tTex1df4a) - 16: 13 Load 15(g_sSamp) - 19: 18 SampledImage 12 16 - 26: 6(float) CompositeExtract 23 0 - 27: 6(float) CompositeExtract 23 1 - 28: 25(fvec3) CompositeConstruct 26 27 24 - 29: 6(float) CompositeExtract 28 2 - 30: 6(float) ImageSampleDrefImplicitLod 19 28 29 - Store 8(r10) 30 - 36: 33 Load 35(g_tTex1di4a) - 37: 13 Load 15(g_sSamp) - 40: 39 SampledImage 36 37 - 41: 6(float) CompositeExtract 23 0 - 42: 6(float) CompositeExtract 23 1 - 43: 25(fvec3) CompositeConstruct 41 42 24 - 44: 6(float) CompositeExtract 43 2 - 45: 6(float) ImageSampleDrefImplicitLod 40 43 44 - Store 31(r12) 45 - 51: 48 Load 50(g_tTex1du4a) - 52: 13 Load 15(g_sSamp) - 55: 54 SampledImage 51 52 - 56: 6(float) CompositeExtract 23 0 - 57: 6(float) CompositeExtract 23 1 - 58: 25(fvec3) CompositeConstruct 56 57 24 - 59: 6(float) CompositeExtract 58 2 - 60: 6(float) ImageSampleDrefImplicitLod 55 58 59 - Store 46(r14) 60 - 65: 62 Load 64(g_tTex2df4a) - 66: 13 Load 15(g_sSamp) - 69: 68 SampledImage 65 66 - 73: 6(float) CompositeExtract 71 0 - 74: 6(float) CompositeExtract 71 1 - 75: 6(float) CompositeExtract 71 2 - 76: 72(fvec4) CompositeConstruct 73 74 75 24 - 77: 6(float) CompositeExtract 76 3 - 78: 6(float) ImageSampleDrefImplicitLod 69 76 77 - Store 61(r30) 78 - 83: 80 Load 82(g_tTex2di4a) - 84: 13 Load 15(g_sSamp) - 87: 86 SampledImage 83 84 - 88: 6(float) CompositeExtract 71 0 - 89: 6(float) CompositeExtract 71 1 - 90: 6(float) CompositeExtract 71 2 - 91: 72(fvec4) CompositeConstruct 88 89 90 24 - 92: 6(float) CompositeExtract 91 3 - 93: 6(float) ImageSampleDrefImplicitLod 87 91 92 - Store 79(r32) 93 - 98: 95 Load 97(g_tTex2du4a) - 99: 13 Load 15(g_sSamp) - 102: 101 SampledImage 98 99 - 103: 6(float) CompositeExtract 71 0 - 104: 6(float) CompositeExtract 71 1 - 105: 6(float) CompositeExtract 71 2 - 106: 72(fvec4) CompositeConstruct 103 104 105 24 - 107: 6(float) CompositeExtract 106 3 - 108: 6(float) ImageSampleDrefImplicitLod 102 106 107 - Store 94(r34) 108 - 113: 110 Load 112(g_tTexcdf4a) - 114: 13 Load 15(g_sSamp) - 117: 116 SampledImage 113 114 - 120: 6(float) CompositeExtract 119 0 - 121: 6(float) CompositeExtract 119 1 - 122: 6(float) CompositeExtract 119 2 - 123: 6(float) CompositeExtract 119 3 - 124: 72(fvec4) CompositeConstruct 120 121 122 123 - 125: 6(float) ImageSampleDrefImplicitLod 117 124 24 - Store 109(r60) 125 - 130: 127 Load 129(g_tTexcdi4a) - 131: 13 Load 15(g_sSamp) - 134: 133 SampledImage 130 131 - 135: 6(float) CompositeExtract 119 0 - 136: 6(float) CompositeExtract 119 1 - 137: 6(float) CompositeExtract 119 2 - 138: 6(float) CompositeExtract 119 3 - 139: 72(fvec4) CompositeConstruct 135 136 137 138 - 140: 6(float) ImageSampleDrefImplicitLod 134 139 24 - Store 126(r62) 140 - 145: 142 Load 144(g_tTexcdu4a) - 146: 13 Load 15(g_sSamp) - 149: 148 SampledImage 145 146 - 150: 6(float) CompositeExtract 119 0 - 151: 6(float) CompositeExtract 119 1 - 152: 6(float) CompositeExtract 119 2 - 153: 6(float) CompositeExtract 119 3 - 154: 72(fvec4) CompositeConstruct 150 151 152 153 - 155: 6(float) ImageSampleDrefImplicitLod 149 154 24 - Store 141(r64) 155 - 163: 162(ptr) AccessChain 158(psout) 159 - Store 163 161 - 165: 7(ptr) AccessChain 158(psout) 164 - Store 165 160 - 168: 162(ptr) AccessChain 158(psout) 159 - 169: 72(fvec4) Load 168 - Store 167(Color) 169 - 172: 7(ptr) AccessChain 158(psout) 164 - 173: 6(float) Load 172 - Store 171(Depth) 173 +172(flattenTemp): 160(ptr) Variable Function + 173:8(PS_OUTPUT) FunctionCall 10(@main() + Store 172(flattenTemp) 173 + 176: 165(ptr) AccessChain 172(flattenTemp) 162 + 177: 7(fvec4) Load 176 + Store 175(Color) 177 + 180: 12(ptr) AccessChain 172(flattenTemp) 167 + 181: 6(float) Load 180 + Store 179(Depth) 181 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(r10): 12(ptr) Variable Function + 36(r12): 12(ptr) Variable Function + 51(r14): 12(ptr) Variable Function + 66(r30): 12(ptr) Variable Function + 83(r32): 12(ptr) Variable Function + 98(r34): 12(ptr) Variable Function + 113(r60): 12(ptr) Variable Function + 130(r62): 12(ptr) Variable Function + 145(r64): 12(ptr) Variable Function + 161(psout): 160(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4a) + 21: 18 Load 20(g_sSamp) + 24: 23 SampledImage 17 21 + 31: 6(float) CompositeExtract 28 0 + 32: 6(float) CompositeExtract 28 1 + 33: 30(fvec3) CompositeConstruct 31 32 29 + 34: 6(float) CompositeExtract 33 2 + 35: 6(float) ImageSampleDrefImplicitLod 24 33 34 + Store 13(r10) 35 + 41: 38 Load 40(g_tTex1di4a) + 42: 18 Load 20(g_sSamp) + 45: 44 SampledImage 41 42 + 46: 6(float) CompositeExtract 28 0 + 47: 6(float) CompositeExtract 28 1 + 48: 30(fvec3) CompositeConstruct 46 47 29 + 49: 6(float) CompositeExtract 48 2 + 50: 6(float) ImageSampleDrefImplicitLod 45 48 49 + Store 36(r12) 50 + 56: 53 Load 55(g_tTex1du4a) + 57: 18 Load 20(g_sSamp) + 60: 59 SampledImage 56 57 + 61: 6(float) CompositeExtract 28 0 + 62: 6(float) CompositeExtract 28 1 + 63: 30(fvec3) CompositeConstruct 61 62 29 + 64: 6(float) CompositeExtract 63 2 + 65: 6(float) ImageSampleDrefImplicitLod 60 63 64 + Store 51(r14) 65 + 70: 67 Load 69(g_tTex2df4a) + 71: 18 Load 20(g_sSamp) + 74: 73 SampledImage 70 71 + 77: 6(float) CompositeExtract 76 0 + 78: 6(float) CompositeExtract 76 1 + 79: 6(float) CompositeExtract 76 2 + 80: 7(fvec4) CompositeConstruct 77 78 79 29 + 81: 6(float) CompositeExtract 80 3 + 82: 6(float) ImageSampleDrefImplicitLod 74 80 81 + Store 66(r30) 82 + 87: 84 Load 86(g_tTex2di4a) + 88: 18 Load 20(g_sSamp) + 91: 90 SampledImage 87 88 + 92: 6(float) CompositeExtract 76 0 + 93: 6(float) CompositeExtract 76 1 + 94: 6(float) CompositeExtract 76 2 + 95: 7(fvec4) CompositeConstruct 92 93 94 29 + 96: 6(float) CompositeExtract 95 3 + 97: 6(float) ImageSampleDrefImplicitLod 91 95 96 + Store 83(r32) 97 + 102: 99 Load 101(g_tTex2du4a) + 103: 18 Load 20(g_sSamp) + 106: 105 SampledImage 102 103 + 107: 6(float) CompositeExtract 76 0 + 108: 6(float) CompositeExtract 76 1 + 109: 6(float) CompositeExtract 76 2 + 110: 7(fvec4) CompositeConstruct 107 108 109 29 + 111: 6(float) CompositeExtract 110 3 + 112: 6(float) ImageSampleDrefImplicitLod 106 110 111 + Store 98(r34) 112 + 117: 114 Load 116(g_tTexcdf4a) + 118: 18 Load 20(g_sSamp) + 121: 120 SampledImage 117 118 + 124: 6(float) CompositeExtract 123 0 + 125: 6(float) CompositeExtract 123 1 + 126: 6(float) CompositeExtract 123 2 + 127: 6(float) CompositeExtract 123 3 + 128: 7(fvec4) CompositeConstruct 124 125 126 127 + 129: 6(float) ImageSampleDrefImplicitLod 121 128 29 + Store 113(r60) 129 + 134: 131 Load 133(g_tTexcdi4a) + 135: 18 Load 20(g_sSamp) + 138: 137 SampledImage 134 135 + 139: 6(float) CompositeExtract 123 0 + 140: 6(float) CompositeExtract 123 1 + 141: 6(float) CompositeExtract 123 2 + 142: 6(float) CompositeExtract 123 3 + 143: 7(fvec4) CompositeConstruct 139 140 141 142 + 144: 6(float) ImageSampleDrefImplicitLod 138 143 29 + Store 130(r62) 144 + 149: 146 Load 148(g_tTexcdu4a) + 150: 18 Load 20(g_sSamp) + 153: 152 SampledImage 149 150 + 154: 6(float) CompositeExtract 123 0 + 155: 6(float) CompositeExtract 123 1 + 156: 6(float) CompositeExtract 123 2 + 157: 6(float) CompositeExtract 123 3 + 158: 7(fvec4) CompositeConstruct 154 155 156 157 + 159: 6(float) ImageSampleDrefImplicitLod 153 158 29 + Store 145(r64) 159 + 166: 165(ptr) AccessChain 161(psout) 162 + Store 166 164 + 168: 12(ptr) AccessChain 161(psout) 167 + Store 168 163 + 169:8(PS_OUTPUT) Load 161(psout) + ReturnValue 169 + FunctionEnd diff --git a/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out index acd24b8b..906c07ff 100644 --- a/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.samplecmp.basic.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:38 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:38 Function Parameters: 0:? Sequence 0:42 Sequence @@ -139,24 +139,28 @@ gl_FragCoord origin is upper left 0:58 1 (const int) 0:58 Constant: 0:58 1.000000 -0:60 Sequence -0:60 Sequence -0:60 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:60 Color: direct index for structure (temp 4-component vector of float) -0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:60 Constant: -0:60 0 (const int) -0:60 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:60 Depth: direct index for structure (temp float) -0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:60 Constant: -0:60 1 (const int) -0:60 Branch: Return +0:60 Branch: Return with expression +0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: main( (temp void) +0:38 Function Parameters: +0:? Sequence +0:38 Sequence +0:38 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:38 Color: direct index for structure (temp 4-component vector of float) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 0 (const int) +0:38 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:38 Depth: direct index for structure (temp float) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -179,6 +183,8 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -187,7 +193,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:38 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:38 Function Parameters: 0:? Sequence 0:42 Sequence @@ -324,24 +330,28 @@ gl_FragCoord origin is upper left 0:58 1 (const int) 0:58 Constant: 0:58 1.000000 -0:60 Sequence -0:60 Sequence -0:60 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:60 Color: direct index for structure (temp 4-component vector of float) -0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:60 Constant: -0:60 0 (const int) -0:60 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:60 Depth: direct index for structure (temp float) -0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:60 Constant: -0:60 1 (const int) -0:60 Branch: Return +0:60 Branch: Return with expression +0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: main( (temp void) +0:38 Function Parameters: +0:? Sequence +0:38 Sequence +0:38 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:38 Color: direct index for structure (temp 4-component vector of float) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 0 (const int) +0:38 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:38 Depth: direct index for structure (temp float) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -364,291 +374,304 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +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 200 +// Id's are bound by 207 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 156 160 + EntryPoint Fragment 4 "main" 164 168 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "r00" - Name 11 "g_tTex1df4" - Name 15 "g_sSamp" - Name 26 "r02" - Name 30 "g_tTex1di4" - Name 39 "r04" - Name 43 "g_tTex1du4" - Name 52 "r20" - Name 55 "g_tTex2df4" - Name 69 "r22" - Name 72 "g_tTex2di4" - Name 83 "r24" - Name 86 "g_tTex2du4" - Name 97 "r50" - Name 100 "g_tTexcdf4" - Name 115 "r52" - Name 118 "g_tTexcdi4" - Name 130 "r54" - Name 133 "g_tTexcdu4" - Name 145 "PS_OUTPUT" - MemberName 145(PS_OUTPUT) 0 "Color" - MemberName 145(PS_OUTPUT) 1 "Depth" - Name 147 "psout" - Name 156 "Color" - Name 160 "Depth" - Name 166 "g_tTex3df4" - Name 169 "g_tTex3di4" - Name 172 "g_tTex3du4" - Name 175 "g_tTex1df4a" - Name 178 "g_tTex1di4a" - Name 181 "g_tTex1du4a" - Name 184 "g_tTex2df4a" - Name 187 "g_tTex2di4a" - Name 190 "g_tTex2du4a" - Name 193 "g_tTexcdf4a" - Name 196 "g_tTexcdi4a" - Name 199 "g_tTexcdu4a" - Decorate 11(g_tTex1df4) DescriptorSet 0 - Decorate 11(g_tTex1df4) Binding 0 - Decorate 15(g_sSamp) DescriptorSet 0 - Decorate 15(g_sSamp) Binding 0 - Decorate 30(g_tTex1di4) DescriptorSet 0 - Decorate 43(g_tTex1du4) DescriptorSet 0 - Decorate 55(g_tTex2df4) DescriptorSet 0 - Decorate 72(g_tTex2di4) DescriptorSet 0 - Decorate 86(g_tTex2du4) DescriptorSet 0 - Decorate 100(g_tTexcdf4) DescriptorSet 0 - Decorate 118(g_tTexcdi4) DescriptorSet 0 - Decorate 133(g_tTexcdu4) DescriptorSet 0 - Decorate 156(Color) Location 0 - Decorate 160(Depth) BuiltIn FragDepth - Decorate 166(g_tTex3df4) DescriptorSet 0 - Decorate 169(g_tTex3di4) DescriptorSet 0 - Decorate 172(g_tTex3du4) DescriptorSet 0 - Decorate 175(g_tTex1df4a) DescriptorSet 0 - Decorate 178(g_tTex1di4a) DescriptorSet 0 - Decorate 181(g_tTex1du4a) DescriptorSet 0 - Decorate 184(g_tTex2df4a) DescriptorSet 0 - Decorate 187(g_tTex2di4a) DescriptorSet 0 - Decorate 190(g_tTex2du4a) DescriptorSet 0 - Decorate 193(g_tTexcdf4a) DescriptorSet 0 - Decorate 196(g_tTexcdi4a) DescriptorSet 0 - Decorate 199(g_tTexcdu4a) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "r00" + Name 16 "g_tTex1df4" + Name 20 "g_sSamp" + Name 31 "r02" + Name 35 "g_tTex1di4" + Name 44 "r04" + Name 48 "g_tTex1du4" + Name 57 "r20" + Name 60 "g_tTex2df4" + Name 74 "r22" + Name 77 "g_tTex2di4" + Name 88 "r24" + Name 91 "g_tTex2du4" + Name 102 "r50" + Name 105 "g_tTexcdf4" + Name 119 "r52" + Name 122 "g_tTexcdi4" + Name 134 "r54" + Name 137 "g_tTexcdu4" + Name 150 "psout" + Name 161 "flattenTemp" + Name 164 "Color" + Name 168 "Depth" + Name 173 "g_tTex3df4" + Name 176 "g_tTex3di4" + Name 179 "g_tTex3du4" + Name 182 "g_tTex1df4a" + Name 185 "g_tTex1di4a" + Name 188 "g_tTex1du4a" + Name 191 "g_tTex2df4a" + Name 194 "g_tTex2di4a" + Name 197 "g_tTex2du4a" + Name 200 "g_tTexcdf4a" + Name 203 "g_tTexcdi4a" + Name 206 "g_tTexcdu4a" + Decorate 16(g_tTex1df4) DescriptorSet 0 + Decorate 16(g_tTex1df4) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 35(g_tTex1di4) DescriptorSet 0 + Decorate 48(g_tTex1du4) DescriptorSet 0 + Decorate 60(g_tTex2df4) DescriptorSet 0 + Decorate 77(g_tTex2di4) DescriptorSet 0 + Decorate 91(g_tTex2du4) DescriptorSet 0 + Decorate 105(g_tTexcdf4) DescriptorSet 0 + Decorate 122(g_tTexcdi4) DescriptorSet 0 + Decorate 137(g_tTexcdu4) DescriptorSet 0 + Decorate 164(Color) Location 0 + Decorate 168(Depth) BuiltIn FragDepth + Decorate 173(g_tTex3df4) DescriptorSet 0 + Decorate 176(g_tTex3di4) DescriptorSet 0 + Decorate 179(g_tTex3du4) DescriptorSet 0 + Decorate 182(g_tTex1df4a) DescriptorSet 0 + Decorate 185(g_tTex1di4a) DescriptorSet 0 + Decorate 188(g_tTex1du4a) DescriptorSet 0 + Decorate 191(g_tTex2df4a) DescriptorSet 0 + Decorate 194(g_tTex2di4a) DescriptorSet 0 + Decorate 197(g_tTex2du4a) DescriptorSet 0 + Decorate 200(g_tTexcdf4a) DescriptorSet 0 + Decorate 203(g_tTexcdi4a) DescriptorSet 0 + Decorate 206(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypePointer Function 6(float) - 9: TypeImage 6(float) 1D sampled format:Unknown - 10: TypePointer UniformConstant 9 - 11(g_tTex1df4): 10(ptr) Variable UniformConstant - 13: TypeSampler - 14: TypePointer UniformConstant 13 - 15(g_sSamp): 14(ptr) Variable UniformConstant - 17: TypeImage 6(float) 1D depth sampled format:Unknown - 18: TypeSampledImage 17 - 20: 6(float) Constant 1036831949 - 21: 6(float) Constant 1061158912 - 22: TypeVector 6(float) 2 - 27: TypeInt 32 1 - 28: TypeImage 27(int) 1D sampled format:Unknown - 29: TypePointer UniformConstant 28 - 30(g_tTex1di4): 29(ptr) Variable UniformConstant - 33: TypeImage 27(int) 1D depth sampled format:Unknown - 34: TypeSampledImage 33 - 40: TypeInt 32 0 - 41: TypeImage 40(int) 1D sampled format:Unknown - 42: TypePointer UniformConstant 41 - 43(g_tTex1du4): 42(ptr) Variable UniformConstant - 46: TypeImage 40(int) 1D depth sampled format:Unknown - 47: TypeSampledImage 46 - 53: TypeImage 6(float) 2D sampled format:Unknown - 54: TypePointer UniformConstant 53 - 55(g_tTex2df4): 54(ptr) Variable UniformConstant - 58: TypeImage 6(float) 2D depth sampled format:Unknown - 59: TypeSampledImage 58 - 61: 6(float) Constant 1045220557 - 62: 22(fvec2) ConstantComposite 20 61 - 63: TypeVector 6(float) 3 - 70: TypeImage 27(int) 2D sampled format:Unknown - 71: TypePointer UniformConstant 70 - 72(g_tTex2di4): 71(ptr) Variable UniformConstant - 75: TypeImage 27(int) 2D depth sampled format:Unknown - 76: TypeSampledImage 75 - 84: TypeImage 40(int) 2D sampled format:Unknown - 85: TypePointer UniformConstant 84 - 86(g_tTex2du4): 85(ptr) Variable UniformConstant - 89: TypeImage 40(int) 2D depth sampled format:Unknown - 90: TypeSampledImage 89 - 98: TypeImage 6(float) Cube sampled format:Unknown - 99: TypePointer UniformConstant 98 - 100(g_tTexcdf4): 99(ptr) Variable UniformConstant - 103: TypeImage 6(float) Cube depth sampled format:Unknown - 104: TypeSampledImage 103 - 106: 6(float) Constant 1050253722 - 107: 63(fvec3) ConstantComposite 20 61 106 - 108: TypeVector 6(float) 4 - 116: TypeImage 27(int) Cube sampled format:Unknown - 117: TypePointer UniformConstant 116 - 118(g_tTexcdi4): 117(ptr) Variable UniformConstant - 121: TypeImage 27(int) Cube depth sampled format:Unknown - 122: TypeSampledImage 121 - 131: TypeImage 40(int) Cube sampled format:Unknown - 132: TypePointer UniformConstant 131 - 133(g_tTexcdu4): 132(ptr) Variable UniformConstant - 136: TypeImage 40(int) Cube depth sampled format:Unknown - 137: TypeSampledImage 136 - 145(PS_OUTPUT): TypeStruct 108(fvec4) 6(float) - 146: TypePointer Function 145(PS_OUTPUT) - 148: 27(int) Constant 0 - 149: 6(float) Constant 1065353216 - 150: 108(fvec4) ConstantComposite 149 149 149 149 - 151: TypePointer Function 108(fvec4) - 153: 27(int) Constant 1 - 155: TypePointer Output 108(fvec4) - 156(Color): 155(ptr) Variable Output - 159: TypePointer Output 6(float) - 160(Depth): 159(ptr) Variable Output - 164: TypeImage 6(float) 3D sampled format:Unknown - 165: TypePointer UniformConstant 164 - 166(g_tTex3df4): 165(ptr) Variable UniformConstant - 167: TypeImage 27(int) 3D sampled format:Unknown - 168: TypePointer UniformConstant 167 - 169(g_tTex3di4): 168(ptr) Variable UniformConstant - 170: TypeImage 40(int) 3D sampled format:Unknown - 171: TypePointer UniformConstant 170 - 172(g_tTex3du4): 171(ptr) Variable UniformConstant - 173: TypeImage 6(float) 1D array sampled format:Unknown - 174: TypePointer UniformConstant 173 -175(g_tTex1df4a): 174(ptr) Variable UniformConstant - 176: TypeImage 27(int) 1D array sampled format:Unknown - 177: TypePointer UniformConstant 176 -178(g_tTex1di4a): 177(ptr) Variable UniformConstant - 179: TypeImage 40(int) 1D array sampled format:Unknown - 180: TypePointer UniformConstant 179 -181(g_tTex1du4a): 180(ptr) Variable UniformConstant - 182: TypeImage 6(float) 2D array sampled format:Unknown - 183: TypePointer UniformConstant 182 -184(g_tTex2df4a): 183(ptr) Variable UniformConstant - 185: TypeImage 27(int) 2D array sampled format:Unknown - 186: TypePointer UniformConstant 185 -187(g_tTex2di4a): 186(ptr) Variable UniformConstant - 188: TypeImage 40(int) 2D array sampled format:Unknown - 189: TypePointer UniformConstant 188 -190(g_tTex2du4a): 189(ptr) Variable UniformConstant - 191: TypeImage 6(float) Cube array sampled format:Unknown - 192: TypePointer UniformConstant 191 -193(g_tTexcdf4a): 192(ptr) Variable UniformConstant - 194: TypeImage 27(int) Cube array sampled format:Unknown - 195: TypePointer UniformConstant 194 -196(g_tTexcdi4a): 195(ptr) Variable UniformConstant - 197: TypeImage 40(int) Cube array sampled format:Unknown - 198: TypePointer UniformConstant 197 -199(g_tTexcdu4a): 198(ptr) Variable UniformConstant + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 6(float) + 14: TypeImage 6(float) 1D sampled format:Unknown + 15: TypePointer UniformConstant 14 + 16(g_tTex1df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeImage 6(float) 1D depth sampled format:Unknown + 23: TypeSampledImage 22 + 25: 6(float) Constant 1036831949 + 26: 6(float) Constant 1061158912 + 27: TypeVector 6(float) 2 + 32: TypeInt 32 1 + 33: TypeImage 32(int) 1D sampled format:Unknown + 34: TypePointer UniformConstant 33 + 35(g_tTex1di4): 34(ptr) Variable UniformConstant + 38: TypeImage 32(int) 1D depth sampled format:Unknown + 39: TypeSampledImage 38 + 45: TypeInt 32 0 + 46: TypeImage 45(int) 1D sampled format:Unknown + 47: TypePointer UniformConstant 46 + 48(g_tTex1du4): 47(ptr) Variable UniformConstant + 51: TypeImage 45(int) 1D depth sampled format:Unknown + 52: TypeSampledImage 51 + 58: TypeImage 6(float) 2D sampled format:Unknown + 59: TypePointer UniformConstant 58 + 60(g_tTex2df4): 59(ptr) Variable UniformConstant + 63: TypeImage 6(float) 2D depth sampled format:Unknown + 64: TypeSampledImage 63 + 66: 6(float) Constant 1045220557 + 67: 27(fvec2) ConstantComposite 25 66 + 68: TypeVector 6(float) 3 + 75: TypeImage 32(int) 2D sampled format:Unknown + 76: TypePointer UniformConstant 75 + 77(g_tTex2di4): 76(ptr) Variable UniformConstant + 80: TypeImage 32(int) 2D depth sampled format:Unknown + 81: TypeSampledImage 80 + 89: TypeImage 45(int) 2D sampled format:Unknown + 90: TypePointer UniformConstant 89 + 91(g_tTex2du4): 90(ptr) Variable UniformConstant + 94: TypeImage 45(int) 2D depth sampled format:Unknown + 95: TypeSampledImage 94 + 103: TypeImage 6(float) Cube sampled format:Unknown + 104: TypePointer UniformConstant 103 + 105(g_tTexcdf4): 104(ptr) Variable UniformConstant + 108: TypeImage 6(float) Cube depth sampled format:Unknown + 109: TypeSampledImage 108 + 111: 6(float) Constant 1050253722 + 112: 68(fvec3) ConstantComposite 25 66 111 + 120: TypeImage 32(int) Cube sampled format:Unknown + 121: TypePointer UniformConstant 120 + 122(g_tTexcdi4): 121(ptr) Variable UniformConstant + 125: TypeImage 32(int) Cube depth sampled format:Unknown + 126: TypeSampledImage 125 + 135: TypeImage 45(int) Cube sampled format:Unknown + 136: TypePointer UniformConstant 135 + 137(g_tTexcdu4): 136(ptr) Variable UniformConstant + 140: TypeImage 45(int) Cube depth sampled format:Unknown + 141: TypeSampledImage 140 + 149: TypePointer Function 8(PS_OUTPUT) + 151: 32(int) Constant 0 + 152: 6(float) Constant 1065353216 + 153: 7(fvec4) ConstantComposite 152 152 152 152 + 154: TypePointer Function 7(fvec4) + 156: 32(int) Constant 1 + 163: TypePointer Output 7(fvec4) + 164(Color): 163(ptr) Variable Output + 167: TypePointer Output 6(float) + 168(Depth): 167(ptr) Variable Output + 171: TypeImage 6(float) 3D sampled format:Unknown + 172: TypePointer UniformConstant 171 + 173(g_tTex3df4): 172(ptr) Variable UniformConstant + 174: TypeImage 32(int) 3D sampled format:Unknown + 175: TypePointer UniformConstant 174 + 176(g_tTex3di4): 175(ptr) Variable UniformConstant + 177: TypeImage 45(int) 3D sampled format:Unknown + 178: TypePointer UniformConstant 177 + 179(g_tTex3du4): 178(ptr) Variable UniformConstant + 180: TypeImage 6(float) 1D array sampled format:Unknown + 181: TypePointer UniformConstant 180 +182(g_tTex1df4a): 181(ptr) Variable UniformConstant + 183: TypeImage 32(int) 1D array sampled format:Unknown + 184: TypePointer UniformConstant 183 +185(g_tTex1di4a): 184(ptr) Variable UniformConstant + 186: TypeImage 45(int) 1D array sampled format:Unknown + 187: TypePointer UniformConstant 186 +188(g_tTex1du4a): 187(ptr) Variable UniformConstant + 189: TypeImage 6(float) 2D array sampled format:Unknown + 190: TypePointer UniformConstant 189 +191(g_tTex2df4a): 190(ptr) Variable UniformConstant + 192: TypeImage 32(int) 2D array sampled format:Unknown + 193: TypePointer UniformConstant 192 +194(g_tTex2di4a): 193(ptr) Variable UniformConstant + 195: TypeImage 45(int) 2D array sampled format:Unknown + 196: TypePointer UniformConstant 195 +197(g_tTex2du4a): 196(ptr) Variable UniformConstant + 198: TypeImage 6(float) Cube array sampled format:Unknown + 199: TypePointer UniformConstant 198 +200(g_tTexcdf4a): 199(ptr) Variable UniformConstant + 201: TypeImage 32(int) Cube array sampled format:Unknown + 202: TypePointer UniformConstant 201 +203(g_tTexcdi4a): 202(ptr) Variable UniformConstant + 204: TypeImage 45(int) Cube array sampled format:Unknown + 205: TypePointer UniformConstant 204 +206(g_tTexcdu4a): 205(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 8(r00): 7(ptr) Variable Function - 26(r02): 7(ptr) Variable Function - 39(r04): 7(ptr) Variable Function - 52(r20): 7(ptr) Variable Function - 69(r22): 7(ptr) Variable Function - 83(r24): 7(ptr) Variable Function - 97(r50): 7(ptr) Variable Function - 115(r52): 7(ptr) Variable Function - 130(r54): 7(ptr) Variable Function - 147(psout): 146(ptr) Variable Function - 12: 9 Load 11(g_tTex1df4) - 16: 13 Load 15(g_sSamp) - 19: 18 SampledImage 12 16 - 23: 22(fvec2) CompositeConstruct 20 21 - 24: 6(float) CompositeExtract 23 1 - 25: 6(float) ImageSampleDrefImplicitLod 19 23 24 - Store 8(r00) 25 - 31: 28 Load 30(g_tTex1di4) - 32: 13 Load 15(g_sSamp) - 35: 34 SampledImage 31 32 - 36: 22(fvec2) CompositeConstruct 20 21 - 37: 6(float) CompositeExtract 36 1 - 38: 6(float) ImageSampleDrefImplicitLod 35 36 37 - Store 26(r02) 38 - 44: 41 Load 43(g_tTex1du4) - 45: 13 Load 15(g_sSamp) - 48: 47 SampledImage 44 45 - 49: 22(fvec2) CompositeConstruct 20 21 - 50: 6(float) CompositeExtract 49 1 - 51: 6(float) ImageSampleDrefImplicitLod 48 49 50 - Store 39(r04) 51 - 56: 53 Load 55(g_tTex2df4) - 57: 13 Load 15(g_sSamp) - 60: 59 SampledImage 56 57 - 64: 6(float) CompositeExtract 62 0 - 65: 6(float) CompositeExtract 62 1 - 66: 63(fvec3) CompositeConstruct 64 65 21 - 67: 6(float) CompositeExtract 66 2 - 68: 6(float) ImageSampleDrefImplicitLod 60 66 67 - Store 52(r20) 68 - 73: 70 Load 72(g_tTex2di4) - 74: 13 Load 15(g_sSamp) - 77: 76 SampledImage 73 74 - 78: 6(float) CompositeExtract 62 0 - 79: 6(float) CompositeExtract 62 1 - 80: 63(fvec3) CompositeConstruct 78 79 21 - 81: 6(float) CompositeExtract 80 2 - 82: 6(float) ImageSampleDrefImplicitLod 77 80 81 - Store 69(r22) 82 - 87: 84 Load 86(g_tTex2du4) - 88: 13 Load 15(g_sSamp) - 91: 90 SampledImage 87 88 - 92: 6(float) CompositeExtract 62 0 - 93: 6(float) CompositeExtract 62 1 - 94: 63(fvec3) CompositeConstruct 92 93 21 - 95: 6(float) CompositeExtract 94 2 - 96: 6(float) ImageSampleDrefImplicitLod 91 94 95 - Store 83(r24) 96 - 101: 98 Load 100(g_tTexcdf4) - 102: 13 Load 15(g_sSamp) - 105: 104 SampledImage 101 102 - 109: 6(float) CompositeExtract 107 0 - 110: 6(float) CompositeExtract 107 1 - 111: 6(float) CompositeExtract 107 2 - 112: 108(fvec4) CompositeConstruct 109 110 111 21 - 113: 6(float) CompositeExtract 112 3 - 114: 6(float) ImageSampleDrefImplicitLod 105 112 113 - Store 97(r50) 114 - 119: 116 Load 118(g_tTexcdi4) - 120: 13 Load 15(g_sSamp) - 123: 122 SampledImage 119 120 - 124: 6(float) CompositeExtract 107 0 - 125: 6(float) CompositeExtract 107 1 - 126: 6(float) CompositeExtract 107 2 - 127: 108(fvec4) CompositeConstruct 124 125 126 21 - 128: 6(float) CompositeExtract 127 3 - 129: 6(float) ImageSampleDrefImplicitLod 123 127 128 - Store 115(r52) 129 - 134: 131 Load 133(g_tTexcdu4) - 135: 13 Load 15(g_sSamp) - 138: 137 SampledImage 134 135 - 139: 6(float) CompositeExtract 107 0 - 140: 6(float) CompositeExtract 107 1 - 141: 6(float) CompositeExtract 107 2 - 142: 108(fvec4) CompositeConstruct 139 140 141 21 - 143: 6(float) CompositeExtract 142 3 - 144: 6(float) ImageSampleDrefImplicitLod 138 142 143 - Store 130(r54) 144 - 152: 151(ptr) AccessChain 147(psout) 148 - Store 152 150 - 154: 7(ptr) AccessChain 147(psout) 153 - Store 154 149 - 157: 151(ptr) AccessChain 147(psout) 148 - 158: 108(fvec4) Load 157 - Store 156(Color) 158 - 161: 7(ptr) AccessChain 147(psout) 153 - 162: 6(float) Load 161 - Store 160(Depth) 162 +161(flattenTemp): 149(ptr) Variable Function + 162:8(PS_OUTPUT) FunctionCall 10(@main() + Store 161(flattenTemp) 162 + 165: 154(ptr) AccessChain 161(flattenTemp) 151 + 166: 7(fvec4) Load 165 + Store 164(Color) 166 + 169: 12(ptr) AccessChain 161(flattenTemp) 156 + 170: 6(float) Load 169 + Store 168(Depth) 170 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(r00): 12(ptr) Variable Function + 31(r02): 12(ptr) Variable Function + 44(r04): 12(ptr) Variable Function + 57(r20): 12(ptr) Variable Function + 74(r22): 12(ptr) Variable Function + 88(r24): 12(ptr) Variable Function + 102(r50): 12(ptr) Variable Function + 119(r52): 12(ptr) Variable Function + 134(r54): 12(ptr) Variable Function + 150(psout): 149(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4) + 21: 18 Load 20(g_sSamp) + 24: 23 SampledImage 17 21 + 28: 27(fvec2) CompositeConstruct 25 26 + 29: 6(float) CompositeExtract 28 1 + 30: 6(float) ImageSampleDrefImplicitLod 24 28 29 + Store 13(r00) 30 + 36: 33 Load 35(g_tTex1di4) + 37: 18 Load 20(g_sSamp) + 40: 39 SampledImage 36 37 + 41: 27(fvec2) CompositeConstruct 25 26 + 42: 6(float) CompositeExtract 41 1 + 43: 6(float) ImageSampleDrefImplicitLod 40 41 42 + Store 31(r02) 43 + 49: 46 Load 48(g_tTex1du4) + 50: 18 Load 20(g_sSamp) + 53: 52 SampledImage 49 50 + 54: 27(fvec2) CompositeConstruct 25 26 + 55: 6(float) CompositeExtract 54 1 + 56: 6(float) ImageSampleDrefImplicitLod 53 54 55 + Store 44(r04) 56 + 61: 58 Load 60(g_tTex2df4) + 62: 18 Load 20(g_sSamp) + 65: 64 SampledImage 61 62 + 69: 6(float) CompositeExtract 67 0 + 70: 6(float) CompositeExtract 67 1 + 71: 68(fvec3) CompositeConstruct 69 70 26 + 72: 6(float) CompositeExtract 71 2 + 73: 6(float) ImageSampleDrefImplicitLod 65 71 72 + Store 57(r20) 73 + 78: 75 Load 77(g_tTex2di4) + 79: 18 Load 20(g_sSamp) + 82: 81 SampledImage 78 79 + 83: 6(float) CompositeExtract 67 0 + 84: 6(float) CompositeExtract 67 1 + 85: 68(fvec3) CompositeConstruct 83 84 26 + 86: 6(float) CompositeExtract 85 2 + 87: 6(float) ImageSampleDrefImplicitLod 82 85 86 + Store 74(r22) 87 + 92: 89 Load 91(g_tTex2du4) + 93: 18 Load 20(g_sSamp) + 96: 95 SampledImage 92 93 + 97: 6(float) CompositeExtract 67 0 + 98: 6(float) CompositeExtract 67 1 + 99: 68(fvec3) CompositeConstruct 97 98 26 + 100: 6(float) CompositeExtract 99 2 + 101: 6(float) ImageSampleDrefImplicitLod 96 99 100 + Store 88(r24) 101 + 106: 103 Load 105(g_tTexcdf4) + 107: 18 Load 20(g_sSamp) + 110: 109 SampledImage 106 107 + 113: 6(float) CompositeExtract 112 0 + 114: 6(float) CompositeExtract 112 1 + 115: 6(float) CompositeExtract 112 2 + 116: 7(fvec4) CompositeConstruct 113 114 115 26 + 117: 6(float) CompositeExtract 116 3 + 118: 6(float) ImageSampleDrefImplicitLod 110 116 117 + Store 102(r50) 118 + 123: 120 Load 122(g_tTexcdi4) + 124: 18 Load 20(g_sSamp) + 127: 126 SampledImage 123 124 + 128: 6(float) CompositeExtract 112 0 + 129: 6(float) CompositeExtract 112 1 + 130: 6(float) CompositeExtract 112 2 + 131: 7(fvec4) CompositeConstruct 128 129 130 26 + 132: 6(float) CompositeExtract 131 3 + 133: 6(float) ImageSampleDrefImplicitLod 127 131 132 + Store 119(r52) 133 + 138: 135 Load 137(g_tTexcdu4) + 139: 18 Load 20(g_sSamp) + 142: 141 SampledImage 138 139 + 143: 6(float) CompositeExtract 112 0 + 144: 6(float) CompositeExtract 112 1 + 145: 6(float) CompositeExtract 112 2 + 146: 7(fvec4) CompositeConstruct 143 144 145 26 + 147: 6(float) CompositeExtract 146 3 + 148: 6(float) ImageSampleDrefImplicitLod 142 146 147 + Store 134(r54) 148 + 155: 154(ptr) AccessChain 150(psout) 151 + Store 155 153 + 157: 12(ptr) AccessChain 150(psout) 156 + Store 157 152 + 158:8(PS_OUTPUT) Load 150(psout) + ReturnValue 158 + FunctionEnd diff --git a/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out index fe2c74f5..c4777e6b 100644 --- a/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.samplecmp.offset.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:38 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:38 Function Parameters: 0:? Sequence 0:42 Sequence @@ -112,24 +112,28 @@ gl_FragCoord origin is upper left 0:63 1 (const int) 0:63 Constant: 0:63 1.000000 -0:65 Sequence -0:65 Sequence -0:65 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:65 Color: direct index for structure (temp 4-component vector of float) -0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:65 Constant: -0:65 0 (const int) -0:65 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:65 Depth: direct index for structure (temp float) -0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:65 Constant: -0:65 1 (const int) -0:65 Branch: Return +0:65 Branch: Return with expression +0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: main( (temp void) +0:38 Function Parameters: +0:? Sequence +0:38 Sequence +0:38 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:38 Color: direct index for structure (temp 4-component vector of float) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 0 (const int) +0:38 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:38 Depth: direct index for structure (temp float) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -152,6 +156,8 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -160,7 +166,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:38 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:38 Function Parameters: 0:? Sequence 0:42 Sequence @@ -270,24 +276,28 @@ gl_FragCoord origin is upper left 0:63 1 (const int) 0:63 Constant: 0:63 1.000000 -0:65 Sequence -0:65 Sequence -0:65 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:65 Color: direct index for structure (temp 4-component vector of float) -0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:65 Constant: -0:65 0 (const int) -0:65 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:65 Depth: direct index for structure (temp float) -0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:65 Constant: -0:65 1 (const int) -0:65 Branch: Return +0:65 Branch: Return with expression +0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: main( (temp void) +0:38 Function Parameters: +0:? Sequence +0:38 Sequence +0:38 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:38 Color: direct index for structure (temp 4-component vector of float) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 0 (const int) +0:38 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:38 Depth: direct index for structure (temp float) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -310,251 +320,264 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +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 166 +// Id's are bound by 173 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 113 117 + EntryPoint Fragment 4 "main" 121 125 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "r01" - Name 11 "g_tTex1df4" - Name 15 "g_sSamp" - Name 28 "r03" - Name 31 "g_tTex1di4" - Name 40 "r05" - Name 44 "g_tTex1du4" - Name 53 "r21" - Name 56 "g_tTex2df4" - Name 73 "r23" - Name 76 "g_tTex2di4" - Name 87 "r25" - Name 90 "g_tTex2du4" - Name 102 "PS_OUTPUT" - MemberName 102(PS_OUTPUT) 0 "Color" - MemberName 102(PS_OUTPUT) 1 "Depth" - Name 104 "psout" - Name 113 "Color" - Name 117 "Depth" - Name 123 "g_tTex3df4" - Name 126 "g_tTex3di4" - Name 129 "g_tTex3du4" - Name 132 "g_tTexcdf4" - Name 135 "g_tTexcdi4" - Name 138 "g_tTexcdu4" - Name 141 "g_tTex1df4a" - Name 144 "g_tTex1di4a" - Name 147 "g_tTex1du4a" - Name 150 "g_tTex2df4a" - Name 153 "g_tTex2di4a" - Name 156 "g_tTex2du4a" - Name 159 "g_tTexcdf4a" - Name 162 "g_tTexcdi4a" - Name 165 "g_tTexcdu4a" - Decorate 11(g_tTex1df4) DescriptorSet 0 - Decorate 11(g_tTex1df4) Binding 0 - Decorate 15(g_sSamp) DescriptorSet 0 - Decorate 15(g_sSamp) Binding 0 - Decorate 31(g_tTex1di4) DescriptorSet 0 - Decorate 44(g_tTex1du4) DescriptorSet 0 - Decorate 56(g_tTex2df4) DescriptorSet 0 - Decorate 76(g_tTex2di4) DescriptorSet 0 - Decorate 90(g_tTex2du4) DescriptorSet 0 - Decorate 113(Color) Location 0 - Decorate 117(Depth) BuiltIn FragDepth - Decorate 123(g_tTex3df4) DescriptorSet 0 - Decorate 126(g_tTex3di4) DescriptorSet 0 - Decorate 129(g_tTex3du4) DescriptorSet 0 - Decorate 132(g_tTexcdf4) DescriptorSet 0 - Decorate 135(g_tTexcdi4) DescriptorSet 0 - Decorate 138(g_tTexcdu4) DescriptorSet 0 - Decorate 141(g_tTex1df4a) DescriptorSet 0 - Decorate 144(g_tTex1di4a) DescriptorSet 0 - Decorate 147(g_tTex1du4a) DescriptorSet 0 - Decorate 150(g_tTex2df4a) DescriptorSet 0 - Decorate 153(g_tTex2di4a) DescriptorSet 0 - Decorate 156(g_tTex2du4a) DescriptorSet 0 - Decorate 159(g_tTexcdf4a) DescriptorSet 0 - Decorate 162(g_tTexcdi4a) DescriptorSet 0 - Decorate 165(g_tTexcdu4a) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "r01" + Name 16 "g_tTex1df4" + Name 20 "g_sSamp" + Name 33 "r03" + Name 36 "g_tTex1di4" + Name 45 "r05" + Name 49 "g_tTex1du4" + Name 58 "r21" + Name 61 "g_tTex2df4" + Name 78 "r23" + Name 81 "g_tTex2di4" + Name 92 "r25" + Name 95 "g_tTex2du4" + Name 107 "psout" + Name 118 "flattenTemp" + Name 121 "Color" + Name 125 "Depth" + Name 130 "g_tTex3df4" + Name 133 "g_tTex3di4" + Name 136 "g_tTex3du4" + Name 139 "g_tTexcdf4" + Name 142 "g_tTexcdi4" + Name 145 "g_tTexcdu4" + Name 148 "g_tTex1df4a" + Name 151 "g_tTex1di4a" + Name 154 "g_tTex1du4a" + Name 157 "g_tTex2df4a" + Name 160 "g_tTex2di4a" + Name 163 "g_tTex2du4a" + Name 166 "g_tTexcdf4a" + Name 169 "g_tTexcdi4a" + Name 172 "g_tTexcdu4a" + Decorate 16(g_tTex1df4) DescriptorSet 0 + Decorate 16(g_tTex1df4) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 36(g_tTex1di4) DescriptorSet 0 + Decorate 49(g_tTex1du4) DescriptorSet 0 + Decorate 61(g_tTex2df4) DescriptorSet 0 + Decorate 81(g_tTex2di4) DescriptorSet 0 + Decorate 95(g_tTex2du4) DescriptorSet 0 + Decorate 121(Color) Location 0 + Decorate 125(Depth) BuiltIn FragDepth + Decorate 130(g_tTex3df4) DescriptorSet 0 + Decorate 133(g_tTex3di4) DescriptorSet 0 + Decorate 136(g_tTex3du4) DescriptorSet 0 + Decorate 139(g_tTexcdf4) DescriptorSet 0 + Decorate 142(g_tTexcdi4) DescriptorSet 0 + Decorate 145(g_tTexcdu4) DescriptorSet 0 + Decorate 148(g_tTex1df4a) DescriptorSet 0 + Decorate 151(g_tTex1di4a) DescriptorSet 0 + Decorate 154(g_tTex1du4a) DescriptorSet 0 + Decorate 157(g_tTex2df4a) DescriptorSet 0 + Decorate 160(g_tTex2di4a) DescriptorSet 0 + Decorate 163(g_tTex2du4a) DescriptorSet 0 + Decorate 166(g_tTexcdf4a) DescriptorSet 0 + Decorate 169(g_tTexcdi4a) DescriptorSet 0 + Decorate 172(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypePointer Function 6(float) - 9: TypeImage 6(float) 1D sampled format:Unknown - 10: TypePointer UniformConstant 9 - 11(g_tTex1df4): 10(ptr) Variable UniformConstant - 13: TypeSampler - 14: TypePointer UniformConstant 13 - 15(g_sSamp): 14(ptr) Variable UniformConstant - 17: TypeImage 6(float) 1D depth sampled format:Unknown - 18: TypeSampledImage 17 - 20: 6(float) Constant 1036831949 - 21: 6(float) Constant 1061158912 - 22: TypeVector 6(float) 2 - 24: TypeInt 32 1 - 25: 24(int) Constant 2 - 29: TypeImage 24(int) 1D sampled format:Unknown - 30: TypePointer UniformConstant 29 - 31(g_tTex1di4): 30(ptr) Variable UniformConstant - 34: TypeImage 24(int) 1D depth sampled format:Unknown - 35: TypeSampledImage 34 - 41: TypeInt 32 0 - 42: TypeImage 41(int) 1D sampled format:Unknown - 43: TypePointer UniformConstant 42 - 44(g_tTex1du4): 43(ptr) Variable UniformConstant - 47: TypeImage 41(int) 1D depth sampled format:Unknown - 48: TypeSampledImage 47 - 54: TypeImage 6(float) 2D sampled format:Unknown - 55: TypePointer UniformConstant 54 - 56(g_tTex2df4): 55(ptr) Variable UniformConstant - 59: TypeImage 6(float) 2D depth sampled format:Unknown - 60: TypeSampledImage 59 - 62: 6(float) Constant 1045220557 - 63: 22(fvec2) ConstantComposite 20 62 - 64: TypeVector 6(float) 3 - 68: TypeVector 24(int) 2 - 69: 24(int) Constant 3 - 70: 68(ivec2) ConstantComposite 25 69 - 74: TypeImage 24(int) 2D sampled format:Unknown - 75: TypePointer UniformConstant 74 - 76(g_tTex2di4): 75(ptr) Variable UniformConstant - 79: TypeImage 24(int) 2D depth sampled format:Unknown - 80: TypeSampledImage 79 - 88: TypeImage 41(int) 2D sampled format:Unknown - 89: TypePointer UniformConstant 88 - 90(g_tTex2du4): 89(ptr) Variable UniformConstant - 93: TypeImage 41(int) 2D depth sampled format:Unknown - 94: TypeSampledImage 93 - 101: TypeVector 6(float) 4 - 102(PS_OUTPUT): TypeStruct 101(fvec4) 6(float) - 103: TypePointer Function 102(PS_OUTPUT) - 105: 24(int) Constant 0 - 106: 6(float) Constant 1065353216 - 107: 101(fvec4) ConstantComposite 106 106 106 106 - 108: TypePointer Function 101(fvec4) - 110: 24(int) Constant 1 - 112: TypePointer Output 101(fvec4) - 113(Color): 112(ptr) Variable Output - 116: TypePointer Output 6(float) - 117(Depth): 116(ptr) Variable Output - 121: TypeImage 6(float) 3D sampled format:Unknown - 122: TypePointer UniformConstant 121 - 123(g_tTex3df4): 122(ptr) Variable UniformConstant - 124: TypeImage 24(int) 3D sampled format:Unknown - 125: TypePointer UniformConstant 124 - 126(g_tTex3di4): 125(ptr) Variable UniformConstant - 127: TypeImage 41(int) 3D sampled format:Unknown - 128: TypePointer UniformConstant 127 - 129(g_tTex3du4): 128(ptr) Variable UniformConstant - 130: TypeImage 6(float) Cube sampled format:Unknown - 131: TypePointer UniformConstant 130 - 132(g_tTexcdf4): 131(ptr) Variable UniformConstant - 133: TypeImage 24(int) Cube sampled format:Unknown - 134: TypePointer UniformConstant 133 - 135(g_tTexcdi4): 134(ptr) Variable UniformConstant - 136: TypeImage 41(int) Cube sampled format:Unknown - 137: TypePointer UniformConstant 136 - 138(g_tTexcdu4): 137(ptr) Variable UniformConstant - 139: TypeImage 6(float) 1D array sampled format:Unknown - 140: TypePointer UniformConstant 139 -141(g_tTex1df4a): 140(ptr) Variable UniformConstant - 142: TypeImage 24(int) 1D array sampled format:Unknown - 143: TypePointer UniformConstant 142 -144(g_tTex1di4a): 143(ptr) Variable UniformConstant - 145: TypeImage 41(int) 1D array sampled format:Unknown - 146: TypePointer UniformConstant 145 -147(g_tTex1du4a): 146(ptr) Variable UniformConstant - 148: TypeImage 6(float) 2D array sampled format:Unknown - 149: TypePointer UniformConstant 148 -150(g_tTex2df4a): 149(ptr) Variable UniformConstant - 151: TypeImage 24(int) 2D array sampled format:Unknown - 152: TypePointer UniformConstant 151 -153(g_tTex2di4a): 152(ptr) Variable UniformConstant - 154: TypeImage 41(int) 2D array sampled format:Unknown - 155: TypePointer UniformConstant 154 -156(g_tTex2du4a): 155(ptr) Variable UniformConstant - 157: TypeImage 6(float) Cube array sampled format:Unknown - 158: TypePointer UniformConstant 157 -159(g_tTexcdf4a): 158(ptr) Variable UniformConstant - 160: TypeImage 24(int) Cube array sampled format:Unknown - 161: TypePointer UniformConstant 160 -162(g_tTexcdi4a): 161(ptr) Variable UniformConstant - 163: TypeImage 41(int) Cube array sampled format:Unknown - 164: TypePointer UniformConstant 163 -165(g_tTexcdu4a): 164(ptr) Variable UniformConstant + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 6(float) + 14: TypeImage 6(float) 1D sampled format:Unknown + 15: TypePointer UniformConstant 14 + 16(g_tTex1df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeImage 6(float) 1D depth sampled format:Unknown + 23: TypeSampledImage 22 + 25: 6(float) Constant 1036831949 + 26: 6(float) Constant 1061158912 + 27: TypeVector 6(float) 2 + 29: TypeInt 32 1 + 30: 29(int) Constant 2 + 34: TypeImage 29(int) 1D sampled format:Unknown + 35: TypePointer UniformConstant 34 + 36(g_tTex1di4): 35(ptr) Variable UniformConstant + 39: TypeImage 29(int) 1D depth sampled format:Unknown + 40: TypeSampledImage 39 + 46: TypeInt 32 0 + 47: TypeImage 46(int) 1D sampled format:Unknown + 48: TypePointer UniformConstant 47 + 49(g_tTex1du4): 48(ptr) Variable UniformConstant + 52: TypeImage 46(int) 1D depth sampled format:Unknown + 53: TypeSampledImage 52 + 59: TypeImage 6(float) 2D sampled format:Unknown + 60: TypePointer UniformConstant 59 + 61(g_tTex2df4): 60(ptr) Variable UniformConstant + 64: TypeImage 6(float) 2D depth sampled format:Unknown + 65: TypeSampledImage 64 + 67: 6(float) Constant 1045220557 + 68: 27(fvec2) ConstantComposite 25 67 + 69: TypeVector 6(float) 3 + 73: TypeVector 29(int) 2 + 74: 29(int) Constant 3 + 75: 73(ivec2) ConstantComposite 30 74 + 79: TypeImage 29(int) 2D sampled format:Unknown + 80: TypePointer UniformConstant 79 + 81(g_tTex2di4): 80(ptr) Variable UniformConstant + 84: TypeImage 29(int) 2D depth sampled format:Unknown + 85: TypeSampledImage 84 + 93: TypeImage 46(int) 2D sampled format:Unknown + 94: TypePointer UniformConstant 93 + 95(g_tTex2du4): 94(ptr) Variable UniformConstant + 98: TypeImage 46(int) 2D depth sampled format:Unknown + 99: TypeSampledImage 98 + 106: TypePointer Function 8(PS_OUTPUT) + 108: 29(int) Constant 0 + 109: 6(float) Constant 1065353216 + 110: 7(fvec4) ConstantComposite 109 109 109 109 + 111: TypePointer Function 7(fvec4) + 113: 29(int) Constant 1 + 120: TypePointer Output 7(fvec4) + 121(Color): 120(ptr) Variable Output + 124: TypePointer Output 6(float) + 125(Depth): 124(ptr) Variable Output + 128: TypeImage 6(float) 3D sampled format:Unknown + 129: TypePointer UniformConstant 128 + 130(g_tTex3df4): 129(ptr) Variable UniformConstant + 131: TypeImage 29(int) 3D sampled format:Unknown + 132: TypePointer UniformConstant 131 + 133(g_tTex3di4): 132(ptr) Variable UniformConstant + 134: TypeImage 46(int) 3D sampled format:Unknown + 135: TypePointer UniformConstant 134 + 136(g_tTex3du4): 135(ptr) Variable UniformConstant + 137: TypeImage 6(float) Cube sampled format:Unknown + 138: TypePointer UniformConstant 137 + 139(g_tTexcdf4): 138(ptr) Variable UniformConstant + 140: TypeImage 29(int) Cube sampled format:Unknown + 141: TypePointer UniformConstant 140 + 142(g_tTexcdi4): 141(ptr) Variable UniformConstant + 143: TypeImage 46(int) Cube sampled format:Unknown + 144: TypePointer UniformConstant 143 + 145(g_tTexcdu4): 144(ptr) Variable UniformConstant + 146: TypeImage 6(float) 1D array sampled format:Unknown + 147: TypePointer UniformConstant 146 +148(g_tTex1df4a): 147(ptr) Variable UniformConstant + 149: TypeImage 29(int) 1D array sampled format:Unknown + 150: TypePointer UniformConstant 149 +151(g_tTex1di4a): 150(ptr) Variable UniformConstant + 152: TypeImage 46(int) 1D array sampled format:Unknown + 153: TypePointer UniformConstant 152 +154(g_tTex1du4a): 153(ptr) Variable UniformConstant + 155: TypeImage 6(float) 2D array sampled format:Unknown + 156: TypePointer UniformConstant 155 +157(g_tTex2df4a): 156(ptr) Variable UniformConstant + 158: TypeImage 29(int) 2D array sampled format:Unknown + 159: TypePointer UniformConstant 158 +160(g_tTex2di4a): 159(ptr) Variable UniformConstant + 161: TypeImage 46(int) 2D array sampled format:Unknown + 162: TypePointer UniformConstant 161 +163(g_tTex2du4a): 162(ptr) Variable UniformConstant + 164: TypeImage 6(float) Cube array sampled format:Unknown + 165: TypePointer UniformConstant 164 +166(g_tTexcdf4a): 165(ptr) Variable UniformConstant + 167: TypeImage 29(int) Cube array sampled format:Unknown + 168: TypePointer UniformConstant 167 +169(g_tTexcdi4a): 168(ptr) Variable UniformConstant + 170: TypeImage 46(int) Cube array sampled format:Unknown + 171: TypePointer UniformConstant 170 +172(g_tTexcdu4a): 171(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 8(r01): 7(ptr) Variable Function - 28(r03): 7(ptr) Variable Function - 40(r05): 7(ptr) Variable Function - 53(r21): 7(ptr) Variable Function - 73(r23): 7(ptr) Variable Function - 87(r25): 7(ptr) Variable Function - 104(psout): 103(ptr) Variable Function - 12: 9 Load 11(g_tTex1df4) - 16: 13 Load 15(g_sSamp) - 19: 18 SampledImage 12 16 - 23: 22(fvec2) CompositeConstruct 20 21 - 26: 6(float) CompositeExtract 23 1 - 27: 6(float) ImageSampleDrefImplicitLod 19 23 26 ConstOffset 25 - Store 8(r01) 27 - 32: 29 Load 31(g_tTex1di4) - 33: 13 Load 15(g_sSamp) - 36: 35 SampledImage 32 33 - 37: 22(fvec2) CompositeConstruct 20 21 - 38: 6(float) CompositeExtract 37 1 - 39: 6(float) ImageSampleDrefImplicitLod 36 37 38 ConstOffset 25 - Store 28(r03) 39 - 45: 42 Load 44(g_tTex1du4) - 46: 13 Load 15(g_sSamp) - 49: 48 SampledImage 45 46 - 50: 22(fvec2) CompositeConstruct 20 21 - 51: 6(float) CompositeExtract 50 1 - 52: 6(float) ImageSampleDrefImplicitLod 49 50 51 ConstOffset 25 - Store 40(r05) 52 - 57: 54 Load 56(g_tTex2df4) - 58: 13 Load 15(g_sSamp) - 61: 60 SampledImage 57 58 - 65: 6(float) CompositeExtract 63 0 - 66: 6(float) CompositeExtract 63 1 - 67: 64(fvec3) CompositeConstruct 65 66 21 - 71: 6(float) CompositeExtract 67 2 - 72: 6(float) ImageSampleDrefImplicitLod 61 67 71 ConstOffset 70 - Store 53(r21) 72 - 77: 74 Load 76(g_tTex2di4) - 78: 13 Load 15(g_sSamp) - 81: 80 SampledImage 77 78 - 82: 6(float) CompositeExtract 63 0 - 83: 6(float) CompositeExtract 63 1 - 84: 64(fvec3) CompositeConstruct 82 83 21 - 85: 6(float) CompositeExtract 84 2 - 86: 6(float) ImageSampleDrefImplicitLod 81 84 85 ConstOffset 70 - Store 73(r23) 86 - 91: 88 Load 90(g_tTex2du4) - 92: 13 Load 15(g_sSamp) - 95: 94 SampledImage 91 92 - 96: 6(float) CompositeExtract 63 0 - 97: 6(float) CompositeExtract 63 1 - 98: 64(fvec3) CompositeConstruct 96 97 21 - 99: 6(float) CompositeExtract 98 2 - 100: 6(float) ImageSampleDrefImplicitLod 95 98 99 ConstOffset 70 - Store 87(r25) 100 - 109: 108(ptr) AccessChain 104(psout) 105 - Store 109 107 - 111: 7(ptr) AccessChain 104(psout) 110 - Store 111 106 - 114: 108(ptr) AccessChain 104(psout) 105 - 115: 101(fvec4) Load 114 - Store 113(Color) 115 - 118: 7(ptr) AccessChain 104(psout) 110 - 119: 6(float) Load 118 - Store 117(Depth) 119 +118(flattenTemp): 106(ptr) Variable Function + 119:8(PS_OUTPUT) FunctionCall 10(@main() + Store 118(flattenTemp) 119 + 122: 111(ptr) AccessChain 118(flattenTemp) 108 + 123: 7(fvec4) Load 122 + Store 121(Color) 123 + 126: 12(ptr) AccessChain 118(flattenTemp) 113 + 127: 6(float) Load 126 + Store 125(Depth) 127 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(r01): 12(ptr) Variable Function + 33(r03): 12(ptr) Variable Function + 45(r05): 12(ptr) Variable Function + 58(r21): 12(ptr) Variable Function + 78(r23): 12(ptr) Variable Function + 92(r25): 12(ptr) Variable Function + 107(psout): 106(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4) + 21: 18 Load 20(g_sSamp) + 24: 23 SampledImage 17 21 + 28: 27(fvec2) CompositeConstruct 25 26 + 31: 6(float) CompositeExtract 28 1 + 32: 6(float) ImageSampleDrefImplicitLod 24 28 31 ConstOffset 30 + Store 13(r01) 32 + 37: 34 Load 36(g_tTex1di4) + 38: 18 Load 20(g_sSamp) + 41: 40 SampledImage 37 38 + 42: 27(fvec2) CompositeConstruct 25 26 + 43: 6(float) CompositeExtract 42 1 + 44: 6(float) ImageSampleDrefImplicitLod 41 42 43 ConstOffset 30 + Store 33(r03) 44 + 50: 47 Load 49(g_tTex1du4) + 51: 18 Load 20(g_sSamp) + 54: 53 SampledImage 50 51 + 55: 27(fvec2) CompositeConstruct 25 26 + 56: 6(float) CompositeExtract 55 1 + 57: 6(float) ImageSampleDrefImplicitLod 54 55 56 ConstOffset 30 + Store 45(r05) 57 + 62: 59 Load 61(g_tTex2df4) + 63: 18 Load 20(g_sSamp) + 66: 65 SampledImage 62 63 + 70: 6(float) CompositeExtract 68 0 + 71: 6(float) CompositeExtract 68 1 + 72: 69(fvec3) CompositeConstruct 70 71 26 + 76: 6(float) CompositeExtract 72 2 + 77: 6(float) ImageSampleDrefImplicitLod 66 72 76 ConstOffset 75 + Store 58(r21) 77 + 82: 79 Load 81(g_tTex2di4) + 83: 18 Load 20(g_sSamp) + 86: 85 SampledImage 82 83 + 87: 6(float) CompositeExtract 68 0 + 88: 6(float) CompositeExtract 68 1 + 89: 69(fvec3) CompositeConstruct 87 88 26 + 90: 6(float) CompositeExtract 89 2 + 91: 6(float) ImageSampleDrefImplicitLod 86 89 90 ConstOffset 75 + Store 78(r23) 91 + 96: 93 Load 95(g_tTex2du4) + 97: 18 Load 20(g_sSamp) + 100: 99 SampledImage 96 97 + 101: 6(float) CompositeExtract 68 0 + 102: 6(float) CompositeExtract 68 1 + 103: 69(fvec3) CompositeConstruct 101 102 26 + 104: 6(float) CompositeExtract 103 2 + 105: 6(float) ImageSampleDrefImplicitLod 100 103 104 ConstOffset 75 + Store 92(r25) 105 + 112: 111(ptr) AccessChain 107(psout) 108 + Store 112 110 + 114: 12(ptr) AccessChain 107(psout) 113 + Store 114 109 + 115:8(PS_OUTPUT) Load 107(psout) + ReturnValue 115 + FunctionEnd diff --git a/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out index 013a645c..b7294eb8 100644 --- a/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.samplecmp.offsetarray.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:38 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:38 Function Parameters: 0:? Sequence 0:42 Sequence @@ -118,24 +118,28 @@ gl_FragCoord origin is upper left 0:64 1 (const int) 0:64 Constant: 0:64 1.000000 -0:66 Sequence -0:66 Sequence -0:66 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:66 Color: direct index for structure (temp 4-component vector of float) -0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:66 Constant: -0:66 0 (const int) -0:66 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:66 Depth: direct index for structure (temp float) -0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:66 Constant: -0:66 1 (const int) -0:66 Branch: Return +0:66 Branch: Return with expression +0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: main( (temp void) +0:38 Function Parameters: +0:? Sequence +0:38 Sequence +0:38 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:38 Color: direct index for structure (temp 4-component vector of float) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 0 (const int) +0:38 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:38 Depth: direct index for structure (temp float) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -158,6 +162,8 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -166,7 +172,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:38 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:38 Function Parameters: 0:? Sequence 0:42 Sequence @@ -282,24 +288,28 @@ gl_FragCoord origin is upper left 0:64 1 (const int) 0:64 Constant: 0:64 1.000000 -0:66 Sequence -0:66 Sequence -0:66 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:66 Color: direct index for structure (temp 4-component vector of float) -0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:66 Constant: -0:66 0 (const int) -0:66 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:66 Depth: direct index for structure (temp float) -0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:66 Constant: -0:66 1 (const int) -0:66 Branch: Return +0:66 Branch: Return with expression +0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: main( (temp void) +0:38 Function Parameters: +0:? Sequence +0:38 Sequence +0:38 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:38 Color: direct index for structure (temp 4-component vector of float) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 0 (const int) +0:38 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:38 Depth: direct index for structure (temp float) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -322,262 +332,275 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +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 177 +// Id's are bound by 184 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 124 128 + EntryPoint Fragment 4 "main" 132 136 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "r11" - Name 11 "g_tTex1df4a" - Name 15 "g_sSamp" - Name 33 "r13" - Name 36 "g_tTex1di4a" - Name 47 "r15" - Name 51 "g_tTex1du4a" - Name 62 "r31" - Name 65 "g_tTex2df4a" - Name 83 "r33" - Name 86 "g_tTex2di4a" - Name 98 "r35" - Name 101 "g_tTex2du4a" - Name 113 "PS_OUTPUT" - MemberName 113(PS_OUTPUT) 0 "Color" - MemberName 113(PS_OUTPUT) 1 "Depth" - Name 115 "psout" - Name 124 "Color" - Name 128 "Depth" - Name 134 "g_tTex1df4" - Name 137 "g_tTex1di4" - Name 140 "g_tTex1du4" - Name 143 "g_tTex2df4" - Name 146 "g_tTex2di4" - Name 149 "g_tTex2du4" - Name 152 "g_tTex3df4" - Name 155 "g_tTex3di4" - Name 158 "g_tTex3du4" - Name 161 "g_tTexcdf4" - Name 164 "g_tTexcdi4" - Name 167 "g_tTexcdu4" - Name 170 "g_tTexcdf4a" - Name 173 "g_tTexcdi4a" - Name 176 "g_tTexcdu4a" - Decorate 11(g_tTex1df4a) DescriptorSet 0 - Decorate 15(g_sSamp) DescriptorSet 0 - Decorate 15(g_sSamp) Binding 0 - Decorate 36(g_tTex1di4a) DescriptorSet 0 - Decorate 51(g_tTex1du4a) DescriptorSet 0 - Decorate 65(g_tTex2df4a) DescriptorSet 0 - Decorate 86(g_tTex2di4a) DescriptorSet 0 - Decorate 101(g_tTex2du4a) DescriptorSet 0 - Decorate 124(Color) Location 0 - Decorate 128(Depth) BuiltIn FragDepth - Decorate 134(g_tTex1df4) DescriptorSet 0 - Decorate 134(g_tTex1df4) Binding 0 - Decorate 137(g_tTex1di4) DescriptorSet 0 - Decorate 140(g_tTex1du4) DescriptorSet 0 - Decorate 143(g_tTex2df4) DescriptorSet 0 - Decorate 146(g_tTex2di4) DescriptorSet 0 - Decorate 149(g_tTex2du4) DescriptorSet 0 - Decorate 152(g_tTex3df4) DescriptorSet 0 - Decorate 155(g_tTex3di4) DescriptorSet 0 - Decorate 158(g_tTex3du4) DescriptorSet 0 - Decorate 161(g_tTexcdf4) DescriptorSet 0 - Decorate 164(g_tTexcdi4) DescriptorSet 0 - Decorate 167(g_tTexcdu4) DescriptorSet 0 - Decorate 170(g_tTexcdf4a) DescriptorSet 0 - Decorate 173(g_tTexcdi4a) DescriptorSet 0 - Decorate 176(g_tTexcdu4a) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "r11" + Name 16 "g_tTex1df4a" + Name 20 "g_sSamp" + Name 38 "r13" + Name 41 "g_tTex1di4a" + Name 52 "r15" + Name 56 "g_tTex1du4a" + Name 67 "r31" + Name 70 "g_tTex2df4a" + Name 87 "r33" + Name 90 "g_tTex2di4a" + Name 102 "r35" + Name 105 "g_tTex2du4a" + Name 118 "psout" + Name 129 "flattenTemp" + Name 132 "Color" + Name 136 "Depth" + Name 141 "g_tTex1df4" + Name 144 "g_tTex1di4" + Name 147 "g_tTex1du4" + Name 150 "g_tTex2df4" + Name 153 "g_tTex2di4" + Name 156 "g_tTex2du4" + Name 159 "g_tTex3df4" + Name 162 "g_tTex3di4" + Name 165 "g_tTex3du4" + Name 168 "g_tTexcdf4" + Name 171 "g_tTexcdi4" + Name 174 "g_tTexcdu4" + Name 177 "g_tTexcdf4a" + Name 180 "g_tTexcdi4a" + Name 183 "g_tTexcdu4a" + Decorate 16(g_tTex1df4a) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 41(g_tTex1di4a) DescriptorSet 0 + Decorate 56(g_tTex1du4a) DescriptorSet 0 + Decorate 70(g_tTex2df4a) DescriptorSet 0 + Decorate 90(g_tTex2di4a) DescriptorSet 0 + Decorate 105(g_tTex2du4a) DescriptorSet 0 + Decorate 132(Color) Location 0 + Decorate 136(Depth) BuiltIn FragDepth + Decorate 141(g_tTex1df4) DescriptorSet 0 + Decorate 141(g_tTex1df4) Binding 0 + Decorate 144(g_tTex1di4) DescriptorSet 0 + Decorate 147(g_tTex1du4) DescriptorSet 0 + Decorate 150(g_tTex2df4) DescriptorSet 0 + Decorate 153(g_tTex2di4) DescriptorSet 0 + Decorate 156(g_tTex2du4) DescriptorSet 0 + Decorate 159(g_tTex3df4) DescriptorSet 0 + Decorate 162(g_tTex3di4) DescriptorSet 0 + Decorate 165(g_tTex3du4) DescriptorSet 0 + Decorate 168(g_tTexcdf4) DescriptorSet 0 + Decorate 171(g_tTexcdi4) DescriptorSet 0 + Decorate 174(g_tTexcdu4) DescriptorSet 0 + Decorate 177(g_tTexcdf4a) DescriptorSet 0 + Decorate 180(g_tTexcdi4a) DescriptorSet 0 + Decorate 183(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypePointer Function 6(float) - 9: TypeImage 6(float) 1D array sampled format:Unknown - 10: TypePointer UniformConstant 9 - 11(g_tTex1df4a): 10(ptr) Variable UniformConstant - 13: TypeSampler - 14: TypePointer UniformConstant 13 - 15(g_sSamp): 14(ptr) Variable UniformConstant - 17: TypeImage 6(float) 1D depth array sampled format:Unknown - 18: TypeSampledImage 17 - 20: TypeVector 6(float) 2 - 21: 6(float) Constant 1036831949 - 22: 6(float) Constant 1045220557 - 23: 20(fvec2) ConstantComposite 21 22 - 24: 6(float) Constant 1061158912 - 25: TypeVector 6(float) 3 - 29: TypeInt 32 1 - 30: 29(int) Constant 2 - 34: TypeImage 29(int) 1D array sampled format:Unknown - 35: TypePointer UniformConstant 34 - 36(g_tTex1di4a): 35(ptr) Variable UniformConstant - 39: TypeImage 29(int) 1D depth array sampled format:Unknown - 40: TypeSampledImage 39 - 48: TypeInt 32 0 - 49: TypeImage 48(int) 1D array sampled format:Unknown - 50: TypePointer UniformConstant 49 - 51(g_tTex1du4a): 50(ptr) Variable UniformConstant - 54: TypeImage 48(int) 1D depth array sampled format:Unknown - 55: TypeSampledImage 54 - 63: TypeImage 6(float) 2D array sampled format:Unknown - 64: TypePointer UniformConstant 63 - 65(g_tTex2df4a): 64(ptr) Variable UniformConstant - 68: TypeImage 6(float) 2D depth array sampled format:Unknown - 69: TypeSampledImage 68 - 71: 6(float) Constant 1050253722 - 72: 25(fvec3) ConstantComposite 21 22 71 - 73: TypeVector 6(float) 4 - 78: TypeVector 29(int) 2 - 79: 29(int) Constant 3 - 80: 78(ivec2) ConstantComposite 30 79 - 84: TypeImage 29(int) 2D array sampled format:Unknown - 85: TypePointer UniformConstant 84 - 86(g_tTex2di4a): 85(ptr) Variable UniformConstant - 89: TypeImage 29(int) 2D depth array sampled format:Unknown - 90: TypeSampledImage 89 - 99: TypeImage 48(int) 2D array sampled format:Unknown - 100: TypePointer UniformConstant 99 -101(g_tTex2du4a): 100(ptr) Variable UniformConstant - 104: TypeImage 48(int) 2D depth array sampled format:Unknown - 105: TypeSampledImage 104 - 113(PS_OUTPUT): TypeStruct 73(fvec4) 6(float) - 114: TypePointer Function 113(PS_OUTPUT) - 116: 29(int) Constant 0 - 117: 6(float) Constant 1065353216 - 118: 73(fvec4) ConstantComposite 117 117 117 117 - 119: TypePointer Function 73(fvec4) - 121: 29(int) Constant 1 - 123: TypePointer Output 73(fvec4) - 124(Color): 123(ptr) Variable Output - 127: TypePointer Output 6(float) - 128(Depth): 127(ptr) Variable Output - 132: TypeImage 6(float) 1D sampled format:Unknown - 133: TypePointer UniformConstant 132 - 134(g_tTex1df4): 133(ptr) Variable UniformConstant - 135: TypeImage 29(int) 1D sampled format:Unknown - 136: TypePointer UniformConstant 135 - 137(g_tTex1di4): 136(ptr) Variable UniformConstant - 138: TypeImage 48(int) 1D sampled format:Unknown - 139: TypePointer UniformConstant 138 - 140(g_tTex1du4): 139(ptr) Variable UniformConstant - 141: TypeImage 6(float) 2D sampled format:Unknown - 142: TypePointer UniformConstant 141 - 143(g_tTex2df4): 142(ptr) Variable UniformConstant - 144: TypeImage 29(int) 2D sampled format:Unknown - 145: TypePointer UniformConstant 144 - 146(g_tTex2di4): 145(ptr) Variable UniformConstant - 147: TypeImage 48(int) 2D sampled format:Unknown - 148: TypePointer UniformConstant 147 - 149(g_tTex2du4): 148(ptr) Variable UniformConstant - 150: TypeImage 6(float) 3D sampled format:Unknown - 151: TypePointer UniformConstant 150 - 152(g_tTex3df4): 151(ptr) Variable UniformConstant - 153: TypeImage 29(int) 3D sampled format:Unknown - 154: TypePointer UniformConstant 153 - 155(g_tTex3di4): 154(ptr) Variable UniformConstant - 156: TypeImage 48(int) 3D sampled format:Unknown - 157: TypePointer UniformConstant 156 - 158(g_tTex3du4): 157(ptr) Variable UniformConstant - 159: TypeImage 6(float) Cube sampled format:Unknown - 160: TypePointer UniformConstant 159 - 161(g_tTexcdf4): 160(ptr) Variable UniformConstant - 162: TypeImage 29(int) Cube sampled format:Unknown - 163: TypePointer UniformConstant 162 - 164(g_tTexcdi4): 163(ptr) Variable UniformConstant - 165: TypeImage 48(int) Cube sampled format:Unknown - 166: TypePointer UniformConstant 165 - 167(g_tTexcdu4): 166(ptr) Variable UniformConstant - 168: TypeImage 6(float) Cube array sampled format:Unknown - 169: TypePointer UniformConstant 168 -170(g_tTexcdf4a): 169(ptr) Variable UniformConstant - 171: TypeImage 29(int) Cube array sampled format:Unknown - 172: TypePointer UniformConstant 171 -173(g_tTexcdi4a): 172(ptr) Variable UniformConstant - 174: TypeImage 48(int) Cube array sampled format:Unknown - 175: TypePointer UniformConstant 174 -176(g_tTexcdu4a): 175(ptr) Variable UniformConstant + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 6(float) + 14: TypeImage 6(float) 1D array sampled format:Unknown + 15: TypePointer UniformConstant 14 + 16(g_tTex1df4a): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeImage 6(float) 1D depth array sampled format:Unknown + 23: TypeSampledImage 22 + 25: TypeVector 6(float) 2 + 26: 6(float) Constant 1036831949 + 27: 6(float) Constant 1045220557 + 28: 25(fvec2) ConstantComposite 26 27 + 29: 6(float) Constant 1061158912 + 30: TypeVector 6(float) 3 + 34: TypeInt 32 1 + 35: 34(int) Constant 2 + 39: TypeImage 34(int) 1D array sampled format:Unknown + 40: TypePointer UniformConstant 39 + 41(g_tTex1di4a): 40(ptr) Variable UniformConstant + 44: TypeImage 34(int) 1D depth array sampled format:Unknown + 45: TypeSampledImage 44 + 53: TypeInt 32 0 + 54: TypeImage 53(int) 1D array sampled format:Unknown + 55: TypePointer UniformConstant 54 + 56(g_tTex1du4a): 55(ptr) Variable UniformConstant + 59: TypeImage 53(int) 1D depth array sampled format:Unknown + 60: TypeSampledImage 59 + 68: TypeImage 6(float) 2D array sampled format:Unknown + 69: TypePointer UniformConstant 68 + 70(g_tTex2df4a): 69(ptr) Variable UniformConstant + 73: TypeImage 6(float) 2D depth array sampled format:Unknown + 74: TypeSampledImage 73 + 76: 6(float) Constant 1050253722 + 77: 30(fvec3) ConstantComposite 26 27 76 + 82: TypeVector 34(int) 2 + 83: 34(int) Constant 3 + 84: 82(ivec2) ConstantComposite 35 83 + 88: TypeImage 34(int) 2D array sampled format:Unknown + 89: TypePointer UniformConstant 88 + 90(g_tTex2di4a): 89(ptr) Variable UniformConstant + 93: TypeImage 34(int) 2D depth array sampled format:Unknown + 94: TypeSampledImage 93 + 103: TypeImage 53(int) 2D array sampled format:Unknown + 104: TypePointer UniformConstant 103 +105(g_tTex2du4a): 104(ptr) Variable UniformConstant + 108: TypeImage 53(int) 2D depth array sampled format:Unknown + 109: TypeSampledImage 108 + 117: TypePointer Function 8(PS_OUTPUT) + 119: 34(int) Constant 0 + 120: 6(float) Constant 1065353216 + 121: 7(fvec4) ConstantComposite 120 120 120 120 + 122: TypePointer Function 7(fvec4) + 124: 34(int) Constant 1 + 131: TypePointer Output 7(fvec4) + 132(Color): 131(ptr) Variable Output + 135: TypePointer Output 6(float) + 136(Depth): 135(ptr) Variable Output + 139: TypeImage 6(float) 1D sampled format:Unknown + 140: TypePointer UniformConstant 139 + 141(g_tTex1df4): 140(ptr) Variable UniformConstant + 142: TypeImage 34(int) 1D sampled format:Unknown + 143: TypePointer UniformConstant 142 + 144(g_tTex1di4): 143(ptr) Variable UniformConstant + 145: TypeImage 53(int) 1D sampled format:Unknown + 146: TypePointer UniformConstant 145 + 147(g_tTex1du4): 146(ptr) Variable UniformConstant + 148: TypeImage 6(float) 2D sampled format:Unknown + 149: TypePointer UniformConstant 148 + 150(g_tTex2df4): 149(ptr) Variable UniformConstant + 151: TypeImage 34(int) 2D sampled format:Unknown + 152: TypePointer UniformConstant 151 + 153(g_tTex2di4): 152(ptr) Variable UniformConstant + 154: TypeImage 53(int) 2D sampled format:Unknown + 155: TypePointer UniformConstant 154 + 156(g_tTex2du4): 155(ptr) Variable UniformConstant + 157: TypeImage 6(float) 3D sampled format:Unknown + 158: TypePointer UniformConstant 157 + 159(g_tTex3df4): 158(ptr) Variable UniformConstant + 160: TypeImage 34(int) 3D sampled format:Unknown + 161: TypePointer UniformConstant 160 + 162(g_tTex3di4): 161(ptr) Variable UniformConstant + 163: TypeImage 53(int) 3D sampled format:Unknown + 164: TypePointer UniformConstant 163 + 165(g_tTex3du4): 164(ptr) Variable UniformConstant + 166: TypeImage 6(float) Cube sampled format:Unknown + 167: TypePointer UniformConstant 166 + 168(g_tTexcdf4): 167(ptr) Variable UniformConstant + 169: TypeImage 34(int) Cube sampled format:Unknown + 170: TypePointer UniformConstant 169 + 171(g_tTexcdi4): 170(ptr) Variable UniformConstant + 172: TypeImage 53(int) Cube sampled format:Unknown + 173: TypePointer UniformConstant 172 + 174(g_tTexcdu4): 173(ptr) Variable UniformConstant + 175: TypeImage 6(float) Cube array sampled format:Unknown + 176: TypePointer UniformConstant 175 +177(g_tTexcdf4a): 176(ptr) Variable UniformConstant + 178: TypeImage 34(int) Cube array sampled format:Unknown + 179: TypePointer UniformConstant 178 +180(g_tTexcdi4a): 179(ptr) Variable UniformConstant + 181: TypeImage 53(int) Cube array sampled format:Unknown + 182: TypePointer UniformConstant 181 +183(g_tTexcdu4a): 182(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 8(r11): 7(ptr) Variable Function - 33(r13): 7(ptr) Variable Function - 47(r15): 7(ptr) Variable Function - 62(r31): 7(ptr) Variable Function - 83(r33): 7(ptr) Variable Function - 98(r35): 7(ptr) Variable Function - 115(psout): 114(ptr) Variable Function - 12: 9 Load 11(g_tTex1df4a) - 16: 13 Load 15(g_sSamp) - 19: 18 SampledImage 12 16 - 26: 6(float) CompositeExtract 23 0 - 27: 6(float) CompositeExtract 23 1 - 28: 25(fvec3) CompositeConstruct 26 27 24 - 31: 6(float) CompositeExtract 28 2 - 32: 6(float) ImageSampleDrefImplicitLod 19 28 31 ConstOffset 30 - Store 8(r11) 32 - 37: 34 Load 36(g_tTex1di4a) - 38: 13 Load 15(g_sSamp) - 41: 40 SampledImage 37 38 - 42: 6(float) CompositeExtract 23 0 - 43: 6(float) CompositeExtract 23 1 - 44: 25(fvec3) CompositeConstruct 42 43 24 - 45: 6(float) CompositeExtract 44 2 - 46: 6(float) ImageSampleDrefImplicitLod 41 44 45 ConstOffset 30 - Store 33(r13) 46 - 52: 49 Load 51(g_tTex1du4a) - 53: 13 Load 15(g_sSamp) - 56: 55 SampledImage 52 53 - 57: 6(float) CompositeExtract 23 0 - 58: 6(float) CompositeExtract 23 1 - 59: 25(fvec3) CompositeConstruct 57 58 24 - 60: 6(float) CompositeExtract 59 2 - 61: 6(float) ImageSampleDrefImplicitLod 56 59 60 ConstOffset 30 - Store 47(r15) 61 - 66: 63 Load 65(g_tTex2df4a) - 67: 13 Load 15(g_sSamp) - 70: 69 SampledImage 66 67 - 74: 6(float) CompositeExtract 72 0 - 75: 6(float) CompositeExtract 72 1 - 76: 6(float) CompositeExtract 72 2 - 77: 73(fvec4) CompositeConstruct 74 75 76 24 - 81: 6(float) CompositeExtract 77 3 - 82: 6(float) ImageSampleDrefImplicitLod 70 77 81 ConstOffset 80 - Store 62(r31) 82 - 87: 84 Load 86(g_tTex2di4a) - 88: 13 Load 15(g_sSamp) - 91: 90 SampledImage 87 88 - 92: 6(float) CompositeExtract 72 0 - 93: 6(float) CompositeExtract 72 1 - 94: 6(float) CompositeExtract 72 2 - 95: 73(fvec4) CompositeConstruct 92 93 94 24 - 96: 6(float) CompositeExtract 95 3 - 97: 6(float) ImageSampleDrefImplicitLod 91 95 96 ConstOffset 80 - Store 83(r33) 97 - 102: 99 Load 101(g_tTex2du4a) - 103: 13 Load 15(g_sSamp) - 106: 105 SampledImage 102 103 - 107: 6(float) CompositeExtract 72 0 - 108: 6(float) CompositeExtract 72 1 - 109: 6(float) CompositeExtract 72 2 - 110: 73(fvec4) CompositeConstruct 107 108 109 24 - 111: 6(float) CompositeExtract 110 3 - 112: 6(float) ImageSampleDrefImplicitLod 106 110 111 ConstOffset 80 - Store 98(r35) 112 - 120: 119(ptr) AccessChain 115(psout) 116 - Store 120 118 - 122: 7(ptr) AccessChain 115(psout) 121 - Store 122 117 - 125: 119(ptr) AccessChain 115(psout) 116 - 126: 73(fvec4) Load 125 - Store 124(Color) 126 - 129: 7(ptr) AccessChain 115(psout) 121 - 130: 6(float) Load 129 - Store 128(Depth) 130 +129(flattenTemp): 117(ptr) Variable Function + 130:8(PS_OUTPUT) FunctionCall 10(@main() + Store 129(flattenTemp) 130 + 133: 122(ptr) AccessChain 129(flattenTemp) 119 + 134: 7(fvec4) Load 133 + Store 132(Color) 134 + 137: 12(ptr) AccessChain 129(flattenTemp) 124 + 138: 6(float) Load 137 + Store 136(Depth) 138 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(r11): 12(ptr) Variable Function + 38(r13): 12(ptr) Variable Function + 52(r15): 12(ptr) Variable Function + 67(r31): 12(ptr) Variable Function + 87(r33): 12(ptr) Variable Function + 102(r35): 12(ptr) Variable Function + 118(psout): 117(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4a) + 21: 18 Load 20(g_sSamp) + 24: 23 SampledImage 17 21 + 31: 6(float) CompositeExtract 28 0 + 32: 6(float) CompositeExtract 28 1 + 33: 30(fvec3) CompositeConstruct 31 32 29 + 36: 6(float) CompositeExtract 33 2 + 37: 6(float) ImageSampleDrefImplicitLod 24 33 36 ConstOffset 35 + Store 13(r11) 37 + 42: 39 Load 41(g_tTex1di4a) + 43: 18 Load 20(g_sSamp) + 46: 45 SampledImage 42 43 + 47: 6(float) CompositeExtract 28 0 + 48: 6(float) CompositeExtract 28 1 + 49: 30(fvec3) CompositeConstruct 47 48 29 + 50: 6(float) CompositeExtract 49 2 + 51: 6(float) ImageSampleDrefImplicitLod 46 49 50 ConstOffset 35 + Store 38(r13) 51 + 57: 54 Load 56(g_tTex1du4a) + 58: 18 Load 20(g_sSamp) + 61: 60 SampledImage 57 58 + 62: 6(float) CompositeExtract 28 0 + 63: 6(float) CompositeExtract 28 1 + 64: 30(fvec3) CompositeConstruct 62 63 29 + 65: 6(float) CompositeExtract 64 2 + 66: 6(float) ImageSampleDrefImplicitLod 61 64 65 ConstOffset 35 + Store 52(r15) 66 + 71: 68 Load 70(g_tTex2df4a) + 72: 18 Load 20(g_sSamp) + 75: 74 SampledImage 71 72 + 78: 6(float) CompositeExtract 77 0 + 79: 6(float) CompositeExtract 77 1 + 80: 6(float) CompositeExtract 77 2 + 81: 7(fvec4) CompositeConstruct 78 79 80 29 + 85: 6(float) CompositeExtract 81 3 + 86: 6(float) ImageSampleDrefImplicitLod 75 81 85 ConstOffset 84 + Store 67(r31) 86 + 91: 88 Load 90(g_tTex2di4a) + 92: 18 Load 20(g_sSamp) + 95: 94 SampledImage 91 92 + 96: 6(float) CompositeExtract 77 0 + 97: 6(float) CompositeExtract 77 1 + 98: 6(float) CompositeExtract 77 2 + 99: 7(fvec4) CompositeConstruct 96 97 98 29 + 100: 6(float) CompositeExtract 99 3 + 101: 6(float) ImageSampleDrefImplicitLod 95 99 100 ConstOffset 84 + Store 87(r33) 101 + 106: 103 Load 105(g_tTex2du4a) + 107: 18 Load 20(g_sSamp) + 110: 109 SampledImage 106 107 + 111: 6(float) CompositeExtract 77 0 + 112: 6(float) CompositeExtract 77 1 + 113: 6(float) CompositeExtract 77 2 + 114: 7(fvec4) CompositeConstruct 111 112 113 29 + 115: 6(float) CompositeExtract 114 3 + 116: 6(float) ImageSampleDrefImplicitLod 110 114 115 ConstOffset 84 + Store 102(r35) 116 + 123: 122(ptr) AccessChain 118(psout) 119 + Store 123 121 + 125: 12(ptr) AccessChain 118(psout) 124 + Store 125 120 + 126:8(PS_OUTPUT) Load 118(psout) + ReturnValue 126 + FunctionEnd diff --git a/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out index 29e02cd9..27407b8d 100644 --- a/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.samplecmplevelzero.array.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:38 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:38 Function Parameters: 0:? Sequence 0:42 Sequence @@ -166,24 +166,28 @@ gl_FragCoord origin is upper left 0:57 1 (const int) 0:57 Constant: 0:57 1.000000 -0:59 Sequence -0:59 Sequence -0:59 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:59 Color: direct index for structure (temp 4-component vector of float) -0:59 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:59 Constant: -0:59 0 (const int) -0:59 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:59 Depth: direct index for structure (temp float) -0:59 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:59 Constant: -0:59 1 (const int) -0:59 Branch: Return +0:59 Branch: Return with expression +0:59 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: main( (temp void) +0:38 Function Parameters: +0:? Sequence +0:38 Sequence +0:38 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:38 Color: direct index for structure (temp 4-component vector of float) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 0 (const int) +0:38 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:38 Depth: direct index for structure (temp float) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -206,6 +210,8 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -214,7 +220,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:38 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:38 Function Parameters: 0:? Sequence 0:42 Sequence @@ -378,24 +384,28 @@ gl_FragCoord origin is upper left 0:57 1 (const int) 0:57 Constant: 0:57 1.000000 -0:59 Sequence -0:59 Sequence -0:59 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:59 Color: direct index for structure (temp 4-component vector of float) -0:59 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:59 Constant: -0:59 0 (const int) -0:59 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:59 Depth: direct index for structure (temp float) -0:59 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:59 Constant: -0:59 1 (const int) -0:59 Branch: Return +0:59 Branch: Return with expression +0:59 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: main( (temp void) +0:38 Function Parameters: +0:? Sequence +0:38 Sequence +0:38 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:38 Color: direct index for structure (temp 4-component vector of float) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 0 (const int) +0:38 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:38 Depth: direct index for structure (temp float) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -418,303 +428,316 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +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 212 +// Id's are bound by 219 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 168 172 + EntryPoint Fragment 4 "main" 176 180 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "r10" - Name 11 "g_tTex1df4a" - Name 15 "g_sSamp" - Name 32 "r12" - Name 36 "g_tTex1di4a" - Name 47 "r14" - Name 51 "g_tTex1du4a" - Name 62 "r30" - Name 65 "g_tTex2df4a" - Name 80 "r32" - Name 83 "g_tTex2di4a" - Name 95 "r34" - Name 98 "g_tTex2du4a" - Name 110 "r60" - Name 113 "g_tTexcdf4a" - Name 127 "r62" - Name 130 "g_tTexcdi4a" - Name 142 "r64" - Name 145 "g_tTexcdu4a" - Name 157 "PS_OUTPUT" - MemberName 157(PS_OUTPUT) 0 "Color" - MemberName 157(PS_OUTPUT) 1 "Depth" - Name 159 "psout" - Name 168 "Color" - Name 172 "Depth" - Name 178 "g_tTex1df4" - Name 181 "g_tTex1di4" - Name 184 "g_tTex1du4" - Name 187 "g_tTex2df4" - Name 190 "g_tTex2di4" - Name 193 "g_tTex2du4" - Name 196 "g_tTex3df4" - Name 199 "g_tTex3di4" - Name 202 "g_tTex3du4" - Name 205 "g_tTexcdf4" - Name 208 "g_tTexcdi4" - Name 211 "g_tTexcdu4" - Decorate 11(g_tTex1df4a) DescriptorSet 0 - Decorate 15(g_sSamp) DescriptorSet 0 - Decorate 15(g_sSamp) Binding 0 - Decorate 36(g_tTex1di4a) DescriptorSet 0 - Decorate 51(g_tTex1du4a) DescriptorSet 0 - Decorate 65(g_tTex2df4a) DescriptorSet 0 - Decorate 83(g_tTex2di4a) DescriptorSet 0 - Decorate 98(g_tTex2du4a) DescriptorSet 0 - Decorate 113(g_tTexcdf4a) DescriptorSet 0 - Decorate 130(g_tTexcdi4a) DescriptorSet 0 - Decorate 145(g_tTexcdu4a) DescriptorSet 0 - Decorate 168(Color) Location 0 - Decorate 172(Depth) BuiltIn FragDepth - Decorate 178(g_tTex1df4) DescriptorSet 0 - Decorate 178(g_tTex1df4) Binding 0 - Decorate 181(g_tTex1di4) DescriptorSet 0 - Decorate 184(g_tTex1du4) DescriptorSet 0 - Decorate 187(g_tTex2df4) DescriptorSet 0 - Decorate 190(g_tTex2di4) DescriptorSet 0 - Decorate 193(g_tTex2du4) DescriptorSet 0 - Decorate 196(g_tTex3df4) DescriptorSet 0 - Decorate 199(g_tTex3di4) DescriptorSet 0 - Decorate 202(g_tTex3du4) DescriptorSet 0 - Decorate 205(g_tTexcdf4) DescriptorSet 0 - Decorate 208(g_tTexcdi4) DescriptorSet 0 - Decorate 211(g_tTexcdu4) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "r10" + Name 16 "g_tTex1df4a" + Name 20 "g_sSamp" + Name 37 "r12" + Name 41 "g_tTex1di4a" + Name 52 "r14" + Name 56 "g_tTex1du4a" + Name 67 "r30" + Name 70 "g_tTex2df4a" + Name 84 "r32" + Name 87 "g_tTex2di4a" + Name 99 "r34" + Name 102 "g_tTex2du4a" + Name 114 "r60" + Name 117 "g_tTexcdf4a" + Name 131 "r62" + Name 134 "g_tTexcdi4a" + Name 146 "r64" + Name 149 "g_tTexcdu4a" + Name 162 "psout" + Name 173 "flattenTemp" + Name 176 "Color" + Name 180 "Depth" + Name 185 "g_tTex1df4" + Name 188 "g_tTex1di4" + Name 191 "g_tTex1du4" + Name 194 "g_tTex2df4" + Name 197 "g_tTex2di4" + Name 200 "g_tTex2du4" + Name 203 "g_tTex3df4" + Name 206 "g_tTex3di4" + Name 209 "g_tTex3du4" + Name 212 "g_tTexcdf4" + Name 215 "g_tTexcdi4" + Name 218 "g_tTexcdu4" + Decorate 16(g_tTex1df4a) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 41(g_tTex1di4a) DescriptorSet 0 + Decorate 56(g_tTex1du4a) DescriptorSet 0 + Decorate 70(g_tTex2df4a) DescriptorSet 0 + Decorate 87(g_tTex2di4a) DescriptorSet 0 + Decorate 102(g_tTex2du4a) DescriptorSet 0 + Decorate 117(g_tTexcdf4a) DescriptorSet 0 + Decorate 134(g_tTexcdi4a) DescriptorSet 0 + Decorate 149(g_tTexcdu4a) DescriptorSet 0 + Decorate 176(Color) Location 0 + Decorate 180(Depth) BuiltIn FragDepth + Decorate 185(g_tTex1df4) DescriptorSet 0 + Decorate 185(g_tTex1df4) Binding 0 + Decorate 188(g_tTex1di4) DescriptorSet 0 + Decorate 191(g_tTex1du4) DescriptorSet 0 + Decorate 194(g_tTex2df4) DescriptorSet 0 + Decorate 197(g_tTex2di4) DescriptorSet 0 + Decorate 200(g_tTex2du4) DescriptorSet 0 + Decorate 203(g_tTex3df4) DescriptorSet 0 + Decorate 206(g_tTex3di4) DescriptorSet 0 + Decorate 209(g_tTex3du4) DescriptorSet 0 + Decorate 212(g_tTexcdf4) DescriptorSet 0 + Decorate 215(g_tTexcdi4) DescriptorSet 0 + Decorate 218(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypePointer Function 6(float) - 9: TypeImage 6(float) 1D array sampled format:Unknown - 10: TypePointer UniformConstant 9 - 11(g_tTex1df4a): 10(ptr) Variable UniformConstant - 13: TypeSampler - 14: TypePointer UniformConstant 13 - 15(g_sSamp): 14(ptr) Variable UniformConstant - 17: TypeImage 6(float) 1D depth array sampled format:Unknown - 18: TypeSampledImage 17 - 20: TypeVector 6(float) 2 - 21: 6(float) Constant 1036831949 - 22: 6(float) Constant 1045220557 - 23: 20(fvec2) ConstantComposite 21 22 - 24: 6(float) Constant 1061158912 - 25: TypeVector 6(float) 3 - 29: 6(float) Constant 0 - 33: TypeInt 32 1 - 34: TypeImage 33(int) 1D array sampled format:Unknown - 35: TypePointer UniformConstant 34 - 36(g_tTex1di4a): 35(ptr) Variable UniformConstant - 39: TypeImage 33(int) 1D depth array sampled format:Unknown - 40: TypeSampledImage 39 - 48: TypeInt 32 0 - 49: TypeImage 48(int) 1D array sampled format:Unknown - 50: TypePointer UniformConstant 49 - 51(g_tTex1du4a): 50(ptr) Variable UniformConstant - 54: TypeImage 48(int) 1D depth array sampled format:Unknown - 55: TypeSampledImage 54 - 63: TypeImage 6(float) 2D array sampled format:Unknown - 64: TypePointer UniformConstant 63 - 65(g_tTex2df4a): 64(ptr) Variable UniformConstant - 68: TypeImage 6(float) 2D depth array sampled format:Unknown - 69: TypeSampledImage 68 - 71: 6(float) Constant 1050253722 - 72: 25(fvec3) ConstantComposite 21 22 71 - 73: TypeVector 6(float) 4 - 81: TypeImage 33(int) 2D array sampled format:Unknown - 82: TypePointer UniformConstant 81 - 83(g_tTex2di4a): 82(ptr) Variable UniformConstant - 86: TypeImage 33(int) 2D depth array sampled format:Unknown - 87: TypeSampledImage 86 - 96: TypeImage 48(int) 2D array sampled format:Unknown - 97: TypePointer UniformConstant 96 - 98(g_tTex2du4a): 97(ptr) Variable UniformConstant - 101: TypeImage 48(int) 2D depth array sampled format:Unknown - 102: TypeSampledImage 101 - 111: TypeImage 6(float) Cube array sampled format:Unknown - 112: TypePointer UniformConstant 111 -113(g_tTexcdf4a): 112(ptr) Variable UniformConstant - 116: TypeImage 6(float) Cube depth array sampled format:Unknown - 117: TypeSampledImage 116 - 119: 6(float) Constant 1053609165 - 120: 73(fvec4) ConstantComposite 21 22 71 119 - 128: TypeImage 33(int) Cube array sampled format:Unknown - 129: TypePointer UniformConstant 128 -130(g_tTexcdi4a): 129(ptr) Variable UniformConstant - 133: TypeImage 33(int) Cube depth array sampled format:Unknown - 134: TypeSampledImage 133 - 143: TypeImage 48(int) Cube array sampled format:Unknown - 144: TypePointer UniformConstant 143 -145(g_tTexcdu4a): 144(ptr) Variable UniformConstant - 148: TypeImage 48(int) Cube depth array sampled format:Unknown - 149: TypeSampledImage 148 - 157(PS_OUTPUT): TypeStruct 73(fvec4) 6(float) - 158: TypePointer Function 157(PS_OUTPUT) - 160: 33(int) Constant 0 - 161: 6(float) Constant 1065353216 - 162: 73(fvec4) ConstantComposite 161 161 161 161 - 163: TypePointer Function 73(fvec4) - 165: 33(int) Constant 1 - 167: TypePointer Output 73(fvec4) - 168(Color): 167(ptr) Variable Output - 171: TypePointer Output 6(float) - 172(Depth): 171(ptr) Variable Output - 176: TypeImage 6(float) 1D sampled format:Unknown - 177: TypePointer UniformConstant 176 - 178(g_tTex1df4): 177(ptr) Variable UniformConstant - 179: TypeImage 33(int) 1D sampled format:Unknown - 180: TypePointer UniformConstant 179 - 181(g_tTex1di4): 180(ptr) Variable UniformConstant - 182: TypeImage 48(int) 1D sampled format:Unknown - 183: TypePointer UniformConstant 182 - 184(g_tTex1du4): 183(ptr) Variable UniformConstant - 185: TypeImage 6(float) 2D sampled format:Unknown - 186: TypePointer UniformConstant 185 - 187(g_tTex2df4): 186(ptr) Variable UniformConstant - 188: TypeImage 33(int) 2D sampled format:Unknown - 189: TypePointer UniformConstant 188 - 190(g_tTex2di4): 189(ptr) Variable UniformConstant - 191: TypeImage 48(int) 2D sampled format:Unknown - 192: TypePointer UniformConstant 191 - 193(g_tTex2du4): 192(ptr) Variable UniformConstant - 194: TypeImage 6(float) 3D sampled format:Unknown - 195: TypePointer UniformConstant 194 - 196(g_tTex3df4): 195(ptr) Variable UniformConstant - 197: TypeImage 33(int) 3D sampled format:Unknown - 198: TypePointer UniformConstant 197 - 199(g_tTex3di4): 198(ptr) Variable UniformConstant - 200: TypeImage 48(int) 3D sampled format:Unknown - 201: TypePointer UniformConstant 200 - 202(g_tTex3du4): 201(ptr) Variable UniformConstant - 203: TypeImage 6(float) Cube sampled format:Unknown - 204: TypePointer UniformConstant 203 - 205(g_tTexcdf4): 204(ptr) Variable UniformConstant - 206: TypeImage 33(int) Cube sampled format:Unknown - 207: TypePointer UniformConstant 206 - 208(g_tTexcdi4): 207(ptr) Variable UniformConstant - 209: TypeImage 48(int) Cube sampled format:Unknown - 210: TypePointer UniformConstant 209 - 211(g_tTexcdu4): 210(ptr) Variable UniformConstant + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 6(float) + 14: TypeImage 6(float) 1D array sampled format:Unknown + 15: TypePointer UniformConstant 14 + 16(g_tTex1df4a): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeImage 6(float) 1D depth array sampled format:Unknown + 23: TypeSampledImage 22 + 25: TypeVector 6(float) 2 + 26: 6(float) Constant 1036831949 + 27: 6(float) Constant 1045220557 + 28: 25(fvec2) ConstantComposite 26 27 + 29: 6(float) Constant 1061158912 + 30: TypeVector 6(float) 3 + 34: 6(float) Constant 0 + 38: TypeInt 32 1 + 39: TypeImage 38(int) 1D array sampled format:Unknown + 40: TypePointer UniformConstant 39 + 41(g_tTex1di4a): 40(ptr) Variable UniformConstant + 44: TypeImage 38(int) 1D depth array sampled format:Unknown + 45: TypeSampledImage 44 + 53: TypeInt 32 0 + 54: TypeImage 53(int) 1D array sampled format:Unknown + 55: TypePointer UniformConstant 54 + 56(g_tTex1du4a): 55(ptr) Variable UniformConstant + 59: TypeImage 53(int) 1D depth array sampled format:Unknown + 60: TypeSampledImage 59 + 68: TypeImage 6(float) 2D array sampled format:Unknown + 69: TypePointer UniformConstant 68 + 70(g_tTex2df4a): 69(ptr) Variable UniformConstant + 73: TypeImage 6(float) 2D depth array sampled format:Unknown + 74: TypeSampledImage 73 + 76: 6(float) Constant 1050253722 + 77: 30(fvec3) ConstantComposite 26 27 76 + 85: TypeImage 38(int) 2D array sampled format:Unknown + 86: TypePointer UniformConstant 85 + 87(g_tTex2di4a): 86(ptr) Variable UniformConstant + 90: TypeImage 38(int) 2D depth array sampled format:Unknown + 91: TypeSampledImage 90 + 100: TypeImage 53(int) 2D array sampled format:Unknown + 101: TypePointer UniformConstant 100 +102(g_tTex2du4a): 101(ptr) Variable UniformConstant + 105: TypeImage 53(int) 2D depth array sampled format:Unknown + 106: TypeSampledImage 105 + 115: TypeImage 6(float) Cube array sampled format:Unknown + 116: TypePointer UniformConstant 115 +117(g_tTexcdf4a): 116(ptr) Variable UniformConstant + 120: TypeImage 6(float) Cube depth array sampled format:Unknown + 121: TypeSampledImage 120 + 123: 6(float) Constant 1053609165 + 124: 7(fvec4) ConstantComposite 26 27 76 123 + 132: TypeImage 38(int) Cube array sampled format:Unknown + 133: TypePointer UniformConstant 132 +134(g_tTexcdi4a): 133(ptr) Variable UniformConstant + 137: TypeImage 38(int) Cube depth array sampled format:Unknown + 138: TypeSampledImage 137 + 147: TypeImage 53(int) Cube array sampled format:Unknown + 148: TypePointer UniformConstant 147 +149(g_tTexcdu4a): 148(ptr) Variable UniformConstant + 152: TypeImage 53(int) Cube depth array sampled format:Unknown + 153: TypeSampledImage 152 + 161: TypePointer Function 8(PS_OUTPUT) + 163: 38(int) Constant 0 + 164: 6(float) Constant 1065353216 + 165: 7(fvec4) ConstantComposite 164 164 164 164 + 166: TypePointer Function 7(fvec4) + 168: 38(int) Constant 1 + 175: TypePointer Output 7(fvec4) + 176(Color): 175(ptr) Variable Output + 179: TypePointer Output 6(float) + 180(Depth): 179(ptr) Variable Output + 183: TypeImage 6(float) 1D sampled format:Unknown + 184: TypePointer UniformConstant 183 + 185(g_tTex1df4): 184(ptr) Variable UniformConstant + 186: TypeImage 38(int) 1D sampled format:Unknown + 187: TypePointer UniformConstant 186 + 188(g_tTex1di4): 187(ptr) Variable UniformConstant + 189: TypeImage 53(int) 1D sampled format:Unknown + 190: TypePointer UniformConstant 189 + 191(g_tTex1du4): 190(ptr) Variable UniformConstant + 192: TypeImage 6(float) 2D sampled format:Unknown + 193: TypePointer UniformConstant 192 + 194(g_tTex2df4): 193(ptr) Variable UniformConstant + 195: TypeImage 38(int) 2D sampled format:Unknown + 196: TypePointer UniformConstant 195 + 197(g_tTex2di4): 196(ptr) Variable UniformConstant + 198: TypeImage 53(int) 2D sampled format:Unknown + 199: TypePointer UniformConstant 198 + 200(g_tTex2du4): 199(ptr) Variable UniformConstant + 201: TypeImage 6(float) 3D sampled format:Unknown + 202: TypePointer UniformConstant 201 + 203(g_tTex3df4): 202(ptr) Variable UniformConstant + 204: TypeImage 38(int) 3D sampled format:Unknown + 205: TypePointer UniformConstant 204 + 206(g_tTex3di4): 205(ptr) Variable UniformConstant + 207: TypeImage 53(int) 3D sampled format:Unknown + 208: TypePointer UniformConstant 207 + 209(g_tTex3du4): 208(ptr) Variable UniformConstant + 210: TypeImage 6(float) Cube sampled format:Unknown + 211: TypePointer UniformConstant 210 + 212(g_tTexcdf4): 211(ptr) Variable UniformConstant + 213: TypeImage 38(int) Cube sampled format:Unknown + 214: TypePointer UniformConstant 213 + 215(g_tTexcdi4): 214(ptr) Variable UniformConstant + 216: TypeImage 53(int) Cube sampled format:Unknown + 217: TypePointer UniformConstant 216 + 218(g_tTexcdu4): 217(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 8(r10): 7(ptr) Variable Function - 32(r12): 7(ptr) Variable Function - 47(r14): 7(ptr) Variable Function - 62(r30): 7(ptr) Variable Function - 80(r32): 7(ptr) Variable Function - 95(r34): 7(ptr) Variable Function - 110(r60): 7(ptr) Variable Function - 127(r62): 7(ptr) Variable Function - 142(r64): 7(ptr) Variable Function - 159(psout): 158(ptr) Variable Function - 12: 9 Load 11(g_tTex1df4a) - 16: 13 Load 15(g_sSamp) - 19: 18 SampledImage 12 16 - 26: 6(float) CompositeExtract 23 0 - 27: 6(float) CompositeExtract 23 1 - 28: 25(fvec3) CompositeConstruct 26 27 24 - 30: 6(float) CompositeExtract 28 2 - 31: 6(float) ImageSampleDrefExplicitLod 19 28 30 Lod 29 - Store 8(r10) 31 - 37: 34 Load 36(g_tTex1di4a) - 38: 13 Load 15(g_sSamp) - 41: 40 SampledImage 37 38 - 42: 6(float) CompositeExtract 23 0 - 43: 6(float) CompositeExtract 23 1 - 44: 25(fvec3) CompositeConstruct 42 43 24 - 45: 6(float) CompositeExtract 44 2 - 46: 6(float) ImageSampleDrefExplicitLod 41 44 45 Lod 29 - Store 32(r12) 46 - 52: 49 Load 51(g_tTex1du4a) - 53: 13 Load 15(g_sSamp) - 56: 55 SampledImage 52 53 - 57: 6(float) CompositeExtract 23 0 - 58: 6(float) CompositeExtract 23 1 - 59: 25(fvec3) CompositeConstruct 57 58 24 - 60: 6(float) CompositeExtract 59 2 - 61: 6(float) ImageSampleDrefExplicitLod 56 59 60 Lod 29 - Store 47(r14) 61 - 66: 63 Load 65(g_tTex2df4a) - 67: 13 Load 15(g_sSamp) - 70: 69 SampledImage 66 67 - 74: 6(float) CompositeExtract 72 0 - 75: 6(float) CompositeExtract 72 1 - 76: 6(float) CompositeExtract 72 2 - 77: 73(fvec4) CompositeConstruct 74 75 76 24 - 78: 6(float) CompositeExtract 77 3 - 79: 6(float) ImageSampleDrefExplicitLod 70 77 78 Lod 29 - Store 62(r30) 79 - 84: 81 Load 83(g_tTex2di4a) - 85: 13 Load 15(g_sSamp) - 88: 87 SampledImage 84 85 - 89: 6(float) CompositeExtract 72 0 - 90: 6(float) CompositeExtract 72 1 - 91: 6(float) CompositeExtract 72 2 - 92: 73(fvec4) CompositeConstruct 89 90 91 24 - 93: 6(float) CompositeExtract 92 3 - 94: 6(float) ImageSampleDrefExplicitLod 88 92 93 Lod 29 - Store 80(r32) 94 - 99: 96 Load 98(g_tTex2du4a) - 100: 13 Load 15(g_sSamp) - 103: 102 SampledImage 99 100 - 104: 6(float) CompositeExtract 72 0 - 105: 6(float) CompositeExtract 72 1 - 106: 6(float) CompositeExtract 72 2 - 107: 73(fvec4) CompositeConstruct 104 105 106 24 - 108: 6(float) CompositeExtract 107 3 - 109: 6(float) ImageSampleDrefExplicitLod 103 107 108 Lod 29 - Store 95(r34) 109 - 114: 111 Load 113(g_tTexcdf4a) - 115: 13 Load 15(g_sSamp) - 118: 117 SampledImage 114 115 - 121: 6(float) CompositeExtract 120 0 - 122: 6(float) CompositeExtract 120 1 - 123: 6(float) CompositeExtract 120 2 - 124: 6(float) CompositeExtract 120 3 - 125: 73(fvec4) CompositeConstruct 121 122 123 124 - 126: 6(float) ImageSampleDrefExplicitLod 118 125 24 Lod 24 - Store 110(r60) 126 - 131: 128 Load 130(g_tTexcdi4a) - 132: 13 Load 15(g_sSamp) - 135: 134 SampledImage 131 132 - 136: 6(float) CompositeExtract 120 0 - 137: 6(float) CompositeExtract 120 1 - 138: 6(float) CompositeExtract 120 2 - 139: 6(float) CompositeExtract 120 3 - 140: 73(fvec4) CompositeConstruct 136 137 138 139 - 141: 6(float) ImageSampleDrefExplicitLod 135 140 24 Lod 24 - Store 127(r62) 141 - 146: 143 Load 145(g_tTexcdu4a) - 147: 13 Load 15(g_sSamp) - 150: 149 SampledImage 146 147 - 151: 6(float) CompositeExtract 120 0 - 152: 6(float) CompositeExtract 120 1 - 153: 6(float) CompositeExtract 120 2 - 154: 6(float) CompositeExtract 120 3 - 155: 73(fvec4) CompositeConstruct 151 152 153 154 - 156: 6(float) ImageSampleDrefExplicitLod 150 155 24 Lod 24 - Store 142(r64) 156 - 164: 163(ptr) AccessChain 159(psout) 160 - Store 164 162 - 166: 7(ptr) AccessChain 159(psout) 165 - Store 166 161 - 169: 163(ptr) AccessChain 159(psout) 160 - 170: 73(fvec4) Load 169 - Store 168(Color) 170 - 173: 7(ptr) AccessChain 159(psout) 165 - 174: 6(float) Load 173 - Store 172(Depth) 174 +173(flattenTemp): 161(ptr) Variable Function + 174:8(PS_OUTPUT) FunctionCall 10(@main() + Store 173(flattenTemp) 174 + 177: 166(ptr) AccessChain 173(flattenTemp) 163 + 178: 7(fvec4) Load 177 + Store 176(Color) 178 + 181: 12(ptr) AccessChain 173(flattenTemp) 168 + 182: 6(float) Load 181 + Store 180(Depth) 182 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(r10): 12(ptr) Variable Function + 37(r12): 12(ptr) Variable Function + 52(r14): 12(ptr) Variable Function + 67(r30): 12(ptr) Variable Function + 84(r32): 12(ptr) Variable Function + 99(r34): 12(ptr) Variable Function + 114(r60): 12(ptr) Variable Function + 131(r62): 12(ptr) Variable Function + 146(r64): 12(ptr) Variable Function + 162(psout): 161(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4a) + 21: 18 Load 20(g_sSamp) + 24: 23 SampledImage 17 21 + 31: 6(float) CompositeExtract 28 0 + 32: 6(float) CompositeExtract 28 1 + 33: 30(fvec3) CompositeConstruct 31 32 29 + 35: 6(float) CompositeExtract 33 2 + 36: 6(float) ImageSampleDrefExplicitLod 24 33 35 Lod 34 + Store 13(r10) 36 + 42: 39 Load 41(g_tTex1di4a) + 43: 18 Load 20(g_sSamp) + 46: 45 SampledImage 42 43 + 47: 6(float) CompositeExtract 28 0 + 48: 6(float) CompositeExtract 28 1 + 49: 30(fvec3) CompositeConstruct 47 48 29 + 50: 6(float) CompositeExtract 49 2 + 51: 6(float) ImageSampleDrefExplicitLod 46 49 50 Lod 34 + Store 37(r12) 51 + 57: 54 Load 56(g_tTex1du4a) + 58: 18 Load 20(g_sSamp) + 61: 60 SampledImage 57 58 + 62: 6(float) CompositeExtract 28 0 + 63: 6(float) CompositeExtract 28 1 + 64: 30(fvec3) CompositeConstruct 62 63 29 + 65: 6(float) CompositeExtract 64 2 + 66: 6(float) ImageSampleDrefExplicitLod 61 64 65 Lod 34 + Store 52(r14) 66 + 71: 68 Load 70(g_tTex2df4a) + 72: 18 Load 20(g_sSamp) + 75: 74 SampledImage 71 72 + 78: 6(float) CompositeExtract 77 0 + 79: 6(float) CompositeExtract 77 1 + 80: 6(float) CompositeExtract 77 2 + 81: 7(fvec4) CompositeConstruct 78 79 80 29 + 82: 6(float) CompositeExtract 81 3 + 83: 6(float) ImageSampleDrefExplicitLod 75 81 82 Lod 34 + Store 67(r30) 83 + 88: 85 Load 87(g_tTex2di4a) + 89: 18 Load 20(g_sSamp) + 92: 91 SampledImage 88 89 + 93: 6(float) CompositeExtract 77 0 + 94: 6(float) CompositeExtract 77 1 + 95: 6(float) CompositeExtract 77 2 + 96: 7(fvec4) CompositeConstruct 93 94 95 29 + 97: 6(float) CompositeExtract 96 3 + 98: 6(float) ImageSampleDrefExplicitLod 92 96 97 Lod 34 + Store 84(r32) 98 + 103: 100 Load 102(g_tTex2du4a) + 104: 18 Load 20(g_sSamp) + 107: 106 SampledImage 103 104 + 108: 6(float) CompositeExtract 77 0 + 109: 6(float) CompositeExtract 77 1 + 110: 6(float) CompositeExtract 77 2 + 111: 7(fvec4) CompositeConstruct 108 109 110 29 + 112: 6(float) CompositeExtract 111 3 + 113: 6(float) ImageSampleDrefExplicitLod 107 111 112 Lod 34 + Store 99(r34) 113 + 118: 115 Load 117(g_tTexcdf4a) + 119: 18 Load 20(g_sSamp) + 122: 121 SampledImage 118 119 + 125: 6(float) CompositeExtract 124 0 + 126: 6(float) CompositeExtract 124 1 + 127: 6(float) CompositeExtract 124 2 + 128: 6(float) CompositeExtract 124 3 + 129: 7(fvec4) CompositeConstruct 125 126 127 128 + 130: 6(float) ImageSampleDrefExplicitLod 122 129 29 Lod 29 + Store 114(r60) 130 + 135: 132 Load 134(g_tTexcdi4a) + 136: 18 Load 20(g_sSamp) + 139: 138 SampledImage 135 136 + 140: 6(float) CompositeExtract 124 0 + 141: 6(float) CompositeExtract 124 1 + 142: 6(float) CompositeExtract 124 2 + 143: 6(float) CompositeExtract 124 3 + 144: 7(fvec4) CompositeConstruct 140 141 142 143 + 145: 6(float) ImageSampleDrefExplicitLod 139 144 29 Lod 29 + Store 131(r62) 145 + 150: 147 Load 149(g_tTexcdu4a) + 151: 18 Load 20(g_sSamp) + 154: 153 SampledImage 150 151 + 155: 6(float) CompositeExtract 124 0 + 156: 6(float) CompositeExtract 124 1 + 157: 6(float) CompositeExtract 124 2 + 158: 6(float) CompositeExtract 124 3 + 159: 7(fvec4) CompositeConstruct 155 156 157 158 + 160: 6(float) ImageSampleDrefExplicitLod 154 159 29 Lod 29 + Store 146(r64) 160 + 167: 166(ptr) AccessChain 162(psout) 163 + Store 167 165 + 169: 12(ptr) AccessChain 162(psout) 168 + Store 169 164 + 170:8(PS_OUTPUT) Load 162(psout) + ReturnValue 170 + FunctionEnd diff --git a/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out index de822764..be4919a0 100644 --- a/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.samplecmplevelzero.basic.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:38 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:38 Function Parameters: 0:? Sequence 0:42 Sequence @@ -157,24 +157,28 @@ gl_FragCoord origin is upper left 0:58 1 (const int) 0:58 Constant: 0:58 1.000000 -0:60 Sequence -0:60 Sequence -0:60 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:60 Color: direct index for structure (temp 4-component vector of float) -0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:60 Constant: -0:60 0 (const int) -0:60 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:60 Depth: direct index for structure (temp float) -0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:60 Constant: -0:60 1 (const int) -0:60 Branch: Return +0:60 Branch: Return with expression +0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: main( (temp void) +0:38 Function Parameters: +0:? Sequence +0:38 Sequence +0:38 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:38 Color: direct index for structure (temp 4-component vector of float) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 0 (const int) +0:38 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:38 Depth: direct index for structure (temp float) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -197,6 +201,8 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -205,7 +211,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:38 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:38 Function Parameters: 0:? Sequence 0:42 Sequence @@ -360,24 +366,28 @@ gl_FragCoord origin is upper left 0:58 1 (const int) 0:58 Constant: 0:58 1.000000 -0:60 Sequence -0:60 Sequence -0:60 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:60 Color: direct index for structure (temp 4-component vector of float) -0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:60 Constant: -0:60 0 (const int) -0:60 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:60 Depth: direct index for structure (temp float) -0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:60 Constant: -0:60 1 (const int) -0:60 Branch: Return +0:60 Branch: Return with expression +0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: main( (temp void) +0:38 Function Parameters: +0:? Sequence +0:38 Sequence +0:38 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:38 Color: direct index for structure (temp 4-component vector of float) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 0 (const int) +0:38 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:38 Depth: direct index for structure (temp float) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -400,292 +410,305 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +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 201 +// Id's are bound by 208 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 157 161 + EntryPoint Fragment 4 "main" 165 169 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "r00" - Name 11 "g_tTex1df4" - Name 15 "g_sSamp" - Name 27 "r02" - Name 31 "g_tTex1di4" - Name 40 "r04" - Name 44 "g_tTex1du4" - Name 53 "r20" - Name 56 "g_tTex2df4" - Name 70 "r22" - Name 73 "g_tTex2di4" - Name 84 "r24" - Name 87 "g_tTex2du4" - Name 98 "r50" - Name 101 "g_tTexcdf4" - Name 116 "r52" - Name 119 "g_tTexcdi4" - Name 131 "r54" - Name 134 "g_tTexcdu4" - Name 146 "PS_OUTPUT" - MemberName 146(PS_OUTPUT) 0 "Color" - MemberName 146(PS_OUTPUT) 1 "Depth" - Name 148 "psout" - Name 157 "Color" - Name 161 "Depth" - Name 167 "g_tTex3df4" - Name 170 "g_tTex3di4" - Name 173 "g_tTex3du4" - Name 176 "g_tTex1df4a" - Name 179 "g_tTex1di4a" - Name 182 "g_tTex1du4a" - Name 185 "g_tTex2df4a" - Name 188 "g_tTex2di4a" - Name 191 "g_tTex2du4a" - Name 194 "g_tTexcdf4a" - Name 197 "g_tTexcdi4a" - Name 200 "g_tTexcdu4a" - Decorate 11(g_tTex1df4) DescriptorSet 0 - Decorate 11(g_tTex1df4) Binding 0 - Decorate 15(g_sSamp) DescriptorSet 0 - Decorate 15(g_sSamp) Binding 0 - Decorate 31(g_tTex1di4) DescriptorSet 0 - Decorate 44(g_tTex1du4) DescriptorSet 0 - Decorate 56(g_tTex2df4) DescriptorSet 0 - Decorate 73(g_tTex2di4) DescriptorSet 0 - Decorate 87(g_tTex2du4) DescriptorSet 0 - Decorate 101(g_tTexcdf4) DescriptorSet 0 - Decorate 119(g_tTexcdi4) DescriptorSet 0 - Decorate 134(g_tTexcdu4) DescriptorSet 0 - Decorate 157(Color) Location 0 - Decorate 161(Depth) BuiltIn FragDepth - Decorate 167(g_tTex3df4) DescriptorSet 0 - Decorate 170(g_tTex3di4) DescriptorSet 0 - Decorate 173(g_tTex3du4) DescriptorSet 0 - Decorate 176(g_tTex1df4a) DescriptorSet 0 - Decorate 179(g_tTex1di4a) DescriptorSet 0 - Decorate 182(g_tTex1du4a) DescriptorSet 0 - Decorate 185(g_tTex2df4a) DescriptorSet 0 - Decorate 188(g_tTex2di4a) DescriptorSet 0 - Decorate 191(g_tTex2du4a) DescriptorSet 0 - Decorate 194(g_tTexcdf4a) DescriptorSet 0 - Decorate 197(g_tTexcdi4a) DescriptorSet 0 - Decorate 200(g_tTexcdu4a) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "r00" + Name 16 "g_tTex1df4" + Name 20 "g_sSamp" + Name 32 "r02" + Name 36 "g_tTex1di4" + Name 45 "r04" + Name 49 "g_tTex1du4" + Name 58 "r20" + Name 61 "g_tTex2df4" + Name 75 "r22" + Name 78 "g_tTex2di4" + Name 89 "r24" + Name 92 "g_tTex2du4" + Name 103 "r50" + Name 106 "g_tTexcdf4" + Name 120 "r52" + Name 123 "g_tTexcdi4" + Name 135 "r54" + Name 138 "g_tTexcdu4" + Name 151 "psout" + Name 162 "flattenTemp" + Name 165 "Color" + Name 169 "Depth" + Name 174 "g_tTex3df4" + Name 177 "g_tTex3di4" + Name 180 "g_tTex3du4" + Name 183 "g_tTex1df4a" + Name 186 "g_tTex1di4a" + Name 189 "g_tTex1du4a" + Name 192 "g_tTex2df4a" + Name 195 "g_tTex2di4a" + Name 198 "g_tTex2du4a" + Name 201 "g_tTexcdf4a" + Name 204 "g_tTexcdi4a" + Name 207 "g_tTexcdu4a" + Decorate 16(g_tTex1df4) DescriptorSet 0 + Decorate 16(g_tTex1df4) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 36(g_tTex1di4) DescriptorSet 0 + Decorate 49(g_tTex1du4) DescriptorSet 0 + Decorate 61(g_tTex2df4) DescriptorSet 0 + Decorate 78(g_tTex2di4) DescriptorSet 0 + Decorate 92(g_tTex2du4) DescriptorSet 0 + Decorate 106(g_tTexcdf4) DescriptorSet 0 + Decorate 123(g_tTexcdi4) DescriptorSet 0 + Decorate 138(g_tTexcdu4) DescriptorSet 0 + Decorate 165(Color) Location 0 + Decorate 169(Depth) BuiltIn FragDepth + Decorate 174(g_tTex3df4) DescriptorSet 0 + Decorate 177(g_tTex3di4) DescriptorSet 0 + Decorate 180(g_tTex3du4) DescriptorSet 0 + Decorate 183(g_tTex1df4a) DescriptorSet 0 + Decorate 186(g_tTex1di4a) DescriptorSet 0 + Decorate 189(g_tTex1du4a) DescriptorSet 0 + Decorate 192(g_tTex2df4a) DescriptorSet 0 + Decorate 195(g_tTex2di4a) DescriptorSet 0 + Decorate 198(g_tTex2du4a) DescriptorSet 0 + Decorate 201(g_tTexcdf4a) DescriptorSet 0 + Decorate 204(g_tTexcdi4a) DescriptorSet 0 + Decorate 207(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypePointer Function 6(float) - 9: TypeImage 6(float) 1D sampled format:Unknown - 10: TypePointer UniformConstant 9 - 11(g_tTex1df4): 10(ptr) Variable UniformConstant - 13: TypeSampler - 14: TypePointer UniformConstant 13 - 15(g_sSamp): 14(ptr) Variable UniformConstant - 17: TypeImage 6(float) 1D depth sampled format:Unknown - 18: TypeSampledImage 17 - 20: 6(float) Constant 1036831949 - 21: 6(float) Constant 1061158912 - 22: TypeVector 6(float) 2 - 24: 6(float) Constant 0 - 28: TypeInt 32 1 - 29: TypeImage 28(int) 1D sampled format:Unknown - 30: TypePointer UniformConstant 29 - 31(g_tTex1di4): 30(ptr) Variable UniformConstant - 34: TypeImage 28(int) 1D depth sampled format:Unknown - 35: TypeSampledImage 34 - 41: TypeInt 32 0 - 42: TypeImage 41(int) 1D sampled format:Unknown - 43: TypePointer UniformConstant 42 - 44(g_tTex1du4): 43(ptr) Variable UniformConstant - 47: TypeImage 41(int) 1D depth sampled format:Unknown - 48: TypeSampledImage 47 - 54: TypeImage 6(float) 2D sampled format:Unknown - 55: TypePointer UniformConstant 54 - 56(g_tTex2df4): 55(ptr) Variable UniformConstant - 59: TypeImage 6(float) 2D depth sampled format:Unknown - 60: TypeSampledImage 59 - 62: 6(float) Constant 1045220557 - 63: 22(fvec2) ConstantComposite 20 62 - 64: TypeVector 6(float) 3 - 71: TypeImage 28(int) 2D sampled format:Unknown - 72: TypePointer UniformConstant 71 - 73(g_tTex2di4): 72(ptr) Variable UniformConstant - 76: TypeImage 28(int) 2D depth sampled format:Unknown - 77: TypeSampledImage 76 - 85: TypeImage 41(int) 2D sampled format:Unknown - 86: TypePointer UniformConstant 85 - 87(g_tTex2du4): 86(ptr) Variable UniformConstant - 90: TypeImage 41(int) 2D depth sampled format:Unknown - 91: TypeSampledImage 90 - 99: TypeImage 6(float) Cube sampled format:Unknown - 100: TypePointer UniformConstant 99 - 101(g_tTexcdf4): 100(ptr) Variable UniformConstant - 104: TypeImage 6(float) Cube depth sampled format:Unknown - 105: TypeSampledImage 104 - 107: 6(float) Constant 1050253722 - 108: 64(fvec3) ConstantComposite 20 62 107 - 109: TypeVector 6(float) 4 - 117: TypeImage 28(int) Cube sampled format:Unknown - 118: TypePointer UniformConstant 117 - 119(g_tTexcdi4): 118(ptr) Variable UniformConstant - 122: TypeImage 28(int) Cube depth sampled format:Unknown - 123: TypeSampledImage 122 - 132: TypeImage 41(int) Cube sampled format:Unknown - 133: TypePointer UniformConstant 132 - 134(g_tTexcdu4): 133(ptr) Variable UniformConstant - 137: TypeImage 41(int) Cube depth sampled format:Unknown - 138: TypeSampledImage 137 - 146(PS_OUTPUT): TypeStruct 109(fvec4) 6(float) - 147: TypePointer Function 146(PS_OUTPUT) - 149: 28(int) Constant 0 - 150: 6(float) Constant 1065353216 - 151: 109(fvec4) ConstantComposite 150 150 150 150 - 152: TypePointer Function 109(fvec4) - 154: 28(int) Constant 1 - 156: TypePointer Output 109(fvec4) - 157(Color): 156(ptr) Variable Output - 160: TypePointer Output 6(float) - 161(Depth): 160(ptr) Variable Output - 165: TypeImage 6(float) 3D sampled format:Unknown - 166: TypePointer UniformConstant 165 - 167(g_tTex3df4): 166(ptr) Variable UniformConstant - 168: TypeImage 28(int) 3D sampled format:Unknown - 169: TypePointer UniformConstant 168 - 170(g_tTex3di4): 169(ptr) Variable UniformConstant - 171: TypeImage 41(int) 3D sampled format:Unknown - 172: TypePointer UniformConstant 171 - 173(g_tTex3du4): 172(ptr) Variable UniformConstant - 174: TypeImage 6(float) 1D array sampled format:Unknown - 175: TypePointer UniformConstant 174 -176(g_tTex1df4a): 175(ptr) Variable UniformConstant - 177: TypeImage 28(int) 1D array sampled format:Unknown - 178: TypePointer UniformConstant 177 -179(g_tTex1di4a): 178(ptr) Variable UniformConstant - 180: TypeImage 41(int) 1D array sampled format:Unknown - 181: TypePointer UniformConstant 180 -182(g_tTex1du4a): 181(ptr) Variable UniformConstant - 183: TypeImage 6(float) 2D array sampled format:Unknown - 184: TypePointer UniformConstant 183 -185(g_tTex2df4a): 184(ptr) Variable UniformConstant - 186: TypeImage 28(int) 2D array sampled format:Unknown - 187: TypePointer UniformConstant 186 -188(g_tTex2di4a): 187(ptr) Variable UniformConstant - 189: TypeImage 41(int) 2D array sampled format:Unknown - 190: TypePointer UniformConstant 189 -191(g_tTex2du4a): 190(ptr) Variable UniformConstant - 192: TypeImage 6(float) Cube array sampled format:Unknown - 193: TypePointer UniformConstant 192 -194(g_tTexcdf4a): 193(ptr) Variable UniformConstant - 195: TypeImage 28(int) Cube array sampled format:Unknown - 196: TypePointer UniformConstant 195 -197(g_tTexcdi4a): 196(ptr) Variable UniformConstant - 198: TypeImage 41(int) Cube array sampled format:Unknown - 199: TypePointer UniformConstant 198 -200(g_tTexcdu4a): 199(ptr) Variable UniformConstant + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 6(float) + 14: TypeImage 6(float) 1D sampled format:Unknown + 15: TypePointer UniformConstant 14 + 16(g_tTex1df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeImage 6(float) 1D depth sampled format:Unknown + 23: TypeSampledImage 22 + 25: 6(float) Constant 1036831949 + 26: 6(float) Constant 1061158912 + 27: TypeVector 6(float) 2 + 29: 6(float) Constant 0 + 33: TypeInt 32 1 + 34: TypeImage 33(int) 1D sampled format:Unknown + 35: TypePointer UniformConstant 34 + 36(g_tTex1di4): 35(ptr) Variable UniformConstant + 39: TypeImage 33(int) 1D depth sampled format:Unknown + 40: TypeSampledImage 39 + 46: TypeInt 32 0 + 47: TypeImage 46(int) 1D sampled format:Unknown + 48: TypePointer UniformConstant 47 + 49(g_tTex1du4): 48(ptr) Variable UniformConstant + 52: TypeImage 46(int) 1D depth sampled format:Unknown + 53: TypeSampledImage 52 + 59: TypeImage 6(float) 2D sampled format:Unknown + 60: TypePointer UniformConstant 59 + 61(g_tTex2df4): 60(ptr) Variable UniformConstant + 64: TypeImage 6(float) 2D depth sampled format:Unknown + 65: TypeSampledImage 64 + 67: 6(float) Constant 1045220557 + 68: 27(fvec2) ConstantComposite 25 67 + 69: TypeVector 6(float) 3 + 76: TypeImage 33(int) 2D sampled format:Unknown + 77: TypePointer UniformConstant 76 + 78(g_tTex2di4): 77(ptr) Variable UniformConstant + 81: TypeImage 33(int) 2D depth sampled format:Unknown + 82: TypeSampledImage 81 + 90: TypeImage 46(int) 2D sampled format:Unknown + 91: TypePointer UniformConstant 90 + 92(g_tTex2du4): 91(ptr) Variable UniformConstant + 95: TypeImage 46(int) 2D depth sampled format:Unknown + 96: TypeSampledImage 95 + 104: TypeImage 6(float) Cube sampled format:Unknown + 105: TypePointer UniformConstant 104 + 106(g_tTexcdf4): 105(ptr) Variable UniformConstant + 109: TypeImage 6(float) Cube depth sampled format:Unknown + 110: TypeSampledImage 109 + 112: 6(float) Constant 1050253722 + 113: 69(fvec3) ConstantComposite 25 67 112 + 121: TypeImage 33(int) Cube sampled format:Unknown + 122: TypePointer UniformConstant 121 + 123(g_tTexcdi4): 122(ptr) Variable UniformConstant + 126: TypeImage 33(int) Cube depth sampled format:Unknown + 127: TypeSampledImage 126 + 136: TypeImage 46(int) Cube sampled format:Unknown + 137: TypePointer UniformConstant 136 + 138(g_tTexcdu4): 137(ptr) Variable UniformConstant + 141: TypeImage 46(int) Cube depth sampled format:Unknown + 142: TypeSampledImage 141 + 150: TypePointer Function 8(PS_OUTPUT) + 152: 33(int) Constant 0 + 153: 6(float) Constant 1065353216 + 154: 7(fvec4) ConstantComposite 153 153 153 153 + 155: TypePointer Function 7(fvec4) + 157: 33(int) Constant 1 + 164: TypePointer Output 7(fvec4) + 165(Color): 164(ptr) Variable Output + 168: TypePointer Output 6(float) + 169(Depth): 168(ptr) Variable Output + 172: TypeImage 6(float) 3D sampled format:Unknown + 173: TypePointer UniformConstant 172 + 174(g_tTex3df4): 173(ptr) Variable UniformConstant + 175: TypeImage 33(int) 3D sampled format:Unknown + 176: TypePointer UniformConstant 175 + 177(g_tTex3di4): 176(ptr) Variable UniformConstant + 178: TypeImage 46(int) 3D sampled format:Unknown + 179: TypePointer UniformConstant 178 + 180(g_tTex3du4): 179(ptr) Variable UniformConstant + 181: TypeImage 6(float) 1D array sampled format:Unknown + 182: TypePointer UniformConstant 181 +183(g_tTex1df4a): 182(ptr) Variable UniformConstant + 184: TypeImage 33(int) 1D array sampled format:Unknown + 185: TypePointer UniformConstant 184 +186(g_tTex1di4a): 185(ptr) Variable UniformConstant + 187: TypeImage 46(int) 1D array sampled format:Unknown + 188: TypePointer UniformConstant 187 +189(g_tTex1du4a): 188(ptr) Variable UniformConstant + 190: TypeImage 6(float) 2D array sampled format:Unknown + 191: TypePointer UniformConstant 190 +192(g_tTex2df4a): 191(ptr) Variable UniformConstant + 193: TypeImage 33(int) 2D array sampled format:Unknown + 194: TypePointer UniformConstant 193 +195(g_tTex2di4a): 194(ptr) Variable UniformConstant + 196: TypeImage 46(int) 2D array sampled format:Unknown + 197: TypePointer UniformConstant 196 +198(g_tTex2du4a): 197(ptr) Variable UniformConstant + 199: TypeImage 6(float) Cube array sampled format:Unknown + 200: TypePointer UniformConstant 199 +201(g_tTexcdf4a): 200(ptr) Variable UniformConstant + 202: TypeImage 33(int) Cube array sampled format:Unknown + 203: TypePointer UniformConstant 202 +204(g_tTexcdi4a): 203(ptr) Variable UniformConstant + 205: TypeImage 46(int) Cube array sampled format:Unknown + 206: TypePointer UniformConstant 205 +207(g_tTexcdu4a): 206(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 8(r00): 7(ptr) Variable Function - 27(r02): 7(ptr) Variable Function - 40(r04): 7(ptr) Variable Function - 53(r20): 7(ptr) Variable Function - 70(r22): 7(ptr) Variable Function - 84(r24): 7(ptr) Variable Function - 98(r50): 7(ptr) Variable Function - 116(r52): 7(ptr) Variable Function - 131(r54): 7(ptr) Variable Function - 148(psout): 147(ptr) Variable Function - 12: 9 Load 11(g_tTex1df4) - 16: 13 Load 15(g_sSamp) - 19: 18 SampledImage 12 16 - 23: 22(fvec2) CompositeConstruct 20 21 - 25: 6(float) CompositeExtract 23 1 - 26: 6(float) ImageSampleDrefExplicitLod 19 23 25 Lod 24 - Store 8(r00) 26 - 32: 29 Load 31(g_tTex1di4) - 33: 13 Load 15(g_sSamp) - 36: 35 SampledImage 32 33 - 37: 22(fvec2) CompositeConstruct 20 21 - 38: 6(float) CompositeExtract 37 1 - 39: 6(float) ImageSampleDrefExplicitLod 36 37 38 Lod 24 - Store 27(r02) 39 - 45: 42 Load 44(g_tTex1du4) - 46: 13 Load 15(g_sSamp) - 49: 48 SampledImage 45 46 - 50: 22(fvec2) CompositeConstruct 20 21 - 51: 6(float) CompositeExtract 50 1 - 52: 6(float) ImageSampleDrefExplicitLod 49 50 51 Lod 24 - Store 40(r04) 52 - 57: 54 Load 56(g_tTex2df4) - 58: 13 Load 15(g_sSamp) - 61: 60 SampledImage 57 58 - 65: 6(float) CompositeExtract 63 0 - 66: 6(float) CompositeExtract 63 1 - 67: 64(fvec3) CompositeConstruct 65 66 21 - 68: 6(float) CompositeExtract 67 2 - 69: 6(float) ImageSampleDrefExplicitLod 61 67 68 Lod 24 - Store 53(r20) 69 - 74: 71 Load 73(g_tTex2di4) - 75: 13 Load 15(g_sSamp) - 78: 77 SampledImage 74 75 - 79: 6(float) CompositeExtract 63 0 - 80: 6(float) CompositeExtract 63 1 - 81: 64(fvec3) CompositeConstruct 79 80 21 - 82: 6(float) CompositeExtract 81 2 - 83: 6(float) ImageSampleDrefExplicitLod 78 81 82 Lod 24 - Store 70(r22) 83 - 88: 85 Load 87(g_tTex2du4) - 89: 13 Load 15(g_sSamp) - 92: 91 SampledImage 88 89 - 93: 6(float) CompositeExtract 63 0 - 94: 6(float) CompositeExtract 63 1 - 95: 64(fvec3) CompositeConstruct 93 94 21 - 96: 6(float) CompositeExtract 95 2 - 97: 6(float) ImageSampleDrefExplicitLod 92 95 96 Lod 24 - Store 84(r24) 97 - 102: 99 Load 101(g_tTexcdf4) - 103: 13 Load 15(g_sSamp) - 106: 105 SampledImage 102 103 - 110: 6(float) CompositeExtract 108 0 - 111: 6(float) CompositeExtract 108 1 - 112: 6(float) CompositeExtract 108 2 - 113: 109(fvec4) CompositeConstruct 110 111 112 21 - 114: 6(float) CompositeExtract 113 3 - 115: 6(float) ImageSampleDrefExplicitLod 106 113 114 Lod 24 - Store 98(r50) 115 - 120: 117 Load 119(g_tTexcdi4) - 121: 13 Load 15(g_sSamp) - 124: 123 SampledImage 120 121 - 125: 6(float) CompositeExtract 108 0 - 126: 6(float) CompositeExtract 108 1 - 127: 6(float) CompositeExtract 108 2 - 128: 109(fvec4) CompositeConstruct 125 126 127 21 - 129: 6(float) CompositeExtract 128 3 - 130: 6(float) ImageSampleDrefExplicitLod 124 128 129 Lod 24 - Store 116(r52) 130 - 135: 132 Load 134(g_tTexcdu4) - 136: 13 Load 15(g_sSamp) - 139: 138 SampledImage 135 136 - 140: 6(float) CompositeExtract 108 0 - 141: 6(float) CompositeExtract 108 1 - 142: 6(float) CompositeExtract 108 2 - 143: 109(fvec4) CompositeConstruct 140 141 142 21 - 144: 6(float) CompositeExtract 143 3 - 145: 6(float) ImageSampleDrefExplicitLod 139 143 144 Lod 24 - Store 131(r54) 145 - 153: 152(ptr) AccessChain 148(psout) 149 - Store 153 151 - 155: 7(ptr) AccessChain 148(psout) 154 - Store 155 150 - 158: 152(ptr) AccessChain 148(psout) 149 - 159: 109(fvec4) Load 158 - Store 157(Color) 159 - 162: 7(ptr) AccessChain 148(psout) 154 - 163: 6(float) Load 162 - Store 161(Depth) 163 +162(flattenTemp): 150(ptr) Variable Function + 163:8(PS_OUTPUT) FunctionCall 10(@main() + Store 162(flattenTemp) 163 + 166: 155(ptr) AccessChain 162(flattenTemp) 152 + 167: 7(fvec4) Load 166 + Store 165(Color) 167 + 170: 12(ptr) AccessChain 162(flattenTemp) 157 + 171: 6(float) Load 170 + Store 169(Depth) 171 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(r00): 12(ptr) Variable Function + 32(r02): 12(ptr) Variable Function + 45(r04): 12(ptr) Variable Function + 58(r20): 12(ptr) Variable Function + 75(r22): 12(ptr) Variable Function + 89(r24): 12(ptr) Variable Function + 103(r50): 12(ptr) Variable Function + 120(r52): 12(ptr) Variable Function + 135(r54): 12(ptr) Variable Function + 151(psout): 150(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4) + 21: 18 Load 20(g_sSamp) + 24: 23 SampledImage 17 21 + 28: 27(fvec2) CompositeConstruct 25 26 + 30: 6(float) CompositeExtract 28 1 + 31: 6(float) ImageSampleDrefExplicitLod 24 28 30 Lod 29 + Store 13(r00) 31 + 37: 34 Load 36(g_tTex1di4) + 38: 18 Load 20(g_sSamp) + 41: 40 SampledImage 37 38 + 42: 27(fvec2) CompositeConstruct 25 26 + 43: 6(float) CompositeExtract 42 1 + 44: 6(float) ImageSampleDrefExplicitLod 41 42 43 Lod 29 + Store 32(r02) 44 + 50: 47 Load 49(g_tTex1du4) + 51: 18 Load 20(g_sSamp) + 54: 53 SampledImage 50 51 + 55: 27(fvec2) CompositeConstruct 25 26 + 56: 6(float) CompositeExtract 55 1 + 57: 6(float) ImageSampleDrefExplicitLod 54 55 56 Lod 29 + Store 45(r04) 57 + 62: 59 Load 61(g_tTex2df4) + 63: 18 Load 20(g_sSamp) + 66: 65 SampledImage 62 63 + 70: 6(float) CompositeExtract 68 0 + 71: 6(float) CompositeExtract 68 1 + 72: 69(fvec3) CompositeConstruct 70 71 26 + 73: 6(float) CompositeExtract 72 2 + 74: 6(float) ImageSampleDrefExplicitLod 66 72 73 Lod 29 + Store 58(r20) 74 + 79: 76 Load 78(g_tTex2di4) + 80: 18 Load 20(g_sSamp) + 83: 82 SampledImage 79 80 + 84: 6(float) CompositeExtract 68 0 + 85: 6(float) CompositeExtract 68 1 + 86: 69(fvec3) CompositeConstruct 84 85 26 + 87: 6(float) CompositeExtract 86 2 + 88: 6(float) ImageSampleDrefExplicitLod 83 86 87 Lod 29 + Store 75(r22) 88 + 93: 90 Load 92(g_tTex2du4) + 94: 18 Load 20(g_sSamp) + 97: 96 SampledImage 93 94 + 98: 6(float) CompositeExtract 68 0 + 99: 6(float) CompositeExtract 68 1 + 100: 69(fvec3) CompositeConstruct 98 99 26 + 101: 6(float) CompositeExtract 100 2 + 102: 6(float) ImageSampleDrefExplicitLod 97 100 101 Lod 29 + Store 89(r24) 102 + 107: 104 Load 106(g_tTexcdf4) + 108: 18 Load 20(g_sSamp) + 111: 110 SampledImage 107 108 + 114: 6(float) CompositeExtract 113 0 + 115: 6(float) CompositeExtract 113 1 + 116: 6(float) CompositeExtract 113 2 + 117: 7(fvec4) CompositeConstruct 114 115 116 26 + 118: 6(float) CompositeExtract 117 3 + 119: 6(float) ImageSampleDrefExplicitLod 111 117 118 Lod 29 + Store 103(r50) 119 + 124: 121 Load 123(g_tTexcdi4) + 125: 18 Load 20(g_sSamp) + 128: 127 SampledImage 124 125 + 129: 6(float) CompositeExtract 113 0 + 130: 6(float) CompositeExtract 113 1 + 131: 6(float) CompositeExtract 113 2 + 132: 7(fvec4) CompositeConstruct 129 130 131 26 + 133: 6(float) CompositeExtract 132 3 + 134: 6(float) ImageSampleDrefExplicitLod 128 132 133 Lod 29 + Store 120(r52) 134 + 139: 136 Load 138(g_tTexcdu4) + 140: 18 Load 20(g_sSamp) + 143: 142 SampledImage 139 140 + 144: 6(float) CompositeExtract 113 0 + 145: 6(float) CompositeExtract 113 1 + 146: 6(float) CompositeExtract 113 2 + 147: 7(fvec4) CompositeConstruct 144 145 146 26 + 148: 6(float) CompositeExtract 147 3 + 149: 6(float) ImageSampleDrefExplicitLod 143 147 148 Lod 29 + Store 135(r54) 149 + 156: 155(ptr) AccessChain 151(psout) 152 + Store 156 154 + 158: 12(ptr) AccessChain 151(psout) 157 + Store 158 153 + 159:8(PS_OUTPUT) Load 151(psout) + ReturnValue 159 + FunctionEnd diff --git a/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out index 216ed419..5696c68f 100644 --- a/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.samplecmplevelzero.offset.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:38 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:38 Function Parameters: 0:? Sequence 0:42 Sequence @@ -124,24 +124,28 @@ gl_FragCoord origin is upper left 0:63 1 (const int) 0:63 Constant: 0:63 1.000000 -0:65 Sequence -0:65 Sequence -0:65 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:65 Color: direct index for structure (temp 4-component vector of float) -0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:65 Constant: -0:65 0 (const int) -0:65 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:65 Depth: direct index for structure (temp float) -0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:65 Constant: -0:65 1 (const int) -0:65 Branch: Return +0:65 Branch: Return with expression +0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: main( (temp void) +0:38 Function Parameters: +0:? Sequence +0:38 Sequence +0:38 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:38 Color: direct index for structure (temp 4-component vector of float) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 0 (const int) +0:38 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:38 Depth: direct index for structure (temp float) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -164,6 +168,8 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -172,7 +178,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:38 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:38 Function Parameters: 0:? Sequence 0:42 Sequence @@ -294,24 +300,28 @@ gl_FragCoord origin is upper left 0:63 1 (const int) 0:63 Constant: 0:63 1.000000 -0:65 Sequence -0:65 Sequence -0:65 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:65 Color: direct index for structure (temp 4-component vector of float) -0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:65 Constant: -0:65 0 (const int) -0:65 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:65 Depth: direct index for structure (temp float) -0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:65 Constant: -0:65 1 (const int) -0:65 Branch: Return +0:65 Branch: Return with expression +0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: main( (temp void) +0:38 Function Parameters: +0:? Sequence +0:38 Sequence +0:38 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:38 Color: direct index for structure (temp 4-component vector of float) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 0 (const int) +0:38 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:38 Depth: direct index for structure (temp float) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -334,252 +344,265 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +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 167 +// Id's are bound by 174 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 114 118 + EntryPoint Fragment 4 "main" 122 126 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "r01" - Name 11 "g_tTex1df4" - Name 15 "g_sSamp" - Name 29 "r03" - Name 32 "g_tTex1di4" - Name 41 "r05" - Name 45 "g_tTex1du4" - Name 54 "r21" - Name 57 "g_tTex2df4" - Name 74 "r23" - Name 77 "g_tTex2di4" - Name 88 "r25" - Name 91 "g_tTex2du4" - Name 103 "PS_OUTPUT" - MemberName 103(PS_OUTPUT) 0 "Color" - MemberName 103(PS_OUTPUT) 1 "Depth" - Name 105 "psout" - Name 114 "Color" - Name 118 "Depth" - Name 124 "g_tTex3df4" - Name 127 "g_tTex3di4" - Name 130 "g_tTex3du4" - Name 133 "g_tTexcdf4" - Name 136 "g_tTexcdi4" - Name 139 "g_tTexcdu4" - Name 142 "g_tTex1df4a" - Name 145 "g_tTex1di4a" - Name 148 "g_tTex1du4a" - Name 151 "g_tTex2df4a" - Name 154 "g_tTex2di4a" - Name 157 "g_tTex2du4a" - Name 160 "g_tTexcdf4a" - Name 163 "g_tTexcdi4a" - Name 166 "g_tTexcdu4a" - Decorate 11(g_tTex1df4) DescriptorSet 0 - Decorate 11(g_tTex1df4) Binding 0 - Decorate 15(g_sSamp) DescriptorSet 0 - Decorate 15(g_sSamp) Binding 0 - Decorate 32(g_tTex1di4) DescriptorSet 0 - Decorate 45(g_tTex1du4) DescriptorSet 0 - Decorate 57(g_tTex2df4) DescriptorSet 0 - Decorate 77(g_tTex2di4) DescriptorSet 0 - Decorate 91(g_tTex2du4) DescriptorSet 0 - Decorate 114(Color) Location 0 - Decorate 118(Depth) BuiltIn FragDepth - Decorate 124(g_tTex3df4) DescriptorSet 0 - Decorate 127(g_tTex3di4) DescriptorSet 0 - Decorate 130(g_tTex3du4) DescriptorSet 0 - Decorate 133(g_tTexcdf4) DescriptorSet 0 - Decorate 136(g_tTexcdi4) DescriptorSet 0 - Decorate 139(g_tTexcdu4) DescriptorSet 0 - Decorate 142(g_tTex1df4a) DescriptorSet 0 - Decorate 145(g_tTex1di4a) DescriptorSet 0 - Decorate 148(g_tTex1du4a) DescriptorSet 0 - Decorate 151(g_tTex2df4a) DescriptorSet 0 - Decorate 154(g_tTex2di4a) DescriptorSet 0 - Decorate 157(g_tTex2du4a) DescriptorSet 0 - Decorate 160(g_tTexcdf4a) DescriptorSet 0 - Decorate 163(g_tTexcdi4a) DescriptorSet 0 - Decorate 166(g_tTexcdu4a) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "r01" + Name 16 "g_tTex1df4" + Name 20 "g_sSamp" + Name 34 "r03" + Name 37 "g_tTex1di4" + Name 46 "r05" + Name 50 "g_tTex1du4" + Name 59 "r21" + Name 62 "g_tTex2df4" + Name 79 "r23" + Name 82 "g_tTex2di4" + Name 93 "r25" + Name 96 "g_tTex2du4" + Name 108 "psout" + Name 119 "flattenTemp" + Name 122 "Color" + Name 126 "Depth" + Name 131 "g_tTex3df4" + Name 134 "g_tTex3di4" + Name 137 "g_tTex3du4" + Name 140 "g_tTexcdf4" + Name 143 "g_tTexcdi4" + Name 146 "g_tTexcdu4" + Name 149 "g_tTex1df4a" + Name 152 "g_tTex1di4a" + Name 155 "g_tTex1du4a" + Name 158 "g_tTex2df4a" + Name 161 "g_tTex2di4a" + Name 164 "g_tTex2du4a" + Name 167 "g_tTexcdf4a" + Name 170 "g_tTexcdi4a" + Name 173 "g_tTexcdu4a" + Decorate 16(g_tTex1df4) DescriptorSet 0 + Decorate 16(g_tTex1df4) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 37(g_tTex1di4) DescriptorSet 0 + Decorate 50(g_tTex1du4) DescriptorSet 0 + Decorate 62(g_tTex2df4) DescriptorSet 0 + Decorate 82(g_tTex2di4) DescriptorSet 0 + Decorate 96(g_tTex2du4) DescriptorSet 0 + Decorate 122(Color) Location 0 + Decorate 126(Depth) BuiltIn FragDepth + Decorate 131(g_tTex3df4) DescriptorSet 0 + Decorate 134(g_tTex3di4) DescriptorSet 0 + Decorate 137(g_tTex3du4) DescriptorSet 0 + Decorate 140(g_tTexcdf4) DescriptorSet 0 + Decorate 143(g_tTexcdi4) DescriptorSet 0 + Decorate 146(g_tTexcdu4) DescriptorSet 0 + Decorate 149(g_tTex1df4a) DescriptorSet 0 + Decorate 152(g_tTex1di4a) DescriptorSet 0 + Decorate 155(g_tTex1du4a) DescriptorSet 0 + Decorate 158(g_tTex2df4a) DescriptorSet 0 + Decorate 161(g_tTex2di4a) DescriptorSet 0 + Decorate 164(g_tTex2du4a) DescriptorSet 0 + Decorate 167(g_tTexcdf4a) DescriptorSet 0 + Decorate 170(g_tTexcdi4a) DescriptorSet 0 + Decorate 173(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypePointer Function 6(float) - 9: TypeImage 6(float) 1D sampled format:Unknown - 10: TypePointer UniformConstant 9 - 11(g_tTex1df4): 10(ptr) Variable UniformConstant - 13: TypeSampler - 14: TypePointer UniformConstant 13 - 15(g_sSamp): 14(ptr) Variable UniformConstant - 17: TypeImage 6(float) 1D depth sampled format:Unknown - 18: TypeSampledImage 17 - 20: 6(float) Constant 1036831949 - 21: 6(float) Constant 1061158912 - 22: TypeVector 6(float) 2 - 24: 6(float) Constant 0 - 25: TypeInt 32 1 - 26: 25(int) Constant 2 - 30: TypeImage 25(int) 1D sampled format:Unknown - 31: TypePointer UniformConstant 30 - 32(g_tTex1di4): 31(ptr) Variable UniformConstant - 35: TypeImage 25(int) 1D depth sampled format:Unknown - 36: TypeSampledImage 35 - 42: TypeInt 32 0 - 43: TypeImage 42(int) 1D sampled format:Unknown - 44: TypePointer UniformConstant 43 - 45(g_tTex1du4): 44(ptr) Variable UniformConstant - 48: TypeImage 42(int) 1D depth sampled format:Unknown - 49: TypeSampledImage 48 - 55: TypeImage 6(float) 2D sampled format:Unknown - 56: TypePointer UniformConstant 55 - 57(g_tTex2df4): 56(ptr) Variable UniformConstant - 60: TypeImage 6(float) 2D depth sampled format:Unknown - 61: TypeSampledImage 60 - 63: 6(float) Constant 1045220557 - 64: 22(fvec2) ConstantComposite 20 63 - 65: TypeVector 6(float) 3 - 69: TypeVector 25(int) 2 - 70: 25(int) Constant 3 - 71: 69(ivec2) ConstantComposite 26 70 - 75: TypeImage 25(int) 2D sampled format:Unknown - 76: TypePointer UniformConstant 75 - 77(g_tTex2di4): 76(ptr) Variable UniformConstant - 80: TypeImage 25(int) 2D depth sampled format:Unknown - 81: TypeSampledImage 80 - 89: TypeImage 42(int) 2D sampled format:Unknown - 90: TypePointer UniformConstant 89 - 91(g_tTex2du4): 90(ptr) Variable UniformConstant - 94: TypeImage 42(int) 2D depth sampled format:Unknown - 95: TypeSampledImage 94 - 102: TypeVector 6(float) 4 - 103(PS_OUTPUT): TypeStruct 102(fvec4) 6(float) - 104: TypePointer Function 103(PS_OUTPUT) - 106: 25(int) Constant 0 - 107: 6(float) Constant 1065353216 - 108: 102(fvec4) ConstantComposite 107 107 107 107 - 109: TypePointer Function 102(fvec4) - 111: 25(int) Constant 1 - 113: TypePointer Output 102(fvec4) - 114(Color): 113(ptr) Variable Output - 117: TypePointer Output 6(float) - 118(Depth): 117(ptr) Variable Output - 122: TypeImage 6(float) 3D sampled format:Unknown - 123: TypePointer UniformConstant 122 - 124(g_tTex3df4): 123(ptr) Variable UniformConstant - 125: TypeImage 25(int) 3D sampled format:Unknown - 126: TypePointer UniformConstant 125 - 127(g_tTex3di4): 126(ptr) Variable UniformConstant - 128: TypeImage 42(int) 3D sampled format:Unknown - 129: TypePointer UniformConstant 128 - 130(g_tTex3du4): 129(ptr) Variable UniformConstant - 131: TypeImage 6(float) Cube sampled format:Unknown - 132: TypePointer UniformConstant 131 - 133(g_tTexcdf4): 132(ptr) Variable UniformConstant - 134: TypeImage 25(int) Cube sampled format:Unknown - 135: TypePointer UniformConstant 134 - 136(g_tTexcdi4): 135(ptr) Variable UniformConstant - 137: TypeImage 42(int) Cube sampled format:Unknown - 138: TypePointer UniformConstant 137 - 139(g_tTexcdu4): 138(ptr) Variable UniformConstant - 140: TypeImage 6(float) 1D array sampled format:Unknown - 141: TypePointer UniformConstant 140 -142(g_tTex1df4a): 141(ptr) Variable UniformConstant - 143: TypeImage 25(int) 1D array sampled format:Unknown - 144: TypePointer UniformConstant 143 -145(g_tTex1di4a): 144(ptr) Variable UniformConstant - 146: TypeImage 42(int) 1D array sampled format:Unknown - 147: TypePointer UniformConstant 146 -148(g_tTex1du4a): 147(ptr) Variable UniformConstant - 149: TypeImage 6(float) 2D array sampled format:Unknown - 150: TypePointer UniformConstant 149 -151(g_tTex2df4a): 150(ptr) Variable UniformConstant - 152: TypeImage 25(int) 2D array sampled format:Unknown - 153: TypePointer UniformConstant 152 -154(g_tTex2di4a): 153(ptr) Variable UniformConstant - 155: TypeImage 42(int) 2D array sampled format:Unknown - 156: TypePointer UniformConstant 155 -157(g_tTex2du4a): 156(ptr) Variable UniformConstant - 158: TypeImage 6(float) Cube array sampled format:Unknown - 159: TypePointer UniformConstant 158 -160(g_tTexcdf4a): 159(ptr) Variable UniformConstant - 161: TypeImage 25(int) Cube array sampled format:Unknown - 162: TypePointer UniformConstant 161 -163(g_tTexcdi4a): 162(ptr) Variable UniformConstant - 164: TypeImage 42(int) Cube array sampled format:Unknown - 165: TypePointer UniformConstant 164 -166(g_tTexcdu4a): 165(ptr) Variable UniformConstant + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 6(float) + 14: TypeImage 6(float) 1D sampled format:Unknown + 15: TypePointer UniformConstant 14 + 16(g_tTex1df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeImage 6(float) 1D depth sampled format:Unknown + 23: TypeSampledImage 22 + 25: 6(float) Constant 1036831949 + 26: 6(float) Constant 1061158912 + 27: TypeVector 6(float) 2 + 29: 6(float) Constant 0 + 30: TypeInt 32 1 + 31: 30(int) Constant 2 + 35: TypeImage 30(int) 1D sampled format:Unknown + 36: TypePointer UniformConstant 35 + 37(g_tTex1di4): 36(ptr) Variable UniformConstant + 40: TypeImage 30(int) 1D depth sampled format:Unknown + 41: TypeSampledImage 40 + 47: TypeInt 32 0 + 48: TypeImage 47(int) 1D sampled format:Unknown + 49: TypePointer UniformConstant 48 + 50(g_tTex1du4): 49(ptr) Variable UniformConstant + 53: TypeImage 47(int) 1D depth sampled format:Unknown + 54: TypeSampledImage 53 + 60: TypeImage 6(float) 2D sampled format:Unknown + 61: TypePointer UniformConstant 60 + 62(g_tTex2df4): 61(ptr) Variable UniformConstant + 65: TypeImage 6(float) 2D depth sampled format:Unknown + 66: TypeSampledImage 65 + 68: 6(float) Constant 1045220557 + 69: 27(fvec2) ConstantComposite 25 68 + 70: TypeVector 6(float) 3 + 74: TypeVector 30(int) 2 + 75: 30(int) Constant 3 + 76: 74(ivec2) ConstantComposite 31 75 + 80: TypeImage 30(int) 2D sampled format:Unknown + 81: TypePointer UniformConstant 80 + 82(g_tTex2di4): 81(ptr) Variable UniformConstant + 85: TypeImage 30(int) 2D depth sampled format:Unknown + 86: TypeSampledImage 85 + 94: TypeImage 47(int) 2D sampled format:Unknown + 95: TypePointer UniformConstant 94 + 96(g_tTex2du4): 95(ptr) Variable UniformConstant + 99: TypeImage 47(int) 2D depth sampled format:Unknown + 100: TypeSampledImage 99 + 107: TypePointer Function 8(PS_OUTPUT) + 109: 30(int) Constant 0 + 110: 6(float) Constant 1065353216 + 111: 7(fvec4) ConstantComposite 110 110 110 110 + 112: TypePointer Function 7(fvec4) + 114: 30(int) Constant 1 + 121: TypePointer Output 7(fvec4) + 122(Color): 121(ptr) Variable Output + 125: TypePointer Output 6(float) + 126(Depth): 125(ptr) Variable Output + 129: TypeImage 6(float) 3D sampled format:Unknown + 130: TypePointer UniformConstant 129 + 131(g_tTex3df4): 130(ptr) Variable UniformConstant + 132: TypeImage 30(int) 3D sampled format:Unknown + 133: TypePointer UniformConstant 132 + 134(g_tTex3di4): 133(ptr) Variable UniformConstant + 135: TypeImage 47(int) 3D sampled format:Unknown + 136: TypePointer UniformConstant 135 + 137(g_tTex3du4): 136(ptr) Variable UniformConstant + 138: TypeImage 6(float) Cube sampled format:Unknown + 139: TypePointer UniformConstant 138 + 140(g_tTexcdf4): 139(ptr) Variable UniformConstant + 141: TypeImage 30(int) Cube sampled format:Unknown + 142: TypePointer UniformConstant 141 + 143(g_tTexcdi4): 142(ptr) Variable UniformConstant + 144: TypeImage 47(int) Cube sampled format:Unknown + 145: TypePointer UniformConstant 144 + 146(g_tTexcdu4): 145(ptr) Variable UniformConstant + 147: TypeImage 6(float) 1D array sampled format:Unknown + 148: TypePointer UniformConstant 147 +149(g_tTex1df4a): 148(ptr) Variable UniformConstant + 150: TypeImage 30(int) 1D array sampled format:Unknown + 151: TypePointer UniformConstant 150 +152(g_tTex1di4a): 151(ptr) Variable UniformConstant + 153: TypeImage 47(int) 1D array sampled format:Unknown + 154: TypePointer UniformConstant 153 +155(g_tTex1du4a): 154(ptr) Variable UniformConstant + 156: TypeImage 6(float) 2D array sampled format:Unknown + 157: TypePointer UniformConstant 156 +158(g_tTex2df4a): 157(ptr) Variable UniformConstant + 159: TypeImage 30(int) 2D array sampled format:Unknown + 160: TypePointer UniformConstant 159 +161(g_tTex2di4a): 160(ptr) Variable UniformConstant + 162: TypeImage 47(int) 2D array sampled format:Unknown + 163: TypePointer UniformConstant 162 +164(g_tTex2du4a): 163(ptr) Variable UniformConstant + 165: TypeImage 6(float) Cube array sampled format:Unknown + 166: TypePointer UniformConstant 165 +167(g_tTexcdf4a): 166(ptr) Variable UniformConstant + 168: TypeImage 30(int) Cube array sampled format:Unknown + 169: TypePointer UniformConstant 168 +170(g_tTexcdi4a): 169(ptr) Variable UniformConstant + 171: TypeImage 47(int) Cube array sampled format:Unknown + 172: TypePointer UniformConstant 171 +173(g_tTexcdu4a): 172(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 8(r01): 7(ptr) Variable Function - 29(r03): 7(ptr) Variable Function - 41(r05): 7(ptr) Variable Function - 54(r21): 7(ptr) Variable Function - 74(r23): 7(ptr) Variable Function - 88(r25): 7(ptr) Variable Function - 105(psout): 104(ptr) Variable Function - 12: 9 Load 11(g_tTex1df4) - 16: 13 Load 15(g_sSamp) - 19: 18 SampledImage 12 16 - 23: 22(fvec2) CompositeConstruct 20 21 - 27: 6(float) CompositeExtract 23 1 - 28: 6(float) ImageSampleDrefExplicitLod 19 23 27 Lod ConstOffset 24 26 - Store 8(r01) 28 - 33: 30 Load 32(g_tTex1di4) - 34: 13 Load 15(g_sSamp) - 37: 36 SampledImage 33 34 - 38: 22(fvec2) CompositeConstruct 20 21 - 39: 6(float) CompositeExtract 38 1 - 40: 6(float) ImageSampleDrefExplicitLod 37 38 39 Lod ConstOffset 24 26 - Store 29(r03) 40 - 46: 43 Load 45(g_tTex1du4) - 47: 13 Load 15(g_sSamp) - 50: 49 SampledImage 46 47 - 51: 22(fvec2) CompositeConstruct 20 21 - 52: 6(float) CompositeExtract 51 1 - 53: 6(float) ImageSampleDrefExplicitLod 50 51 52 Lod ConstOffset 24 26 - Store 41(r05) 53 - 58: 55 Load 57(g_tTex2df4) - 59: 13 Load 15(g_sSamp) - 62: 61 SampledImage 58 59 - 66: 6(float) CompositeExtract 64 0 - 67: 6(float) CompositeExtract 64 1 - 68: 65(fvec3) CompositeConstruct 66 67 21 - 72: 6(float) CompositeExtract 68 2 - 73: 6(float) ImageSampleDrefExplicitLod 62 68 72 Lod ConstOffset 24 71 - Store 54(r21) 73 - 78: 75 Load 77(g_tTex2di4) - 79: 13 Load 15(g_sSamp) - 82: 81 SampledImage 78 79 - 83: 6(float) CompositeExtract 64 0 - 84: 6(float) CompositeExtract 64 1 - 85: 65(fvec3) CompositeConstruct 83 84 21 - 86: 6(float) CompositeExtract 85 2 - 87: 6(float) ImageSampleDrefExplicitLod 82 85 86 Lod ConstOffset 24 71 - Store 74(r23) 87 - 92: 89 Load 91(g_tTex2du4) - 93: 13 Load 15(g_sSamp) - 96: 95 SampledImage 92 93 - 97: 6(float) CompositeExtract 64 0 - 98: 6(float) CompositeExtract 64 1 - 99: 65(fvec3) CompositeConstruct 97 98 21 - 100: 6(float) CompositeExtract 99 2 - 101: 6(float) ImageSampleDrefExplicitLod 96 99 100 Lod ConstOffset 24 71 - Store 88(r25) 101 - 110: 109(ptr) AccessChain 105(psout) 106 - Store 110 108 - 112: 7(ptr) AccessChain 105(psout) 111 - Store 112 107 - 115: 109(ptr) AccessChain 105(psout) 106 - 116: 102(fvec4) Load 115 - Store 114(Color) 116 - 119: 7(ptr) AccessChain 105(psout) 111 - 120: 6(float) Load 119 - Store 118(Depth) 120 +119(flattenTemp): 107(ptr) Variable Function + 120:8(PS_OUTPUT) FunctionCall 10(@main() + Store 119(flattenTemp) 120 + 123: 112(ptr) AccessChain 119(flattenTemp) 109 + 124: 7(fvec4) Load 123 + Store 122(Color) 124 + 127: 12(ptr) AccessChain 119(flattenTemp) 114 + 128: 6(float) Load 127 + Store 126(Depth) 128 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(r01): 12(ptr) Variable Function + 34(r03): 12(ptr) Variable Function + 46(r05): 12(ptr) Variable Function + 59(r21): 12(ptr) Variable Function + 79(r23): 12(ptr) Variable Function + 93(r25): 12(ptr) Variable Function + 108(psout): 107(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4) + 21: 18 Load 20(g_sSamp) + 24: 23 SampledImage 17 21 + 28: 27(fvec2) CompositeConstruct 25 26 + 32: 6(float) CompositeExtract 28 1 + 33: 6(float) ImageSampleDrefExplicitLod 24 28 32 Lod ConstOffset 29 31 + Store 13(r01) 33 + 38: 35 Load 37(g_tTex1di4) + 39: 18 Load 20(g_sSamp) + 42: 41 SampledImage 38 39 + 43: 27(fvec2) CompositeConstruct 25 26 + 44: 6(float) CompositeExtract 43 1 + 45: 6(float) ImageSampleDrefExplicitLod 42 43 44 Lod ConstOffset 29 31 + Store 34(r03) 45 + 51: 48 Load 50(g_tTex1du4) + 52: 18 Load 20(g_sSamp) + 55: 54 SampledImage 51 52 + 56: 27(fvec2) CompositeConstruct 25 26 + 57: 6(float) CompositeExtract 56 1 + 58: 6(float) ImageSampleDrefExplicitLod 55 56 57 Lod ConstOffset 29 31 + Store 46(r05) 58 + 63: 60 Load 62(g_tTex2df4) + 64: 18 Load 20(g_sSamp) + 67: 66 SampledImage 63 64 + 71: 6(float) CompositeExtract 69 0 + 72: 6(float) CompositeExtract 69 1 + 73: 70(fvec3) CompositeConstruct 71 72 26 + 77: 6(float) CompositeExtract 73 2 + 78: 6(float) ImageSampleDrefExplicitLod 67 73 77 Lod ConstOffset 29 76 + Store 59(r21) 78 + 83: 80 Load 82(g_tTex2di4) + 84: 18 Load 20(g_sSamp) + 87: 86 SampledImage 83 84 + 88: 6(float) CompositeExtract 69 0 + 89: 6(float) CompositeExtract 69 1 + 90: 70(fvec3) CompositeConstruct 88 89 26 + 91: 6(float) CompositeExtract 90 2 + 92: 6(float) ImageSampleDrefExplicitLod 87 90 91 Lod ConstOffset 29 76 + Store 79(r23) 92 + 97: 94 Load 96(g_tTex2du4) + 98: 18 Load 20(g_sSamp) + 101: 100 SampledImage 97 98 + 102: 6(float) CompositeExtract 69 0 + 103: 6(float) CompositeExtract 69 1 + 104: 70(fvec3) CompositeConstruct 102 103 26 + 105: 6(float) CompositeExtract 104 2 + 106: 6(float) ImageSampleDrefExplicitLod 101 104 105 Lod ConstOffset 29 76 + Store 93(r25) 106 + 113: 112(ptr) AccessChain 108(psout) 109 + Store 113 111 + 115: 12(ptr) AccessChain 108(psout) 114 + Store 115 110 + 116:8(PS_OUTPUT) Load 108(psout) + ReturnValue 116 + FunctionEnd diff --git a/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out index 2e5f3cda..8b6d9e0e 100644 --- a/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.samplecmplevelzero.offsetarray.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:38 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:38 Function Parameters: 0:? Sequence 0:42 Sequence @@ -130,24 +130,28 @@ gl_FragCoord origin is upper left 0:64 1 (const int) 0:64 Constant: 0:64 1.000000 -0:66 Sequence -0:66 Sequence -0:66 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:66 Color: direct index for structure (temp 4-component vector of float) -0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:66 Constant: -0:66 0 (const int) -0:66 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:66 Depth: direct index for structure (temp float) -0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:66 Constant: -0:66 1 (const int) -0:66 Branch: Return +0:66 Branch: Return with expression +0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: main( (temp void) +0:38 Function Parameters: +0:? Sequence +0:38 Sequence +0:38 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:38 Color: direct index for structure (temp 4-component vector of float) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 0 (const int) +0:38 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:38 Depth: direct index for structure (temp float) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -170,6 +174,8 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -178,7 +184,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:38 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:38 Function Parameters: 0:? Sequence 0:42 Sequence @@ -306,24 +312,28 @@ gl_FragCoord origin is upper left 0:64 1 (const int) 0:64 Constant: 0:64 1.000000 -0:66 Sequence -0:66 Sequence -0:66 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:66 Color: direct index for structure (temp 4-component vector of float) -0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:66 Constant: -0:66 0 (const int) -0:66 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:66 Depth: direct index for structure (temp float) -0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:66 Constant: -0:66 1 (const int) -0:66 Branch: Return +0:66 Branch: Return with expression +0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: main( (temp void) +0:38 Function Parameters: +0:? Sequence +0:38 Sequence +0:38 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:38 Color: direct index for structure (temp 4-component vector of float) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 0 (const int) +0:38 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:38 Depth: direct index for structure (temp float) +0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -346,263 +356,276 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +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 178 +// Id's are bound by 185 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 125 129 + EntryPoint Fragment 4 "main" 133 137 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "r11" - Name 11 "g_tTex1df4a" - Name 15 "g_sSamp" - Name 34 "r13" - Name 37 "g_tTex1di4a" - Name 48 "r15" - Name 52 "g_tTex1du4a" - Name 63 "r31" - Name 66 "g_tTex2df4a" - Name 84 "r33" - Name 87 "g_tTex2di4a" - Name 99 "r35" - Name 102 "g_tTex2du4a" - Name 114 "PS_OUTPUT" - MemberName 114(PS_OUTPUT) 0 "Color" - MemberName 114(PS_OUTPUT) 1 "Depth" - Name 116 "psout" - Name 125 "Color" - Name 129 "Depth" - Name 135 "g_tTex1df4" - Name 138 "g_tTex1di4" - Name 141 "g_tTex1du4" - Name 144 "g_tTex2df4" - Name 147 "g_tTex2di4" - Name 150 "g_tTex2du4" - Name 153 "g_tTex3df4" - Name 156 "g_tTex3di4" - Name 159 "g_tTex3du4" - Name 162 "g_tTexcdf4" - Name 165 "g_tTexcdi4" - Name 168 "g_tTexcdu4" - Name 171 "g_tTexcdf4a" - Name 174 "g_tTexcdi4a" - Name 177 "g_tTexcdu4a" - Decorate 11(g_tTex1df4a) DescriptorSet 0 - Decorate 15(g_sSamp) DescriptorSet 0 - Decorate 15(g_sSamp) Binding 0 - Decorate 37(g_tTex1di4a) DescriptorSet 0 - Decorate 52(g_tTex1du4a) DescriptorSet 0 - Decorate 66(g_tTex2df4a) DescriptorSet 0 - Decorate 87(g_tTex2di4a) DescriptorSet 0 - Decorate 102(g_tTex2du4a) DescriptorSet 0 - Decorate 125(Color) Location 0 - Decorate 129(Depth) BuiltIn FragDepth - Decorate 135(g_tTex1df4) DescriptorSet 0 - Decorate 135(g_tTex1df4) Binding 0 - Decorate 138(g_tTex1di4) DescriptorSet 0 - Decorate 141(g_tTex1du4) DescriptorSet 0 - Decorate 144(g_tTex2df4) DescriptorSet 0 - Decorate 147(g_tTex2di4) DescriptorSet 0 - Decorate 150(g_tTex2du4) DescriptorSet 0 - Decorate 153(g_tTex3df4) DescriptorSet 0 - Decorate 156(g_tTex3di4) DescriptorSet 0 - Decorate 159(g_tTex3du4) DescriptorSet 0 - Decorate 162(g_tTexcdf4) DescriptorSet 0 - Decorate 165(g_tTexcdi4) DescriptorSet 0 - Decorate 168(g_tTexcdu4) DescriptorSet 0 - Decorate 171(g_tTexcdf4a) DescriptorSet 0 - Decorate 174(g_tTexcdi4a) DescriptorSet 0 - Decorate 177(g_tTexcdu4a) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "r11" + Name 16 "g_tTex1df4a" + Name 20 "g_sSamp" + Name 39 "r13" + Name 42 "g_tTex1di4a" + Name 53 "r15" + Name 57 "g_tTex1du4a" + Name 68 "r31" + Name 71 "g_tTex2df4a" + Name 88 "r33" + Name 91 "g_tTex2di4a" + Name 103 "r35" + Name 106 "g_tTex2du4a" + Name 119 "psout" + Name 130 "flattenTemp" + Name 133 "Color" + Name 137 "Depth" + Name 142 "g_tTex1df4" + Name 145 "g_tTex1di4" + Name 148 "g_tTex1du4" + Name 151 "g_tTex2df4" + Name 154 "g_tTex2di4" + Name 157 "g_tTex2du4" + Name 160 "g_tTex3df4" + Name 163 "g_tTex3di4" + Name 166 "g_tTex3du4" + Name 169 "g_tTexcdf4" + Name 172 "g_tTexcdi4" + Name 175 "g_tTexcdu4" + Name 178 "g_tTexcdf4a" + Name 181 "g_tTexcdi4a" + Name 184 "g_tTexcdu4a" + Decorate 16(g_tTex1df4a) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 42(g_tTex1di4a) DescriptorSet 0 + Decorate 57(g_tTex1du4a) DescriptorSet 0 + Decorate 71(g_tTex2df4a) DescriptorSet 0 + Decorate 91(g_tTex2di4a) DescriptorSet 0 + Decorate 106(g_tTex2du4a) DescriptorSet 0 + Decorate 133(Color) Location 0 + Decorate 137(Depth) BuiltIn FragDepth + Decorate 142(g_tTex1df4) DescriptorSet 0 + Decorate 142(g_tTex1df4) Binding 0 + Decorate 145(g_tTex1di4) DescriptorSet 0 + Decorate 148(g_tTex1du4) DescriptorSet 0 + Decorate 151(g_tTex2df4) DescriptorSet 0 + Decorate 154(g_tTex2di4) DescriptorSet 0 + Decorate 157(g_tTex2du4) DescriptorSet 0 + Decorate 160(g_tTex3df4) DescriptorSet 0 + Decorate 163(g_tTex3di4) DescriptorSet 0 + Decorate 166(g_tTex3du4) DescriptorSet 0 + Decorate 169(g_tTexcdf4) DescriptorSet 0 + Decorate 172(g_tTexcdi4) DescriptorSet 0 + Decorate 175(g_tTexcdu4) DescriptorSet 0 + Decorate 178(g_tTexcdf4a) DescriptorSet 0 + Decorate 181(g_tTexcdi4a) DescriptorSet 0 + Decorate 184(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypePointer Function 6(float) - 9: TypeImage 6(float) 1D array sampled format:Unknown - 10: TypePointer UniformConstant 9 - 11(g_tTex1df4a): 10(ptr) Variable UniformConstant - 13: TypeSampler - 14: TypePointer UniformConstant 13 - 15(g_sSamp): 14(ptr) Variable UniformConstant - 17: TypeImage 6(float) 1D depth array sampled format:Unknown - 18: TypeSampledImage 17 - 20: TypeVector 6(float) 2 - 21: 6(float) Constant 1036831949 - 22: 6(float) Constant 1045220557 - 23: 20(fvec2) ConstantComposite 21 22 - 24: 6(float) Constant 1061158912 - 25: TypeVector 6(float) 3 - 29: 6(float) Constant 0 - 30: TypeInt 32 1 - 31: 30(int) Constant 2 - 35: TypeImage 30(int) 1D array sampled format:Unknown - 36: TypePointer UniformConstant 35 - 37(g_tTex1di4a): 36(ptr) Variable UniformConstant - 40: TypeImage 30(int) 1D depth array sampled format:Unknown - 41: TypeSampledImage 40 - 49: TypeInt 32 0 - 50: TypeImage 49(int) 1D array sampled format:Unknown - 51: TypePointer UniformConstant 50 - 52(g_tTex1du4a): 51(ptr) Variable UniformConstant - 55: TypeImage 49(int) 1D depth array sampled format:Unknown - 56: TypeSampledImage 55 - 64: TypeImage 6(float) 2D array sampled format:Unknown - 65: TypePointer UniformConstant 64 - 66(g_tTex2df4a): 65(ptr) Variable UniformConstant - 69: TypeImage 6(float) 2D depth array sampled format:Unknown - 70: TypeSampledImage 69 - 72: 6(float) Constant 1050253722 - 73: 25(fvec3) ConstantComposite 21 22 72 - 74: TypeVector 6(float) 4 - 79: TypeVector 30(int) 2 - 80: 30(int) Constant 3 - 81: 79(ivec2) ConstantComposite 31 80 - 85: TypeImage 30(int) 2D array sampled format:Unknown - 86: TypePointer UniformConstant 85 - 87(g_tTex2di4a): 86(ptr) Variable UniformConstant - 90: TypeImage 30(int) 2D depth array sampled format:Unknown - 91: TypeSampledImage 90 - 100: TypeImage 49(int) 2D array sampled format:Unknown - 101: TypePointer UniformConstant 100 -102(g_tTex2du4a): 101(ptr) Variable UniformConstant - 105: TypeImage 49(int) 2D depth array sampled format:Unknown - 106: TypeSampledImage 105 - 114(PS_OUTPUT): TypeStruct 74(fvec4) 6(float) - 115: TypePointer Function 114(PS_OUTPUT) - 117: 30(int) Constant 0 - 118: 6(float) Constant 1065353216 - 119: 74(fvec4) ConstantComposite 118 118 118 118 - 120: TypePointer Function 74(fvec4) - 122: 30(int) Constant 1 - 124: TypePointer Output 74(fvec4) - 125(Color): 124(ptr) Variable Output - 128: TypePointer Output 6(float) - 129(Depth): 128(ptr) Variable Output - 133: TypeImage 6(float) 1D sampled format:Unknown - 134: TypePointer UniformConstant 133 - 135(g_tTex1df4): 134(ptr) Variable UniformConstant - 136: TypeImage 30(int) 1D sampled format:Unknown - 137: TypePointer UniformConstant 136 - 138(g_tTex1di4): 137(ptr) Variable UniformConstant - 139: TypeImage 49(int) 1D sampled format:Unknown - 140: TypePointer UniformConstant 139 - 141(g_tTex1du4): 140(ptr) Variable UniformConstant - 142: TypeImage 6(float) 2D sampled format:Unknown - 143: TypePointer UniformConstant 142 - 144(g_tTex2df4): 143(ptr) Variable UniformConstant - 145: TypeImage 30(int) 2D sampled format:Unknown - 146: TypePointer UniformConstant 145 - 147(g_tTex2di4): 146(ptr) Variable UniformConstant - 148: TypeImage 49(int) 2D sampled format:Unknown - 149: TypePointer UniformConstant 148 - 150(g_tTex2du4): 149(ptr) Variable UniformConstant - 151: TypeImage 6(float) 3D sampled format:Unknown - 152: TypePointer UniformConstant 151 - 153(g_tTex3df4): 152(ptr) Variable UniformConstant - 154: TypeImage 30(int) 3D sampled format:Unknown - 155: TypePointer UniformConstant 154 - 156(g_tTex3di4): 155(ptr) Variable UniformConstant - 157: TypeImage 49(int) 3D sampled format:Unknown - 158: TypePointer UniformConstant 157 - 159(g_tTex3du4): 158(ptr) Variable UniformConstant - 160: TypeImage 6(float) Cube sampled format:Unknown - 161: TypePointer UniformConstant 160 - 162(g_tTexcdf4): 161(ptr) Variable UniformConstant - 163: TypeImage 30(int) Cube sampled format:Unknown - 164: TypePointer UniformConstant 163 - 165(g_tTexcdi4): 164(ptr) Variable UniformConstant - 166: TypeImage 49(int) Cube sampled format:Unknown - 167: TypePointer UniformConstant 166 - 168(g_tTexcdu4): 167(ptr) Variable UniformConstant - 169: TypeImage 6(float) Cube array sampled format:Unknown - 170: TypePointer UniformConstant 169 -171(g_tTexcdf4a): 170(ptr) Variable UniformConstant - 172: TypeImage 30(int) Cube array sampled format:Unknown - 173: TypePointer UniformConstant 172 -174(g_tTexcdi4a): 173(ptr) Variable UniformConstant - 175: TypeImage 49(int) Cube array sampled format:Unknown - 176: TypePointer UniformConstant 175 -177(g_tTexcdu4a): 176(ptr) Variable UniformConstant + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 6(float) + 14: TypeImage 6(float) 1D array sampled format:Unknown + 15: TypePointer UniformConstant 14 + 16(g_tTex1df4a): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeImage 6(float) 1D depth array sampled format:Unknown + 23: TypeSampledImage 22 + 25: TypeVector 6(float) 2 + 26: 6(float) Constant 1036831949 + 27: 6(float) Constant 1045220557 + 28: 25(fvec2) ConstantComposite 26 27 + 29: 6(float) Constant 1061158912 + 30: TypeVector 6(float) 3 + 34: 6(float) Constant 0 + 35: TypeInt 32 1 + 36: 35(int) Constant 2 + 40: TypeImage 35(int) 1D array sampled format:Unknown + 41: TypePointer UniformConstant 40 + 42(g_tTex1di4a): 41(ptr) Variable UniformConstant + 45: TypeImage 35(int) 1D depth array sampled format:Unknown + 46: TypeSampledImage 45 + 54: TypeInt 32 0 + 55: TypeImage 54(int) 1D array sampled format:Unknown + 56: TypePointer UniformConstant 55 + 57(g_tTex1du4a): 56(ptr) Variable UniformConstant + 60: TypeImage 54(int) 1D depth array sampled format:Unknown + 61: TypeSampledImage 60 + 69: TypeImage 6(float) 2D array sampled format:Unknown + 70: TypePointer UniformConstant 69 + 71(g_tTex2df4a): 70(ptr) Variable UniformConstant + 74: TypeImage 6(float) 2D depth array sampled format:Unknown + 75: TypeSampledImage 74 + 77: 6(float) Constant 1050253722 + 78: 30(fvec3) ConstantComposite 26 27 77 + 83: TypeVector 35(int) 2 + 84: 35(int) Constant 3 + 85: 83(ivec2) ConstantComposite 36 84 + 89: TypeImage 35(int) 2D array sampled format:Unknown + 90: TypePointer UniformConstant 89 + 91(g_tTex2di4a): 90(ptr) Variable UniformConstant + 94: TypeImage 35(int) 2D depth array sampled format:Unknown + 95: TypeSampledImage 94 + 104: TypeImage 54(int) 2D array sampled format:Unknown + 105: TypePointer UniformConstant 104 +106(g_tTex2du4a): 105(ptr) Variable UniformConstant + 109: TypeImage 54(int) 2D depth array sampled format:Unknown + 110: TypeSampledImage 109 + 118: TypePointer Function 8(PS_OUTPUT) + 120: 35(int) Constant 0 + 121: 6(float) Constant 1065353216 + 122: 7(fvec4) ConstantComposite 121 121 121 121 + 123: TypePointer Function 7(fvec4) + 125: 35(int) Constant 1 + 132: TypePointer Output 7(fvec4) + 133(Color): 132(ptr) Variable Output + 136: TypePointer Output 6(float) + 137(Depth): 136(ptr) Variable Output + 140: TypeImage 6(float) 1D sampled format:Unknown + 141: TypePointer UniformConstant 140 + 142(g_tTex1df4): 141(ptr) Variable UniformConstant + 143: TypeImage 35(int) 1D sampled format:Unknown + 144: TypePointer UniformConstant 143 + 145(g_tTex1di4): 144(ptr) Variable UniformConstant + 146: TypeImage 54(int) 1D sampled format:Unknown + 147: TypePointer UniformConstant 146 + 148(g_tTex1du4): 147(ptr) Variable UniformConstant + 149: TypeImage 6(float) 2D sampled format:Unknown + 150: TypePointer UniformConstant 149 + 151(g_tTex2df4): 150(ptr) Variable UniformConstant + 152: TypeImage 35(int) 2D sampled format:Unknown + 153: TypePointer UniformConstant 152 + 154(g_tTex2di4): 153(ptr) Variable UniformConstant + 155: TypeImage 54(int) 2D sampled format:Unknown + 156: TypePointer UniformConstant 155 + 157(g_tTex2du4): 156(ptr) Variable UniformConstant + 158: TypeImage 6(float) 3D sampled format:Unknown + 159: TypePointer UniformConstant 158 + 160(g_tTex3df4): 159(ptr) Variable UniformConstant + 161: TypeImage 35(int) 3D sampled format:Unknown + 162: TypePointer UniformConstant 161 + 163(g_tTex3di4): 162(ptr) Variable UniformConstant + 164: TypeImage 54(int) 3D sampled format:Unknown + 165: TypePointer UniformConstant 164 + 166(g_tTex3du4): 165(ptr) Variable UniformConstant + 167: TypeImage 6(float) Cube sampled format:Unknown + 168: TypePointer UniformConstant 167 + 169(g_tTexcdf4): 168(ptr) Variable UniformConstant + 170: TypeImage 35(int) Cube sampled format:Unknown + 171: TypePointer UniformConstant 170 + 172(g_tTexcdi4): 171(ptr) Variable UniformConstant + 173: TypeImage 54(int) Cube sampled format:Unknown + 174: TypePointer UniformConstant 173 + 175(g_tTexcdu4): 174(ptr) Variable UniformConstant + 176: TypeImage 6(float) Cube array sampled format:Unknown + 177: TypePointer UniformConstant 176 +178(g_tTexcdf4a): 177(ptr) Variable UniformConstant + 179: TypeImage 35(int) Cube array sampled format:Unknown + 180: TypePointer UniformConstant 179 +181(g_tTexcdi4a): 180(ptr) Variable UniformConstant + 182: TypeImage 54(int) Cube array sampled format:Unknown + 183: TypePointer UniformConstant 182 +184(g_tTexcdu4a): 183(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 8(r11): 7(ptr) Variable Function - 34(r13): 7(ptr) Variable Function - 48(r15): 7(ptr) Variable Function - 63(r31): 7(ptr) Variable Function - 84(r33): 7(ptr) Variable Function - 99(r35): 7(ptr) Variable Function - 116(psout): 115(ptr) Variable Function - 12: 9 Load 11(g_tTex1df4a) - 16: 13 Load 15(g_sSamp) - 19: 18 SampledImage 12 16 - 26: 6(float) CompositeExtract 23 0 - 27: 6(float) CompositeExtract 23 1 - 28: 25(fvec3) CompositeConstruct 26 27 24 - 32: 6(float) CompositeExtract 28 2 - 33: 6(float) ImageSampleDrefExplicitLod 19 28 32 Lod ConstOffset 29 31 - Store 8(r11) 33 - 38: 35 Load 37(g_tTex1di4a) - 39: 13 Load 15(g_sSamp) - 42: 41 SampledImage 38 39 - 43: 6(float) CompositeExtract 23 0 - 44: 6(float) CompositeExtract 23 1 - 45: 25(fvec3) CompositeConstruct 43 44 24 - 46: 6(float) CompositeExtract 45 2 - 47: 6(float) ImageSampleDrefExplicitLod 42 45 46 Lod ConstOffset 29 31 - Store 34(r13) 47 - 53: 50 Load 52(g_tTex1du4a) - 54: 13 Load 15(g_sSamp) - 57: 56 SampledImage 53 54 - 58: 6(float) CompositeExtract 23 0 - 59: 6(float) CompositeExtract 23 1 - 60: 25(fvec3) CompositeConstruct 58 59 24 - 61: 6(float) CompositeExtract 60 2 - 62: 6(float) ImageSampleDrefExplicitLod 57 60 61 Lod ConstOffset 29 31 - Store 48(r15) 62 - 67: 64 Load 66(g_tTex2df4a) - 68: 13 Load 15(g_sSamp) - 71: 70 SampledImage 67 68 - 75: 6(float) CompositeExtract 73 0 - 76: 6(float) CompositeExtract 73 1 - 77: 6(float) CompositeExtract 73 2 - 78: 74(fvec4) CompositeConstruct 75 76 77 24 - 82: 6(float) CompositeExtract 78 3 - 83: 6(float) ImageSampleDrefExplicitLod 71 78 82 Lod ConstOffset 29 81 - Store 63(r31) 83 - 88: 85 Load 87(g_tTex2di4a) - 89: 13 Load 15(g_sSamp) - 92: 91 SampledImage 88 89 - 93: 6(float) CompositeExtract 73 0 - 94: 6(float) CompositeExtract 73 1 - 95: 6(float) CompositeExtract 73 2 - 96: 74(fvec4) CompositeConstruct 93 94 95 24 - 97: 6(float) CompositeExtract 96 3 - 98: 6(float) ImageSampleDrefExplicitLod 92 96 97 Lod ConstOffset 29 81 - Store 84(r33) 98 - 103: 100 Load 102(g_tTex2du4a) - 104: 13 Load 15(g_sSamp) - 107: 106 SampledImage 103 104 - 108: 6(float) CompositeExtract 73 0 - 109: 6(float) CompositeExtract 73 1 - 110: 6(float) CompositeExtract 73 2 - 111: 74(fvec4) CompositeConstruct 108 109 110 24 - 112: 6(float) CompositeExtract 111 3 - 113: 6(float) ImageSampleDrefExplicitLod 107 111 112 Lod ConstOffset 29 81 - Store 99(r35) 113 - 121: 120(ptr) AccessChain 116(psout) 117 - Store 121 119 - 123: 7(ptr) AccessChain 116(psout) 122 - Store 123 118 - 126: 120(ptr) AccessChain 116(psout) 117 - 127: 74(fvec4) Load 126 - Store 125(Color) 127 - 130: 7(ptr) AccessChain 116(psout) 122 - 131: 6(float) Load 130 - Store 129(Depth) 131 +130(flattenTemp): 118(ptr) Variable Function + 131:8(PS_OUTPUT) FunctionCall 10(@main() + Store 130(flattenTemp) 131 + 134: 123(ptr) AccessChain 130(flattenTemp) 120 + 135: 7(fvec4) Load 134 + Store 133(Color) 135 + 138: 12(ptr) AccessChain 130(flattenTemp) 125 + 139: 6(float) Load 138 + Store 137(Depth) 139 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(r11): 12(ptr) Variable Function + 39(r13): 12(ptr) Variable Function + 53(r15): 12(ptr) Variable Function + 68(r31): 12(ptr) Variable Function + 88(r33): 12(ptr) Variable Function + 103(r35): 12(ptr) Variable Function + 119(psout): 118(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4a) + 21: 18 Load 20(g_sSamp) + 24: 23 SampledImage 17 21 + 31: 6(float) CompositeExtract 28 0 + 32: 6(float) CompositeExtract 28 1 + 33: 30(fvec3) CompositeConstruct 31 32 29 + 37: 6(float) CompositeExtract 33 2 + 38: 6(float) ImageSampleDrefExplicitLod 24 33 37 Lod ConstOffset 34 36 + Store 13(r11) 38 + 43: 40 Load 42(g_tTex1di4a) + 44: 18 Load 20(g_sSamp) + 47: 46 SampledImage 43 44 + 48: 6(float) CompositeExtract 28 0 + 49: 6(float) CompositeExtract 28 1 + 50: 30(fvec3) CompositeConstruct 48 49 29 + 51: 6(float) CompositeExtract 50 2 + 52: 6(float) ImageSampleDrefExplicitLod 47 50 51 Lod ConstOffset 34 36 + Store 39(r13) 52 + 58: 55 Load 57(g_tTex1du4a) + 59: 18 Load 20(g_sSamp) + 62: 61 SampledImage 58 59 + 63: 6(float) CompositeExtract 28 0 + 64: 6(float) CompositeExtract 28 1 + 65: 30(fvec3) CompositeConstruct 63 64 29 + 66: 6(float) CompositeExtract 65 2 + 67: 6(float) ImageSampleDrefExplicitLod 62 65 66 Lod ConstOffset 34 36 + Store 53(r15) 67 + 72: 69 Load 71(g_tTex2df4a) + 73: 18 Load 20(g_sSamp) + 76: 75 SampledImage 72 73 + 79: 6(float) CompositeExtract 78 0 + 80: 6(float) CompositeExtract 78 1 + 81: 6(float) CompositeExtract 78 2 + 82: 7(fvec4) CompositeConstruct 79 80 81 29 + 86: 6(float) CompositeExtract 82 3 + 87: 6(float) ImageSampleDrefExplicitLod 76 82 86 Lod ConstOffset 34 85 + Store 68(r31) 87 + 92: 89 Load 91(g_tTex2di4a) + 93: 18 Load 20(g_sSamp) + 96: 95 SampledImage 92 93 + 97: 6(float) CompositeExtract 78 0 + 98: 6(float) CompositeExtract 78 1 + 99: 6(float) CompositeExtract 78 2 + 100: 7(fvec4) CompositeConstruct 97 98 99 29 + 101: 6(float) CompositeExtract 100 3 + 102: 6(float) ImageSampleDrefExplicitLod 96 100 101 Lod ConstOffset 34 85 + Store 88(r33) 102 + 107: 104 Load 106(g_tTex2du4a) + 108: 18 Load 20(g_sSamp) + 111: 110 SampledImage 107 108 + 112: 6(float) CompositeExtract 78 0 + 113: 6(float) CompositeExtract 78 1 + 114: 6(float) CompositeExtract 78 2 + 115: 7(fvec4) CompositeConstruct 112 113 114 29 + 116: 6(float) CompositeExtract 115 3 + 117: 6(float) ImageSampleDrefExplicitLod 111 115 116 Lod ConstOffset 34 85 + Store 103(r35) 117 + 124: 123(ptr) AccessChain 119(psout) 120 + Store 124 122 + 126: 12(ptr) AccessChain 119(psout) 125 + Store 126 121 + 127:8(PS_OUTPUT) Load 119(psout) + ReturnValue 127 + FunctionEnd diff --git a/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out index 2a0d77a0..ebc4f3fc 100644 --- a/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out +++ b/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.samplegrad.array.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:24 Function Parameters: 0:? Sequence 0:27 Sequence @@ -175,24 +175,28 @@ gl_FragCoord origin is upper left 0:40 1 (const int) 0:40 Constant: 0:40 1.000000 -0:42 Sequence -0:42 Sequence -0:42 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:42 Color: direct index for structure (temp 4-component vector of float) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:42 Constant: -0:42 0 (const int) -0:42 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:42 Depth: direct index for structure (temp float) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:42 Constant: -0:42 1 (const int) -0:42 Branch: Return +0:42 Branch: Return with expression +0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: main( (temp void) +0:24 Function Parameters: +0:? Sequence +0:24 Sequence +0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:24 Color: direct index for structure (temp 4-component vector of float) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:24 Depth: direct index for structure (temp float) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -204,6 +208,8 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' (uniform textureCubeArray) 0:? 'g_tTexcdi4' (uniform itextureCubeArray) 0:? 'g_tTexcdu4' (uniform utextureCubeArray) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -212,7 +218,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:24 Function Parameters: 0:? Sequence 0:27 Sequence @@ -385,24 +391,28 @@ gl_FragCoord origin is upper left 0:40 1 (const int) 0:40 Constant: 0:40 1.000000 -0:42 Sequence -0:42 Sequence -0:42 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:42 Color: direct index for structure (temp 4-component vector of float) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:42 Constant: -0:42 0 (const int) -0:42 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:42 Depth: direct index for structure (temp float) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:42 Constant: -0:42 1 (const int) -0:42 Branch: Return +0:42 Branch: Return with expression +0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: main( (temp void) +0:24 Function Parameters: +0:? Sequence +0:24 Sequence +0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:24 Color: direct index for structure (temp 4-component vector of float) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:24 Depth: direct index for structure (temp float) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -414,203 +424,216 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' (uniform textureCubeArray) 0:? 'g_tTexcdi4' (uniform itextureCubeArray) 0:? 'g_tTexcdu4' (uniform utextureCubeArray) +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 133 +// Id's are bound by 140 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 124 128 + EntryPoint Fragment 4 "main" 132 136 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval10" - Name 12 "g_tTex1df4" - Name 16 "g_sSamp" - Name 30 "txval11" - Name 33 "g_tTex1di4" - Name 42 "txval12" - Name 45 "g_tTex1du4" - Name 51 "txval20" - Name 54 "g_tTex2df4" - Name 64 "txval21" - Name 67 "g_tTex2di4" - Name 73 "txval22" - Name 76 "g_tTex2du4" - Name 82 "txval40" - Name 85 "g_tTexcdf4" - Name 95 "txval41" - Name 98 "g_tTexcdi4" - Name 104 "txval42" - Name 107 "g_tTexcdu4" - Name 113 "PS_OUTPUT" - MemberName 113(PS_OUTPUT) 0 "Color" - MemberName 113(PS_OUTPUT) 1 "Depth" - Name 115 "psout" - Name 124 "Color" - Name 128 "Depth" - Name 132 "g_tTex1df4a" - Decorate 12(g_tTex1df4) DescriptorSet 0 - Decorate 12(g_tTex1df4) Binding 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - Decorate 33(g_tTex1di4) DescriptorSet 0 - Decorate 45(g_tTex1du4) DescriptorSet 0 - Decorate 54(g_tTex2df4) DescriptorSet 0 - Decorate 67(g_tTex2di4) DescriptorSet 0 - Decorate 76(g_tTex2du4) DescriptorSet 0 - Decorate 85(g_tTexcdf4) DescriptorSet 0 - Decorate 98(g_tTexcdi4) DescriptorSet 0 - Decorate 107(g_tTexcdu4) DescriptorSet 0 - Decorate 124(Color) Location 0 - Decorate 128(Depth) BuiltIn FragDepth - Decorate 132(g_tTex1df4a) DescriptorSet 0 - Decorate 132(g_tTex1df4a) Binding 1 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval10" + Name 16 "g_tTex1df4" + Name 20 "g_sSamp" + Name 34 "txval11" + Name 37 "g_tTex1di4" + Name 46 "txval12" + Name 49 "g_tTex1du4" + Name 55 "txval20" + Name 58 "g_tTex2df4" + Name 68 "txval21" + Name 71 "g_tTex2di4" + Name 77 "txval22" + Name 80 "g_tTex2du4" + Name 86 "txval40" + Name 89 "g_tTexcdf4" + Name 99 "txval41" + Name 102 "g_tTexcdi4" + Name 108 "txval42" + Name 111 "g_tTexcdu4" + Name 118 "psout" + Name 129 "flattenTemp" + Name 132 "Color" + Name 136 "Depth" + Name 139 "g_tTex1df4a" + Decorate 16(g_tTex1df4) DescriptorSet 0 + Decorate 16(g_tTex1df4) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 37(g_tTex1di4) DescriptorSet 0 + Decorate 49(g_tTex1du4) DescriptorSet 0 + Decorate 58(g_tTex2df4) DescriptorSet 0 + Decorate 71(g_tTex2di4) DescriptorSet 0 + Decorate 80(g_tTex2du4) DescriptorSet 0 + Decorate 89(g_tTexcdf4) DescriptorSet 0 + Decorate 102(g_tTexcdi4) DescriptorSet 0 + Decorate 111(g_tTexcdu4) DescriptorSet 0 + Decorate 132(Color) Location 0 + Decorate 136(Depth) BuiltIn FragDepth + Decorate 139(g_tTex1df4a) DescriptorSet 0 + Decorate 139(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 1D array sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex1df4): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 1D array sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: TypeVector 6(float) 2 - 21: 6(float) Constant 1036831949 - 22: 6(float) Constant 1045220557 - 23: 20(fvec2) ConstantComposite 21 22 - 24: 6(float) Constant 1066192077 - 25: 6(float) Constant 1067030938 - 27: TypeInt 32 1 - 28: TypeVector 27(int) 4 - 29: TypePointer Function 28(ivec4) - 31: TypeImage 27(int) 1D array sampled format:Unknown - 32: TypePointer UniformConstant 31 - 33(g_tTex1di4): 32(ptr) Variable UniformConstant - 36: TypeSampledImage 31 - 39: TypeInt 32 0 - 40: TypeVector 39(int) 4 - 41: TypePointer Function 40(ivec4) - 43: TypeImage 39(int) 1D array sampled format:Unknown - 44: TypePointer UniformConstant 43 - 45(g_tTex1du4): 44(ptr) Variable UniformConstant - 48: TypeSampledImage 43 - 52: TypeImage 6(float) 2D array sampled format:Unknown - 53: TypePointer UniformConstant 52 - 54(g_tTex2df4): 53(ptr) Variable UniformConstant - 57: TypeSampledImage 52 - 59: TypeVector 6(float) 3 - 60: 6(float) Constant 1050253722 - 61: 59(fvec3) ConstantComposite 21 22 60 - 62: 20(fvec2) ConstantComposite 24 25 - 65: TypeImage 27(int) 2D array sampled format:Unknown - 66: TypePointer UniformConstant 65 - 67(g_tTex2di4): 66(ptr) Variable UniformConstant - 70: TypeSampledImage 65 - 74: TypeImage 39(int) 2D array sampled format:Unknown - 75: TypePointer UniformConstant 74 - 76(g_tTex2du4): 75(ptr) Variable UniformConstant - 79: TypeSampledImage 74 - 83: TypeImage 6(float) Cube array sampled format:Unknown - 84: TypePointer UniformConstant 83 - 85(g_tTexcdf4): 84(ptr) Variable UniformConstant - 88: TypeSampledImage 83 - 90: 6(float) Constant 1053609165 - 91: 7(fvec4) ConstantComposite 21 22 60 90 - 92: 6(float) Constant 1067869798 - 93: 59(fvec3) ConstantComposite 24 25 92 - 96: TypeImage 27(int) Cube array sampled format:Unknown - 97: TypePointer UniformConstant 96 - 98(g_tTexcdi4): 97(ptr) Variable UniformConstant - 101: TypeSampledImage 96 - 105: TypeImage 39(int) Cube array sampled format:Unknown - 106: TypePointer UniformConstant 105 - 107(g_tTexcdu4): 106(ptr) Variable UniformConstant - 110: TypeSampledImage 105 - 113(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 114: TypePointer Function 113(PS_OUTPUT) - 116: 27(int) Constant 0 - 117: 6(float) Constant 1065353216 - 118: 7(fvec4) ConstantComposite 117 117 117 117 - 120: 27(int) Constant 1 - 121: TypePointer Function 6(float) - 123: TypePointer Output 7(fvec4) - 124(Color): 123(ptr) Variable Output - 127: TypePointer Output 6(float) - 128(Depth): 127(ptr) Variable Output -132(g_tTex1df4a): 11(ptr) Variable UniformConstant + 16(g_tTex1df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: TypeVector 6(float) 2 + 25: 6(float) Constant 1036831949 + 26: 6(float) Constant 1045220557 + 27: 24(fvec2) ConstantComposite 25 26 + 28: 6(float) Constant 1066192077 + 29: 6(float) Constant 1067030938 + 31: TypeInt 32 1 + 32: TypeVector 31(int) 4 + 33: TypePointer Function 32(ivec4) + 35: TypeImage 31(int) 1D array sampled format:Unknown + 36: TypePointer UniformConstant 35 + 37(g_tTex1di4): 36(ptr) Variable UniformConstant + 40: TypeSampledImage 35 + 43: TypeInt 32 0 + 44: TypeVector 43(int) 4 + 45: TypePointer Function 44(ivec4) + 47: TypeImage 43(int) 1D array sampled format:Unknown + 48: TypePointer UniformConstant 47 + 49(g_tTex1du4): 48(ptr) Variable UniformConstant + 52: TypeSampledImage 47 + 56: TypeImage 6(float) 2D array sampled format:Unknown + 57: TypePointer UniformConstant 56 + 58(g_tTex2df4): 57(ptr) Variable UniformConstant + 61: TypeSampledImage 56 + 63: TypeVector 6(float) 3 + 64: 6(float) Constant 1050253722 + 65: 63(fvec3) ConstantComposite 25 26 64 + 66: 24(fvec2) ConstantComposite 28 29 + 69: TypeImage 31(int) 2D array sampled format:Unknown + 70: TypePointer UniformConstant 69 + 71(g_tTex2di4): 70(ptr) Variable UniformConstant + 74: TypeSampledImage 69 + 78: TypeImage 43(int) 2D array sampled format:Unknown + 79: TypePointer UniformConstant 78 + 80(g_tTex2du4): 79(ptr) Variable UniformConstant + 83: TypeSampledImage 78 + 87: TypeImage 6(float) Cube array sampled format:Unknown + 88: TypePointer UniformConstant 87 + 89(g_tTexcdf4): 88(ptr) Variable UniformConstant + 92: TypeSampledImage 87 + 94: 6(float) Constant 1053609165 + 95: 7(fvec4) ConstantComposite 25 26 64 94 + 96: 6(float) Constant 1067869798 + 97: 63(fvec3) ConstantComposite 28 29 96 + 100: TypeImage 31(int) Cube array sampled format:Unknown + 101: TypePointer UniformConstant 100 + 102(g_tTexcdi4): 101(ptr) Variable UniformConstant + 105: TypeSampledImage 100 + 109: TypeImage 43(int) Cube array sampled format:Unknown + 110: TypePointer UniformConstant 109 + 111(g_tTexcdu4): 110(ptr) Variable UniformConstant + 114: TypeSampledImage 109 + 117: TypePointer Function 8(PS_OUTPUT) + 119: 31(int) Constant 0 + 120: 6(float) Constant 1065353216 + 121: 7(fvec4) ConstantComposite 120 120 120 120 + 123: 31(int) Constant 1 + 124: TypePointer Function 6(float) + 131: TypePointer Output 7(fvec4) + 132(Color): 131(ptr) Variable Output + 135: TypePointer Output 6(float) + 136(Depth): 135(ptr) Variable Output +139(g_tTex1df4a): 15(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval10): 8(ptr) Variable Function - 30(txval11): 29(ptr) Variable Function - 42(txval12): 41(ptr) Variable Function - 51(txval20): 8(ptr) Variable Function - 64(txval21): 29(ptr) Variable Function - 73(txval22): 41(ptr) Variable Function - 82(txval40): 8(ptr) Variable Function - 95(txval41): 29(ptr) Variable Function - 104(txval42): 41(ptr) Variable Function - 115(psout): 114(ptr) Variable Function - 13: 10 Load 12(g_tTex1df4) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 26: 7(fvec4) ImageSampleExplicitLod 19 23 Grad 24 25 - Store 9(txval10) 26 - 34: 31 Load 33(g_tTex1di4) - 35: 14 Load 16(g_sSamp) - 37: 36 SampledImage 34 35 - 38: 28(ivec4) ImageSampleExplicitLod 37 23 Grad 24 25 - Store 30(txval11) 38 - 46: 43 Load 45(g_tTex1du4) - 47: 14 Load 16(g_sSamp) - 49: 48 SampledImage 46 47 - 50: 40(ivec4) ImageSampleExplicitLod 49 23 Grad 24 25 - Store 42(txval12) 50 - 55: 52 Load 54(g_tTex2df4) - 56: 14 Load 16(g_sSamp) - 58: 57 SampledImage 55 56 - 63: 7(fvec4) ImageSampleExplicitLod 58 61 Grad 62 62 - Store 51(txval20) 63 - 68: 65 Load 67(g_tTex2di4) - 69: 14 Load 16(g_sSamp) - 71: 70 SampledImage 68 69 - 72: 28(ivec4) ImageSampleExplicitLod 71 61 Grad 62 62 - Store 64(txval21) 72 - 77: 74 Load 76(g_tTex2du4) - 78: 14 Load 16(g_sSamp) - 80: 79 SampledImage 77 78 - 81: 40(ivec4) ImageSampleExplicitLod 80 61 Grad 62 62 - Store 73(txval22) 81 - 86: 83 Load 85(g_tTexcdf4) - 87: 14 Load 16(g_sSamp) - 89: 88 SampledImage 86 87 - 94: 7(fvec4) ImageSampleExplicitLod 89 91 Grad 93 93 - Store 82(txval40) 94 - 99: 96 Load 98(g_tTexcdi4) - 100: 14 Load 16(g_sSamp) - 102: 101 SampledImage 99 100 - 103: 28(ivec4) ImageSampleExplicitLod 102 91 Grad 93 93 - Store 95(txval41) 103 - 108: 105 Load 107(g_tTexcdu4) - 109: 14 Load 16(g_sSamp) - 111: 110 SampledImage 108 109 - 112: 40(ivec4) ImageSampleExplicitLod 111 91 Grad 93 93 - Store 104(txval42) 112 - 119: 8(ptr) AccessChain 115(psout) 116 - Store 119 118 - 122: 121(ptr) AccessChain 115(psout) 120 - Store 122 117 - 125: 8(ptr) AccessChain 115(psout) 116 - 126: 7(fvec4) Load 125 - Store 124(Color) 126 - 129: 121(ptr) AccessChain 115(psout) 120 - 130: 6(float) Load 129 - Store 128(Depth) 130 +129(flattenTemp): 117(ptr) Variable Function + 130:8(PS_OUTPUT) FunctionCall 10(@main() + Store 129(flattenTemp) 130 + 133: 12(ptr) AccessChain 129(flattenTemp) 119 + 134: 7(fvec4) Load 133 + Store 132(Color) 134 + 137: 124(ptr) AccessChain 129(flattenTemp) 123 + 138: 6(float) Load 137 + Store 136(Depth) 138 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval10): 12(ptr) Variable Function + 34(txval11): 33(ptr) Variable Function + 46(txval12): 45(ptr) Variable Function + 55(txval20): 12(ptr) Variable Function + 68(txval21): 33(ptr) Variable Function + 77(txval22): 45(ptr) Variable Function + 86(txval40): 12(ptr) Variable Function + 99(txval41): 33(ptr) Variable Function + 108(txval42): 45(ptr) Variable Function + 118(psout): 117(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 30: 7(fvec4) ImageSampleExplicitLod 23 27 Grad 28 29 + Store 13(txval10) 30 + 38: 35 Load 37(g_tTex1di4) + 39: 18 Load 20(g_sSamp) + 41: 40 SampledImage 38 39 + 42: 32(ivec4) ImageSampleExplicitLod 41 27 Grad 28 29 + Store 34(txval11) 42 + 50: 47 Load 49(g_tTex1du4) + 51: 18 Load 20(g_sSamp) + 53: 52 SampledImage 50 51 + 54: 44(ivec4) ImageSampleExplicitLod 53 27 Grad 28 29 + Store 46(txval12) 54 + 59: 56 Load 58(g_tTex2df4) + 60: 18 Load 20(g_sSamp) + 62: 61 SampledImage 59 60 + 67: 7(fvec4) ImageSampleExplicitLod 62 65 Grad 66 66 + Store 55(txval20) 67 + 72: 69 Load 71(g_tTex2di4) + 73: 18 Load 20(g_sSamp) + 75: 74 SampledImage 72 73 + 76: 32(ivec4) ImageSampleExplicitLod 75 65 Grad 66 66 + Store 68(txval21) 76 + 81: 78 Load 80(g_tTex2du4) + 82: 18 Load 20(g_sSamp) + 84: 83 SampledImage 81 82 + 85: 44(ivec4) ImageSampleExplicitLod 84 65 Grad 66 66 + Store 77(txval22) 85 + 90: 87 Load 89(g_tTexcdf4) + 91: 18 Load 20(g_sSamp) + 93: 92 SampledImage 90 91 + 98: 7(fvec4) ImageSampleExplicitLod 93 95 Grad 97 97 + Store 86(txval40) 98 + 103: 100 Load 102(g_tTexcdi4) + 104: 18 Load 20(g_sSamp) + 106: 105 SampledImage 103 104 + 107: 32(ivec4) ImageSampleExplicitLod 106 95 Grad 97 97 + Store 99(txval41) 107 + 112: 109 Load 111(g_tTexcdu4) + 113: 18 Load 20(g_sSamp) + 115: 114 SampledImage 112 113 + 116: 44(ivec4) ImageSampleExplicitLod 115 95 Grad 97 97 + Store 108(txval42) 116 + 122: 12(ptr) AccessChain 118(psout) 119 + Store 122 121 + 125: 124(ptr) AccessChain 118(psout) 123 + Store 125 120 + 126:8(PS_OUTPUT) Load 118(psout) + ReturnValue 126 + FunctionEnd diff --git a/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out index feaba770..8d9cc9e0 100644 --- a/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.samplegrad.basic.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:28 Function Parameters: 0:? Sequence 0:31 Sequence @@ -223,24 +223,28 @@ gl_FragCoord origin is upper left 0:48 1 (const int) 0:48 Constant: 0:48 1.000000 -0:50 Sequence -0:50 Sequence -0:50 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:50 Color: direct index for structure (temp 4-component vector of float) -0:50 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:50 Constant: -0:50 0 (const int) -0:50 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:50 Depth: direct index for structure (temp float) -0:50 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:50 Constant: -0:50 1 (const int) -0:50 Branch: Return +0:50 Branch: Return with expression +0:50 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: main( (temp void) +0:28 Function Parameters: +0:? Sequence +0:28 Sequence +0:28 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:28 Color: direct index for structure (temp 4-component vector of float) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 0 (const int) +0:28 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:28 Depth: direct index for structure (temp float) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -255,6 +259,8 @@ gl_FragCoord origin is upper left 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: @@ -263,7 +269,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:28 Function Parameters: 0:? Sequence 0:31 Sequence @@ -484,24 +490,28 @@ gl_FragCoord origin is upper left 0:48 1 (const int) 0:48 Constant: 0:48 1.000000 -0:50 Sequence -0:50 Sequence -0:50 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:50 Color: direct index for structure (temp 4-component vector of float) -0:50 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:50 Constant: -0:50 0 (const int) -0:50 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:50 Depth: direct index for structure (temp float) -0:50 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:50 Constant: -0:50 1 (const int) -0:50 Branch: Return +0:50 Branch: Return with expression +0:50 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: main( (temp void) +0:28 Function Parameters: +0:? Sequence +0:28 Sequence +0:28 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:28 Color: direct index for structure (temp 4-component vector of float) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 0 (const int) +0:28 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:28 Depth: direct index for structure (temp float) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -516,249 +526,262 @@ gl_FragCoord origin is upper left 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 168 +// Id's are bound by 175 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 159 163 + EntryPoint Fragment 4 "main" 167 171 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval10" - Name 12 "g_tTex1df4" - Name 16 "g_sSamp" - Name 27 "txval11" - Name 30 "g_tTex1di4" - Name 40 "txval12" - Name 43 "g_tTex1du4" - Name 50 "txval20" - Name 53 "g_tTex2df4" - Name 62 "txval21" - Name 65 "g_tTex2di4" - Name 73 "txval22" - Name 76 "g_tTex2du4" - Name 85 "txval30" - Name 88 "g_tTex3df4" - Name 98 "txval31" - Name 101 "g_tTex3di4" - Name 108 "txval32" - Name 111 "g_tTex3du4" - Name 121 "txval40" - Name 124 "g_tTexcdf4" - Name 130 "txval41" - Name 133 "g_tTexcdi4" - Name 139 "txval42" - Name 142 "g_tTexcdu4" - Name 148 "PS_OUTPUT" - MemberName 148(PS_OUTPUT) 0 "Color" - MemberName 148(PS_OUTPUT) 1 "Depth" - Name 150 "psout" - Name 159 "Color" - Name 163 "Depth" - Name 167 "g_tTex1df4a" - Decorate 12(g_tTex1df4) DescriptorSet 0 - Decorate 12(g_tTex1df4) Binding 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - Decorate 30(g_tTex1di4) DescriptorSet 0 - Decorate 43(g_tTex1du4) DescriptorSet 0 - Decorate 53(g_tTex2df4) DescriptorSet 0 - Decorate 65(g_tTex2di4) DescriptorSet 0 - Decorate 76(g_tTex2du4) DescriptorSet 0 - Decorate 88(g_tTex3df4) DescriptorSet 0 - Decorate 101(g_tTex3di4) DescriptorSet 0 - Decorate 111(g_tTex3du4) DescriptorSet 0 - Decorate 124(g_tTexcdf4) DescriptorSet 0 - Decorate 133(g_tTexcdi4) DescriptorSet 0 - Decorate 142(g_tTexcdu4) DescriptorSet 0 - Decorate 159(Color) Location 0 - Decorate 163(Depth) BuiltIn FragDepth - Decorate 167(g_tTex1df4a) DescriptorSet 0 - Decorate 167(g_tTex1df4a) Binding 1 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval10" + Name 16 "g_tTex1df4" + Name 20 "g_sSamp" + Name 31 "txval11" + Name 34 "g_tTex1di4" + Name 44 "txval12" + Name 47 "g_tTex1du4" + Name 54 "txval20" + Name 57 "g_tTex2df4" + Name 66 "txval21" + Name 69 "g_tTex2di4" + Name 77 "txval22" + Name 80 "g_tTex2du4" + Name 89 "txval30" + Name 92 "g_tTex3df4" + Name 102 "txval31" + Name 105 "g_tTex3di4" + Name 112 "txval32" + Name 115 "g_tTex3du4" + Name 125 "txval40" + Name 128 "g_tTexcdf4" + Name 134 "txval41" + Name 137 "g_tTexcdi4" + Name 143 "txval42" + Name 146 "g_tTexcdu4" + Name 153 "psout" + Name 164 "flattenTemp" + Name 167 "Color" + Name 171 "Depth" + Name 174 "g_tTex1df4a" + Decorate 16(g_tTex1df4) DescriptorSet 0 + Decorate 16(g_tTex1df4) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 34(g_tTex1di4) DescriptorSet 0 + Decorate 47(g_tTex1du4) DescriptorSet 0 + Decorate 57(g_tTex2df4) DescriptorSet 0 + Decorate 69(g_tTex2di4) DescriptorSet 0 + Decorate 80(g_tTex2du4) DescriptorSet 0 + Decorate 92(g_tTex3df4) DescriptorSet 0 + Decorate 105(g_tTex3di4) DescriptorSet 0 + Decorate 115(g_tTex3du4) DescriptorSet 0 + Decorate 128(g_tTexcdf4) DescriptorSet 0 + Decorate 137(g_tTexcdi4) DescriptorSet 0 + Decorate 146(g_tTexcdu4) DescriptorSet 0 + Decorate 167(Color) Location 0 + Decorate 171(Depth) BuiltIn FragDepth + Decorate 174(g_tTex1df4a) DescriptorSet 0 + Decorate 174(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 1D sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex1df4): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 1D sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: 6(float) Constant 1036831949 - 21: 6(float) Constant 1066192077 - 22: 6(float) Constant 1067030938 - 24: TypeInt 32 1 - 25: TypeVector 24(int) 4 - 26: TypePointer Function 25(ivec4) - 28: TypeImage 24(int) 1D sampled format:Unknown - 29: TypePointer UniformConstant 28 - 30(g_tTex1di4): 29(ptr) Variable UniformConstant - 33: TypeSampledImage 28 - 35: 6(float) Constant 1045220557 - 37: TypeInt 32 0 - 38: TypeVector 37(int) 4 - 39: TypePointer Function 38(ivec4) - 41: TypeImage 37(int) 1D sampled format:Unknown - 42: TypePointer UniformConstant 41 - 43(g_tTex1du4): 42(ptr) Variable UniformConstant - 46: TypeSampledImage 41 - 48: 6(float) Constant 1050253722 - 51: TypeImage 6(float) 2D sampled format:Unknown - 52: TypePointer UniformConstant 51 - 53(g_tTex2df4): 52(ptr) Variable UniformConstant - 56: TypeSampledImage 51 - 58: TypeVector 6(float) 2 - 59: 58(fvec2) ConstantComposite 20 35 - 60: 58(fvec2) ConstantComposite 21 22 - 63: TypeImage 24(int) 2D sampled format:Unknown - 64: TypePointer UniformConstant 63 - 65(g_tTex2di4): 64(ptr) Variable UniformConstant - 68: TypeSampledImage 63 - 70: 6(float) Constant 1053609165 - 71: 58(fvec2) ConstantComposite 48 70 - 74: TypeImage 37(int) 2D sampled format:Unknown - 75: TypePointer UniformConstant 74 - 76(g_tTex2du4): 75(ptr) Variable UniformConstant - 79: TypeSampledImage 74 - 81: 6(float) Constant 1056964608 - 82: 6(float) Constant 1058642330 - 83: 58(fvec2) ConstantComposite 81 82 - 86: TypeImage 6(float) 3D sampled format:Unknown - 87: TypePointer UniformConstant 86 - 88(g_tTex3df4): 87(ptr) Variable UniformConstant - 91: TypeSampledImage 86 - 93: TypeVector 6(float) 3 - 94: 93(fvec3) ConstantComposite 20 35 48 - 95: 6(float) Constant 1067869798 - 96: 93(fvec3) ConstantComposite 21 22 95 - 99: TypeImage 24(int) 3D sampled format:Unknown - 100: TypePointer UniformConstant 99 - 101(g_tTex3di4): 100(ptr) Variable UniformConstant - 104: TypeSampledImage 99 - 106: 93(fvec3) ConstantComposite 70 81 82 - 109: TypeImage 37(int) 3D sampled format:Unknown - 110: TypePointer UniformConstant 109 - 111(g_tTex3du4): 110(ptr) Variable UniformConstant - 114: TypeSampledImage 109 - 116: 6(float) Constant 1060320051 - 117: 6(float) Constant 1061997773 - 118: 6(float) Constant 1063675494 - 119: 93(fvec3) ConstantComposite 116 117 118 - 122: TypeImage 6(float) Cube sampled format:Unknown - 123: TypePointer UniformConstant 122 - 124(g_tTexcdf4): 123(ptr) Variable UniformConstant - 127: TypeSampledImage 122 - 131: TypeImage 24(int) Cube sampled format:Unknown - 132: TypePointer UniformConstant 131 - 133(g_tTexcdi4): 132(ptr) Variable UniformConstant - 136: TypeSampledImage 131 - 140: TypeImage 37(int) Cube sampled format:Unknown - 141: TypePointer UniformConstant 140 - 142(g_tTexcdu4): 141(ptr) Variable UniformConstant - 145: TypeSampledImage 140 - 148(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 149: TypePointer Function 148(PS_OUTPUT) - 151: 24(int) Constant 0 - 152: 6(float) Constant 1065353216 - 153: 7(fvec4) ConstantComposite 152 152 152 152 - 155: 24(int) Constant 1 - 156: TypePointer Function 6(float) - 158: TypePointer Output 7(fvec4) - 159(Color): 158(ptr) Variable Output - 162: TypePointer Output 6(float) - 163(Depth): 162(ptr) Variable Output -167(g_tTex1df4a): 11(ptr) Variable UniformConstant + 16(g_tTex1df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: 6(float) Constant 1036831949 + 25: 6(float) Constant 1066192077 + 26: 6(float) Constant 1067030938 + 28: TypeInt 32 1 + 29: TypeVector 28(int) 4 + 30: TypePointer Function 29(ivec4) + 32: TypeImage 28(int) 1D sampled format:Unknown + 33: TypePointer UniformConstant 32 + 34(g_tTex1di4): 33(ptr) Variable UniformConstant + 37: TypeSampledImage 32 + 39: 6(float) Constant 1045220557 + 41: TypeInt 32 0 + 42: TypeVector 41(int) 4 + 43: TypePointer Function 42(ivec4) + 45: TypeImage 41(int) 1D sampled format:Unknown + 46: TypePointer UniformConstant 45 + 47(g_tTex1du4): 46(ptr) Variable UniformConstant + 50: TypeSampledImage 45 + 52: 6(float) Constant 1050253722 + 55: TypeImage 6(float) 2D sampled format:Unknown + 56: TypePointer UniformConstant 55 + 57(g_tTex2df4): 56(ptr) Variable UniformConstant + 60: TypeSampledImage 55 + 62: TypeVector 6(float) 2 + 63: 62(fvec2) ConstantComposite 24 39 + 64: 62(fvec2) ConstantComposite 25 26 + 67: TypeImage 28(int) 2D sampled format:Unknown + 68: TypePointer UniformConstant 67 + 69(g_tTex2di4): 68(ptr) Variable UniformConstant + 72: TypeSampledImage 67 + 74: 6(float) Constant 1053609165 + 75: 62(fvec2) ConstantComposite 52 74 + 78: TypeImage 41(int) 2D sampled format:Unknown + 79: TypePointer UniformConstant 78 + 80(g_tTex2du4): 79(ptr) Variable UniformConstant + 83: TypeSampledImage 78 + 85: 6(float) Constant 1056964608 + 86: 6(float) Constant 1058642330 + 87: 62(fvec2) ConstantComposite 85 86 + 90: TypeImage 6(float) 3D sampled format:Unknown + 91: TypePointer UniformConstant 90 + 92(g_tTex3df4): 91(ptr) Variable UniformConstant + 95: TypeSampledImage 90 + 97: TypeVector 6(float) 3 + 98: 97(fvec3) ConstantComposite 24 39 52 + 99: 6(float) Constant 1067869798 + 100: 97(fvec3) ConstantComposite 25 26 99 + 103: TypeImage 28(int) 3D sampled format:Unknown + 104: TypePointer UniformConstant 103 + 105(g_tTex3di4): 104(ptr) Variable UniformConstant + 108: TypeSampledImage 103 + 110: 97(fvec3) ConstantComposite 74 85 86 + 113: TypeImage 41(int) 3D sampled format:Unknown + 114: TypePointer UniformConstant 113 + 115(g_tTex3du4): 114(ptr) Variable UniformConstant + 118: TypeSampledImage 113 + 120: 6(float) Constant 1060320051 + 121: 6(float) Constant 1061997773 + 122: 6(float) Constant 1063675494 + 123: 97(fvec3) ConstantComposite 120 121 122 + 126: TypeImage 6(float) Cube sampled format:Unknown + 127: TypePointer UniformConstant 126 + 128(g_tTexcdf4): 127(ptr) Variable UniformConstant + 131: TypeSampledImage 126 + 135: TypeImage 28(int) Cube sampled format:Unknown + 136: TypePointer UniformConstant 135 + 137(g_tTexcdi4): 136(ptr) Variable UniformConstant + 140: TypeSampledImage 135 + 144: TypeImage 41(int) Cube sampled format:Unknown + 145: TypePointer UniformConstant 144 + 146(g_tTexcdu4): 145(ptr) Variable UniformConstant + 149: TypeSampledImage 144 + 152: TypePointer Function 8(PS_OUTPUT) + 154: 28(int) Constant 0 + 155: 6(float) Constant 1065353216 + 156: 7(fvec4) ConstantComposite 155 155 155 155 + 158: 28(int) Constant 1 + 159: TypePointer Function 6(float) + 166: TypePointer Output 7(fvec4) + 167(Color): 166(ptr) Variable Output + 170: TypePointer Output 6(float) + 171(Depth): 170(ptr) Variable Output +174(g_tTex1df4a): 15(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval10): 8(ptr) Variable Function - 27(txval11): 26(ptr) Variable Function - 40(txval12): 39(ptr) Variable Function - 50(txval20): 8(ptr) Variable Function - 62(txval21): 26(ptr) Variable Function - 73(txval22): 39(ptr) Variable Function - 85(txval30): 8(ptr) Variable Function - 98(txval31): 26(ptr) Variable Function - 108(txval32): 39(ptr) Variable Function - 121(txval40): 8(ptr) Variable Function - 130(txval41): 26(ptr) Variable Function - 139(txval42): 39(ptr) Variable Function - 150(psout): 149(ptr) Variable Function - 13: 10 Load 12(g_tTex1df4) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 23: 7(fvec4) ImageSampleExplicitLod 19 20 Grad 21 22 - Store 9(txval10) 23 - 31: 28 Load 30(g_tTex1di4) - 32: 14 Load 16(g_sSamp) - 34: 33 SampledImage 31 32 - 36: 25(ivec4) ImageSampleExplicitLod 34 35 Grad 21 22 - Store 27(txval11) 36 - 44: 41 Load 43(g_tTex1du4) - 45: 14 Load 16(g_sSamp) - 47: 46 SampledImage 44 45 - 49: 38(ivec4) ImageSampleExplicitLod 47 48 Grad 21 22 - Store 40(txval12) 49 - 54: 51 Load 53(g_tTex2df4) - 55: 14 Load 16(g_sSamp) - 57: 56 SampledImage 54 55 - 61: 7(fvec4) ImageSampleExplicitLod 57 59 Grad 60 60 - Store 50(txval20) 61 - 66: 63 Load 65(g_tTex2di4) - 67: 14 Load 16(g_sSamp) - 69: 68 SampledImage 66 67 - 72: 25(ivec4) ImageSampleExplicitLod 69 71 Grad 60 60 - Store 62(txval21) 72 - 77: 74 Load 76(g_tTex2du4) - 78: 14 Load 16(g_sSamp) - 80: 79 SampledImage 77 78 - 84: 38(ivec4) ImageSampleExplicitLod 80 83 Grad 60 60 - Store 73(txval22) 84 - 89: 86 Load 88(g_tTex3df4) - 90: 14 Load 16(g_sSamp) - 92: 91 SampledImage 89 90 - 97: 7(fvec4) ImageSampleExplicitLod 92 94 Grad 96 96 - Store 85(txval30) 97 - 102: 99 Load 101(g_tTex3di4) - 103: 14 Load 16(g_sSamp) - 105: 104 SampledImage 102 103 - 107: 25(ivec4) ImageSampleExplicitLod 105 106 Grad 96 96 - Store 98(txval31) 107 - 112: 109 Load 111(g_tTex3du4) - 113: 14 Load 16(g_sSamp) - 115: 114 SampledImage 112 113 - 120: 38(ivec4) ImageSampleExplicitLod 115 119 Grad 96 96 - Store 108(txval32) 120 - 125: 122 Load 124(g_tTexcdf4) - 126: 14 Load 16(g_sSamp) - 128: 127 SampledImage 125 126 - 129: 7(fvec4) ImageSampleExplicitLod 128 94 Grad 96 96 - Store 121(txval40) 129 - 134: 131 Load 133(g_tTexcdi4) - 135: 14 Load 16(g_sSamp) - 137: 136 SampledImage 134 135 - 138: 25(ivec4) ImageSampleExplicitLod 137 106 Grad 96 96 - Store 130(txval41) 138 - 143: 140 Load 142(g_tTexcdu4) - 144: 14 Load 16(g_sSamp) - 146: 145 SampledImage 143 144 - 147: 38(ivec4) ImageSampleExplicitLod 146 119 Grad 96 96 - Store 139(txval42) 147 - 154: 8(ptr) AccessChain 150(psout) 151 - Store 154 153 - 157: 156(ptr) AccessChain 150(psout) 155 - Store 157 152 - 160: 8(ptr) AccessChain 150(psout) 151 - 161: 7(fvec4) Load 160 - Store 159(Color) 161 - 164: 156(ptr) AccessChain 150(psout) 155 - 165: 6(float) Load 164 - Store 163(Depth) 165 +164(flattenTemp): 152(ptr) Variable Function + 165:8(PS_OUTPUT) FunctionCall 10(@main() + Store 164(flattenTemp) 165 + 168: 12(ptr) AccessChain 164(flattenTemp) 154 + 169: 7(fvec4) Load 168 + Store 167(Color) 169 + 172: 159(ptr) AccessChain 164(flattenTemp) 158 + 173: 6(float) Load 172 + Store 171(Depth) 173 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval10): 12(ptr) Variable Function + 31(txval11): 30(ptr) Variable Function + 44(txval12): 43(ptr) Variable Function + 54(txval20): 12(ptr) Variable Function + 66(txval21): 30(ptr) Variable Function + 77(txval22): 43(ptr) Variable Function + 89(txval30): 12(ptr) Variable Function + 102(txval31): 30(ptr) Variable Function + 112(txval32): 43(ptr) Variable Function + 125(txval40): 12(ptr) Variable Function + 134(txval41): 30(ptr) Variable Function + 143(txval42): 43(ptr) Variable Function + 153(psout): 152(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 27: 7(fvec4) ImageSampleExplicitLod 23 24 Grad 25 26 + Store 13(txval10) 27 + 35: 32 Load 34(g_tTex1di4) + 36: 18 Load 20(g_sSamp) + 38: 37 SampledImage 35 36 + 40: 29(ivec4) ImageSampleExplicitLod 38 39 Grad 25 26 + Store 31(txval11) 40 + 48: 45 Load 47(g_tTex1du4) + 49: 18 Load 20(g_sSamp) + 51: 50 SampledImage 48 49 + 53: 42(ivec4) ImageSampleExplicitLod 51 52 Grad 25 26 + Store 44(txval12) 53 + 58: 55 Load 57(g_tTex2df4) + 59: 18 Load 20(g_sSamp) + 61: 60 SampledImage 58 59 + 65: 7(fvec4) ImageSampleExplicitLod 61 63 Grad 64 64 + Store 54(txval20) 65 + 70: 67 Load 69(g_tTex2di4) + 71: 18 Load 20(g_sSamp) + 73: 72 SampledImage 70 71 + 76: 29(ivec4) ImageSampleExplicitLod 73 75 Grad 64 64 + Store 66(txval21) 76 + 81: 78 Load 80(g_tTex2du4) + 82: 18 Load 20(g_sSamp) + 84: 83 SampledImage 81 82 + 88: 42(ivec4) ImageSampleExplicitLod 84 87 Grad 64 64 + Store 77(txval22) 88 + 93: 90 Load 92(g_tTex3df4) + 94: 18 Load 20(g_sSamp) + 96: 95 SampledImage 93 94 + 101: 7(fvec4) ImageSampleExplicitLod 96 98 Grad 100 100 + Store 89(txval30) 101 + 106: 103 Load 105(g_tTex3di4) + 107: 18 Load 20(g_sSamp) + 109: 108 SampledImage 106 107 + 111: 29(ivec4) ImageSampleExplicitLod 109 110 Grad 100 100 + Store 102(txval31) 111 + 116: 113 Load 115(g_tTex3du4) + 117: 18 Load 20(g_sSamp) + 119: 118 SampledImage 116 117 + 124: 42(ivec4) ImageSampleExplicitLod 119 123 Grad 100 100 + Store 112(txval32) 124 + 129: 126 Load 128(g_tTexcdf4) + 130: 18 Load 20(g_sSamp) + 132: 131 SampledImage 129 130 + 133: 7(fvec4) ImageSampleExplicitLod 132 98 Grad 100 100 + Store 125(txval40) 133 + 138: 135 Load 137(g_tTexcdi4) + 139: 18 Load 20(g_sSamp) + 141: 140 SampledImage 138 139 + 142: 29(ivec4) ImageSampleExplicitLod 141 110 Grad 100 100 + Store 134(txval41) 142 + 147: 144 Load 146(g_tTexcdu4) + 148: 18 Load 20(g_sSamp) + 150: 149 SampledImage 147 148 + 151: 42(ivec4) ImageSampleExplicitLod 150 123 Grad 100 100 + Store 143(txval42) 151 + 157: 12(ptr) AccessChain 153(psout) 154 + Store 157 156 + 160: 159(ptr) AccessChain 153(psout) 158 + Store 160 155 + 161:8(PS_OUTPUT) Load 153(psout) + ReturnValue 161 + FunctionEnd diff --git a/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out b/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out index 1f438cee..90de6890 100644 --- a/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out +++ b/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out @@ -1,7 +1,7 @@ hlsl.samplegrad.basic.dx10.vert Shader version: 450 0:? Sequence -0:27 Function Definition: main( (temp structure{temp 4-component vector of float Position Pos}) +0:27 Function Definition: @main( (temp structure{temp 4-component vector of float Position Pos}) 0:27 Function Parameters: 0:? Sequence 0:30 Sequence @@ -215,15 +215,18 @@ Shader version: 450 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:48 Sequence -0:48 Sequence -0:48 move second child to first child (temp 4-component vector of float) -0:? 'Pos' (out 4-component vector of float Position) -0:48 Pos: direct index for structure (temp 4-component vector of float) -0:48 'vsout' (temp structure{temp 4-component vector of float Pos}) -0:48 Constant: -0:48 0 (const int) -0:48 Branch: Return +0:48 Branch: Return with expression +0:48 'vsout' (temp structure{temp 4-component vector of float Pos}) +0:27 Function Definition: main( (temp void) +0:27 Function Parameters: +0:? Sequence +0:27 Sequence +0:27 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput_Pos' (out 4-component vector of float Position) +0:27 Pos: direct index for structure (temp 4-component vector of float Position) +0:27 Function Call: @main( (temp structure{temp 4-component vector of float Position Pos}) +0:27 Constant: +0:27 0 (const int) 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) @@ -239,7 +242,7 @@ Shader version: 450 0:? 'g_tTexcdf4' (uniform textureCube) 0:? 'g_tTexcdi4' (uniform itextureCube) 0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos}) +0:? 'PerVertex_out' (out block{out 4-component vector of float Position @entryPointOutput_Pos}) Linked vertex stage: @@ -247,7 +250,7 @@ Linked vertex stage: Shader version: 450 0:? Sequence -0:27 Function Definition: main( (temp structure{temp 4-component vector of float Position Pos}) +0:27 Function Definition: @main( (temp structure{temp 4-component vector of float Position Pos}) 0:27 Function Parameters: 0:? Sequence 0:30 Sequence @@ -461,15 +464,18 @@ Shader version: 450 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:48 Sequence -0:48 Sequence -0:48 move second child to first child (temp 4-component vector of float) -0:? 'Pos' (out 4-component vector of float Position) -0:48 Pos: direct index for structure (temp 4-component vector of float) -0:48 'vsout' (temp structure{temp 4-component vector of float Pos}) -0:48 Constant: -0:48 0 (const int) -0:48 Branch: Return +0:48 Branch: Return with expression +0:48 'vsout' (temp structure{temp 4-component vector of float Pos}) +0:27 Function Definition: main( (temp void) +0:27 Function Parameters: +0:? Sequence +0:27 Sequence +0:27 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput_Pos' (out 4-component vector of float Position) +0:27 Pos: direct index for structure (temp 4-component vector of float Position) +0:27 Function Call: @main( (temp structure{temp 4-component vector of float Position Pos}) +0:27 Constant: +0:27 0 (const int) 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) @@ -485,245 +491,262 @@ Shader version: 450 0:? 'g_tTexcdf4' (uniform textureCube) 0:? 'g_tTexcdi4' (uniform itextureCube) 0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos}) +0:? 'PerVertex_out' (out block{out 4-component vector of float Position @entryPointOutput_Pos}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 164 +// Id's are bound by 175 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" 156 163 + EntryPoint Vertex 4 "main" 168 174 Name 4 "main" - Name 9 "txval10" - Name 12 "g_tTex1df4" - Name 16 "g_sSamp" - Name 27 "txval11" - Name 30 "g_tTex1di4" - Name 40 "txval12" - Name 43 "g_tTex1du4" - Name 50 "txval20" - Name 53 "g_tTex2df4" - Name 62 "txval21" - Name 65 "g_tTex2di4" - Name 73 "txval22" - Name 76 "g_tTex2du4" - Name 85 "txval30" - Name 88 "g_tTex3df4" - Name 98 "txval31" - Name 101 "g_tTex3di4" - Name 108 "txval32" - Name 111 "g_tTex3du4" - Name 121 "txval40" - Name 124 "g_tTexcdf4" - Name 130 "txval41" - Name 133 "g_tTexcdi4" - Name 139 "txval42" - Name 142 "g_tTexcdu4" - Name 148 "VS_OUTPUT" - MemberName 148(VS_OUTPUT) 0 "Pos" - Name 150 "vsout" - Name 156 "Pos" - Name 160 "g_tTex1df4a" - Name 161 "PerVertex_out" - MemberName 161(PerVertex_out) 0 "Pos" - Name 163 "PerVertex_out" - Decorate 12(g_tTex1df4) DescriptorSet 0 - Decorate 12(g_tTex1df4) Binding 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - Decorate 30(g_tTex1di4) DescriptorSet 0 - Decorate 43(g_tTex1du4) DescriptorSet 0 - Decorate 53(g_tTex2df4) DescriptorSet 0 - Decorate 65(g_tTex2di4) DescriptorSet 0 - Decorate 76(g_tTex2du4) DescriptorSet 0 - Decorate 88(g_tTex3df4) DescriptorSet 0 - Decorate 101(g_tTex3di4) DescriptorSet 0 - Decorate 111(g_tTex3du4) DescriptorSet 0 - Decorate 124(g_tTexcdf4) DescriptorSet 0 - Decorate 133(g_tTexcdi4) DescriptorSet 0 - Decorate 142(g_tTexcdu4) DescriptorSet 0 - Decorate 156(Pos) BuiltIn Position - Decorate 160(g_tTex1df4a) DescriptorSet 0 - Decorate 160(g_tTex1df4a) Binding 1 - MemberDecorate 161(PerVertex_out) 0 BuiltIn Position - Decorate 161(PerVertex_out) Block + Name 8 "VS_OUTPUT" + MemberName 8(VS_OUTPUT) 0 "Pos" + Name 10 "@main(" + Name 13 "txval10" + Name 16 "g_tTex1df4" + Name 20 "g_sSamp" + Name 31 "txval11" + Name 34 "g_tTex1di4" + Name 44 "txval12" + Name 47 "g_tTex1du4" + Name 54 "txval20" + Name 57 "g_tTex2df4" + Name 66 "txval21" + Name 69 "g_tTex2di4" + Name 77 "txval22" + Name 80 "g_tTex2du4" + Name 89 "txval30" + Name 92 "g_tTex3df4" + Name 102 "txval31" + Name 105 "g_tTex3di4" + Name 112 "txval32" + Name 115 "g_tTex3du4" + Name 125 "txval40" + Name 128 "g_tTexcdf4" + Name 134 "txval41" + Name 137 "g_tTexcdi4" + Name 143 "txval42" + Name 146 "g_tTexcdu4" + Name 152 "VS_OUTPUT" + MemberName 152(VS_OUTPUT) 0 "Pos" + Name 154 "vsout" + Name 168 "@entryPointOutput_Pos" + Name 171 "g_tTex1df4a" + Name 172 "PerVertex_out" + MemberName 172(PerVertex_out) 0 "@entryPointOutput_Pos" + Name 174 "PerVertex_out" + MemberDecorate 8(VS_OUTPUT) 0 BuiltIn Position + Decorate 16(g_tTex1df4) DescriptorSet 0 + Decorate 16(g_tTex1df4) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 34(g_tTex1di4) DescriptorSet 0 + Decorate 47(g_tTex1du4) DescriptorSet 0 + Decorate 57(g_tTex2df4) DescriptorSet 0 + Decorate 69(g_tTex2di4) DescriptorSet 0 + Decorate 80(g_tTex2du4) DescriptorSet 0 + Decorate 92(g_tTex3df4) DescriptorSet 0 + Decorate 105(g_tTex3di4) DescriptorSet 0 + Decorate 115(g_tTex3du4) DescriptorSet 0 + Decorate 128(g_tTexcdf4) DescriptorSet 0 + Decorate 137(g_tTexcdi4) DescriptorSet 0 + Decorate 146(g_tTexcdu4) DescriptorSet 0 + Decorate 168(@entryPointOutput_Pos) BuiltIn Position + Decorate 171(g_tTex1df4a) DescriptorSet 0 + Decorate 171(g_tTex1df4a) Binding 1 + MemberDecorate 172(PerVertex_out) 0 BuiltIn Position + Decorate 172(PerVertex_out) Block 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 1D sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex1df4): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(VS_OUTPUT): TypeStruct 7(fvec4) + 9: TypeFunction 8(VS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 1D sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: 6(float) Constant 1036831949 - 21: 6(float) Constant 1066192077 - 22: 6(float) Constant 1067030938 - 24: TypeInt 32 1 - 25: TypeVector 24(int) 4 - 26: TypePointer Function 25(ivec4) - 28: TypeImage 24(int) 1D sampled format:Unknown - 29: TypePointer UniformConstant 28 - 30(g_tTex1di4): 29(ptr) Variable UniformConstant - 33: TypeSampledImage 28 - 35: 6(float) Constant 1045220557 - 37: TypeInt 32 0 - 38: TypeVector 37(int) 4 - 39: TypePointer Function 38(ivec4) - 41: TypeImage 37(int) 1D sampled format:Unknown - 42: TypePointer UniformConstant 41 - 43(g_tTex1du4): 42(ptr) Variable UniformConstant - 46: TypeSampledImage 41 - 48: 6(float) Constant 1050253722 - 51: TypeImage 6(float) 2D sampled format:Unknown - 52: TypePointer UniformConstant 51 - 53(g_tTex2df4): 52(ptr) Variable UniformConstant - 56: TypeSampledImage 51 - 58: TypeVector 6(float) 2 - 59: 58(fvec2) ConstantComposite 20 35 - 60: 58(fvec2) ConstantComposite 21 22 - 63: TypeImage 24(int) 2D sampled format:Unknown - 64: TypePointer UniformConstant 63 - 65(g_tTex2di4): 64(ptr) Variable UniformConstant - 68: TypeSampledImage 63 - 70: 6(float) Constant 1053609165 - 71: 58(fvec2) ConstantComposite 48 70 - 74: TypeImage 37(int) 2D sampled format:Unknown - 75: TypePointer UniformConstant 74 - 76(g_tTex2du4): 75(ptr) Variable UniformConstant - 79: TypeSampledImage 74 - 81: 6(float) Constant 1056964608 - 82: 6(float) Constant 1058642330 - 83: 58(fvec2) ConstantComposite 81 82 - 86: TypeImage 6(float) 3D sampled format:Unknown - 87: TypePointer UniformConstant 86 - 88(g_tTex3df4): 87(ptr) Variable UniformConstant - 91: TypeSampledImage 86 - 93: TypeVector 6(float) 3 - 94: 93(fvec3) ConstantComposite 20 35 48 - 95: 6(float) Constant 1067869798 - 96: 93(fvec3) ConstantComposite 21 22 95 - 99: TypeImage 24(int) 3D sampled format:Unknown - 100: TypePointer UniformConstant 99 - 101(g_tTex3di4): 100(ptr) Variable UniformConstant - 104: TypeSampledImage 99 - 106: 93(fvec3) ConstantComposite 70 81 82 - 109: TypeImage 37(int) 3D sampled format:Unknown - 110: TypePointer UniformConstant 109 - 111(g_tTex3du4): 110(ptr) Variable UniformConstant - 114: TypeSampledImage 109 - 116: 6(float) Constant 1060320051 - 117: 6(float) Constant 1061997773 - 118: 6(float) Constant 1063675494 - 119: 93(fvec3) ConstantComposite 116 117 118 - 122: TypeImage 6(float) Cube sampled format:Unknown - 123: TypePointer UniformConstant 122 - 124(g_tTexcdf4): 123(ptr) Variable UniformConstant - 127: TypeSampledImage 122 - 131: TypeImage 24(int) Cube sampled format:Unknown - 132: TypePointer UniformConstant 131 - 133(g_tTexcdi4): 132(ptr) Variable UniformConstant - 136: TypeSampledImage 131 - 140: TypeImage 37(int) Cube sampled format:Unknown - 141: TypePointer UniformConstant 140 - 142(g_tTexcdu4): 141(ptr) Variable UniformConstant - 145: TypeSampledImage 140 - 148(VS_OUTPUT): TypeStruct 7(fvec4) - 149: TypePointer Function 148(VS_OUTPUT) - 151: 24(int) Constant 0 - 152: 6(float) Constant 0 - 153: 7(fvec4) ConstantComposite 152 152 152 152 - 155: TypePointer Output 7(fvec4) - 156(Pos): 155(ptr) Variable Output -160(g_tTex1df4a): 11(ptr) Variable UniformConstant -161(PerVertex_out): TypeStruct 7(fvec4) - 162: TypePointer Output 161(PerVertex_out) -163(PerVertex_out): 162(ptr) Variable Output + 16(g_tTex1df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: 6(float) Constant 1036831949 + 25: 6(float) Constant 1066192077 + 26: 6(float) Constant 1067030938 + 28: TypeInt 32 1 + 29: TypeVector 28(int) 4 + 30: TypePointer Function 29(ivec4) + 32: TypeImage 28(int) 1D sampled format:Unknown + 33: TypePointer UniformConstant 32 + 34(g_tTex1di4): 33(ptr) Variable UniformConstant + 37: TypeSampledImage 32 + 39: 6(float) Constant 1045220557 + 41: TypeInt 32 0 + 42: TypeVector 41(int) 4 + 43: TypePointer Function 42(ivec4) + 45: TypeImage 41(int) 1D sampled format:Unknown + 46: TypePointer UniformConstant 45 + 47(g_tTex1du4): 46(ptr) Variable UniformConstant + 50: TypeSampledImage 45 + 52: 6(float) Constant 1050253722 + 55: TypeImage 6(float) 2D sampled format:Unknown + 56: TypePointer UniformConstant 55 + 57(g_tTex2df4): 56(ptr) Variable UniformConstant + 60: TypeSampledImage 55 + 62: TypeVector 6(float) 2 + 63: 62(fvec2) ConstantComposite 24 39 + 64: 62(fvec2) ConstantComposite 25 26 + 67: TypeImage 28(int) 2D sampled format:Unknown + 68: TypePointer UniformConstant 67 + 69(g_tTex2di4): 68(ptr) Variable UniformConstant + 72: TypeSampledImage 67 + 74: 6(float) Constant 1053609165 + 75: 62(fvec2) ConstantComposite 52 74 + 78: TypeImage 41(int) 2D sampled format:Unknown + 79: TypePointer UniformConstant 78 + 80(g_tTex2du4): 79(ptr) Variable UniformConstant + 83: TypeSampledImage 78 + 85: 6(float) Constant 1056964608 + 86: 6(float) Constant 1058642330 + 87: 62(fvec2) ConstantComposite 85 86 + 90: TypeImage 6(float) 3D sampled format:Unknown + 91: TypePointer UniformConstant 90 + 92(g_tTex3df4): 91(ptr) Variable UniformConstant + 95: TypeSampledImage 90 + 97: TypeVector 6(float) 3 + 98: 97(fvec3) ConstantComposite 24 39 52 + 99: 6(float) Constant 1067869798 + 100: 97(fvec3) ConstantComposite 25 26 99 + 103: TypeImage 28(int) 3D sampled format:Unknown + 104: TypePointer UniformConstant 103 + 105(g_tTex3di4): 104(ptr) Variable UniformConstant + 108: TypeSampledImage 103 + 110: 97(fvec3) ConstantComposite 74 85 86 + 113: TypeImage 41(int) 3D sampled format:Unknown + 114: TypePointer UniformConstant 113 + 115(g_tTex3du4): 114(ptr) Variable UniformConstant + 118: TypeSampledImage 113 + 120: 6(float) Constant 1060320051 + 121: 6(float) Constant 1061997773 + 122: 6(float) Constant 1063675494 + 123: 97(fvec3) ConstantComposite 120 121 122 + 126: TypeImage 6(float) Cube sampled format:Unknown + 127: TypePointer UniformConstant 126 + 128(g_tTexcdf4): 127(ptr) Variable UniformConstant + 131: TypeSampledImage 126 + 135: TypeImage 28(int) Cube sampled format:Unknown + 136: TypePointer UniformConstant 135 + 137(g_tTexcdi4): 136(ptr) Variable UniformConstant + 140: TypeSampledImage 135 + 144: TypeImage 41(int) Cube sampled format:Unknown + 145: TypePointer UniformConstant 144 + 146(g_tTexcdu4): 145(ptr) Variable UniformConstant + 149: TypeSampledImage 144 + 152(VS_OUTPUT): TypeStruct 7(fvec4) + 153: TypePointer Function 152(VS_OUTPUT) + 155: 28(int) Constant 0 + 156: 6(float) Constant 0 + 157: 7(fvec4) ConstantComposite 156 156 156 156 + 160: TypePointer Function 8(VS_OUTPUT) + 167: TypePointer Output 7(fvec4) +168(@entryPointOutput_Pos): 167(ptr) Variable Output +171(g_tTex1df4a): 15(ptr) Variable UniformConstant +172(PerVertex_out): TypeStruct 7(fvec4) + 173: TypePointer Output 172(PerVertex_out) +174(PerVertex_out): 173(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 9(txval10): 8(ptr) Variable Function - 27(txval11): 26(ptr) Variable Function - 40(txval12): 39(ptr) Variable Function - 50(txval20): 8(ptr) Variable Function - 62(txval21): 26(ptr) Variable Function - 73(txval22): 39(ptr) Variable Function - 85(txval30): 8(ptr) Variable Function - 98(txval31): 26(ptr) Variable Function - 108(txval32): 39(ptr) Variable Function - 121(txval40): 8(ptr) Variable Function - 130(txval41): 26(ptr) Variable Function - 139(txval42): 39(ptr) Variable Function - 150(vsout): 149(ptr) Variable Function - 13: 10 Load 12(g_tTex1df4) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 23: 7(fvec4) ImageSampleExplicitLod 19 20 Grad 21 22 - Store 9(txval10) 23 - 31: 28 Load 30(g_tTex1di4) - 32: 14 Load 16(g_sSamp) - 34: 33 SampledImage 31 32 - 36: 25(ivec4) ImageSampleExplicitLod 34 35 Grad 21 22 - Store 27(txval11) 36 - 44: 41 Load 43(g_tTex1du4) - 45: 14 Load 16(g_sSamp) - 47: 46 SampledImage 44 45 - 49: 38(ivec4) ImageSampleExplicitLod 47 48 Grad 21 22 - Store 40(txval12) 49 - 54: 51 Load 53(g_tTex2df4) - 55: 14 Load 16(g_sSamp) - 57: 56 SampledImage 54 55 - 61: 7(fvec4) ImageSampleExplicitLod 57 59 Grad 60 60 - Store 50(txval20) 61 - 66: 63 Load 65(g_tTex2di4) - 67: 14 Load 16(g_sSamp) - 69: 68 SampledImage 66 67 - 72: 25(ivec4) ImageSampleExplicitLod 69 71 Grad 60 60 - Store 62(txval21) 72 - 77: 74 Load 76(g_tTex2du4) - 78: 14 Load 16(g_sSamp) - 80: 79 SampledImage 77 78 - 84: 38(ivec4) ImageSampleExplicitLod 80 83 Grad 60 60 - Store 73(txval22) 84 - 89: 86 Load 88(g_tTex3df4) - 90: 14 Load 16(g_sSamp) - 92: 91 SampledImage 89 90 - 97: 7(fvec4) ImageSampleExplicitLod 92 94 Grad 96 96 - Store 85(txval30) 97 - 102: 99 Load 101(g_tTex3di4) - 103: 14 Load 16(g_sSamp) - 105: 104 SampledImage 102 103 - 107: 25(ivec4) ImageSampleExplicitLod 105 106 Grad 96 96 - Store 98(txval31) 107 - 112: 109 Load 111(g_tTex3du4) - 113: 14 Load 16(g_sSamp) - 115: 114 SampledImage 112 113 - 120: 38(ivec4) ImageSampleExplicitLod 115 119 Grad 96 96 - Store 108(txval32) 120 - 125: 122 Load 124(g_tTexcdf4) - 126: 14 Load 16(g_sSamp) - 128: 127 SampledImage 125 126 - 129: 7(fvec4) ImageSampleExplicitLod 128 94 Grad 96 96 - Store 121(txval40) 129 - 134: 131 Load 133(g_tTexcdi4) - 135: 14 Load 16(g_sSamp) - 137: 136 SampledImage 134 135 - 138: 25(ivec4) ImageSampleExplicitLod 137 106 Grad 96 96 - Store 130(txval41) 138 - 143: 140 Load 142(g_tTexcdu4) - 144: 14 Load 16(g_sSamp) - 146: 145 SampledImage 143 144 - 147: 38(ivec4) ImageSampleExplicitLod 146 119 Grad 96 96 - Store 139(txval42) 147 - 154: 8(ptr) AccessChain 150(vsout) 151 - Store 154 153 - 157: 8(ptr) AccessChain 150(vsout) 151 - 158: 7(fvec4) Load 157 - Store 156(Pos) 158 + 169:8(VS_OUTPUT) FunctionCall 10(@main() + 170: 7(fvec4) CompositeExtract 169 0 + Store 168(@entryPointOutput_Pos) 170 Return FunctionEnd + 10(@main():8(VS_OUTPUT) Function None 9 + 11: Label + 13(txval10): 12(ptr) Variable Function + 31(txval11): 30(ptr) Variable Function + 44(txval12): 43(ptr) Variable Function + 54(txval20): 12(ptr) Variable Function + 66(txval21): 30(ptr) Variable Function + 77(txval22): 43(ptr) Variable Function + 89(txval30): 12(ptr) Variable Function + 102(txval31): 30(ptr) Variable Function + 112(txval32): 43(ptr) Variable Function + 125(txval40): 12(ptr) Variable Function + 134(txval41): 30(ptr) Variable Function + 143(txval42): 43(ptr) Variable Function + 154(vsout): 153(ptr) Variable Function + 161: 160(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 27: 7(fvec4) ImageSampleExplicitLod 23 24 Grad 25 26 + Store 13(txval10) 27 + 35: 32 Load 34(g_tTex1di4) + 36: 18 Load 20(g_sSamp) + 38: 37 SampledImage 35 36 + 40: 29(ivec4) ImageSampleExplicitLod 38 39 Grad 25 26 + Store 31(txval11) 40 + 48: 45 Load 47(g_tTex1du4) + 49: 18 Load 20(g_sSamp) + 51: 50 SampledImage 48 49 + 53: 42(ivec4) ImageSampleExplicitLod 51 52 Grad 25 26 + Store 44(txval12) 53 + 58: 55 Load 57(g_tTex2df4) + 59: 18 Load 20(g_sSamp) + 61: 60 SampledImage 58 59 + 65: 7(fvec4) ImageSampleExplicitLod 61 63 Grad 64 64 + Store 54(txval20) 65 + 70: 67 Load 69(g_tTex2di4) + 71: 18 Load 20(g_sSamp) + 73: 72 SampledImage 70 71 + 76: 29(ivec4) ImageSampleExplicitLod 73 75 Grad 64 64 + Store 66(txval21) 76 + 81: 78 Load 80(g_tTex2du4) + 82: 18 Load 20(g_sSamp) + 84: 83 SampledImage 81 82 + 88: 42(ivec4) ImageSampleExplicitLod 84 87 Grad 64 64 + Store 77(txval22) 88 + 93: 90 Load 92(g_tTex3df4) + 94: 18 Load 20(g_sSamp) + 96: 95 SampledImage 93 94 + 101: 7(fvec4) ImageSampleExplicitLod 96 98 Grad 100 100 + Store 89(txval30) 101 + 106: 103 Load 105(g_tTex3di4) + 107: 18 Load 20(g_sSamp) + 109: 108 SampledImage 106 107 + 111: 29(ivec4) ImageSampleExplicitLod 109 110 Grad 100 100 + Store 102(txval31) 111 + 116: 113 Load 115(g_tTex3du4) + 117: 18 Load 20(g_sSamp) + 119: 118 SampledImage 116 117 + 124: 42(ivec4) ImageSampleExplicitLod 119 123 Grad 100 100 + Store 112(txval32) 124 + 129: 126 Load 128(g_tTexcdf4) + 130: 18 Load 20(g_sSamp) + 132: 131 SampledImage 129 130 + 133: 7(fvec4) ImageSampleExplicitLod 132 98 Grad 100 100 + Store 125(txval40) 133 + 138: 135 Load 137(g_tTexcdi4) + 139: 18 Load 20(g_sSamp) + 141: 140 SampledImage 138 139 + 142: 29(ivec4) ImageSampleExplicitLod 141 110 Grad 100 100 + Store 134(txval41) 142 + 147: 144 Load 146(g_tTexcdu4) + 148: 18 Load 20(g_sSamp) + 150: 149 SampledImage 147 148 + 151: 42(ivec4) ImageSampleExplicitLod 150 123 Grad 100 100 + Store 143(txval42) 151 + 158: 12(ptr) AccessChain 154(vsout) 155 + Store 158 157 + 159:152(VS_OUTPUT) Load 154(vsout) + 162: 7(fvec4) CompositeExtract 159 0 + 163: 12(ptr) AccessChain 161 155 + Store 163 162 + 164:8(VS_OUTPUT) Load 161 + ReturnValue 164 + FunctionEnd diff --git a/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out index 7938e527..cd8d757b 100644 --- a/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.samplegrad.offset.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:28 Function Parameters: 0:? Sequence 0:31 Sequence @@ -193,24 +193,28 @@ gl_FragCoord origin is upper left 0:46 1 (const int) 0:46 Constant: 0:46 1.000000 -0:48 Sequence -0:48 Sequence -0:48 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:48 Color: direct index for structure (temp 4-component vector of float) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:48 Constant: -0:48 0 (const int) -0:48 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:48 Depth: direct index for structure (temp float) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:48 Constant: -0:48 1 (const int) -0:48 Branch: Return +0:48 Branch: Return with expression +0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: main( (temp void) +0:28 Function Parameters: +0:? Sequence +0:28 Sequence +0:28 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:28 Color: direct index for structure (temp 4-component vector of float) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 0 (const int) +0:28 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:28 Depth: direct index for structure (temp float) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -225,6 +229,8 @@ gl_FragCoord origin is upper left 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: @@ -233,7 +239,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:28 Function Parameters: 0:? Sequence 0:31 Sequence @@ -424,24 +430,28 @@ gl_FragCoord origin is upper left 0:46 1 (const int) 0:46 Constant: 0:46 1.000000 -0:48 Sequence -0:48 Sequence -0:48 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:48 Color: direct index for structure (temp 4-component vector of float) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:48 Constant: -0:48 0 (const int) -0:48 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:48 Depth: direct index for structure (temp float) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:48 Constant: -0:48 1 (const int) -0:48 Branch: Return +0:48 Branch: Return with expression +0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: main( (temp void) +0:28 Function Parameters: +0:? Sequence +0:28 Sequence +0:28 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:28 Color: direct index for structure (temp 4-component vector of float) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 0 (const int) +0:28 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:28 Depth: direct index for structure (temp float) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -456,234 +466,247 @@ gl_FragCoord origin is upper left 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 159 +// Id's are bound by 166 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 141 145 + EntryPoint Fragment 4 "main" 149 153 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval10" - Name 12 "g_tTex1df4" - Name 16 "g_sSamp" - Name 28 "txval11" - Name 31 "g_tTex1di4" - Name 41 "txval12" - Name 44 "g_tTex1du4" - Name 51 "txval20" - Name 54 "g_tTex2df4" - Name 66 "txval21" - Name 69 "g_tTex2di4" - Name 78 "txval22" - Name 81 "g_tTex2du4" - Name 92 "txval30" - Name 95 "g_tTex3df4" - Name 107 "txval31" - Name 110 "g_tTex3di4" - Name 118 "txval32" - Name 121 "g_tTex3du4" - Name 132 "PS_OUTPUT" - MemberName 132(PS_OUTPUT) 0 "Color" - MemberName 132(PS_OUTPUT) 1 "Depth" - Name 134 "psout" - Name 141 "Color" - Name 145 "Depth" - Name 149 "g_tTex1df4a" - Name 152 "g_tTexcdf4" - Name 155 "g_tTexcdi4" - Name 158 "g_tTexcdu4" - Decorate 12(g_tTex1df4) DescriptorSet 0 - Decorate 12(g_tTex1df4) Binding 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - Decorate 31(g_tTex1di4) DescriptorSet 0 - Decorate 44(g_tTex1du4) DescriptorSet 0 - Decorate 54(g_tTex2df4) DescriptorSet 0 - Decorate 69(g_tTex2di4) DescriptorSet 0 - Decorate 81(g_tTex2du4) DescriptorSet 0 - Decorate 95(g_tTex3df4) DescriptorSet 0 - Decorate 110(g_tTex3di4) DescriptorSet 0 - Decorate 121(g_tTex3du4) DescriptorSet 0 - Decorate 141(Color) Location 0 - Decorate 145(Depth) BuiltIn FragDepth - Decorate 149(g_tTex1df4a) DescriptorSet 0 - Decorate 149(g_tTex1df4a) Binding 1 - Decorate 152(g_tTexcdf4) DescriptorSet 0 - Decorate 155(g_tTexcdi4) DescriptorSet 0 - Decorate 158(g_tTexcdu4) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval10" + Name 16 "g_tTex1df4" + Name 20 "g_sSamp" + Name 32 "txval11" + Name 35 "g_tTex1di4" + Name 45 "txval12" + Name 48 "g_tTex1du4" + Name 55 "txval20" + Name 58 "g_tTex2df4" + Name 70 "txval21" + Name 73 "g_tTex2di4" + Name 82 "txval22" + Name 85 "g_tTex2du4" + Name 96 "txval30" + Name 99 "g_tTex3df4" + Name 111 "txval31" + Name 114 "g_tTex3di4" + Name 122 "txval32" + Name 125 "g_tTex3du4" + Name 137 "psout" + Name 146 "flattenTemp" + Name 149 "Color" + Name 153 "Depth" + Name 156 "g_tTex1df4a" + Name 159 "g_tTexcdf4" + Name 162 "g_tTexcdi4" + Name 165 "g_tTexcdu4" + Decorate 16(g_tTex1df4) DescriptorSet 0 + Decorate 16(g_tTex1df4) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 35(g_tTex1di4) DescriptorSet 0 + Decorate 48(g_tTex1du4) DescriptorSet 0 + Decorate 58(g_tTex2df4) DescriptorSet 0 + Decorate 73(g_tTex2di4) DescriptorSet 0 + Decorate 85(g_tTex2du4) DescriptorSet 0 + Decorate 99(g_tTex3df4) DescriptorSet 0 + Decorate 114(g_tTex3di4) DescriptorSet 0 + Decorate 125(g_tTex3du4) DescriptorSet 0 + Decorate 149(Color) Location 0 + Decorate 153(Depth) BuiltIn FragDepth + Decorate 156(g_tTex1df4a) DescriptorSet 0 + Decorate 156(g_tTex1df4a) Binding 1 + Decorate 159(g_tTexcdf4) DescriptorSet 0 + Decorate 162(g_tTexcdi4) DescriptorSet 0 + Decorate 165(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 1D sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex1df4): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 1D sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: 6(float) Constant 1036831949 - 21: 6(float) Constant 1066192077 - 22: 6(float) Constant 1067030938 - 23: TypeInt 32 1 - 24: 23(int) Constant 1 - 26: TypeVector 23(int) 4 - 27: TypePointer Function 26(ivec4) - 29: TypeImage 23(int) 1D sampled format:Unknown - 30: TypePointer UniformConstant 29 - 31(g_tTex1di4): 30(ptr) Variable UniformConstant - 34: TypeSampledImage 29 - 36: 6(float) Constant 1045220557 - 38: TypeInt 32 0 - 39: TypeVector 38(int) 4 - 40: TypePointer Function 39(ivec4) - 42: TypeImage 38(int) 1D sampled format:Unknown - 43: TypePointer UniformConstant 42 - 44(g_tTex1du4): 43(ptr) Variable UniformConstant - 47: TypeSampledImage 42 - 49: 6(float) Constant 1050253722 - 52: TypeImage 6(float) 2D sampled format:Unknown - 53: TypePointer UniformConstant 52 - 54(g_tTex2df4): 53(ptr) Variable UniformConstant - 57: TypeSampledImage 52 - 59: TypeVector 6(float) 2 - 60: 59(fvec2) ConstantComposite 20 36 - 61: 59(fvec2) ConstantComposite 21 22 - 62: TypeVector 23(int) 2 - 63: 23(int) Constant 0 - 64: 62(ivec2) ConstantComposite 24 63 - 67: TypeImage 23(int) 2D sampled format:Unknown - 68: TypePointer UniformConstant 67 - 69(g_tTex2di4): 68(ptr) Variable UniformConstant - 72: TypeSampledImage 67 - 74: 6(float) Constant 1053609165 - 75: 59(fvec2) ConstantComposite 49 74 - 76: 62(ivec2) ConstantComposite 24 24 - 79: TypeImage 38(int) 2D sampled format:Unknown - 80: TypePointer UniformConstant 79 - 81(g_tTex2du4): 80(ptr) Variable UniformConstant - 84: TypeSampledImage 79 - 86: 6(float) Constant 1056964608 - 87: 6(float) Constant 1058642330 - 88: 59(fvec2) ConstantComposite 86 87 - 89: 23(int) Constant 4294967295 - 90: 62(ivec2) ConstantComposite 24 89 - 93: TypeImage 6(float) 3D sampled format:Unknown - 94: TypePointer UniformConstant 93 - 95(g_tTex3df4): 94(ptr) Variable UniformConstant - 98: TypeSampledImage 93 - 100: TypeVector 6(float) 3 - 101: 100(fvec3) ConstantComposite 20 36 49 - 102: 6(float) Constant 1067869798 - 103: 100(fvec3) ConstantComposite 21 22 102 - 104: TypeVector 23(int) 3 - 105: 104(ivec3) ConstantComposite 24 63 24 - 108: TypeImage 23(int) 3D sampled format:Unknown - 109: TypePointer UniformConstant 108 - 110(g_tTex3di4): 109(ptr) Variable UniformConstant - 113: TypeSampledImage 108 - 115: 100(fvec3) ConstantComposite 74 86 87 - 116: 104(ivec3) ConstantComposite 24 24 24 - 119: TypeImage 38(int) 3D sampled format:Unknown - 120: TypePointer UniformConstant 119 - 121(g_tTex3du4): 120(ptr) Variable UniformConstant - 124: TypeSampledImage 119 - 126: 6(float) Constant 1060320051 - 127: 6(float) Constant 1061997773 - 128: 6(float) Constant 1063675494 - 129: 100(fvec3) ConstantComposite 126 127 128 - 130: 104(ivec3) ConstantComposite 24 63 89 - 132(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 133: TypePointer Function 132(PS_OUTPUT) - 135: 6(float) Constant 1065353216 - 136: 7(fvec4) ConstantComposite 135 135 135 135 - 138: TypePointer Function 6(float) - 140: TypePointer Output 7(fvec4) - 141(Color): 140(ptr) Variable Output - 144: TypePointer Output 6(float) - 145(Depth): 144(ptr) Variable Output -149(g_tTex1df4a): 11(ptr) Variable UniformConstant - 150: TypeImage 6(float) Cube sampled format:Unknown - 151: TypePointer UniformConstant 150 - 152(g_tTexcdf4): 151(ptr) Variable UniformConstant - 153: TypeImage 23(int) Cube sampled format:Unknown - 154: TypePointer UniformConstant 153 - 155(g_tTexcdi4): 154(ptr) Variable UniformConstant - 156: TypeImage 38(int) Cube sampled format:Unknown - 157: TypePointer UniformConstant 156 - 158(g_tTexcdu4): 157(ptr) Variable UniformConstant + 16(g_tTex1df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: 6(float) Constant 1036831949 + 25: 6(float) Constant 1066192077 + 26: 6(float) Constant 1067030938 + 27: TypeInt 32 1 + 28: 27(int) Constant 1 + 30: TypeVector 27(int) 4 + 31: TypePointer Function 30(ivec4) + 33: TypeImage 27(int) 1D sampled format:Unknown + 34: TypePointer UniformConstant 33 + 35(g_tTex1di4): 34(ptr) Variable UniformConstant + 38: TypeSampledImage 33 + 40: 6(float) Constant 1045220557 + 42: TypeInt 32 0 + 43: TypeVector 42(int) 4 + 44: TypePointer Function 43(ivec4) + 46: TypeImage 42(int) 1D sampled format:Unknown + 47: TypePointer UniformConstant 46 + 48(g_tTex1du4): 47(ptr) Variable UniformConstant + 51: TypeSampledImage 46 + 53: 6(float) Constant 1050253722 + 56: TypeImage 6(float) 2D sampled format:Unknown + 57: TypePointer UniformConstant 56 + 58(g_tTex2df4): 57(ptr) Variable UniformConstant + 61: TypeSampledImage 56 + 63: TypeVector 6(float) 2 + 64: 63(fvec2) ConstantComposite 24 40 + 65: 63(fvec2) ConstantComposite 25 26 + 66: TypeVector 27(int) 2 + 67: 27(int) Constant 0 + 68: 66(ivec2) ConstantComposite 28 67 + 71: TypeImage 27(int) 2D sampled format:Unknown + 72: TypePointer UniformConstant 71 + 73(g_tTex2di4): 72(ptr) Variable UniformConstant + 76: TypeSampledImage 71 + 78: 6(float) Constant 1053609165 + 79: 63(fvec2) ConstantComposite 53 78 + 80: 66(ivec2) ConstantComposite 28 28 + 83: TypeImage 42(int) 2D sampled format:Unknown + 84: TypePointer UniformConstant 83 + 85(g_tTex2du4): 84(ptr) Variable UniformConstant + 88: TypeSampledImage 83 + 90: 6(float) Constant 1056964608 + 91: 6(float) Constant 1058642330 + 92: 63(fvec2) ConstantComposite 90 91 + 93: 27(int) Constant 4294967295 + 94: 66(ivec2) ConstantComposite 28 93 + 97: TypeImage 6(float) 3D sampled format:Unknown + 98: TypePointer UniformConstant 97 + 99(g_tTex3df4): 98(ptr) Variable UniformConstant + 102: TypeSampledImage 97 + 104: TypeVector 6(float) 3 + 105: 104(fvec3) ConstantComposite 24 40 53 + 106: 6(float) Constant 1067869798 + 107: 104(fvec3) ConstantComposite 25 26 106 + 108: TypeVector 27(int) 3 + 109: 108(ivec3) ConstantComposite 28 67 28 + 112: TypeImage 27(int) 3D sampled format:Unknown + 113: TypePointer UniformConstant 112 + 114(g_tTex3di4): 113(ptr) Variable UniformConstant + 117: TypeSampledImage 112 + 119: 104(fvec3) ConstantComposite 78 90 91 + 120: 108(ivec3) ConstantComposite 28 28 28 + 123: TypeImage 42(int) 3D sampled format:Unknown + 124: TypePointer UniformConstant 123 + 125(g_tTex3du4): 124(ptr) Variable UniformConstant + 128: TypeSampledImage 123 + 130: 6(float) Constant 1060320051 + 131: 6(float) Constant 1061997773 + 132: 6(float) Constant 1063675494 + 133: 104(fvec3) ConstantComposite 130 131 132 + 134: 108(ivec3) ConstantComposite 28 67 93 + 136: TypePointer Function 8(PS_OUTPUT) + 138: 6(float) Constant 1065353216 + 139: 7(fvec4) ConstantComposite 138 138 138 138 + 141: TypePointer Function 6(float) + 148: TypePointer Output 7(fvec4) + 149(Color): 148(ptr) Variable Output + 152: TypePointer Output 6(float) + 153(Depth): 152(ptr) Variable Output +156(g_tTex1df4a): 15(ptr) Variable UniformConstant + 157: TypeImage 6(float) Cube sampled format:Unknown + 158: TypePointer UniformConstant 157 + 159(g_tTexcdf4): 158(ptr) Variable UniformConstant + 160: TypeImage 27(int) Cube sampled format:Unknown + 161: TypePointer UniformConstant 160 + 162(g_tTexcdi4): 161(ptr) Variable UniformConstant + 163: TypeImage 42(int) Cube sampled format:Unknown + 164: TypePointer UniformConstant 163 + 165(g_tTexcdu4): 164(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval10): 8(ptr) Variable Function - 28(txval11): 27(ptr) Variable Function - 41(txval12): 40(ptr) Variable Function - 51(txval20): 8(ptr) Variable Function - 66(txval21): 27(ptr) Variable Function - 78(txval22): 40(ptr) Variable Function - 92(txval30): 8(ptr) Variable Function - 107(txval31): 27(ptr) Variable Function - 118(txval32): 40(ptr) Variable Function - 134(psout): 133(ptr) Variable Function - 13: 10 Load 12(g_tTex1df4) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 25: 7(fvec4) ImageSampleExplicitLod 19 20 Grad ConstOffset 21 22 24 - Store 9(txval10) 25 - 32: 29 Load 31(g_tTex1di4) - 33: 14 Load 16(g_sSamp) - 35: 34 SampledImage 32 33 - 37: 26(ivec4) ImageSampleExplicitLod 35 36 Grad ConstOffset 21 22 24 - Store 28(txval11) 37 - 45: 42 Load 44(g_tTex1du4) - 46: 14 Load 16(g_sSamp) - 48: 47 SampledImage 45 46 - 50: 39(ivec4) ImageSampleExplicitLod 48 49 Grad ConstOffset 21 22 24 - Store 41(txval12) 50 - 55: 52 Load 54(g_tTex2df4) - 56: 14 Load 16(g_sSamp) - 58: 57 SampledImage 55 56 - 65: 7(fvec4) ImageSampleExplicitLod 58 60 Grad ConstOffset 60 61 64 - Store 51(txval20) 65 - 70: 67 Load 69(g_tTex2di4) - 71: 14 Load 16(g_sSamp) - 73: 72 SampledImage 70 71 - 77: 26(ivec4) ImageSampleExplicitLod 73 75 Grad ConstOffset 60 61 76 - Store 66(txval21) 77 - 82: 79 Load 81(g_tTex2du4) - 83: 14 Load 16(g_sSamp) - 85: 84 SampledImage 82 83 - 91: 39(ivec4) ImageSampleExplicitLod 85 88 Grad ConstOffset 60 61 90 - Store 78(txval22) 91 - 96: 93 Load 95(g_tTex3df4) - 97: 14 Load 16(g_sSamp) - 99: 98 SampledImage 96 97 - 106: 7(fvec4) ImageSampleExplicitLod 99 101 Grad ConstOffset 103 103 105 - Store 92(txval30) 106 - 111: 108 Load 110(g_tTex3di4) - 112: 14 Load 16(g_sSamp) - 114: 113 SampledImage 111 112 - 117: 26(ivec4) ImageSampleExplicitLod 114 115 Grad ConstOffset 103 103 116 - Store 107(txval31) 117 - 122: 119 Load 121(g_tTex3du4) - 123: 14 Load 16(g_sSamp) - 125: 124 SampledImage 122 123 - 131: 39(ivec4) ImageSampleExplicitLod 125 129 Grad ConstOffset 103 103 130 - Store 118(txval32) 131 - 137: 8(ptr) AccessChain 134(psout) 63 - Store 137 136 - 139: 138(ptr) AccessChain 134(psout) 24 - Store 139 135 - 142: 8(ptr) AccessChain 134(psout) 63 - 143: 7(fvec4) Load 142 - Store 141(Color) 143 - 146: 138(ptr) AccessChain 134(psout) 24 - 147: 6(float) Load 146 - Store 145(Depth) 147 +146(flattenTemp): 136(ptr) Variable Function + 147:8(PS_OUTPUT) FunctionCall 10(@main() + Store 146(flattenTemp) 147 + 150: 12(ptr) AccessChain 146(flattenTemp) 67 + 151: 7(fvec4) Load 150 + Store 149(Color) 151 + 154: 141(ptr) AccessChain 146(flattenTemp) 28 + 155: 6(float) Load 154 + Store 153(Depth) 155 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval10): 12(ptr) Variable Function + 32(txval11): 31(ptr) Variable Function + 45(txval12): 44(ptr) Variable Function + 55(txval20): 12(ptr) Variable Function + 70(txval21): 31(ptr) Variable Function + 82(txval22): 44(ptr) Variable Function + 96(txval30): 12(ptr) Variable Function + 111(txval31): 31(ptr) Variable Function + 122(txval32): 44(ptr) Variable Function + 137(psout): 136(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 29: 7(fvec4) ImageSampleExplicitLod 23 24 Grad ConstOffset 25 26 28 + Store 13(txval10) 29 + 36: 33 Load 35(g_tTex1di4) + 37: 18 Load 20(g_sSamp) + 39: 38 SampledImage 36 37 + 41: 30(ivec4) ImageSampleExplicitLod 39 40 Grad ConstOffset 25 26 28 + Store 32(txval11) 41 + 49: 46 Load 48(g_tTex1du4) + 50: 18 Load 20(g_sSamp) + 52: 51 SampledImage 49 50 + 54: 43(ivec4) ImageSampleExplicitLod 52 53 Grad ConstOffset 25 26 28 + Store 45(txval12) 54 + 59: 56 Load 58(g_tTex2df4) + 60: 18 Load 20(g_sSamp) + 62: 61 SampledImage 59 60 + 69: 7(fvec4) ImageSampleExplicitLod 62 64 Grad ConstOffset 64 65 68 + Store 55(txval20) 69 + 74: 71 Load 73(g_tTex2di4) + 75: 18 Load 20(g_sSamp) + 77: 76 SampledImage 74 75 + 81: 30(ivec4) ImageSampleExplicitLod 77 79 Grad ConstOffset 64 65 80 + Store 70(txval21) 81 + 86: 83 Load 85(g_tTex2du4) + 87: 18 Load 20(g_sSamp) + 89: 88 SampledImage 86 87 + 95: 43(ivec4) ImageSampleExplicitLod 89 92 Grad ConstOffset 64 65 94 + Store 82(txval22) 95 + 100: 97 Load 99(g_tTex3df4) + 101: 18 Load 20(g_sSamp) + 103: 102 SampledImage 100 101 + 110: 7(fvec4) ImageSampleExplicitLod 103 105 Grad ConstOffset 107 107 109 + Store 96(txval30) 110 + 115: 112 Load 114(g_tTex3di4) + 116: 18 Load 20(g_sSamp) + 118: 117 SampledImage 115 116 + 121: 30(ivec4) ImageSampleExplicitLod 118 119 Grad ConstOffset 107 107 120 + Store 111(txval31) 121 + 126: 123 Load 125(g_tTex3du4) + 127: 18 Load 20(g_sSamp) + 129: 128 SampledImage 126 127 + 135: 43(ivec4) ImageSampleExplicitLod 129 133 Grad ConstOffset 107 107 134 + Store 122(txval32) 135 + 140: 12(ptr) AccessChain 137(psout) 67 + Store 140 139 + 142: 141(ptr) AccessChain 137(psout) 28 + Store 142 138 + 143:8(PS_OUTPUT) Load 137(psout) + ReturnValue 143 + FunctionEnd diff --git a/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out index dee78bc4..77b411ea 100644 --- a/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.samplegrad.offsetarray.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:24 Function Parameters: 0:? Sequence 0:27 Sequence @@ -130,24 +130,28 @@ gl_FragCoord origin is upper left 0:36 1 (const int) 0:36 Constant: 0:36 1.000000 -0:38 Sequence -0:38 Sequence -0:38 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:38 Color: direct index for structure (temp 4-component vector of float) -0:38 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:38 Constant: -0:38 0 (const int) -0:38 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:38 Depth: direct index for structure (temp float) -0:38 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:38 Constant: -0:38 1 (const int) -0:38 Branch: Return +0:38 Branch: Return with expression +0:38 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: main( (temp void) +0:24 Function Parameters: +0:? Sequence +0:24 Sequence +0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:24 Color: direct index for structure (temp 4-component vector of float) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:24 Depth: direct index for structure (temp float) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -159,6 +163,8 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' (uniform textureCubeArray) 0:? 'g_tTexcdi4' (uniform itextureCubeArray) 0:? 'g_tTexcdu4' (uniform utextureCubeArray) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -167,7 +173,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:24 Function Parameters: 0:? Sequence 0:27 Sequence @@ -295,24 +301,28 @@ gl_FragCoord origin is upper left 0:36 1 (const int) 0:36 Constant: 0:36 1.000000 -0:38 Sequence -0:38 Sequence -0:38 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:38 Color: direct index for structure (temp 4-component vector of float) -0:38 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:38 Constant: -0:38 0 (const int) -0:38 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:38 Depth: direct index for structure (temp float) -0:38 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:38 Constant: -0:38 1 (const int) -0:38 Branch: Return +0:38 Branch: Return with expression +0:38 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: main( (temp void) +0:24 Function Parameters: +0:? Sequence +0:24 Sequence +0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:24 Color: direct index for structure (temp 4-component vector of float) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:24 Depth: direct index for structure (temp float) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -324,177 +334,190 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' (uniform textureCubeArray) 0:? 'g_tTexcdi4' (uniform itextureCubeArray) 0:? 'g_tTexcdu4' (uniform utextureCubeArray) +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 113 +// Id's are bound by 120 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 95 99 + EntryPoint Fragment 4 "main" 103 107 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval10" - Name 12 "g_tTex1df4" - Name 16 "g_sSamp" - Name 31 "txval11" - Name 34 "g_tTex1di4" - Name 43 "txval12" - Name 46 "g_tTex1du4" - Name 52 "txval20" - Name 55 "g_tTex2df4" - Name 68 "txval21" - Name 71 "g_tTex2di4" - Name 77 "txval22" - Name 80 "g_tTex2du4" - Name 86 "PS_OUTPUT" - MemberName 86(PS_OUTPUT) 0 "Color" - MemberName 86(PS_OUTPUT) 1 "Depth" - Name 88 "psout" - Name 95 "Color" - Name 99 "Depth" - Name 103 "g_tTex1df4a" - Name 106 "g_tTexcdf4" - Name 109 "g_tTexcdi4" - Name 112 "g_tTexcdu4" - Decorate 12(g_tTex1df4) DescriptorSet 0 - Decorate 12(g_tTex1df4) Binding 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - Decorate 34(g_tTex1di4) DescriptorSet 0 - Decorate 46(g_tTex1du4) DescriptorSet 0 - Decorate 55(g_tTex2df4) DescriptorSet 0 - Decorate 71(g_tTex2di4) DescriptorSet 0 - Decorate 80(g_tTex2du4) DescriptorSet 0 - Decorate 95(Color) Location 0 - Decorate 99(Depth) BuiltIn FragDepth - Decorate 103(g_tTex1df4a) DescriptorSet 0 - Decorate 103(g_tTex1df4a) Binding 1 - Decorate 106(g_tTexcdf4) DescriptorSet 0 - Decorate 109(g_tTexcdi4) DescriptorSet 0 - Decorate 112(g_tTexcdu4) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval10" + Name 16 "g_tTex1df4" + Name 20 "g_sSamp" + Name 35 "txval11" + Name 38 "g_tTex1di4" + Name 47 "txval12" + Name 50 "g_tTex1du4" + Name 56 "txval20" + Name 59 "g_tTex2df4" + Name 72 "txval21" + Name 75 "g_tTex2di4" + Name 81 "txval22" + Name 84 "g_tTex2du4" + Name 91 "psout" + Name 100 "flattenTemp" + Name 103 "Color" + Name 107 "Depth" + Name 110 "g_tTex1df4a" + Name 113 "g_tTexcdf4" + Name 116 "g_tTexcdi4" + Name 119 "g_tTexcdu4" + Decorate 16(g_tTex1df4) DescriptorSet 0 + Decorate 16(g_tTex1df4) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 38(g_tTex1di4) DescriptorSet 0 + Decorate 50(g_tTex1du4) DescriptorSet 0 + Decorate 59(g_tTex2df4) DescriptorSet 0 + Decorate 75(g_tTex2di4) DescriptorSet 0 + Decorate 84(g_tTex2du4) DescriptorSet 0 + Decorate 103(Color) Location 0 + Decorate 107(Depth) BuiltIn FragDepth + Decorate 110(g_tTex1df4a) DescriptorSet 0 + Decorate 110(g_tTex1df4a) Binding 1 + Decorate 113(g_tTexcdf4) DescriptorSet 0 + Decorate 116(g_tTexcdi4) DescriptorSet 0 + Decorate 119(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 1D array sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex1df4): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 1D array sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: TypeVector 6(float) 2 - 21: 6(float) Constant 1036831949 - 22: 6(float) Constant 1045220557 - 23: 20(fvec2) ConstantComposite 21 22 - 24: 6(float) Constant 1066192077 - 25: 6(float) Constant 1067030938 - 26: TypeInt 32 1 - 27: 26(int) Constant 1 - 29: TypeVector 26(int) 4 - 30: TypePointer Function 29(ivec4) - 32: TypeImage 26(int) 1D array sampled format:Unknown - 33: TypePointer UniformConstant 32 - 34(g_tTex1di4): 33(ptr) Variable UniformConstant - 37: TypeSampledImage 32 - 40: TypeInt 32 0 - 41: TypeVector 40(int) 4 - 42: TypePointer Function 41(ivec4) - 44: TypeImage 40(int) 1D array sampled format:Unknown - 45: TypePointer UniformConstant 44 - 46(g_tTex1du4): 45(ptr) Variable UniformConstant - 49: TypeSampledImage 44 - 53: TypeImage 6(float) 2D array sampled format:Unknown - 54: TypePointer UniformConstant 53 - 55(g_tTex2df4): 54(ptr) Variable UniformConstant - 58: TypeSampledImage 53 - 60: TypeVector 6(float) 3 - 61: 6(float) Constant 1050253722 - 62: 60(fvec3) ConstantComposite 21 22 61 - 63: 20(fvec2) ConstantComposite 24 25 - 64: TypeVector 26(int) 2 - 65: 26(int) Constant 0 - 66: 64(ivec2) ConstantComposite 27 65 - 69: TypeImage 26(int) 2D array sampled format:Unknown - 70: TypePointer UniformConstant 69 - 71(g_tTex2di4): 70(ptr) Variable UniformConstant - 74: TypeSampledImage 69 - 78: TypeImage 40(int) 2D array sampled format:Unknown - 79: TypePointer UniformConstant 78 - 80(g_tTex2du4): 79(ptr) Variable UniformConstant - 83: TypeSampledImage 78 - 86(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 87: TypePointer Function 86(PS_OUTPUT) - 89: 6(float) Constant 1065353216 - 90: 7(fvec4) ConstantComposite 89 89 89 89 - 92: TypePointer Function 6(float) - 94: TypePointer Output 7(fvec4) - 95(Color): 94(ptr) Variable Output - 98: TypePointer Output 6(float) - 99(Depth): 98(ptr) Variable Output -103(g_tTex1df4a): 11(ptr) Variable UniformConstant - 104: TypeImage 6(float) Cube array sampled format:Unknown - 105: TypePointer UniformConstant 104 - 106(g_tTexcdf4): 105(ptr) Variable UniformConstant - 107: TypeImage 26(int) Cube array sampled format:Unknown - 108: TypePointer UniformConstant 107 - 109(g_tTexcdi4): 108(ptr) Variable UniformConstant - 110: TypeImage 40(int) Cube array sampled format:Unknown - 111: TypePointer UniformConstant 110 - 112(g_tTexcdu4): 111(ptr) Variable UniformConstant + 16(g_tTex1df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: TypeVector 6(float) 2 + 25: 6(float) Constant 1036831949 + 26: 6(float) Constant 1045220557 + 27: 24(fvec2) ConstantComposite 25 26 + 28: 6(float) Constant 1066192077 + 29: 6(float) Constant 1067030938 + 30: TypeInt 32 1 + 31: 30(int) Constant 1 + 33: TypeVector 30(int) 4 + 34: TypePointer Function 33(ivec4) + 36: TypeImage 30(int) 1D array sampled format:Unknown + 37: TypePointer UniformConstant 36 + 38(g_tTex1di4): 37(ptr) Variable UniformConstant + 41: TypeSampledImage 36 + 44: TypeInt 32 0 + 45: TypeVector 44(int) 4 + 46: TypePointer Function 45(ivec4) + 48: TypeImage 44(int) 1D array sampled format:Unknown + 49: TypePointer UniformConstant 48 + 50(g_tTex1du4): 49(ptr) Variable UniformConstant + 53: TypeSampledImage 48 + 57: TypeImage 6(float) 2D array sampled format:Unknown + 58: TypePointer UniformConstant 57 + 59(g_tTex2df4): 58(ptr) Variable UniformConstant + 62: TypeSampledImage 57 + 64: TypeVector 6(float) 3 + 65: 6(float) Constant 1050253722 + 66: 64(fvec3) ConstantComposite 25 26 65 + 67: 24(fvec2) ConstantComposite 28 29 + 68: TypeVector 30(int) 2 + 69: 30(int) Constant 0 + 70: 68(ivec2) ConstantComposite 31 69 + 73: TypeImage 30(int) 2D array sampled format:Unknown + 74: TypePointer UniformConstant 73 + 75(g_tTex2di4): 74(ptr) Variable UniformConstant + 78: TypeSampledImage 73 + 82: TypeImage 44(int) 2D array sampled format:Unknown + 83: TypePointer UniformConstant 82 + 84(g_tTex2du4): 83(ptr) Variable UniformConstant + 87: TypeSampledImage 82 + 90: TypePointer Function 8(PS_OUTPUT) + 92: 6(float) Constant 1065353216 + 93: 7(fvec4) ConstantComposite 92 92 92 92 + 95: TypePointer Function 6(float) + 102: TypePointer Output 7(fvec4) + 103(Color): 102(ptr) Variable Output + 106: TypePointer Output 6(float) + 107(Depth): 106(ptr) Variable Output +110(g_tTex1df4a): 15(ptr) Variable UniformConstant + 111: TypeImage 6(float) Cube array sampled format:Unknown + 112: TypePointer UniformConstant 111 + 113(g_tTexcdf4): 112(ptr) Variable UniformConstant + 114: TypeImage 30(int) Cube array sampled format:Unknown + 115: TypePointer UniformConstant 114 + 116(g_tTexcdi4): 115(ptr) Variable UniformConstant + 117: TypeImage 44(int) Cube array sampled format:Unknown + 118: TypePointer UniformConstant 117 + 119(g_tTexcdu4): 118(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval10): 8(ptr) Variable Function - 31(txval11): 30(ptr) Variable Function - 43(txval12): 42(ptr) Variable Function - 52(txval20): 8(ptr) Variable Function - 68(txval21): 30(ptr) Variable Function - 77(txval22): 42(ptr) Variable Function - 88(psout): 87(ptr) Variable Function - 13: 10 Load 12(g_tTex1df4) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 28: 7(fvec4) ImageSampleExplicitLod 19 23 Grad ConstOffset 24 25 27 - Store 9(txval10) 28 - 35: 32 Load 34(g_tTex1di4) - 36: 14 Load 16(g_sSamp) - 38: 37 SampledImage 35 36 - 39: 29(ivec4) ImageSampleExplicitLod 38 23 Grad ConstOffset 24 25 27 - Store 31(txval11) 39 - 47: 44 Load 46(g_tTex1du4) - 48: 14 Load 16(g_sSamp) - 50: 49 SampledImage 47 48 - 51: 41(ivec4) ImageSampleExplicitLod 50 23 Grad ConstOffset 24 25 27 - Store 43(txval12) 51 - 56: 53 Load 55(g_tTex2df4) - 57: 14 Load 16(g_sSamp) - 59: 58 SampledImage 56 57 - 67: 7(fvec4) ImageSampleExplicitLod 59 62 Grad ConstOffset 63 63 66 - Store 52(txval20) 67 - 72: 69 Load 71(g_tTex2di4) - 73: 14 Load 16(g_sSamp) - 75: 74 SampledImage 72 73 - 76: 29(ivec4) ImageSampleExplicitLod 75 62 Grad ConstOffset 63 63 66 - Store 68(txval21) 76 - 81: 78 Load 80(g_tTex2du4) - 82: 14 Load 16(g_sSamp) - 84: 83 SampledImage 81 82 - 85: 41(ivec4) ImageSampleExplicitLod 84 62 Grad ConstOffset 63 63 66 - Store 77(txval22) 85 - 91: 8(ptr) AccessChain 88(psout) 65 - Store 91 90 - 93: 92(ptr) AccessChain 88(psout) 27 - Store 93 89 - 96: 8(ptr) AccessChain 88(psout) 65 - 97: 7(fvec4) Load 96 - Store 95(Color) 97 - 100: 92(ptr) AccessChain 88(psout) 27 - 101: 6(float) Load 100 - Store 99(Depth) 101 +100(flattenTemp): 90(ptr) Variable Function + 101:8(PS_OUTPUT) FunctionCall 10(@main() + Store 100(flattenTemp) 101 + 104: 12(ptr) AccessChain 100(flattenTemp) 69 + 105: 7(fvec4) Load 104 + Store 103(Color) 105 + 108: 95(ptr) AccessChain 100(flattenTemp) 31 + 109: 6(float) Load 108 + Store 107(Depth) 109 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval10): 12(ptr) Variable Function + 35(txval11): 34(ptr) Variable Function + 47(txval12): 46(ptr) Variable Function + 56(txval20): 12(ptr) Variable Function + 72(txval21): 34(ptr) Variable Function + 81(txval22): 46(ptr) Variable Function + 91(psout): 90(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 32: 7(fvec4) ImageSampleExplicitLod 23 27 Grad ConstOffset 28 29 31 + Store 13(txval10) 32 + 39: 36 Load 38(g_tTex1di4) + 40: 18 Load 20(g_sSamp) + 42: 41 SampledImage 39 40 + 43: 33(ivec4) ImageSampleExplicitLod 42 27 Grad ConstOffset 28 29 31 + Store 35(txval11) 43 + 51: 48 Load 50(g_tTex1du4) + 52: 18 Load 20(g_sSamp) + 54: 53 SampledImage 51 52 + 55: 45(ivec4) ImageSampleExplicitLod 54 27 Grad ConstOffset 28 29 31 + Store 47(txval12) 55 + 60: 57 Load 59(g_tTex2df4) + 61: 18 Load 20(g_sSamp) + 63: 62 SampledImage 60 61 + 71: 7(fvec4) ImageSampleExplicitLod 63 66 Grad ConstOffset 67 67 70 + Store 56(txval20) 71 + 76: 73 Load 75(g_tTex2di4) + 77: 18 Load 20(g_sSamp) + 79: 78 SampledImage 76 77 + 80: 33(ivec4) ImageSampleExplicitLod 79 66 Grad ConstOffset 67 67 70 + Store 72(txval21) 80 + 85: 82 Load 84(g_tTex2du4) + 86: 18 Load 20(g_sSamp) + 88: 87 SampledImage 85 86 + 89: 45(ivec4) ImageSampleExplicitLod 88 66 Grad ConstOffset 67 67 70 + Store 81(txval22) 89 + 94: 12(ptr) AccessChain 91(psout) 69 + Store 94 93 + 96: 95(ptr) AccessChain 91(psout) 31 + Store 96 92 + 97:8(PS_OUTPUT) Load 91(psout) + ReturnValue 97 + FunctionEnd diff --git a/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out index afdedb7d..a311d3e4 100644 --- a/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out +++ b/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.samplelevel.array.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:24 Function Parameters: 0:? Sequence 0:27 Sequence @@ -139,24 +139,28 @@ gl_FragCoord origin is upper left 0:40 1 (const int) 0:40 Constant: 0:40 1.000000 -0:42 Sequence -0:42 Sequence -0:42 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:42 Color: direct index for structure (temp 4-component vector of float) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:42 Constant: -0:42 0 (const int) -0:42 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:42 Depth: direct index for structure (temp float) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:42 Constant: -0:42 1 (const int) -0:42 Branch: Return +0:42 Branch: Return with expression +0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: main( (temp void) +0:24 Function Parameters: +0:? Sequence +0:24 Sequence +0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:24 Color: direct index for structure (temp 4-component vector of float) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:24 Depth: direct index for structure (temp float) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -168,6 +172,8 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -176,7 +182,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:24 Function Parameters: 0:? Sequence 0:27 Sequence @@ -313,24 +319,28 @@ gl_FragCoord origin is upper left 0:40 1 (const int) 0:40 Constant: 0:40 1.000000 -0:42 Sequence -0:42 Sequence -0:42 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:42 Color: direct index for structure (temp 4-component vector of float) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:42 Constant: -0:42 0 (const int) -0:42 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:42 Depth: direct index for structure (temp float) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:42 Constant: -0:42 1 (const int) -0:42 Branch: Return +0:42 Branch: Return with expression +0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: main( (temp void) +0:24 Function Parameters: +0:? Sequence +0:24 Sequence +0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:24 Color: direct index for structure (temp 4-component vector of float) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:24 Depth: direct index for structure (temp float) +0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -342,210 +352,223 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +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 140 +// Id's are bound by 147 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 131 135 + EntryPoint Fragment 4 "main" 139 143 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval10" - Name 12 "g_tTex1df4a" - Name 16 "g_sSamp" - Name 29 "txval11" - Name 32 "g_tTex1di4a" - Name 43 "txval12" - Name 46 "g_tTex1du4a" - Name 54 "txval20" - Name 57 "g_tTex2df4a" - Name 65 "txval21" - Name 68 "g_tTex2di4a" - Name 76 "txval22" - Name 79 "g_tTex2du4a" - Name 88 "txval40" - Name 91 "g_tTexcdf4a" - Name 98 "txval41" - Name 101 "g_tTexcdi4a" - Name 108 "txval42" - Name 111 "g_tTexcdu4a" - Name 121 "PS_OUTPUT" - MemberName 121(PS_OUTPUT) 0 "Color" - MemberName 121(PS_OUTPUT) 1 "Depth" - Name 123 "psout" - Name 131 "Color" - Name 135 "Depth" - Name 139 "g_tTex1df4" - Decorate 12(g_tTex1df4a) DescriptorSet 0 - Decorate 12(g_tTex1df4a) Binding 1 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - Decorate 32(g_tTex1di4a) DescriptorSet 0 - Decorate 46(g_tTex1du4a) DescriptorSet 0 - Decorate 57(g_tTex2df4a) DescriptorSet 0 - Decorate 68(g_tTex2di4a) DescriptorSet 0 - Decorate 79(g_tTex2du4a) DescriptorSet 0 - Decorate 91(g_tTexcdf4a) DescriptorSet 0 - Decorate 101(g_tTexcdi4a) DescriptorSet 0 - Decorate 111(g_tTexcdu4a) DescriptorSet 0 - Decorate 131(Color) Location 0 - Decorate 135(Depth) BuiltIn FragDepth - Decorate 139(g_tTex1df4) DescriptorSet 0 - Decorate 139(g_tTex1df4) Binding 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval10" + Name 16 "g_tTex1df4a" + Name 20 "g_sSamp" + Name 33 "txval11" + Name 36 "g_tTex1di4a" + Name 47 "txval12" + Name 50 "g_tTex1du4a" + Name 58 "txval20" + Name 61 "g_tTex2df4a" + Name 69 "txval21" + Name 72 "g_tTex2di4a" + Name 80 "txval22" + Name 83 "g_tTex2du4a" + Name 92 "txval40" + Name 95 "g_tTexcdf4a" + Name 102 "txval41" + Name 105 "g_tTexcdi4a" + Name 112 "txval42" + Name 115 "g_tTexcdu4a" + Name 126 "psout" + Name 136 "flattenTemp" + Name 139 "Color" + Name 143 "Depth" + Name 146 "g_tTex1df4" + Decorate 16(g_tTex1df4a) DescriptorSet 0 + Decorate 16(g_tTex1df4a) Binding 1 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 36(g_tTex1di4a) DescriptorSet 0 + Decorate 50(g_tTex1du4a) DescriptorSet 0 + Decorate 61(g_tTex2df4a) DescriptorSet 0 + Decorate 72(g_tTex2di4a) DescriptorSet 0 + Decorate 83(g_tTex2du4a) DescriptorSet 0 + Decorate 95(g_tTexcdf4a) DescriptorSet 0 + Decorate 105(g_tTexcdi4a) DescriptorSet 0 + Decorate 115(g_tTexcdu4a) DescriptorSet 0 + Decorate 139(Color) Location 0 + Decorate 143(Depth) BuiltIn FragDepth + Decorate 146(g_tTex1df4) DescriptorSet 0 + Decorate 146(g_tTex1df4) Binding 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 1D array sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex1df4a): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 1D array sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: TypeVector 6(float) 2 - 21: 6(float) Constant 1036831949 - 22: 6(float) Constant 1045220557 - 23: 20(fvec2) ConstantComposite 21 22 - 24: 6(float) Constant 1061158912 - 26: TypeInt 32 1 - 27: TypeVector 26(int) 4 - 28: TypePointer Function 27(ivec4) - 30: TypeImage 26(int) 1D array sampled format:Unknown - 31: TypePointer UniformConstant 30 - 32(g_tTex1di4a): 31(ptr) Variable UniformConstant - 35: TypeSampledImage 30 - 37: 6(float) Constant 1050253722 - 38: 20(fvec2) ConstantComposite 22 37 - 40: TypeInt 32 0 - 41: TypeVector 40(int) 4 - 42: TypePointer Function 41(ivec4) - 44: TypeImage 40(int) 1D array sampled format:Unknown - 45: TypePointer UniformConstant 44 - 46(g_tTex1du4a): 45(ptr) Variable UniformConstant - 49: TypeSampledImage 44 - 51: 6(float) Constant 1053609165 - 52: 20(fvec2) ConstantComposite 37 51 - 55: TypeImage 6(float) 2D array sampled format:Unknown - 56: TypePointer UniformConstant 55 - 57(g_tTex2df4a): 56(ptr) Variable UniformConstant - 60: TypeSampledImage 55 - 62: TypeVector 6(float) 3 - 63: 62(fvec3) ConstantComposite 21 22 37 - 66: TypeImage 26(int) 2D array sampled format:Unknown - 67: TypePointer UniformConstant 66 - 68(g_tTex2di4a): 67(ptr) Variable UniformConstant - 71: TypeSampledImage 66 - 73: 6(float) Constant 1056964608 - 74: 62(fvec3) ConstantComposite 37 51 73 - 77: TypeImage 40(int) 2D array sampled format:Unknown - 78: TypePointer UniformConstant 77 - 79(g_tTex2du4a): 78(ptr) Variable UniformConstant - 82: TypeSampledImage 77 - 84: 6(float) Constant 1058642330 - 85: 6(float) Constant 1060320051 - 86: 62(fvec3) ConstantComposite 73 84 85 - 89: TypeImage 6(float) Cube array sampled format:Unknown - 90: TypePointer UniformConstant 89 - 91(g_tTexcdf4a): 90(ptr) Variable UniformConstant - 94: TypeSampledImage 89 - 96: 7(fvec4) ConstantComposite 21 22 37 51 - 99: TypeImage 26(int) Cube array sampled format:Unknown - 100: TypePointer UniformConstant 99 -101(g_tTexcdi4a): 100(ptr) Variable UniformConstant - 104: TypeSampledImage 99 - 106: 7(fvec4) ConstantComposite 51 73 84 85 - 109: TypeImage 40(int) Cube array sampled format:Unknown - 110: TypePointer UniformConstant 109 -111(g_tTexcdu4a): 110(ptr) Variable UniformConstant - 114: TypeSampledImage 109 - 116: 6(float) Constant 1061997773 - 117: 6(float) Constant 1063675494 - 118: 6(float) Constant 1065353216 - 119: 7(fvec4) ConstantComposite 85 116 117 118 - 121(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 122: TypePointer Function 121(PS_OUTPUT) - 124: 26(int) Constant 0 - 125: 7(fvec4) ConstantComposite 118 118 118 118 - 127: 26(int) Constant 1 - 128: TypePointer Function 6(float) - 130: TypePointer Output 7(fvec4) - 131(Color): 130(ptr) Variable Output - 134: TypePointer Output 6(float) - 135(Depth): 134(ptr) Variable Output - 139(g_tTex1df4): 11(ptr) Variable UniformConstant + 16(g_tTex1df4a): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: TypeVector 6(float) 2 + 25: 6(float) Constant 1036831949 + 26: 6(float) Constant 1045220557 + 27: 24(fvec2) ConstantComposite 25 26 + 28: 6(float) Constant 1061158912 + 30: TypeInt 32 1 + 31: TypeVector 30(int) 4 + 32: TypePointer Function 31(ivec4) + 34: TypeImage 30(int) 1D array sampled format:Unknown + 35: TypePointer UniformConstant 34 + 36(g_tTex1di4a): 35(ptr) Variable UniformConstant + 39: TypeSampledImage 34 + 41: 6(float) Constant 1050253722 + 42: 24(fvec2) ConstantComposite 26 41 + 44: TypeInt 32 0 + 45: TypeVector 44(int) 4 + 46: TypePointer Function 45(ivec4) + 48: TypeImage 44(int) 1D array sampled format:Unknown + 49: TypePointer UniformConstant 48 + 50(g_tTex1du4a): 49(ptr) Variable UniformConstant + 53: TypeSampledImage 48 + 55: 6(float) Constant 1053609165 + 56: 24(fvec2) ConstantComposite 41 55 + 59: TypeImage 6(float) 2D array sampled format:Unknown + 60: TypePointer UniformConstant 59 + 61(g_tTex2df4a): 60(ptr) Variable UniformConstant + 64: TypeSampledImage 59 + 66: TypeVector 6(float) 3 + 67: 66(fvec3) ConstantComposite 25 26 41 + 70: TypeImage 30(int) 2D array sampled format:Unknown + 71: TypePointer UniformConstant 70 + 72(g_tTex2di4a): 71(ptr) Variable UniformConstant + 75: TypeSampledImage 70 + 77: 6(float) Constant 1056964608 + 78: 66(fvec3) ConstantComposite 41 55 77 + 81: TypeImage 44(int) 2D array sampled format:Unknown + 82: TypePointer UniformConstant 81 + 83(g_tTex2du4a): 82(ptr) Variable UniformConstant + 86: TypeSampledImage 81 + 88: 6(float) Constant 1058642330 + 89: 6(float) Constant 1060320051 + 90: 66(fvec3) ConstantComposite 77 88 89 + 93: TypeImage 6(float) Cube array sampled format:Unknown + 94: TypePointer UniformConstant 93 + 95(g_tTexcdf4a): 94(ptr) Variable UniformConstant + 98: TypeSampledImage 93 + 100: 7(fvec4) ConstantComposite 25 26 41 55 + 103: TypeImage 30(int) Cube array sampled format:Unknown + 104: TypePointer UniformConstant 103 +105(g_tTexcdi4a): 104(ptr) Variable UniformConstant + 108: TypeSampledImage 103 + 110: 7(fvec4) ConstantComposite 55 77 88 89 + 113: TypeImage 44(int) Cube array sampled format:Unknown + 114: TypePointer UniformConstant 113 +115(g_tTexcdu4a): 114(ptr) Variable UniformConstant + 118: TypeSampledImage 113 + 120: 6(float) Constant 1061997773 + 121: 6(float) Constant 1063675494 + 122: 6(float) Constant 1065353216 + 123: 7(fvec4) ConstantComposite 89 120 121 122 + 125: TypePointer Function 8(PS_OUTPUT) + 127: 30(int) Constant 0 + 128: 7(fvec4) ConstantComposite 122 122 122 122 + 130: 30(int) Constant 1 + 131: TypePointer Function 6(float) + 138: TypePointer Output 7(fvec4) + 139(Color): 138(ptr) Variable Output + 142: TypePointer Output 6(float) + 143(Depth): 142(ptr) Variable Output + 146(g_tTex1df4): 15(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval10): 8(ptr) Variable Function - 29(txval11): 28(ptr) Variable Function - 43(txval12): 42(ptr) Variable Function - 54(txval20): 8(ptr) Variable Function - 65(txval21): 28(ptr) Variable Function - 76(txval22): 42(ptr) Variable Function - 88(txval40): 8(ptr) Variable Function - 98(txval41): 28(ptr) Variable Function - 108(txval42): 42(ptr) Variable Function - 123(psout): 122(ptr) Variable Function - 13: 10 Load 12(g_tTex1df4a) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 25: 7(fvec4) ImageSampleExplicitLod 19 23 Lod 24 - Store 9(txval10) 25 - 33: 30 Load 32(g_tTex1di4a) - 34: 14 Load 16(g_sSamp) - 36: 35 SampledImage 33 34 - 39: 27(ivec4) ImageSampleExplicitLod 36 38 Lod 24 - Store 29(txval11) 39 - 47: 44 Load 46(g_tTex1du4a) - 48: 14 Load 16(g_sSamp) - 50: 49 SampledImage 47 48 - 53: 41(ivec4) ImageSampleExplicitLod 50 52 Lod 24 - Store 43(txval12) 53 - 58: 55 Load 57(g_tTex2df4a) - 59: 14 Load 16(g_sSamp) - 61: 60 SampledImage 58 59 - 64: 7(fvec4) ImageSampleExplicitLod 61 63 Lod 24 - Store 54(txval20) 64 - 69: 66 Load 68(g_tTex2di4a) - 70: 14 Load 16(g_sSamp) - 72: 71 SampledImage 69 70 - 75: 27(ivec4) ImageSampleExplicitLod 72 74 Lod 24 - Store 65(txval21) 75 - 80: 77 Load 79(g_tTex2du4a) - 81: 14 Load 16(g_sSamp) - 83: 82 SampledImage 80 81 - 87: 41(ivec4) ImageSampleExplicitLod 83 86 Lod 24 - Store 76(txval22) 87 - 92: 89 Load 91(g_tTexcdf4a) - 93: 14 Load 16(g_sSamp) - 95: 94 SampledImage 92 93 - 97: 7(fvec4) ImageSampleExplicitLod 95 96 Lod 24 - Store 88(txval40) 97 - 102: 99 Load 101(g_tTexcdi4a) - 103: 14 Load 16(g_sSamp) - 105: 104 SampledImage 102 103 - 107: 27(ivec4) ImageSampleExplicitLod 105 106 Lod 24 - Store 98(txval41) 107 - 112: 109 Load 111(g_tTexcdu4a) - 113: 14 Load 16(g_sSamp) - 115: 114 SampledImage 112 113 - 120: 41(ivec4) ImageSampleExplicitLod 115 119 Lod 24 - Store 108(txval42) 120 - 126: 8(ptr) AccessChain 123(psout) 124 - Store 126 125 - 129: 128(ptr) AccessChain 123(psout) 127 - Store 129 118 - 132: 8(ptr) AccessChain 123(psout) 124 - 133: 7(fvec4) Load 132 - Store 131(Color) 133 - 136: 128(ptr) AccessChain 123(psout) 127 - 137: 6(float) Load 136 - Store 135(Depth) 137 +136(flattenTemp): 125(ptr) Variable Function + 137:8(PS_OUTPUT) FunctionCall 10(@main() + Store 136(flattenTemp) 137 + 140: 12(ptr) AccessChain 136(flattenTemp) 127 + 141: 7(fvec4) Load 140 + Store 139(Color) 141 + 144: 131(ptr) AccessChain 136(flattenTemp) 130 + 145: 6(float) Load 144 + Store 143(Depth) 145 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval10): 12(ptr) Variable Function + 33(txval11): 32(ptr) Variable Function + 47(txval12): 46(ptr) Variable Function + 58(txval20): 12(ptr) Variable Function + 69(txval21): 32(ptr) Variable Function + 80(txval22): 46(ptr) Variable Function + 92(txval40): 12(ptr) Variable Function + 102(txval41): 32(ptr) Variable Function + 112(txval42): 46(ptr) Variable Function + 126(psout): 125(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4a) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 29: 7(fvec4) ImageSampleExplicitLod 23 27 Lod 28 + Store 13(txval10) 29 + 37: 34 Load 36(g_tTex1di4a) + 38: 18 Load 20(g_sSamp) + 40: 39 SampledImage 37 38 + 43: 31(ivec4) ImageSampleExplicitLod 40 42 Lod 28 + Store 33(txval11) 43 + 51: 48 Load 50(g_tTex1du4a) + 52: 18 Load 20(g_sSamp) + 54: 53 SampledImage 51 52 + 57: 45(ivec4) ImageSampleExplicitLod 54 56 Lod 28 + Store 47(txval12) 57 + 62: 59 Load 61(g_tTex2df4a) + 63: 18 Load 20(g_sSamp) + 65: 64 SampledImage 62 63 + 68: 7(fvec4) ImageSampleExplicitLod 65 67 Lod 28 + Store 58(txval20) 68 + 73: 70 Load 72(g_tTex2di4a) + 74: 18 Load 20(g_sSamp) + 76: 75 SampledImage 73 74 + 79: 31(ivec4) ImageSampleExplicitLod 76 78 Lod 28 + Store 69(txval21) 79 + 84: 81 Load 83(g_tTex2du4a) + 85: 18 Load 20(g_sSamp) + 87: 86 SampledImage 84 85 + 91: 45(ivec4) ImageSampleExplicitLod 87 90 Lod 28 + Store 80(txval22) 91 + 96: 93 Load 95(g_tTexcdf4a) + 97: 18 Load 20(g_sSamp) + 99: 98 SampledImage 96 97 + 101: 7(fvec4) ImageSampleExplicitLod 99 100 Lod 28 + Store 92(txval40) 101 + 106: 103 Load 105(g_tTexcdi4a) + 107: 18 Load 20(g_sSamp) + 109: 108 SampledImage 106 107 + 111: 31(ivec4) ImageSampleExplicitLod 109 110 Lod 28 + Store 102(txval41) 111 + 116: 113 Load 115(g_tTexcdu4a) + 117: 18 Load 20(g_sSamp) + 119: 118 SampledImage 116 117 + 124: 45(ivec4) ImageSampleExplicitLod 119 123 Lod 28 + Store 112(txval42) 124 + 129: 12(ptr) AccessChain 126(psout) 127 + Store 129 128 + 132: 131(ptr) AccessChain 126(psout) 130 + Store 132 122 + 133:8(PS_OUTPUT) Load 126(psout) + ReturnValue 133 + FunctionEnd diff --git a/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out index 34a65978..b500c1f8 100644 --- a/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.samplelevel.basic.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:29 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:29 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:29 Function Parameters: 0:? Sequence 0:32 Sequence @@ -169,24 +169,28 @@ gl_FragCoord origin is upper left 0:49 1 (const int) 0:49 Constant: 0:49 1.000000 -0:51 Sequence -0:51 Sequence -0:51 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:51 Color: direct index for structure (temp 4-component vector of float) -0:51 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:51 Constant: -0:51 0 (const int) -0:51 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:51 Depth: direct index for structure (temp float) -0:51 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:51 Constant: -0:51 1 (const int) -0:51 Branch: Return +0:51 Branch: Return with expression +0:51 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:29 Function Definition: main( (temp void) +0:29 Function Parameters: +0:? Sequence +0:29 Sequence +0:29 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:29 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:29 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:29 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:29 Color: direct index for structure (temp 4-component vector of float) +0:29 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:29 Constant: +0:29 0 (const int) +0:29 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:29 Depth: direct index for structure (temp float) +0:29 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:29 Constant: +0:29 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) @@ -202,6 +206,8 @@ gl_FragCoord origin is upper left 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: @@ -210,7 +216,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:29 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:29 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:29 Function Parameters: 0:? Sequence 0:32 Sequence @@ -377,24 +383,28 @@ gl_FragCoord origin is upper left 0:49 1 (const int) 0:49 Constant: 0:49 1.000000 -0:51 Sequence -0:51 Sequence -0:51 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:51 Color: direct index for structure (temp 4-component vector of float) -0:51 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:51 Constant: -0:51 0 (const int) -0:51 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:51 Depth: direct index for structure (temp float) -0:51 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:51 Constant: -0:51 1 (const int) -0:51 Branch: Return +0:51 Branch: Return with expression +0:51 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:29 Function Definition: main( (temp void) +0:29 Function Parameters: +0:? Sequence +0:29 Sequence +0:29 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:29 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:29 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:29 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:29 Color: direct index for structure (temp 4-component vector of float) +0:29 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:29 Constant: +0:29 0 (const int) +0:29 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:29 Depth: direct index for structure (temp float) +0:29 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:29 Constant: +0:29 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) @@ -410,248 +420,261 @@ gl_FragCoord origin is upper left 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 165 +// Id's are bound by 172 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 155 159 + EntryPoint Fragment 4 "main" 163 167 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval10" - Name 12 "g_tTex1df4" - Name 16 "g_sSamp" - Name 26 "txval11" - Name 29 "g_tTex1di4" - Name 39 "txval12" - Name 42 "g_tTex1du4" - Name 49 "txval20" - Name 52 "g_tTex2df4" - Name 60 "txval21" - Name 63 "g_tTex2di4" - Name 71 "txval22" - Name 74 "g_tTex2du4" - Name 83 "txval30" - Name 86 "g_tTex3df4" - Name 94 "txval31" - Name 97 "g_tTex3di4" - Name 104 "txval32" - Name 107 "g_tTex3du4" - Name 117 "txval40" - Name 120 "g_tTexcdf4" - Name 126 "txval41" - Name 129 "g_tTexcdi4" - Name 135 "txval42" - Name 138 "g_tTexcdu4" - Name 144 "PS_OUTPUT" - MemberName 144(PS_OUTPUT) 0 "Color" - MemberName 144(PS_OUTPUT) 1 "Depth" - Name 146 "psout" - Name 155 "Color" - Name 159 "Depth" - Name 163 "g_sSamp2d" - Name 164 "g_tTex1df4a" - Decorate 12(g_tTex1df4) DescriptorSet 0 - Decorate 12(g_tTex1df4) Binding 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - Decorate 29(g_tTex1di4) DescriptorSet 0 - Decorate 42(g_tTex1du4) DescriptorSet 0 - Decorate 52(g_tTex2df4) DescriptorSet 0 - Decorate 63(g_tTex2di4) DescriptorSet 0 - Decorate 74(g_tTex2du4) DescriptorSet 0 - Decorate 86(g_tTex3df4) DescriptorSet 0 - Decorate 97(g_tTex3di4) DescriptorSet 0 - Decorate 107(g_tTex3du4) DescriptorSet 0 - Decorate 120(g_tTexcdf4) DescriptorSet 0 - Decorate 129(g_tTexcdi4) DescriptorSet 0 - Decorate 138(g_tTexcdu4) DescriptorSet 0 - Decorate 155(Color) Location 0 - Decorate 159(Depth) BuiltIn FragDepth - Decorate 163(g_sSamp2d) DescriptorSet 0 - Decorate 164(g_tTex1df4a) DescriptorSet 0 - Decorate 164(g_tTex1df4a) Binding 1 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval10" + Name 16 "g_tTex1df4" + Name 20 "g_sSamp" + Name 30 "txval11" + Name 33 "g_tTex1di4" + Name 43 "txval12" + Name 46 "g_tTex1du4" + Name 53 "txval20" + Name 56 "g_tTex2df4" + Name 64 "txval21" + Name 67 "g_tTex2di4" + Name 75 "txval22" + Name 78 "g_tTex2du4" + Name 87 "txval30" + Name 90 "g_tTex3df4" + Name 98 "txval31" + Name 101 "g_tTex3di4" + Name 108 "txval32" + Name 111 "g_tTex3du4" + Name 121 "txval40" + Name 124 "g_tTexcdf4" + Name 130 "txval41" + Name 133 "g_tTexcdi4" + Name 139 "txval42" + Name 142 "g_tTexcdu4" + Name 149 "psout" + Name 160 "flattenTemp" + Name 163 "Color" + Name 167 "Depth" + Name 170 "g_sSamp2d" + Name 171 "g_tTex1df4a" + Decorate 16(g_tTex1df4) DescriptorSet 0 + Decorate 16(g_tTex1df4) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 33(g_tTex1di4) DescriptorSet 0 + Decorate 46(g_tTex1du4) DescriptorSet 0 + Decorate 56(g_tTex2df4) DescriptorSet 0 + Decorate 67(g_tTex2di4) DescriptorSet 0 + Decorate 78(g_tTex2du4) DescriptorSet 0 + Decorate 90(g_tTex3df4) DescriptorSet 0 + Decorate 101(g_tTex3di4) DescriptorSet 0 + Decorate 111(g_tTex3du4) DescriptorSet 0 + Decorate 124(g_tTexcdf4) DescriptorSet 0 + Decorate 133(g_tTexcdi4) DescriptorSet 0 + Decorate 142(g_tTexcdu4) DescriptorSet 0 + Decorate 163(Color) Location 0 + Decorate 167(Depth) BuiltIn FragDepth + Decorate 170(g_sSamp2d) DescriptorSet 0 + Decorate 171(g_tTex1df4a) DescriptorSet 0 + Decorate 171(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 1D sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex1df4): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 1D sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: 6(float) Constant 1036831949 - 21: 6(float) Constant 1061158912 - 23: TypeInt 32 1 - 24: TypeVector 23(int) 4 - 25: TypePointer Function 24(ivec4) - 27: TypeImage 23(int) 1D sampled format:Unknown - 28: TypePointer UniformConstant 27 - 29(g_tTex1di4): 28(ptr) Variable UniformConstant - 32: TypeSampledImage 27 - 34: 6(float) Constant 1045220557 - 36: TypeInt 32 0 - 37: TypeVector 36(int) 4 - 38: TypePointer Function 37(ivec4) - 40: TypeImage 36(int) 1D sampled format:Unknown - 41: TypePointer UniformConstant 40 - 42(g_tTex1du4): 41(ptr) Variable UniformConstant - 45: TypeSampledImage 40 - 47: 6(float) Constant 1050253722 - 50: TypeImage 6(float) 2D sampled format:Unknown - 51: TypePointer UniformConstant 50 - 52(g_tTex2df4): 51(ptr) Variable UniformConstant - 55: TypeSampledImage 50 - 57: TypeVector 6(float) 2 - 58: 57(fvec2) ConstantComposite 20 34 - 61: TypeImage 23(int) 2D sampled format:Unknown - 62: TypePointer UniformConstant 61 - 63(g_tTex2di4): 62(ptr) Variable UniformConstant - 66: TypeSampledImage 61 - 68: 6(float) Constant 1053609165 - 69: 57(fvec2) ConstantComposite 47 68 - 72: TypeImage 36(int) 2D sampled format:Unknown - 73: TypePointer UniformConstant 72 - 74(g_tTex2du4): 73(ptr) Variable UniformConstant - 77: TypeSampledImage 72 - 79: 6(float) Constant 1056964608 - 80: 6(float) Constant 1058642330 - 81: 57(fvec2) ConstantComposite 79 80 - 84: TypeImage 6(float) 3D sampled format:Unknown - 85: TypePointer UniformConstant 84 - 86(g_tTex3df4): 85(ptr) Variable UniformConstant - 89: TypeSampledImage 84 - 91: TypeVector 6(float) 3 - 92: 91(fvec3) ConstantComposite 20 34 47 - 95: TypeImage 23(int) 3D sampled format:Unknown - 96: TypePointer UniformConstant 95 - 97(g_tTex3di4): 96(ptr) Variable UniformConstant - 100: TypeSampledImage 95 - 102: 91(fvec3) ConstantComposite 68 79 80 - 105: TypeImage 36(int) 3D sampled format:Unknown - 106: TypePointer UniformConstant 105 - 107(g_tTex3du4): 106(ptr) Variable UniformConstant - 110: TypeSampledImage 105 - 112: 6(float) Constant 1060320051 - 113: 6(float) Constant 1061997773 - 114: 6(float) Constant 1063675494 - 115: 91(fvec3) ConstantComposite 112 113 114 - 118: TypeImage 6(float) Cube sampled format:Unknown - 119: TypePointer UniformConstant 118 - 120(g_tTexcdf4): 119(ptr) Variable UniformConstant - 123: TypeSampledImage 118 - 127: TypeImage 23(int) Cube sampled format:Unknown - 128: TypePointer UniformConstant 127 - 129(g_tTexcdi4): 128(ptr) Variable UniformConstant - 132: TypeSampledImage 127 - 136: TypeImage 36(int) Cube sampled format:Unknown - 137: TypePointer UniformConstant 136 - 138(g_tTexcdu4): 137(ptr) Variable UniformConstant - 141: TypeSampledImage 136 - 144(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 145: TypePointer Function 144(PS_OUTPUT) - 147: 23(int) Constant 0 - 148: 6(float) Constant 1065353216 - 149: 7(fvec4) ConstantComposite 148 148 148 148 - 151: 23(int) Constant 1 - 152: TypePointer Function 6(float) - 154: TypePointer Output 7(fvec4) - 155(Color): 154(ptr) Variable Output - 158: TypePointer Output 6(float) - 159(Depth): 158(ptr) Variable Output - 163(g_sSamp2d): 15(ptr) Variable UniformConstant -164(g_tTex1df4a): 11(ptr) Variable UniformConstant + 16(g_tTex1df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: 6(float) Constant 1036831949 + 25: 6(float) Constant 1061158912 + 27: TypeInt 32 1 + 28: TypeVector 27(int) 4 + 29: TypePointer Function 28(ivec4) + 31: TypeImage 27(int) 1D sampled format:Unknown + 32: TypePointer UniformConstant 31 + 33(g_tTex1di4): 32(ptr) Variable UniformConstant + 36: TypeSampledImage 31 + 38: 6(float) Constant 1045220557 + 40: TypeInt 32 0 + 41: TypeVector 40(int) 4 + 42: TypePointer Function 41(ivec4) + 44: TypeImage 40(int) 1D sampled format:Unknown + 45: TypePointer UniformConstant 44 + 46(g_tTex1du4): 45(ptr) Variable UniformConstant + 49: TypeSampledImage 44 + 51: 6(float) Constant 1050253722 + 54: TypeImage 6(float) 2D sampled format:Unknown + 55: TypePointer UniformConstant 54 + 56(g_tTex2df4): 55(ptr) Variable UniformConstant + 59: TypeSampledImage 54 + 61: TypeVector 6(float) 2 + 62: 61(fvec2) ConstantComposite 24 38 + 65: TypeImage 27(int) 2D sampled format:Unknown + 66: TypePointer UniformConstant 65 + 67(g_tTex2di4): 66(ptr) Variable UniformConstant + 70: TypeSampledImage 65 + 72: 6(float) Constant 1053609165 + 73: 61(fvec2) ConstantComposite 51 72 + 76: TypeImage 40(int) 2D sampled format:Unknown + 77: TypePointer UniformConstant 76 + 78(g_tTex2du4): 77(ptr) Variable UniformConstant + 81: TypeSampledImage 76 + 83: 6(float) Constant 1056964608 + 84: 6(float) Constant 1058642330 + 85: 61(fvec2) ConstantComposite 83 84 + 88: TypeImage 6(float) 3D sampled format:Unknown + 89: TypePointer UniformConstant 88 + 90(g_tTex3df4): 89(ptr) Variable UniformConstant + 93: TypeSampledImage 88 + 95: TypeVector 6(float) 3 + 96: 95(fvec3) ConstantComposite 24 38 51 + 99: TypeImage 27(int) 3D sampled format:Unknown + 100: TypePointer UniformConstant 99 + 101(g_tTex3di4): 100(ptr) Variable UniformConstant + 104: TypeSampledImage 99 + 106: 95(fvec3) ConstantComposite 72 83 84 + 109: TypeImage 40(int) 3D sampled format:Unknown + 110: TypePointer UniformConstant 109 + 111(g_tTex3du4): 110(ptr) Variable UniformConstant + 114: TypeSampledImage 109 + 116: 6(float) Constant 1060320051 + 117: 6(float) Constant 1061997773 + 118: 6(float) Constant 1063675494 + 119: 95(fvec3) ConstantComposite 116 117 118 + 122: TypeImage 6(float) Cube sampled format:Unknown + 123: TypePointer UniformConstant 122 + 124(g_tTexcdf4): 123(ptr) Variable UniformConstant + 127: TypeSampledImage 122 + 131: TypeImage 27(int) Cube sampled format:Unknown + 132: TypePointer UniformConstant 131 + 133(g_tTexcdi4): 132(ptr) Variable UniformConstant + 136: TypeSampledImage 131 + 140: TypeImage 40(int) Cube sampled format:Unknown + 141: TypePointer UniformConstant 140 + 142(g_tTexcdu4): 141(ptr) Variable UniformConstant + 145: TypeSampledImage 140 + 148: TypePointer Function 8(PS_OUTPUT) + 150: 27(int) Constant 0 + 151: 6(float) Constant 1065353216 + 152: 7(fvec4) ConstantComposite 151 151 151 151 + 154: 27(int) Constant 1 + 155: TypePointer Function 6(float) + 162: TypePointer Output 7(fvec4) + 163(Color): 162(ptr) Variable Output + 166: TypePointer Output 6(float) + 167(Depth): 166(ptr) Variable Output + 170(g_sSamp2d): 19(ptr) Variable UniformConstant +171(g_tTex1df4a): 15(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval10): 8(ptr) Variable Function - 26(txval11): 25(ptr) Variable Function - 39(txval12): 38(ptr) Variable Function - 49(txval20): 8(ptr) Variable Function - 60(txval21): 25(ptr) Variable Function - 71(txval22): 38(ptr) Variable Function - 83(txval30): 8(ptr) Variable Function - 94(txval31): 25(ptr) Variable Function - 104(txval32): 38(ptr) Variable Function - 117(txval40): 8(ptr) Variable Function - 126(txval41): 25(ptr) Variable Function - 135(txval42): 38(ptr) Variable Function - 146(psout): 145(ptr) Variable Function - 13: 10 Load 12(g_tTex1df4) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 22: 7(fvec4) ImageSampleExplicitLod 19 20 Lod 21 - Store 9(txval10) 22 - 30: 27 Load 29(g_tTex1di4) - 31: 14 Load 16(g_sSamp) - 33: 32 SampledImage 30 31 - 35: 24(ivec4) ImageSampleExplicitLod 33 34 Lod 21 - Store 26(txval11) 35 - 43: 40 Load 42(g_tTex1du4) - 44: 14 Load 16(g_sSamp) - 46: 45 SampledImage 43 44 - 48: 37(ivec4) ImageSampleExplicitLod 46 47 Lod 21 - Store 39(txval12) 48 - 53: 50 Load 52(g_tTex2df4) - 54: 14 Load 16(g_sSamp) - 56: 55 SampledImage 53 54 - 59: 7(fvec4) ImageSampleExplicitLod 56 58 Lod 21 - Store 49(txval20) 59 - 64: 61 Load 63(g_tTex2di4) - 65: 14 Load 16(g_sSamp) - 67: 66 SampledImage 64 65 - 70: 24(ivec4) ImageSampleExplicitLod 67 69 Lod 21 - Store 60(txval21) 70 - 75: 72 Load 74(g_tTex2du4) - 76: 14 Load 16(g_sSamp) - 78: 77 SampledImage 75 76 - 82: 37(ivec4) ImageSampleExplicitLod 78 81 Lod 21 - Store 71(txval22) 82 - 87: 84 Load 86(g_tTex3df4) - 88: 14 Load 16(g_sSamp) - 90: 89 SampledImage 87 88 - 93: 7(fvec4) ImageSampleExplicitLod 90 92 Lod 21 - Store 83(txval30) 93 - 98: 95 Load 97(g_tTex3di4) - 99: 14 Load 16(g_sSamp) - 101: 100 SampledImage 98 99 - 103: 24(ivec4) ImageSampleExplicitLod 101 102 Lod 21 - Store 94(txval31) 103 - 108: 105 Load 107(g_tTex3du4) - 109: 14 Load 16(g_sSamp) - 111: 110 SampledImage 108 109 - 116: 37(ivec4) ImageSampleExplicitLod 111 115 Lod 21 - Store 104(txval32) 116 - 121: 118 Load 120(g_tTexcdf4) - 122: 14 Load 16(g_sSamp) - 124: 123 SampledImage 121 122 - 125: 7(fvec4) ImageSampleExplicitLod 124 92 Lod 21 - Store 117(txval40) 125 - 130: 127 Load 129(g_tTexcdi4) - 131: 14 Load 16(g_sSamp) - 133: 132 SampledImage 130 131 - 134: 24(ivec4) ImageSampleExplicitLod 133 102 Lod 21 - Store 126(txval41) 134 - 139: 136 Load 138(g_tTexcdu4) - 140: 14 Load 16(g_sSamp) - 142: 141 SampledImage 139 140 - 143: 37(ivec4) ImageSampleExplicitLod 142 115 Lod 21 - Store 135(txval42) 143 - 150: 8(ptr) AccessChain 146(psout) 147 - Store 150 149 - 153: 152(ptr) AccessChain 146(psout) 151 - Store 153 148 - 156: 8(ptr) AccessChain 146(psout) 147 - 157: 7(fvec4) Load 156 - Store 155(Color) 157 - 160: 152(ptr) AccessChain 146(psout) 151 - 161: 6(float) Load 160 - Store 159(Depth) 161 +160(flattenTemp): 148(ptr) Variable Function + 161:8(PS_OUTPUT) FunctionCall 10(@main() + Store 160(flattenTemp) 161 + 164: 12(ptr) AccessChain 160(flattenTemp) 150 + 165: 7(fvec4) Load 164 + Store 163(Color) 165 + 168: 155(ptr) AccessChain 160(flattenTemp) 154 + 169: 6(float) Load 168 + Store 167(Depth) 169 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval10): 12(ptr) Variable Function + 30(txval11): 29(ptr) Variable Function + 43(txval12): 42(ptr) Variable Function + 53(txval20): 12(ptr) Variable Function + 64(txval21): 29(ptr) Variable Function + 75(txval22): 42(ptr) Variable Function + 87(txval30): 12(ptr) Variable Function + 98(txval31): 29(ptr) Variable Function + 108(txval32): 42(ptr) Variable Function + 121(txval40): 12(ptr) Variable Function + 130(txval41): 29(ptr) Variable Function + 139(txval42): 42(ptr) Variable Function + 149(psout): 148(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 26: 7(fvec4) ImageSampleExplicitLod 23 24 Lod 25 + Store 13(txval10) 26 + 34: 31 Load 33(g_tTex1di4) + 35: 18 Load 20(g_sSamp) + 37: 36 SampledImage 34 35 + 39: 28(ivec4) ImageSampleExplicitLod 37 38 Lod 25 + Store 30(txval11) 39 + 47: 44 Load 46(g_tTex1du4) + 48: 18 Load 20(g_sSamp) + 50: 49 SampledImage 47 48 + 52: 41(ivec4) ImageSampleExplicitLod 50 51 Lod 25 + Store 43(txval12) 52 + 57: 54 Load 56(g_tTex2df4) + 58: 18 Load 20(g_sSamp) + 60: 59 SampledImage 57 58 + 63: 7(fvec4) ImageSampleExplicitLod 60 62 Lod 25 + Store 53(txval20) 63 + 68: 65 Load 67(g_tTex2di4) + 69: 18 Load 20(g_sSamp) + 71: 70 SampledImage 68 69 + 74: 28(ivec4) ImageSampleExplicitLod 71 73 Lod 25 + Store 64(txval21) 74 + 79: 76 Load 78(g_tTex2du4) + 80: 18 Load 20(g_sSamp) + 82: 81 SampledImage 79 80 + 86: 41(ivec4) ImageSampleExplicitLod 82 85 Lod 25 + Store 75(txval22) 86 + 91: 88 Load 90(g_tTex3df4) + 92: 18 Load 20(g_sSamp) + 94: 93 SampledImage 91 92 + 97: 7(fvec4) ImageSampleExplicitLod 94 96 Lod 25 + Store 87(txval30) 97 + 102: 99 Load 101(g_tTex3di4) + 103: 18 Load 20(g_sSamp) + 105: 104 SampledImage 102 103 + 107: 28(ivec4) ImageSampleExplicitLod 105 106 Lod 25 + Store 98(txval31) 107 + 112: 109 Load 111(g_tTex3du4) + 113: 18 Load 20(g_sSamp) + 115: 114 SampledImage 112 113 + 120: 41(ivec4) ImageSampleExplicitLod 115 119 Lod 25 + Store 108(txval32) 120 + 125: 122 Load 124(g_tTexcdf4) + 126: 18 Load 20(g_sSamp) + 128: 127 SampledImage 125 126 + 129: 7(fvec4) ImageSampleExplicitLod 128 96 Lod 25 + Store 121(txval40) 129 + 134: 131 Load 133(g_tTexcdi4) + 135: 18 Load 20(g_sSamp) + 137: 136 SampledImage 134 135 + 138: 28(ivec4) ImageSampleExplicitLod 137 106 Lod 25 + Store 130(txval41) 138 + 143: 140 Load 142(g_tTexcdu4) + 144: 18 Load 20(g_sSamp) + 146: 145 SampledImage 143 144 + 147: 41(ivec4) ImageSampleExplicitLod 146 119 Lod 25 + Store 139(txval42) 147 + 153: 12(ptr) AccessChain 149(psout) 150 + Store 153 152 + 156: 155(ptr) AccessChain 149(psout) 154 + Store 156 151 + 157:8(PS_OUTPUT) Load 149(psout) + ReturnValue 157 + FunctionEnd diff --git a/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out b/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out index a811ed25..bb88c221 100644 --- a/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out +++ b/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out @@ -1,7 +1,7 @@ hlsl.samplelevel.basic.dx10.vert Shader version: 450 0:? Sequence -0:27 Function Definition: main( (temp structure{temp 4-component vector of float Position Pos}) +0:27 Function Definition: @main( (temp structure{temp 4-component vector of float Position Pos}) 0:27 Function Parameters: 0:? Sequence 0:30 Sequence @@ -161,15 +161,18 @@ Shader version: 450 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:48 Sequence -0:48 Sequence -0:48 move second child to first child (temp 4-component vector of float) -0:? 'Pos' (out 4-component vector of float Position) -0:48 Pos: direct index for structure (temp 4-component vector of float) -0:48 'vsout' (temp structure{temp 4-component vector of float Pos}) -0:48 Constant: -0:48 0 (const int) -0:48 Branch: Return +0:48 Branch: Return with expression +0:48 'vsout' (temp structure{temp 4-component vector of float Pos}) +0:27 Function Definition: main( (temp void) +0:27 Function Parameters: +0:? Sequence +0:27 Sequence +0:27 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput_Pos' (out 4-component vector of float Position) +0:27 Pos: direct index for structure (temp 4-component vector of float Position) +0:27 Function Call: @main( (temp structure{temp 4-component vector of float Position Pos}) +0:27 Constant: +0:27 0 (const int) 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) @@ -185,7 +188,7 @@ Shader version: 450 0:? 'g_tTexcdf4' (uniform textureCube) 0:? 'g_tTexcdi4' (uniform itextureCube) 0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos}) +0:? 'PerVertex_out' (out block{out 4-component vector of float Position @entryPointOutput_Pos}) Linked vertex stage: @@ -193,7 +196,7 @@ Linked vertex stage: Shader version: 450 0:? Sequence -0:27 Function Definition: main( (temp structure{temp 4-component vector of float Position Pos}) +0:27 Function Definition: @main( (temp structure{temp 4-component vector of float Position Pos}) 0:27 Function Parameters: 0:? Sequence 0:30 Sequence @@ -353,15 +356,18 @@ Shader version: 450 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:48 Sequence -0:48 Sequence -0:48 move second child to first child (temp 4-component vector of float) -0:? 'Pos' (out 4-component vector of float Position) -0:48 Pos: direct index for structure (temp 4-component vector of float) -0:48 'vsout' (temp structure{temp 4-component vector of float Pos}) -0:48 Constant: -0:48 0 (const int) -0:48 Branch: Return +0:48 Branch: Return with expression +0:48 'vsout' (temp structure{temp 4-component vector of float Pos}) +0:27 Function Definition: main( (temp void) +0:27 Function Parameters: +0:? Sequence +0:27 Sequence +0:27 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput_Pos' (out 4-component vector of float Position) +0:27 Pos: direct index for structure (temp 4-component vector of float Position) +0:27 Function Call: @main( (temp structure{temp 4-component vector of float Position Pos}) +0:27 Constant: +0:27 0 (const int) 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) @@ -377,241 +383,258 @@ Shader version: 450 0:? 'g_tTexcdf4' (uniform textureCube) 0:? 'g_tTexcdi4' (uniform itextureCube) 0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos}) +0:? 'PerVertex_out' (out block{out 4-component vector of float Position @entryPointOutput_Pos}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 160 +// Id's are bound by 171 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" 152 159 + EntryPoint Vertex 4 "main" 164 170 Name 4 "main" - Name 9 "txval10" - Name 12 "g_tTex1df4" - Name 16 "g_sSamp" - Name 26 "txval11" - Name 29 "g_tTex1di4" - Name 39 "txval12" - Name 42 "g_tTex1du4" - Name 49 "txval20" - Name 52 "g_tTex2df4" - Name 60 "txval21" - Name 63 "g_tTex2di4" - Name 71 "txval22" - Name 74 "g_tTex2du4" - Name 83 "txval30" - Name 86 "g_tTex3df4" - Name 94 "txval31" - Name 97 "g_tTex3di4" - Name 104 "txval32" - Name 107 "g_tTex3du4" - Name 117 "txval40" - Name 120 "g_tTexcdf4" - Name 126 "txval41" - Name 129 "g_tTexcdi4" - Name 135 "txval42" - Name 138 "g_tTexcdu4" - Name 144 "VS_OUTPUT" - MemberName 144(VS_OUTPUT) 0 "Pos" - Name 146 "vsout" - Name 152 "Pos" - Name 156 "g_tTex1df4a" - Name 157 "PerVertex_out" - MemberName 157(PerVertex_out) 0 "Pos" - Name 159 "PerVertex_out" - Decorate 12(g_tTex1df4) DescriptorSet 0 - Decorate 12(g_tTex1df4) Binding 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - Decorate 29(g_tTex1di4) DescriptorSet 0 - Decorate 42(g_tTex1du4) DescriptorSet 0 - Decorate 52(g_tTex2df4) DescriptorSet 0 - Decorate 63(g_tTex2di4) DescriptorSet 0 - Decorate 74(g_tTex2du4) DescriptorSet 0 - Decorate 86(g_tTex3df4) DescriptorSet 0 - Decorate 97(g_tTex3di4) DescriptorSet 0 - Decorate 107(g_tTex3du4) DescriptorSet 0 - Decorate 120(g_tTexcdf4) DescriptorSet 0 - Decorate 129(g_tTexcdi4) DescriptorSet 0 - Decorate 138(g_tTexcdu4) DescriptorSet 0 - Decorate 152(Pos) BuiltIn Position - Decorate 156(g_tTex1df4a) DescriptorSet 0 - Decorate 156(g_tTex1df4a) Binding 1 - MemberDecorate 157(PerVertex_out) 0 BuiltIn Position - Decorate 157(PerVertex_out) Block + Name 8 "VS_OUTPUT" + MemberName 8(VS_OUTPUT) 0 "Pos" + Name 10 "@main(" + Name 13 "txval10" + Name 16 "g_tTex1df4" + Name 20 "g_sSamp" + Name 30 "txval11" + Name 33 "g_tTex1di4" + Name 43 "txval12" + Name 46 "g_tTex1du4" + Name 53 "txval20" + Name 56 "g_tTex2df4" + Name 64 "txval21" + Name 67 "g_tTex2di4" + Name 75 "txval22" + Name 78 "g_tTex2du4" + Name 87 "txval30" + Name 90 "g_tTex3df4" + Name 98 "txval31" + Name 101 "g_tTex3di4" + Name 108 "txval32" + Name 111 "g_tTex3du4" + Name 121 "txval40" + Name 124 "g_tTexcdf4" + Name 130 "txval41" + Name 133 "g_tTexcdi4" + Name 139 "txval42" + Name 142 "g_tTexcdu4" + Name 148 "VS_OUTPUT" + MemberName 148(VS_OUTPUT) 0 "Pos" + Name 150 "vsout" + Name 164 "@entryPointOutput_Pos" + Name 167 "g_tTex1df4a" + Name 168 "PerVertex_out" + MemberName 168(PerVertex_out) 0 "@entryPointOutput_Pos" + Name 170 "PerVertex_out" + MemberDecorate 8(VS_OUTPUT) 0 BuiltIn Position + Decorate 16(g_tTex1df4) DescriptorSet 0 + Decorate 16(g_tTex1df4) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 33(g_tTex1di4) DescriptorSet 0 + Decorate 46(g_tTex1du4) DescriptorSet 0 + Decorate 56(g_tTex2df4) DescriptorSet 0 + Decorate 67(g_tTex2di4) DescriptorSet 0 + Decorate 78(g_tTex2du4) DescriptorSet 0 + Decorate 90(g_tTex3df4) DescriptorSet 0 + Decorate 101(g_tTex3di4) DescriptorSet 0 + Decorate 111(g_tTex3du4) DescriptorSet 0 + Decorate 124(g_tTexcdf4) DescriptorSet 0 + Decorate 133(g_tTexcdi4) DescriptorSet 0 + Decorate 142(g_tTexcdu4) DescriptorSet 0 + Decorate 164(@entryPointOutput_Pos) BuiltIn Position + Decorate 167(g_tTex1df4a) DescriptorSet 0 + Decorate 167(g_tTex1df4a) Binding 1 + MemberDecorate 168(PerVertex_out) 0 BuiltIn Position + Decorate 168(PerVertex_out) Block 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 1D sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex1df4): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(VS_OUTPUT): TypeStruct 7(fvec4) + 9: TypeFunction 8(VS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 1D sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: 6(float) Constant 1036831949 - 21: 6(float) Constant 1061158912 - 23: TypeInt 32 1 - 24: TypeVector 23(int) 4 - 25: TypePointer Function 24(ivec4) - 27: TypeImage 23(int) 1D sampled format:Unknown - 28: TypePointer UniformConstant 27 - 29(g_tTex1di4): 28(ptr) Variable UniformConstant - 32: TypeSampledImage 27 - 34: 6(float) Constant 1045220557 - 36: TypeInt 32 0 - 37: TypeVector 36(int) 4 - 38: TypePointer Function 37(ivec4) - 40: TypeImage 36(int) 1D sampled format:Unknown - 41: TypePointer UniformConstant 40 - 42(g_tTex1du4): 41(ptr) Variable UniformConstant - 45: TypeSampledImage 40 - 47: 6(float) Constant 1050253722 - 50: TypeImage 6(float) 2D sampled format:Unknown - 51: TypePointer UniformConstant 50 - 52(g_tTex2df4): 51(ptr) Variable UniformConstant - 55: TypeSampledImage 50 - 57: TypeVector 6(float) 2 - 58: 57(fvec2) ConstantComposite 20 34 - 61: TypeImage 23(int) 2D sampled format:Unknown - 62: TypePointer UniformConstant 61 - 63(g_tTex2di4): 62(ptr) Variable UniformConstant - 66: TypeSampledImage 61 - 68: 6(float) Constant 1053609165 - 69: 57(fvec2) ConstantComposite 47 68 - 72: TypeImage 36(int) 2D sampled format:Unknown - 73: TypePointer UniformConstant 72 - 74(g_tTex2du4): 73(ptr) Variable UniformConstant - 77: TypeSampledImage 72 - 79: 6(float) Constant 1056964608 - 80: 6(float) Constant 1058642330 - 81: 57(fvec2) ConstantComposite 79 80 - 84: TypeImage 6(float) 3D sampled format:Unknown - 85: TypePointer UniformConstant 84 - 86(g_tTex3df4): 85(ptr) Variable UniformConstant - 89: TypeSampledImage 84 - 91: TypeVector 6(float) 3 - 92: 91(fvec3) ConstantComposite 20 34 47 - 95: TypeImage 23(int) 3D sampled format:Unknown - 96: TypePointer UniformConstant 95 - 97(g_tTex3di4): 96(ptr) Variable UniformConstant - 100: TypeSampledImage 95 - 102: 91(fvec3) ConstantComposite 68 79 80 - 105: TypeImage 36(int) 3D sampled format:Unknown - 106: TypePointer UniformConstant 105 - 107(g_tTex3du4): 106(ptr) Variable UniformConstant - 110: TypeSampledImage 105 - 112: 6(float) Constant 1060320051 - 113: 6(float) Constant 1061997773 - 114: 6(float) Constant 1063675494 - 115: 91(fvec3) ConstantComposite 112 113 114 - 118: TypeImage 6(float) Cube sampled format:Unknown - 119: TypePointer UniformConstant 118 - 120(g_tTexcdf4): 119(ptr) Variable UniformConstant - 123: TypeSampledImage 118 - 127: TypeImage 23(int) Cube sampled format:Unknown - 128: TypePointer UniformConstant 127 - 129(g_tTexcdi4): 128(ptr) Variable UniformConstant - 132: TypeSampledImage 127 - 136: TypeImage 36(int) Cube sampled format:Unknown - 137: TypePointer UniformConstant 136 - 138(g_tTexcdu4): 137(ptr) Variable UniformConstant - 141: TypeSampledImage 136 - 144(VS_OUTPUT): TypeStruct 7(fvec4) - 145: TypePointer Function 144(VS_OUTPUT) - 147: 23(int) Constant 0 - 148: 6(float) Constant 0 - 149: 7(fvec4) ConstantComposite 148 148 148 148 - 151: TypePointer Output 7(fvec4) - 152(Pos): 151(ptr) Variable Output -156(g_tTex1df4a): 11(ptr) Variable UniformConstant -157(PerVertex_out): TypeStruct 7(fvec4) - 158: TypePointer Output 157(PerVertex_out) -159(PerVertex_out): 158(ptr) Variable Output + 16(g_tTex1df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: 6(float) Constant 1036831949 + 25: 6(float) Constant 1061158912 + 27: TypeInt 32 1 + 28: TypeVector 27(int) 4 + 29: TypePointer Function 28(ivec4) + 31: TypeImage 27(int) 1D sampled format:Unknown + 32: TypePointer UniformConstant 31 + 33(g_tTex1di4): 32(ptr) Variable UniformConstant + 36: TypeSampledImage 31 + 38: 6(float) Constant 1045220557 + 40: TypeInt 32 0 + 41: TypeVector 40(int) 4 + 42: TypePointer Function 41(ivec4) + 44: TypeImage 40(int) 1D sampled format:Unknown + 45: TypePointer UniformConstant 44 + 46(g_tTex1du4): 45(ptr) Variable UniformConstant + 49: TypeSampledImage 44 + 51: 6(float) Constant 1050253722 + 54: TypeImage 6(float) 2D sampled format:Unknown + 55: TypePointer UniformConstant 54 + 56(g_tTex2df4): 55(ptr) Variable UniformConstant + 59: TypeSampledImage 54 + 61: TypeVector 6(float) 2 + 62: 61(fvec2) ConstantComposite 24 38 + 65: TypeImage 27(int) 2D sampled format:Unknown + 66: TypePointer UniformConstant 65 + 67(g_tTex2di4): 66(ptr) Variable UniformConstant + 70: TypeSampledImage 65 + 72: 6(float) Constant 1053609165 + 73: 61(fvec2) ConstantComposite 51 72 + 76: TypeImage 40(int) 2D sampled format:Unknown + 77: TypePointer UniformConstant 76 + 78(g_tTex2du4): 77(ptr) Variable UniformConstant + 81: TypeSampledImage 76 + 83: 6(float) Constant 1056964608 + 84: 6(float) Constant 1058642330 + 85: 61(fvec2) ConstantComposite 83 84 + 88: TypeImage 6(float) 3D sampled format:Unknown + 89: TypePointer UniformConstant 88 + 90(g_tTex3df4): 89(ptr) Variable UniformConstant + 93: TypeSampledImage 88 + 95: TypeVector 6(float) 3 + 96: 95(fvec3) ConstantComposite 24 38 51 + 99: TypeImage 27(int) 3D sampled format:Unknown + 100: TypePointer UniformConstant 99 + 101(g_tTex3di4): 100(ptr) Variable UniformConstant + 104: TypeSampledImage 99 + 106: 95(fvec3) ConstantComposite 72 83 84 + 109: TypeImage 40(int) 3D sampled format:Unknown + 110: TypePointer UniformConstant 109 + 111(g_tTex3du4): 110(ptr) Variable UniformConstant + 114: TypeSampledImage 109 + 116: 6(float) Constant 1060320051 + 117: 6(float) Constant 1061997773 + 118: 6(float) Constant 1063675494 + 119: 95(fvec3) ConstantComposite 116 117 118 + 122: TypeImage 6(float) Cube sampled format:Unknown + 123: TypePointer UniformConstant 122 + 124(g_tTexcdf4): 123(ptr) Variable UniformConstant + 127: TypeSampledImage 122 + 131: TypeImage 27(int) Cube sampled format:Unknown + 132: TypePointer UniformConstant 131 + 133(g_tTexcdi4): 132(ptr) Variable UniformConstant + 136: TypeSampledImage 131 + 140: TypeImage 40(int) Cube sampled format:Unknown + 141: TypePointer UniformConstant 140 + 142(g_tTexcdu4): 141(ptr) Variable UniformConstant + 145: TypeSampledImage 140 + 148(VS_OUTPUT): TypeStruct 7(fvec4) + 149: TypePointer Function 148(VS_OUTPUT) + 151: 27(int) Constant 0 + 152: 6(float) Constant 0 + 153: 7(fvec4) ConstantComposite 152 152 152 152 + 156: TypePointer Function 8(VS_OUTPUT) + 163: TypePointer Output 7(fvec4) +164(@entryPointOutput_Pos): 163(ptr) Variable Output +167(g_tTex1df4a): 15(ptr) Variable UniformConstant +168(PerVertex_out): TypeStruct 7(fvec4) + 169: TypePointer Output 168(PerVertex_out) +170(PerVertex_out): 169(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 9(txval10): 8(ptr) Variable Function - 26(txval11): 25(ptr) Variable Function - 39(txval12): 38(ptr) Variable Function - 49(txval20): 8(ptr) Variable Function - 60(txval21): 25(ptr) Variable Function - 71(txval22): 38(ptr) Variable Function - 83(txval30): 8(ptr) Variable Function - 94(txval31): 25(ptr) Variable Function - 104(txval32): 38(ptr) Variable Function - 117(txval40): 8(ptr) Variable Function - 126(txval41): 25(ptr) Variable Function - 135(txval42): 38(ptr) Variable Function - 146(vsout): 145(ptr) Variable Function - 13: 10 Load 12(g_tTex1df4) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 22: 7(fvec4) ImageSampleExplicitLod 19 20 Lod 21 - Store 9(txval10) 22 - 30: 27 Load 29(g_tTex1di4) - 31: 14 Load 16(g_sSamp) - 33: 32 SampledImage 30 31 - 35: 24(ivec4) ImageSampleExplicitLod 33 34 Lod 21 - Store 26(txval11) 35 - 43: 40 Load 42(g_tTex1du4) - 44: 14 Load 16(g_sSamp) - 46: 45 SampledImage 43 44 - 48: 37(ivec4) ImageSampleExplicitLod 46 47 Lod 21 - Store 39(txval12) 48 - 53: 50 Load 52(g_tTex2df4) - 54: 14 Load 16(g_sSamp) - 56: 55 SampledImage 53 54 - 59: 7(fvec4) ImageSampleExplicitLod 56 58 Lod 21 - Store 49(txval20) 59 - 64: 61 Load 63(g_tTex2di4) - 65: 14 Load 16(g_sSamp) - 67: 66 SampledImage 64 65 - 70: 24(ivec4) ImageSampleExplicitLod 67 69 Lod 21 - Store 60(txval21) 70 - 75: 72 Load 74(g_tTex2du4) - 76: 14 Load 16(g_sSamp) - 78: 77 SampledImage 75 76 - 82: 37(ivec4) ImageSampleExplicitLod 78 81 Lod 21 - Store 71(txval22) 82 - 87: 84 Load 86(g_tTex3df4) - 88: 14 Load 16(g_sSamp) - 90: 89 SampledImage 87 88 - 93: 7(fvec4) ImageSampleExplicitLod 90 92 Lod 21 - Store 83(txval30) 93 - 98: 95 Load 97(g_tTex3di4) - 99: 14 Load 16(g_sSamp) - 101: 100 SampledImage 98 99 - 103: 24(ivec4) ImageSampleExplicitLod 101 102 Lod 21 - Store 94(txval31) 103 - 108: 105 Load 107(g_tTex3du4) - 109: 14 Load 16(g_sSamp) - 111: 110 SampledImage 108 109 - 116: 37(ivec4) ImageSampleExplicitLod 111 115 Lod 21 - Store 104(txval32) 116 - 121: 118 Load 120(g_tTexcdf4) - 122: 14 Load 16(g_sSamp) - 124: 123 SampledImage 121 122 - 125: 7(fvec4) ImageSampleExplicitLod 124 92 Lod 21 - Store 117(txval40) 125 - 130: 127 Load 129(g_tTexcdi4) - 131: 14 Load 16(g_sSamp) - 133: 132 SampledImage 130 131 - 134: 24(ivec4) ImageSampleExplicitLod 133 102 Lod 21 - Store 126(txval41) 134 - 139: 136 Load 138(g_tTexcdu4) - 140: 14 Load 16(g_sSamp) - 142: 141 SampledImage 139 140 - 143: 37(ivec4) ImageSampleExplicitLod 142 115 Lod 21 - Store 135(txval42) 143 - 150: 8(ptr) AccessChain 146(vsout) 147 - Store 150 149 - 153: 8(ptr) AccessChain 146(vsout) 147 - 154: 7(fvec4) Load 153 - Store 152(Pos) 154 + 165:8(VS_OUTPUT) FunctionCall 10(@main() + 166: 7(fvec4) CompositeExtract 165 0 + Store 164(@entryPointOutput_Pos) 166 Return FunctionEnd + 10(@main():8(VS_OUTPUT) Function None 9 + 11: Label + 13(txval10): 12(ptr) Variable Function + 30(txval11): 29(ptr) Variable Function + 43(txval12): 42(ptr) Variable Function + 53(txval20): 12(ptr) Variable Function + 64(txval21): 29(ptr) Variable Function + 75(txval22): 42(ptr) Variable Function + 87(txval30): 12(ptr) Variable Function + 98(txval31): 29(ptr) Variable Function + 108(txval32): 42(ptr) Variable Function + 121(txval40): 12(ptr) Variable Function + 130(txval41): 29(ptr) Variable Function + 139(txval42): 42(ptr) Variable Function + 150(vsout): 149(ptr) Variable Function + 157: 156(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 26: 7(fvec4) ImageSampleExplicitLod 23 24 Lod 25 + Store 13(txval10) 26 + 34: 31 Load 33(g_tTex1di4) + 35: 18 Load 20(g_sSamp) + 37: 36 SampledImage 34 35 + 39: 28(ivec4) ImageSampleExplicitLod 37 38 Lod 25 + Store 30(txval11) 39 + 47: 44 Load 46(g_tTex1du4) + 48: 18 Load 20(g_sSamp) + 50: 49 SampledImage 47 48 + 52: 41(ivec4) ImageSampleExplicitLod 50 51 Lod 25 + Store 43(txval12) 52 + 57: 54 Load 56(g_tTex2df4) + 58: 18 Load 20(g_sSamp) + 60: 59 SampledImage 57 58 + 63: 7(fvec4) ImageSampleExplicitLod 60 62 Lod 25 + Store 53(txval20) 63 + 68: 65 Load 67(g_tTex2di4) + 69: 18 Load 20(g_sSamp) + 71: 70 SampledImage 68 69 + 74: 28(ivec4) ImageSampleExplicitLod 71 73 Lod 25 + Store 64(txval21) 74 + 79: 76 Load 78(g_tTex2du4) + 80: 18 Load 20(g_sSamp) + 82: 81 SampledImage 79 80 + 86: 41(ivec4) ImageSampleExplicitLod 82 85 Lod 25 + Store 75(txval22) 86 + 91: 88 Load 90(g_tTex3df4) + 92: 18 Load 20(g_sSamp) + 94: 93 SampledImage 91 92 + 97: 7(fvec4) ImageSampleExplicitLod 94 96 Lod 25 + Store 87(txval30) 97 + 102: 99 Load 101(g_tTex3di4) + 103: 18 Load 20(g_sSamp) + 105: 104 SampledImage 102 103 + 107: 28(ivec4) ImageSampleExplicitLod 105 106 Lod 25 + Store 98(txval31) 107 + 112: 109 Load 111(g_tTex3du4) + 113: 18 Load 20(g_sSamp) + 115: 114 SampledImage 112 113 + 120: 41(ivec4) ImageSampleExplicitLod 115 119 Lod 25 + Store 108(txval32) 120 + 125: 122 Load 124(g_tTexcdf4) + 126: 18 Load 20(g_sSamp) + 128: 127 SampledImage 125 126 + 129: 7(fvec4) ImageSampleExplicitLod 128 96 Lod 25 + Store 121(txval40) 129 + 134: 131 Load 133(g_tTexcdi4) + 135: 18 Load 20(g_sSamp) + 137: 136 SampledImage 134 135 + 138: 28(ivec4) ImageSampleExplicitLod 137 106 Lod 25 + Store 130(txval41) 138 + 143: 140 Load 142(g_tTexcdu4) + 144: 18 Load 20(g_sSamp) + 146: 145 SampledImage 143 144 + 147: 41(ivec4) ImageSampleExplicitLod 146 119 Lod 25 + Store 139(txval42) 147 + 154: 12(ptr) AccessChain 150(vsout) 151 + Store 154 153 + 155:148(VS_OUTPUT) Load 150(vsout) + 158: 7(fvec4) CompositeExtract 155 0 + 159: 12(ptr) AccessChain 157 151 + Store 159 158 + 160:8(VS_OUTPUT) Load 157 + ReturnValue 160 + FunctionEnd diff --git a/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out index aa779610..104004a0 100644 --- a/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.samplelevel.offset.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:28 Function Parameters: 0:? Sequence 0:31 Sequence @@ -157,24 +157,28 @@ gl_FragCoord origin is upper left 0:46 1 (const int) 0:46 Constant: 0:46 1.000000 -0:48 Sequence -0:48 Sequence -0:48 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:48 Color: direct index for structure (temp 4-component vector of float) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:48 Constant: -0:48 0 (const int) -0:48 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:48 Depth: direct index for structure (temp float) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:48 Constant: -0:48 1 (const int) -0:48 Branch: Return +0:48 Branch: Return with expression +0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: main( (temp void) +0:28 Function Parameters: +0:? Sequence +0:28 Sequence +0:28 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:28 Color: direct index for structure (temp 4-component vector of float) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 0 (const int) +0:28 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:28 Depth: direct index for structure (temp float) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -189,6 +193,8 @@ gl_FragCoord origin is upper left 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: @@ -197,7 +203,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:28 Function Parameters: 0:? Sequence 0:31 Sequence @@ -352,24 +358,28 @@ gl_FragCoord origin is upper left 0:46 1 (const int) 0:46 Constant: 0:46 1.000000 -0:48 Sequence -0:48 Sequence -0:48 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:48 Color: direct index for structure (temp 4-component vector of float) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:48 Constant: -0:48 0 (const int) -0:48 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:48 Depth: direct index for structure (temp float) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:48 Constant: -0:48 1 (const int) -0:48 Branch: Return +0:48 Branch: Return with expression +0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: main( (temp void) +0:28 Function Parameters: +0:? Sequence +0:28 Sequence +0:28 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:28 Color: direct index for structure (temp 4-component vector of float) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 0 (const int) +0:28 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:28 Depth: direct index for structure (temp float) +0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -384,230 +394,243 @@ gl_FragCoord origin is upper left 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 155 +// Id's are bound by 162 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 137 141 + EntryPoint Fragment 4 "main" 145 149 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval10" - Name 12 "g_tTex1df4" - Name 16 "g_sSamp" - Name 27 "txval11" - Name 30 "g_tTex1di4" - Name 40 "txval12" - Name 43 "g_tTex1du4" - Name 50 "txval20" - Name 53 "g_tTex2df4" - Name 64 "txval21" - Name 67 "g_tTex2di4" - Name 76 "txval22" - Name 79 "g_tTex2du4" - Name 90 "txval30" - Name 93 "g_tTex3df4" - Name 103 "txval31" - Name 106 "g_tTex3di4" - Name 114 "txval32" - Name 117 "g_tTex3du4" - Name 128 "PS_OUTPUT" - MemberName 128(PS_OUTPUT) 0 "Color" - MemberName 128(PS_OUTPUT) 1 "Depth" - Name 130 "psout" - Name 137 "Color" - Name 141 "Depth" - Name 145 "g_tTex1df4a" - Name 148 "g_tTexcdf4" - Name 151 "g_tTexcdi4" - Name 154 "g_tTexcdu4" - Decorate 12(g_tTex1df4) DescriptorSet 0 - Decorate 12(g_tTex1df4) Binding 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - Decorate 30(g_tTex1di4) DescriptorSet 0 - Decorate 43(g_tTex1du4) DescriptorSet 0 - Decorate 53(g_tTex2df4) DescriptorSet 0 - Decorate 67(g_tTex2di4) DescriptorSet 0 - Decorate 79(g_tTex2du4) DescriptorSet 0 - Decorate 93(g_tTex3df4) DescriptorSet 0 - Decorate 106(g_tTex3di4) DescriptorSet 0 - Decorate 117(g_tTex3du4) DescriptorSet 0 - Decorate 137(Color) Location 0 - Decorate 141(Depth) BuiltIn FragDepth - Decorate 145(g_tTex1df4a) DescriptorSet 0 - Decorate 145(g_tTex1df4a) Binding 1 - Decorate 148(g_tTexcdf4) DescriptorSet 0 - Decorate 151(g_tTexcdi4) DescriptorSet 0 - Decorate 154(g_tTexcdu4) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval10" + Name 16 "g_tTex1df4" + Name 20 "g_sSamp" + Name 31 "txval11" + Name 34 "g_tTex1di4" + Name 44 "txval12" + Name 47 "g_tTex1du4" + Name 54 "txval20" + Name 57 "g_tTex2df4" + Name 68 "txval21" + Name 71 "g_tTex2di4" + Name 80 "txval22" + Name 83 "g_tTex2du4" + Name 94 "txval30" + Name 97 "g_tTex3df4" + Name 107 "txval31" + Name 110 "g_tTex3di4" + Name 118 "txval32" + Name 121 "g_tTex3du4" + Name 133 "psout" + Name 142 "flattenTemp" + Name 145 "Color" + Name 149 "Depth" + Name 152 "g_tTex1df4a" + Name 155 "g_tTexcdf4" + Name 158 "g_tTexcdi4" + Name 161 "g_tTexcdu4" + Decorate 16(g_tTex1df4) DescriptorSet 0 + Decorate 16(g_tTex1df4) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 34(g_tTex1di4) DescriptorSet 0 + Decorate 47(g_tTex1du4) DescriptorSet 0 + Decorate 57(g_tTex2df4) DescriptorSet 0 + Decorate 71(g_tTex2di4) DescriptorSet 0 + Decorate 83(g_tTex2du4) DescriptorSet 0 + Decorate 97(g_tTex3df4) DescriptorSet 0 + Decorate 110(g_tTex3di4) DescriptorSet 0 + Decorate 121(g_tTex3du4) DescriptorSet 0 + Decorate 145(Color) Location 0 + Decorate 149(Depth) BuiltIn FragDepth + Decorate 152(g_tTex1df4a) DescriptorSet 0 + Decorate 152(g_tTex1df4a) Binding 1 + Decorate 155(g_tTexcdf4) DescriptorSet 0 + Decorate 158(g_tTexcdi4) DescriptorSet 0 + Decorate 161(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 1D sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex1df4): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 1D sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: 6(float) Constant 1036831949 - 21: 6(float) Constant 1061158912 - 22: TypeInt 32 1 - 23: 22(int) Constant 1 - 25: TypeVector 22(int) 4 - 26: TypePointer Function 25(ivec4) - 28: TypeImage 22(int) 1D sampled format:Unknown - 29: TypePointer UniformConstant 28 - 30(g_tTex1di4): 29(ptr) Variable UniformConstant - 33: TypeSampledImage 28 - 35: 6(float) Constant 1045220557 - 37: TypeInt 32 0 - 38: TypeVector 37(int) 4 - 39: TypePointer Function 38(ivec4) - 41: TypeImage 37(int) 1D sampled format:Unknown - 42: TypePointer UniformConstant 41 - 43(g_tTex1du4): 42(ptr) Variable UniformConstant - 46: TypeSampledImage 41 - 48: 6(float) Constant 1050253722 - 51: TypeImage 6(float) 2D sampled format:Unknown - 52: TypePointer UniformConstant 51 - 53(g_tTex2df4): 52(ptr) Variable UniformConstant - 56: TypeSampledImage 51 - 58: TypeVector 6(float) 2 - 59: 58(fvec2) ConstantComposite 20 35 - 60: TypeVector 22(int) 2 - 61: 22(int) Constant 0 - 62: 60(ivec2) ConstantComposite 23 61 - 65: TypeImage 22(int) 2D sampled format:Unknown - 66: TypePointer UniformConstant 65 - 67(g_tTex2di4): 66(ptr) Variable UniformConstant - 70: TypeSampledImage 65 - 72: 6(float) Constant 1053609165 - 73: 58(fvec2) ConstantComposite 48 72 - 74: 60(ivec2) ConstantComposite 23 23 - 77: TypeImage 37(int) 2D sampled format:Unknown - 78: TypePointer UniformConstant 77 - 79(g_tTex2du4): 78(ptr) Variable UniformConstant - 82: TypeSampledImage 77 - 84: 6(float) Constant 1056964608 - 85: 6(float) Constant 1058642330 - 86: 58(fvec2) ConstantComposite 84 85 - 87: 22(int) Constant 4294967295 - 88: 60(ivec2) ConstantComposite 23 87 - 91: TypeImage 6(float) 3D sampled format:Unknown - 92: TypePointer UniformConstant 91 - 93(g_tTex3df4): 92(ptr) Variable UniformConstant - 96: TypeSampledImage 91 - 98: TypeVector 6(float) 3 - 99: 98(fvec3) ConstantComposite 20 35 48 - 100: TypeVector 22(int) 3 - 101: 100(ivec3) ConstantComposite 23 61 23 - 104: TypeImage 22(int) 3D sampled format:Unknown - 105: TypePointer UniformConstant 104 - 106(g_tTex3di4): 105(ptr) Variable UniformConstant - 109: TypeSampledImage 104 - 111: 98(fvec3) ConstantComposite 72 84 85 - 112: 100(ivec3) ConstantComposite 23 23 23 - 115: TypeImage 37(int) 3D sampled format:Unknown - 116: TypePointer UniformConstant 115 - 117(g_tTex3du4): 116(ptr) Variable UniformConstant - 120: TypeSampledImage 115 - 122: 6(float) Constant 1060320051 - 123: 6(float) Constant 1061997773 - 124: 6(float) Constant 1063675494 - 125: 98(fvec3) ConstantComposite 122 123 124 - 126: 100(ivec3) ConstantComposite 23 61 87 - 128(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 129: TypePointer Function 128(PS_OUTPUT) - 131: 6(float) Constant 1065353216 - 132: 7(fvec4) ConstantComposite 131 131 131 131 - 134: TypePointer Function 6(float) - 136: TypePointer Output 7(fvec4) - 137(Color): 136(ptr) Variable Output - 140: TypePointer Output 6(float) - 141(Depth): 140(ptr) Variable Output -145(g_tTex1df4a): 11(ptr) Variable UniformConstant - 146: TypeImage 6(float) Cube sampled format:Unknown - 147: TypePointer UniformConstant 146 - 148(g_tTexcdf4): 147(ptr) Variable UniformConstant - 149: TypeImage 22(int) Cube sampled format:Unknown - 150: TypePointer UniformConstant 149 - 151(g_tTexcdi4): 150(ptr) Variable UniformConstant - 152: TypeImage 37(int) Cube sampled format:Unknown - 153: TypePointer UniformConstant 152 - 154(g_tTexcdu4): 153(ptr) Variable UniformConstant + 16(g_tTex1df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: 6(float) Constant 1036831949 + 25: 6(float) Constant 1061158912 + 26: TypeInt 32 1 + 27: 26(int) Constant 1 + 29: TypeVector 26(int) 4 + 30: TypePointer Function 29(ivec4) + 32: TypeImage 26(int) 1D sampled format:Unknown + 33: TypePointer UniformConstant 32 + 34(g_tTex1di4): 33(ptr) Variable UniformConstant + 37: TypeSampledImage 32 + 39: 6(float) Constant 1045220557 + 41: TypeInt 32 0 + 42: TypeVector 41(int) 4 + 43: TypePointer Function 42(ivec4) + 45: TypeImage 41(int) 1D sampled format:Unknown + 46: TypePointer UniformConstant 45 + 47(g_tTex1du4): 46(ptr) Variable UniformConstant + 50: TypeSampledImage 45 + 52: 6(float) Constant 1050253722 + 55: TypeImage 6(float) 2D sampled format:Unknown + 56: TypePointer UniformConstant 55 + 57(g_tTex2df4): 56(ptr) Variable UniformConstant + 60: TypeSampledImage 55 + 62: TypeVector 6(float) 2 + 63: 62(fvec2) ConstantComposite 24 39 + 64: TypeVector 26(int) 2 + 65: 26(int) Constant 0 + 66: 64(ivec2) ConstantComposite 27 65 + 69: TypeImage 26(int) 2D sampled format:Unknown + 70: TypePointer UniformConstant 69 + 71(g_tTex2di4): 70(ptr) Variable UniformConstant + 74: TypeSampledImage 69 + 76: 6(float) Constant 1053609165 + 77: 62(fvec2) ConstantComposite 52 76 + 78: 64(ivec2) ConstantComposite 27 27 + 81: TypeImage 41(int) 2D sampled format:Unknown + 82: TypePointer UniformConstant 81 + 83(g_tTex2du4): 82(ptr) Variable UniformConstant + 86: TypeSampledImage 81 + 88: 6(float) Constant 1056964608 + 89: 6(float) Constant 1058642330 + 90: 62(fvec2) ConstantComposite 88 89 + 91: 26(int) Constant 4294967295 + 92: 64(ivec2) ConstantComposite 27 91 + 95: TypeImage 6(float) 3D sampled format:Unknown + 96: TypePointer UniformConstant 95 + 97(g_tTex3df4): 96(ptr) Variable UniformConstant + 100: TypeSampledImage 95 + 102: TypeVector 6(float) 3 + 103: 102(fvec3) ConstantComposite 24 39 52 + 104: TypeVector 26(int) 3 + 105: 104(ivec3) ConstantComposite 27 65 27 + 108: TypeImage 26(int) 3D sampled format:Unknown + 109: TypePointer UniformConstant 108 + 110(g_tTex3di4): 109(ptr) Variable UniformConstant + 113: TypeSampledImage 108 + 115: 102(fvec3) ConstantComposite 76 88 89 + 116: 104(ivec3) ConstantComposite 27 27 27 + 119: TypeImage 41(int) 3D sampled format:Unknown + 120: TypePointer UniformConstant 119 + 121(g_tTex3du4): 120(ptr) Variable UniformConstant + 124: TypeSampledImage 119 + 126: 6(float) Constant 1060320051 + 127: 6(float) Constant 1061997773 + 128: 6(float) Constant 1063675494 + 129: 102(fvec3) ConstantComposite 126 127 128 + 130: 104(ivec3) ConstantComposite 27 65 91 + 132: TypePointer Function 8(PS_OUTPUT) + 134: 6(float) Constant 1065353216 + 135: 7(fvec4) ConstantComposite 134 134 134 134 + 137: TypePointer Function 6(float) + 144: TypePointer Output 7(fvec4) + 145(Color): 144(ptr) Variable Output + 148: TypePointer Output 6(float) + 149(Depth): 148(ptr) Variable Output +152(g_tTex1df4a): 15(ptr) Variable UniformConstant + 153: TypeImage 6(float) Cube sampled format:Unknown + 154: TypePointer UniformConstant 153 + 155(g_tTexcdf4): 154(ptr) Variable UniformConstant + 156: TypeImage 26(int) Cube sampled format:Unknown + 157: TypePointer UniformConstant 156 + 158(g_tTexcdi4): 157(ptr) Variable UniformConstant + 159: TypeImage 41(int) Cube sampled format:Unknown + 160: TypePointer UniformConstant 159 + 161(g_tTexcdu4): 160(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval10): 8(ptr) Variable Function - 27(txval11): 26(ptr) Variable Function - 40(txval12): 39(ptr) Variable Function - 50(txval20): 8(ptr) Variable Function - 64(txval21): 26(ptr) Variable Function - 76(txval22): 39(ptr) Variable Function - 90(txval30): 8(ptr) Variable Function - 103(txval31): 26(ptr) Variable Function - 114(txval32): 39(ptr) Variable Function - 130(psout): 129(ptr) Variable Function - 13: 10 Load 12(g_tTex1df4) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 24: 7(fvec4) ImageSampleExplicitLod 19 20 Lod ConstOffset 21 23 - Store 9(txval10) 24 - 31: 28 Load 30(g_tTex1di4) - 32: 14 Load 16(g_sSamp) - 34: 33 SampledImage 31 32 - 36: 25(ivec4) ImageSampleExplicitLod 34 35 Lod ConstOffset 21 23 - Store 27(txval11) 36 - 44: 41 Load 43(g_tTex1du4) - 45: 14 Load 16(g_sSamp) - 47: 46 SampledImage 44 45 - 49: 38(ivec4) ImageSampleExplicitLod 47 48 Lod ConstOffset 21 23 - Store 40(txval12) 49 - 54: 51 Load 53(g_tTex2df4) - 55: 14 Load 16(g_sSamp) - 57: 56 SampledImage 54 55 - 63: 7(fvec4) ImageSampleExplicitLod 57 59 Lod ConstOffset 21 62 - Store 50(txval20) 63 - 68: 65 Load 67(g_tTex2di4) - 69: 14 Load 16(g_sSamp) - 71: 70 SampledImage 68 69 - 75: 25(ivec4) ImageSampleExplicitLod 71 73 Lod ConstOffset 21 74 - Store 64(txval21) 75 - 80: 77 Load 79(g_tTex2du4) - 81: 14 Load 16(g_sSamp) - 83: 82 SampledImage 80 81 - 89: 38(ivec4) ImageSampleExplicitLod 83 86 Lod ConstOffset 21 88 - Store 76(txval22) 89 - 94: 91 Load 93(g_tTex3df4) - 95: 14 Load 16(g_sSamp) - 97: 96 SampledImage 94 95 - 102: 7(fvec4) ImageSampleExplicitLod 97 99 Lod ConstOffset 21 101 - Store 90(txval30) 102 - 107: 104 Load 106(g_tTex3di4) - 108: 14 Load 16(g_sSamp) - 110: 109 SampledImage 107 108 - 113: 25(ivec4) ImageSampleExplicitLod 110 111 Lod ConstOffset 21 112 - Store 103(txval31) 113 - 118: 115 Load 117(g_tTex3du4) - 119: 14 Load 16(g_sSamp) - 121: 120 SampledImage 118 119 - 127: 38(ivec4) ImageSampleExplicitLod 121 125 Lod ConstOffset 21 126 - Store 114(txval32) 127 - 133: 8(ptr) AccessChain 130(psout) 61 - Store 133 132 - 135: 134(ptr) AccessChain 130(psout) 23 - Store 135 131 - 138: 8(ptr) AccessChain 130(psout) 61 - 139: 7(fvec4) Load 138 - Store 137(Color) 139 - 142: 134(ptr) AccessChain 130(psout) 23 - 143: 6(float) Load 142 - Store 141(Depth) 143 +142(flattenTemp): 132(ptr) Variable Function + 143:8(PS_OUTPUT) FunctionCall 10(@main() + Store 142(flattenTemp) 143 + 146: 12(ptr) AccessChain 142(flattenTemp) 65 + 147: 7(fvec4) Load 146 + Store 145(Color) 147 + 150: 137(ptr) AccessChain 142(flattenTemp) 27 + 151: 6(float) Load 150 + Store 149(Depth) 151 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval10): 12(ptr) Variable Function + 31(txval11): 30(ptr) Variable Function + 44(txval12): 43(ptr) Variable Function + 54(txval20): 12(ptr) Variable Function + 68(txval21): 30(ptr) Variable Function + 80(txval22): 43(ptr) Variable Function + 94(txval30): 12(ptr) Variable Function + 107(txval31): 30(ptr) Variable Function + 118(txval32): 43(ptr) Variable Function + 133(psout): 132(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 28: 7(fvec4) ImageSampleExplicitLod 23 24 Lod ConstOffset 25 27 + Store 13(txval10) 28 + 35: 32 Load 34(g_tTex1di4) + 36: 18 Load 20(g_sSamp) + 38: 37 SampledImage 35 36 + 40: 29(ivec4) ImageSampleExplicitLod 38 39 Lod ConstOffset 25 27 + Store 31(txval11) 40 + 48: 45 Load 47(g_tTex1du4) + 49: 18 Load 20(g_sSamp) + 51: 50 SampledImage 48 49 + 53: 42(ivec4) ImageSampleExplicitLod 51 52 Lod ConstOffset 25 27 + Store 44(txval12) 53 + 58: 55 Load 57(g_tTex2df4) + 59: 18 Load 20(g_sSamp) + 61: 60 SampledImage 58 59 + 67: 7(fvec4) ImageSampleExplicitLod 61 63 Lod ConstOffset 25 66 + Store 54(txval20) 67 + 72: 69 Load 71(g_tTex2di4) + 73: 18 Load 20(g_sSamp) + 75: 74 SampledImage 72 73 + 79: 29(ivec4) ImageSampleExplicitLod 75 77 Lod ConstOffset 25 78 + Store 68(txval21) 79 + 84: 81 Load 83(g_tTex2du4) + 85: 18 Load 20(g_sSamp) + 87: 86 SampledImage 84 85 + 93: 42(ivec4) ImageSampleExplicitLod 87 90 Lod ConstOffset 25 92 + Store 80(txval22) 93 + 98: 95 Load 97(g_tTex3df4) + 99: 18 Load 20(g_sSamp) + 101: 100 SampledImage 98 99 + 106: 7(fvec4) ImageSampleExplicitLod 101 103 Lod ConstOffset 25 105 + Store 94(txval30) 106 + 111: 108 Load 110(g_tTex3di4) + 112: 18 Load 20(g_sSamp) + 114: 113 SampledImage 111 112 + 117: 29(ivec4) ImageSampleExplicitLod 114 115 Lod ConstOffset 25 116 + Store 107(txval31) 117 + 122: 119 Load 121(g_tTex3du4) + 123: 18 Load 20(g_sSamp) + 125: 124 SampledImage 122 123 + 131: 42(ivec4) ImageSampleExplicitLod 125 129 Lod ConstOffset 25 130 + Store 118(txval32) 131 + 136: 12(ptr) AccessChain 133(psout) 65 + Store 136 135 + 138: 137(ptr) AccessChain 133(psout) 27 + Store 138 134 + 139:8(PS_OUTPUT) Load 133(psout) + ReturnValue 139 + FunctionEnd diff --git a/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out index 056a4f13..c913263f 100644 --- a/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out @@ -2,7 +2,7 @@ hlsl.samplelevel.offsetarray.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:20 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:20 Function Parameters: 0:? Sequence 0:23 Sequence @@ -112,24 +112,28 @@ gl_FragCoord origin is upper left 0:34 1 (const int) 0:34 Constant: 0:34 1.000000 -0:36 Sequence -0:36 Sequence -0:36 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:36 Color: direct index for structure (temp 4-component vector of float) -0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:36 Constant: -0:36 0 (const int) -0:36 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:36 Depth: direct index for structure (temp float) -0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:36 Constant: -0:36 1 (const int) -0:36 Branch: Return +0:36 Branch: Return with expression +0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Function Definition: main( (temp void) +0:20 Function Parameters: +0:? Sequence +0:20 Sequence +0:20 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:20 Color: direct index for structure (temp 4-component vector of float) +0:20 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Constant: +0:20 0 (const int) +0:20 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:20 Depth: direct index for structure (temp float) +0:20 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Constant: +0:20 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -138,6 +142,8 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2df4' (uniform texture2DArray) 0:? 'g_tTex2di4' (uniform itexture2DArray) 0:? 'g_tTex2du4' (uniform utexture2DArray) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -146,7 +152,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:20 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:20 Function Parameters: 0:? Sequence 0:23 Sequence @@ -256,24 +262,28 @@ gl_FragCoord origin is upper left 0:34 1 (const int) 0:34 Constant: 0:34 1.000000 -0:36 Sequence -0:36 Sequence -0:36 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:36 Color: direct index for structure (temp 4-component vector of float) -0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:36 Constant: -0:36 0 (const int) -0:36 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:36 Depth: direct index for structure (temp float) -0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:36 Constant: -0:36 1 (const int) -0:36 Branch: Return +0:36 Branch: Return with expression +0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Function Definition: main( (temp void) +0:20 Function Parameters: +0:? Sequence +0:20 Sequence +0:20 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:20 Color: direct index for structure (temp 4-component vector of float) +0:20 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Constant: +0:20 0 (const int) +0:20 move second child to first child (temp float) +0:? 'Depth' (out float FragDepth) +0:20 Depth: direct index for structure (temp float) +0:20 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Constant: +0:20 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -282,169 +292,182 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2df4' (uniform texture2DArray) 0:? 'g_tTex2di4' (uniform itexture2DArray) 0:? 'g_tTex2du4' (uniform utexture2DArray) +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 112 +// Id's are bound by 119 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 103 107 + EntryPoint Fragment 4 "main" 111 115 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval10" - Name 12 "g_tTex1df4" - Name 16 "g_sSamp" - Name 30 "txval11" - Name 33 "g_tTex1di4" - Name 45 "txval12" - Name 48 "g_tTex1du4" - Name 57 "txval20" - Name 60 "g_tTex2df4" - Name 70 "txval21" - Name 73 "g_tTex2di4" - Name 81 "txval22" - Name 84 "g_tTex2du4" - Name 94 "PS_OUTPUT" - MemberName 94(PS_OUTPUT) 0 "Color" - MemberName 94(PS_OUTPUT) 1 "Depth" - Name 96 "psout" - Name 103 "Color" - Name 107 "Depth" - Name 111 "g_tTex1df4a" - Decorate 12(g_tTex1df4) DescriptorSet 0 - Decorate 12(g_tTex1df4) Binding 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - Decorate 33(g_tTex1di4) DescriptorSet 0 - Decorate 48(g_tTex1du4) DescriptorSet 0 - Decorate 60(g_tTex2df4) DescriptorSet 0 - Decorate 73(g_tTex2di4) DescriptorSet 0 - Decorate 84(g_tTex2du4) DescriptorSet 0 - Decorate 103(Color) Location 0 - Decorate 107(Depth) BuiltIn FragDepth - Decorate 111(g_tTex1df4a) DescriptorSet 0 - Decorate 111(g_tTex1df4a) Binding 1 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval10" + Name 16 "g_tTex1df4" + Name 20 "g_sSamp" + Name 34 "txval11" + Name 37 "g_tTex1di4" + Name 49 "txval12" + Name 52 "g_tTex1du4" + Name 61 "txval20" + Name 64 "g_tTex2df4" + Name 74 "txval21" + Name 77 "g_tTex2di4" + Name 85 "txval22" + Name 88 "g_tTex2du4" + Name 99 "psout" + Name 108 "flattenTemp" + Name 111 "Color" + Name 115 "Depth" + Name 118 "g_tTex1df4a" + Decorate 16(g_tTex1df4) DescriptorSet 0 + Decorate 16(g_tTex1df4) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 37(g_tTex1di4) DescriptorSet 0 + Decorate 52(g_tTex1du4) DescriptorSet 0 + Decorate 64(g_tTex2df4) DescriptorSet 0 + Decorate 77(g_tTex2di4) DescriptorSet 0 + Decorate 88(g_tTex2du4) DescriptorSet 0 + Decorate 111(Color) Location 0 + Decorate 115(Depth) BuiltIn FragDepth + Decorate 118(g_tTex1df4a) DescriptorSet 0 + Decorate 118(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 1D array sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex1df4): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 1D array sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: TypeVector 6(float) 2 - 21: 6(float) Constant 1036831949 - 22: 6(float) Constant 1045220557 - 23: 20(fvec2) ConstantComposite 21 22 - 24: 6(float) Constant 1061158912 - 25: TypeInt 32 1 - 26: 25(int) Constant 0 - 28: TypeVector 25(int) 4 - 29: TypePointer Function 28(ivec4) - 31: TypeImage 25(int) 1D array sampled format:Unknown - 32: TypePointer UniformConstant 31 - 33(g_tTex1di4): 32(ptr) Variable UniformConstant - 36: TypeSampledImage 31 - 38: 6(float) Constant 1050253722 - 39: 20(fvec2) ConstantComposite 22 38 - 40: 25(int) Constant 1 - 42: TypeInt 32 0 - 43: TypeVector 42(int) 4 - 44: TypePointer Function 43(ivec4) - 46: TypeImage 42(int) 1D array sampled format:Unknown - 47: TypePointer UniformConstant 46 - 48(g_tTex1du4): 47(ptr) Variable UniformConstant - 51: TypeSampledImage 46 - 53: 6(float) Constant 1053609165 - 54: 20(fvec2) ConstantComposite 38 53 - 55: 25(int) Constant 2 - 58: TypeImage 6(float) 2D array sampled format:Unknown - 59: TypePointer UniformConstant 58 - 60(g_tTex2df4): 59(ptr) Variable UniformConstant - 63: TypeSampledImage 58 - 65: TypeVector 6(float) 3 - 66: 65(fvec3) ConstantComposite 21 22 38 - 67: TypeVector 25(int) 2 - 68: 67(ivec2) ConstantComposite 26 26 - 71: TypeImage 25(int) 2D array sampled format:Unknown - 72: TypePointer UniformConstant 71 - 73(g_tTex2di4): 72(ptr) Variable UniformConstant - 76: TypeSampledImage 71 - 78: 6(float) Constant 1056964608 - 79: 65(fvec3) ConstantComposite 38 53 78 - 82: TypeImage 42(int) 2D array sampled format:Unknown - 83: TypePointer UniformConstant 82 - 84(g_tTex2du4): 83(ptr) Variable UniformConstant - 87: TypeSampledImage 82 - 89: 6(float) Constant 1058642330 - 90: 6(float) Constant 1060320051 - 91: 65(fvec3) ConstantComposite 78 89 90 - 92: 67(ivec2) ConstantComposite 26 40 - 94(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 95: TypePointer Function 94(PS_OUTPUT) - 97: 6(float) Constant 1065353216 - 98: 7(fvec4) ConstantComposite 97 97 97 97 - 100: TypePointer Function 6(float) - 102: TypePointer Output 7(fvec4) - 103(Color): 102(ptr) Variable Output - 106: TypePointer Output 6(float) - 107(Depth): 106(ptr) Variable Output -111(g_tTex1df4a): 11(ptr) Variable UniformConstant + 16(g_tTex1df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: TypeVector 6(float) 2 + 25: 6(float) Constant 1036831949 + 26: 6(float) Constant 1045220557 + 27: 24(fvec2) ConstantComposite 25 26 + 28: 6(float) Constant 1061158912 + 29: TypeInt 32 1 + 30: 29(int) Constant 0 + 32: TypeVector 29(int) 4 + 33: TypePointer Function 32(ivec4) + 35: TypeImage 29(int) 1D array sampled format:Unknown + 36: TypePointer UniformConstant 35 + 37(g_tTex1di4): 36(ptr) Variable UniformConstant + 40: TypeSampledImage 35 + 42: 6(float) Constant 1050253722 + 43: 24(fvec2) ConstantComposite 26 42 + 44: 29(int) Constant 1 + 46: TypeInt 32 0 + 47: TypeVector 46(int) 4 + 48: TypePointer Function 47(ivec4) + 50: TypeImage 46(int) 1D array sampled format:Unknown + 51: TypePointer UniformConstant 50 + 52(g_tTex1du4): 51(ptr) Variable UniformConstant + 55: TypeSampledImage 50 + 57: 6(float) Constant 1053609165 + 58: 24(fvec2) ConstantComposite 42 57 + 59: 29(int) Constant 2 + 62: TypeImage 6(float) 2D array sampled format:Unknown + 63: TypePointer UniformConstant 62 + 64(g_tTex2df4): 63(ptr) Variable UniformConstant + 67: TypeSampledImage 62 + 69: TypeVector 6(float) 3 + 70: 69(fvec3) ConstantComposite 25 26 42 + 71: TypeVector 29(int) 2 + 72: 71(ivec2) ConstantComposite 30 30 + 75: TypeImage 29(int) 2D array sampled format:Unknown + 76: TypePointer UniformConstant 75 + 77(g_tTex2di4): 76(ptr) Variable UniformConstant + 80: TypeSampledImage 75 + 82: 6(float) Constant 1056964608 + 83: 69(fvec3) ConstantComposite 42 57 82 + 86: TypeImage 46(int) 2D array sampled format:Unknown + 87: TypePointer UniformConstant 86 + 88(g_tTex2du4): 87(ptr) Variable UniformConstant + 91: TypeSampledImage 86 + 93: 6(float) Constant 1058642330 + 94: 6(float) Constant 1060320051 + 95: 69(fvec3) ConstantComposite 82 93 94 + 96: 71(ivec2) ConstantComposite 30 44 + 98: TypePointer Function 8(PS_OUTPUT) + 100: 6(float) Constant 1065353216 + 101: 7(fvec4) ConstantComposite 100 100 100 100 + 103: TypePointer Function 6(float) + 110: TypePointer Output 7(fvec4) + 111(Color): 110(ptr) Variable Output + 114: TypePointer Output 6(float) + 115(Depth): 114(ptr) Variable Output +118(g_tTex1df4a): 15(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval10): 8(ptr) Variable Function - 30(txval11): 29(ptr) Variable Function - 45(txval12): 44(ptr) Variable Function - 57(txval20): 8(ptr) Variable Function - 70(txval21): 29(ptr) Variable Function - 81(txval22): 44(ptr) Variable Function - 96(psout): 95(ptr) Variable Function - 13: 10 Load 12(g_tTex1df4) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 27: 7(fvec4) ImageSampleExplicitLod 19 23 Lod ConstOffset 24 26 - Store 9(txval10) 27 - 34: 31 Load 33(g_tTex1di4) - 35: 14 Load 16(g_sSamp) - 37: 36 SampledImage 34 35 - 41: 28(ivec4) ImageSampleExplicitLod 37 39 Lod ConstOffset 24 40 - Store 30(txval11) 41 - 49: 46 Load 48(g_tTex1du4) - 50: 14 Load 16(g_sSamp) - 52: 51 SampledImage 49 50 - 56: 43(ivec4) ImageSampleExplicitLod 52 54 Lod ConstOffset 24 55 - Store 45(txval12) 56 - 61: 58 Load 60(g_tTex2df4) - 62: 14 Load 16(g_sSamp) - 64: 63 SampledImage 61 62 - 69: 7(fvec4) ImageSampleExplicitLod 64 66 Lod ConstOffset 24 68 - Store 57(txval20) 69 - 74: 71 Load 73(g_tTex2di4) - 75: 14 Load 16(g_sSamp) - 77: 76 SampledImage 74 75 - 80: 28(ivec4) ImageSampleExplicitLod 77 79 Lod ConstOffset 24 68 - Store 70(txval21) 80 - 85: 82 Load 84(g_tTex2du4) - 86: 14 Load 16(g_sSamp) - 88: 87 SampledImage 85 86 - 93: 43(ivec4) ImageSampleExplicitLod 88 91 Lod ConstOffset 24 92 - Store 81(txval22) 93 - 99: 8(ptr) AccessChain 96(psout) 26 - Store 99 98 - 101: 100(ptr) AccessChain 96(psout) 40 - Store 101 97 - 104: 8(ptr) AccessChain 96(psout) 26 - 105: 7(fvec4) Load 104 - Store 103(Color) 105 - 108: 100(ptr) AccessChain 96(psout) 40 - 109: 6(float) Load 108 - Store 107(Depth) 109 +108(flattenTemp): 98(ptr) Variable Function + 109:8(PS_OUTPUT) FunctionCall 10(@main() + Store 108(flattenTemp) 109 + 112: 12(ptr) AccessChain 108(flattenTemp) 30 + 113: 7(fvec4) Load 112 + Store 111(Color) 113 + 116: 103(ptr) AccessChain 108(flattenTemp) 44 + 117: 6(float) Load 116 + Store 115(Depth) 117 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval10): 12(ptr) Variable Function + 34(txval11): 33(ptr) Variable Function + 49(txval12): 48(ptr) Variable Function + 61(txval20): 12(ptr) Variable Function + 74(txval21): 33(ptr) Variable Function + 85(txval22): 48(ptr) Variable Function + 99(psout): 98(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 31: 7(fvec4) ImageSampleExplicitLod 23 27 Lod ConstOffset 28 30 + Store 13(txval10) 31 + 38: 35 Load 37(g_tTex1di4) + 39: 18 Load 20(g_sSamp) + 41: 40 SampledImage 38 39 + 45: 32(ivec4) ImageSampleExplicitLod 41 43 Lod ConstOffset 28 44 + Store 34(txval11) 45 + 53: 50 Load 52(g_tTex1du4) + 54: 18 Load 20(g_sSamp) + 56: 55 SampledImage 53 54 + 60: 47(ivec4) ImageSampleExplicitLod 56 58 Lod ConstOffset 28 59 + Store 49(txval12) 60 + 65: 62 Load 64(g_tTex2df4) + 66: 18 Load 20(g_sSamp) + 68: 67 SampledImage 65 66 + 73: 7(fvec4) ImageSampleExplicitLod 68 70 Lod ConstOffset 28 72 + Store 61(txval20) 73 + 78: 75 Load 77(g_tTex2di4) + 79: 18 Load 20(g_sSamp) + 81: 80 SampledImage 78 79 + 84: 32(ivec4) ImageSampleExplicitLod 81 83 Lod ConstOffset 28 72 + Store 74(txval21) 84 + 89: 86 Load 88(g_tTex2du4) + 90: 18 Load 20(g_sSamp) + 92: 91 SampledImage 89 90 + 97: 47(ivec4) ImageSampleExplicitLod 92 95 Lod ConstOffset 28 96 + Store 85(txval22) 97 + 102: 12(ptr) AccessChain 99(psout) 30 + Store 102 101 + 104: 103(ptr) AccessChain 99(psout) 44 + Store 104 100 + 105:8(PS_OUTPUT) Load 99(psout) + ReturnValue 105 + FunctionEnd diff --git a/Test/baseResults/hlsl.scope.frag.out b/Test/baseResults/hlsl.scope.frag.out index 81c1a844..7a440735 100755 --- a/Test/baseResults/hlsl.scope.frag.out +++ b/Test/baseResults/hlsl.scope.frag.out @@ -2,9 +2,9 @@ hlsl.scope.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4; (temp void) +0:2 Function Definition: @PixelShaderFunction(vf4; (temp void) 0:2 Function Parameters: -0:2 'input' (layout(location=0 ) in 4-component vector of float) +0:2 'input' (in 4-component vector of float) 0:? Sequence 0:4 'x' (temp int) 0:? Sequence @@ -37,6 +37,14 @@ gl_FragCoord origin is upper left 0:29 Constant: 0:29 0 (const int) 0:27 No loop body +0:2 Function Definition: PixelShaderFunction( (temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:2 Function Call: @PixelShaderFunction(vf4; (temp void) +0:? 'input' (temp 4-component vector of float) 0:? Linker Objects 0:? 'input' (layout(location=0 ) in 4-component vector of float) @@ -47,9 +55,9 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4; (temp void) +0:2 Function Definition: @PixelShaderFunction(vf4; (temp void) 0:2 Function Parameters: -0:2 'input' (layout(location=0 ) in 4-component vector of float) +0:2 'input' (in 4-component vector of float) 0:? Sequence 0:4 'x' (temp int) 0:? Sequence @@ -82,75 +90,101 @@ gl_FragCoord origin is upper left 0:29 Constant: 0:29 0 (const int) 0:27 No loop body +0:2 Function Definition: PixelShaderFunction( (temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:2 Function Call: @PixelShaderFunction(vf4; (temp void) +0:? 'input' (temp 4-component vector of float) 0:? Linker Objects 0:? 'input' (layout(location=0 ) in 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 39 +// Id's are bound by 49 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 38 + EntryPoint Fragment 4 "PixelShaderFunction" 44 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 8 "x" - Name 11 "x" - Name 14 "x" + Name 11 "@PixelShaderFunction(vf4;" + Name 10 "input" + Name 15 "x" Name 17 "x" - Name 38 "input" - Decorate 38(input) Location 0 + Name 20 "x" + Name 23 "x" + Name 42 "input" + Name 44 "input" + Name 46 "param" + Decorate 44(input) Location 0 2: TypeVoid 3: TypeFunction 2 - 6: TypeInt 32 1 - 7: TypePointer Function 6(int) - 9: TypeFloat 32 - 10: TypePointer Function 9(float) - 12: TypeBool - 13: TypePointer Function 12(bool) - 15: TypeVector 9(float) 3 - 16: TypePointer Function 15(fvec3) - 19: 6(int) Constant 0 - 36: TypeVector 9(float) 4 - 37: TypePointer Input 36(fvec4) - 38(input): 37(ptr) Variable Input + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8: TypePointer Function 7(fvec4) + 9: TypeFunction 2 8(ptr) + 13: TypeInt 32 1 + 14: TypePointer Function 13(int) + 16: TypePointer Function 6(float) + 18: TypeBool + 19: TypePointer Function 18(bool) + 21: TypeVector 6(float) 3 + 22: TypePointer Function 21(fvec3) + 25: 13(int) Constant 0 + 43: TypePointer Input 7(fvec4) + 44(input): 43(ptr) Variable Input 4(PixelShaderFunction): 2 Function None 3 5: Label - 8(x): 7(ptr) Variable Function - 11(x): 10(ptr) Variable Function - 14(x): 13(ptr) Variable Function - 17(x): 16(ptr) Variable Function - 18: 6(int) Load 8(x) - 20: 12(bool) SGreaterThan 18 19 - SelectionMerge 22 None - BranchConditional 20 21 22 - 21: Label - Branch 22 - 22: Label - Branch 23 - 23: Label - LoopMerge 25 26 None - Branch 27 - 27: Label - 28: 6(int) Load 8(x) - 29: 12(bool) SGreaterThan 28 19 - BranchConditional 29 24 25 - 24: Label - Branch 26 - 26: Label - Branch 23 - 25: Label - Branch 30 - 30: Label - LoopMerge 32 33 None - Branch 31 - 31: Label - Branch 33 - 33: Label - 34: 6(int) Load 8(x) - 35: 12(bool) SGreaterThan 34 19 - BranchConditional 35 30 32 - 32: Label + 42(input): 8(ptr) Variable Function + 46(param): 8(ptr) Variable Function + 45: 7(fvec4) Load 44(input) + Store 42(input) 45 + 47: 7(fvec4) Load 42(input) + Store 46(param) 47 + 48: 2 FunctionCall 11(@PixelShaderFunction(vf4;) 46(param) + Return + FunctionEnd +11(@PixelShaderFunction(vf4;): 2 Function None 9 + 10(input): 8(ptr) FunctionParameter + 12: Label + 15(x): 14(ptr) Variable Function + 17(x): 16(ptr) Variable Function + 20(x): 19(ptr) Variable Function + 23(x): 22(ptr) Variable Function + 24: 13(int) Load 15(x) + 26: 18(bool) SGreaterThan 24 25 + SelectionMerge 28 None + BranchConditional 26 27 28 + 27: Label + Branch 28 + 28: Label + Branch 29 + 29: Label + LoopMerge 31 32 None + Branch 33 + 33: Label + 34: 13(int) Load 15(x) + 35: 18(bool) SGreaterThan 34 25 + BranchConditional 35 30 31 + 30: Label + Branch 32 + 32: Label + Branch 29 + 31: Label + Branch 36 + 36: Label + LoopMerge 38 39 None + Branch 37 + 37: Label + Branch 39 + 39: Label + 40: 13(int) Load 15(x) + 41: 18(bool) SGreaterThan 40 25 + BranchConditional 41 36 38 + 38: Label Return FunctionEnd diff --git a/Test/baseResults/hlsl.semicolons.frag.out b/Test/baseResults/hlsl.semicolons.frag.out index a9f92768..94b6fc00 100644 --- a/Test/baseResults/hlsl.semicolons.frag.out +++ b/Test/baseResults/hlsl.semicolons.frag.out @@ -6,7 +6,7 @@ gl_FragCoord origin is upper left 0:2 Function Parameters: 0:8 Function Definition: MyFunc2( (temp void) 0:8 Function Parameters: -0:13 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:13 Function Definition: @main( (temp structure{temp 4-component vector of float color}) 0:13 Function Parameters: 0:? Sequence 0:16 move second child to first child (temp 4-component vector of float) @@ -19,15 +19,18 @@ gl_FragCoord origin is upper left 0:16 1.000000 0:16 1.000000 0:16 1.000000 -0:17 Sequence -0:17 Sequence -0:17 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:17 color: direct index for structure (temp 4-component vector of float) -0:17 'ps_output' (temp structure{temp 4-component vector of float color}) -0:17 Constant: -0:17 0 (const int) -0:17 Branch: Return +0:17 Branch: Return with expression +0:17 'ps_output' (temp structure{temp 4-component vector of float color}) +0:13 Function Definition: main( (temp void) +0:13 Function Parameters: +0:? Sequence +0:13 Sequence +0:13 move second child to first child (temp 4-component vector of float) +0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:13 color: direct index for structure (temp 4-component vector of float) +0:13 Function Call: @main( (temp structure{temp 4-component vector of float color}) +0:13 Constant: +0:13 0 (const int) 0:? Linker Objects 0:? 'color' (layout(location=0 ) out 4-component vector of float) @@ -42,7 +45,7 @@ gl_FragCoord origin is upper left 0:2 Function Parameters: 0:8 Function Definition: MyFunc2( (temp void) 0:8 Function Parameters: -0:13 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:13 Function Definition: @main( (temp structure{temp 4-component vector of float color}) 0:13 Function Parameters: 0:? Sequence 0:16 move second child to first child (temp 4-component vector of float) @@ -55,56 +58,58 @@ gl_FragCoord origin is upper left 0:16 1.000000 0:16 1.000000 0:16 1.000000 -0:17 Sequence -0:17 Sequence -0:17 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:17 color: direct index for structure (temp 4-component vector of float) -0:17 'ps_output' (temp structure{temp 4-component vector of float color}) -0:17 Constant: -0:17 0 (const int) -0:17 Branch: Return +0:17 Branch: Return with expression +0:17 'ps_output' (temp structure{temp 4-component vector of float color}) +0:13 Function Definition: main( (temp void) +0:13 Function Parameters: +0:? Sequence +0:13 Sequence +0:13 move second child to first child (temp 4-component vector of float) +0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:13 color: direct index for structure (temp 4-component vector of float) +0:13 Function Call: @main( (temp structure{temp 4-component vector of float color}) +0:13 Constant: +0:13 0 (const int) 0:? Linker Objects 0:? 'color' (layout(location=0 ) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 26 +// Id's are bound by 31 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 22 + EntryPoint Fragment 4 "main" 28 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 6 "MyFunc(" Name 8 "MyFunc2(" Name 12 "PS_OUTPUT" MemberName 12(PS_OUTPUT) 0 "color" - Name 14 "ps_output" - Name 22 "color" - Decorate 22(color) Location 0 + Name 14 "@main(" + Name 17 "ps_output" + Name 28 "color" + Decorate 28(color) Location 0 2: TypeVoid 3: TypeFunction 2 10: TypeFloat 32 11: TypeVector 10(float) 4 12(PS_OUTPUT): TypeStruct 11(fvec4) - 13: TypePointer Function 12(PS_OUTPUT) - 15: TypeInt 32 1 - 16: 15(int) Constant 0 - 17: 10(float) Constant 1065353216 - 18: 11(fvec4) ConstantComposite 17 17 17 17 - 19: TypePointer Function 11(fvec4) - 21: TypePointer Output 11(fvec4) - 22(color): 21(ptr) Variable Output + 13: TypeFunction 12(PS_OUTPUT) + 16: TypePointer Function 12(PS_OUTPUT) + 18: TypeInt 32 1 + 19: 18(int) Constant 0 + 20: 10(float) Constant 1065353216 + 21: 11(fvec4) ConstantComposite 20 20 20 20 + 22: TypePointer Function 11(fvec4) + 27: TypePointer Output 11(fvec4) + 28(color): 27(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 14(ps_output): 13(ptr) Variable Function - 20: 19(ptr) AccessChain 14(ps_output) 16 - Store 20 18 - 23: 19(ptr) AccessChain 14(ps_output) 16 - 24: 11(fvec4) Load 23 - Store 22(color) 24 + 29:12(PS_OUTPUT) FunctionCall 14(@main() + 30: 11(fvec4) CompositeExtract 29 0 + Store 28(color) 30 Return FunctionEnd 6(MyFunc(): 2 Function None 3 @@ -115,3 +120,11 @@ gl_FragCoord origin is upper left 9: Label Return FunctionEnd + 14(@main():12(PS_OUTPUT) Function None 13 + 15: Label + 17(ps_output): 16(ptr) Variable Function + 23: 22(ptr) AccessChain 17(ps_output) 19 + Store 23 21 + 24:12(PS_OUTPUT) Load 17(ps_output) + ReturnValue 24 + FunctionEnd diff --git a/Test/baseResults/hlsl.shapeConvRet.frag.out b/Test/baseResults/hlsl.shapeConvRet.frag.out index c2137870..50b482d1 100755 --- a/Test/baseResults/hlsl.shapeConvRet.frag.out +++ b/Test/baseResults/hlsl.shapeConvRet.frag.out @@ -10,16 +10,23 @@ gl_FragCoord origin is upper left 0:3 13 (const int) 0:3 13 (const int) 0:3 13 (const int) -0:7 Function Definition: main(f1; (temp 4-component vector of float) +0:7 Function Definition: @main(f1; (temp 4-component vector of float) 0:7 Function Parameters: -0:7 'f' (layout(location=0 ) in float) +0:7 'f' (in float) 0:? Sequence -0:8 Sequence -0:8 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:8 Construct vec4 (temp 4-component vector of float) -0:8 'f' (layout(location=0 ) in float) -0:8 Branch: Return +0:8 Branch: Return with expression +0:8 Construct vec4 (temp 4-component vector of float) +0:8 'f' (in float) +0:7 Function Definition: main( (temp void) +0:7 Function Parameters: +0:? Sequence +0:7 move second child to first child (temp float) +0:? 'f' (temp float) +0:? 'f' (layout(location=0 ) in float) +0:7 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:7 Function Call: @main(f1; (temp 4-component vector of float) +0:? 'f' (temp float) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 'f' (layout(location=0 ) in float) @@ -39,56 +46,81 @@ gl_FragCoord origin is upper left 0:3 13 (const int) 0:3 13 (const int) 0:3 13 (const int) -0:7 Function Definition: main(f1; (temp 4-component vector of float) +0:7 Function Definition: @main(f1; (temp 4-component vector of float) 0:7 Function Parameters: -0:7 'f' (layout(location=0 ) in float) +0:7 'f' (in float) 0:? Sequence -0:8 Sequence -0:8 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:8 Construct vec4 (temp 4-component vector of float) -0:8 'f' (layout(location=0 ) in float) -0:8 Branch: Return +0:8 Branch: Return with expression +0:8 Construct vec4 (temp 4-component vector of float) +0:8 'f' (in float) +0:7 Function Definition: main( (temp void) +0:7 Function Parameters: +0:? Sequence +0:7 move second child to first child (temp float) +0:? 'f' (temp float) +0:? 'f' (layout(location=0 ) in float) +0:7 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:7 Function Call: @main(f1; (temp 4-component vector of float) +0:? 'f' (temp float) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 'f' (layout(location=0 ) in float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 24 +// Id's are bound by 35 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 18 20 + EntryPoint Fragment 4 "main" 28 31 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "foo(" - Name 18 "@entryPointOutput" - Name 20 "f" - Decorate 18(@entryPointOutput) Location 0 - Decorate 20(f) Location 0 + Name 16 "@main(f1;" + Name 15 "f" + Name 26 "f" + Name 28 "f" + Name 31 "@entryPointOutput" + Name 32 "param" + Decorate 28(f) Location 0 + Decorate 31(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 7: TypeVector 6(int) 3 8: TypeFunction 7(ivec3) - 11: 6(int) Constant 13 - 12: 7(ivec3) ConstantComposite 11 11 11 - 15: TypeFloat 32 - 16: TypeVector 15(float) 4 - 17: TypePointer Output 16(fvec4) -18(@entryPointOutput): 17(ptr) Variable Output - 19: TypePointer Input 15(float) - 20(f): 19(ptr) Variable Input + 11: TypeFloat 32 + 12: TypePointer Function 11(float) + 13: TypeVector 11(float) 4 + 14: TypeFunction 13(fvec4) 12(ptr) + 18: 6(int) Constant 13 + 19: 7(ivec3) ConstantComposite 18 18 18 + 27: TypePointer Input 11(float) + 28(f): 27(ptr) Variable Input + 30: TypePointer Output 13(fvec4) +31(@entryPointOutput): 30(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 21: 15(float) Load 20(f) - 22: 16(fvec4) CompositeConstruct 21 21 21 21 - Store 18(@entryPointOutput) 22 + 26(f): 12(ptr) Variable Function + 32(param): 12(ptr) Variable Function + 29: 11(float) Load 28(f) + Store 26(f) 29 + 33: 11(float) Load 26(f) + Store 32(param) 33 + 34: 13(fvec4) FunctionCall 16(@main(f1;) 32(param) + Store 31(@entryPointOutput) 34 Return FunctionEnd 9(foo(): 7(ivec3) Function None 8 10: Label - ReturnValue 12 + ReturnValue 19 + FunctionEnd + 16(@main(f1;): 13(fvec4) Function None 14 + 15(f): 12(ptr) FunctionParameter + 17: Label + 22: 11(float) Load 15(f) + 23: 13(fvec4) CompositeConstruct 22 22 22 22 + ReturnValue 23 FunctionEnd diff --git a/Test/baseResults/hlsl.sin.frag.out b/Test/baseResults/hlsl.sin.frag.out index 629668ac..156d5304 100755 --- a/Test/baseResults/hlsl.sin.frag.out +++ b/Test/baseResults/hlsl.sin.frag.out @@ -2,16 +2,23 @@ hlsl.sin.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) +0:2 Function Definition: @PixelShaderFunction(vf4; (temp 4-component vector of float) 0:2 Function Parameters: -0:2 'input' (layout(location=0 ) in 4-component vector of float) +0:2 'input' (in 4-component vector of float) 0:? Sequence -0:3 Sequence -0:3 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:3 sine (temp 4-component vector of float) -0:3 'input' (layout(location=0 ) in 4-component vector of float) -0:3 Branch: Return +0:3 Branch: Return with expression +0:3 sine (temp 4-component vector of float) +0:3 'input' (in 4-component vector of float) +0:2 Function Definition: PixelShaderFunction( (temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:2 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:2 Function Call: @PixelShaderFunction(vf4; (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 'input' (layout(location=0 ) in 4-component vector of float) @@ -23,46 +30,71 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) +0:2 Function Definition: @PixelShaderFunction(vf4; (temp 4-component vector of float) 0:2 Function Parameters: -0:2 'input' (layout(location=0 ) in 4-component vector of float) +0:2 'input' (in 4-component vector of float) 0:? Sequence -0:3 Sequence -0:3 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:3 sine (temp 4-component vector of float) -0:3 'input' (layout(location=0 ) in 4-component vector of float) -0:3 Branch: Return +0:3 Branch: Return with expression +0:3 sine (temp 4-component vector of float) +0:3 'input' (in 4-component vector of float) +0:2 Function Definition: PixelShaderFunction( (temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:2 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:2 Function Call: @PixelShaderFunction(vf4; (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 'input' (layout(location=0 ) in 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 15 +// Id's are bound by 26 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 9 11 + EntryPoint Fragment 4 "PixelShaderFunction" 19 22 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 9 "@entryPointOutput" - Name 11 "input" - Decorate 9(@entryPointOutput) Location 0 - Decorate 11(input) Location 0 + Name 11 "@PixelShaderFunction(vf4;" + Name 10 "input" + Name 17 "input" + Name 19 "input" + Name 22 "@entryPointOutput" + Name 23 "param" + Decorate 19(input) Location 0 + Decorate 22(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Output 7(fvec4) -9(@entryPointOutput): 8(ptr) Variable Output - 10: TypePointer Input 7(fvec4) - 11(input): 10(ptr) Variable Input + 8: TypePointer Function 7(fvec4) + 9: TypeFunction 7(fvec4) 8(ptr) + 18: TypePointer Input 7(fvec4) + 19(input): 18(ptr) Variable Input + 21: TypePointer Output 7(fvec4) +22(@entryPointOutput): 21(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label - 12: 7(fvec4) Load 11(input) - 13: 7(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 12 - Store 9(@entryPointOutput) 13 + 17(input): 8(ptr) Variable Function + 23(param): 8(ptr) Variable Function + 20: 7(fvec4) Load 19(input) + Store 17(input) 20 + 24: 7(fvec4) Load 17(input) + Store 23(param) 24 + 25: 7(fvec4) FunctionCall 11(@PixelShaderFunction(vf4;) 23(param) + Store 22(@entryPointOutput) 25 Return FunctionEnd +11(@PixelShaderFunction(vf4;): 7(fvec4) Function None 9 + 10(input): 8(ptr) FunctionParameter + 12: Label + 13: 7(fvec4) Load 10(input) + 14: 7(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 13 + ReturnValue 14 + FunctionEnd diff --git a/Test/baseResults/hlsl.string.frag.out b/Test/baseResults/hlsl.string.frag.out index 3d80ce53..56aa2fa8 100755 --- a/Test/baseResults/hlsl.string.frag.out +++ b/Test/baseResults/hlsl.string.frag.out @@ -2,15 +2,22 @@ hlsl.string.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:10 Function Definition: main(f1; (temp float) +0:10 Function Definition: @main(f1; (temp float) 0:10 Function Parameters: -0:10 'f' (layout(location=0 ) in float) +0:10 'f' (in float) 0:? Sequence -0:11 Sequence -0:11 move second child to first child (temp float) -0:? '@entryPointOutput' (layout(location=0 ) out float) -0:11 'f' (layout(location=0 ) in float) -0:11 Branch: Return +0:11 Branch: Return with expression +0:11 'f' (in float) +0:10 Function Definition: main( (temp void) +0:10 Function Parameters: +0:? Sequence +0:10 move second child to first child (temp float) +0:? 'f' (temp float) +0:? 'f' (layout(location=0 ) in float) +0:10 move second child to first child (temp float) +0:? '@entryPointOutput' (layout(location=0 ) out float) +0:10 Function Call: @main(f1; (temp float) +0:? 'f' (temp float) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out float) 0:? 'f' (layout(location=0 ) in float) @@ -22,43 +29,68 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:10 Function Definition: main(f1; (temp float) +0:10 Function Definition: @main(f1; (temp float) 0:10 Function Parameters: -0:10 'f' (layout(location=0 ) in float) +0:10 'f' (in float) 0:? Sequence -0:11 Sequence -0:11 move second child to first child (temp float) -0:? '@entryPointOutput' (layout(location=0 ) out float) -0:11 'f' (layout(location=0 ) in float) -0:11 Branch: Return +0:11 Branch: Return with expression +0:11 'f' (in float) +0:10 Function Definition: main( (temp void) +0:10 Function Parameters: +0:? Sequence +0:10 move second child to first child (temp float) +0:? 'f' (temp float) +0:? 'f' (layout(location=0 ) in float) +0:10 move second child to first child (temp float) +0:? '@entryPointOutput' (layout(location=0 ) out float) +0:10 Function Call: @main(f1; (temp float) +0:? 'f' (temp float) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out float) 0:? 'f' (layout(location=0 ) in float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 13 +// Id's are bound by 24 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 8 10 + EntryPoint Fragment 4 "main" 17 20 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "@entryPointOutput" - Name 10 "f" - Decorate 8(@entryPointOutput) Location 0 - Decorate 10(f) Location 0 + Name 10 "@main(f1;" + Name 9 "f" + Name 15 "f" + Name 17 "f" + Name 20 "@entryPointOutput" + Name 21 "param" + Decorate 17(f) Location 0 + Decorate 20(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypePointer Output 6(float) -8(@entryPointOutput): 7(ptr) Variable Output - 9: TypePointer Input 6(float) - 10(f): 9(ptr) Variable Input + 7: TypePointer Function 6(float) + 8: TypeFunction 6(float) 7(ptr) + 16: TypePointer Input 6(float) + 17(f): 16(ptr) Variable Input + 19: TypePointer Output 6(float) +20(@entryPointOutput): 19(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 11: 6(float) Load 10(f) - Store 8(@entryPointOutput) 11 + 15(f): 7(ptr) Variable Function + 21(param): 7(ptr) Variable Function + 18: 6(float) Load 17(f) + Store 15(f) 18 + 22: 6(float) Load 15(f) + Store 21(param) 22 + 23: 6(float) FunctionCall 10(@main(f1;) 21(param) + Store 20(@entryPointOutput) 23 Return FunctionEnd + 10(@main(f1;): 6(float) Function None 8 + 9(f): 7(ptr) FunctionParameter + 11: Label + 12: 6(float) Load 9(f) + ReturnValue 12 + FunctionEnd diff --git a/Test/baseResults/hlsl.stringtoken.frag.out b/Test/baseResults/hlsl.stringtoken.frag.out index 94c1b2ad..eb189ab5 100644 --- a/Test/baseResults/hlsl.stringtoken.frag.out +++ b/Test/baseResults/hlsl.stringtoken.frag.out @@ -2,7 +2,7 @@ hlsl.stringtoken.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:16 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:16 Function Definition: @main( (temp structure{temp 4-component vector of float Color}) 0:16 Function Parameters: 0:? Sequence 0:18 move second child to first child (temp 4-component vector of float) @@ -15,18 +15,21 @@ gl_FragCoord origin is upper left 0:? 0.000000 0:? 0.000000 0:? 1.000000 -0:19 Sequence -0:19 Sequence -0:19 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:19 Color: direct index for structure (temp 4-component vector of float) -0:19 'psout' (temp structure{temp 4-component vector of float Color}) -0:19 Constant: -0:19 0 (const int) -0:19 Branch: Return +0:19 Branch: Return with expression +0:19 'psout' (temp structure{temp 4-component vector of float Color}) +0:16 Function Definition: main( (temp void) +0:16 Function Parameters: +0:? Sequence +0:16 Sequence +0:16 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:16 Color: direct index for structure (temp 4-component vector of float) +0:16 Function Call: @main( (temp structure{temp 4-component vector of float Color}) +0:16 Constant: +0:16 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'TestTexture' (uniform texture2D) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float TestUF}) @@ -36,7 +39,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:16 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:16 Function Definition: @main( (temp structure{temp 4-component vector of float Color}) 0:16 Function Parameters: 0:? Sequence 0:18 move second child to first child (temp 4-component vector of float) @@ -49,70 +52,80 @@ gl_FragCoord origin is upper left 0:? 0.000000 0:? 0.000000 0:? 1.000000 -0:19 Sequence -0:19 Sequence -0:19 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:19 Color: direct index for structure (temp 4-component vector of float) -0:19 'psout' (temp structure{temp 4-component vector of float Color}) -0:19 Constant: -0:19 0 (const int) -0:19 Branch: Return +0:19 Branch: Return with expression +0:19 'psout' (temp structure{temp 4-component vector of float Color}) +0:16 Function Definition: main( (temp void) +0:16 Function Parameters: +0:? Sequence +0:16 Sequence +0:16 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:16 Color: direct index for structure (temp 4-component vector of float) +0:16 Function Call: @main( (temp structure{temp 4-component vector of float Color}) +0:16 Constant: +0:16 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'TestTexture' (uniform texture2D) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float TestUF}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 29 +// Id's are bound by 34 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 19 + EntryPoint Fragment 4 "main" 25 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" - Name 10 "psout" - Name 19 "Color" - Name 25 "TestTexture" - Name 26 "$Global" - MemberName 26($Global) 0 "TestUF" - Name 28 "" - Decorate 19(Color) Location 0 - Decorate 25(TestTexture) DescriptorSet 0 - MemberDecorate 26($Global) 0 Offset 0 - Decorate 26($Global) Block - Decorate 28 DescriptorSet 0 + Name 10 "@main(" + Name 13 "psout" + Name 25 "Color" + Name 30 "TestTexture" + Name 31 "$Global" + MemberName 31($Global) 0 "TestUF" + Name 33 "" + Decorate 25(Color) Location 0 + Decorate 30(TestTexture) DescriptorSet 0 + MemberDecorate 31($Global) 0 Offset 0 + Decorate 31($Global) Block + Decorate 33 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 8(PS_OUTPUT): TypeStruct 7(fvec4) - 9: TypePointer Function 8(PS_OUTPUT) - 11: TypeInt 32 1 - 12: 11(int) Constant 0 - 13: 6(float) Constant 0 - 14: 6(float) Constant 1065353216 - 15: 7(fvec4) ConstantComposite 13 13 13 14 - 16: TypePointer Function 7(fvec4) - 18: TypePointer Output 7(fvec4) - 19(Color): 18(ptr) Variable Output - 23: TypeImage 6(float) 2D sampled format:Unknown - 24: TypePointer UniformConstant 23 - 25(TestTexture): 24(ptr) Variable UniformConstant - 26($Global): TypeStruct 7(fvec4) - 27: TypePointer Uniform 26($Global) - 28: 27(ptr) Variable Uniform + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 8(PS_OUTPUT) + 14: TypeInt 32 1 + 15: 14(int) Constant 0 + 16: 6(float) Constant 0 + 17: 6(float) Constant 1065353216 + 18: 7(fvec4) ConstantComposite 16 16 16 17 + 19: TypePointer Function 7(fvec4) + 24: TypePointer Output 7(fvec4) + 25(Color): 24(ptr) Variable Output + 28: TypeImage 6(float) 2D sampled format:Unknown + 29: TypePointer UniformConstant 28 + 30(TestTexture): 29(ptr) Variable UniformConstant + 31($Global): TypeStruct 7(fvec4) + 32: TypePointer Uniform 31($Global) + 33: 32(ptr) Variable Uniform 4(main): 2 Function None 3 5: Label - 10(psout): 9(ptr) Variable Function - 17: 16(ptr) AccessChain 10(psout) 12 - Store 17 15 - 20: 16(ptr) AccessChain 10(psout) 12 - 21: 7(fvec4) Load 20 - Store 19(Color) 21 + 26:8(PS_OUTPUT) FunctionCall 10(@main() + 27: 7(fvec4) CompositeExtract 26 0 + Store 25(Color) 27 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(psout): 12(ptr) Variable Function + 20: 19(ptr) AccessChain 13(psout) 15 + Store 20 18 + 21:8(PS_OUTPUT) Load 13(psout) + ReturnValue 21 + FunctionEnd diff --git a/Test/baseResults/hlsl.struct.frag.out b/Test/baseResults/hlsl.struct.frag.out index 3c94ffae..3a3ea8c9 100755 --- a/Test/baseResults/hlsl.struct.frag.out +++ b/Test/baseResults/hlsl.struct.frag.out @@ -6,9 +6,9 @@ WARNING: 0:30: 'register' : ignoring shader_profile Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:34 Function Definition: PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41; (temp 4-component vector of float) +0:34 Function Definition: @PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41; (temp 4-component vector of float) 0:34 Function Parameters: -0:34 'input' (layout(location=0 ) in 4-component vector of float) +0:34 'input' (in 4-component vector of float) 0:34 's' (in structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) 0:? Sequence 0:39 Compare Equal (temp bool) @@ -20,19 +20,97 @@ gl_FragCoord origin is upper left 0:40 Constant: 0:40 0 (const int) 0:40 ff4: direct index for structure (layout(binding=0 offset=4 ) temp 4-component vector of float) -0:40 's' (layout(location=1 ) in structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) +0:40 's' (in structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) 0:40 Constant: -0:40 6 (const int) -0:42 Sequence -0:42 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:42 'input' (layout(location=0 ) in 4-component vector of float) -0:42 Branch: Return +0:40 7 (const int) +0:42 Branch: Return with expression +0:42 'input' (in 4-component vector of float) +0:34 Function Definition: PixelShaderFunction( (temp void) +0:34 Function Parameters: +0:? Sequence +0:34 move second child to first child (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:34 Sequence +0:34 move second child to first child (temp 4-component vector of float) +0:34 a: direct index for structure (smooth temp 4-component vector of float) +0:? 's' (temp structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) +0:34 Constant: +0:34 0 (const int) +0:34 a: direct index for structure (smooth temp 4-component vector of float) +0:34 's' (layout(location=1 ) in structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) +0:34 Constant: +0:34 0 (const int) +0:34 move second child to first child (temp bool) +0:34 b: direct index for structure (flat temp bool) +0:? 's' (temp structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) +0:34 Constant: +0:34 1 (const int) +0:34 b: direct index for structure (flat temp bool) +0:34 's' (layout(location=1 ) in structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) +0:34 Constant: +0:34 1 (const int) +0:34 move second child to first child (temp 1-component vector of float) +0:34 c: direct index for structure (centroid noperspective temp 1-component vector of float) +0:? 's' (temp structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) +0:34 Constant: +0:34 2 (const int) +0:34 c: direct index for structure (centroid noperspective temp 1-component vector of float) +0:34 's' (layout(location=1 ) in structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) +0:34 Constant: +0:34 2 (const int) +0:34 move second child to first child (temp 2-component vector of float) +0:34 d: direct index for structure (centroid sample temp 2-component vector of float) +0:? 's' (temp structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) +0:34 Constant: +0:34 3 (const int) +0:34 d: direct index for structure (centroid sample temp 2-component vector of float) +0:34 's' (layout(location=1 ) in structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) +0:34 Constant: +0:34 3 (const int) +0:34 move second child to first child (temp bool) +0:34 ff1: direct index for structure (temp bool Face) +0:? 's' (temp structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) +0:34 Constant: +0:34 4 (const int) +0:? 's_ff1' (in bool Face) +0:34 move second child to first child (temp bool) +0:34 ff2: direct index for structure (layout(offset=4 ) temp bool) +0:? 's' (temp structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) +0:34 Constant: +0:34 5 (const int) +0:34 ff2: direct index for structure (layout(offset=4 ) temp bool) +0:34 's' (layout(location=1 ) in structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) +0:34 Constant: +0:34 4 (const int) +0:34 move second child to first child (temp bool) +0:34 ff3: direct index for structure (layout(binding=0 offset=4 ) temp bool) +0:? 's' (temp structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) +0:34 Constant: +0:34 6 (const int) +0:34 ff3: direct index for structure (layout(binding=0 offset=4 ) temp bool) +0:34 's' (layout(location=1 ) in structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) +0:34 Constant: +0:34 5 (const int) +0:34 move second child to first child (temp 4-component vector of float) +0:34 ff4: direct index for structure (layout(binding=0 offset=4 ) temp 4-component vector of float) +0:? 's' (temp structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) +0:34 Constant: +0:34 7 (const int) +0:34 ff4: direct index for structure (layout(binding=0 offset=4 ) temp 4-component vector of float) +0:34 's' (layout(location=1 ) in structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) +0:34 Constant: +0:34 6 (const int) +0:34 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:34 Function Call: @PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41; (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) +0:? 's' (temp structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) 0:? Linker Objects +0:? 's2' (global structure{temp 4-component vector of float i}) 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 'input' (layout(location=0 ) in 4-component vector of float) 0:? 's' (layout(location=1 ) in structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) -0:? 's2' (global structure{temp 4-component vector of float i}) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform structure{temp bool b, temp bool c, temp 4-component vector of float a, temp 4-component vector of float d} s1, layout(binding=5 offset=1620 ) uniform float ff5, layout(binding=8 offset=1636 ) uniform float ff6}) 0:? 's_ff1' (in bool Face) @@ -43,9 +121,9 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:34 Function Definition: PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41; (temp 4-component vector of float) +0:34 Function Definition: @PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41; (temp 4-component vector of float) 0:34 Function Parameters: -0:34 'input' (layout(location=0 ) in 4-component vector of float) +0:34 'input' (in 4-component vector of float) 0:34 's' (in structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) 0:? Sequence 0:39 Compare Equal (temp bool) @@ -57,117 +135,275 @@ gl_FragCoord origin is upper left 0:40 Constant: 0:40 0 (const int) 0:40 ff4: direct index for structure (layout(binding=0 offset=4 ) temp 4-component vector of float) -0:40 's' (layout(location=1 ) in structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) +0:40 's' (in structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) 0:40 Constant: -0:40 6 (const int) -0:42 Sequence -0:42 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:42 'input' (layout(location=0 ) in 4-component vector of float) -0:42 Branch: Return +0:40 7 (const int) +0:42 Branch: Return with expression +0:42 'input' (in 4-component vector of float) +0:34 Function Definition: PixelShaderFunction( (temp void) +0:34 Function Parameters: +0:? Sequence +0:34 move second child to first child (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:34 Sequence +0:34 move second child to first child (temp 4-component vector of float) +0:34 a: direct index for structure (smooth temp 4-component vector of float) +0:? 's' (temp structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) +0:34 Constant: +0:34 0 (const int) +0:34 a: direct index for structure (smooth temp 4-component vector of float) +0:34 's' (layout(location=1 ) in structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) +0:34 Constant: +0:34 0 (const int) +0:34 move second child to first child (temp bool) +0:34 b: direct index for structure (flat temp bool) +0:? 's' (temp structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) +0:34 Constant: +0:34 1 (const int) +0:34 b: direct index for structure (flat temp bool) +0:34 's' (layout(location=1 ) in structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) +0:34 Constant: +0:34 1 (const int) +0:34 move second child to first child (temp 1-component vector of float) +0:34 c: direct index for structure (centroid noperspective temp 1-component vector of float) +0:? 's' (temp structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) +0:34 Constant: +0:34 2 (const int) +0:34 c: direct index for structure (centroid noperspective temp 1-component vector of float) +0:34 's' (layout(location=1 ) in structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) +0:34 Constant: +0:34 2 (const int) +0:34 move second child to first child (temp 2-component vector of float) +0:34 d: direct index for structure (centroid sample temp 2-component vector of float) +0:? 's' (temp structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) +0:34 Constant: +0:34 3 (const int) +0:34 d: direct index for structure (centroid sample temp 2-component vector of float) +0:34 's' (layout(location=1 ) in structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) +0:34 Constant: +0:34 3 (const int) +0:34 move second child to first child (temp bool) +0:34 ff1: direct index for structure (temp bool Face) +0:? 's' (temp structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) +0:34 Constant: +0:34 4 (const int) +0:? 's_ff1' (in bool Face) +0:34 move second child to first child (temp bool) +0:34 ff2: direct index for structure (layout(offset=4 ) temp bool) +0:? 's' (temp structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) +0:34 Constant: +0:34 5 (const int) +0:34 ff2: direct index for structure (layout(offset=4 ) temp bool) +0:34 's' (layout(location=1 ) in structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) +0:34 Constant: +0:34 4 (const int) +0:34 move second child to first child (temp bool) +0:34 ff3: direct index for structure (layout(binding=0 offset=4 ) temp bool) +0:? 's' (temp structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) +0:34 Constant: +0:34 6 (const int) +0:34 ff3: direct index for structure (layout(binding=0 offset=4 ) temp bool) +0:34 's' (layout(location=1 ) in structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) +0:34 Constant: +0:34 5 (const int) +0:34 move second child to first child (temp 4-component vector of float) +0:34 ff4: direct index for structure (layout(binding=0 offset=4 ) temp 4-component vector of float) +0:? 's' (temp structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) +0:34 Constant: +0:34 7 (const int) +0:34 ff4: direct index for structure (layout(binding=0 offset=4 ) temp 4-component vector of float) +0:34 's' (layout(location=1 ) in structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) +0:34 Constant: +0:34 6 (const int) +0:34 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:34 Function Call: @PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41; (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) +0:? 's' (temp structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) 0:? Linker Objects +0:? 's2' (global structure{temp 4-component vector of float i}) 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 'input' (layout(location=0 ) in 4-component vector of float) 0:? 's' (layout(location=1 ) in structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) -0:? 's2' (global structure{temp 4-component vector of float i}) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform structure{temp bool b, temp bool c, temp 4-component vector of float a, temp 4-component vector of float d} s1, layout(binding=5 offset=1620 ) uniform float ff5, layout(binding=8 offset=1636 ) uniform float ff6}) 0:? 's_ff1' (in bool Face) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 46 +// Id's are bound by 97 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 27 35 36 45 + EntryPoint Fragment 4 "PixelShaderFunction" 43 48 71 86 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 8 "FS" - MemberName 8(FS) 0 "b3" - Name 10 "s3" - Name 19 "" - MemberName 19 0 "i" - Name 21 "s2" - Name 25 "IN_S" - MemberName 25(IN_S) 0 "a" - MemberName 25(IN_S) 1 "b" - MemberName 25(IN_S) 2 "c" - MemberName 25(IN_S) 3 "d" - MemberName 25(IN_S) 4 "ff2" - MemberName 25(IN_S) 5 "ff3" - MemberName 25(IN_S) 6 "ff4" - Name 27 "s" - Name 35 "@entryPointOutput" - Name 36 "input" - Name 40 "myS" - MemberName 40(myS) 0 "b" - MemberName 40(myS) 1 "c" - MemberName 40(myS) 2 "a" - MemberName 40(myS) 3 "d" - Name 41 "$Global" - MemberName 41($Global) 0 "s1" - MemberName 41($Global) 1 "ff5" - MemberName 41($Global) 2 "ff6" - Name 43 "" - Name 45 "s_ff1" - Decorate 27(s) Location 1 - Decorate 35(@entryPointOutput) Location 0 - Decorate 36(input) Location 0 - MemberDecorate 40(myS) 0 Offset 0 - MemberDecorate 40(myS) 1 Offset 4 - MemberDecorate 40(myS) 2 Offset 16 - MemberDecorate 40(myS) 3 Offset 32 - MemberDecorate 41($Global) 0 Offset 0 - MemberDecorate 41($Global) 1 Offset 1620 - MemberDecorate 41($Global) 2 Offset 1636 - Decorate 41($Global) Block - Decorate 43 DescriptorSet 0 - Decorate 45(s_ff1) BuiltIn FrontFacing + Name 11 "IN_S" + MemberName 11(IN_S) 0 "a" + MemberName 11(IN_S) 1 "b" + MemberName 11(IN_S) 2 "c" + MemberName 11(IN_S) 3 "d" + MemberName 11(IN_S) 4 "ff1" + MemberName 11(IN_S) 5 "ff2" + MemberName 11(IN_S) 6 "ff3" + MemberName 11(IN_S) 7 "ff4" + Name 16 "@PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41;" + Name 14 "input" + Name 15 "s" + Name 19 "FS" + MemberName 19(FS) 0 "b3" + Name 21 "s3" + Name 28 "" + MemberName 28 0 "i" + Name 30 "s2" + Name 41 "input" + Name 43 "input" + Name 45 "s" + Name 46 "IN_S" + MemberName 46(IN_S) 0 "a" + MemberName 46(IN_S) 1 "b" + MemberName 46(IN_S) 2 "c" + MemberName 46(IN_S) 3 "d" + MemberName 46(IN_S) 4 "ff2" + MemberName 46(IN_S) 5 "ff3" + MemberName 46(IN_S) 6 "ff4" + Name 48 "s" + Name 71 "s_ff1" + Name 86 "@entryPointOutput" + Name 87 "param" + Name 89 "param" + Name 93 "myS" + MemberName 93(myS) 0 "b" + MemberName 93(myS) 1 "c" + MemberName 93(myS) 2 "a" + MemberName 93(myS) 3 "d" + Name 94 "$Global" + MemberName 94($Global) 0 "s1" + MemberName 94($Global) 1 "ff5" + MemberName 94($Global) 2 "ff6" + Name 96 "" + MemberDecorate 11(IN_S) 4 BuiltIn FrontFacing + Decorate 43(input) Location 0 + Decorate 48(s) Location 1 + Decorate 71(s_ff1) BuiltIn FrontFacing + Decorate 86(@entryPointOutput) Location 0 + MemberDecorate 93(myS) 0 Offset 0 + MemberDecorate 93(myS) 1 Offset 4 + MemberDecorate 93(myS) 2 Offset 16 + MemberDecorate 93(myS) 3 Offset 32 + MemberDecorate 94($Global) 0 Offset 0 + MemberDecorate 94($Global) 1 Offset 1620 + MemberDecorate 94($Global) 2 Offset 1636 + Decorate 94($Global) Block + Decorate 96 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 - 6: TypeBool - 7: TypeVector 6(bool) 3 - 8(FS): TypeStruct 7(bvec3) - 9: TypePointer Function 8(FS) - 17: TypeFloat 32 - 18: TypeVector 17(float) 4 - 19: TypeStruct 18(fvec4) - 20: TypePointer Private 19(struct) - 21(s2): 20(ptr) Variable Private - 22: TypeInt 32 1 - 23: 22(int) Constant 0 - 24: TypeVector 17(float) 2 - 25(IN_S): TypeStruct 18(fvec4) 6(bool) 17(float) 24(fvec2) 6(bool) 6(bool) 18(fvec4) - 26: TypePointer Input 25(IN_S) - 27(s): 26(ptr) Variable Input - 28: 22(int) Constant 6 - 29: TypePointer Input 18(fvec4) - 32: TypePointer Private 18(fvec4) - 34: TypePointer Output 18(fvec4) -35(@entryPointOutput): 34(ptr) Variable Output - 36(input): 29(ptr) Variable Input - 39: TypeInt 32 0 - 40(myS): TypeStruct 39(int) 39(int) 18(fvec4) 18(fvec4) - 41($Global): TypeStruct 40(myS) 17(float) 17(float) - 42: TypePointer Uniform 41($Global) - 43: 42(ptr) Variable Uniform - 44: TypePointer Input 6(bool) - 45(s_ff1): 44(ptr) Variable Input + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8: TypePointer Function 7(fvec4) + 9: TypeBool + 10: TypeVector 6(float) 2 + 11(IN_S): TypeStruct 7(fvec4) 9(bool) 6(float) 10(fvec2) 9(bool) 9(bool) 9(bool) 7(fvec4) + 12: TypePointer Function 11(IN_S) + 13: TypeFunction 7(fvec4) 8(ptr) 12(ptr) + 18: TypeVector 9(bool) 3 + 19(FS): TypeStruct 18(bvec3) + 20: TypePointer Function 19(FS) + 28: TypeStruct 7(fvec4) + 29: TypePointer Private 28(struct) + 30(s2): 29(ptr) Variable Private + 31: TypeInt 32 1 + 32: 31(int) Constant 0 + 33: 31(int) Constant 7 + 36: TypePointer Private 7(fvec4) + 42: TypePointer Input 7(fvec4) + 43(input): 42(ptr) Variable Input + 46(IN_S): TypeStruct 7(fvec4) 9(bool) 6(float) 10(fvec2) 9(bool) 9(bool) 7(fvec4) + 47: TypePointer Input 46(IN_S) + 48(s): 47(ptr) Variable Input + 52: 31(int) Constant 1 + 53: TypePointer Input 9(bool) + 56: TypePointer Function 9(bool) + 58: 31(int) Constant 2 + 59: TypePointer Input 6(float) + 62: TypePointer Function 6(float) + 64: 31(int) Constant 3 + 65: TypePointer Input 10(fvec2) + 68: TypePointer Function 10(fvec2) + 70: 31(int) Constant 4 + 71(s_ff1): 53(ptr) Variable Input + 74: 31(int) Constant 5 + 78: 31(int) Constant 6 + 85: TypePointer Output 7(fvec4) +86(@entryPointOutput): 85(ptr) Variable Output + 92: TypeInt 32 0 + 93(myS): TypeStruct 92(int) 92(int) 7(fvec4) 7(fvec4) + 94($Global): TypeStruct 93(myS) 6(float) 6(float) + 95: TypePointer Uniform 94($Global) + 96: 95(ptr) Variable Uniform 4(PixelShaderFunction): 2 Function None 3 5: Label - 10(s3): 9(ptr) Variable Function - 11: 8(FS) Load 10(s3) - 12: 8(FS) Load 10(s3) - 13: 7(bvec3) CompositeExtract 11 0 - 14: 7(bvec3) CompositeExtract 12 0 - 15: 7(bvec3) LogicalEqual 13 14 - 16: 6(bool) All 15 - 30: 29(ptr) AccessChain 27(s) 28 - 31: 18(fvec4) Load 30 - 33: 32(ptr) AccessChain 21(s2) 23 - Store 33 31 - 37: 18(fvec4) Load 36(input) - Store 35(@entryPointOutput) 37 + 41(input): 8(ptr) Variable Function + 45(s): 12(ptr) Variable Function + 87(param): 8(ptr) Variable Function + 89(param): 12(ptr) Variable Function + 44: 7(fvec4) Load 43(input) + Store 41(input) 44 + 49: 42(ptr) AccessChain 48(s) 32 + 50: 7(fvec4) Load 49 + 51: 8(ptr) AccessChain 45(s) 32 + Store 51 50 + 54: 53(ptr) AccessChain 48(s) 52 + 55: 9(bool) Load 54 + 57: 56(ptr) AccessChain 45(s) 52 + Store 57 55 + 60: 59(ptr) AccessChain 48(s) 58 + 61: 6(float) Load 60 + 63: 62(ptr) AccessChain 45(s) 58 + Store 63 61 + 66: 65(ptr) AccessChain 48(s) 64 + 67: 10(fvec2) Load 66 + 69: 68(ptr) AccessChain 45(s) 64 + Store 69 67 + 72: 9(bool) Load 71(s_ff1) + 73: 56(ptr) AccessChain 45(s) 70 + Store 73 72 + 75: 53(ptr) AccessChain 48(s) 70 + 76: 9(bool) Load 75 + 77: 56(ptr) AccessChain 45(s) 74 + Store 77 76 + 79: 53(ptr) AccessChain 48(s) 74 + 80: 9(bool) Load 79 + 81: 56(ptr) AccessChain 45(s) 78 + Store 81 80 + 82: 42(ptr) AccessChain 48(s) 78 + 83: 7(fvec4) Load 82 + 84: 8(ptr) AccessChain 45(s) 33 + Store 84 83 + 88: 7(fvec4) Load 41(input) + Store 87(param) 88 + 90: 11(IN_S) Load 45(s) + Store 89(param) 90 + 91: 7(fvec4) FunctionCall 16(@PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41;) 87(param) 89(param) + Store 86(@entryPointOutput) 91 Return FunctionEnd +16(@PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41;): 7(fvec4) Function None 13 + 14(input): 8(ptr) FunctionParameter + 15(s): 12(ptr) FunctionParameter + 17: Label + 21(s3): 20(ptr) Variable Function + 22: 19(FS) Load 21(s3) + 23: 19(FS) Load 21(s3) + 24: 18(bvec3) CompositeExtract 22 0 + 25: 18(bvec3) CompositeExtract 23 0 + 26: 18(bvec3) LogicalEqual 24 25 + 27: 9(bool) All 26 + 34: 8(ptr) AccessChain 15(s) 33 + 35: 7(fvec4) Load 34 + 37: 36(ptr) AccessChain 30(s2) 32 + Store 37 35 + 38: 7(fvec4) Load 14(input) + ReturnValue 38 + FunctionEnd diff --git a/Test/baseResults/hlsl.struct.split-1.vert.out b/Test/baseResults/hlsl.struct.split-1.vert.out index a1c0c0c8..cb8b3e39 100644 --- a/Test/baseResults/hlsl.struct.split-1.vert.out +++ b/Test/baseResults/hlsl.struct.split-1.vert.out @@ -1,7 +1,7 @@ hlsl.struct.split-1.vert Shader version: 450 0:? Sequence -0:17 Function Definition: main(struct-VS_INPUT-i1-vf4-i11;vf4; (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) +0:17 Function Definition: @main(struct-VS_INPUT-i1-vf4-i11;vf4; (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) 0:17 Function Parameters: 0:17 'vsin' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) 0:17 'Pos_loose' (in 4-component vector of float Position) @@ -11,55 +11,94 @@ Shader version: 450 0:20 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) 0:20 Constant: 0:20 0 (const int) -0:? 'x0_in' (layout(location=0 ) in int) +0:20 x0_in: direct index for structure (temp int) +0:20 'vsin' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:20 Constant: +0:20 0 (const int) 0:21 move second child to first child (temp 4-component vector of float) 0:21 Pos_out: direct index for structure (temp 4-component vector of float) 0:21 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) 0:21 Constant: 0:21 1 (const int) 0:21 add (temp 4-component vector of float) -0:? 'Pos_in' (in 4-component vector of float Position) +0:21 Pos_in: direct index for structure (temp 4-component vector of float) +0:21 'vsin' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:21 Constant: +0:21 1 (const int) 0:21 'Pos_loose' (in 4-component vector of float Position) 0:22 move second child to first child (temp int) 0:22 x1_out: direct index for structure (temp int) 0:22 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) 0:22 Constant: 0:22 2 (const int) -0:? 'x1_in' (layout(location=1 ) in int) -0:24 Sequence -0:24 Sequence -0:24 move second child to first child (temp int) -0:24 x0_out: direct index for structure (temp int) -0:24 '@entryPointOutput' (layout(location=0 ) out structure{temp int x0_out, temp int x1_out}) -0:24 Constant: -0:24 0 (const int) -0:24 x0_out: direct index for structure (temp int) -0:24 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) -0:24 Constant: -0:24 0 (const int) -0:24 move second child to first child (temp 4-component vector of float) -0:? 'Pos_out' (out 4-component vector of float Position) -0:24 Pos_out: direct index for structure (temp 4-component vector of float) -0:24 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) -0:24 Constant: -0:24 1 (const int) -0:24 move second child to first child (temp int) -0:24 x1_out: direct index for structure (temp int) -0:24 '@entryPointOutput' (layout(location=0 ) out structure{temp int x0_out, temp int x1_out}) -0:24 Constant: -0:24 1 (const int) -0:24 x1_out: direct index for structure (temp int) -0:24 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) -0:24 Constant: -0:24 2 (const int) -0:24 Branch: Return +0:22 x1_in: direct index for structure (temp int) +0:22 'vsin' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:22 Constant: +0:22 2 (const int) +0:24 Branch: Return with expression +0:24 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:17 Function Definition: main( (temp void) +0:17 Function Parameters: +0:? Sequence +0:17 Sequence +0:17 move second child to first child (temp int) +0:17 x0_in: direct index for structure (temp int) +0:? 'vsin' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:17 Constant: +0:17 0 (const int) +0:? 'x0_in' (layout(location=0 ) in int) +0:17 move second child to first child (temp 4-component vector of float) +0:17 Pos_in: direct index for structure (temp 4-component vector of float) +0:? 'vsin' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:17 Constant: +0:17 1 (const int) +0:? 'Pos_in' (in 4-component vector of float Position) +0:17 move second child to first child (temp int) +0:17 x1_in: direct index for structure (temp int) +0:? 'vsin' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:17 Constant: +0:17 2 (const int) +0:? 'x1_in' (layout(location=1 ) in int) +0:17 move second child to first child (temp 4-component vector of float) +0:? 'Pos_loose' (temp 4-component vector of float) +0:? 'Pos_loose' (in 4-component vector of float Position) +0:17 Sequence +0:17 move second child to first child (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) +0:17 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) +0:17 Function Call: @main(struct-VS_INPUT-i1-vf4-i11;vf4; (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) +0:? 'vsin' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:? 'Pos_loose' (temp 4-component vector of float) +0:17 move second child to first child (temp int) +0:17 x0_out: direct index for structure (temp int) +0:17 '@entryPointOutput' (layout(location=0 ) out structure{temp int x0_out, temp int x1_out}) +0:17 Constant: +0:17 0 (const int) +0:17 x0_out: direct index for structure (temp int) +0:17 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) +0:17 Constant: +0:17 0 (const int) +0:17 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput_Pos_out' (out 4-component vector of float Position) +0:17 Pos_out: direct index for structure (temp 4-component vector of float Position) +0:17 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) +0:17 Constant: +0:17 1 (const int) +0:17 move second child to first child (temp int) +0:17 x1_out: direct index for structure (temp int) +0:17 '@entryPointOutput' (layout(location=0 ) out structure{temp int x0_out, temp int x1_out}) +0:17 Constant: +0:17 1 (const int) +0:17 x1_out: direct index for structure (temp int) +0:17 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) +0:17 Constant: +0:17 2 (const int) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out structure{temp int x0_out, temp int x1_out}) 0:? 'x0_in' (layout(location=0 ) in int) 0:? 'Pos_in' (in 4-component vector of float Position) 0:? 'x1_in' (layout(location=1 ) in int) 0:? 'Pos_loose' (in 4-component vector of float Position) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos_out}) +0:? 'PerVertex_out' (out block{out 4-component vector of float Position @entryPointOutput_Pos_out}) Linked vertex stage: @@ -67,7 +106,7 @@ Linked vertex stage: Shader version: 450 0:? Sequence -0:17 Function Definition: main(struct-VS_INPUT-i1-vf4-i11;vf4; (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) +0:17 Function Definition: @main(struct-VS_INPUT-i1-vf4-i11;vf4; (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) 0:17 Function Parameters: 0:17 'vsin' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) 0:17 'Pos_loose' (in 4-component vector of float Position) @@ -77,141 +116,245 @@ Shader version: 450 0:20 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) 0:20 Constant: 0:20 0 (const int) -0:? 'x0_in' (layout(location=0 ) in int) +0:20 x0_in: direct index for structure (temp int) +0:20 'vsin' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:20 Constant: +0:20 0 (const int) 0:21 move second child to first child (temp 4-component vector of float) 0:21 Pos_out: direct index for structure (temp 4-component vector of float) 0:21 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) 0:21 Constant: 0:21 1 (const int) 0:21 add (temp 4-component vector of float) -0:? 'Pos_in' (in 4-component vector of float Position) +0:21 Pos_in: direct index for structure (temp 4-component vector of float) +0:21 'vsin' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:21 Constant: +0:21 1 (const int) 0:21 'Pos_loose' (in 4-component vector of float Position) 0:22 move second child to first child (temp int) 0:22 x1_out: direct index for structure (temp int) 0:22 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) 0:22 Constant: 0:22 2 (const int) -0:? 'x1_in' (layout(location=1 ) in int) -0:24 Sequence -0:24 Sequence -0:24 move second child to first child (temp int) -0:24 x0_out: direct index for structure (temp int) -0:24 '@entryPointOutput' (layout(location=0 ) out structure{temp int x0_out, temp int x1_out}) -0:24 Constant: -0:24 0 (const int) -0:24 x0_out: direct index for structure (temp int) -0:24 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) -0:24 Constant: -0:24 0 (const int) -0:24 move second child to first child (temp 4-component vector of float) -0:? 'Pos_out' (out 4-component vector of float Position) -0:24 Pos_out: direct index for structure (temp 4-component vector of float) -0:24 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) -0:24 Constant: -0:24 1 (const int) -0:24 move second child to first child (temp int) -0:24 x1_out: direct index for structure (temp int) -0:24 '@entryPointOutput' (layout(location=0 ) out structure{temp int x0_out, temp int x1_out}) -0:24 Constant: -0:24 1 (const int) -0:24 x1_out: direct index for structure (temp int) -0:24 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) -0:24 Constant: -0:24 2 (const int) -0:24 Branch: Return +0:22 x1_in: direct index for structure (temp int) +0:22 'vsin' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:22 Constant: +0:22 2 (const int) +0:24 Branch: Return with expression +0:24 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:17 Function Definition: main( (temp void) +0:17 Function Parameters: +0:? Sequence +0:17 Sequence +0:17 move second child to first child (temp int) +0:17 x0_in: direct index for structure (temp int) +0:? 'vsin' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:17 Constant: +0:17 0 (const int) +0:? 'x0_in' (layout(location=0 ) in int) +0:17 move second child to first child (temp 4-component vector of float) +0:17 Pos_in: direct index for structure (temp 4-component vector of float) +0:? 'vsin' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:17 Constant: +0:17 1 (const int) +0:? 'Pos_in' (in 4-component vector of float Position) +0:17 move second child to first child (temp int) +0:17 x1_in: direct index for structure (temp int) +0:? 'vsin' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:17 Constant: +0:17 2 (const int) +0:? 'x1_in' (layout(location=1 ) in int) +0:17 move second child to first child (temp 4-component vector of float) +0:? 'Pos_loose' (temp 4-component vector of float) +0:? 'Pos_loose' (in 4-component vector of float Position) +0:17 Sequence +0:17 move second child to first child (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) +0:17 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) +0:17 Function Call: @main(struct-VS_INPUT-i1-vf4-i11;vf4; (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) +0:? 'vsin' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:? 'Pos_loose' (temp 4-component vector of float) +0:17 move second child to first child (temp int) +0:17 x0_out: direct index for structure (temp int) +0:17 '@entryPointOutput' (layout(location=0 ) out structure{temp int x0_out, temp int x1_out}) +0:17 Constant: +0:17 0 (const int) +0:17 x0_out: direct index for structure (temp int) +0:17 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) +0:17 Constant: +0:17 0 (const int) +0:17 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput_Pos_out' (out 4-component vector of float Position) +0:17 Pos_out: direct index for structure (temp 4-component vector of float Position) +0:17 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) +0:17 Constant: +0:17 1 (const int) +0:17 move second child to first child (temp int) +0:17 x1_out: direct index for structure (temp int) +0:17 '@entryPointOutput' (layout(location=0 ) out structure{temp int x0_out, temp int x1_out}) +0:17 Constant: +0:17 1 (const int) +0:17 x1_out: direct index for structure (temp int) +0:17 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) +0:17 Constant: +0:17 2 (const int) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out structure{temp int x0_out, temp int x1_out}) 0:? 'x0_in' (layout(location=0 ) in int) 0:? 'Pos_in' (in 4-component vector of float Position) 0:? 'x1_in' (layout(location=1 ) in int) 0:? 'Pos_loose' (in 4-component vector of float Position) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos_out}) +0:? 'PerVertex_out' (out block{out 4-component vector of float Position @entryPointOutput_Pos_out}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 49 +// Id's are bound by 86 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" 14 20 22 28 33 39 48 + EntryPoint Vertex 4 "main" 50 54 57 61 71 77 85 Name 4 "main" - Name 9 "VS_OUTPUT" - MemberName 9(VS_OUTPUT) 0 "x0_out" - MemberName 9(VS_OUTPUT) 1 "Pos_out" - MemberName 9(VS_OUTPUT) 2 "x1_out" - Name 11 "vsout" - Name 14 "x0_in" - Name 20 "Pos_in" - Name 22 "Pos_loose" - Name 28 "x1_in" - Name 31 "VS_OUTPUT" - MemberName 31(VS_OUTPUT) 0 "x0_out" - MemberName 31(VS_OUTPUT) 1 "x1_out" - Name 33 "@entryPointOutput" - Name 39 "Pos_out" - Name 46 "PerVertex_out" - MemberName 46(PerVertex_out) 0 "Pos_out" - Name 48 "PerVertex_out" - Decorate 14(x0_in) Location 0 - Decorate 20(Pos_in) BuiltIn Position - Decorate 22(Pos_loose) BuiltIn Position - Decorate 28(x1_in) Location 1 - Decorate 33(@entryPointOutput) Location 0 - Decorate 39(Pos_out) BuiltIn Position - MemberDecorate 46(PerVertex_out) 0 BuiltIn Position - Decorate 46(PerVertex_out) Block + Name 9 "VS_INPUT" + MemberName 9(VS_INPUT) 0 "x0_in" + MemberName 9(VS_INPUT) 1 "Pos_in" + MemberName 9(VS_INPUT) 2 "x1_in" + Name 12 "VS_OUTPUT" + MemberName 12(VS_OUTPUT) 0 "x0_out" + MemberName 12(VS_OUTPUT) 1 "Pos_out" + MemberName 12(VS_OUTPUT) 2 "x1_out" + Name 16 "@main(struct-VS_INPUT-i1-vf4-i11;vf4;" + Name 14 "vsin" + Name 15 "Pos_loose" + Name 18 "VS_OUTPUT" + MemberName 18(VS_OUTPUT) 0 "x0_out" + MemberName 18(VS_OUTPUT) 1 "Pos_out" + MemberName 18(VS_OUTPUT) 2 "x1_out" + Name 20 "vsout" + Name 48 "vsin" + Name 50 "x0_in" + Name 54 "Pos_in" + Name 57 "x1_in" + Name 60 "Pos_loose" + Name 61 "Pos_loose" + Name 63 "flattenTemp" + Name 64 "param" + Name 66 "param" + Name 69 "VS_OUTPUT" + MemberName 69(VS_OUTPUT) 0 "x0_out" + MemberName 69(VS_OUTPUT) 1 "x1_out" + Name 71 "@entryPointOutput" + Name 77 "@entryPointOutput_Pos_out" + Name 83 "PerVertex_out" + MemberName 83(PerVertex_out) 0 "@entryPointOutput_Pos_out" + Name 85 "PerVertex_out" + MemberDecorate 12(VS_OUTPUT) 1 BuiltIn Position + Decorate 50(x0_in) Location 0 + Decorate 54(Pos_in) BuiltIn Position + Decorate 57(x1_in) Location 1 + Decorate 61(Pos_loose) BuiltIn Position + Decorate 71(@entryPointOutput) Location 0 + Decorate 77(@entryPointOutput_Pos_out) BuiltIn Position + MemberDecorate 83(PerVertex_out) 0 BuiltIn Position + Decorate 83(PerVertex_out) Block 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 7: TypeFloat 32 8: TypeVector 7(float) 4 - 9(VS_OUTPUT): TypeStruct 6(int) 8(fvec4) 6(int) - 10: TypePointer Function 9(VS_OUTPUT) - 12: 6(int) Constant 0 - 13: TypePointer Input 6(int) - 14(x0_in): 13(ptr) Variable Input - 16: TypePointer Function 6(int) - 18: 6(int) Constant 1 - 19: TypePointer Input 8(fvec4) - 20(Pos_in): 19(ptr) Variable Input - 22(Pos_loose): 19(ptr) Variable Input - 25: TypePointer Function 8(fvec4) - 27: 6(int) Constant 2 - 28(x1_in): 13(ptr) Variable Input - 31(VS_OUTPUT): TypeStruct 6(int) 6(int) - 32: TypePointer Output 31(VS_OUTPUT) -33(@entryPointOutput): 32(ptr) Variable Output - 36: TypePointer Output 6(int) - 38: TypePointer Output 8(fvec4) - 39(Pos_out): 38(ptr) Variable Output -46(PerVertex_out): TypeStruct 8(fvec4) - 47: TypePointer Output 46(PerVertex_out) -48(PerVertex_out): 47(ptr) Variable Output + 9(VS_INPUT): TypeStruct 6(int) 8(fvec4) 6(int) + 10: TypePointer Function 9(VS_INPUT) + 11: TypePointer Function 8(fvec4) + 12(VS_OUTPUT): TypeStruct 6(int) 8(fvec4) 6(int) + 13: TypeFunction 12(VS_OUTPUT) 10(ptr) 11(ptr) + 18(VS_OUTPUT): TypeStruct 6(int) 8(fvec4) 6(int) + 19: TypePointer Function 18(VS_OUTPUT) + 21: 6(int) Constant 0 + 22: TypePointer Function 6(int) + 26: 6(int) Constant 1 + 32: 6(int) Constant 2 + 37: TypePointer Function 12(VS_OUTPUT) + 49: TypePointer Input 6(int) + 50(x0_in): 49(ptr) Variable Input + 53: TypePointer Input 8(fvec4) + 54(Pos_in): 53(ptr) Variable Input + 57(x1_in): 49(ptr) Variable Input + 61(Pos_loose): 53(ptr) Variable Input + 69(VS_OUTPUT): TypeStruct 6(int) 6(int) + 70: TypePointer Output 69(VS_OUTPUT) +71(@entryPointOutput): 70(ptr) Variable Output + 74: TypePointer Output 6(int) + 76: TypePointer Output 8(fvec4) +77(@entryPointOutput_Pos_out): 76(ptr) Variable Output +83(PerVertex_out): TypeStruct 8(fvec4) + 84: TypePointer Output 83(PerVertex_out) +85(PerVertex_out): 84(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 11(vsout): 10(ptr) Variable Function - 15: 6(int) Load 14(x0_in) - 17: 16(ptr) AccessChain 11(vsout) 12 - Store 17 15 - 21: 8(fvec4) Load 20(Pos_in) - 23: 8(fvec4) Load 22(Pos_loose) - 24: 8(fvec4) FAdd 21 23 - 26: 25(ptr) AccessChain 11(vsout) 18 - Store 26 24 - 29: 6(int) Load 28(x1_in) - 30: 16(ptr) AccessChain 11(vsout) 27 - Store 30 29 - 34: 16(ptr) AccessChain 11(vsout) 12 - 35: 6(int) Load 34 - 37: 36(ptr) AccessChain 33(@entryPointOutput) 12 - Store 37 35 - 40: 25(ptr) AccessChain 11(vsout) 18 - 41: 8(fvec4) Load 40 - Store 39(Pos_out) 41 - 42: 16(ptr) AccessChain 11(vsout) 27 - 43: 6(int) Load 42 - 44: 36(ptr) AccessChain 33(@entryPointOutput) 18 - Store 44 43 + 48(vsin): 10(ptr) Variable Function + 60(Pos_loose): 11(ptr) Variable Function + 63(flattenTemp): 37(ptr) Variable Function + 64(param): 10(ptr) Variable Function + 66(param): 11(ptr) Variable Function + 51: 6(int) Load 50(x0_in) + 52: 22(ptr) AccessChain 48(vsin) 21 + Store 52 51 + 55: 8(fvec4) Load 54(Pos_in) + 56: 11(ptr) AccessChain 48(vsin) 26 + Store 56 55 + 58: 6(int) Load 57(x1_in) + 59: 22(ptr) AccessChain 48(vsin) 32 + Store 59 58 + 62: 8(fvec4) Load 61(Pos_loose) + Store 60(Pos_loose) 62 + 65: 9(VS_INPUT) Load 48(vsin) + Store 64(param) 65 + 67: 8(fvec4) Load 60(Pos_loose) + Store 66(param) 67 + 68:12(VS_OUTPUT) FunctionCall 16(@main(struct-VS_INPUT-i1-vf4-i11;vf4;) 64(param) 66(param) + Store 63(flattenTemp) 68 + 72: 22(ptr) AccessChain 63(flattenTemp) 21 + 73: 6(int) Load 72 + 75: 74(ptr) AccessChain 71(@entryPointOutput) 21 + Store 75 73 + 78: 11(ptr) AccessChain 63(flattenTemp) 26 + 79: 8(fvec4) Load 78 + Store 77(@entryPointOutput_Pos_out) 79 + 80: 22(ptr) AccessChain 63(flattenTemp) 32 + 81: 6(int) Load 80 + 82: 74(ptr) AccessChain 71(@entryPointOutput) 26 + Store 82 81 Return FunctionEnd +16(@main(struct-VS_INPUT-i1-vf4-i11;vf4;):12(VS_OUTPUT) Function None 13 + 14(vsin): 10(ptr) FunctionParameter + 15(Pos_loose): 11(ptr) FunctionParameter + 17: Label + 20(vsout): 19(ptr) Variable Function + 38: 37(ptr) Variable Function + 23: 22(ptr) AccessChain 14(vsin) 21 + 24: 6(int) Load 23 + 25: 22(ptr) AccessChain 20(vsout) 21 + Store 25 24 + 27: 11(ptr) AccessChain 14(vsin) 26 + 28: 8(fvec4) Load 27 + 29: 8(fvec4) Load 15(Pos_loose) + 30: 8(fvec4) FAdd 28 29 + 31: 11(ptr) AccessChain 20(vsout) 26 + Store 31 30 + 33: 22(ptr) AccessChain 14(vsin) 32 + 34: 6(int) Load 33 + 35: 22(ptr) AccessChain 20(vsout) 32 + Store 35 34 + 36:18(VS_OUTPUT) Load 20(vsout) + 39: 6(int) CompositeExtract 36 0 + 40: 22(ptr) AccessChain 38 21 + Store 40 39 + 41: 8(fvec4) CompositeExtract 36 1 + 42: 11(ptr) AccessChain 38 26 + Store 42 41 + 43: 6(int) CompositeExtract 36 2 + 44: 22(ptr) AccessChain 38 32 + Store 44 43 + 45:12(VS_OUTPUT) Load 38 + ReturnValue 45 + FunctionEnd diff --git a/Test/baseResults/hlsl.struct.split.array.geom.out b/Test/baseResults/hlsl.struct.split.array.geom.out index bc5b00d1..aa06c402 100644 --- a/Test/baseResults/hlsl.struct.split.array.geom.out +++ b/Test/baseResults/hlsl.struct.split.array.geom.out @@ -5,9 +5,9 @@ max_vertices = 4 input primitive = points output primitive = triangle_strip 0:? Sequence -0:13 Function Definition: main(u1[1];struct-PSInput-vf4-vf2-vf3-u11; (temp void) +0:13 Function Definition: @main(u1[1];struct-PSInput-vf4-vf2-vf3-u11; (temp void) 0:13 Function Parameters: -0:13 'v' (layout(location=0 ) in 1-element array of uint) +0:13 'v' (in 1-element array of uint) 0:13 'OutputStream' (out structure{temp 4-component vector of float Position Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) 0:? Sequence 0:16 Sequence @@ -61,10 +61,17 @@ output primitive = triangle_strip 0:18 Loop Terminal Expression 0:18 Pre-Increment (temp int) 0:18 'x' (temp int) +0:13 Function Definition: main( (temp void) +0:13 Function Parameters: +0:? Sequence +0:13 move second child to first child (temp 1-element array of uint) +0:? 'v' (temp 1-element array of uint) +0:? 'v' (layout(location=0 ) in 1-element array of uint) +0:13 Function Call: @main(u1[1];struct-PSInput-vf4-vf2-vf3-u11; (temp void) +0:? 'v' (temp 1-element array of uint) +0:? 'OutputStream' (temp structure{temp 4-component vector of float Position Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) 0:? Linker Objects 0:? 'v' (layout(location=0 ) in 1-element array of uint) -0:? 'OutputStream' (layout(location=0 ) out structure{temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position OutputStream_Pos}) Linked geometry stage: @@ -76,9 +83,9 @@ max_vertices = 4 input primitive = points output primitive = triangle_strip 0:? Sequence -0:13 Function Definition: main(u1[1];struct-PSInput-vf4-vf2-vf3-u11; (temp void) +0:13 Function Definition: @main(u1[1];struct-PSInput-vf4-vf2-vf3-u11; (temp void) 0:13 Function Parameters: -0:13 'v' (layout(location=0 ) in 1-element array of uint) +0:13 'v' (in 1-element array of uint) 0:13 'OutputStream' (out structure{temp 4-component vector of float Position Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) 0:? Sequence 0:16 Sequence @@ -132,168 +139,183 @@ output primitive = triangle_strip 0:18 Loop Terminal Expression 0:18 Pre-Increment (temp int) 0:18 'x' (temp int) +0:13 Function Definition: main( (temp void) +0:13 Function Parameters: +0:? Sequence +0:13 move second child to first child (temp 1-element array of uint) +0:? 'v' (temp 1-element array of uint) +0:? 'v' (layout(location=0 ) in 1-element array of uint) +0:13 Function Call: @main(u1[1];struct-PSInput-vf4-vf2-vf3-u11; (temp void) +0:? 'v' (temp 1-element array of uint) +0:? 'OutputStream' (temp structure{temp 4-component vector of float Position Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) 0:? Linker Objects 0:? 'v' (layout(location=0 ) in 1-element array of uint) -0:? 'OutputStream' (layout(location=0 ) out structure{temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position OutputStream_Pos}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 90 +// Id's are bound by 98 Capability Geometry 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Geometry 4 "main" 83 86 89 + EntryPoint Geometry 4 "main" 91 ExecutionMode 4 InputPoints ExecutionMode 4 Invocations 1 ExecutionMode 4 OutputTriangleStrip ExecutionMode 4 OutputVertices 4 Name 4 "main" - Name 11 "PSInput" - MemberName 11(PSInput) 0 "Pos" - MemberName 11(PSInput) 1 "TexCoord" - MemberName 11(PSInput) 2 "TerrainPos" - MemberName 11(PSInput) 3 "VertexID" - Name 13 "Out" Name 14 "PSInput" MemberName 14(PSInput) 0 "Pos" MemberName 14(PSInput) 1 "TexCoord" MemberName 14(PSInput) 2 "TerrainPos" MemberName 14(PSInput) 3 "VertexID" - Name 39 "x" - Name 48 "y" - Name 56 "PSInput" - MemberName 56(PSInput) 0 "Pos" - MemberName 56(PSInput) 1 "TexCoord" - MemberName 56(PSInput) 2 "TerrainPos" - MemberName 56(PSInput) 3 "VertexID" - Name 62 "Verts" - Name 83 "v" - Name 84 "PSInput" - MemberName 84(PSInput) 0 "TexCoord" - MemberName 84(PSInput) 1 "TerrainPos" - MemberName 84(PSInput) 2 "VertexID" - Name 86 "OutputStream" - Name 87 "PerVertex_out" - MemberName 87(PerVertex_out) 0 "OutputStream_Pos" - Name 89 "PerVertex_out" + Name 19 "@main(u1[1];struct-PSInput-vf4-vf2-vf3-u11;" + Name 17 "v" + Name 18 "OutputStream" + Name 21 "PSInput" + MemberName 21(PSInput) 0 "Pos" + MemberName 21(PSInput) 1 "TexCoord" + MemberName 21(PSInput) 2 "TerrainPos" + MemberName 21(PSInput) 3 "VertexID" + Name 23 "Out" + Name 48 "x" + Name 57 "y" + Name 65 "PSInput" + MemberName 65(PSInput) 0 "Pos" + MemberName 65(PSInput) 1 "TexCoord" + MemberName 65(PSInput) 2 "TerrainPos" + MemberName 65(PSInput) 3 "VertexID" + Name 71 "Verts" + Name 89 "v" + Name 91 "v" + Name 93 "OutputStream" + Name 94 "param" + Name 96 "param" MemberDecorate 14(PSInput) 0 BuiltIn Position - Decorate 83(v) Location 0 - Decorate 86(OutputStream) Location 0 - MemberDecorate 87(PerVertex_out) 0 BuiltIn Position - Decorate 87(PerVertex_out) Block + Decorate 91(v) Location 0 2: TypeVoid 3: TypeFunction 2 - 6: TypeFloat 32 - 7: TypeVector 6(float) 4 - 8: TypeVector 6(float) 2 - 9: TypeVector 6(float) 3 - 10: TypeInt 32 0 - 11(PSInput): TypeStruct 7(fvec4) 8(fvec2) 9(fvec3) 10(int) - 12: TypePointer Function 11(PSInput) - 14(PSInput): TypeStruct 7(fvec4) 8(fvec2) 9(fvec3) 10(int) - 15: 6(float) Constant 0 - 16: 7(fvec4) ConstantComposite 15 15 15 15 - 17: 8(fvec2) ConstantComposite 15 15 - 18: 9(fvec3) ConstantComposite 15 15 15 - 19: 10(int) Constant 0 - 20: 14(PSInput) ConstantComposite 16 17 18 19 - 22: TypeInt 32 1 - 23: 22(int) Constant 0 - 24: TypePointer Function 7(fvec4) - 27: 22(int) Constant 1 - 28: TypePointer Function 8(fvec2) - 31: 22(int) Constant 2 - 32: TypePointer Function 9(fvec3) - 35: 22(int) Constant 3 - 36: TypePointer Function 10(int) - 38: TypePointer Function 22(int) - 46: TypeBool - 56(PSInput): TypeStruct 7(fvec4) 8(fvec2) 9(fvec3) 10(int) - 57: 10(int) Constant 3 - 58: TypeArray 56(PSInput) 57 - 59: 10(int) Constant 2 - 60: TypeArray 58 59 - 61: TypePointer Function 60 - 66: TypePointer Function 56(PSInput) - 80: 10(int) Constant 1 - 81: TypeArray 10(int) 80 - 82: TypePointer Input 81 - 83(v): 82(ptr) Variable Input - 84(PSInput): TypeStruct 8(fvec2) 9(fvec3) 10(int) - 85: TypePointer Output 84(PSInput) -86(OutputStream): 85(ptr) Variable Output -87(PerVertex_out): TypeStruct 7(fvec4) - 88: TypePointer Output 87(PerVertex_out) -89(PerVertex_out): 88(ptr) Variable Output + 6: TypeInt 32 0 + 7: 6(int) Constant 1 + 8: TypeArray 6(int) 7 + 9: TypePointer Function 8 + 10: TypeFloat 32 + 11: TypeVector 10(float) 4 + 12: TypeVector 10(float) 2 + 13: TypeVector 10(float) 3 + 14(PSInput): TypeStruct 11(fvec4) 12(fvec2) 13(fvec3) 6(int) + 15: TypePointer Function 14(PSInput) + 16: TypeFunction 2 9(ptr) 15(ptr) + 21(PSInput): TypeStruct 11(fvec4) 12(fvec2) 13(fvec3) 6(int) + 22: TypePointer Function 21(PSInput) + 24: 10(float) Constant 0 + 25: 11(fvec4) ConstantComposite 24 24 24 24 + 26: 12(fvec2) ConstantComposite 24 24 + 27: 13(fvec3) ConstantComposite 24 24 24 + 28: 6(int) Constant 0 + 29: 14(PSInput) ConstantComposite 25 26 27 28 + 31: TypeInt 32 1 + 32: 31(int) Constant 0 + 33: TypePointer Function 11(fvec4) + 36: 31(int) Constant 1 + 37: TypePointer Function 12(fvec2) + 40: 31(int) Constant 2 + 41: TypePointer Function 13(fvec3) + 44: 31(int) Constant 3 + 45: TypePointer Function 6(int) + 47: TypePointer Function 31(int) + 55: TypeBool + 65(PSInput): TypeStruct 11(fvec4) 12(fvec2) 13(fvec3) 6(int) + 66: 6(int) Constant 3 + 67: TypeArray 65(PSInput) 66 + 68: 6(int) Constant 2 + 69: TypeArray 67 68 + 70: TypePointer Function 69 + 75: TypePointer Function 65(PSInput) + 90: TypePointer Input 8 + 91(v): 90(ptr) Variable Input 4(main): 2 Function None 3 5: Label - 13(Out): 12(ptr) Variable Function - 39(x): 38(ptr) Variable Function - 48(y): 38(ptr) Variable Function - 62(Verts): 61(ptr) Variable Function - 21: 7(fvec4) CompositeExtract 20 0 - 25: 24(ptr) AccessChain 13(Out) 23 - Store 25 21 - 26: 8(fvec2) CompositeExtract 20 1 - 29: 28(ptr) AccessChain 13(Out) 27 - Store 29 26 - 30: 9(fvec3) CompositeExtract 20 2 - 33: 32(ptr) AccessChain 13(Out) 31 - Store 33 30 - 34: 10(int) CompositeExtract 20 3 - 37: 36(ptr) AccessChain 13(Out) 35 - Store 37 34 - Store 39(x) 23 - Branch 40 - 40: Label - LoopMerge 42 43 None - Branch 44 - 44: Label - 45: 22(int) Load 39(x) - 47: 46(bool) SLessThan 45 31 - BranchConditional 47 41 42 - 41: Label - Store 48(y) 23 - Branch 49 - 49: Label - LoopMerge 51 52 None - Branch 53 - 53: Label - 54: 22(int) Load 48(y) - 55: 46(bool) SLessThan 54 31 - BranchConditional 55 50 51 - 50: Label - 63: 22(int) Load 39(x) - 64: 22(int) Load 48(y) - 65: 11(PSInput) Load 13(Out) - 67: 66(ptr) AccessChain 62(Verts) 63 64 - 68: 7(fvec4) CompositeExtract 65 0 - 69: 24(ptr) AccessChain 67 23 - Store 69 68 - 70: 8(fvec2) CompositeExtract 65 1 - 71: 28(ptr) AccessChain 67 27 - Store 71 70 - 72: 9(fvec3) CompositeExtract 65 2 - 73: 32(ptr) AccessChain 67 31 - Store 73 72 - 74: 10(int) CompositeExtract 65 3 - 75: 36(ptr) AccessChain 67 35 - Store 75 74 - Branch 52 - 52: Label - 76: 22(int) Load 48(y) - 77: 22(int) IAdd 76 27 - Store 48(y) 77 - Branch 49 - 51: Label - Branch 43 - 43: Label - 78: 22(int) Load 39(x) - 79: 22(int) IAdd 78 27 - Store 39(x) 79 - Branch 40 - 42: Label + 89(v): 9(ptr) Variable Function +93(OutputStream): 15(ptr) Variable Function + 94(param): 9(ptr) Variable Function + 96(param): 15(ptr) Variable Function + 92: 8 Load 91(v) + Store 89(v) 92 + 95: 8 Load 89(v) + Store 94(param) 95 + 97: 2 FunctionCall 19(@main(u1[1];struct-PSInput-vf4-vf2-vf3-u11;) 94(param) 96(param) + Return + FunctionEnd +19(@main(u1[1];struct-PSInput-vf4-vf2-vf3-u11;): 2 Function None 16 + 17(v): 9(ptr) FunctionParameter +18(OutputStream): 15(ptr) FunctionParameter + 20: Label + 23(Out): 22(ptr) Variable Function + 48(x): 47(ptr) Variable Function + 57(y): 47(ptr) Variable Function + 71(Verts): 70(ptr) Variable Function + 30: 11(fvec4) CompositeExtract 29 0 + 34: 33(ptr) AccessChain 23(Out) 32 + Store 34 30 + 35: 12(fvec2) CompositeExtract 29 1 + 38: 37(ptr) AccessChain 23(Out) 36 + Store 38 35 + 39: 13(fvec3) CompositeExtract 29 2 + 42: 41(ptr) AccessChain 23(Out) 40 + Store 42 39 + 43: 6(int) CompositeExtract 29 3 + 46: 45(ptr) AccessChain 23(Out) 44 + Store 46 43 + Store 48(x) 32 + Branch 49 + 49: Label + LoopMerge 51 52 None + Branch 53 + 53: Label + 54: 31(int) Load 48(x) + 56: 55(bool) SLessThan 54 40 + BranchConditional 56 50 51 + 50: Label + Store 57(y) 32 + Branch 58 + 58: Label + LoopMerge 60 61 None + Branch 62 + 62: Label + 63: 31(int) Load 57(y) + 64: 55(bool) SLessThan 63 40 + BranchConditional 64 59 60 + 59: Label + 72: 31(int) Load 48(x) + 73: 31(int) Load 57(y) + 74: 21(PSInput) Load 23(Out) + 76: 75(ptr) AccessChain 71(Verts) 72 73 + 77: 11(fvec4) CompositeExtract 74 0 + 78: 33(ptr) AccessChain 76 32 + Store 78 77 + 79: 12(fvec2) CompositeExtract 74 1 + 80: 37(ptr) AccessChain 76 36 + Store 80 79 + 81: 13(fvec3) CompositeExtract 74 2 + 82: 41(ptr) AccessChain 76 40 + Store 82 81 + 83: 6(int) CompositeExtract 74 3 + 84: 45(ptr) AccessChain 76 44 + Store 84 83 + Branch 61 + 61: Label + 85: 31(int) Load 57(y) + 86: 31(int) IAdd 85 36 + Store 57(y) 86 + Branch 58 + 60: Label + Branch 52 + 52: Label + 87: 31(int) Load 48(x) + 88: 31(int) IAdd 87 36 + Store 48(x) 88 + Branch 49 + 51: Label Return FunctionEnd diff --git a/Test/baseResults/hlsl.struct.split.assign.frag.out b/Test/baseResults/hlsl.struct.split.assign.frag.out index e214c512..4ccbf260 100644 --- a/Test/baseResults/hlsl.struct.split.assign.frag.out +++ b/Test/baseResults/hlsl.struct.split.assign.frag.out @@ -2,59 +2,76 @@ hlsl.struct.split.assign.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:7 Function Definition: main(i1;struct-S-f1-vf41[3]; (temp 4-component vector of float) +0:7 Function Definition: @main(i1;struct-S-f1-vf41[3]; (temp 4-component vector of float) 0:7 Function Parameters: -0:7 'i' (layout(location=0 ) in int) +0:7 'i' (in int) 0:7 'input' (in 3-element array of structure{temp float f, temp 4-component vector of float FragCoord pos}) 0:? Sequence -0:9 Sequence -0:9 move second child to first child (temp float) -0:9 f: direct index for structure (temp float) -0:9 direct index (layout(location=1 ) in structure{temp float f}) -0:9 'input' (layout(location=1 ) in 3-element array of structure{temp float f}) -0:9 Constant: -0:9 0 (const int) -0:9 Constant: -0:9 0 (const int) -0:9 f: direct index for structure (temp float) -0:9 direct index (temp structure{temp float f, temp 4-component vector of float pos}) -0:9 'a' (temp 3-element array of structure{temp float f, temp 4-component vector of float pos}) -0:9 Constant: -0:9 0 (const int) -0:9 Constant: -0:9 0 (const int) -0:9 move second child to first child (temp float) -0:9 f: direct index for structure (temp float) -0:9 direct index (layout(location=1 ) in structure{temp float f}) -0:9 'input' (layout(location=1 ) in 3-element array of structure{temp float f}) -0:9 Constant: -0:9 1 (const int) -0:9 Constant: -0:9 0 (const int) -0:9 f: direct index for structure (temp float) -0:9 direct index (temp structure{temp float f, temp 4-component vector of float pos}) -0:9 'a' (temp 3-element array of structure{temp float f, temp 4-component vector of float pos}) -0:9 Constant: -0:9 1 (const int) -0:9 Constant: -0:9 0 (const int) -0:9 move second child to first child (temp float) -0:9 f: direct index for structure (temp float) -0:9 direct index (layout(location=1 ) in structure{temp float f}) -0:9 'input' (layout(location=1 ) in 3-element array of structure{temp float f}) -0:9 Constant: -0:9 2 (const int) -0:9 Constant: -0:9 0 (const int) -0:9 f: direct index for structure (temp float) -0:9 direct index (temp structure{temp float f, temp 4-component vector of float pos}) -0:9 'a' (temp 3-element array of structure{temp float f, temp 4-component vector of float pos}) -0:9 Constant: -0:9 2 (const int) -0:9 Constant: -0:9 0 (const int) -0:11 Sequence -0:11 Branch: Return +0:9 move second child to first child (temp 3-element array of structure{temp float f, temp 4-component vector of float FragCoord pos}) +0:9 'input' (in 3-element array of structure{temp float f, temp 4-component vector of float FragCoord pos}) +0:9 'a' (temp 3-element array of structure{temp float f, temp 4-component vector of float pos}) +0:11 Branch: Return with expression +0:11 Constant: +0:11 1.000000 +0:11 1.000000 +0:11 1.000000 +0:7 Function Definition: main( (temp void) +0:7 Function Parameters: +0:? Sequence +0:7 move second child to first child (temp int) +0:? 'i' (temp int) +0:? 'i' (layout(location=0 ) in int) +0:7 Sequence +0:7 move second child to first child (temp float) +0:7 f: direct index for structure (temp float) +0:7 direct index (temp structure{temp float f, temp 4-component vector of float FragCoord pos}) +0:? 'input' (temp 3-element array of structure{temp float f, temp 4-component vector of float FragCoord pos}) +0:7 Constant: +0:7 0 (const int) +0:7 Constant: +0:7 0 (const int) +0:7 f: direct index for structure (temp float) +0:7 direct index (layout(location=1 ) in structure{temp float f}) +0:7 'input' (layout(location=1 ) in 3-element array of structure{temp float f}) +0:7 Constant: +0:7 0 (const int) +0:7 Constant: +0:7 0 (const int) +0:7 move second child to first child (temp float) +0:7 f: direct index for structure (temp float) +0:7 direct index (temp structure{temp float f, temp 4-component vector of float FragCoord pos}) +0:? 'input' (temp 3-element array of structure{temp float f, temp 4-component vector of float FragCoord pos}) +0:7 Constant: +0:7 1 (const int) +0:7 Constant: +0:7 0 (const int) +0:7 f: direct index for structure (temp float) +0:7 direct index (layout(location=1 ) in structure{temp float f}) +0:7 'input' (layout(location=1 ) in 3-element array of structure{temp float f}) +0:7 Constant: +0:7 1 (const int) +0:7 Constant: +0:7 0 (const int) +0:7 move second child to first child (temp float) +0:7 f: direct index for structure (temp float) +0:7 direct index (temp structure{temp float f, temp 4-component vector of float FragCoord pos}) +0:? 'input' (temp 3-element array of structure{temp float f, temp 4-component vector of float FragCoord pos}) +0:7 Constant: +0:7 2 (const int) +0:7 Constant: +0:7 0 (const int) +0:7 f: direct index for structure (temp float) +0:7 direct index (layout(location=1 ) in structure{temp float f}) +0:7 'input' (layout(location=1 ) in 3-element array of structure{temp float f}) +0:7 Constant: +0:7 2 (const int) +0:7 Constant: +0:7 0 (const int) +0:7 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:7 Function Call: @main(i1;struct-S-f1-vf41[3]; (temp 4-component vector of float) +0:? 'i' (temp int) +0:? 'input' (temp 3-element array of structure{temp float f, temp 4-component vector of float FragCoord pos}) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 'i' (layout(location=0 ) in int) @@ -68,59 +85,76 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:7 Function Definition: main(i1;struct-S-f1-vf41[3]; (temp 4-component vector of float) +0:7 Function Definition: @main(i1;struct-S-f1-vf41[3]; (temp 4-component vector of float) 0:7 Function Parameters: -0:7 'i' (layout(location=0 ) in int) +0:7 'i' (in int) 0:7 'input' (in 3-element array of structure{temp float f, temp 4-component vector of float FragCoord pos}) 0:? Sequence -0:9 Sequence -0:9 move second child to first child (temp float) -0:9 f: direct index for structure (temp float) -0:9 direct index (layout(location=1 ) in structure{temp float f}) -0:9 'input' (layout(location=1 ) in 3-element array of structure{temp float f}) -0:9 Constant: -0:9 0 (const int) -0:9 Constant: -0:9 0 (const int) -0:9 f: direct index for structure (temp float) -0:9 direct index (temp structure{temp float f, temp 4-component vector of float pos}) -0:9 'a' (temp 3-element array of structure{temp float f, temp 4-component vector of float pos}) -0:9 Constant: -0:9 0 (const int) -0:9 Constant: -0:9 0 (const int) -0:9 move second child to first child (temp float) -0:9 f: direct index for structure (temp float) -0:9 direct index (layout(location=1 ) in structure{temp float f}) -0:9 'input' (layout(location=1 ) in 3-element array of structure{temp float f}) -0:9 Constant: -0:9 1 (const int) -0:9 Constant: -0:9 0 (const int) -0:9 f: direct index for structure (temp float) -0:9 direct index (temp structure{temp float f, temp 4-component vector of float pos}) -0:9 'a' (temp 3-element array of structure{temp float f, temp 4-component vector of float pos}) -0:9 Constant: -0:9 1 (const int) -0:9 Constant: -0:9 0 (const int) -0:9 move second child to first child (temp float) -0:9 f: direct index for structure (temp float) -0:9 direct index (layout(location=1 ) in structure{temp float f}) -0:9 'input' (layout(location=1 ) in 3-element array of structure{temp float f}) -0:9 Constant: -0:9 2 (const int) -0:9 Constant: -0:9 0 (const int) -0:9 f: direct index for structure (temp float) -0:9 direct index (temp structure{temp float f, temp 4-component vector of float pos}) -0:9 'a' (temp 3-element array of structure{temp float f, temp 4-component vector of float pos}) -0:9 Constant: -0:9 2 (const int) -0:9 Constant: -0:9 0 (const int) -0:11 Sequence -0:11 Branch: Return +0:9 move second child to first child (temp 3-element array of structure{temp float f, temp 4-component vector of float FragCoord pos}) +0:9 'input' (in 3-element array of structure{temp float f, temp 4-component vector of float FragCoord pos}) +0:9 'a' (temp 3-element array of structure{temp float f, temp 4-component vector of float pos}) +0:11 Branch: Return with expression +0:11 Constant: +0:11 1.000000 +0:11 1.000000 +0:11 1.000000 +0:7 Function Definition: main( (temp void) +0:7 Function Parameters: +0:? Sequence +0:7 move second child to first child (temp int) +0:? 'i' (temp int) +0:? 'i' (layout(location=0 ) in int) +0:7 Sequence +0:7 move second child to first child (temp float) +0:7 f: direct index for structure (temp float) +0:7 direct index (temp structure{temp float f, temp 4-component vector of float FragCoord pos}) +0:? 'input' (temp 3-element array of structure{temp float f, temp 4-component vector of float FragCoord pos}) +0:7 Constant: +0:7 0 (const int) +0:7 Constant: +0:7 0 (const int) +0:7 f: direct index for structure (temp float) +0:7 direct index (layout(location=1 ) in structure{temp float f}) +0:7 'input' (layout(location=1 ) in 3-element array of structure{temp float f}) +0:7 Constant: +0:7 0 (const int) +0:7 Constant: +0:7 0 (const int) +0:7 move second child to first child (temp float) +0:7 f: direct index for structure (temp float) +0:7 direct index (temp structure{temp float f, temp 4-component vector of float FragCoord pos}) +0:? 'input' (temp 3-element array of structure{temp float f, temp 4-component vector of float FragCoord pos}) +0:7 Constant: +0:7 1 (const int) +0:7 Constant: +0:7 0 (const int) +0:7 f: direct index for structure (temp float) +0:7 direct index (layout(location=1 ) in structure{temp float f}) +0:7 'input' (layout(location=1 ) in 3-element array of structure{temp float f}) +0:7 Constant: +0:7 1 (const int) +0:7 Constant: +0:7 0 (const int) +0:7 move second child to first child (temp float) +0:7 f: direct index for structure (temp float) +0:7 direct index (temp structure{temp float f, temp 4-component vector of float FragCoord pos}) +0:? 'input' (temp 3-element array of structure{temp float f, temp 4-component vector of float FragCoord pos}) +0:7 Constant: +0:7 2 (const int) +0:7 Constant: +0:7 0 (const int) +0:7 f: direct index for structure (temp float) +0:7 direct index (layout(location=1 ) in structure{temp float f}) +0:7 'input' (layout(location=1 ) in 3-element array of structure{temp float f}) +0:7 Constant: +0:7 2 (const int) +0:7 Constant: +0:7 0 (const int) +0:7 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:7 Function Call: @main(i1;struct-S-f1-vf41[3]; (temp 4-component vector of float) +0:? 'i' (temp int) +0:? 'input' (temp 3-element array of structure{temp float f, temp 4-component vector of float FragCoord pos}) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 'i' (layout(location=0 ) in int) @@ -129,68 +163,135 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 41 +// Id's are bound by 85 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 12 35 37 40 + EntryPoint Fragment 4 "main" 58 64 76 84 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 7 "S" - MemberName 7(S) 0 "f" - Name 12 "input" - Name 16 "S" - MemberName 16(S) 0 "f" - MemberName 16(S) 1 "pos" - Name 19 "a" - Name 35 "@entryPointOutput" - Name 37 "i" - Name 40 "input_pos" - Decorate 12(input) Location 1 - Decorate 35(@entryPointOutput) Location 0 - Decorate 37(i) Location 0 - Decorate 40(input_pos) BuiltIn FragCoord + Name 10 "S" + MemberName 10(S) 0 "f" + MemberName 10(S) 1 "pos" + Name 18 "@main(i1;struct-S-f1-vf41[3];" + Name 16 "i" + Name 17 "input" + Name 20 "S" + MemberName 20(S) 0 "f" + MemberName 20(S) 1 "pos" + Name 23 "a" + Name 56 "i" + Name 58 "i" + Name 60 "input" + Name 61 "S" + MemberName 61(S) 0 "f" + Name 64 "input" + Name 76 "@entryPointOutput" + Name 77 "param" + Name 79 "param" + Name 84 "input_pos" + MemberDecorate 10(S) 1 BuiltIn FragCoord + Decorate 58(i) Location 0 + Decorate 64(input) Location 1 + Decorate 76(@entryPointOutput) Location 0 + Decorate 84(input_pos) BuiltIn FragCoord 2: TypeVoid 3: TypeFunction 2 - 6: TypeFloat 32 - 7(S): TypeStruct 6(float) - 8: TypeInt 32 0 - 9: 8(int) Constant 3 - 10: TypeArray 7(S) 9 - 11: TypePointer Input 10 - 12(input): 11(ptr) Variable Input - 13: TypeInt 32 1 - 14: 13(int) Constant 0 - 15: TypeVector 6(float) 4 - 16(S): TypeStruct 6(float) 15(fvec4) - 17: TypeArray 16(S) 9 - 18: TypePointer Function 17 - 20: TypePointer Function 6(float) - 23: TypePointer Input 6(float) - 25: 13(int) Constant 1 - 29: 13(int) Constant 2 - 34: TypePointer Output 15(fvec4) -35(@entryPointOutput): 34(ptr) Variable Output - 36: TypePointer Input 13(int) - 37(i): 36(ptr) Variable Input - 38: TypeArray 15(fvec4) 9 - 39: TypePointer Input 38 - 40(input_pos): 39(ptr) Variable Input + 6: TypeInt 32 1 + 7: TypePointer Function 6(int) + 8: TypeFloat 32 + 9: TypeVector 8(float) 4 + 10(S): TypeStruct 8(float) 9(fvec4) + 11: TypeInt 32 0 + 12: 11(int) Constant 3 + 13: TypeArray 10(S) 12 + 14: TypePointer Function 13 + 15: TypeFunction 9(fvec4) 7(ptr) 14(ptr) + 20(S): TypeStruct 8(float) 9(fvec4) + 21: TypeArray 20(S) 12 + 22: TypePointer Function 21 + 26: 6(int) Constant 0 + 27: TypePointer Function 10(S) + 30: TypePointer Function 8(float) + 33: 6(int) Constant 1 + 34: TypePointer Function 9(fvec4) + 43: 6(int) Constant 2 + 49: TypeVector 8(float) 3 + 50: 8(float) Constant 1065353216 + 51: 49(fvec3) ConstantComposite 50 50 50 + 57: TypePointer Input 6(int) + 58(i): 57(ptr) Variable Input + 61(S): TypeStruct 8(float) + 62: TypeArray 61(S) 12 + 63: TypePointer Input 62 + 64(input): 63(ptr) Variable Input + 65: TypePointer Input 8(float) + 75: TypePointer Output 9(fvec4) +76(@entryPointOutput): 75(ptr) Variable Output + 82: TypeArray 9(fvec4) 12 + 83: TypePointer Input 82 + 84(input_pos): 83(ptr) Variable Input 4(main): 2 Function None 3 5: Label - 19(a): 18(ptr) Variable Function - 21: 20(ptr) AccessChain 19(a) 14 14 - 22: 6(float) Load 21 - 24: 23(ptr) AccessChain 12(input) 14 14 - Store 24 22 - 26: 20(ptr) AccessChain 19(a) 25 14 - 27: 6(float) Load 26 - 28: 23(ptr) AccessChain 12(input) 25 14 - Store 28 27 - 30: 20(ptr) AccessChain 19(a) 29 14 - 31: 6(float) Load 30 - 32: 23(ptr) AccessChain 12(input) 29 14 - Store 32 31 + 56(i): 7(ptr) Variable Function + 60(input): 14(ptr) Variable Function + 77(param): 7(ptr) Variable Function + 79(param): 14(ptr) Variable Function + 59: 6(int) Load 58(i) + Store 56(i) 59 + 66: 65(ptr) AccessChain 64(input) 26 26 + 67: 8(float) Load 66 + 68: 30(ptr) AccessChain 60(input) 26 26 + Store 68 67 + 69: 65(ptr) AccessChain 64(input) 33 26 + 70: 8(float) Load 69 + 71: 30(ptr) AccessChain 60(input) 33 26 + Store 71 70 + 72: 65(ptr) AccessChain 64(input) 43 26 + 73: 8(float) Load 72 + 74: 30(ptr) AccessChain 60(input) 43 26 + Store 74 73 + 78: 6(int) Load 56(i) + Store 77(param) 78 + 80: 13 Load 60(input) + Store 79(param) 80 + 81: 9(fvec4) FunctionCall 18(@main(i1;struct-S-f1-vf41[3];) 77(param) 79(param) + Store 76(@entryPointOutput) 81 Return FunctionEnd +18(@main(i1;struct-S-f1-vf41[3];): 9(fvec4) Function None 15 + 16(i): 7(ptr) FunctionParameter + 17(input): 14(ptr) FunctionParameter + 19: Label + 23(a): 22(ptr) Variable Function + 52: 34(ptr) Variable Function + 24: 21 Load 23(a) + 25: 20(S) CompositeExtract 24 0 + 28: 27(ptr) AccessChain 17(input) 26 + 29: 8(float) CompositeExtract 25 0 + 31: 30(ptr) AccessChain 28 26 + Store 31 29 + 32: 9(fvec4) CompositeExtract 25 1 + 35: 34(ptr) AccessChain 28 33 + Store 35 32 + 36: 20(S) CompositeExtract 24 1 + 37: 27(ptr) AccessChain 17(input) 33 + 38: 8(float) CompositeExtract 36 0 + 39: 30(ptr) AccessChain 37 26 + Store 39 38 + 40: 9(fvec4) CompositeExtract 36 1 + 41: 34(ptr) AccessChain 37 33 + Store 41 40 + 42: 20(S) CompositeExtract 24 2 + 44: 27(ptr) AccessChain 17(input) 43 + 45: 8(float) CompositeExtract 42 0 + 46: 30(ptr) AccessChain 44 26 + Store 46 45 + 47: 9(fvec4) CompositeExtract 42 1 + 48: 34(ptr) AccessChain 44 33 + Store 48 47 + Store 52 51 + 53: 9(fvec4) Load 52 + ReturnValue 53 + FunctionEnd diff --git a/Test/baseResults/hlsl.struct.split.call.vert.out b/Test/baseResults/hlsl.struct.split.call.vert.out index 40245f44..c5769cd6 100644 --- a/Test/baseResults/hlsl.struct.split.call.vert.out +++ b/Test/baseResults/hlsl.struct.split.call.vert.out @@ -3,19 +3,19 @@ Shader version: 450 0:? Sequence 0:17 Function Definition: Fn1(struct-VS_INPUT-i1-vf4-i11;struct-VS_OUTPUT-i1-vf4-i11; (temp void) 0:17 Function Parameters: -0:17 'fn1_in' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) -0:17 'fn1_out' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:17 'fn1_in' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:17 'fn1_out' (in structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) 0:? Sequence 0:18 add (temp 4-component vector of float) -0:18 Pos_in: direct index for structure (temp 4-component vector of float) -0:18 'fn1_in' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:18 Pos_in: direct index for structure (temp 4-component vector of float Position) +0:18 'fn1_in' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) 0:18 Constant: 0:18 1 (const int) -0:18 Pos_out: direct index for structure (temp 4-component vector of float) -0:18 'fn1_out' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:18 Pos_out: direct index for structure (temp 4-component vector of float Position) +0:18 'fn1_out' (in structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) 0:18 Constant: 0:18 1 (const int) -0:22 Function Definition: main(struct-VS_INPUT-i1-vf4-i11; (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) +0:22 Function Definition: @main(struct-VS_INPUT-i1-vf4-i11; (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) 0:22 Function Parameters: 0:22 'vsin' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) 0:? Sequence @@ -24,75 +24,90 @@ Shader version: 450 0:25 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) 0:25 Constant: 0:25 0 (const int) -0:? 'x0_in' (layout(location=0 ) in int) +0:25 x0_in: direct index for structure (temp int) +0:25 'vsin' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:25 Constant: +0:25 0 (const int) 0:26 move second child to first child (temp 4-component vector of float) 0:26 Pos_out: direct index for structure (temp 4-component vector of float) 0:26 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) 0:26 Constant: 0:26 1 (const int) -0:? 'Pos_in' (in 4-component vector of float Position) +0:26 Pos_in: direct index for structure (temp 4-component vector of float) +0:26 'vsin' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:26 Constant: +0:26 1 (const int) 0:27 move second child to first child (temp int) 0:27 x1_out: direct index for structure (temp int) 0:27 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) 0:27 Constant: 0:27 2 (const int) -0:? 'x1_in' (layout(location=1 ) in int) +0:27 x1_in: direct index for structure (temp int) +0:27 'vsin' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:27 Constant: +0:27 2 (const int) 0:29 Function Call: Fn1(struct-VS_INPUT-i1-vf4-i11;struct-VS_OUTPUT-i1-vf4-i11; (temp void) -0:29 Comma (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) -0:29 Sequence -0:29 move second child to first child (temp int) -0:29 x0_in: direct index for structure (temp int) -0:29 'aggShadow' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) -0:29 Constant: -0:29 0 (const int) -0:? 'x0_in' (layout(location=0 ) in int) -0:29 move second child to first child (temp 4-component vector of float) -0:29 Pos_in: direct index for structure (temp 4-component vector of float) -0:29 'aggShadow' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) -0:29 Constant: -0:29 1 (const int) -0:? 'Pos_in' (in 4-component vector of float Position) -0:29 move second child to first child (temp int) -0:29 x1_in: direct index for structure (temp int) -0:29 'aggShadow' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) -0:29 Constant: -0:29 2 (const int) -0:? 'x1_in' (layout(location=1 ) in int) -0:29 'aggShadow' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:29 'vsin' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) 0:29 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) -0:31 Sequence -0:31 Sequence -0:31 move second child to first child (temp int) -0:31 x0_out: direct index for structure (temp int) -0:31 '@entryPointOutput' (layout(location=0 ) out structure{temp int x0_out, temp int x1_out}) -0:31 Constant: -0:31 0 (const int) -0:31 x0_out: direct index for structure (temp int) -0:31 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) -0:31 Constant: -0:31 0 (const int) -0:31 move second child to first child (temp 4-component vector of float) -0:? 'Pos_out' (out 4-component vector of float Position) -0:31 Pos_out: direct index for structure (temp 4-component vector of float) -0:31 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) -0:31 Constant: -0:31 1 (const int) -0:31 move second child to first child (temp int) -0:31 x1_out: direct index for structure (temp int) -0:31 '@entryPointOutput' (layout(location=0 ) out structure{temp int x0_out, temp int x1_out}) -0:31 Constant: -0:31 1 (const int) -0:31 x1_out: direct index for structure (temp int) -0:31 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) -0:31 Constant: -0:31 2 (const int) -0:31 Branch: Return +0:31 Branch: Return with expression +0:31 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:22 Function Definition: main( (temp void) +0:22 Function Parameters: +0:? Sequence +0:22 Sequence +0:22 move second child to first child (temp int) +0:22 x0_in: direct index for structure (temp int) +0:? 'vsin' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:22 Constant: +0:22 0 (const int) +0:? 'x0_in' (layout(location=0 ) in int) +0:22 move second child to first child (temp 4-component vector of float) +0:22 Pos_in: direct index for structure (temp 4-component vector of float) +0:? 'vsin' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:22 Constant: +0:22 1 (const int) +0:? 'Pos_in' (in 4-component vector of float Position) +0:22 move second child to first child (temp int) +0:22 x1_in: direct index for structure (temp int) +0:? 'vsin' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:22 Constant: +0:22 2 (const int) +0:? 'x1_in' (layout(location=1 ) in int) +0:22 Sequence +0:22 move second child to first child (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) +0:22 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) +0:22 Function Call: @main(struct-VS_INPUT-i1-vf4-i11; (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) +0:? 'vsin' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:22 move second child to first child (temp int) +0:22 x0_out: direct index for structure (temp int) +0:22 '@entryPointOutput' (layout(location=0 ) out structure{temp int x0_out, temp int x1_out}) +0:22 Constant: +0:22 0 (const int) +0:22 x0_out: direct index for structure (temp int) +0:22 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) +0:22 Constant: +0:22 0 (const int) +0:22 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput_Pos_out' (out 4-component vector of float Position) +0:22 Pos_out: direct index for structure (temp 4-component vector of float Position) +0:22 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) +0:22 Constant: +0:22 1 (const int) +0:22 move second child to first child (temp int) +0:22 x1_out: direct index for structure (temp int) +0:22 '@entryPointOutput' (layout(location=0 ) out structure{temp int x0_out, temp int x1_out}) +0:22 Constant: +0:22 1 (const int) +0:22 x1_out: direct index for structure (temp int) +0:22 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) +0:22 Constant: +0:22 2 (const int) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out structure{temp int x0_out, temp int x1_out}) 0:? 'x0_in' (layout(location=0 ) in int) 0:? 'Pos_in' (in 4-component vector of float Position) 0:? 'x1_in' (layout(location=1 ) in int) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos_out}) +0:? 'PerVertex_out' (out block{out 4-component vector of float Position @entryPointOutput_Pos_out}) Linked vertex stage: @@ -102,19 +117,19 @@ Shader version: 450 0:? Sequence 0:17 Function Definition: Fn1(struct-VS_INPUT-i1-vf4-i11;struct-VS_OUTPUT-i1-vf4-i11; (temp void) 0:17 Function Parameters: -0:17 'fn1_in' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) -0:17 'fn1_out' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:17 'fn1_in' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:17 'fn1_out' (in structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) 0:? Sequence 0:18 add (temp 4-component vector of float) -0:18 Pos_in: direct index for structure (temp 4-component vector of float) -0:18 'fn1_in' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:18 Pos_in: direct index for structure (temp 4-component vector of float Position) +0:18 'fn1_in' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) 0:18 Constant: 0:18 1 (const int) -0:18 Pos_out: direct index for structure (temp 4-component vector of float) -0:18 'fn1_out' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:18 Pos_out: direct index for structure (temp 4-component vector of float Position) +0:18 'fn1_out' (in structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) 0:18 Constant: 0:18 1 (const int) -0:22 Function Definition: main(struct-VS_INPUT-i1-vf4-i11; (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) +0:22 Function Definition: @main(struct-VS_INPUT-i1-vf4-i11; (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) 0:22 Function Parameters: 0:22 'vsin' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) 0:? Sequence @@ -123,84 +138,99 @@ Shader version: 450 0:25 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) 0:25 Constant: 0:25 0 (const int) -0:? 'x0_in' (layout(location=0 ) in int) +0:25 x0_in: direct index for structure (temp int) +0:25 'vsin' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:25 Constant: +0:25 0 (const int) 0:26 move second child to first child (temp 4-component vector of float) 0:26 Pos_out: direct index for structure (temp 4-component vector of float) 0:26 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) 0:26 Constant: 0:26 1 (const int) -0:? 'Pos_in' (in 4-component vector of float Position) +0:26 Pos_in: direct index for structure (temp 4-component vector of float) +0:26 'vsin' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:26 Constant: +0:26 1 (const int) 0:27 move second child to first child (temp int) 0:27 x1_out: direct index for structure (temp int) 0:27 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) 0:27 Constant: 0:27 2 (const int) -0:? 'x1_in' (layout(location=1 ) in int) +0:27 x1_in: direct index for structure (temp int) +0:27 'vsin' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:27 Constant: +0:27 2 (const int) 0:29 Function Call: Fn1(struct-VS_INPUT-i1-vf4-i11;struct-VS_OUTPUT-i1-vf4-i11; (temp void) -0:29 Comma (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) -0:29 Sequence -0:29 move second child to first child (temp int) -0:29 x0_in: direct index for structure (temp int) -0:29 'aggShadow' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) -0:29 Constant: -0:29 0 (const int) -0:? 'x0_in' (layout(location=0 ) in int) -0:29 move second child to first child (temp 4-component vector of float) -0:29 Pos_in: direct index for structure (temp 4-component vector of float) -0:29 'aggShadow' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) -0:29 Constant: -0:29 1 (const int) -0:? 'Pos_in' (in 4-component vector of float Position) -0:29 move second child to first child (temp int) -0:29 x1_in: direct index for structure (temp int) -0:29 'aggShadow' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) -0:29 Constant: -0:29 2 (const int) -0:? 'x1_in' (layout(location=1 ) in int) -0:29 'aggShadow' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:29 'vsin' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) 0:29 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) -0:31 Sequence -0:31 Sequence -0:31 move second child to first child (temp int) -0:31 x0_out: direct index for structure (temp int) -0:31 '@entryPointOutput' (layout(location=0 ) out structure{temp int x0_out, temp int x1_out}) -0:31 Constant: -0:31 0 (const int) -0:31 x0_out: direct index for structure (temp int) -0:31 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) -0:31 Constant: -0:31 0 (const int) -0:31 move second child to first child (temp 4-component vector of float) -0:? 'Pos_out' (out 4-component vector of float Position) -0:31 Pos_out: direct index for structure (temp 4-component vector of float) -0:31 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) -0:31 Constant: -0:31 1 (const int) -0:31 move second child to first child (temp int) -0:31 x1_out: direct index for structure (temp int) -0:31 '@entryPointOutput' (layout(location=0 ) out structure{temp int x0_out, temp int x1_out}) -0:31 Constant: -0:31 1 (const int) -0:31 x1_out: direct index for structure (temp int) -0:31 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) -0:31 Constant: -0:31 2 (const int) -0:31 Branch: Return +0:31 Branch: Return with expression +0:31 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:22 Function Definition: main( (temp void) +0:22 Function Parameters: +0:? Sequence +0:22 Sequence +0:22 move second child to first child (temp int) +0:22 x0_in: direct index for structure (temp int) +0:? 'vsin' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:22 Constant: +0:22 0 (const int) +0:? 'x0_in' (layout(location=0 ) in int) +0:22 move second child to first child (temp 4-component vector of float) +0:22 Pos_in: direct index for structure (temp 4-component vector of float) +0:? 'vsin' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:22 Constant: +0:22 1 (const int) +0:? 'Pos_in' (in 4-component vector of float Position) +0:22 move second child to first child (temp int) +0:22 x1_in: direct index for structure (temp int) +0:? 'vsin' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:22 Constant: +0:22 2 (const int) +0:? 'x1_in' (layout(location=1 ) in int) +0:22 Sequence +0:22 move second child to first child (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) +0:22 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) +0:22 Function Call: @main(struct-VS_INPUT-i1-vf4-i11; (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) +0:? 'vsin' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:22 move second child to first child (temp int) +0:22 x0_out: direct index for structure (temp int) +0:22 '@entryPointOutput' (layout(location=0 ) out structure{temp int x0_out, temp int x1_out}) +0:22 Constant: +0:22 0 (const int) +0:22 x0_out: direct index for structure (temp int) +0:22 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) +0:22 Constant: +0:22 0 (const int) +0:22 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput_Pos_out' (out 4-component vector of float Position) +0:22 Pos_out: direct index for structure (temp 4-component vector of float Position) +0:22 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) +0:22 Constant: +0:22 1 (const int) +0:22 move second child to first child (temp int) +0:22 x1_out: direct index for structure (temp int) +0:22 '@entryPointOutput' (layout(location=0 ) out structure{temp int x0_out, temp int x1_out}) +0:22 Constant: +0:22 1 (const int) +0:22 x1_out: direct index for structure (temp int) +0:22 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) +0:22 Constant: +0:22 2 (const int) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out structure{temp int x0_out, temp int x1_out}) 0:? 'x0_in' (layout(location=0 ) in int) 0:? 'Pos_in' (in 4-component vector of float Position) 0:? 'x1_in' (layout(location=1 ) in int) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos_out}) +0:? 'PerVertex_out' (out block{out 4-component vector of float Position @entryPointOutput_Pos_out}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 72 +// Id's are bound by 93 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" 28 33 37 56 62 71 + EntryPoint Vertex 4 "main" 62 66 69 78 84 92 Name 4 "main" Name 9 "VS_INPUT" MemberName 9(VS_INPUT) 0 "x0_in" @@ -213,32 +243,37 @@ Shader version: 450 Name 16 "Fn1(struct-VS_INPUT-i1-vf4-i11;struct-VS_OUTPUT-i1-vf4-i11;" Name 14 "fn1_in" Name 15 "fn1_out" - Name 25 "vsout" - Name 28 "x0_in" - Name 33 "Pos_in" - Name 37 "x1_in" - Name 40 "VS_INPUT" - MemberName 40(VS_INPUT) 0 "x0_in" - MemberName 40(VS_INPUT) 1 "Pos_in" - MemberName 40(VS_INPUT) 2 "x1_in" - Name 42 "aggShadow" - Name 49 "param" - Name 51 "param" - Name 54 "VS_OUTPUT" - MemberName 54(VS_OUTPUT) 0 "x0_out" - MemberName 54(VS_OUTPUT) 1 "x1_out" - Name 56 "@entryPointOutput" - Name 62 "Pos_out" - Name 69 "PerVertex_out" - MemberName 69(PerVertex_out) 0 "Pos_out" - Name 71 "PerVertex_out" - Decorate 28(x0_in) Location 0 - Decorate 33(Pos_in) BuiltIn Position - Decorate 37(x1_in) Location 1 - Decorate 56(@entryPointOutput) Location 0 - Decorate 62(Pos_out) BuiltIn Position - MemberDecorate 69(PerVertex_out) 0 BuiltIn Position - Decorate 69(PerVertex_out) Block + Name 20 "@main(struct-VS_INPUT-i1-vf4-i11;" + Name 19 "vsin" + Name 29 "VS_OUTPUT" + MemberName 29(VS_OUTPUT) 0 "x0_out" + MemberName 29(VS_OUTPUT) 1 "Pos_out" + MemberName 29(VS_OUTPUT) 2 "x1_out" + Name 31 "vsout" + Name 44 "param" + Name 46 "param" + Name 60 "vsin" + Name 62 "x0_in" + Name 66 "Pos_in" + Name 69 "x1_in" + Name 72 "flattenTemp" + Name 73 "param" + Name 76 "VS_OUTPUT" + MemberName 76(VS_OUTPUT) 0 "x0_out" + MemberName 76(VS_OUTPUT) 1 "x1_out" + Name 78 "@entryPointOutput" + Name 84 "@entryPointOutput_Pos_out" + Name 90 "PerVertex_out" + MemberName 90(PerVertex_out) 0 "@entryPointOutput_Pos_out" + Name 92 "PerVertex_out" + MemberDecorate 11(VS_OUTPUT) 1 BuiltIn Position + Decorate 62(x0_in) Location 0 + Decorate 66(Pos_in) BuiltIn Position + Decorate 69(x1_in) Location 1 + Decorate 78(@entryPointOutput) Location 0 + Decorate 84(@entryPointOutput_Pos_out) BuiltIn Position + MemberDecorate 90(PerVertex_out) 0 BuiltIn Position + Decorate 90(PerVertex_out) Block 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 @@ -249,77 +284,104 @@ Shader version: 450 11(VS_OUTPUT): TypeStruct 6(int) 8(fvec4) 6(int) 12: TypePointer Function 11(VS_OUTPUT) 13: TypeFunction 2 10(ptr) 12(ptr) - 18: 6(int) Constant 1 - 19: TypePointer Function 8(fvec4) - 26: 6(int) Constant 0 - 27: TypePointer Input 6(int) - 28(x0_in): 27(ptr) Variable Input - 30: TypePointer Function 6(int) - 32: TypePointer Input 8(fvec4) - 33(Pos_in): 32(ptr) Variable Input - 36: 6(int) Constant 2 - 37(x1_in): 27(ptr) Variable Input - 40(VS_INPUT): TypeStruct 6(int) 8(fvec4) 6(int) - 41: TypePointer Function 40(VS_INPUT) - 54(VS_OUTPUT): TypeStruct 6(int) 6(int) - 55: TypePointer Output 54(VS_OUTPUT) -56(@entryPointOutput): 55(ptr) Variable Output - 59: TypePointer Output 6(int) - 61: TypePointer Output 8(fvec4) - 62(Pos_out): 61(ptr) Variable Output -69(PerVertex_out): TypeStruct 8(fvec4) - 70: TypePointer Output 69(PerVertex_out) -71(PerVertex_out): 70(ptr) Variable Output + 18: TypeFunction 11(VS_OUTPUT) 10(ptr) + 22: 6(int) Constant 1 + 23: TypePointer Function 8(fvec4) + 29(VS_OUTPUT): TypeStruct 6(int) 8(fvec4) 6(int) + 30: TypePointer Function 29(VS_OUTPUT) + 32: 6(int) Constant 0 + 33: TypePointer Function 6(int) + 40: 6(int) Constant 2 + 61: TypePointer Input 6(int) + 62(x0_in): 61(ptr) Variable Input + 65: TypePointer Input 8(fvec4) + 66(Pos_in): 65(ptr) Variable Input + 69(x1_in): 61(ptr) Variable Input + 76(VS_OUTPUT): TypeStruct 6(int) 6(int) + 77: TypePointer Output 76(VS_OUTPUT) +78(@entryPointOutput): 77(ptr) Variable Output + 81: TypePointer Output 6(int) + 83: TypePointer Output 8(fvec4) +84(@entryPointOutput_Pos_out): 83(ptr) Variable Output +90(PerVertex_out): TypeStruct 8(fvec4) + 91: TypePointer Output 90(PerVertex_out) +92(PerVertex_out): 91(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 25(vsout): 12(ptr) Variable Function - 42(aggShadow): 41(ptr) Variable Function - 49(param): 41(ptr) Variable Function - 51(param): 12(ptr) Variable Function - 29: 6(int) Load 28(x0_in) - 31: 30(ptr) AccessChain 25(vsout) 26 - Store 31 29 - 34: 8(fvec4) Load 33(Pos_in) - 35: 19(ptr) AccessChain 25(vsout) 18 - Store 35 34 - 38: 6(int) Load 37(x1_in) - 39: 30(ptr) AccessChain 25(vsout) 36 - Store 39 38 - 43: 6(int) Load 28(x0_in) - 44: 30(ptr) AccessChain 42(aggShadow) 26 - Store 44 43 - 45: 8(fvec4) Load 33(Pos_in) - 46: 19(ptr) AccessChain 42(aggShadow) 18 - Store 46 45 - 47: 6(int) Load 37(x1_in) - 48: 30(ptr) AccessChain 42(aggShadow) 36 - Store 48 47 - 50:40(VS_INPUT) Load 42(aggShadow) - Store 49(param) 50 - 52:11(VS_OUTPUT) Load 25(vsout) - Store 51(param) 52 - 53: 2 FunctionCall 16(Fn1(struct-VS_INPUT-i1-vf4-i11;struct-VS_OUTPUT-i1-vf4-i11;) 49(param) 51(param) - 57: 30(ptr) AccessChain 25(vsout) 26 - 58: 6(int) Load 57 - 60: 59(ptr) AccessChain 56(@entryPointOutput) 26 - Store 60 58 - 63: 19(ptr) AccessChain 25(vsout) 18 - 64: 8(fvec4) Load 63 - Store 62(Pos_out) 64 - 65: 30(ptr) AccessChain 25(vsout) 36 - 66: 6(int) Load 65 - 67: 59(ptr) AccessChain 56(@entryPointOutput) 18 - Store 67 66 + 60(vsin): 10(ptr) Variable Function + 72(flattenTemp): 12(ptr) Variable Function + 73(param): 10(ptr) Variable Function + 63: 6(int) Load 62(x0_in) + 64: 33(ptr) AccessChain 60(vsin) 32 + Store 64 63 + 67: 8(fvec4) Load 66(Pos_in) + 68: 23(ptr) AccessChain 60(vsin) 22 + Store 68 67 + 70: 6(int) Load 69(x1_in) + 71: 33(ptr) AccessChain 60(vsin) 40 + Store 71 70 + 74: 9(VS_INPUT) Load 60(vsin) + Store 73(param) 74 + 75:11(VS_OUTPUT) FunctionCall 20(@main(struct-VS_INPUT-i1-vf4-i11;) 73(param) + Store 72(flattenTemp) 75 + 79: 33(ptr) AccessChain 72(flattenTemp) 32 + 80: 6(int) Load 79 + 82: 81(ptr) AccessChain 78(@entryPointOutput) 32 + Store 82 80 + 85: 23(ptr) AccessChain 72(flattenTemp) 22 + 86: 8(fvec4) Load 85 + Store 84(@entryPointOutput_Pos_out) 86 + 87: 33(ptr) AccessChain 72(flattenTemp) 40 + 88: 6(int) Load 87 + 89: 81(ptr) AccessChain 78(@entryPointOutput) 22 + Store 89 88 Return FunctionEnd 16(Fn1(struct-VS_INPUT-i1-vf4-i11;struct-VS_OUTPUT-i1-vf4-i11;): 2 Function None 13 14(fn1_in): 10(ptr) FunctionParameter 15(fn1_out): 12(ptr) FunctionParameter 17: Label - 20: 19(ptr) AccessChain 14(fn1_in) 18 - 21: 8(fvec4) Load 20 - 22: 19(ptr) AccessChain 15(fn1_out) 18 - 23: 8(fvec4) Load 22 - 24: 8(fvec4) FAdd 21 23 + 24: 23(ptr) AccessChain 14(fn1_in) 22 + 25: 8(fvec4) Load 24 + 26: 23(ptr) AccessChain 15(fn1_out) 22 + 27: 8(fvec4) Load 26 + 28: 8(fvec4) FAdd 25 27 Return FunctionEnd +20(@main(struct-VS_INPUT-i1-vf4-i11;):11(VS_OUTPUT) Function None 18 + 19(vsin): 10(ptr) FunctionParameter + 21: Label + 31(vsout): 30(ptr) Variable Function + 44(param): 10(ptr) Variable Function + 46(param): 30(ptr) Variable Function + 50: 12(ptr) Variable Function + 34: 33(ptr) AccessChain 19(vsin) 32 + 35: 6(int) Load 34 + 36: 33(ptr) AccessChain 31(vsout) 32 + Store 36 35 + 37: 23(ptr) AccessChain 19(vsin) 22 + 38: 8(fvec4) Load 37 + 39: 23(ptr) AccessChain 31(vsout) 22 + Store 39 38 + 41: 33(ptr) AccessChain 19(vsin) 40 + 42: 6(int) Load 41 + 43: 33(ptr) AccessChain 31(vsout) 40 + Store 43 42 + 45: 9(VS_INPUT) Load 19(vsin) + Store 44(param) 45 + 47:29(VS_OUTPUT) Load 31(vsout) + Store 46(param) 47 + 48: 2 FunctionCall 16(Fn1(struct-VS_INPUT-i1-vf4-i11;struct-VS_OUTPUT-i1-vf4-i11;) 44(param) 46(param) + 49:29(VS_OUTPUT) Load 31(vsout) + 51: 6(int) CompositeExtract 49 0 + 52: 33(ptr) AccessChain 50 32 + Store 52 51 + 53: 8(fvec4) CompositeExtract 49 1 + 54: 23(ptr) AccessChain 50 22 + Store 54 53 + 55: 6(int) CompositeExtract 49 2 + 56: 33(ptr) AccessChain 50 40 + Store 56 55 + 57:11(VS_OUTPUT) Load 50 + ReturnValue 57 + FunctionEnd diff --git a/Test/baseResults/hlsl.struct.split.nested.geom.out b/Test/baseResults/hlsl.struct.split.nested.geom.out index a1db67d9..11e235a4 100644 --- a/Test/baseResults/hlsl.struct.split.nested.geom.out +++ b/Test/baseResults/hlsl.struct.split.nested.geom.out @@ -5,7 +5,7 @@ max_vertices = 3 input primitive = triangles output primitive = triangle_strip 0:? Sequence -0:24 Function Definition: main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111; (temp void) +0:24 Function Definition: @main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111; (temp void) 0:24 Function Parameters: 0:24 'tin' (in 3-element array of structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc}) 0:24 'ts' (out structure{temp structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) @@ -35,46 +35,65 @@ output primitive = triangle_strip 0:? 5.000000 0:? 6.000000 0:30 Sequence -0:30 Sequence -0:30 move second child to first child (temp 4-component vector of float) -0:? 'ts_psIn_pos' (out 4-component vector of float Position) -0:30 pos: direct index for structure (temp 4-component vector of float) -0:30 psIn: direct index for structure (temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc}) -0:30 'o' (temp structure{temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) -0:30 Constant: -0:30 0 (const int) -0:30 Constant: -0:30 0 (const int) -0:30 move second child to first child (temp 2-component vector of float) -0:30 tc: direct index for structure (temp 2-component vector of float) -0:30 psIn: direct index for structure (temp structure{temp 2-component vector of float tc}) -0:30 'ts' (layout(location=0 ) out structure{temp structure{temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) -0:30 Constant: -0:30 0 (const int) -0:30 Constant: -0:30 0 (const int) -0:30 tc: direct index for structure (temp 2-component vector of float) -0:30 psIn: direct index for structure (temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc}) -0:30 'o' (temp structure{temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) -0:30 Constant: -0:30 0 (const int) -0:30 Constant: -0:30 1 (const int) -0:30 move second child to first child (temp structure{temp 2-element array of float m0_array, temp int m1}) -0:30 contains_no_builtin_io: direct index for structure (temp structure{temp 2-element array of float m0_array, temp int m1}) -0:30 'ts' (layout(location=0 ) out structure{temp structure{temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) -0:30 Constant: -0:30 1 (const int) -0:30 contains_no_builtin_io: direct index for structure (temp structure{temp 2-element array of float m0_array, temp int m1}) -0:30 'o' (temp structure{temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) -0:30 Constant: -0:30 1 (const int) +0:30 move second child to first child (temp structure{temp structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) +0:30 'ts' (out structure{temp structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) +0:30 'o' (temp structure{temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) 0:30 EmitVertex (temp void) +0:24 Function Definition: main( (temp void) +0:24 Function Parameters: +0:? Sequence +0:24 Sequence +0:24 move second child to first child (temp 2-component vector of float) +0:24 tc: direct index for structure (temp 2-component vector of float) +0:24 direct index (temp structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc}) +0:? 'tin' (temp 3-element array of structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc}) +0:24 Constant: +0:24 0 (const int) +0:24 Constant: +0:24 1 (const int) +0:24 tc: direct index for structure (temp 2-component vector of float) +0:24 direct index (layout(location=0 ) in structure{temp 2-component vector of float tc}) +0:24 'tin' (layout(location=0 ) in 3-element array of structure{temp 2-component vector of float tc}) +0:24 Constant: +0:24 0 (const int) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child (temp 2-component vector of float) +0:24 tc: direct index for structure (temp 2-component vector of float) +0:24 direct index (temp structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc}) +0:? 'tin' (temp 3-element array of structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc}) +0:24 Constant: +0:24 1 (const int) +0:24 Constant: +0:24 1 (const int) +0:24 tc: direct index for structure (temp 2-component vector of float) +0:24 direct index (layout(location=0 ) in structure{temp 2-component vector of float tc}) +0:24 'tin' (layout(location=0 ) in 3-element array of structure{temp 2-component vector of float tc}) +0:24 Constant: +0:24 1 (const int) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child (temp 2-component vector of float) +0:24 tc: direct index for structure (temp 2-component vector of float) +0:24 direct index (temp structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc}) +0:? 'tin' (temp 3-element array of structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc}) +0:24 Constant: +0:24 2 (const int) +0:24 Constant: +0:24 1 (const int) +0:24 tc: direct index for structure (temp 2-component vector of float) +0:24 direct index (layout(location=0 ) in structure{temp 2-component vector of float tc}) +0:24 'tin' (layout(location=0 ) in 3-element array of structure{temp 2-component vector of float tc}) +0:24 Constant: +0:24 2 (const int) +0:24 Constant: +0:24 0 (const int) +0:24 Function Call: @main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111; (temp void) +0:? 'tin' (temp 3-element array of structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc}) +0:? 'ts' (temp structure{temp structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) 0:? Linker Objects 0:? 'tin' (layout(location=0 ) in 3-element array of structure{temp 2-component vector of float tc}) -0:? 'ts' (layout(location=0 ) out structure{temp structure{temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) 0:? 'PerVertex_in' (in 3-element array of block{in 4-component vector of float Position tin_pos}) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position ts_psIn_pos}) Linked geometry stage: @@ -86,7 +105,7 @@ max_vertices = 3 input primitive = triangles output primitive = triangle_strip 0:? Sequence -0:24 Function Definition: main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111; (temp void) +0:24 Function Definition: @main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111; (temp void) 0:24 Function Parameters: 0:24 'tin' (in 3-element array of structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc}) 0:24 'ts' (out structure{temp structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) @@ -116,55 +135,74 @@ output primitive = triangle_strip 0:? 5.000000 0:? 6.000000 0:30 Sequence -0:30 Sequence -0:30 move second child to first child (temp 4-component vector of float) -0:? 'ts_psIn_pos' (out 4-component vector of float Position) -0:30 pos: direct index for structure (temp 4-component vector of float) -0:30 psIn: direct index for structure (temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc}) -0:30 'o' (temp structure{temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) -0:30 Constant: -0:30 0 (const int) -0:30 Constant: -0:30 0 (const int) -0:30 move second child to first child (temp 2-component vector of float) -0:30 tc: direct index for structure (temp 2-component vector of float) -0:30 psIn: direct index for structure (temp structure{temp 2-component vector of float tc}) -0:30 'ts' (layout(location=0 ) out structure{temp structure{temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) -0:30 Constant: -0:30 0 (const int) -0:30 Constant: -0:30 0 (const int) -0:30 tc: direct index for structure (temp 2-component vector of float) -0:30 psIn: direct index for structure (temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc}) -0:30 'o' (temp structure{temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) -0:30 Constant: -0:30 0 (const int) -0:30 Constant: -0:30 1 (const int) -0:30 move second child to first child (temp structure{temp 2-element array of float m0_array, temp int m1}) -0:30 contains_no_builtin_io: direct index for structure (temp structure{temp 2-element array of float m0_array, temp int m1}) -0:30 'ts' (layout(location=0 ) out structure{temp structure{temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) -0:30 Constant: -0:30 1 (const int) -0:30 contains_no_builtin_io: direct index for structure (temp structure{temp 2-element array of float m0_array, temp int m1}) -0:30 'o' (temp structure{temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) -0:30 Constant: -0:30 1 (const int) +0:30 move second child to first child (temp structure{temp structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) +0:30 'ts' (out structure{temp structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) +0:30 'o' (temp structure{temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) 0:30 EmitVertex (temp void) +0:24 Function Definition: main( (temp void) +0:24 Function Parameters: +0:? Sequence +0:24 Sequence +0:24 move second child to first child (temp 2-component vector of float) +0:24 tc: direct index for structure (temp 2-component vector of float) +0:24 direct index (temp structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc}) +0:? 'tin' (temp 3-element array of structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc}) +0:24 Constant: +0:24 0 (const int) +0:24 Constant: +0:24 1 (const int) +0:24 tc: direct index for structure (temp 2-component vector of float) +0:24 direct index (layout(location=0 ) in structure{temp 2-component vector of float tc}) +0:24 'tin' (layout(location=0 ) in 3-element array of structure{temp 2-component vector of float tc}) +0:24 Constant: +0:24 0 (const int) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child (temp 2-component vector of float) +0:24 tc: direct index for structure (temp 2-component vector of float) +0:24 direct index (temp structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc}) +0:? 'tin' (temp 3-element array of structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc}) +0:24 Constant: +0:24 1 (const int) +0:24 Constant: +0:24 1 (const int) +0:24 tc: direct index for structure (temp 2-component vector of float) +0:24 direct index (layout(location=0 ) in structure{temp 2-component vector of float tc}) +0:24 'tin' (layout(location=0 ) in 3-element array of structure{temp 2-component vector of float tc}) +0:24 Constant: +0:24 1 (const int) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child (temp 2-component vector of float) +0:24 tc: direct index for structure (temp 2-component vector of float) +0:24 direct index (temp structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc}) +0:? 'tin' (temp 3-element array of structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc}) +0:24 Constant: +0:24 2 (const int) +0:24 Constant: +0:24 1 (const int) +0:24 tc: direct index for structure (temp 2-component vector of float) +0:24 direct index (layout(location=0 ) in structure{temp 2-component vector of float tc}) +0:24 'tin' (layout(location=0 ) in 3-element array of structure{temp 2-component vector of float tc}) +0:24 Constant: +0:24 2 (const int) +0:24 Constant: +0:24 0 (const int) +0:24 Function Call: @main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111; (temp void) +0:? 'tin' (temp 3-element array of structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc}) +0:? 'ts' (temp structure{temp structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) 0:? Linker Objects 0:? 'tin' (layout(location=0 ) in 3-element array of structure{temp 2-component vector of float tc}) -0:? 'ts' (layout(location=0 ) out structure{temp structure{temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) 0:? 'PerVertex_in' (in 3-element array of block{in 4-component vector of float Position tin_pos}) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position ts_psIn_pos}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 68 +// Id's are bound by 86 Capability Geometry 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Geometry 4 "main" 33 40 60 64 67 + EntryPoint Geometry 4 "main" 65 85 ExecutionMode 4 Triangles ExecutionMode 4 Invocations 1 ExecutionMode 4 OutputTriangleStrip @@ -173,39 +211,39 @@ output primitive = triangle_strip Name 9 "PS_IN" MemberName 9(PS_IN) 0 "pos" MemberName 9(PS_IN) 1 "tc" - Name 14 "STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO" - MemberName 14(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 0 "m0_array" - MemberName 14(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 1 "m1" - Name 15 "GS_OUT" - MemberName 15(GS_OUT) 0 "psIn" - MemberName 15(GS_OUT) 1 "contains_no_builtin_io" - Name 17 "o" - Name 33 "ts_psIn_pos" - Name 36 "PS_IN" - MemberName 36(PS_IN) 0 "tc" - Name 37 "STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO" - MemberName 37(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 0 "m0_array" - MemberName 37(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 1 "m1" - Name 38 "GS_OUT" - MemberName 38(GS_OUT) 0 "psIn" - MemberName 38(GS_OUT) 1 "contains_no_builtin_io" - Name 40 "ts" - Name 56 "PS_IN" - MemberName 56(PS_IN) 0 "tc" - Name 60 "tin" - Name 61 "PerVertex_in" - MemberName 61(PerVertex_in) 0 "tin_pos" - Name 64 "PerVertex_in" - Name 65 "PerVertex_out" - MemberName 65(PerVertex_out) 0 "ts_psIn_pos" - Name 67 "PerVertex_out" - Decorate 33(ts_psIn_pos) BuiltIn Position - Decorate 40(ts) Location 0 - Decorate 60(tin) Location 0 - MemberDecorate 61(PerVertex_in) 0 BuiltIn Position - Decorate 61(PerVertex_in) Block - MemberDecorate 65(PerVertex_out) 0 BuiltIn Position - Decorate 65(PerVertex_out) Block + Name 17 "STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO" + MemberName 17(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 0 "m0_array" + MemberName 17(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 1 "m1" + Name 18 "GS_OUT" + MemberName 18(GS_OUT) 0 "psIn" + MemberName 18(GS_OUT) 1 "contains_no_builtin_io" + Name 23 "@main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111;" + Name 21 "tin" + Name 22 "ts" + Name 25 "PS_IN" + MemberName 25(PS_IN) 0 "pos" + MemberName 25(PS_IN) 1 "tc" + Name 26 "STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO" + MemberName 26(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 0 "m0_array" + MemberName 26(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 1 "m1" + Name 27 "GS_OUT" + MemberName 27(GS_OUT) 0 "psIn" + MemberName 27(GS_OUT) 1 "contains_no_builtin_io" + Name 29 "o" + Name 61 "tin" + Name 62 "PS_IN" + MemberName 62(PS_IN) 0 "tc" + Name 65 "tin" + Name 77 "ts" + Name 78 "param" + Name 80 "param" + Name 82 "PerVertex_in" + MemberName 82(PerVertex_in) 0 "tin_pos" + Name 85 "PerVertex_in" + MemberDecorate 9(PS_IN) 0 BuiltIn Position + Decorate 65(tin) Location 0 + MemberDecorate 82(PerVertex_in) 0 BuiltIn Position + Decorate 82(PerVertex_in) Block 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -213,71 +251,95 @@ output primitive = triangle_strip 8: TypeVector 6(float) 2 9(PS_IN): TypeStruct 7(fvec4) 8(fvec2) 10: TypeInt 32 0 - 11: 10(int) Constant 2 - 12: TypeArray 6(float) 11 - 13: TypeInt 32 1 -14(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO): TypeStruct 12 13(int) - 15(GS_OUT): TypeStruct 9(PS_IN) 14(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) - 16: TypePointer Function 15(GS_OUT) - 18: 13(int) Constant 0 - 19: 6(float) Constant 1065353216 - 20: 6(float) Constant 1073741824 - 21: 6(float) Constant 1077936128 - 22: 6(float) Constant 1082130432 - 23: 7(fvec4) ConstantComposite 19 20 21 22 - 24: TypePointer Function 7(fvec4) - 26: 13(int) Constant 1 - 27: 6(float) Constant 1084227584 - 28: 6(float) Constant 1086324736 - 29: 8(fvec2) ConstantComposite 27 28 - 30: TypePointer Function 8(fvec2) - 32: TypePointer Output 7(fvec4) - 33(ts_psIn_pos): 32(ptr) Variable Output - 36(PS_IN): TypeStruct 8(fvec2) -37(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO): TypeStruct 12 13(int) - 38(GS_OUT): TypeStruct 36(PS_IN) 37(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) - 39: TypePointer Output 38(GS_OUT) - 40(ts): 39(ptr) Variable Output - 43: TypePointer Output 8(fvec2) - 45: TypePointer Function 14(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) - 48: TypePointer Output 37(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) - 51: TypePointer Output 12 - 54: TypePointer Output 13(int) - 56(PS_IN): TypeStruct 8(fvec2) - 57: 10(int) Constant 3 - 58: TypeArray 56(PS_IN) 57 - 59: TypePointer Input 58 - 60(tin): 59(ptr) Variable Input -61(PerVertex_in): TypeStruct 7(fvec4) - 62: TypeArray 61(PerVertex_in) 57 - 63: TypePointer Input 62 -64(PerVertex_in): 63(ptr) Variable Input -65(PerVertex_out): TypeStruct 7(fvec4) - 66: TypePointer Output 65(PerVertex_out) -67(PerVertex_out): 66(ptr) Variable Output + 11: 10(int) Constant 3 + 12: TypeArray 9(PS_IN) 11 + 13: TypePointer Function 12 + 14: 10(int) Constant 2 + 15: TypeArray 6(float) 14 + 16: TypeInt 32 1 +17(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO): TypeStruct 15 16(int) + 18(GS_OUT): TypeStruct 9(PS_IN) 17(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) + 19: TypePointer Function 18(GS_OUT) + 20: TypeFunction 2 13(ptr) 19(ptr) + 25(PS_IN): TypeStruct 7(fvec4) 8(fvec2) +26(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO): TypeStruct 15 16(int) + 27(GS_OUT): TypeStruct 25(PS_IN) 26(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) + 28: TypePointer Function 27(GS_OUT) + 30: 16(int) Constant 0 + 31: 6(float) Constant 1065353216 + 32: 6(float) Constant 1073741824 + 33: 6(float) Constant 1077936128 + 34: 6(float) Constant 1082130432 + 35: 7(fvec4) ConstantComposite 31 32 33 34 + 36: TypePointer Function 7(fvec4) + 38: 16(int) Constant 1 + 39: 6(float) Constant 1084227584 + 40: 6(float) Constant 1086324736 + 41: 8(fvec2) ConstantComposite 39 40 + 42: TypePointer Function 8(fvec2) + 46: TypePointer Function 9(PS_IN) + 53: TypePointer Function 17(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) + 56: TypePointer Function 15 + 59: TypePointer Function 16(int) + 62(PS_IN): TypeStruct 8(fvec2) + 63: TypeArray 62(PS_IN) 11 + 64: TypePointer Input 63 + 65(tin): 64(ptr) Variable Input + 66: TypePointer Input 8(fvec2) + 73: 16(int) Constant 2 +82(PerVertex_in): TypeStruct 7(fvec4) + 83: TypeArray 82(PerVertex_in) 11 + 84: TypePointer Input 83 +85(PerVertex_in): 84(ptr) Variable Input 4(main): 2 Function None 3 5: Label - 17(o): 16(ptr) Variable Function - 25: 24(ptr) AccessChain 17(o) 18 18 - Store 25 23 - 31: 30(ptr) AccessChain 17(o) 18 26 - Store 31 29 - 34: 24(ptr) AccessChain 17(o) 18 18 - 35: 7(fvec4) Load 34 - Store 33(ts_psIn_pos) 35 - 41: 30(ptr) AccessChain 17(o) 18 26 - 42: 8(fvec2) Load 41 - 44: 43(ptr) AccessChain 40(ts) 18 18 - Store 44 42 - 46: 45(ptr) AccessChain 17(o) 26 - 47:14(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) Load 46 - 49: 48(ptr) AccessChain 40(ts) 26 - 50: 12 CompositeExtract 47 0 - 52: 51(ptr) AccessChain 49 18 - Store 52 50 - 53: 13(int) CompositeExtract 47 1 - 55: 54(ptr) AccessChain 49 26 - Store 55 53 + 61(tin): 13(ptr) Variable Function + 77(ts): 19(ptr) Variable Function + 78(param): 13(ptr) Variable Function + 80(param): 19(ptr) Variable Function + 67: 66(ptr) AccessChain 65(tin) 30 30 + 68: 8(fvec2) Load 67 + 69: 42(ptr) AccessChain 61(tin) 30 38 + Store 69 68 + 70: 66(ptr) AccessChain 65(tin) 38 30 + 71: 8(fvec2) Load 70 + 72: 42(ptr) AccessChain 61(tin) 38 38 + Store 72 71 + 74: 66(ptr) AccessChain 65(tin) 73 30 + 75: 8(fvec2) Load 74 + 76: 42(ptr) AccessChain 61(tin) 73 38 + Store 76 75 + 79: 12 Load 61(tin) + Store 78(param) 79 + 81: 2 FunctionCall 23(@main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111;) 78(param) 80(param) + Return + FunctionEnd +23(@main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111;): 2 Function None 20 + 21(tin): 13(ptr) FunctionParameter + 22(ts): 19(ptr) FunctionParameter + 24: Label + 29(o): 28(ptr) Variable Function + 37: 36(ptr) AccessChain 29(o) 30 30 + Store 37 35 + 43: 42(ptr) AccessChain 29(o) 30 38 + Store 43 41 + 44: 27(GS_OUT) Load 29(o) + 45: 25(PS_IN) CompositeExtract 44 0 + 47: 46(ptr) AccessChain 22(ts) 30 + 48: 7(fvec4) CompositeExtract 45 0 + 49: 36(ptr) AccessChain 47 30 + Store 49 48 + 50: 8(fvec2) CompositeExtract 45 1 + 51: 42(ptr) AccessChain 47 38 + Store 51 50 + 52:26(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) CompositeExtract 44 1 + 54: 53(ptr) AccessChain 22(ts) 38 + 55: 15 CompositeExtract 52 0 + 57: 56(ptr) AccessChain 54 30 + Store 57 55 + 58: 16(int) CompositeExtract 52 1 + 60: 59(ptr) AccessChain 54 38 + Store 60 58 EmitVertex Return FunctionEnd diff --git a/Test/baseResults/hlsl.struct.split.trivial.vert.out b/Test/baseResults/hlsl.struct.split.trivial.vert.out index 29fb9f50..e445f1f5 100644 --- a/Test/baseResults/hlsl.struct.split.trivial.vert.out +++ b/Test/baseResults/hlsl.struct.split.trivial.vert.out @@ -1,7 +1,7 @@ hlsl.struct.split.trivial.vert Shader version: 450 0:? Sequence -0:16 Function Definition: main(struct-VS_INPUT-vf41;vf4; (temp structure{temp 4-component vector of float Position Pos}) +0:16 Function Definition: @main(struct-VS_INPUT-vf41;vf4; (temp structure{temp 4-component vector of float Position Pos}) 0:16 Function Parameters: 0:16 'vsin' (in structure{temp 4-component vector of float Pos_in}) 0:16 'Pos_loose' (in 4-component vector of float Position) @@ -12,21 +12,39 @@ Shader version: 450 0:19 Constant: 0:19 0 (const int) 0:19 add (temp 4-component vector of float) -0:? 'Pos_in' (in 4-component vector of float Position) +0:19 Pos_in: direct index for structure (temp 4-component vector of float) +0:19 'vsin' (in structure{temp 4-component vector of float Pos_in}) +0:19 Constant: +0:19 0 (const int) 0:19 'Pos_loose' (in 4-component vector of float Position) -0:21 Sequence -0:21 Sequence -0:21 move second child to first child (temp 4-component vector of float) -0:? 'Pos' (out 4-component vector of float Position) -0:21 Pos: direct index for structure (temp 4-component vector of float) -0:21 'vsout' (temp structure{temp 4-component vector of float Pos}) -0:21 Constant: -0:21 0 (const int) -0:21 Branch: Return +0:21 Branch: Return with expression +0:21 'vsout' (temp structure{temp 4-component vector of float Pos}) +0:16 Function Definition: main( (temp void) +0:16 Function Parameters: +0:? Sequence +0:16 Sequence +0:16 move second child to first child (temp 4-component vector of float) +0:16 Pos_in: direct index for structure (temp 4-component vector of float) +0:? 'vsin' (temp structure{temp 4-component vector of float Pos_in}) +0:16 Constant: +0:16 0 (const int) +0:? 'Pos_in' (in 4-component vector of float Position) +0:16 move second child to first child (temp 4-component vector of float) +0:? 'Pos_loose' (temp 4-component vector of float) +0:? 'Pos_loose' (in 4-component vector of float Position) +0:16 Sequence +0:16 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput_Pos' (out 4-component vector of float Position) +0:16 Pos: direct index for structure (temp 4-component vector of float Position) +0:16 Function Call: @main(struct-VS_INPUT-vf41;vf4; (temp structure{temp 4-component vector of float Position Pos}) +0:? 'vsin' (temp structure{temp 4-component vector of float Pos_in}) +0:? 'Pos_loose' (temp 4-component vector of float) +0:16 Constant: +0:16 0 (const int) 0:? Linker Objects 0:? 'Pos_in' (in 4-component vector of float Position) 0:? 'Pos_loose' (in 4-component vector of float Position) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos}) +0:? 'PerVertex_out' (out block{out 4-component vector of float Position @entryPointOutput_Pos}) Linked vertex stage: @@ -34,7 +52,7 @@ Linked vertex stage: Shader version: 450 0:? Sequence -0:16 Function Definition: main(struct-VS_INPUT-vf41;vf4; (temp structure{temp 4-component vector of float Position Pos}) +0:16 Function Definition: @main(struct-VS_INPUT-vf41;vf4; (temp structure{temp 4-component vector of float Position Pos}) 0:16 Function Parameters: 0:16 'vsin' (in structure{temp 4-component vector of float Pos_in}) 0:16 'Pos_loose' (in 4-component vector of float Position) @@ -45,72 +63,133 @@ Shader version: 450 0:19 Constant: 0:19 0 (const int) 0:19 add (temp 4-component vector of float) -0:? 'Pos_in' (in 4-component vector of float Position) +0:19 Pos_in: direct index for structure (temp 4-component vector of float) +0:19 'vsin' (in structure{temp 4-component vector of float Pos_in}) +0:19 Constant: +0:19 0 (const int) 0:19 'Pos_loose' (in 4-component vector of float Position) -0:21 Sequence -0:21 Sequence -0:21 move second child to first child (temp 4-component vector of float) -0:? 'Pos' (out 4-component vector of float Position) -0:21 Pos: direct index for structure (temp 4-component vector of float) -0:21 'vsout' (temp structure{temp 4-component vector of float Pos}) -0:21 Constant: -0:21 0 (const int) -0:21 Branch: Return +0:21 Branch: Return with expression +0:21 'vsout' (temp structure{temp 4-component vector of float Pos}) +0:16 Function Definition: main( (temp void) +0:16 Function Parameters: +0:? Sequence +0:16 Sequence +0:16 move second child to first child (temp 4-component vector of float) +0:16 Pos_in: direct index for structure (temp 4-component vector of float) +0:? 'vsin' (temp structure{temp 4-component vector of float Pos_in}) +0:16 Constant: +0:16 0 (const int) +0:? 'Pos_in' (in 4-component vector of float Position) +0:16 move second child to first child (temp 4-component vector of float) +0:? 'Pos_loose' (temp 4-component vector of float) +0:? 'Pos_loose' (in 4-component vector of float Position) +0:16 Sequence +0:16 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput_Pos' (out 4-component vector of float Position) +0:16 Pos: direct index for structure (temp 4-component vector of float Position) +0:16 Function Call: @main(struct-VS_INPUT-vf41;vf4; (temp structure{temp 4-component vector of float Position Pos}) +0:? 'vsin' (temp structure{temp 4-component vector of float Pos_in}) +0:? 'Pos_loose' (temp 4-component vector of float) +0:16 Constant: +0:16 0 (const int) 0:? Linker Objects 0:? 'Pos_in' (in 4-component vector of float Position) 0:? 'Pos_loose' (in 4-component vector of float Position) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos}) +0:? 'PerVertex_out' (out block{out 4-component vector of float Position @entryPointOutput_Pos}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 29 +// Id's are bound by 54 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" 14 16 22 28 + EntryPoint Vertex 4 "main" 37 41 44 53 Name 4 "main" - Name 8 "VS_OUTPUT" - MemberName 8(VS_OUTPUT) 0 "Pos" - Name 10 "vsout" - Name 14 "Pos_in" - Name 16 "Pos_loose" - Name 22 "Pos" - Name 26 "PerVertex_out" - MemberName 26(PerVertex_out) 0 "Pos" - Name 28 "PerVertex_out" - Decorate 14(Pos_in) BuiltIn Position - Decorate 16(Pos_loose) BuiltIn Position - Decorate 22(Pos) BuiltIn Position - MemberDecorate 26(PerVertex_out) 0 BuiltIn Position - Decorate 26(PerVertex_out) Block + Name 8 "VS_INPUT" + MemberName 8(VS_INPUT) 0 "Pos_in" + Name 11 "VS_OUTPUT" + MemberName 11(VS_OUTPUT) 0 "Pos" + Name 15 "@main(struct-VS_INPUT-vf41;vf4;" + Name 13 "vsin" + Name 14 "Pos_loose" + Name 17 "VS_OUTPUT" + MemberName 17(VS_OUTPUT) 0 "Pos" + Name 19 "vsout" + Name 35 "vsin" + Name 37 "Pos_in" + Name 40 "Pos_loose" + Name 41 "Pos_loose" + Name 44 "@entryPointOutput_Pos" + Name 45 "param" + Name 47 "param" + Name 51 "PerVertex_out" + MemberName 51(PerVertex_out) 0 "@entryPointOutput_Pos" + Name 53 "PerVertex_out" + MemberDecorate 11(VS_OUTPUT) 0 BuiltIn Position + Decorate 37(Pos_in) BuiltIn Position + Decorate 41(Pos_loose) BuiltIn Position + Decorate 44(@entryPointOutput_Pos) BuiltIn Position + MemberDecorate 51(PerVertex_out) 0 BuiltIn Position + Decorate 51(PerVertex_out) Block 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8(VS_OUTPUT): TypeStruct 7(fvec4) - 9: TypePointer Function 8(VS_OUTPUT) - 11: TypeInt 32 1 - 12: 11(int) Constant 0 - 13: TypePointer Input 7(fvec4) - 14(Pos_in): 13(ptr) Variable Input - 16(Pos_loose): 13(ptr) Variable Input - 19: TypePointer Function 7(fvec4) - 21: TypePointer Output 7(fvec4) - 22(Pos): 21(ptr) Variable Output -26(PerVertex_out): TypeStruct 7(fvec4) - 27: TypePointer Output 26(PerVertex_out) -28(PerVertex_out): 27(ptr) Variable Output + 8(VS_INPUT): TypeStruct 7(fvec4) + 9: TypePointer Function 8(VS_INPUT) + 10: TypePointer Function 7(fvec4) + 11(VS_OUTPUT): TypeStruct 7(fvec4) + 12: TypeFunction 11(VS_OUTPUT) 9(ptr) 10(ptr) + 17(VS_OUTPUT): TypeStruct 7(fvec4) + 18: TypePointer Function 17(VS_OUTPUT) + 20: TypeInt 32 1 + 21: 20(int) Constant 0 + 28: TypePointer Function 11(VS_OUTPUT) + 36: TypePointer Input 7(fvec4) + 37(Pos_in): 36(ptr) Variable Input + 41(Pos_loose): 36(ptr) Variable Input + 43: TypePointer Output 7(fvec4) +44(@entryPointOutput_Pos): 43(ptr) Variable Output +51(PerVertex_out): TypeStruct 7(fvec4) + 52: TypePointer Output 51(PerVertex_out) +53(PerVertex_out): 52(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 10(vsout): 9(ptr) Variable Function - 15: 7(fvec4) Load 14(Pos_in) - 17: 7(fvec4) Load 16(Pos_loose) - 18: 7(fvec4) FAdd 15 17 - 20: 19(ptr) AccessChain 10(vsout) 12 - Store 20 18 - 23: 19(ptr) AccessChain 10(vsout) 12 - 24: 7(fvec4) Load 23 - Store 22(Pos) 24 + 35(vsin): 9(ptr) Variable Function + 40(Pos_loose): 10(ptr) Variable Function + 45(param): 9(ptr) Variable Function + 47(param): 10(ptr) Variable Function + 38: 7(fvec4) Load 37(Pos_in) + 39: 10(ptr) AccessChain 35(vsin) 21 + Store 39 38 + 42: 7(fvec4) Load 41(Pos_loose) + Store 40(Pos_loose) 42 + 46: 8(VS_INPUT) Load 35(vsin) + Store 45(param) 46 + 48: 7(fvec4) Load 40(Pos_loose) + Store 47(param) 48 + 49:11(VS_OUTPUT) FunctionCall 15(@main(struct-VS_INPUT-vf41;vf4;) 45(param) 47(param) + 50: 7(fvec4) CompositeExtract 49 0 + Store 44(@entryPointOutput_Pos) 50 Return FunctionEnd +15(@main(struct-VS_INPUT-vf41;vf4;):11(VS_OUTPUT) Function None 12 + 13(vsin): 9(ptr) FunctionParameter + 14(Pos_loose): 10(ptr) FunctionParameter + 16: Label + 19(vsout): 18(ptr) Variable Function + 29: 28(ptr) Variable Function + 22: 10(ptr) AccessChain 13(vsin) 21 + 23: 7(fvec4) Load 22 + 24: 7(fvec4) Load 14(Pos_loose) + 25: 7(fvec4) FAdd 23 24 + 26: 10(ptr) AccessChain 19(vsout) 21 + Store 26 25 + 27:17(VS_OUTPUT) Load 19(vsout) + 30: 7(fvec4) CompositeExtract 27 0 + 31: 10(ptr) AccessChain 29 21 + Store 31 30 + 32:11(VS_OUTPUT) Load 29 + ReturnValue 32 + FunctionEnd diff --git a/Test/baseResults/hlsl.structarray.flatten.frag.out b/Test/baseResults/hlsl.structarray.flatten.frag.out index 6b22d663..ba36227e 100644 --- a/Test/baseResults/hlsl.structarray.flatten.frag.out +++ b/Test/baseResults/hlsl.structarray.flatten.frag.out @@ -2,12 +2,15 @@ hlsl.structarray.flatten.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:23 Function Definition: main(struct-PS_OUTPUT-vf41; (temp void) +0:23 Function Definition: @main(struct-PS_OUTPUT-vf41; (temp void) 0:23 Function Parameters: 0:23 'ps_output' (out structure{temp 4-component vector of float color}) 0:? Sequence 0:24 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:24 color: direct index for structure (temp 4-component vector of float) +0:24 'ps_output' (out structure{temp 4-component vector of float color}) +0:24 Constant: +0:24 0 (const int) 0:26 add (temp 4-component vector of float) 0:25 add (temp 4-component vector of float) 0:25 texture (temp 4-component vector of float) @@ -28,8 +31,19 @@ gl_FragCoord origin is upper left 0:? 'g_texdata_array2[1].samp[0]' (uniform sampler) 0:27 Constant: 0:27 0.300000 +0:23 Function Definition: main( (temp void) +0:23 Function Parameters: +0:? Sequence +0:23 Function Call: @main(struct-PS_OUTPUT-vf41; (temp void) +0:? 'ps_output' (temp structure{temp 4-component vector of float color}) +0:23 Sequence +0:23 move second child to first child (temp 4-component vector of float) +0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:23 color: direct index for structure (temp 4-component vector of float) +0:? 'ps_output' (temp structure{temp 4-component vector of float color}) +0:23 Constant: +0:23 0 (const int) 0:? Linker Objects -0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:? 'g_samp' (uniform sampler) 0:? 'g_tex' (uniform texture1D) 0:? 'g_texdata_array2[0].samp[0]' (uniform sampler) @@ -44,6 +58,7 @@ gl_FragCoord origin is upper left 0:? 'g_texdata_array2[2].samp[1]' (uniform sampler) 0:? 'g_texdata_array2[2].tex[0]' (uniform texture1D) 0:? 'g_texdata_array2[2].tex[1]' (uniform texture1D) +0:? 'color' (layout(location=0 ) out 4-component vector of float) Linked fragment stage: @@ -52,12 +67,15 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:23 Function Definition: main(struct-PS_OUTPUT-vf41; (temp void) +0:23 Function Definition: @main(struct-PS_OUTPUT-vf41; (temp void) 0:23 Function Parameters: 0:23 'ps_output' (out structure{temp 4-component vector of float color}) 0:? Sequence 0:24 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:24 color: direct index for structure (temp 4-component vector of float) +0:24 'ps_output' (out structure{temp 4-component vector of float color}) +0:24 Constant: +0:24 0 (const int) 0:26 add (temp 4-component vector of float) 0:25 add (temp 4-component vector of float) 0:25 texture (temp 4-component vector of float) @@ -78,8 +96,19 @@ gl_FragCoord origin is upper left 0:? 'g_texdata_array2[1].samp[0]' (uniform sampler) 0:27 Constant: 0:27 0.300000 +0:23 Function Definition: main( (temp void) +0:23 Function Parameters: +0:? Sequence +0:23 Function Call: @main(struct-PS_OUTPUT-vf41; (temp void) +0:? 'ps_output' (temp structure{temp 4-component vector of float color}) +0:23 Sequence +0:23 move second child to first child (temp 4-component vector of float) +0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:23 color: direct index for structure (temp 4-component vector of float) +0:? 'ps_output' (temp structure{temp 4-component vector of float color}) +0:23 Constant: +0:23 0 (const int) 0:? Linker Objects -0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:? 'g_samp' (uniform sampler) 0:? 'g_tex' (uniform texture1D) 0:? 'g_texdata_array2[0].samp[0]' (uniform sampler) @@ -94,104 +123,131 @@ gl_FragCoord origin is upper left 0:? 'g_texdata_array2[2].samp[1]' (uniform sampler) 0:? 'g_texdata_array2[2].tex[0]' (uniform texture1D) 0:? 'g_texdata_array2[2].tex[1]' (uniform texture1D) +0:? 'color' (layout(location=0 ) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 50 +// Id's are bound by 66 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 9 + EntryPoint Fragment 4 "main" 51 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "color" - Name 12 "tex" - Name 16 "samp" - Name 22 "g_texdata_array[1].tex" - Name 24 "g_texdata_array[1].samp" - Name 30 "g_texdata_array2[1].tex[0]" - Name 32 "g_texdata_array2[1].samp[0]" - Name 38 "g_samp" - Name 39 "g_tex" - Name 40 "g_texdata_array2[0].samp[0]" - Name 41 "g_texdata_array2[0].samp[1]" - Name 42 "g_texdata_array2[0].tex[0]" - Name 43 "g_texdata_array2[0].tex[1]" - Name 44 "g_texdata_array2[1].samp[1]" - Name 45 "g_texdata_array2[1].tex[1]" - Name 46 "g_texdata_array2[2].samp[0]" - Name 47 "g_texdata_array2[2].samp[1]" - Name 48 "g_texdata_array2[2].tex[0]" - Name 49 "g_texdata_array2[2].tex[1]" - Decorate 9(color) Location 0 - Decorate 12(tex) DescriptorSet 0 - Decorate 16(samp) DescriptorSet 0 - Decorate 22(g_texdata_array[1].tex) DescriptorSet 0 - Decorate 24(g_texdata_array[1].samp) DescriptorSet 0 - Decorate 30(g_texdata_array2[1].tex[0]) DescriptorSet 0 - Decorate 32(g_texdata_array2[1].samp[0]) DescriptorSet 0 - Decorate 38(g_samp) DescriptorSet 0 - Decorate 39(g_tex) DescriptorSet 0 - Decorate 40(g_texdata_array2[0].samp[0]) DescriptorSet 0 - Decorate 41(g_texdata_array2[0].samp[1]) DescriptorSet 0 - Decorate 42(g_texdata_array2[0].tex[0]) DescriptorSet 0 - Decorate 43(g_texdata_array2[0].tex[1]) DescriptorSet 0 - Decorate 44(g_texdata_array2[1].samp[1]) DescriptorSet 0 - Decorate 45(g_texdata_array2[1].tex[1]) DescriptorSet 0 - Decorate 46(g_texdata_array2[2].samp[0]) DescriptorSet 0 - Decorate 47(g_texdata_array2[2].samp[1]) DescriptorSet 0 - Decorate 48(g_texdata_array2[2].tex[0]) DescriptorSet 0 - Decorate 49(g_texdata_array2[2].tex[1]) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "color" + Name 12 "@main(struct-PS_OUTPUT-vf41;" + Name 11 "ps_output" + Name 18 "tex" + Name 22 "samp" + Name 28 "g_texdata_array[1].tex" + Name 30 "g_texdata_array[1].samp" + Name 36 "g_texdata_array2[1].tex[0]" + Name 38 "g_texdata_array2[1].samp[0]" + Name 46 "ps_output" + Name 47 "param" + Name 51 "color" + Name 54 "g_samp" + Name 55 "g_tex" + Name 56 "g_texdata_array2[0].samp[0]" + Name 57 "g_texdata_array2[0].samp[1]" + Name 58 "g_texdata_array2[0].tex[0]" + Name 59 "g_texdata_array2[0].tex[1]" + Name 60 "g_texdata_array2[1].samp[1]" + Name 61 "g_texdata_array2[1].tex[1]" + Name 62 "g_texdata_array2[2].samp[0]" + Name 63 "g_texdata_array2[2].samp[1]" + Name 64 "g_texdata_array2[2].tex[0]" + Name 65 "g_texdata_array2[2].tex[1]" + Decorate 18(tex) DescriptorSet 0 + Decorate 22(samp) DescriptorSet 0 + Decorate 28(g_texdata_array[1].tex) DescriptorSet 0 + Decorate 30(g_texdata_array[1].samp) DescriptorSet 0 + Decorate 36(g_texdata_array2[1].tex[0]) DescriptorSet 0 + Decorate 38(g_texdata_array2[1].samp[0]) DescriptorSet 0 + Decorate 51(color) Location 0 + Decorate 54(g_samp) DescriptorSet 0 + Decorate 55(g_tex) DescriptorSet 0 + Decorate 56(g_texdata_array2[0].samp[0]) DescriptorSet 0 + Decorate 57(g_texdata_array2[0].samp[1]) DescriptorSet 0 + Decorate 58(g_texdata_array2[0].tex[0]) DescriptorSet 0 + Decorate 59(g_texdata_array2[0].tex[1]) DescriptorSet 0 + Decorate 60(g_texdata_array2[1].samp[1]) DescriptorSet 0 + Decorate 61(g_texdata_array2[1].tex[1]) DescriptorSet 0 + Decorate 62(g_texdata_array2[2].samp[0]) DescriptorSet 0 + Decorate 63(g_texdata_array2[2].samp[1]) DescriptorSet 0 + Decorate 64(g_texdata_array2[2].tex[0]) DescriptorSet 0 + Decorate 65(g_texdata_array2[2].tex[1]) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Output 7(fvec4) - 9(color): 8(ptr) Variable Output - 10: TypeImage 6(float) 1D sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(tex): 11(ptr) Variable UniformConstant - 14: TypeSampler - 15: TypePointer UniformConstant 14 - 16(samp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: 6(float) Constant 1056964608 -22(g_texdata_array[1].tex): 11(ptr) Variable UniformConstant -24(g_texdata_array[1].samp): 15(ptr) Variable UniformConstant - 27: 6(float) Constant 1053609165 -30(g_texdata_array2[1].tex[0]): 11(ptr) Variable UniformConstant -32(g_texdata_array2[1].samp[0]): 15(ptr) Variable UniformConstant - 35: 6(float) Constant 1050253722 - 38(g_samp): 15(ptr) Variable UniformConstant - 39(g_tex): 11(ptr) Variable UniformConstant -40(g_texdata_array2[0].samp[0]): 15(ptr) Variable UniformConstant -41(g_texdata_array2[0].samp[1]): 15(ptr) Variable UniformConstant -42(g_texdata_array2[0].tex[0]): 11(ptr) Variable UniformConstant -43(g_texdata_array2[0].tex[1]): 11(ptr) Variable UniformConstant -44(g_texdata_array2[1].samp[1]): 15(ptr) Variable UniformConstant -45(g_texdata_array2[1].tex[1]): 11(ptr) Variable UniformConstant -46(g_texdata_array2[2].samp[0]): 15(ptr) Variable UniformConstant -47(g_texdata_array2[2].samp[1]): 15(ptr) Variable UniformConstant -48(g_texdata_array2[2].tex[0]): 11(ptr) Variable UniformConstant -49(g_texdata_array2[2].tex[1]): 11(ptr) Variable UniformConstant + 8(PS_OUTPUT): TypeStruct 7(fvec4) + 9: TypePointer Function 8(PS_OUTPUT) + 10: TypeFunction 2 9(ptr) + 14: TypeInt 32 1 + 15: 14(int) Constant 0 + 16: TypeImage 6(float) 1D sampled format:Unknown + 17: TypePointer UniformConstant 16 + 18(tex): 17(ptr) Variable UniformConstant + 20: TypeSampler + 21: TypePointer UniformConstant 20 + 22(samp): 21(ptr) Variable UniformConstant + 24: TypeSampledImage 16 + 26: 6(float) Constant 1056964608 +28(g_texdata_array[1].tex): 17(ptr) Variable UniformConstant +30(g_texdata_array[1].samp): 21(ptr) Variable UniformConstant + 33: 6(float) Constant 1053609165 +36(g_texdata_array2[1].tex[0]): 17(ptr) Variable UniformConstant +38(g_texdata_array2[1].samp[0]): 21(ptr) Variable UniformConstant + 41: 6(float) Constant 1050253722 + 44: TypePointer Function 7(fvec4) + 50: TypePointer Output 7(fvec4) + 51(color): 50(ptr) Variable Output + 54(g_samp): 21(ptr) Variable UniformConstant + 55(g_tex): 17(ptr) Variable UniformConstant +56(g_texdata_array2[0].samp[0]): 21(ptr) Variable UniformConstant +57(g_texdata_array2[0].samp[1]): 21(ptr) Variable UniformConstant +58(g_texdata_array2[0].tex[0]): 17(ptr) Variable UniformConstant +59(g_texdata_array2[0].tex[1]): 17(ptr) Variable UniformConstant +60(g_texdata_array2[1].samp[1]): 21(ptr) Variable UniformConstant +61(g_texdata_array2[1].tex[1]): 17(ptr) Variable UniformConstant +62(g_texdata_array2[2].samp[0]): 21(ptr) Variable UniformConstant +63(g_texdata_array2[2].samp[1]): 21(ptr) Variable UniformConstant +64(g_texdata_array2[2].tex[0]): 17(ptr) Variable UniformConstant +65(g_texdata_array2[2].tex[1]): 17(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 13: 10 Load 12(tex) - 17: 14 Load 16(samp) - 19: 18 SampledImage 13 17 - 21: 7(fvec4) ImageSampleImplicitLod 19 20 - 23: 10 Load 22(g_texdata_array[1].tex) - 25: 14 Load 24(g_texdata_array[1].samp) - 26: 18 SampledImage 23 25 - 28: 7(fvec4) ImageSampleImplicitLod 26 27 - 29: 7(fvec4) FAdd 21 28 - 31: 10 Load 30(g_texdata_array2[1].tex[0]) - 33: 14 Load 32(g_texdata_array2[1].samp[0]) - 34: 18 SampledImage 31 33 - 36: 7(fvec4) ImageSampleImplicitLod 34 35 - 37: 7(fvec4) FAdd 29 36 - Store 9(color) 37 + 46(ps_output): 9(ptr) Variable Function + 47(param): 9(ptr) Variable Function + 48: 2 FunctionCall 12(@main(struct-PS_OUTPUT-vf41;) 47(param) + 49:8(PS_OUTPUT) Load 47(param) + Store 46(ps_output) 49 + 52: 44(ptr) AccessChain 46(ps_output) 15 + 53: 7(fvec4) Load 52 + Store 51(color) 53 + Return + FunctionEnd +12(@main(struct-PS_OUTPUT-vf41;): 2 Function None 10 + 11(ps_output): 9(ptr) FunctionParameter + 13: Label + 19: 16 Load 18(tex) + 23: 20 Load 22(samp) + 25: 24 SampledImage 19 23 + 27: 7(fvec4) ImageSampleImplicitLod 25 26 + 29: 16 Load 28(g_texdata_array[1].tex) + 31: 20 Load 30(g_texdata_array[1].samp) + 32: 24 SampledImage 29 31 + 34: 7(fvec4) ImageSampleImplicitLod 32 33 + 35: 7(fvec4) FAdd 27 34 + 37: 16 Load 36(g_texdata_array2[1].tex[0]) + 39: 20 Load 38(g_texdata_array2[1].samp[0]) + 40: 24 SampledImage 37 39 + 42: 7(fvec4) ImageSampleImplicitLod 40 41 + 43: 7(fvec4) FAdd 35 42 + 45: 44(ptr) AccessChain 11(ps_output) 15 + Store 45 43 Return FunctionEnd diff --git a/Test/baseResults/hlsl.structarray.flatten.geom.out b/Test/baseResults/hlsl.structarray.flatten.geom.out index 626ab8dd..a7758699 100644 --- a/Test/baseResults/hlsl.structarray.flatten.geom.out +++ b/Test/baseResults/hlsl.structarray.flatten.geom.out @@ -5,9 +5,9 @@ max_vertices = 4 input primitive = lines output primitive = triangle_strip 0:? Sequence -0:16 Function Definition: main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21; (temp void) +0:16 Function Definition: @main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21; (temp void) 0:16 Function Parameters: -0:16 'vin' (layout(location=0 ) in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:16 'vin' (in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) 0:16 'outStream' (out structure{temp 4-component vector of float Position position, temp 4-component vector of float color, temp 2-component vector of float uv}) 0:? Sequence 0:19 move second child to first child (temp 4-component vector of float) @@ -16,8 +16,8 @@ output primitive = triangle_strip 0:19 Constant: 0:19 1 (const int) 0:19 color: direct index for structure (temp 4-component vector of float) -0:19 direct index (layout(location=0 ) temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) -0:19 'vin' (layout(location=0 ) in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:19 direct index (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:19 'vin' (in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) 0:19 Constant: 0:19 1 (const int) 0:19 Constant: @@ -28,8 +28,8 @@ output primitive = triangle_strip 0:20 Constant: 0:20 2 (const int) 0:20 uv: direct index for structure (temp 2-component vector of float) -0:20 direct index (layout(location=0 ) temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) -0:20 'vin' (layout(location=0 ) in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:20 direct index (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:20 'vin' (in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) 0:20 Constant: 0:20 1 (const int) 0:20 Constant: @@ -40,43 +40,28 @@ output primitive = triangle_strip 0:21 Constant: 0:21 0 (const int) 0:21 position: direct index for structure (temp 4-component vector of float) -0:21 direct index (layout(location=0 ) temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) -0:21 'vin' (layout(location=0 ) in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:21 direct index (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:21 'vin' (in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) 0:21 Constant: 0:21 1 (const int) 0:21 Constant: 0:21 0 (const int) 0:22 Sequence -0:22 Sequence -0:22 move second child to first child (temp 4-component vector of float) -0:? 'outStream_position' (out 4-component vector of float Position) -0:22 position: direct index for structure (temp 4-component vector of float) -0:22 'vout' (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) -0:22 Constant: -0:22 0 (const int) -0:22 move second child to first child (temp 4-component vector of float) -0:22 color: direct index for structure (temp 4-component vector of float) -0:22 'outStream' (layout(location=0 ) out structure{temp 4-component vector of float color, temp 2-component vector of float uv}) -0:22 Constant: -0:22 0 (const int) -0:22 color: direct index for structure (temp 4-component vector of float) -0:22 'vout' (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) -0:22 Constant: -0:22 1 (const int) -0:22 move second child to first child (temp 2-component vector of float) -0:22 uv: direct index for structure (temp 2-component vector of float) -0:22 'outStream' (layout(location=0 ) out structure{temp 4-component vector of float color, temp 2-component vector of float uv}) -0:22 Constant: -0:22 1 (const int) -0:22 uv: direct index for structure (temp 2-component vector of float) -0:22 'vout' (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) -0:22 Constant: -0:22 2 (const int) +0:22 move second child to first child (temp structure{temp 4-component vector of float Position position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:22 'outStream' (out structure{temp 4-component vector of float Position position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:22 'vout' (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) 0:22 EmitVertex (temp void) +0:16 Function Definition: main( (temp void) +0:16 Function Parameters: +0:? Sequence +0:16 move second child to first child (temp 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:? 'vin' (temp 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:? 'vin' (layout(location=0 ) in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:16 Function Call: @main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21; (temp void) +0:? 'vin' (temp 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:? 'outStream' (temp structure{temp 4-component vector of float Position position, temp 4-component vector of float color, temp 2-component vector of float uv}) 0:? Linker Objects 0:? 'vin' (layout(location=0 ) in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) -0:? 'outStream' (layout(location=0 ) out structure{temp 4-component vector of float color, temp 2-component vector of float uv}) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position outStream_position}) Linked geometry stage: @@ -88,9 +73,9 @@ max_vertices = 4 input primitive = lines output primitive = triangle_strip 0:? Sequence -0:16 Function Definition: main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21; (temp void) +0:16 Function Definition: @main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21; (temp void) 0:16 Function Parameters: -0:16 'vin' (layout(location=0 ) in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:16 'vin' (in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) 0:16 'outStream' (out structure{temp 4-component vector of float Position position, temp 4-component vector of float color, temp 2-component vector of float uv}) 0:? Sequence 0:19 move second child to first child (temp 4-component vector of float) @@ -99,8 +84,8 @@ output primitive = triangle_strip 0:19 Constant: 0:19 1 (const int) 0:19 color: direct index for structure (temp 4-component vector of float) -0:19 direct index (layout(location=0 ) temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) -0:19 'vin' (layout(location=0 ) in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:19 direct index (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:19 'vin' (in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) 0:19 Constant: 0:19 1 (const int) 0:19 Constant: @@ -111,8 +96,8 @@ output primitive = triangle_strip 0:20 Constant: 0:20 2 (const int) 0:20 uv: direct index for structure (temp 2-component vector of float) -0:20 direct index (layout(location=0 ) temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) -0:20 'vin' (layout(location=0 ) in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:20 direct index (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:20 'vin' (in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) 0:20 Constant: 0:20 1 (const int) 0:20 Constant: @@ -123,136 +108,128 @@ output primitive = triangle_strip 0:21 Constant: 0:21 0 (const int) 0:21 position: direct index for structure (temp 4-component vector of float) -0:21 direct index (layout(location=0 ) temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) -0:21 'vin' (layout(location=0 ) in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:21 direct index (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:21 'vin' (in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) 0:21 Constant: 0:21 1 (const int) 0:21 Constant: 0:21 0 (const int) 0:22 Sequence -0:22 Sequence -0:22 move second child to first child (temp 4-component vector of float) -0:? 'outStream_position' (out 4-component vector of float Position) -0:22 position: direct index for structure (temp 4-component vector of float) -0:22 'vout' (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) -0:22 Constant: -0:22 0 (const int) -0:22 move second child to first child (temp 4-component vector of float) -0:22 color: direct index for structure (temp 4-component vector of float) -0:22 'outStream' (layout(location=0 ) out structure{temp 4-component vector of float color, temp 2-component vector of float uv}) -0:22 Constant: -0:22 0 (const int) -0:22 color: direct index for structure (temp 4-component vector of float) -0:22 'vout' (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) -0:22 Constant: -0:22 1 (const int) -0:22 move second child to first child (temp 2-component vector of float) -0:22 uv: direct index for structure (temp 2-component vector of float) -0:22 'outStream' (layout(location=0 ) out structure{temp 4-component vector of float color, temp 2-component vector of float uv}) -0:22 Constant: -0:22 1 (const int) -0:22 uv: direct index for structure (temp 2-component vector of float) -0:22 'vout' (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) -0:22 Constant: -0:22 2 (const int) +0:22 move second child to first child (temp structure{temp 4-component vector of float Position position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:22 'outStream' (out structure{temp 4-component vector of float Position position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:22 'vout' (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) 0:22 EmitVertex (temp void) +0:16 Function Definition: main( (temp void) +0:16 Function Parameters: +0:? Sequence +0:16 move second child to first child (temp 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:? 'vin' (temp 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:? 'vin' (layout(location=0 ) in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:16 Function Call: @main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21; (temp void) +0:? 'vin' (temp 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:? 'outStream' (temp structure{temp 4-component vector of float Position position, temp 4-component vector of float color, temp 2-component vector of float uv}) 0:? Linker Objects 0:? 'vin' (layout(location=0 ) in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) -0:? 'outStream' (layout(location=0 ) out structure{temp 4-component vector of float color, temp 2-component vector of float uv}) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position outStream_position}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 52 +// Id's are bound by 55 Capability Geometry 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Geometry 4 "main" 19 36 41 51 + EntryPoint Geometry 4 "main" 48 ExecutionMode 4 InputLines ExecutionMode 4 Invocations 1 ExecutionMode 4 OutputTriangleStrip ExecutionMode 4 OutputVertices 4 Name 4 "main" - Name 9 "PS_IN" - MemberName 9(PS_IN) 0 "position" - MemberName 9(PS_IN) 1 "color" - MemberName 9(PS_IN) 2 "uv" - Name 11 "vout" - Name 14 "VertexData" - MemberName 14(VertexData) 0 "position" - MemberName 14(VertexData) 1 "color" - MemberName 14(VertexData) 2 "uv" - Name 19 "vin" - Name 36 "outStream_position" - Name 39 "PS_IN" - MemberName 39(PS_IN) 0 "color" - MemberName 39(PS_IN) 1 "uv" - Name 41 "outStream" - Name 49 "PerVertex_out" - MemberName 49(PerVertex_out) 0 "outStream_position" - Name 51 "PerVertex_out" - Decorate 19(vin) Location 0 - Decorate 36(outStream_position) BuiltIn Position - Decorate 41(outStream) Location 0 - MemberDecorate 49(PerVertex_out) 0 BuiltIn Position - Decorate 49(PerVertex_out) Block + Name 9 "VertexData" + MemberName 9(VertexData) 0 "position" + MemberName 9(VertexData) 1 "color" + MemberName 9(VertexData) 2 "uv" + Name 14 "PS_IN" + MemberName 14(PS_IN) 0 "position" + MemberName 14(PS_IN) 1 "color" + MemberName 14(PS_IN) 2 "uv" + Name 19 "@main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21;" + Name 17 "vin" + Name 18 "outStream" + Name 21 "PS_IN" + MemberName 21(PS_IN) 0 "position" + MemberName 21(PS_IN) 1 "color" + MemberName 21(PS_IN) 2 "uv" + Name 23 "vout" + Name 46 "vin" + Name 48 "vin" + Name 50 "outStream" + Name 51 "param" + Name 53 "param" + MemberDecorate 14(PS_IN) 0 BuiltIn Position + Decorate 48(vin) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 8: TypeVector 6(float) 2 - 9(PS_IN): TypeStruct 7(fvec4) 7(fvec4) 8(fvec2) - 10: TypePointer Function 9(PS_IN) - 12: TypeInt 32 1 - 13: 12(int) Constant 1 - 14(VertexData): TypeStruct 7(fvec4) 7(fvec4) 8(fvec2) - 15: TypeInt 32 0 - 16: 15(int) Constant 2 - 17: TypeArray 14(VertexData) 16 - 18: TypePointer Input 17 - 19(vin): 18(ptr) Variable Input - 20: TypePointer Input 7(fvec4) - 23: TypePointer Function 7(fvec4) - 25: 12(int) Constant 2 - 26: TypePointer Input 8(fvec2) - 29: TypePointer Function 8(fvec2) - 31: 12(int) Constant 0 - 35: TypePointer Output 7(fvec4) -36(outStream_position): 35(ptr) Variable Output - 39(PS_IN): TypeStruct 7(fvec4) 8(fvec2) - 40: TypePointer Output 39(PS_IN) - 41(outStream): 40(ptr) Variable Output - 47: TypePointer Output 8(fvec2) -49(PerVertex_out): TypeStruct 7(fvec4) - 50: TypePointer Output 49(PerVertex_out) -51(PerVertex_out): 50(ptr) Variable Output + 9(VertexData): TypeStruct 7(fvec4) 7(fvec4) 8(fvec2) + 10: TypeInt 32 0 + 11: 10(int) Constant 2 + 12: TypeArray 9(VertexData) 11 + 13: TypePointer Function 12 + 14(PS_IN): TypeStruct 7(fvec4) 7(fvec4) 8(fvec2) + 15: TypePointer Function 14(PS_IN) + 16: TypeFunction 2 13(ptr) 15(ptr) + 21(PS_IN): TypeStruct 7(fvec4) 7(fvec4) 8(fvec2) + 22: TypePointer Function 21(PS_IN) + 24: TypeInt 32 1 + 25: 24(int) Constant 1 + 26: TypePointer Function 7(fvec4) + 30: 24(int) Constant 2 + 31: TypePointer Function 8(fvec2) + 35: 24(int) Constant 0 + 47: TypePointer Input 12 + 48(vin): 47(ptr) Variable Input 4(main): 2 Function None 3 5: Label - 11(vout): 10(ptr) Variable Function - 21: 20(ptr) AccessChain 19(vin) 13 13 - 22: 7(fvec4) Load 21 - 24: 23(ptr) AccessChain 11(vout) 13 - Store 24 22 - 27: 26(ptr) AccessChain 19(vin) 13 25 - 28: 8(fvec2) Load 27 - 30: 29(ptr) AccessChain 11(vout) 25 - Store 30 28 - 32: 20(ptr) AccessChain 19(vin) 13 31 - 33: 7(fvec4) Load 32 - 34: 23(ptr) AccessChain 11(vout) 31 + 46(vin): 13(ptr) Variable Function + 50(outStream): 15(ptr) Variable Function + 51(param): 13(ptr) Variable Function + 53(param): 15(ptr) Variable Function + 49: 12 Load 48(vin) + Store 46(vin) 49 + 52: 12 Load 46(vin) + Store 51(param) 52 + 54: 2 FunctionCall 19(@main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21;) 51(param) 53(param) + Return + FunctionEnd +19(@main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21;): 2 Function None 16 + 17(vin): 13(ptr) FunctionParameter + 18(outStream): 15(ptr) FunctionParameter + 20: Label + 23(vout): 22(ptr) Variable Function + 27: 26(ptr) AccessChain 17(vin) 25 25 + 28: 7(fvec4) Load 27 + 29: 26(ptr) AccessChain 23(vout) 25 + Store 29 28 + 32: 31(ptr) AccessChain 17(vin) 25 30 + 33: 8(fvec2) Load 32 + 34: 31(ptr) AccessChain 23(vout) 30 Store 34 33 - 37: 23(ptr) AccessChain 11(vout) 31 - 38: 7(fvec4) Load 37 - Store 36(outStream_position) 38 - 42: 23(ptr) AccessChain 11(vout) 13 - 43: 7(fvec4) Load 42 - 44: 35(ptr) AccessChain 41(outStream) 31 - Store 44 43 - 45: 29(ptr) AccessChain 11(vout) 25 - 46: 8(fvec2) Load 45 - 48: 47(ptr) AccessChain 41(outStream) 13 - Store 48 46 + 36: 26(ptr) AccessChain 17(vin) 25 35 + 37: 7(fvec4) Load 36 + 38: 26(ptr) AccessChain 23(vout) 35 + Store 38 37 + 39: 21(PS_IN) Load 23(vout) + 40: 7(fvec4) CompositeExtract 39 0 + 41: 26(ptr) AccessChain 18(outStream) 35 + Store 41 40 + 42: 7(fvec4) CompositeExtract 39 1 + 43: 26(ptr) AccessChain 18(outStream) 25 + Store 43 42 + 44: 8(fvec2) CompositeExtract 39 2 + 45: 31(ptr) AccessChain 18(outStream) 30 + Store 45 44 EmitVertex Return FunctionEnd diff --git a/Test/baseResults/hlsl.structin.vert.out b/Test/baseResults/hlsl.structin.vert.out index 5e83ed4f..6debd681 100755 --- a/Test/baseResults/hlsl.structin.vert.out +++ b/Test/baseResults/hlsl.structin.vert.out @@ -1,11 +1,11 @@ hlsl.structin.vert Shader version: 450 0:? Sequence -0:8 Function Definition: main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4; (temp structure Position{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Function Definition: @main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4; (temp structure Position{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:8 Function Parameters: -0:8 'd' (layout(location=0 ) in 4-component vector of float) +0:8 'd' (in 4-component vector of float) 0:8 'vi' (in structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) -0:8 'e' (layout(location=5 ) in 4-component vector of float) +0:8 'e' (in 4-component vector of float) 0:? Sequence 0:11 move second child to first child (temp 4-component vector of float) 0:11 b: direct index for structure (temp 4-component vector of float) @@ -16,56 +16,117 @@ Shader version: 450 0:11 add (temp 4-component vector of float) 0:11 add (temp 4-component vector of float) 0:11 add (temp 4-component vector of float) -0:? 'm[1]' (layout(location=2 ) in 4-component vector of float) -0:? 'm[0]' (layout(location=1 ) in 4-component vector of float) +0:11 direct index (temp 4-component vector of float) +0:11 m: direct index for structure (temp 2-element array of 4-component vector of float) +0:11 'vi' (in structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:11 Constant: +0:11 0 (const int) +0:11 Constant: +0:11 1 (const int) +0:11 direct index (temp 4-component vector of float) +0:11 m: direct index for structure (temp 2-element array of 4-component vector of float) +0:11 'vi' (in structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:11 Constant: +0:11 0 (const int) +0:11 Constant: +0:11 0 (const int) 0:11 Construct vec4 (temp 4-component vector of float) 0:11 Convert uint to float (temp float) 0:11 direct index (temp uint) -0:? 'coord' (layout(location=3 ) in 2-component vector of uint) +0:11 coord: direct index for structure (temp 2-component vector of uint) +0:11 'vi' (in structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:11 Constant: +0:11 1 (const int) 0:11 Constant: 0:11 0 (const int) -0:11 'd' (layout(location=0 ) in 4-component vector of float) -0:11 'e' (layout(location=5 ) in 4-component vector of float) -0:13 Sequence -0:13 Sequence -0:13 move second child to first child (temp 2-element array of 4-component vector of float) -0:13 m: direct index for structure (temp 2-element array of 4-component vector of float) -0:13 '@entryPointOutput' (out structure Position{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, smooth temp 4-component vector of float b}) -0:13 Constant: -0:13 0 (const int) -0:13 m: direct index for structure (temp 2-element array of 4-component vector of float) -0:13 'local' (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) -0:13 Constant: -0:13 0 (const int) -0:13 move second child to first child (temp 2-component vector of uint) -0:13 coord: direct index for structure (temp 2-component vector of uint) -0:13 '@entryPointOutput' (out structure Position{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, smooth temp 4-component vector of float b}) -0:13 Constant: -0:13 1 (const int) -0:13 coord: direct index for structure (temp 2-component vector of uint) -0:13 'local' (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) -0:13 Constant: -0:13 1 (const int) -0:13 move second child to first child (temp 4-component vector of float) -0:13 b: direct index for structure (smooth temp 4-component vector of float) -0:13 '@entryPointOutput' (out structure Position{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, smooth temp 4-component vector of float b}) -0:13 Constant: -0:13 2 (const int) -0:13 b: direct index for structure (temp 4-component vector of float) -0:13 'local' (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) -0:13 Constant: -0:13 2 (const int) -0:13 Branch: Return +0:11 'd' (in 4-component vector of float) +0:11 'e' (in 4-component vector of float) +0:13 Branch: Return with expression +0:13 'local' (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Function Definition: main( (temp void) +0:8 Function Parameters: +0:? Sequence +0:8 move second child to first child (temp 4-component vector of float) +0:? 'd' (temp 4-component vector of float) +0:? 'd' (layout(location=0 ) in 4-component vector of float) +0:8 Sequence +0:8 move second child to first child (temp 4-component vector of float) +0:8 direct index (temp 4-component vector of float) +0:8 m: direct index for structure (temp 2-element array of 4-component vector of float) +0:? 'vi' (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Constant: +0:8 0 (const int) +0:8 Constant: +0:8 0 (const int) +0:? 'm[0]' (layout(location=1 ) in 4-component vector of float) +0:8 move second child to first child (temp 4-component vector of float) +0:8 direct index (temp 4-component vector of float) +0:8 m: direct index for structure (temp 2-element array of 4-component vector of float) +0:? 'vi' (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Constant: +0:8 0 (const int) +0:8 Constant: +0:8 1 (const int) +0:? 'm[1]' (layout(location=2 ) in 4-component vector of float) +0:8 move second child to first child (temp 2-component vector of uint) +0:8 coord: direct index for structure (temp 2-component vector of uint) +0:? 'vi' (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Constant: +0:8 1 (const int) +0:? 'coord' (layout(location=3 ) in 2-component vector of uint) +0:8 move second child to first child (temp 4-component vector of float) +0:8 b: direct index for structure (temp 4-component vector of float) +0:? 'vi' (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Constant: +0:8 2 (const int) +0:? 'b' (layout(location=4 ) smooth in 4-component vector of float) +0:8 move second child to first child (temp 4-component vector of float) +0:? 'e' (temp 4-component vector of float) +0:? 'e' (layout(location=5 ) in 4-component vector of float) +0:8 Sequence +0:8 move second child to first child (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 'flattenTemp' (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Function Call: @main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4; (temp structure Position{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:? 'd' (temp 4-component vector of float) +0:? 'vi' (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:? 'e' (temp 4-component vector of float) +0:8 move second child to first child (temp 2-element array of 4-component vector of float) +0:8 m: direct index for structure (temp 2-element array of 4-component vector of float) +0:8 '@entryPointOutput' (out structure Position{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, smooth temp 4-component vector of float b}) +0:8 Constant: +0:8 0 (const int) +0:8 m: direct index for structure (temp 2-element array of 4-component vector of float) +0:8 'flattenTemp' (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Constant: +0:8 0 (const int) +0:8 move second child to first child (temp 2-component vector of uint) +0:8 coord: direct index for structure (temp 2-component vector of uint) +0:8 '@entryPointOutput' (out structure Position{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, smooth temp 4-component vector of float b}) +0:8 Constant: +0:8 1 (const int) +0:8 coord: direct index for structure (temp 2-component vector of uint) +0:8 'flattenTemp' (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Constant: +0:8 1 (const int) +0:8 move second child to first child (temp 4-component vector of float) +0:8 b: direct index for structure (smooth temp 4-component vector of float) +0:8 '@entryPointOutput' (out structure Position{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, smooth temp 4-component vector of float b}) +0:8 Constant: +0:8 2 (const int) +0:8 b: direct index for structure (temp 4-component vector of float) +0:8 'flattenTemp' (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Constant: +0:8 2 (const int) 0:? Linker Objects 0:? '@entryPointOutput' (out structure Position{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, smooth temp 4-component vector of float b}) 0:? 'd' (layout(location=0 ) in 4-component vector of float) 0:? 'm[0]' (layout(location=1 ) in 4-component vector of float) 0:? 'm[1]' (layout(location=2 ) in 4-component vector of float) +0:? 'm[0]' (layout(location=1 ) in 4-component vector of float) +0:? 'm[1]' (layout(location=2 ) in 4-component vector of float) 0:? 'coord' (layout(location=3 ) in 2-component vector of uint) 0:? 'b' (layout(location=4 ) smooth in 4-component vector of float) 0:? 'e' (layout(location=5 ) in 4-component vector of float) -0:? 'm[0]' (layout(location=1 ) in 4-component vector of float) -0:? 'm[1]' (layout(location=2 ) in 4-component vector of float) Linked vertex stage: @@ -73,11 +134,11 @@ Linked vertex stage: Shader version: 450 0:? Sequence -0:8 Function Definition: main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4; (temp structure Position{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Function Definition: @main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4; (temp structure Position{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:8 Function Parameters: -0:8 'd' (layout(location=0 ) in 4-component vector of float) +0:8 'd' (in 4-component vector of float) 0:8 'vi' (in structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) -0:8 'e' (layout(location=5 ) in 4-component vector of float) +0:8 'e' (in 4-component vector of float) 0:? Sequence 0:11 move second child to first child (temp 4-component vector of float) 0:11 b: direct index for structure (temp 4-component vector of float) @@ -88,150 +149,264 @@ Shader version: 450 0:11 add (temp 4-component vector of float) 0:11 add (temp 4-component vector of float) 0:11 add (temp 4-component vector of float) -0:? 'm[1]' (layout(location=2 ) in 4-component vector of float) -0:? 'm[0]' (layout(location=1 ) in 4-component vector of float) +0:11 direct index (temp 4-component vector of float) +0:11 m: direct index for structure (temp 2-element array of 4-component vector of float) +0:11 'vi' (in structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:11 Constant: +0:11 0 (const int) +0:11 Constant: +0:11 1 (const int) +0:11 direct index (temp 4-component vector of float) +0:11 m: direct index for structure (temp 2-element array of 4-component vector of float) +0:11 'vi' (in structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:11 Constant: +0:11 0 (const int) +0:11 Constant: +0:11 0 (const int) 0:11 Construct vec4 (temp 4-component vector of float) 0:11 Convert uint to float (temp float) 0:11 direct index (temp uint) -0:? 'coord' (layout(location=3 ) in 2-component vector of uint) +0:11 coord: direct index for structure (temp 2-component vector of uint) +0:11 'vi' (in structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:11 Constant: +0:11 1 (const int) 0:11 Constant: 0:11 0 (const int) -0:11 'd' (layout(location=0 ) in 4-component vector of float) -0:11 'e' (layout(location=5 ) in 4-component vector of float) -0:13 Sequence -0:13 Sequence -0:13 move second child to first child (temp 2-element array of 4-component vector of float) -0:13 m: direct index for structure (temp 2-element array of 4-component vector of float) -0:13 '@entryPointOutput' (out structure Position{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, smooth temp 4-component vector of float b}) -0:13 Constant: -0:13 0 (const int) -0:13 m: direct index for structure (temp 2-element array of 4-component vector of float) -0:13 'local' (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) -0:13 Constant: -0:13 0 (const int) -0:13 move second child to first child (temp 2-component vector of uint) -0:13 coord: direct index for structure (temp 2-component vector of uint) -0:13 '@entryPointOutput' (out structure Position{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, smooth temp 4-component vector of float b}) -0:13 Constant: -0:13 1 (const int) -0:13 coord: direct index for structure (temp 2-component vector of uint) -0:13 'local' (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) -0:13 Constant: -0:13 1 (const int) -0:13 move second child to first child (temp 4-component vector of float) -0:13 b: direct index for structure (smooth temp 4-component vector of float) -0:13 '@entryPointOutput' (out structure Position{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, smooth temp 4-component vector of float b}) -0:13 Constant: -0:13 2 (const int) -0:13 b: direct index for structure (temp 4-component vector of float) -0:13 'local' (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) -0:13 Constant: -0:13 2 (const int) -0:13 Branch: Return +0:11 'd' (in 4-component vector of float) +0:11 'e' (in 4-component vector of float) +0:13 Branch: Return with expression +0:13 'local' (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Function Definition: main( (temp void) +0:8 Function Parameters: +0:? Sequence +0:8 move second child to first child (temp 4-component vector of float) +0:? 'd' (temp 4-component vector of float) +0:? 'd' (layout(location=0 ) in 4-component vector of float) +0:8 Sequence +0:8 move second child to first child (temp 4-component vector of float) +0:8 direct index (temp 4-component vector of float) +0:8 m: direct index for structure (temp 2-element array of 4-component vector of float) +0:? 'vi' (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Constant: +0:8 0 (const int) +0:8 Constant: +0:8 0 (const int) +0:? 'm[0]' (layout(location=1 ) in 4-component vector of float) +0:8 move second child to first child (temp 4-component vector of float) +0:8 direct index (temp 4-component vector of float) +0:8 m: direct index for structure (temp 2-element array of 4-component vector of float) +0:? 'vi' (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Constant: +0:8 0 (const int) +0:8 Constant: +0:8 1 (const int) +0:? 'm[1]' (layout(location=2 ) in 4-component vector of float) +0:8 move second child to first child (temp 2-component vector of uint) +0:8 coord: direct index for structure (temp 2-component vector of uint) +0:? 'vi' (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Constant: +0:8 1 (const int) +0:? 'coord' (layout(location=3 ) in 2-component vector of uint) +0:8 move second child to first child (temp 4-component vector of float) +0:8 b: direct index for structure (temp 4-component vector of float) +0:? 'vi' (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Constant: +0:8 2 (const int) +0:? 'b' (layout(location=4 ) smooth in 4-component vector of float) +0:8 move second child to first child (temp 4-component vector of float) +0:? 'e' (temp 4-component vector of float) +0:? 'e' (layout(location=5 ) in 4-component vector of float) +0:8 Sequence +0:8 move second child to first child (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 'flattenTemp' (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Function Call: @main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4; (temp structure Position{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:? 'd' (temp 4-component vector of float) +0:? 'vi' (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:? 'e' (temp 4-component vector of float) +0:8 move second child to first child (temp 2-element array of 4-component vector of float) +0:8 m: direct index for structure (temp 2-element array of 4-component vector of float) +0:8 '@entryPointOutput' (out structure Position{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, smooth temp 4-component vector of float b}) +0:8 Constant: +0:8 0 (const int) +0:8 m: direct index for structure (temp 2-element array of 4-component vector of float) +0:8 'flattenTemp' (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Constant: +0:8 0 (const int) +0:8 move second child to first child (temp 2-component vector of uint) +0:8 coord: direct index for structure (temp 2-component vector of uint) +0:8 '@entryPointOutput' (out structure Position{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, smooth temp 4-component vector of float b}) +0:8 Constant: +0:8 1 (const int) +0:8 coord: direct index for structure (temp 2-component vector of uint) +0:8 'flattenTemp' (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Constant: +0:8 1 (const int) +0:8 move second child to first child (temp 4-component vector of float) +0:8 b: direct index for structure (smooth temp 4-component vector of float) +0:8 '@entryPointOutput' (out structure Position{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, smooth temp 4-component vector of float b}) +0:8 Constant: +0:8 2 (const int) +0:8 b: direct index for structure (temp 4-component vector of float) +0:8 'flattenTemp' (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Constant: +0:8 2 (const int) 0:? Linker Objects 0:? '@entryPointOutput' (out structure Position{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, smooth temp 4-component vector of float b}) 0:? 'd' (layout(location=0 ) in 4-component vector of float) 0:? 'm[0]' (layout(location=1 ) in 4-component vector of float) 0:? 'm[1]' (layout(location=2 ) in 4-component vector of float) +0:? 'm[0]' (layout(location=1 ) in 4-component vector of float) +0:? 'm[1]' (layout(location=2 ) in 4-component vector of float) 0:? 'coord' (layout(location=3 ) in 2-component vector of uint) 0:? 'b' (layout(location=4 ) smooth in 4-component vector of float) 0:? 'e' (layout(location=5 ) in 4-component vector of float) -0:? 'm[0]' (layout(location=1 ) in 4-component vector of float) -0:? 'm[1]' (layout(location=2 ) in 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 61 +// Id's are bound by 92 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" 18 20 24 32 35 42 60 + EntryPoint Vertex 4 "main" 48 51 54 58 62 66 78 Name 4 "main" - Name 12 "VI" - MemberName 12(VI) 0 "m" - MemberName 12(VI) 1 "coord" - MemberName 12(VI) 2 "b" - Name 14 "local" - Name 18 "m[1]" - Name 20 "m[0]" - Name 24 "coord" - Name 32 "d" - Name 35 "e" - Name 40 "VI" - MemberName 40(VI) 0 "m" - MemberName 40(VI) 1 "coord" - MemberName 40(VI) 2 "b" - Name 42 "@entryPointOutput" - Name 60 "b" - Decorate 18(m[1]) Location 2 - Decorate 20(m[0]) Location 1 - Decorate 24(coord) Location 3 - Decorate 32(d) Location 0 - Decorate 35(e) Location 5 - Decorate 42(@entryPointOutput) BuiltIn Position - Decorate 60(b) Location 4 + Name 13 "VI" + MemberName 13(VI) 0 "m" + MemberName 13(VI) 1 "coord" + MemberName 13(VI) 2 "b" + Name 19 "@main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4;" + Name 16 "d" + Name 17 "vi" + Name 18 "e" + Name 21 "local" + Name 46 "d" + Name 48 "d" + Name 50 "vi" + Name 51 "m[0]" + Name 54 "m[1]" + Name 58 "coord" + Name 62 "b" + Name 65 "e" + Name 66 "e" + Name 68 "flattenTemp" + Name 69 "param" + Name 71 "param" + Name 73 "param" + Name 76 "VI" + MemberName 76(VI) 0 "m" + MemberName 76(VI) 1 "coord" + MemberName 76(VI) 2 "b" + Name 78 "@entryPointOutput" + Decorate 48(d) Location 0 + Decorate 51(m[0]) Location 1 + Decorate 54(m[1]) Location 2 + Decorate 58(coord) Location 3 + Decorate 62(b) Location 4 + Decorate 66(e) Location 5 + Decorate 78(@entryPointOutput) BuiltIn Position 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypeInt 32 0 - 9: 8(int) Constant 2 - 10: TypeArray 7(fvec4) 9 - 11: TypeVector 8(int) 2 - 12(VI): TypeStruct 10 11(ivec2) 7(fvec4) - 13: TypePointer Function 12(VI) - 15: TypeInt 32 1 - 16: 15(int) Constant 2 - 17: TypePointer Input 7(fvec4) - 18(m[1]): 17(ptr) Variable Input - 20(m[0]): 17(ptr) Variable Input - 23: TypePointer Input 11(ivec2) - 24(coord): 23(ptr) Variable Input - 25: 8(int) Constant 0 - 26: TypePointer Input 8(int) - 32(d): 17(ptr) Variable Input - 35(e): 17(ptr) Variable Input - 38: TypePointer Function 7(fvec4) - 40(VI): TypeStruct 10 11(ivec2) 7(fvec4) - 41: TypePointer Output 40(VI) -42(@entryPointOutput): 41(ptr) Variable Output - 43: 15(int) Constant 0 - 44: TypePointer Function 10 - 47: TypePointer Output 10 - 49: 15(int) Constant 1 - 50: TypePointer Function 11(ivec2) - 53: TypePointer Output 11(ivec2) - 57: TypePointer Output 7(fvec4) - 60(b): 17(ptr) Variable Input + 8: TypePointer Function 7(fvec4) + 9: TypeInt 32 0 + 10: 9(int) Constant 2 + 11: TypeArray 7(fvec4) 10 + 12: TypeVector 9(int) 2 + 13(VI): TypeStruct 11 12(ivec2) 7(fvec4) + 14: TypePointer Function 13(VI) + 15: TypeFunction 13(VI) 8(ptr) 14(ptr) 8(ptr) + 22: TypeInt 32 1 + 23: 22(int) Constant 2 + 24: 22(int) Constant 0 + 25: 22(int) Constant 1 + 31: 9(int) Constant 0 + 32: TypePointer Function 9(int) + 47: TypePointer Input 7(fvec4) + 48(d): 47(ptr) Variable Input + 51(m[0]): 47(ptr) Variable Input + 54(m[1]): 47(ptr) Variable Input + 57: TypePointer Input 12(ivec2) + 58(coord): 57(ptr) Variable Input + 60: TypePointer Function 12(ivec2) + 62(b): 47(ptr) Variable Input + 66(e): 47(ptr) Variable Input + 76(VI): TypeStruct 11 12(ivec2) 7(fvec4) + 77: TypePointer Output 76(VI) +78(@entryPointOutput): 77(ptr) Variable Output + 79: TypePointer Function 11 + 82: TypePointer Output 11 + 86: TypePointer Output 12(ivec2) + 90: TypePointer Output 7(fvec4) 4(main): 2 Function None 3 5: Label - 14(local): 13(ptr) Variable Function - 19: 7(fvec4) Load 18(m[1]) - 21: 7(fvec4) Load 20(m[0]) - 22: 7(fvec4) FAdd 19 21 - 27: 26(ptr) AccessChain 24(coord) 25 - 28: 8(int) Load 27 - 29: 6(float) ConvertUToF 28 - 30: 7(fvec4) CompositeConstruct 29 29 29 29 - 31: 7(fvec4) FAdd 22 30 - 33: 7(fvec4) Load 32(d) - 34: 7(fvec4) FAdd 31 33 - 36: 7(fvec4) Load 35(e) - 37: 7(fvec4) FAdd 34 36 - 39: 38(ptr) AccessChain 14(local) 16 - Store 39 37 - 45: 44(ptr) AccessChain 14(local) 43 - 46: 10 Load 45 - 48: 47(ptr) AccessChain 42(@entryPointOutput) 43 - Store 48 46 - 51: 50(ptr) AccessChain 14(local) 49 - 52: 11(ivec2) Load 51 - 54: 53(ptr) AccessChain 42(@entryPointOutput) 49 - Store 54 52 - 55: 38(ptr) AccessChain 14(local) 16 - 56: 7(fvec4) Load 55 - 58: 57(ptr) AccessChain 42(@entryPointOutput) 16 - Store 58 56 + 46(d): 8(ptr) Variable Function + 50(vi): 14(ptr) Variable Function + 65(e): 8(ptr) Variable Function + 68(flattenTemp): 14(ptr) Variable Function + 69(param): 8(ptr) Variable Function + 71(param): 14(ptr) Variable Function + 73(param): 8(ptr) Variable Function + 49: 7(fvec4) Load 48(d) + Store 46(d) 49 + 52: 7(fvec4) Load 51(m[0]) + 53: 8(ptr) AccessChain 50(vi) 24 24 + Store 53 52 + 55: 7(fvec4) Load 54(m[1]) + 56: 8(ptr) AccessChain 50(vi) 24 25 + Store 56 55 + 59: 12(ivec2) Load 58(coord) + 61: 60(ptr) AccessChain 50(vi) 25 + Store 61 59 + 63: 7(fvec4) Load 62(b) + 64: 8(ptr) AccessChain 50(vi) 23 + Store 64 63 + 67: 7(fvec4) Load 66(e) + Store 65(e) 67 + 70: 7(fvec4) Load 46(d) + Store 69(param) 70 + 72: 13(VI) Load 50(vi) + Store 71(param) 72 + 74: 7(fvec4) Load 65(e) + Store 73(param) 74 + 75: 13(VI) FunctionCall 19(@main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4;) 69(param) 71(param) 73(param) + Store 68(flattenTemp) 75 + 80: 79(ptr) AccessChain 68(flattenTemp) 24 + 81: 11 Load 80 + 83: 82(ptr) AccessChain 78(@entryPointOutput) 24 + Store 83 81 + 84: 60(ptr) AccessChain 68(flattenTemp) 25 + 85: 12(ivec2) Load 84 + 87: 86(ptr) AccessChain 78(@entryPointOutput) 25 + Store 87 85 + 88: 8(ptr) AccessChain 68(flattenTemp) 23 + 89: 7(fvec4) Load 88 + 91: 90(ptr) AccessChain 78(@entryPointOutput) 23 + Store 91 89 Return FunctionEnd +19(@main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4;): 13(VI) Function None 15 + 16(d): 8(ptr) FunctionParameter + 17(vi): 14(ptr) FunctionParameter + 18(e): 8(ptr) FunctionParameter + 20: Label + 21(local): 14(ptr) Variable Function + 26: 8(ptr) AccessChain 17(vi) 24 25 + 27: 7(fvec4) Load 26 + 28: 8(ptr) AccessChain 17(vi) 24 24 + 29: 7(fvec4) Load 28 + 30: 7(fvec4) FAdd 27 29 + 33: 32(ptr) AccessChain 17(vi) 25 31 + 34: 9(int) Load 33 + 35: 6(float) ConvertUToF 34 + 36: 7(fvec4) CompositeConstruct 35 35 35 35 + 37: 7(fvec4) FAdd 30 36 + 38: 7(fvec4) Load 16(d) + 39: 7(fvec4) FAdd 37 38 + 40: 7(fvec4) Load 18(e) + 41: 7(fvec4) FAdd 39 40 + 42: 8(ptr) AccessChain 21(local) 23 + Store 42 41 + 43: 13(VI) Load 21(local) + ReturnValue 43 + FunctionEnd diff --git a/Test/baseResults/hlsl.switch.frag.out b/Test/baseResults/hlsl.switch.frag.out index af516e2c..96493f99 100755 --- a/Test/baseResults/hlsl.switch.frag.out +++ b/Test/baseResults/hlsl.switch.frag.out @@ -2,16 +2,16 @@ hlsl.switch.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4;i1;i1; (temp 4-component vector of float) +0:2 Function Definition: @PixelShaderFunction(vf4;i1;i1; (temp 4-component vector of float) 0:2 Function Parameters: -0:2 'input' (layout(location=0 ) in 4-component vector of float) -0:2 'c' (layout(location=1 ) in int) -0:2 'd' (layout(location=2 ) in int) +0:2 'input' (in 4-component vector of float) +0:2 'c' (in int) +0:2 'd' (in int) 0:? Sequence -0:3 'c' (layout(location=1 ) in int) +0:3 'c' (in int) 0:7 switch 0:7 condition -0:7 'c' (layout(location=1 ) in int) +0:7 'c' (in int) 0:7 body 0:7 Sequence 0:9 default: @@ -19,7 +19,7 @@ gl_FragCoord origin is upper left 0:7 Branch: Break 0:12 switch 0:12 condition -0:12 'c' (layout(location=1 ) in int) +0:12 'c' (in int) 0:12 body 0:12 Sequence 0:13 case: with expression @@ -27,18 +27,18 @@ gl_FragCoord origin is upper left 0:13 1 (const int) 0:? Sequence 0:14 Pre-Increment (temp 4-component vector of float) -0:14 'input' (layout(location=0 ) in 4-component vector of float) +0:14 'input' (in 4-component vector of float) 0:15 Branch: Break 0:16 case: with expression 0:16 Constant: 0:16 2 (const int) 0:? Sequence 0:17 Pre-Decrement (temp 4-component vector of float) -0:17 'input' (layout(location=0 ) in 4-component vector of float) +0:17 'input' (in 4-component vector of float) 0:18 Branch: Break 0:21 switch 0:21 condition -0:21 'c' (layout(location=1 ) in int) +0:21 'c' (in int) 0:21 body 0:21 Sequence 0:22 case: with expression @@ -46,7 +46,7 @@ gl_FragCoord origin is upper left 0:22 1 (const int) 0:? Sequence 0:23 Pre-Increment (temp 4-component vector of float) -0:23 'input' (layout(location=0 ) in 4-component vector of float) +0:23 'input' (in 4-component vector of float) 0:24 Branch: Break 0:25 case: with expression 0:25 Constant: @@ -54,7 +54,7 @@ gl_FragCoord origin is upper left 0:? Sequence 0:26 switch 0:26 condition -0:26 'd' (layout(location=2 ) in int) +0:26 'd' (in int) 0:26 body 0:26 Sequence 0:27 case: with expression @@ -62,7 +62,7 @@ gl_FragCoord origin is upper left 0:27 2 (const int) 0:? Sequence 0:28 add second child into first child (temp 4-component vector of float) -0:28 'input' (layout(location=0 ) in 4-component vector of float) +0:28 'input' (in 4-component vector of float) 0:28 Constant: 0:28 2.000000 0:29 Branch: Break @@ -71,7 +71,7 @@ gl_FragCoord origin is upper left 0:30 3 (const int) 0:? Sequence 0:31 add second child into first child (temp 4-component vector of float) -0:31 'input' (layout(location=0 ) in 4-component vector of float) +0:31 'input' (in 4-component vector of float) 0:31 Constant: 0:31 3.000000 0:32 Branch: Break @@ -79,12 +79,12 @@ gl_FragCoord origin is upper left 0:35 default: 0:? Sequence 0:36 add second child into first child (temp 4-component vector of float) -0:36 'input' (layout(location=0 ) in 4-component vector of float) +0:36 'input' (in 4-component vector of float) 0:36 Constant: 0:36 4.000000 0:39 switch 0:39 condition -0:39 'c' (layout(location=1 ) in int) +0:39 'c' (in int) 0:39 body 0:39 Sequence 0:40 case: with expression @@ -94,7 +94,7 @@ gl_FragCoord origin is upper left 0:39 Branch: Break 0:43 switch 0:43 condition -0:43 'c' (layout(location=1 ) in int) +0:43 'c' (in int) 0:43 body 0:43 Sequence 0:44 case: with expression @@ -108,7 +108,7 @@ gl_FragCoord origin is upper left 0:46 3 (const int) 0:? Sequence 0:47 Pre-Increment (temp 4-component vector of float) -0:47 'input' (layout(location=0 ) in 4-component vector of float) +0:47 'input' (in 4-component vector of float) 0:48 Branch: Break 0:49 case: with expression 0:49 Constant: @@ -118,12 +118,27 @@ gl_FragCoord origin is upper left 0:50 5 (const int) 0:? Sequence 0:51 Pre-Decrement (temp 4-component vector of float) -0:51 'input' (layout(location=0 ) in 4-component vector of float) -0:54 Sequence -0:54 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:54 'input' (layout(location=0 ) in 4-component vector of float) -0:54 Branch: Return +0:51 'input' (in 4-component vector of float) +0:54 Branch: Return with expression +0:54 'input' (in 4-component vector of float) +0:2 Function Definition: PixelShaderFunction( (temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:2 move second child to first child (temp int) +0:? 'c' (temp int) +0:? 'c' (layout(location=1 ) in int) +0:2 move second child to first child (temp int) +0:? 'd' (temp int) +0:? 'd' (layout(location=2 ) in int) +0:2 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:2 Function Call: @PixelShaderFunction(vf4;i1;i1; (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) +0:? 'c' (temp int) +0:? 'd' (temp int) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 'input' (layout(location=0 ) in 4-component vector of float) @@ -137,16 +152,16 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4;i1;i1; (temp 4-component vector of float) +0:2 Function Definition: @PixelShaderFunction(vf4;i1;i1; (temp 4-component vector of float) 0:2 Function Parameters: -0:2 'input' (layout(location=0 ) in 4-component vector of float) -0:2 'c' (layout(location=1 ) in int) -0:2 'd' (layout(location=2 ) in int) +0:2 'input' (in 4-component vector of float) +0:2 'c' (in int) +0:2 'd' (in int) 0:? Sequence -0:3 'c' (layout(location=1 ) in int) +0:3 'c' (in int) 0:7 switch 0:7 condition -0:7 'c' (layout(location=1 ) in int) +0:7 'c' (in int) 0:7 body 0:7 Sequence 0:9 default: @@ -154,7 +169,7 @@ gl_FragCoord origin is upper left 0:7 Branch: Break 0:12 switch 0:12 condition -0:12 'c' (layout(location=1 ) in int) +0:12 'c' (in int) 0:12 body 0:12 Sequence 0:13 case: with expression @@ -162,18 +177,18 @@ gl_FragCoord origin is upper left 0:13 1 (const int) 0:? Sequence 0:14 Pre-Increment (temp 4-component vector of float) -0:14 'input' (layout(location=0 ) in 4-component vector of float) +0:14 'input' (in 4-component vector of float) 0:15 Branch: Break 0:16 case: with expression 0:16 Constant: 0:16 2 (const int) 0:? Sequence 0:17 Pre-Decrement (temp 4-component vector of float) -0:17 'input' (layout(location=0 ) in 4-component vector of float) +0:17 'input' (in 4-component vector of float) 0:18 Branch: Break 0:21 switch 0:21 condition -0:21 'c' (layout(location=1 ) in int) +0:21 'c' (in int) 0:21 body 0:21 Sequence 0:22 case: with expression @@ -181,7 +196,7 @@ gl_FragCoord origin is upper left 0:22 1 (const int) 0:? Sequence 0:23 Pre-Increment (temp 4-component vector of float) -0:23 'input' (layout(location=0 ) in 4-component vector of float) +0:23 'input' (in 4-component vector of float) 0:24 Branch: Break 0:25 case: with expression 0:25 Constant: @@ -189,7 +204,7 @@ gl_FragCoord origin is upper left 0:? Sequence 0:26 switch 0:26 condition -0:26 'd' (layout(location=2 ) in int) +0:26 'd' (in int) 0:26 body 0:26 Sequence 0:27 case: with expression @@ -197,7 +212,7 @@ gl_FragCoord origin is upper left 0:27 2 (const int) 0:? Sequence 0:28 add second child into first child (temp 4-component vector of float) -0:28 'input' (layout(location=0 ) in 4-component vector of float) +0:28 'input' (in 4-component vector of float) 0:28 Constant: 0:28 2.000000 0:29 Branch: Break @@ -206,7 +221,7 @@ gl_FragCoord origin is upper left 0:30 3 (const int) 0:? Sequence 0:31 add second child into first child (temp 4-component vector of float) -0:31 'input' (layout(location=0 ) in 4-component vector of float) +0:31 'input' (in 4-component vector of float) 0:31 Constant: 0:31 3.000000 0:32 Branch: Break @@ -214,12 +229,12 @@ gl_FragCoord origin is upper left 0:35 default: 0:? Sequence 0:36 add second child into first child (temp 4-component vector of float) -0:36 'input' (layout(location=0 ) in 4-component vector of float) +0:36 'input' (in 4-component vector of float) 0:36 Constant: 0:36 4.000000 0:39 switch 0:39 condition -0:39 'c' (layout(location=1 ) in int) +0:39 'c' (in int) 0:39 body 0:39 Sequence 0:40 case: with expression @@ -229,7 +244,7 @@ gl_FragCoord origin is upper left 0:39 Branch: Break 0:43 switch 0:43 condition -0:43 'c' (layout(location=1 ) in int) +0:43 'c' (in int) 0:43 body 0:43 Sequence 0:44 case: with expression @@ -243,7 +258,7 @@ gl_FragCoord origin is upper left 0:46 3 (const int) 0:? Sequence 0:47 Pre-Increment (temp 4-component vector of float) -0:47 'input' (layout(location=0 ) in 4-component vector of float) +0:47 'input' (in 4-component vector of float) 0:48 Branch: Break 0:49 case: with expression 0:49 Constant: @@ -253,12 +268,27 @@ gl_FragCoord origin is upper left 0:50 5 (const int) 0:? Sequence 0:51 Pre-Decrement (temp 4-component vector of float) -0:51 'input' (layout(location=0 ) in 4-component vector of float) -0:54 Sequence -0:54 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:54 'input' (layout(location=0 ) in 4-component vector of float) -0:54 Branch: Return +0:51 'input' (in 4-component vector of float) +0:54 Branch: Return with expression +0:54 'input' (in 4-component vector of float) +0:2 Function Definition: PixelShaderFunction( (temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:2 move second child to first child (temp int) +0:? 'c' (temp int) +0:? 'c' (layout(location=1 ) in int) +0:2 move second child to first child (temp int) +0:? 'd' (temp int) +0:? 'd' (layout(location=2 ) in int) +0:2 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:2 Function Call: @PixelShaderFunction(vf4;i1;i1; (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) +0:? 'c' (temp int) +0:? 'd' (temp int) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 'input' (layout(location=0 ) in 4-component vector of float) @@ -267,131 +297,170 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 84 +// Id's are bound by 106 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 8 21 41 81 + EntryPoint Fragment 4 "PixelShaderFunction" 88 92 95 98 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 8 "c" - Name 21 "input" - Name 41 "d" - Name 81 "@entryPointOutput" - Decorate 8(c) Location 1 - Decorate 21(input) Location 0 - Decorate 41(d) Location 2 - Decorate 81(@entryPointOutput) Location 0 + Name 15 "@PixelShaderFunction(vf4;i1;i1;" + Name 12 "input" + Name 13 "c" + Name 14 "d" + Name 86 "input" + Name 88 "input" + Name 90 "c" + Name 92 "c" + Name 94 "d" + Name 95 "d" + Name 98 "@entryPointOutput" + Name 99 "param" + Name 101 "param" + Name 103 "param" + Decorate 88(input) Location 0 + Decorate 92(c) Location 1 + Decorate 95(d) Location 2 + Decorate 98(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 - 6: TypeInt 32 1 - 7: TypePointer Input 6(int) - 8(c): 7(ptr) Variable Input - 18: TypeFloat 32 - 19: TypeVector 18(float) 4 - 20: TypePointer Input 19(fvec4) - 21(input): 20(ptr) Variable Input - 23: 18(float) Constant 1065353216 - 41(d): 7(ptr) Variable Input - 46: 18(float) Constant 1073741824 - 51: 18(float) Constant 1077936128 - 58: 18(float) Constant 1082130432 - 80: TypePointer Output 19(fvec4) -81(@entryPointOutput): 80(ptr) Variable Output + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8: TypePointer Function 7(fvec4) + 9: TypeInt 32 1 + 10: TypePointer Function 9(int) + 11: TypeFunction 7(fvec4) 8(ptr) 10(ptr) 10(ptr) + 27: 6(float) Constant 1065353216 + 49: 6(float) Constant 1073741824 + 54: 6(float) Constant 1077936128 + 61: 6(float) Constant 1082130432 + 87: TypePointer Input 7(fvec4) + 88(input): 87(ptr) Variable Input + 91: TypePointer Input 9(int) + 92(c): 91(ptr) Variable Input + 95(d): 91(ptr) Variable Input + 97: TypePointer Output 7(fvec4) +98(@entryPointOutput): 97(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label - 9: 6(int) Load 8(c) - SelectionMerge 11 None - Switch 9 10 - 10: Label - Branch 11 - 11: Label - 14: 6(int) Load 8(c) - SelectionMerge 17 None - Switch 14 17 - case 1: 15 - case 2: 16 - 15: Label - 22: 19(fvec4) Load 21(input) - 24: 19(fvec4) CompositeConstruct 23 23 23 23 - 25: 19(fvec4) FAdd 22 24 - Store 21(input) 25 - Branch 17 - 16: Label - 27: 19(fvec4) Load 21(input) - 28: 19(fvec4) CompositeConstruct 23 23 23 23 - 29: 19(fvec4) FSub 27 28 - Store 21(input) 29 - Branch 17 - 17: Label - 32: 6(int) Load 8(c) - SelectionMerge 36 None - Switch 32 35 - case 1: 33 - case 2: 34 - 35: Label - 59: 19(fvec4) Load 21(input) - 60: 19(fvec4) CompositeConstruct 58 58 58 58 - 61: 19(fvec4) FAdd 59 60 - Store 21(input) 61 - Branch 36 - 33: Label - 37: 19(fvec4) Load 21(input) - 38: 19(fvec4) CompositeConstruct 23 23 23 23 - 39: 19(fvec4) FAdd 37 38 - Store 21(input) 39 - Branch 36 - 34: Label - 42: 6(int) Load 41(d) - SelectionMerge 45 None - Switch 42 45 - case 2: 43 - case 3: 44 - 43: Label - 47: 19(fvec4) Load 21(input) - 48: 19(fvec4) CompositeConstruct 46 46 46 46 - 49: 19(fvec4) FAdd 47 48 - Store 21(input) 49 - Branch 45 - 44: Label - 52: 19(fvec4) Load 21(input) - 53: 19(fvec4) CompositeConstruct 51 51 51 51 - 54: 19(fvec4) FAdd 52 53 - Store 21(input) 54 - Branch 45 - 45: Label - Branch 36 - 36: Label - 63: 6(int) Load 8(c) - SelectionMerge 65 None - Switch 63 65 - case 1: 64 - 64: Label - Branch 65 - 65: Label - 68: 6(int) Load 8(c) - SelectionMerge 71 None - Switch 68 71 - case 1: 69 - case 2: 69 - case 3: 69 - case 4: 70 - case 5: 70 - 69: Label - 72: 19(fvec4) Load 21(input) - 73: 19(fvec4) CompositeConstruct 23 23 23 23 - 74: 19(fvec4) FAdd 72 73 - Store 21(input) 74 - Branch 71 - 70: Label - 76: 19(fvec4) Load 21(input) - 77: 19(fvec4) CompositeConstruct 23 23 23 23 - 78: 19(fvec4) FSub 76 77 - Store 21(input) 78 - Branch 71 - 71: Label - 82: 19(fvec4) Load 21(input) - Store 81(@entryPointOutput) 82 + 86(input): 8(ptr) Variable Function + 90(c): 10(ptr) Variable Function + 94(d): 10(ptr) Variable Function + 99(param): 8(ptr) Variable Function + 101(param): 10(ptr) Variable Function + 103(param): 10(ptr) Variable Function + 89: 7(fvec4) Load 88(input) + Store 86(input) 89 + 93: 9(int) Load 92(c) + Store 90(c) 93 + 96: 9(int) Load 95(d) + Store 94(d) 96 + 100: 7(fvec4) Load 86(input) + Store 99(param) 100 + 102: 9(int) Load 90(c) + Store 101(param) 102 + 104: 9(int) Load 94(d) + Store 103(param) 104 + 105: 7(fvec4) FunctionCall 15(@PixelShaderFunction(vf4;i1;i1;) 99(param) 101(param) 103(param) + Store 98(@entryPointOutput) 105 Return FunctionEnd +15(@PixelShaderFunction(vf4;i1;i1;): 7(fvec4) Function None 11 + 12(input): 8(ptr) FunctionParameter + 13(c): 10(ptr) FunctionParameter + 14(d): 10(ptr) FunctionParameter + 16: Label + 17: 9(int) Load 13(c) + SelectionMerge 19 None + Switch 17 18 + 18: Label + Branch 19 + 19: Label + 22: 9(int) Load 13(c) + SelectionMerge 25 None + Switch 22 25 + case 1: 23 + case 2: 24 + 23: Label + 26: 7(fvec4) Load 12(input) + 28: 7(fvec4) CompositeConstruct 27 27 27 27 + 29: 7(fvec4) FAdd 26 28 + Store 12(input) 29 + Branch 25 + 24: Label + 31: 7(fvec4) Load 12(input) + 32: 7(fvec4) CompositeConstruct 27 27 27 27 + 33: 7(fvec4) FSub 31 32 + Store 12(input) 33 + Branch 25 + 25: Label + 36: 9(int) Load 13(c) + SelectionMerge 40 None + Switch 36 39 + case 1: 37 + case 2: 38 + 39: Label + 62: 7(fvec4) Load 12(input) + 63: 7(fvec4) CompositeConstruct 61 61 61 61 + 64: 7(fvec4) FAdd 62 63 + Store 12(input) 64 + Branch 40 + 37: Label + 41: 7(fvec4) Load 12(input) + 42: 7(fvec4) CompositeConstruct 27 27 27 27 + 43: 7(fvec4) FAdd 41 42 + Store 12(input) 43 + Branch 40 + 38: Label + 45: 9(int) Load 14(d) + SelectionMerge 48 None + Switch 45 48 + case 2: 46 + case 3: 47 + 46: Label + 50: 7(fvec4) Load 12(input) + 51: 7(fvec4) CompositeConstruct 49 49 49 49 + 52: 7(fvec4) FAdd 50 51 + Store 12(input) 52 + Branch 48 + 47: Label + 55: 7(fvec4) Load 12(input) + 56: 7(fvec4) CompositeConstruct 54 54 54 54 + 57: 7(fvec4) FAdd 55 56 + Store 12(input) 57 + Branch 48 + 48: Label + Branch 40 + 40: Label + 66: 9(int) Load 13(c) + SelectionMerge 68 None + Switch 66 68 + case 1: 67 + 67: Label + Branch 68 + 68: Label + 71: 9(int) Load 13(c) + SelectionMerge 74 None + Switch 71 74 + case 1: 72 + case 2: 72 + case 3: 72 + case 4: 73 + case 5: 73 + 72: Label + 75: 7(fvec4) Load 12(input) + 76: 7(fvec4) CompositeConstruct 27 27 27 27 + 77: 7(fvec4) FAdd 75 76 + Store 12(input) 77 + Branch 74 + 73: Label + 79: 7(fvec4) Load 12(input) + 80: 7(fvec4) CompositeConstruct 27 27 27 27 + 81: 7(fvec4) FSub 79 80 + Store 12(input) 81 + Branch 74 + 74: Label + 83: 7(fvec4) Load 12(input) + ReturnValue 83 + FunctionEnd diff --git a/Test/baseResults/hlsl.templatetypes.frag.out b/Test/baseResults/hlsl.templatetypes.frag.out index c5c73ecb..7764715a 100644 --- a/Test/baseResults/hlsl.templatetypes.frag.out +++ b/Test/baseResults/hlsl.templatetypes.frag.out @@ -2,7 +2,7 @@ hlsl.templatetypes.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:3 Function Definition: PixelShaderFunction( (temp float) +0:3 Function Definition: @PixelShaderFunction( (temp float) 0:3 Function Parameters: 0:? Sequence 0:4 Sequence @@ -239,12 +239,15 @@ gl_FragCoord origin is upper left 0:? 10.000000 0:? 11.000000 0:? 12.000000 -0:45 Sequence -0:45 move second child to first child (temp float) -0:? '@entryPointOutput' (layout(location=0 ) out float) -0:45 Constant: -0:45 0.000000 -0:45 Branch: Return +0:45 Branch: Return with expression +0:45 Constant: +0:45 0.000000 +0:3 Function Definition: PixelShaderFunction( (temp void) +0:3 Function Parameters: +0:? Sequence +0:3 move second child to first child (temp float) +0:? '@entryPointOutput' (layout(location=0 ) out float) +0:3 Function Call: @PixelShaderFunction( (temp float) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out float) @@ -255,7 +258,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:3 Function Definition: PixelShaderFunction( (temp float) +0:3 Function Definition: @PixelShaderFunction( (temp float) 0:3 Function Parameters: 0:? Sequence 0:4 Sequence @@ -492,229 +495,239 @@ gl_FragCoord origin is upper left 0:? 10.000000 0:? 11.000000 0:? 12.000000 -0:45 Sequence -0:45 move second child to first child (temp float) -0:? '@entryPointOutput' (layout(location=0 ) out float) -0:45 Constant: -0:45 0.000000 -0:45 Branch: Return +0:45 Branch: Return with expression +0:45 Constant: +0:45 0.000000 +0:3 Function Definition: PixelShaderFunction( (temp void) +0:3 Function Parameters: +0:? Sequence +0:3 move second child to first child (temp float) +0:? '@entryPointOutput' (layout(location=0 ) out float) +0:3 Function Call: @PixelShaderFunction( (temp float) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 148 +// Id's are bound by 153 Capability Shader Capability Float64 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 146 + EntryPoint Fragment 4 "PixelShaderFunction" 151 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 9 "r00" - Name 15 "r01" - Name 20 "r12" - Name 24 "r13" - Name 27 "r14" - Name 30 "r15" - Name 34 "r16" - Name 38 "r20" - Name 43 "r21" - Name 48 "r22" - Name 52 "r23" - Name 57 "r24" - Name 62 "r30" - Name 66 "r31" - Name 71 "r32" - Name 75 "r33" - Name 80 "r34" - Name 85 "r40" - Name 89 "r41" - Name 92 "r42" - Name 95 "r43" - Name 100 "r44" - Name 105 "r50" - Name 122 "r51" - Name 125 "r61" - Name 130 "r62" - Name 136 "r65" - Name 141 "r66" - Name 146 "@entryPointOutput" - Decorate 146(@entryPointOutput) Location 0 + Name 8 "@PixelShaderFunction(" + Name 12 "r00" + Name 18 "r01" + Name 23 "r12" + Name 27 "r13" + Name 30 "r14" + Name 33 "r15" + Name 37 "r16" + Name 41 "r20" + Name 46 "r21" + Name 51 "r22" + Name 55 "r23" + Name 60 "r24" + Name 65 "r30" + Name 69 "r31" + Name 74 "r32" + Name 78 "r33" + Name 83 "r34" + Name 88 "r40" + Name 92 "r41" + Name 95 "r42" + Name 98 "r43" + Name 103 "r44" + Name 108 "r50" + Name 125 "r51" + Name 128 "r61" + Name 133 "r62" + Name 139 "r65" + Name 144 "r66" + Name 151 "@entryPointOutput" + Decorate 151(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: 6(float) Constant 1065353216 - 11: 6(float) Constant 1073741824 - 12: 6(float) Constant 1077936128 - 13: 6(float) Constant 1082130432 - 14: 7(fvec4) ConstantComposite 10 11 12 13 - 16: 6(float) Constant 1084227584 - 17: 7(fvec4) ConstantComposite 11 12 13 16 - 18: TypeBool - 19: TypePointer Function 18(bool) - 21: 18(bool) ConstantFalse - 22: TypeInt 32 1 - 23: TypePointer Function 22(int) - 25: 22(int) Constant 1 - 26: TypePointer Function 6(float) - 28: TypeFloat 64 - 29: TypePointer Function 28(float) - 31: 28(float) Constant 0 1072693248 - 32: TypeInt 32 0 - 33: TypePointer Function 32(int) - 35: 32(int) Constant 1 - 36: TypeVector 18(bool) 2 - 37: TypePointer Function 36(bvec2) - 39: 18(bool) ConstantTrue - 40: 36(bvec2) ConstantComposite 21 39 - 41: TypeVector 22(int) 2 - 42: TypePointer Function 41(ivec2) - 44: 22(int) Constant 2 - 45: 41(ivec2) ConstantComposite 25 44 - 46: TypeVector 6(float) 2 - 47: TypePointer Function 46(fvec2) - 49: 46(fvec2) ConstantComposite 10 11 - 50: TypeVector 28(float) 2 - 51: TypePointer Function 50(fvec2) - 53: 28(float) Constant 0 1073741824 - 54: 50(fvec2) ConstantComposite 31 53 - 55: TypeVector 32(int) 2 - 56: TypePointer Function 55(ivec2) - 58: 32(int) Constant 2 - 59: 55(ivec2) ConstantComposite 35 58 - 60: TypeVector 18(bool) 3 - 61: TypePointer Function 60(bvec3) - 63: 60(bvec3) ConstantComposite 21 39 39 - 64: TypeVector 22(int) 3 - 65: TypePointer Function 64(ivec3) - 67: 22(int) Constant 3 - 68: 64(ivec3) ConstantComposite 25 44 67 - 69: TypeVector 6(float) 3 - 70: TypePointer Function 69(fvec3) - 72: 69(fvec3) ConstantComposite 10 11 12 - 73: TypeVector 28(float) 3 - 74: TypePointer Function 73(fvec3) - 76: 28(float) Constant 0 1074266112 - 77: 73(fvec3) ConstantComposite 31 53 76 - 78: TypeVector 32(int) 3 - 79: TypePointer Function 78(ivec3) - 81: 32(int) Constant 3 - 82: 78(ivec3) ConstantComposite 35 58 81 - 83: TypeVector 18(bool) 4 - 84: TypePointer Function 83(bvec4) - 86: 83(bvec4) ConstantComposite 21 39 39 21 - 87: TypeVector 22(int) 4 - 88: TypePointer Function 87(ivec4) - 90: 22(int) Constant 4 - 91: 87(ivec4) ConstantComposite 25 44 67 90 - 93: TypeVector 28(float) 4 - 94: TypePointer Function 93(fvec4) - 96: 28(float) Constant 0 1074790400 - 97: 93(fvec4) ConstantComposite 31 53 76 96 - 98: TypeVector 32(int) 4 - 99: TypePointer Function 98(ivec4) - 101: 32(int) Constant 4 - 102: 98(ivec4) ConstantComposite 35 58 81 101 - 103: TypeMatrix 7(fvec4) 4 - 104: TypePointer Function 103 - 106: 6(float) Constant 0 - 107: 7(fvec4) ConstantComposite 106 10 11 12 - 108: 6(float) Constant 1086324736 - 109: 6(float) Constant 1088421888 - 110: 7(fvec4) ConstantComposite 13 16 108 109 - 111: 6(float) Constant 1090519040 - 112: 6(float) Constant 1091567616 - 113: 6(float) Constant 1092616192 - 114: 6(float) Constant 1093664768 - 115: 7(fvec4) ConstantComposite 111 112 113 114 - 116: 6(float) Constant 1094713344 - 117: 6(float) Constant 1095761920 - 118: 6(float) Constant 1096810496 - 119: 6(float) Constant 1097859072 - 120: 7(fvec4) ConstantComposite 116 117 118 119 - 121: 103 ConstantComposite 107 110 115 120 - 123: TypeMatrix 69(fvec3) 2 - 124: TypePointer Function 123 - 126: 69(fvec3) ConstantComposite 13 16 108 - 127: 123 ConstantComposite 72 126 - 128: TypeMatrix 46(fvec2) 3 - 129: TypePointer Function 128 - 131: 46(fvec2) ConstantComposite 12 13 - 132: 46(fvec2) ConstantComposite 16 108 - 133: 128 ConstantComposite 49 131 132 - 134: TypeMatrix 46(fvec2) 4 - 135: TypePointer Function 134 - 137: 46(fvec2) ConstantComposite 109 111 - 138: 134 ConstantComposite 49 131 132 137 - 139: TypeMatrix 69(fvec3) 4 - 140: TypePointer Function 139 - 142: 69(fvec3) ConstantComposite 109 111 112 - 143: 69(fvec3) ConstantComposite 113 114 116 - 144: 139 ConstantComposite 72 126 142 143 - 145: TypePointer Output 6(float) -146(@entryPointOutput): 145(ptr) Variable Output + 7: TypeFunction 6(float) + 10: TypeVector 6(float) 4 + 11: TypePointer Function 10(fvec4) + 13: 6(float) Constant 1065353216 + 14: 6(float) Constant 1073741824 + 15: 6(float) Constant 1077936128 + 16: 6(float) Constant 1082130432 + 17: 10(fvec4) ConstantComposite 13 14 15 16 + 19: 6(float) Constant 1084227584 + 20: 10(fvec4) ConstantComposite 14 15 16 19 + 21: TypeBool + 22: TypePointer Function 21(bool) + 24: 21(bool) ConstantFalse + 25: TypeInt 32 1 + 26: TypePointer Function 25(int) + 28: 25(int) Constant 1 + 29: TypePointer Function 6(float) + 31: TypeFloat 64 + 32: TypePointer Function 31(float) + 34: 31(float) Constant 0 1072693248 + 35: TypeInt 32 0 + 36: TypePointer Function 35(int) + 38: 35(int) Constant 1 + 39: TypeVector 21(bool) 2 + 40: TypePointer Function 39(bvec2) + 42: 21(bool) ConstantTrue + 43: 39(bvec2) ConstantComposite 24 42 + 44: TypeVector 25(int) 2 + 45: TypePointer Function 44(ivec2) + 47: 25(int) Constant 2 + 48: 44(ivec2) ConstantComposite 28 47 + 49: TypeVector 6(float) 2 + 50: TypePointer Function 49(fvec2) + 52: 49(fvec2) ConstantComposite 13 14 + 53: TypeVector 31(float) 2 + 54: TypePointer Function 53(fvec2) + 56: 31(float) Constant 0 1073741824 + 57: 53(fvec2) ConstantComposite 34 56 + 58: TypeVector 35(int) 2 + 59: TypePointer Function 58(ivec2) + 61: 35(int) Constant 2 + 62: 58(ivec2) ConstantComposite 38 61 + 63: TypeVector 21(bool) 3 + 64: TypePointer Function 63(bvec3) + 66: 63(bvec3) ConstantComposite 24 42 42 + 67: TypeVector 25(int) 3 + 68: TypePointer Function 67(ivec3) + 70: 25(int) Constant 3 + 71: 67(ivec3) ConstantComposite 28 47 70 + 72: TypeVector 6(float) 3 + 73: TypePointer Function 72(fvec3) + 75: 72(fvec3) ConstantComposite 13 14 15 + 76: TypeVector 31(float) 3 + 77: TypePointer Function 76(fvec3) + 79: 31(float) Constant 0 1074266112 + 80: 76(fvec3) ConstantComposite 34 56 79 + 81: TypeVector 35(int) 3 + 82: TypePointer Function 81(ivec3) + 84: 35(int) Constant 3 + 85: 81(ivec3) ConstantComposite 38 61 84 + 86: TypeVector 21(bool) 4 + 87: TypePointer Function 86(bvec4) + 89: 86(bvec4) ConstantComposite 24 42 42 24 + 90: TypeVector 25(int) 4 + 91: TypePointer Function 90(ivec4) + 93: 25(int) Constant 4 + 94: 90(ivec4) ConstantComposite 28 47 70 93 + 96: TypeVector 31(float) 4 + 97: TypePointer Function 96(fvec4) + 99: 31(float) Constant 0 1074790400 + 100: 96(fvec4) ConstantComposite 34 56 79 99 + 101: TypeVector 35(int) 4 + 102: TypePointer Function 101(ivec4) + 104: 35(int) Constant 4 + 105: 101(ivec4) ConstantComposite 38 61 84 104 + 106: TypeMatrix 10(fvec4) 4 + 107: TypePointer Function 106 + 109: 6(float) Constant 0 + 110: 10(fvec4) ConstantComposite 109 13 14 15 + 111: 6(float) Constant 1086324736 + 112: 6(float) Constant 1088421888 + 113: 10(fvec4) ConstantComposite 16 19 111 112 + 114: 6(float) Constant 1090519040 + 115: 6(float) Constant 1091567616 + 116: 6(float) Constant 1092616192 + 117: 6(float) Constant 1093664768 + 118: 10(fvec4) ConstantComposite 114 115 116 117 + 119: 6(float) Constant 1094713344 + 120: 6(float) Constant 1095761920 + 121: 6(float) Constant 1096810496 + 122: 6(float) Constant 1097859072 + 123: 10(fvec4) ConstantComposite 119 120 121 122 + 124: 106 ConstantComposite 110 113 118 123 + 126: TypeMatrix 72(fvec3) 2 + 127: TypePointer Function 126 + 129: 72(fvec3) ConstantComposite 16 19 111 + 130: 126 ConstantComposite 75 129 + 131: TypeMatrix 49(fvec2) 3 + 132: TypePointer Function 131 + 134: 49(fvec2) ConstantComposite 15 16 + 135: 49(fvec2) ConstantComposite 19 111 + 136: 131 ConstantComposite 52 134 135 + 137: TypeMatrix 49(fvec2) 4 + 138: TypePointer Function 137 + 140: 49(fvec2) ConstantComposite 112 114 + 141: 137 ConstantComposite 52 134 135 140 + 142: TypeMatrix 72(fvec3) 4 + 143: TypePointer Function 142 + 145: 72(fvec3) ConstantComposite 112 114 115 + 146: 72(fvec3) ConstantComposite 116 117 119 + 147: 142 ConstantComposite 75 129 145 146 + 150: TypePointer Output 6(float) +151(@entryPointOutput): 150(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label - 9(r00): 8(ptr) Variable Function - 15(r01): 8(ptr) Variable Function - 20(r12): 19(ptr) Variable Function - 24(r13): 23(ptr) Variable Function - 27(r14): 26(ptr) Variable Function - 30(r15): 29(ptr) Variable Function - 34(r16): 33(ptr) Variable Function - 38(r20): 37(ptr) Variable Function - 43(r21): 42(ptr) Variable Function - 48(r22): 47(ptr) Variable Function - 52(r23): 51(ptr) Variable Function - 57(r24): 56(ptr) Variable Function - 62(r30): 61(ptr) Variable Function - 66(r31): 65(ptr) Variable Function - 71(r32): 70(ptr) Variable Function - 75(r33): 74(ptr) Variable Function - 80(r34): 79(ptr) Variable Function - 85(r40): 84(ptr) Variable Function - 89(r41): 88(ptr) Variable Function - 92(r42): 8(ptr) Variable Function - 95(r43): 94(ptr) Variable Function - 100(r44): 99(ptr) Variable Function - 105(r50): 104(ptr) Variable Function - 122(r51): 104(ptr) Variable Function - 125(r61): 124(ptr) Variable Function - 130(r62): 129(ptr) Variable Function - 136(r65): 135(ptr) Variable Function - 141(r66): 140(ptr) Variable Function - Store 9(r00) 14 - Store 15(r01) 17 - Store 20(r12) 21 - Store 24(r13) 25 - Store 27(r14) 10 - Store 30(r15) 31 - Store 34(r16) 35 - Store 38(r20) 40 - Store 43(r21) 45 - Store 48(r22) 49 - Store 52(r23) 54 - Store 57(r24) 59 - Store 62(r30) 63 - Store 66(r31) 68 - Store 71(r32) 72 - Store 75(r33) 77 - Store 80(r34) 82 - Store 85(r40) 86 - Store 89(r41) 91 - Store 92(r42) 14 - Store 95(r43) 97 - Store 100(r44) 102 - Store 105(r50) 121 - Store 122(r51) 121 - Store 125(r61) 127 - Store 130(r62) 133 - Store 136(r65) 138 - Store 141(r66) 144 - Store 146(@entryPointOutput) 106 + 152: 6(float) FunctionCall 8(@PixelShaderFunction() + Store 151(@entryPointOutput) 152 Return FunctionEnd +8(@PixelShaderFunction(): 6(float) Function None 7 + 9: Label + 12(r00): 11(ptr) Variable Function + 18(r01): 11(ptr) Variable Function + 23(r12): 22(ptr) Variable Function + 27(r13): 26(ptr) Variable Function + 30(r14): 29(ptr) Variable Function + 33(r15): 32(ptr) Variable Function + 37(r16): 36(ptr) Variable Function + 41(r20): 40(ptr) Variable Function + 46(r21): 45(ptr) Variable Function + 51(r22): 50(ptr) Variable Function + 55(r23): 54(ptr) Variable Function + 60(r24): 59(ptr) Variable Function + 65(r30): 64(ptr) Variable Function + 69(r31): 68(ptr) Variable Function + 74(r32): 73(ptr) Variable Function + 78(r33): 77(ptr) Variable Function + 83(r34): 82(ptr) Variable Function + 88(r40): 87(ptr) Variable Function + 92(r41): 91(ptr) Variable Function + 95(r42): 11(ptr) Variable Function + 98(r43): 97(ptr) Variable Function + 103(r44): 102(ptr) Variable Function + 108(r50): 107(ptr) Variable Function + 125(r51): 107(ptr) Variable Function + 128(r61): 127(ptr) Variable Function + 133(r62): 132(ptr) Variable Function + 139(r65): 138(ptr) Variable Function + 144(r66): 143(ptr) Variable Function + Store 12(r00) 17 + Store 18(r01) 20 + Store 23(r12) 24 + Store 27(r13) 28 + Store 30(r14) 13 + Store 33(r15) 34 + Store 37(r16) 38 + Store 41(r20) 43 + Store 46(r21) 48 + Store 51(r22) 52 + Store 55(r23) 57 + Store 60(r24) 62 + Store 65(r30) 66 + Store 69(r31) 71 + Store 74(r32) 75 + Store 78(r33) 80 + Store 83(r34) 85 + Store 88(r40) 89 + Store 92(r41) 94 + Store 95(r42) 17 + Store 98(r43) 100 + Store 103(r44) 105 + Store 108(r50) 124 + Store 125(r51) 124 + Store 128(r61) 130 + Store 133(r62) 136 + Store 139(r65) 141 + Store 144(r66) 147 + ReturnValue 109 + FunctionEnd diff --git a/Test/baseResults/hlsl.tx.bracket.frag.out b/Test/baseResults/hlsl.tx.bracket.frag.out index d000257e..a2f3151a 100644 --- a/Test/baseResults/hlsl.tx.bracket.frag.out +++ b/Test/baseResults/hlsl.tx.bracket.frag.out @@ -29,7 +29,7 @@ gl_FragCoord origin is upper left 0:42 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) 0:42 Constant: 0:42 3 (const uint) -0:45 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:45 Function Definition: @main( (temp structure{temp 4-component vector of float Color}) 0:45 Function Parameters: 0:? Sequence 0:49 textureFetch (temp 4-component vector of float) @@ -176,17 +176,19 @@ gl_FragCoord origin is upper left 0:70 1.000000 0:70 1.000000 0:70 1.000000 -0:72 Sequence -0:72 Sequence -0:72 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:72 Color: direct index for structure (temp 4-component vector of float) -0:72 'psout' (temp structure{temp 4-component vector of float Color}) -0:72 Constant: -0:72 0 (const int) -0:72 Branch: Return +0:72 Branch: Return with expression +0:72 'psout' (temp structure{temp 4-component vector of float Color}) +0:45 Function Definition: main( (temp void) +0:45 Function Parameters: +0:? Sequence +0:45 Sequence +0:45 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:45 Color: direct index for structure (temp 4-component vector of float) +0:45 Function Call: @main( (temp structure{temp 4-component vector of float Color}) +0:45 Constant: +0:45 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -204,6 +206,7 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2di4a' (uniform itexture2DArray) 0:? 'g_tTex2du4a' (uniform utexture2DArray) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) Linked fragment stage: @@ -239,7 +242,7 @@ gl_FragCoord origin is upper left 0:42 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) 0:42 Constant: 0:42 3 (const uint) -0:45 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:45 Function Definition: @main( (temp structure{temp 4-component vector of float Color}) 0:45 Function Parameters: 0:? Sequence 0:49 textureFetch (temp 4-component vector of float) @@ -386,17 +389,19 @@ gl_FragCoord origin is upper left 0:70 1.000000 0:70 1.000000 0:70 1.000000 -0:72 Sequence -0:72 Sequence -0:72 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:72 Color: direct index for structure (temp 4-component vector of float) -0:72 'psout' (temp structure{temp 4-component vector of float Color}) -0:72 Constant: -0:72 0 (const int) -0:72 Branch: Return +0:72 Branch: Return with expression +0:72 'psout' (temp structure{temp 4-component vector of float Color}) +0:45 Function Definition: main( (temp void) +0:45 Function Parameters: +0:? Sequence +0:45 Sequence +0:45 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:45 Color: direct index for structure (temp 4-component vector of float) +0:45 Function Call: @main( (temp structure{temp 4-component vector of float Color}) +0:45 Constant: +0:45 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -414,16 +419,17 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2di4a' (uniform itexture2DArray) 0:? 'g_tTex2du4a' (uniform utexture2DArray) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 183 +// Id's are bound by 188 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 158 + EntryPoint Fragment 4 "main" 164 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 11 "Fn1(vi4;" @@ -433,77 +439,78 @@ gl_FragCoord origin is upper left Name 25 "Fn1(vf4;" Name 24 "x" Name 28 "SomeValue(" - Name 41 "$Global" - MemberName 41($Global) 0 "c1" - MemberName 41($Global) 1 "c2" - MemberName 41($Global) 2 "c3" - MemberName 41($Global) 3 "c4" - MemberName 41($Global) 4 "o1" - MemberName 41($Global) 5 "o2" - MemberName 41($Global) 6 "o3" - MemberName 41($Global) 7 "o4" - Name 43 "" - Name 53 "g_tTex1df4" - Name 60 "r00" - Name 65 "r01" - Name 68 "g_tTex1di4" - Name 73 "r02" - Name 76 "g_tTex1du4" - Name 81 "r10" - Name 84 "g_tTex2df4" - Name 91 "r11" - Name 94 "g_tTex2di4" - Name 99 "r12" - Name 102 "g_tTex2du4" - Name 107 "r20" - Name 110 "g_tTex3df4" - Name 117 "r21" - Name 120 "g_tTex3di4" - Name 125 "r22" - Name 128 "g_tTex3du4" - Name 137 "param" - Name 143 "param" - Name 149 "param" - Name 151 "PS_OUTPUT" - MemberName 151(PS_OUTPUT) 0 "Color" - Name 153 "psout" - Name 158 "Color" - Name 164 "g_sSamp" - Name 167 "g_tTex1df4a" - Name 170 "g_tTex1di4a" - Name 173 "g_tTex1du4a" - Name 176 "g_tTex2df4a" - Name 179 "g_tTex2di4a" - Name 182 "g_tTex2du4a" - MemberDecorate 41($Global) 0 Offset 0 - MemberDecorate 41($Global) 1 Offset 8 - MemberDecorate 41($Global) 2 Offset 16 - MemberDecorate 41($Global) 3 Offset 32 - MemberDecorate 41($Global) 4 Offset 48 - MemberDecorate 41($Global) 5 Offset 56 - MemberDecorate 41($Global) 6 Offset 64 - MemberDecorate 41($Global) 7 Offset 80 - Decorate 41($Global) Block - Decorate 43 DescriptorSet 0 - Decorate 53(g_tTex1df4) DescriptorSet 0 - Decorate 53(g_tTex1df4) Binding 0 - Decorate 68(g_tTex1di4) DescriptorSet 0 - Decorate 76(g_tTex1du4) DescriptorSet 0 - Decorate 84(g_tTex2df4) DescriptorSet 0 - Decorate 94(g_tTex2di4) DescriptorSet 0 - Decorate 102(g_tTex2du4) DescriptorSet 0 - Decorate 110(g_tTex3df4) DescriptorSet 0 - Decorate 120(g_tTex3di4) DescriptorSet 0 - Decorate 128(g_tTex3du4) DescriptorSet 0 - Decorate 158(Color) Location 0 - Decorate 164(g_sSamp) DescriptorSet 0 - Decorate 164(g_sSamp) Binding 0 - Decorate 167(g_tTex1df4a) DescriptorSet 0 - Decorate 170(g_tTex1di4a) DescriptorSet 0 - Decorate 173(g_tTex1du4a) DescriptorSet 0 - Decorate 176(g_tTex2df4a) DescriptorSet 0 - Decorate 179(g_tTex2di4a) DescriptorSet 0 - Decorate 182(g_tTex2du4a) DescriptorSet 0 + Name 30 "PS_OUTPUT" + MemberName 30(PS_OUTPUT) 0 "Color" + Name 32 "@main(" + Name 45 "$Global" + MemberName 45($Global) 0 "c1" + MemberName 45($Global) 1 "c2" + MemberName 45($Global) 2 "c3" + MemberName 45($Global) 3 "c4" + MemberName 45($Global) 4 "o1" + MemberName 45($Global) 5 "o2" + MemberName 45($Global) 6 "o3" + MemberName 45($Global) 7 "o4" + Name 47 "" + Name 57 "g_tTex1df4" + Name 64 "r00" + Name 69 "r01" + Name 72 "g_tTex1di4" + Name 77 "r02" + Name 80 "g_tTex1du4" + Name 85 "r10" + Name 88 "g_tTex2df4" + Name 95 "r11" + Name 98 "g_tTex2di4" + Name 103 "r12" + Name 106 "g_tTex2du4" + Name 111 "r20" + Name 114 "g_tTex3df4" + Name 121 "r21" + Name 124 "g_tTex3di4" + Name 129 "r22" + Name 132 "g_tTex3du4" + Name 141 "param" + Name 147 "param" + Name 153 "param" + Name 156 "psout" + Name 164 "Color" + Name 169 "g_sSamp" + Name 172 "g_tTex1df4a" + Name 175 "g_tTex1di4a" + Name 178 "g_tTex1du4a" + Name 181 "g_tTex2df4a" + Name 184 "g_tTex2di4a" + Name 187 "g_tTex2du4a" + MemberDecorate 45($Global) 0 Offset 0 + MemberDecorate 45($Global) 1 Offset 8 + MemberDecorate 45($Global) 2 Offset 16 + MemberDecorate 45($Global) 3 Offset 32 + MemberDecorate 45($Global) 4 Offset 48 + MemberDecorate 45($Global) 5 Offset 56 + MemberDecorate 45($Global) 6 Offset 64 + MemberDecorate 45($Global) 7 Offset 80 + Decorate 45($Global) Block + Decorate 47 DescriptorSet 0 + Decorate 57(g_tTex1df4) DescriptorSet 0 + Decorate 57(g_tTex1df4) Binding 0 + Decorate 72(g_tTex1di4) DescriptorSet 0 + Decorate 80(g_tTex1du4) DescriptorSet 0 + Decorate 88(g_tTex2df4) DescriptorSet 0 + Decorate 98(g_tTex2di4) DescriptorSet 0 + Decorate 106(g_tTex2du4) DescriptorSet 0 + Decorate 114(g_tTex3df4) DescriptorSet 0 + Decorate 124(g_tTex3di4) DescriptorSet 0 + Decorate 132(g_tTex3du4) DescriptorSet 0 + Decorate 164(Color) Location 0 + Decorate 169(g_sSamp) DescriptorSet 0 + Decorate 169(g_sSamp) Binding 0 + Decorate 172(g_tTex1df4a) DescriptorSet 0 + Decorate 175(g_tTex1di4a) DescriptorSet 0 + Decorate 178(g_tTex1du4a) DescriptorSet 0 + Decorate 181(g_tTex2df4a) DescriptorSet 0 + Decorate 184(g_tTex2di4a) DescriptorSet 0 + Decorate 187(g_tTex2du4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 @@ -519,184 +526,190 @@ gl_FragCoord origin is upper left 22: TypePointer Function 21(fvec4) 23: TypeFunction 21(fvec4) 22(ptr) 27: TypeFunction 21(fvec4) - 39: TypeVector 6(int) 2 - 40: TypeVector 6(int) 3 - 41($Global): TypeStruct 6(int) 39(ivec2) 40(ivec3) 7(ivec4) 6(int) 39(ivec2) 40(ivec3) 7(ivec4) - 42: TypePointer Uniform 41($Global) - 43: 42(ptr) Variable Uniform - 44: 6(int) Constant 3 - 45: TypePointer Uniform 7(ivec4) - 51: TypeImage 20(float) 1D sampled format:Unknown - 52: TypePointer UniformConstant 51 - 53(g_tTex1df4): 52(ptr) Variable UniformConstant - 55: 6(int) Constant 0 - 56: TypePointer Uniform 6(int) - 66: TypeImage 6(int) 1D sampled format:Unknown - 67: TypePointer UniformConstant 66 - 68(g_tTex1di4): 67(ptr) Variable UniformConstant - 74: TypeImage 13(int) 1D sampled format:Unknown - 75: TypePointer UniformConstant 74 - 76(g_tTex1du4): 75(ptr) Variable UniformConstant - 82: TypeImage 20(float) 2D sampled format:Unknown - 83: TypePointer UniformConstant 82 - 84(g_tTex2df4): 83(ptr) Variable UniformConstant - 86: 6(int) Constant 1 - 87: TypePointer Uniform 39(ivec2) - 92: TypeImage 6(int) 2D sampled format:Unknown - 93: TypePointer UniformConstant 92 - 94(g_tTex2di4): 93(ptr) Variable UniformConstant - 100: TypeImage 13(int) 2D sampled format:Unknown - 101: TypePointer UniformConstant 100 - 102(g_tTex2du4): 101(ptr) Variable UniformConstant - 108: TypeImage 20(float) 3D sampled format:Unknown - 109: TypePointer UniformConstant 108 - 110(g_tTex3df4): 109(ptr) Variable UniformConstant - 112: 6(int) Constant 2 - 113: TypePointer Uniform 40(ivec3) - 118: TypeImage 6(int) 3D sampled format:Unknown - 119: TypePointer UniformConstant 118 - 120(g_tTex3di4): 119(ptr) Variable UniformConstant - 126: TypeImage 13(int) 3D sampled format:Unknown - 127: TypePointer UniformConstant 126 - 128(g_tTex3du4): 127(ptr) Variable UniformConstant - 151(PS_OUTPUT): TypeStruct 21(fvec4) - 152: TypePointer Function 151(PS_OUTPUT) - 154: 20(float) Constant 1065353216 - 155: 21(fvec4) ConstantComposite 154 154 154 154 - 157: TypePointer Output 21(fvec4) - 158(Color): 157(ptr) Variable Output - 162: TypeSampler - 163: TypePointer UniformConstant 162 - 164(g_sSamp): 163(ptr) Variable UniformConstant - 165: TypeImage 20(float) 1D array sampled format:Unknown - 166: TypePointer UniformConstant 165 -167(g_tTex1df4a): 166(ptr) Variable UniformConstant - 168: TypeImage 6(int) 1D array sampled format:Unknown - 169: TypePointer UniformConstant 168 -170(g_tTex1di4a): 169(ptr) Variable UniformConstant - 171: TypeImage 13(int) 1D array sampled format:Unknown - 172: TypePointer UniformConstant 171 -173(g_tTex1du4a): 172(ptr) Variable UniformConstant - 174: TypeImage 20(float) 2D array sampled format:Unknown - 175: TypePointer UniformConstant 174 -176(g_tTex2df4a): 175(ptr) Variable UniformConstant - 177: TypeImage 6(int) 2D array sampled format:Unknown - 178: TypePointer UniformConstant 177 -179(g_tTex2di4a): 178(ptr) Variable UniformConstant - 180: TypeImage 13(int) 2D array sampled format:Unknown - 181: TypePointer UniformConstant 180 -182(g_tTex2du4a): 181(ptr) Variable UniformConstant + 30(PS_OUTPUT): TypeStruct 21(fvec4) + 31: TypeFunction 30(PS_OUTPUT) + 43: TypeVector 6(int) 2 + 44: TypeVector 6(int) 3 + 45($Global): TypeStruct 6(int) 43(ivec2) 44(ivec3) 7(ivec4) 6(int) 43(ivec2) 44(ivec3) 7(ivec4) + 46: TypePointer Uniform 45($Global) + 47: 46(ptr) Variable Uniform + 48: 6(int) Constant 3 + 49: TypePointer Uniform 7(ivec4) + 55: TypeImage 20(float) 1D sampled format:Unknown + 56: TypePointer UniformConstant 55 + 57(g_tTex1df4): 56(ptr) Variable UniformConstant + 59: 6(int) Constant 0 + 60: TypePointer Uniform 6(int) + 70: TypeImage 6(int) 1D sampled format:Unknown + 71: TypePointer UniformConstant 70 + 72(g_tTex1di4): 71(ptr) Variable UniformConstant + 78: TypeImage 13(int) 1D sampled format:Unknown + 79: TypePointer UniformConstant 78 + 80(g_tTex1du4): 79(ptr) Variable UniformConstant + 86: TypeImage 20(float) 2D sampled format:Unknown + 87: TypePointer UniformConstant 86 + 88(g_tTex2df4): 87(ptr) Variable UniformConstant + 90: 6(int) Constant 1 + 91: TypePointer Uniform 43(ivec2) + 96: TypeImage 6(int) 2D sampled format:Unknown + 97: TypePointer UniformConstant 96 + 98(g_tTex2di4): 97(ptr) Variable UniformConstant + 104: TypeImage 13(int) 2D sampled format:Unknown + 105: TypePointer UniformConstant 104 + 106(g_tTex2du4): 105(ptr) Variable UniformConstant + 112: TypeImage 20(float) 3D sampled format:Unknown + 113: TypePointer UniformConstant 112 + 114(g_tTex3df4): 113(ptr) Variable UniformConstant + 116: 6(int) Constant 2 + 117: TypePointer Uniform 44(ivec3) + 122: TypeImage 6(int) 3D sampled format:Unknown + 123: TypePointer UniformConstant 122 + 124(g_tTex3di4): 123(ptr) Variable UniformConstant + 130: TypeImage 13(int) 3D sampled format:Unknown + 131: TypePointer UniformConstant 130 + 132(g_tTex3du4): 131(ptr) Variable UniformConstant + 155: TypePointer Function 30(PS_OUTPUT) + 157: 20(float) Constant 1065353216 + 158: 21(fvec4) ConstantComposite 157 157 157 157 + 163: TypePointer Output 21(fvec4) + 164(Color): 163(ptr) Variable Output + 167: TypeSampler + 168: TypePointer UniformConstant 167 + 169(g_sSamp): 168(ptr) Variable UniformConstant + 170: TypeImage 20(float) 1D array sampled format:Unknown + 171: TypePointer UniformConstant 170 +172(g_tTex1df4a): 171(ptr) Variable UniformConstant + 173: TypeImage 6(int) 1D array sampled format:Unknown + 174: TypePointer UniformConstant 173 +175(g_tTex1di4a): 174(ptr) Variable UniformConstant + 176: TypeImage 13(int) 1D array sampled format:Unknown + 177: TypePointer UniformConstant 176 +178(g_tTex1du4a): 177(ptr) Variable UniformConstant + 179: TypeImage 20(float) 2D array sampled format:Unknown + 180: TypePointer UniformConstant 179 +181(g_tTex2df4a): 180(ptr) Variable UniformConstant + 182: TypeImage 6(int) 2D array sampled format:Unknown + 183: TypePointer UniformConstant 182 +184(g_tTex2di4a): 183(ptr) Variable UniformConstant + 185: TypeImage 13(int) 2D array sampled format:Unknown + 186: TypePointer UniformConstant 185 +187(g_tTex2du4a): 186(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 60(r00): 22(ptr) Variable Function - 65(r01): 8(ptr) Variable Function - 73(r02): 15(ptr) Variable Function - 81(r10): 22(ptr) Variable Function - 91(r11): 8(ptr) Variable Function - 99(r12): 15(ptr) Variable Function - 107(r20): 22(ptr) Variable Function - 117(r21): 8(ptr) Variable Function - 125(r22): 15(ptr) Variable Function - 137(param): 22(ptr) Variable Function - 143(param): 8(ptr) Variable Function - 149(param): 15(ptr) Variable Function - 153(psout): 152(ptr) Variable Function - 54: 51 Load 53(g_tTex1df4) - 57: 56(ptr) AccessChain 43 55 - 58: 6(int) Load 57 - 59: 21(fvec4) ImageFetch 54 58 Lod 55 - 61: 51 Load 53(g_tTex1df4) - 62: 56(ptr) AccessChain 43 55 - 63: 6(int) Load 62 - 64: 21(fvec4) ImageFetch 61 63 Lod 55 - Store 60(r00) 64 - 69: 66 Load 68(g_tTex1di4) - 70: 56(ptr) AccessChain 43 55 - 71: 6(int) Load 70 - 72: 7(ivec4) ImageFetch 69 71 Lod 55 - Store 65(r01) 72 - 77: 74 Load 76(g_tTex1du4) - 78: 56(ptr) AccessChain 43 55 - 79: 6(int) Load 78 - 80: 14(ivec4) ImageFetch 77 79 Lod 55 - Store 73(r02) 80 - 85: 82 Load 84(g_tTex2df4) - 88: 87(ptr) AccessChain 43 86 - 89: 39(ivec2) Load 88 - 90: 21(fvec4) ImageFetch 85 89 Lod 55 - Store 81(r10) 90 - 95: 92 Load 94(g_tTex2di4) - 96: 87(ptr) AccessChain 43 86 - 97: 39(ivec2) Load 96 - 98: 7(ivec4) ImageFetch 95 97 Lod 55 - Store 91(r11) 98 - 103: 100 Load 102(g_tTex2du4) - 104: 87(ptr) AccessChain 43 86 - 105: 39(ivec2) Load 104 - 106: 14(ivec4) ImageFetch 103 105 Lod 55 - Store 99(r12) 106 - 111: 108 Load 110(g_tTex3df4) - 114: 113(ptr) AccessChain 43 112 - 115: 40(ivec3) Load 114 - 116: 21(fvec4) ImageFetch 111 115 Lod 55 - Store 107(r20) 116 - 121: 118 Load 120(g_tTex3di4) - 122: 113(ptr) AccessChain 43 112 - 123: 40(ivec3) Load 122 - 124: 7(ivec4) ImageFetch 121 123 Lod 55 - Store 117(r21) 124 - 129: 126 Load 128(g_tTex3du4) - 130: 113(ptr) AccessChain 43 112 - 131: 40(ivec3) Load 130 - 132: 14(ivec4) ImageFetch 129 131 Lod 55 - Store 125(r22) 132 - 133: 51 Load 53(g_tTex1df4) - 134: 56(ptr) AccessChain 43 55 - 135: 6(int) Load 134 - 136: 21(fvec4) ImageFetch 133 135 Lod 55 - Store 137(param) 136 - 138: 21(fvec4) FunctionCall 25(Fn1(vf4;) 137(param) - 139: 66 Load 68(g_tTex1di4) - 140: 56(ptr) AccessChain 43 55 - 141: 6(int) Load 140 - 142: 7(ivec4) ImageFetch 139 141 Lod 55 - Store 143(param) 142 - 144: 7(ivec4) FunctionCall 11(Fn1(vi4;) 143(param) - 145: 74 Load 76(g_tTex1du4) - 146: 56(ptr) AccessChain 43 55 - 147: 6(int) Load 146 - 148: 14(ivec4) ImageFetch 145 147 Lod 55 - Store 149(param) 148 - 150: 14(ivec4) FunctionCall 18(Fn1(vu4;) 149(param) - 156: 22(ptr) AccessChain 153(psout) 55 - Store 156 155 - 159: 22(ptr) AccessChain 153(psout) 55 - 160: 21(fvec4) Load 159 - Store 158(Color) 160 + 165:30(PS_OUTPUT) FunctionCall 32(@main() + 166: 21(fvec4) CompositeExtract 165 0 + Store 164(Color) 166 Return FunctionEnd 11(Fn1(vi4;): 7(ivec4) Function None 9 10(x): 8(ptr) FunctionParameter 12: Label - 30: 7(ivec4) Load 10(x) - ReturnValue 30 + 34: 7(ivec4) Load 10(x) + ReturnValue 34 FunctionEnd 18(Fn1(vu4;): 14(ivec4) Function None 16 17(x): 15(ptr) FunctionParameter 19: Label - 33: 14(ivec4) Load 17(x) - ReturnValue 33 + 37: 14(ivec4) Load 17(x) + ReturnValue 37 FunctionEnd 25(Fn1(vf4;): 21(fvec4) Function None 23 24(x): 22(ptr) FunctionParameter 26: Label - 36: 21(fvec4) Load 24(x) - ReturnValue 36 + 40: 21(fvec4) Load 24(x) + ReturnValue 40 FunctionEnd 28(SomeValue(): 21(fvec4) Function None 27 29: Label - 46: 45(ptr) AccessChain 43 44 - 47: 7(ivec4) Load 46 - 48: 21(fvec4) ConvertSToF 47 - ReturnValue 48 + 50: 49(ptr) AccessChain 47 48 + 51: 7(ivec4) Load 50 + 52: 21(fvec4) ConvertSToF 51 + ReturnValue 52 + FunctionEnd + 32(@main():30(PS_OUTPUT) Function None 31 + 33: Label + 64(r00): 22(ptr) Variable Function + 69(r01): 8(ptr) Variable Function + 77(r02): 15(ptr) Variable Function + 85(r10): 22(ptr) Variable Function + 95(r11): 8(ptr) Variable Function + 103(r12): 15(ptr) Variable Function + 111(r20): 22(ptr) Variable Function + 121(r21): 8(ptr) Variable Function + 129(r22): 15(ptr) Variable Function + 141(param): 22(ptr) Variable Function + 147(param): 8(ptr) Variable Function + 153(param): 15(ptr) Variable Function + 156(psout): 155(ptr) Variable Function + 58: 55 Load 57(g_tTex1df4) + 61: 60(ptr) AccessChain 47 59 + 62: 6(int) Load 61 + 63: 21(fvec4) ImageFetch 58 62 Lod 59 + 65: 55 Load 57(g_tTex1df4) + 66: 60(ptr) AccessChain 47 59 + 67: 6(int) Load 66 + 68: 21(fvec4) ImageFetch 65 67 Lod 59 + Store 64(r00) 68 + 73: 70 Load 72(g_tTex1di4) + 74: 60(ptr) AccessChain 47 59 + 75: 6(int) Load 74 + 76: 7(ivec4) ImageFetch 73 75 Lod 59 + Store 69(r01) 76 + 81: 78 Load 80(g_tTex1du4) + 82: 60(ptr) AccessChain 47 59 + 83: 6(int) Load 82 + 84: 14(ivec4) ImageFetch 81 83 Lod 59 + Store 77(r02) 84 + 89: 86 Load 88(g_tTex2df4) + 92: 91(ptr) AccessChain 47 90 + 93: 43(ivec2) Load 92 + 94: 21(fvec4) ImageFetch 89 93 Lod 59 + Store 85(r10) 94 + 99: 96 Load 98(g_tTex2di4) + 100: 91(ptr) AccessChain 47 90 + 101: 43(ivec2) Load 100 + 102: 7(ivec4) ImageFetch 99 101 Lod 59 + Store 95(r11) 102 + 107: 104 Load 106(g_tTex2du4) + 108: 91(ptr) AccessChain 47 90 + 109: 43(ivec2) Load 108 + 110: 14(ivec4) ImageFetch 107 109 Lod 59 + Store 103(r12) 110 + 115: 112 Load 114(g_tTex3df4) + 118: 117(ptr) AccessChain 47 116 + 119: 44(ivec3) Load 118 + 120: 21(fvec4) ImageFetch 115 119 Lod 59 + Store 111(r20) 120 + 125: 122 Load 124(g_tTex3di4) + 126: 117(ptr) AccessChain 47 116 + 127: 44(ivec3) Load 126 + 128: 7(ivec4) ImageFetch 125 127 Lod 59 + Store 121(r21) 128 + 133: 130 Load 132(g_tTex3du4) + 134: 117(ptr) AccessChain 47 116 + 135: 44(ivec3) Load 134 + 136: 14(ivec4) ImageFetch 133 135 Lod 59 + Store 129(r22) 136 + 137: 55 Load 57(g_tTex1df4) + 138: 60(ptr) AccessChain 47 59 + 139: 6(int) Load 138 + 140: 21(fvec4) ImageFetch 137 139 Lod 59 + Store 141(param) 140 + 142: 21(fvec4) FunctionCall 25(Fn1(vf4;) 141(param) + 143: 70 Load 72(g_tTex1di4) + 144: 60(ptr) AccessChain 47 59 + 145: 6(int) Load 144 + 146: 7(ivec4) ImageFetch 143 145 Lod 59 + Store 147(param) 146 + 148: 7(ivec4) FunctionCall 11(Fn1(vi4;) 147(param) + 149: 78 Load 80(g_tTex1du4) + 150: 60(ptr) AccessChain 47 59 + 151: 6(int) Load 150 + 152: 14(ivec4) ImageFetch 149 151 Lod 59 + Store 153(param) 152 + 154: 14(ivec4) FunctionCall 18(Fn1(vu4;) 153(param) + 159: 22(ptr) AccessChain 156(psout) 59 + Store 159 158 + 160:30(PS_OUTPUT) Load 156(psout) + ReturnValue 160 FunctionEnd diff --git a/Test/baseResults/hlsl.type.half.frag.out b/Test/baseResults/hlsl.type.half.frag.out index 28483510..3f18cbaf 100644 --- a/Test/baseResults/hlsl.type.half.frag.out +++ b/Test/baseResults/hlsl.type.half.frag.out @@ -2,7 +2,7 @@ hlsl.type.half.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:3 Function Definition: main( (temp 4-component vector of float) +0:3 Function Definition: @main( (temp 4-component vector of float) 0:3 Function Parameters: 0:? Sequence 0:4 Sequence @@ -36,15 +36,18 @@ gl_FragCoord origin is upper left 0:8 4.000000 0:8 4.000000 0:8 4.000000 -0:10 Sequence -0:10 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:10 Constant: -0:10 0.000000 -0:10 0.000000 -0:10 0.000000 -0:10 0.000000 -0:10 Branch: Return +0:10 Branch: Return with expression +0:10 Constant: +0:10 0.000000 +0:10 0.000000 +0:10 0.000000 +0:10 0.000000 +0:3 Function Definition: main( (temp void) +0:3 Function Parameters: +0:? Sequence +0:3 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:3 Function Call: @main( (temp 4-component vector of float) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) @@ -55,7 +58,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:3 Function Definition: main( (temp 4-component vector of float) +0:3 Function Definition: @main( (temp 4-component vector of float) 0:3 Function Parameters: 0:? Sequence 0:4 Sequence @@ -89,73 +92,83 @@ gl_FragCoord origin is upper left 0:8 4.000000 0:8 4.000000 0:8 4.000000 -0:10 Sequence -0:10 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:10 Constant: -0:10 0.000000 -0:10 0.000000 -0:10 0.000000 -0:10 0.000000 -0:10 Branch: Return +0:10 Branch: Return with expression +0:10 Constant: +0:10 0.000000 +0:10 0.000000 +0:10 0.000000 +0:10 0.000000 +0:3 Function Definition: main( (temp void) +0:3 Function Parameters: +0:? Sequence +0:3 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:3 Function Call: @main( (temp 4-component vector of float) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 31 +// Id's are bound by 36 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 28 + EntryPoint Fragment 4 "main" 34 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "h0" - Name 10 "h1" - Name 14 "h2" - Name 19 "h3" - Name 24 "h4" - Name 28 "@entryPointOutput" - Decorate 8(h0) RelaxedPrecision - Decorate 10(h1) RelaxedPrecision - Decorate 14(h2) RelaxedPrecision - Decorate 19(h3) RelaxedPrecision - Decorate 24(h4) RelaxedPrecision - Decorate 28(@entryPointOutput) Location 0 + Name 9 "@main(" + Name 12 "h0" + Name 14 "h1" + Name 18 "h2" + Name 23 "h3" + Name 27 "h4" + Name 34 "@entryPointOutput" + Decorate 12(h0) RelaxedPrecision + Decorate 14(h1) RelaxedPrecision + Decorate 18(h2) RelaxedPrecision + Decorate 23(h3) RelaxedPrecision + Decorate 27(h4) RelaxedPrecision + Decorate 34(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypePointer Function 6(float) - 9: 6(float) Constant 0 - 11: 6(float) Constant 1065353216 - 12: TypeVector 6(float) 2 - 13: TypePointer Function 12(fvec2) - 15: 6(float) Constant 1073741824 - 16: 12(fvec2) ConstantComposite 15 15 - 17: TypeVector 6(float) 3 - 18: TypePointer Function 17(fvec3) - 20: 6(float) Constant 1077936128 - 21: 17(fvec3) ConstantComposite 20 20 20 - 22: TypeVector 6(float) 4 - 23: TypePointer Function 22(fvec4) - 25: 6(float) Constant 1082130432 - 26: 22(fvec4) ConstantComposite 25 25 25 25 - 27: TypePointer Output 22(fvec4) -28(@entryPointOutput): 27(ptr) Variable Output - 29: 22(fvec4) ConstantComposite 9 9 9 9 + 7: TypeVector 6(float) 4 + 8: TypeFunction 7(fvec4) + 11: TypePointer Function 6(float) + 13: 6(float) Constant 0 + 15: 6(float) Constant 1065353216 + 16: TypeVector 6(float) 2 + 17: TypePointer Function 16(fvec2) + 19: 6(float) Constant 1073741824 + 20: 16(fvec2) ConstantComposite 19 19 + 21: TypeVector 6(float) 3 + 22: TypePointer Function 21(fvec3) + 24: 6(float) Constant 1077936128 + 25: 21(fvec3) ConstantComposite 24 24 24 + 26: TypePointer Function 7(fvec4) + 28: 6(float) Constant 1082130432 + 29: 7(fvec4) ConstantComposite 28 28 28 28 + 30: 7(fvec4) ConstantComposite 13 13 13 13 + 33: TypePointer Output 7(fvec4) +34(@entryPointOutput): 33(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 8(h0): 7(ptr) Variable Function - 10(h1): 7(ptr) Variable Function - 14(h2): 13(ptr) Variable Function - 19(h3): 18(ptr) Variable Function - 24(h4): 23(ptr) Variable Function - Store 8(h0) 9 - Store 10(h1) 11 - Store 14(h2) 16 - Store 19(h3) 21 - Store 24(h4) 26 - Store 28(@entryPointOutput) 29 + 35: 7(fvec4) FunctionCall 9(@main() + Store 34(@entryPointOutput) 35 Return FunctionEnd + 9(@main(): 7(fvec4) Function None 8 + 10: Label + 12(h0): 11(ptr) Variable Function + 14(h1): 11(ptr) Variable Function + 18(h2): 17(ptr) Variable Function + 23(h3): 22(ptr) Variable Function + 27(h4): 26(ptr) Variable Function + Store 12(h0) 13 + Store 14(h1) 15 + Store 18(h2) 20 + Store 23(h3) 25 + Store 27(h4) 29 + ReturnValue 30 + FunctionEnd diff --git a/Test/baseResults/hlsl.type.identifier.frag.out b/Test/baseResults/hlsl.type.identifier.frag.out index 73d8969c..d159605a 100644 --- a/Test/baseResults/hlsl.type.identifier.frag.out +++ b/Test/baseResults/hlsl.type.identifier.frag.out @@ -8,7 +8,7 @@ gl_FragCoord origin is upper left 0:? Sequence 0:6 Branch: Return with expression 0:6 'float' (in float) -0:9 Function Definition: main( (temp 4-component vector of float) +0:9 Function Definition: @main( (temp 4-component vector of float) 0:9 Function Parameters: 0:? Sequence 0:10 Sequence @@ -99,12 +99,15 @@ gl_FragCoord origin is upper left 0:25 'float' (temp mediump float) 0:25 Function Call: fn(f1; (temp mediump float) 0:25 'float' (temp mediump float) -0:27 Sequence -0:27 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:27 Construct vec4 (temp 4-component vector of float) -0:27 'float' (temp float) -0:27 Branch: Return +0:27 Branch: Return with expression +0:27 Construct vec4 (temp 4-component vector of float) +0:27 'float' (temp float) +0:9 Function Definition: main( (temp void) +0:9 Function Parameters: +0:? Sequence +0:9 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:9 Function Call: @main( (temp 4-component vector of float) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) @@ -121,7 +124,7 @@ gl_FragCoord origin is upper left 0:? Sequence 0:6 Branch: Return with expression 0:6 'float' (in float) -0:9 Function Definition: main( (temp 4-component vector of float) +0:9 Function Definition: @main( (temp 4-component vector of float) 0:9 Function Parameters: 0:? Sequence 0:10 Sequence @@ -212,49 +215,49 @@ gl_FragCoord origin is upper left 0:25 'float' (temp mediump float) 0:25 Function Call: fn(f1; (temp mediump float) 0:25 'float' (temp mediump float) -0:27 Sequence -0:27 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:27 Construct vec4 (temp 4-component vector of float) -0:27 'float' (temp float) -0:27 Branch: Return +0:27 Branch: Return with expression +0:27 Construct vec4 (temp 4-component vector of float) +0:27 'float' (temp float) +0:9 Function Definition: main( (temp void) +0:9 Function Parameters: +0:? Sequence +0:9 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:9 Function Call: @main( (temp 4-component vector of float) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 92 +// Id's are bound by 97 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 88 + EntryPoint Fragment 4 "main" 95 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 10 "fn(f1;" Name 9 "float" - Name 15 "float" - Name 22 "bool" - Name 31 "int" - Name 39 "uint" - Name 45 "min16float" - Name 48 "min10float" - Name 50 "half" - Name 52 "foo_t" - MemberName 52(foo_t) 0 "float" - Name 54 "float" - Name 82 "param" - Name 88 "@entryPointOutput" - Decorate 45(min16float) RelaxedPrecision - Decorate 46 RelaxedPrecision - Decorate 47 RelaxedPrecision - Decorate 48(min10float) RelaxedPrecision - Decorate 49 RelaxedPrecision - Decorate 50(half) RelaxedPrecision - Decorate 60 RelaxedPrecision - Decorate 61 RelaxedPrecision - Decorate 62 RelaxedPrecision - Decorate 63 RelaxedPrecision + Name 14 "@main(" + Name 19 "float" + Name 26 "bool" + Name 35 "int" + Name 43 "uint" + Name 49 "min16float" + Name 52 "min10float" + Name 54 "half" + Name 56 "foo_t" + MemberName 56(foo_t) 0 "float" + Name 58 "float" + Name 86 "param" + Name 95 "@entryPointOutput" + Decorate 49(min16float) RelaxedPrecision + Decorate 50 RelaxedPrecision + Decorate 51 RelaxedPrecision + Decorate 52(min10float) RelaxedPrecision + Decorate 53 RelaxedPrecision + Decorate 54(half) RelaxedPrecision Decorate 64 RelaxedPrecision Decorate 65 RelaxedPrecision Decorate 66 RelaxedPrecision @@ -262,121 +265,131 @@ gl_FragCoord origin is upper left Decorate 68 RelaxedPrecision Decorate 69 RelaxedPrecision Decorate 70 RelaxedPrecision - Decorate 76 RelaxedPrecision - Decorate 77 RelaxedPrecision - Decorate 79 RelaxedPrecision + Decorate 71 RelaxedPrecision + Decorate 72 RelaxedPrecision + Decorate 73 RelaxedPrecision + Decorate 74 RelaxedPrecision Decorate 80 RelaxedPrecision Decorate 81 RelaxedPrecision Decorate 83 RelaxedPrecision Decorate 84 RelaxedPrecision Decorate 85 RelaxedPrecision - Decorate 88(@entryPointOutput) Location 0 + Decorate 87 RelaxedPrecision + Decorate 88 RelaxedPrecision + Decorate 89 RelaxedPrecision + Decorate 95(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypePointer Function 6(float) 8: TypeFunction 6(float) 7(ptr) - 16: 6(float) Constant 1088421888 - 17: TypeBool - 18: TypeInt 32 0 - 19: 18(int) Constant 2 - 20: TypeArray 17(bool) 19 - 21: TypePointer Function 20 - 24: 6(float) Constant 0 - 29: TypeInt 32 1 - 30: TypePointer Function 29(int) - 32: 29(int) Constant 1 - 33: TypePointer Function 17(bool) - 36: 29(int) Constant 0 - 38: TypePointer Function 18(int) - 51: 6(float) Constant 1056964608 - 52(foo_t): TypeStruct 6(float) - 53: TypePointer Function 52(foo_t) - 55: 6(float) Constant 1109917696 - 86: TypeVector 6(float) 4 - 87: TypePointer Output 86(fvec4) -88(@entryPointOutput): 87(ptr) Variable Output + 12: TypeVector 6(float) 4 + 13: TypeFunction 12(fvec4) + 20: 6(float) Constant 1088421888 + 21: TypeBool + 22: TypeInt 32 0 + 23: 22(int) Constant 2 + 24: TypeArray 21(bool) 23 + 25: TypePointer Function 24 + 28: 6(float) Constant 0 + 33: TypeInt 32 1 + 34: TypePointer Function 33(int) + 36: 33(int) Constant 1 + 37: TypePointer Function 21(bool) + 40: 33(int) Constant 0 + 42: TypePointer Function 22(int) + 55: 6(float) Constant 1056964608 + 56(foo_t): TypeStruct 6(float) + 57: TypePointer Function 56(foo_t) + 59: 6(float) Constant 1109917696 + 94: TypePointer Output 12(fvec4) +95(@entryPointOutput): 94(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 15(float): 7(ptr) Variable Function - 22(bool): 21(ptr) Variable Function - 31(int): 30(ptr) Variable Function - 39(uint): 38(ptr) Variable Function - 45(min16float): 7(ptr) Variable Function - 48(min10float): 7(ptr) Variable Function - 50(half): 7(ptr) Variable Function - 54(float): 53(ptr) Variable Function - 71: 7(ptr) Variable Function - 82(param): 7(ptr) Variable Function - Store 15(float) 16 - 23: 6(float) Load 15(float) - 25: 17(bool) FOrdNotEqual 23 24 - 26: 6(float) Load 15(float) - 27: 17(bool) FOrdNotEqual 26 24 - 28: 20 CompositeConstruct 25 27 - Store 22(bool) 28 - 34: 33(ptr) AccessChain 22(bool) 32 - 35: 17(bool) Load 34 - 37: 29(int) Select 35 32 36 - Store 31(int) 37 - 40: 6(float) Load 15(float) - 41: 29(int) Load 31(int) - 42: 6(float) ConvertSToF 41 - 43: 6(float) FAdd 40 42 - 44: 18(int) ConvertFToU 43 - Store 39(uint) 44 - 46: 18(int) Load 39(uint) - 47: 6(float) ConvertUToF 46 - Store 45(min16float) 47 - 49: 6(float) Load 45(min16float) - Store 48(min10float) 49 - Store 50(half) 51 - 56: 7(ptr) AccessChain 54(float) 36 - Store 56 55 - 57: 33(ptr) AccessChain 22(bool) 32 - 58: 17(bool) Load 57 - 59: 33(ptr) AccessChain 22(bool) 36 - Store 59 58 - 60: 6(float) Load 15(float) - 61: 29(int) Load 31(int) - 62: 6(float) ConvertSToF 61 - 63: 6(float) FAdd 60 62 - 64: 18(int) Load 39(uint) - 65: 6(float) ConvertUToF 64 - 66: 6(float) FAdd 63 65 - 67: 6(float) Load 45(min16float) - 68: 6(float) FAdd 66 67 - 69: 6(float) Load 48(min10float) - 70: 6(float) FAdd 68 69 - 72: 33(ptr) AccessChain 22(bool) 36 - 73: 17(bool) Load 72 - SelectionMerge 75 None - BranchConditional 73 74 78 - 74: Label - 76: 29(int) Load 31(int) - 77: 6(float) ConvertSToF 76 - Store 71 77 - Branch 75 - 78: Label - 79: 6(float) Load 15(float) - Store 71 79 - Branch 75 - 75: Label - 80: 6(float) Load 71 - 81: 6(float) FAdd 70 80 - 83: 6(float) Load 15(float) - Store 82(param) 83 - 84: 6(float) FunctionCall 10(fn(f1;) 82(param) - 85: 6(float) FAdd 81 84 - Store 15(float) 85 - 89: 6(float) Load 15(float) - 90: 86(fvec4) CompositeConstruct 89 89 89 89 - Store 88(@entryPointOutput) 90 + 96: 12(fvec4) FunctionCall 14(@main() + Store 95(@entryPointOutput) 96 Return FunctionEnd 10(fn(f1;): 6(float) Function None 8 9(float): 7(ptr) FunctionParameter 11: Label - 12: 6(float) Load 9(float) - ReturnValue 12 + 16: 6(float) Load 9(float) + ReturnValue 16 + FunctionEnd + 14(@main(): 12(fvec4) Function None 13 + 15: Label + 19(float): 7(ptr) Variable Function + 26(bool): 25(ptr) Variable Function + 35(int): 34(ptr) Variable Function + 43(uint): 42(ptr) Variable Function + 49(min16float): 7(ptr) Variable Function + 52(min10float): 7(ptr) Variable Function + 54(half): 7(ptr) Variable Function + 58(float): 57(ptr) Variable Function + 75: 7(ptr) Variable Function + 86(param): 7(ptr) Variable Function + Store 19(float) 20 + 27: 6(float) Load 19(float) + 29: 21(bool) FOrdNotEqual 27 28 + 30: 6(float) Load 19(float) + 31: 21(bool) FOrdNotEqual 30 28 + 32: 24 CompositeConstruct 29 31 + Store 26(bool) 32 + 38: 37(ptr) AccessChain 26(bool) 36 + 39: 21(bool) Load 38 + 41: 33(int) Select 39 36 40 + Store 35(int) 41 + 44: 6(float) Load 19(float) + 45: 33(int) Load 35(int) + 46: 6(float) ConvertSToF 45 + 47: 6(float) FAdd 44 46 + 48: 22(int) ConvertFToU 47 + Store 43(uint) 48 + 50: 22(int) Load 43(uint) + 51: 6(float) ConvertUToF 50 + Store 49(min16float) 51 + 53: 6(float) Load 49(min16float) + Store 52(min10float) 53 + Store 54(half) 55 + 60: 7(ptr) AccessChain 58(float) 40 + Store 60 59 + 61: 37(ptr) AccessChain 26(bool) 36 + 62: 21(bool) Load 61 + 63: 37(ptr) AccessChain 26(bool) 40 + Store 63 62 + 64: 6(float) Load 19(float) + 65: 33(int) Load 35(int) + 66: 6(float) ConvertSToF 65 + 67: 6(float) FAdd 64 66 + 68: 22(int) Load 43(uint) + 69: 6(float) ConvertUToF 68 + 70: 6(float) FAdd 67 69 + 71: 6(float) Load 49(min16float) + 72: 6(float) FAdd 70 71 + 73: 6(float) Load 52(min10float) + 74: 6(float) FAdd 72 73 + 76: 37(ptr) AccessChain 26(bool) 40 + 77: 21(bool) Load 76 + SelectionMerge 79 None + BranchConditional 77 78 82 + 78: Label + 80: 33(int) Load 35(int) + 81: 6(float) ConvertSToF 80 + Store 75 81 + Branch 79 + 82: Label + 83: 6(float) Load 19(float) + Store 75 83 + Branch 79 + 79: Label + 84: 6(float) Load 75 + 85: 6(float) FAdd 74 84 + 87: 6(float) Load 19(float) + Store 86(param) 87 + 88: 6(float) FunctionCall 10(fn(f1;) 86(param) + 89: 6(float) FAdd 85 88 + Store 19(float) 89 + 90: 6(float) Load 19(float) + 91: 12(fvec4) CompositeConstruct 90 90 90 90 + ReturnValue 91 FunctionEnd diff --git a/Test/baseResults/hlsl.void.frag.out b/Test/baseResults/hlsl.void.frag.out index 6faa388a..335349f4 100755 --- a/Test/baseResults/hlsl.void.frag.out +++ b/Test/baseResults/hlsl.void.frag.out @@ -6,13 +6,21 @@ gl_FragCoord origin is upper left 0:1 Function Parameters: 0:2 Function Definition: foo2( (temp void) 0:2 Function Parameters: -0:5 Function Definition: PixelShaderFunction(vf4; (temp void) +0:5 Function Definition: @PixelShaderFunction(vf4; (temp void) 0:5 Function Parameters: -0:5 'input' (layout(location=0 ) in 4-component vector of float) +0:5 'input' (in 4-component vector of float) 0:? Sequence 0:6 Function Call: foo1( (temp void) 0:7 Function Call: foo2( (temp void) 0:8 Branch: Return +0:5 Function Definition: PixelShaderFunction( (temp void) +0:5 Function Parameters: +0:? Sequence +0:5 move second child to first child (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:5 Function Call: @PixelShaderFunction(vf4; (temp void) +0:? 'input' (temp 4-component vector of float) 0:? Linker Objects 0:? 'input' (layout(location=0 ) in 4-component vector of float) @@ -27,40 +35,59 @@ gl_FragCoord origin is upper left 0:1 Function Parameters: 0:2 Function Definition: foo2( (temp void) 0:2 Function Parameters: -0:5 Function Definition: PixelShaderFunction(vf4; (temp void) +0:5 Function Definition: @PixelShaderFunction(vf4; (temp void) 0:5 Function Parameters: -0:5 'input' (layout(location=0 ) in 4-component vector of float) +0:5 'input' (in 4-component vector of float) 0:? Sequence 0:6 Function Call: foo1( (temp void) 0:7 Function Call: foo2( (temp void) 0:8 Branch: Return +0:5 Function Definition: PixelShaderFunction( (temp void) +0:5 Function Parameters: +0:? Sequence +0:5 move second child to first child (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:5 Function Call: @PixelShaderFunction(vf4; (temp void) +0:? 'input' (temp 4-component vector of float) 0:? Linker Objects 0:? 'input' (layout(location=0 ) in 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 17 +// Id's are bound by 27 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 16 + EntryPoint Fragment 4 "PixelShaderFunction" 22 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" Name 6 "foo1(" Name 8 "foo2(" - Name 16 "input" - Decorate 16(input) Location 0 + Name 15 "@PixelShaderFunction(vf4;" + Name 14 "input" + Name 20 "input" + Name 22 "input" + Name 24 "param" + Decorate 22(input) Location 0 2: TypeVoid 3: TypeFunction 2 - 13: TypeFloat 32 - 14: TypeVector 13(float) 4 - 15: TypePointer Input 14(fvec4) - 16(input): 15(ptr) Variable Input + 10: TypeFloat 32 + 11: TypeVector 10(float) 4 + 12: TypePointer Function 11(fvec4) + 13: TypeFunction 2 12(ptr) + 21: TypePointer Input 11(fvec4) + 22(input): 21(ptr) Variable Input 4(PixelShaderFunction): 2 Function None 3 5: Label - 10: 2 FunctionCall 6(foo1() - 11: 2 FunctionCall 8(foo2() + 20(input): 12(ptr) Variable Function + 24(param): 12(ptr) Variable Function + 23: 11(fvec4) Load 22(input) + Store 20(input) 23 + 25: 11(fvec4) Load 20(input) + Store 24(param) 25 + 26: 2 FunctionCall 15(@PixelShaderFunction(vf4;) 24(param) Return FunctionEnd 6(foo1(): 2 Function None 3 @@ -71,3 +98,10 @@ gl_FragCoord origin is upper left 9: Label Return FunctionEnd +15(@PixelShaderFunction(vf4;): 2 Function None 13 + 14(input): 12(ptr) FunctionParameter + 16: Label + 17: 2 FunctionCall 6(foo1() + 18: 2 FunctionCall 8(foo2() + Return + FunctionEnd diff --git a/Test/baseResults/hlsl.whileLoop.frag.out b/Test/baseResults/hlsl.whileLoop.frag.out index 699364ff..67c80c83 100755 --- a/Test/baseResults/hlsl.whileLoop.frag.out +++ b/Test/baseResults/hlsl.whileLoop.frag.out @@ -2,23 +2,20 @@ hlsl.whileLoop.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) +0:2 Function Definition: @PixelShaderFunction(vf4; (temp 4-component vector of float) 0:2 Function Parameters: -0:2 'input' (layout(location=0 ) in 4-component vector of float) +0:2 'input' (in 4-component vector of float) 0:? Sequence 0:3 Loop with condition tested first 0:3 Loop Condition 0:3 any (temp bool) 0:3 NotEqual (temp 4-component vector of bool) -0:3 'input' (layout(location=0 ) in 4-component vector of float) -0:3 'input' (layout(location=0 ) in 4-component vector of float) +0:3 'input' (in 4-component vector of float) +0:3 'input' (in 4-component vector of float) 0:3 Loop Body 0:? Sequence -0:3 Sequence -0:3 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:3 'input' (layout(location=0 ) in 4-component vector of float) -0:3 Branch: Return +0:3 Branch: Return with expression +0:3 'input' (in 4-component vector of float) 0:4 Loop with condition tested first 0:4 Loop Condition 0:4 Constant: @@ -34,6 +31,16 @@ gl_FragCoord origin is upper left 0:6 Constant: 0:6 false (const bool) 0:6 No loop body +0:2 Function Definition: PixelShaderFunction( (temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:2 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:2 Function Call: @PixelShaderFunction(vf4; (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 'input' (layout(location=0 ) in 4-component vector of float) @@ -45,23 +52,20 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) +0:2 Function Definition: @PixelShaderFunction(vf4; (temp 4-component vector of float) 0:2 Function Parameters: -0:2 'input' (layout(location=0 ) in 4-component vector of float) +0:2 'input' (in 4-component vector of float) 0:? Sequence 0:3 Loop with condition tested first 0:3 Loop Condition 0:3 any (temp bool) 0:3 NotEqual (temp 4-component vector of bool) -0:3 'input' (layout(location=0 ) in 4-component vector of float) -0:3 'input' (layout(location=0 ) in 4-component vector of float) +0:3 'input' (in 4-component vector of float) +0:3 'input' (in 4-component vector of float) 0:3 Loop Body 0:? Sequence -0:3 Sequence -0:3 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:3 'input' (layout(location=0 ) in 4-component vector of float) -0:3 Branch: Return +0:3 Branch: Return with expression +0:3 'input' (in 4-component vector of float) 0:4 Loop with condition tested first 0:4 Loop Condition 0:4 Constant: @@ -77,86 +81,115 @@ gl_FragCoord origin is upper left 0:6 Constant: 0:6 false (const bool) 0:6 No loop body +0:2 Function Definition: PixelShaderFunction( (temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:2 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:2 Function Call: @PixelShaderFunction(vf4; (temp 4-component vector of float) +0:? 'input' (temp 4-component vector of float) 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 'input' (layout(location=0 ) in 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 41 +// Id's are bound by 52 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 14 22 + EntryPoint Fragment 4 "PixelShaderFunction" 45 48 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 14 "input" - Name 22 "@entryPointOutput" - Decorate 14(input) Location 0 - Decorate 22(@entryPointOutput) Location 0 + Name 11 "@PixelShaderFunction(vf4;" + Name 10 "input" + Name 43 "input" + Name 45 "input" + Name 48 "@entryPointOutput" + Name 49 "param" + Decorate 45(input) Location 0 + Decorate 48(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 - 11: TypeFloat 32 - 12: TypeVector 11(float) 4 - 13: TypePointer Input 12(fvec4) - 14(input): 13(ptr) Variable Input - 17: TypeBool - 18: TypeVector 17(bool) 4 - 21: TypePointer Output 12(fvec4) -22(@entryPointOutput): 21(ptr) Variable Output - 30: 17(bool) ConstantFalse + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8: TypePointer Function 7(fvec4) + 9: TypeFunction 7(fvec4) 8(ptr) + 20: TypeBool + 21: TypeVector 20(bool) 4 + 31: 20(bool) ConstantFalse + 44: TypePointer Input 7(fvec4) + 45(input): 44(ptr) Variable Input + 47: TypePointer Output 7(fvec4) +48(@entryPointOutput): 47(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label - Branch 6 - 6: Label - LoopMerge 8 9 None - Branch 10 - 10: Label - 15: 12(fvec4) Load 14(input) - 16: 12(fvec4) Load 14(input) - 19: 18(bvec4) FOrdNotEqual 15 16 - 20: 17(bool) Any 19 - BranchConditional 20 7 8 - 7: Label - 23: 12(fvec4) Load 14(input) - Store 22(@entryPointOutput) 23 - Return - 9: Label - Branch 6 - 8: Label - Branch 25 - 25: Label - LoopMerge 27 28 None - Branch 29 - 29: Label - BranchConditional 30 26 27 - 26: Label - Branch 28 - 28: Label - Branch 25 - 27: Label - Branch 31 - 31: Label - LoopMerge 33 34 None - Branch 35 - 35: Label - BranchConditional 30 32 33 - 32: Label - Branch 34 - 34: Label - Branch 31 - 33: Label - Branch 36 - 36: Label - LoopMerge 38 39 None - Branch 40 - 40: Label - BranchConditional 30 37 38 - 37: Label - Branch 39 - 39: Label - Branch 36 - 38: Label + 43(input): 8(ptr) Variable Function + 49(param): 8(ptr) Variable Function + 46: 7(fvec4) Load 45(input) + Store 43(input) 46 + 50: 7(fvec4) Load 43(input) + Store 49(param) 50 + 51: 7(fvec4) FunctionCall 11(@PixelShaderFunction(vf4;) 49(param) + Store 48(@entryPointOutput) 51 Return FunctionEnd +11(@PixelShaderFunction(vf4;): 7(fvec4) Function None 9 + 10(input): 8(ptr) FunctionParameter + 12: Label + Branch 13 + 13: Label + LoopMerge 15 16 None + Branch 17 + 17: Label + 18: 7(fvec4) Load 10(input) + 19: 7(fvec4) Load 10(input) + 22: 21(bvec4) FOrdNotEqual 18 19 + 23: 20(bool) Any 22 + BranchConditional 23 14 15 + 14: Label + 24: 7(fvec4) Load 10(input) + ReturnValue 24 + 16: Label + Branch 13 + 15: Label + Branch 26 + 26: Label + LoopMerge 28 29 None + Branch 30 + 30: Label + BranchConditional 31 27 28 + 27: Label + Branch 29 + 29: Label + Branch 26 + 28: Label + Branch 32 + 32: Label + LoopMerge 34 35 None + Branch 36 + 36: Label + BranchConditional 31 33 34 + 33: Label + Branch 35 + 35: Label + Branch 32 + 34: Label + Branch 37 + 37: Label + LoopMerge 39 40 None + Branch 41 + 41: Label + BranchConditional 31 38 39 + 38: Label + Branch 40 + 40: Label + Branch 37 + 39: Label + 42: 7(fvec4) Undef + ReturnValue 42 + FunctionEnd diff --git a/Test/baseResults/remap.hlsl.sample.basic.everything.frag.out b/Test/baseResults/remap.hlsl.sample.basic.everything.frag.out index b49a10ba..4fc29872 100644 --- a/Test/baseResults/remap.hlsl.sample.basic.everything.frag.out +++ b/Test/baseResults/remap.hlsl.sample.basic.everything.frag.out @@ -3,7 +3,7 @@ WARNING: 0:4: 'immediate sampler state' : unimplemented // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 24916 +// Id's are bound by 24878 Capability Shader Capability Sampled1D @@ -30,6 +30,10 @@ WARNING: 0:4: 'immediate sampler state' : unimplemented Decorate 4112 BuiltIn FragDepth 8: TypeVoid 1282: TypeFunction 8 + 13: TypeFloat 32 + 29: TypeVector 13(float) 4 + 1032: TypeStruct 29(fvec4) 13(float) + 319: TypeFunction 1032(struct) 12: TypeInt 32 1 1335: 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) 1972: TypePointer Function 1335(struct) @@ -46,8 +50,6 @@ WARNING: 0:4: 'immediate sampler state' : unimplemented 2598: 12(int) Constant 9 2601: 12(int) Constant 10 2604: 12(int) Constant 11 - 13: TypeFloat 32 - 29: TypeVector 13(float) 4 666: TypePointer Function 29(fvec4) 149: TypeImage 13(float) 1D sampled format:Unknown 786: TypePointer UniformConstant 149 @@ -120,7 +122,6 @@ WARNING: 0:4: 'immediate sampler state' : unimplemented 795: TypePointer UniformConstant 158 3869: 795(ptr) Variable UniformConstant 521: TypeSampledImage 158 - 1032: TypeStruct 29(fvec4) 13(float) 1669: TypePointer Function 1032(struct) 138: 13(float) Constant 1065353216 1284: 29(fvec4) ConstantComposite 138 138 138 138 @@ -130,90 +131,98 @@ WARNING: 0:4: 'immediate sampler state' : unimplemented 651: TypePointer Output 13(float) 4112: 651(ptr) Variable Output 5663: 8 Function None 1282 - 24915: Label - 5830: 1972(ptr) Variable Function - 5072: 1669(ptr) Variable Function - 22097: 649(ptr) AccessChain 5830 2574 - Store 22097 2574 - 19732: 649(ptr) AccessChain 5830 2577 - Store 19732 2574 - 19733: 649(ptr) AccessChain 5830 2580 - Store 19733 2574 - 19734: 649(ptr) AccessChain 5830 2583 - Store 19734 2574 - 19735: 649(ptr) AccessChain 5830 2586 - Store 19735 2574 - 19736: 649(ptr) AccessChain 5830 2589 - Store 19736 2574 - 19737: 649(ptr) AccessChain 5830 2571 - Store 19737 2574 - 19738: 649(ptr) AccessChain 5830 2592 - Store 19738 2574 - 19739: 649(ptr) AccessChain 5830 2595 - Store 19739 2574 - 19740: 649(ptr) AccessChain 5830 2598 - Store 19740 2574 - 19741: 649(ptr) AccessChain 5830 2601 - Store 19741 2574 - 19656: 649(ptr) AccessChain 5830 2604 - Store 19656 2574 - 14934: 149 Load 4727 - 11686: 508 Load 3305 - 11940: 510 SampledImage 14934 11686 - 7877: 29(fvec4) ImageSampleImplicitLod 11940 2935 - 15360: 148 Load 4743 - 15706: 508 Load 3305 - 11941: 511 SampledImage 15360 15706 - 7878: 26(ivec4) ImageSampleImplicitLod 11941 2821 - 15361: 147 Load 4807 - 15707: 508 Load 3305 - 11942: 512 SampledImage 15361 15707 - 7879: 23(ivec4) ImageSampleImplicitLod 11942 2151 - 15362: 150 Load 5042 - 15708: 508 Load 3305 - 11943: 513 SampledImage 15362 15708 - 7880: 29(fvec4) ImageSampleImplicitLod 11943 1825 - 15363: 151 Load 5058 - 15709: 508 Load 3305 - 11944: 514 SampledImage 15363 15709 - 7881: 26(ivec4) ImageSampleImplicitLod 11944 2028 - 15364: 152 Load 5122 - 15710: 508 Load 3305 - 11945: 515 SampledImage 15364 15710 - 7882: 23(ivec4) ImageSampleImplicitLod 11945 2684 - 15365: 153 Load 3967 - 15711: 508 Load 3305 - 11946: 516 SampledImage 15365 15711 - 7883: 29(fvec4) ImageSampleImplicitLod 11946 1660 - 15366: 154 Load 3983 - 15712: 508 Load 3305 - 11947: 517 SampledImage 15366 15712 - 7884: 26(ivec4) ImageSampleImplicitLod 11947 2174 - 15367: 155 Load 4047 - 15713: 508 Load 3305 - 11948: 518 SampledImage 15367 15713 - 7885: 23(ivec4) ImageSampleImplicitLod 11948 2476 - 15368: 156 Load 3789 - 15714: 508 Load 3305 - 11949: 519 SampledImage 15368 15714 - 7886: 29(fvec4) ImageSampleImplicitLod 11949 1660 - 15369: 157 Load 3805 - 15715: 508 Load 3305 - 11950: 520 SampledImage 15369 15715 - 7887: 26(ivec4) ImageSampleImplicitLod 11950 2174 - 15370: 158 Load 3869 - 15716: 508 Load 3305 - 12016: 521 SampledImage 15370 15716 - 7204: 23(ivec4) ImageSampleImplicitLod 12016 2476 - 20158: 666(ptr) AccessChain 5072 2571 - Store 20158 1284 - 19742: 650(ptr) AccessChain 5072 2574 - Store 19742 138 - 19848: 666(ptr) AccessChain 5072 2571 - 7967: 29(fvec4) Load 19848 + 24877: Label + 4104: 1669(ptr) Variable Function + 18803:1032(struct) FunctionCall 3317 + Store 4104 18803 + 13396: 666(ptr) AccessChain 4104 2571 + 7967: 29(fvec4) Load 13396 Store 4656 7967 - 16622: 650(ptr) AccessChain 5072 2574 + 16622: 650(ptr) AccessChain 4104 2574 11539: 13(float) Load 16622 Store 4112 11539 Return FunctionEnd + 3317:1032(struct) Function None 319 + 12442: Label + 5830: 1972(ptr) Variable Function + 5072: 1669(ptr) Variable Function + 22671: 649(ptr) AccessChain 5830 2574 + Store 22671 2574 + 20306: 649(ptr) AccessChain 5830 2577 + Store 20306 2574 + 20307: 649(ptr) AccessChain 5830 2580 + Store 20307 2574 + 20308: 649(ptr) AccessChain 5830 2583 + Store 20308 2574 + 20309: 649(ptr) AccessChain 5830 2586 + Store 20309 2574 + 20310: 649(ptr) AccessChain 5830 2589 + Store 20310 2574 + 20311: 649(ptr) AccessChain 5830 2571 + Store 20311 2574 + 20312: 649(ptr) AccessChain 5830 2592 + Store 20312 2574 + 20313: 649(ptr) AccessChain 5830 2595 + Store 20313 2574 + 20314: 649(ptr) AccessChain 5830 2598 + Store 20314 2574 + 20315: 649(ptr) AccessChain 5830 2601 + Store 20315 2574 + 20230: 649(ptr) AccessChain 5830 2604 + Store 20230 2574 + 15508: 149 Load 4727 + 12260: 508 Load 3305 + 12514: 510 SampledImage 15508 12260 + 21065: 29(fvec4) ImageSampleImplicitLod 12514 2935 + 9477: 148 Load 4743 + 16280: 508 Load 3305 + 12515: 511 SampledImage 9477 16280 + 21066: 26(ivec4) ImageSampleImplicitLod 12515 2821 + 9478: 147 Load 4807 + 16281: 508 Load 3305 + 12516: 512 SampledImage 9478 16281 + 21067: 23(ivec4) ImageSampleImplicitLod 12516 2151 + 9479: 150 Load 5042 + 16282: 508 Load 3305 + 12517: 513 SampledImage 9479 16282 + 21068: 29(fvec4) ImageSampleImplicitLod 12517 1825 + 9480: 151 Load 5058 + 16283: 508 Load 3305 + 12518: 514 SampledImage 9480 16283 + 21069: 26(ivec4) ImageSampleImplicitLod 12518 2028 + 9481: 152 Load 5122 + 16284: 508 Load 3305 + 12519: 515 SampledImage 9481 16284 + 21070: 23(ivec4) ImageSampleImplicitLod 12519 2684 + 9482: 153 Load 3967 + 16285: 508 Load 3305 + 12520: 516 SampledImage 9482 16285 + 21071: 29(fvec4) ImageSampleImplicitLod 12520 1660 + 9483: 154 Load 3983 + 16286: 508 Load 3305 + 12521: 517 SampledImage 9483 16286 + 21072: 26(ivec4) ImageSampleImplicitLod 12521 2174 + 9484: 155 Load 4047 + 16287: 508 Load 3305 + 12522: 518 SampledImage 9484 16287 + 21073: 23(ivec4) ImageSampleImplicitLod 12522 2476 + 9485: 156 Load 3789 + 16288: 508 Load 3305 + 12523: 519 SampledImage 9485 16288 + 21074: 29(fvec4) ImageSampleImplicitLod 12523 1660 + 9486: 157 Load 3805 + 16289: 508 Load 3305 + 12524: 520 SampledImage 9486 16289 + 21075: 26(ivec4) ImageSampleImplicitLod 12524 2174 + 9487: 158 Load 3869 + 16290: 508 Load 3305 + 12590: 521 SampledImage 9487 16290 + 20392: 23(ivec4) ImageSampleImplicitLod 12590 2476 + 14275: 666(ptr) AccessChain 5072 2571 + Store 14275 1284 + 20231: 650(ptr) AccessChain 5072 2574 + Store 20231 138 + 8692:1032(struct) Load 5072 + ReturnValue 8692 + FunctionEnd diff --git a/Test/baseResults/remap.hlsl.sample.basic.none.frag.out b/Test/baseResults/remap.hlsl.sample.basic.none.frag.out index 51ad1a8b..5af75db0 100644 --- a/Test/baseResults/remap.hlsl.sample.basic.none.frag.out +++ b/Test/baseResults/remap.hlsl.sample.basic.none.frag.out @@ -3,299 +3,310 @@ WARNING: 0:4: 'immediate sampler state' : unimplemented // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 191 +// Id's are bound by 198 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 180 184 + EntryPoint Fragment 4 "main" 188 192 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 + 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 "Color" + Name 192 "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(Color) Location 0 + Decorate 192(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: 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 + 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_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 + 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(Color): 187(ptr) Variable Output + 191: TypePointer Output 6(float) + 192(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 - 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 +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(Color) 190 + 193: 180(ptr) AccessChain 185(flattenTemp) 16 + 194: 6(float) Load 193 + Store 192(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 diff --git a/Test/baseResults/remap.hlsl.sample.basic.strip.frag.out b/Test/baseResults/remap.hlsl.sample.basic.strip.frag.out index f95d7eff..d76bdd93 100644 --- a/Test/baseResults/remap.hlsl.sample.basic.strip.frag.out +++ b/Test/baseResults/remap.hlsl.sample.basic.strip.frag.out @@ -3,250 +3,259 @@ WARNING: 0:4: 'immediate sampler state' : unimplemented // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 191 +// Id's are bound by 198 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 180 184 + EntryPoint Fragment 4 "main" 188 192 ExecutionMode 4 OriginUpperLeft - Decorate 41 DescriptorSet 0 - Decorate 41 Binding 0 Decorate 45 DescriptorSet 0 Decorate 45 Binding 0 - Decorate 56 DescriptorSet 0 - Decorate 69 DescriptorSet 0 - Decorate 79 DescriptorSet 0 - Decorate 90 DescriptorSet 0 - Decorate 101 DescriptorSet 0 - Decorate 113 DescriptorSet 0 - Decorate 124 DescriptorSet 0 - Decorate 134 DescriptorSet 0 - Decorate 147 DescriptorSet 0 - Decorate 156 DescriptorSet 0 - Decorate 165 DescriptorSet 0 - Decorate 180 Location 0 - Decorate 184 BuiltIn FragDepth - Decorate 188 DescriptorSet 0 - Decorate 189 DescriptorSet 0 - Decorate 190 DescriptorSet 0 - Decorate 190 Binding 1 + Decorate 49 DescriptorSet 0 + Decorate 49 Binding 0 + Decorate 60 DescriptorSet 0 + Decorate 73 DescriptorSet 0 + Decorate 83 DescriptorSet 0 + Decorate 94 DescriptorSet 0 + Decorate 105 DescriptorSet 0 + Decorate 117 DescriptorSet 0 + Decorate 128 DescriptorSet 0 + Decorate 138 DescriptorSet 0 + Decorate 151 DescriptorSet 0 + Decorate 160 DescriptorSet 0 + Decorate 169 DescriptorSet 0 + Decorate 188 Location 0 + Decorate 192 BuiltIn FragDepth + Decorate 195 DescriptorSet 0 + Decorate 196 DescriptorSet 0 + Decorate 197 DescriptorSet 0 + Decorate 197 Binding 1 2: TypeVoid 3: TypeFunction 2 - 6: TypeInt 32 1 - 7: 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(struct) - 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: 40(ptr) Variable UniformConstant - 43: TypeSampler + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8: TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(struct) + 12: TypeInt 32 1 + 13: 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(struct) + 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 146(ptr) Variable UniformConstant - 150: TypeSampledImage 145 - 154: TypeImage 6(int) Cube sampled format:Unknown - 155: TypePointer UniformConstant 154 - 156: 155(ptr) Variable UniformConstant - 159: TypeSampledImage 154 - 163: TypeImage 63(int) Cube sampled format:Unknown - 164: TypePointer UniformConstant 163 - 165: 164(ptr) Variable UniformConstant - 168: TypeSampledImage 163 - 171: TypeStruct 36(fvec4) 35(float) - 172: TypePointer Function 171(struct) - 174: 35(float) Constant 1065353216 - 175: 36(fvec4) ConstantComposite 174 174 174 174 - 177: TypePointer Function 35(float) - 179: TypePointer Output 36(fvec4) - 180: 179(ptr) Variable Output - 183: TypePointer Output 35(float) - 184: 183(ptr) Variable Output - 188: 44(ptr) Variable UniformConstant - 189: 44(ptr) Variable UniformConstant - 190: 40(ptr) Variable UniformConstant + 47: TypeSampler + 48: TypePointer UniformConstant 47 + 49: 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: 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: 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: 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: 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: 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: 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: 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: 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: 150(ptr) Variable UniformConstant + 154: TypeSampledImage 149 + 158: TypeImage 12(int) Cube sampled format:Unknown + 159: TypePointer UniformConstant 158 + 160: 159(ptr) Variable UniformConstant + 163: TypeSampledImage 158 + 167: TypeImage 67(int) Cube sampled format:Unknown + 168: TypePointer UniformConstant 167 + 169: 168(ptr) Variable UniformConstant + 172: TypeSampledImage 167 + 175: TypePointer Function 8(struct) + 177: 6(float) Constant 1065353216 + 178: 7(fvec4) ConstantComposite 177 177 177 177 + 180: TypePointer Function 6(float) + 187: TypePointer Output 7(fvec4) + 188: 187(ptr) Variable Output + 191: TypePointer Output 6(float) + 192: 191(ptr) Variable Output + 195: 48(ptr) Variable UniformConstant + 196: 48(ptr) Variable UniformConstant + 197: 44(ptr) Variable UniformConstant 4: 2 Function None 3 5: Label - 9: 8(ptr) Variable Function - 38: 37(ptr) Variable Function - 53: 52(ptr) Variable Function - 66: 65(ptr) Variable Function - 76: 37(ptr) Variable Function - 87: 52(ptr) Variable Function - 98: 65(ptr) Variable Function - 110: 37(ptr) Variable Function - 121: 52(ptr) Variable Function - 131: 65(ptr) Variable Function - 144: 37(ptr) Variable Function - 153: 52(ptr) Variable Function - 162: 65(ptr) Variable Function - 173: 172(ptr) Variable Function - 12: 11(ptr) AccessChain 9 10 - Store 12 10 - 14: 11(ptr) AccessChain 9 13 - Store 14 10 - 16: 11(ptr) AccessChain 9 15 - Store 16 10 - 18: 11(ptr) AccessChain 9 17 - Store 18 10 - 20: 11(ptr) AccessChain 9 19 - Store 20 10 - 22: 11(ptr) AccessChain 9 21 - Store 22 10 - 24: 11(ptr) AccessChain 9 23 - Store 24 10 - 26: 11(ptr) AccessChain 9 25 - Store 26 10 - 28: 11(ptr) AccessChain 9 27 - Store 28 10 - 30: 11(ptr) AccessChain 9 29 - Store 30 10 - 32: 11(ptr) AccessChain 9 31 - Store 32 10 - 34: 11(ptr) AccessChain 9 33 - Store 34 10 - 42: 39 Load 41 - 46: 43 Load 45 - 48: 47 SampledImage 42 46 - 50: 36(fvec4) ImageSampleImplicitLod 48 49 - Store 38 50 - 57: 54 Load 56 - 58: 43 Load 45 - 60: 59 SampledImage 57 58 - 62: 51(ivec4) ImageSampleImplicitLod 60 61 - Store 53 62 - 70: 67 Load 69 - 71: 43 Load 45 - 73: 72 SampledImage 70 71 - 75: 64(ivec4) ImageSampleImplicitLod 73 74 - Store 66 75 - 80: 77 Load 79 - 81: 43 Load 45 - 83: 82 SampledImage 80 81 - 86: 36(fvec4) ImageSampleImplicitLod 83 85 - Store 76 86 - 91: 88 Load 90 - 92: 43 Load 45 - 94: 93 SampledImage 91 92 - 97: 51(ivec4) ImageSampleImplicitLod 94 96 - Store 87 97 - 102: 99 Load 101 - 103: 43 Load 45 - 105: 104 SampledImage 102 103 - 109: 64(ivec4) ImageSampleImplicitLod 105 108 - Store 98 109 - 114: 111 Load 113 - 115: 43 Load 45 - 117: 116 SampledImage 114 115 - 120: 36(fvec4) ImageSampleImplicitLod 117 119 - Store 110 120 - 125: 122 Load 124 - 126: 43 Load 45 - 128: 127 SampledImage 125 126 - 130: 51(ivec4) ImageSampleImplicitLod 128 129 - Store 121 130 - 135: 132 Load 134 - 136: 43 Load 45 - 138: 137 SampledImage 135 136 - 143: 64(ivec4) ImageSampleImplicitLod 138 142 - Store 131 143 - 148: 145 Load 147 - 149: 43 Load 45 - 151: 150 SampledImage 148 149 - 152: 36(fvec4) ImageSampleImplicitLod 151 119 - Store 144 152 - 157: 154 Load 156 - 158: 43 Load 45 - 160: 159 SampledImage 157 158 - 161: 51(ivec4) ImageSampleImplicitLod 160 129 - Store 153 161 - 166: 163 Load 165 - 167: 43 Load 45 - 169: 168 SampledImage 166 167 - 170: 64(ivec4) ImageSampleImplicitLod 169 142 - Store 162 170 - 176: 37(ptr) AccessChain 173 23 - Store 176 175 - 178: 177(ptr) AccessChain 173 10 - Store 178 174 - 181: 37(ptr) AccessChain 173 23 - 182: 36(fvec4) Load 181 - Store 180 182 - 185: 177(ptr) AccessChain 173 10 - 186: 35(float) Load 185 - Store 184 186 + 185: 175(ptr) Variable Function + 186: 8(struct) FunctionCall 10 + Store 185 186 + 189: 41(ptr) AccessChain 185 29 + 190: 7(fvec4) Load 189 + Store 188 190 + 193: 180(ptr) AccessChain 185 16 + 194: 6(float) Load 193 + Store 192 194 Return FunctionEnd + 10: 8(struct) Function None 9 + 11: Label + 15: 14(ptr) Variable Function + 42: 41(ptr) Variable Function + 57: 56(ptr) Variable Function + 70: 69(ptr) Variable Function + 80: 41(ptr) Variable Function + 91: 56(ptr) Variable Function + 102: 69(ptr) Variable Function + 114: 41(ptr) Variable Function + 125: 56(ptr) Variable Function + 135: 69(ptr) Variable Function + 148: 41(ptr) Variable Function + 157: 56(ptr) Variable Function + 166: 69(ptr) Variable Function + 176: 175(ptr) Variable Function + 18: 17(ptr) AccessChain 15 16 + Store 18 16 + 20: 17(ptr) AccessChain 15 19 + Store 20 16 + 22: 17(ptr) AccessChain 15 21 + Store 22 16 + 24: 17(ptr) AccessChain 15 23 + Store 24 16 + 26: 17(ptr) AccessChain 15 25 + Store 26 16 + 28: 17(ptr) AccessChain 15 27 + Store 28 16 + 30: 17(ptr) AccessChain 15 29 + Store 30 16 + 32: 17(ptr) AccessChain 15 31 + Store 32 16 + 34: 17(ptr) AccessChain 15 33 + Store 34 16 + 36: 17(ptr) AccessChain 15 35 + Store 36 16 + 38: 17(ptr) AccessChain 15 37 + Store 38 16 + 40: 17(ptr) AccessChain 15 39 + Store 40 16 + 46: 43 Load 45 + 50: 47 Load 49 + 52: 51 SampledImage 46 50 + 54: 7(fvec4) ImageSampleImplicitLod 52 53 + Store 42 54 + 61: 58 Load 60 + 62: 47 Load 49 + 64: 63 SampledImage 61 62 + 66: 55(ivec4) ImageSampleImplicitLod 64 65 + Store 57 66 + 74: 71 Load 73 + 75: 47 Load 49 + 77: 76 SampledImage 74 75 + 79: 68(ivec4) ImageSampleImplicitLod 77 78 + Store 70 79 + 84: 81 Load 83 + 85: 47 Load 49 + 87: 86 SampledImage 84 85 + 90: 7(fvec4) ImageSampleImplicitLod 87 89 + Store 80 90 + 95: 92 Load 94 + 96: 47 Load 49 + 98: 97 SampledImage 95 96 + 101: 55(ivec4) ImageSampleImplicitLod 98 100 + Store 91 101 + 106: 103 Load 105 + 107: 47 Load 49 + 109: 108 SampledImage 106 107 + 113: 68(ivec4) ImageSampleImplicitLod 109 112 + Store 102 113 + 118: 115 Load 117 + 119: 47 Load 49 + 121: 120 SampledImage 118 119 + 124: 7(fvec4) ImageSampleImplicitLod 121 123 + Store 114 124 + 129: 126 Load 128 + 130: 47 Load 49 + 132: 131 SampledImage 129 130 + 134: 55(ivec4) ImageSampleImplicitLod 132 133 + Store 125 134 + 139: 136 Load 138 + 140: 47 Load 49 + 142: 141 SampledImage 139 140 + 147: 68(ivec4) ImageSampleImplicitLod 142 146 + Store 135 147 + 152: 149 Load 151 + 153: 47 Load 49 + 155: 154 SampledImage 152 153 + 156: 7(fvec4) ImageSampleImplicitLod 155 123 + Store 148 156 + 161: 158 Load 160 + 162: 47 Load 49 + 164: 163 SampledImage 161 162 + 165: 55(ivec4) ImageSampleImplicitLod 164 133 + Store 157 165 + 170: 167 Load 169 + 171: 47 Load 49 + 173: 172 SampledImage 170 171 + 174: 68(ivec4) ImageSampleImplicitLod 173 146 + Store 166 174 + 179: 41(ptr) AccessChain 176 29 + Store 179 178 + 181: 180(ptr) AccessChain 176 16 + Store 181 177 + 182: 8(struct) Load 176 + ReturnValue 182 + FunctionEnd diff --git a/Test/baseResults/remap.hlsl.templatetypes.everything.frag.out b/Test/baseResults/remap.hlsl.templatetypes.everything.frag.out index c42a037b..330aecd6 100644 --- a/Test/baseResults/remap.hlsl.templatetypes.everything.frag.out +++ b/Test/baseResults/remap.hlsl.templatetypes.everything.frag.out @@ -1,27 +1,38 @@ remap.hlsl.templatetypes.everything.frag // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 9012 +// Id's are bound by 24954 Capability Shader Capability Float64 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 5663 "main" 4045 4872 + EntryPoint Fragment 5663 "main" 4872 4045 ExecutionMode 5663 OriginUpperLeft - Decorate 4045 Location 0 Decorate 4872 Location 0 + Decorate 4045 Location 0 8: TypeVoid 1282: TypeFunction 8 13: TypeFloat 32 29: TypeVector 13(float) 4 + 666: TypePointer Function 29(fvec4) + 255: TypeFunction 13(float) 666(ptr) 2572: 13(float) Constant 0 + 667: TypePointer Input 29(fvec4) + 4872: 667(ptr) Variable Input 650: TypePointer Output 13(float) 4045: 650(ptr) Variable Output - 666: TypePointer Input 29(fvec4) - 4872: 666(ptr) Variable Input 5663: 8 Function None 1282 - 9011: Label - Store 4045 2572 + 24953: Label + 5786: 666(ptr) Variable Function + 24021: 29(fvec4) Load 4872 + Store 5786 24021 + 9338: 13(float) FunctionCall 3917 5786 + Store 4045 9338 Return FunctionEnd + 3917: 13(float) Function None 255 + 10636: 666(ptr) FunctionParameter + 10637: Label + ReturnValue 2572 + FunctionEnd diff --git a/Test/baseResults/remap.hlsl.templatetypes.none.frag.out b/Test/baseResults/remap.hlsl.templatetypes.none.frag.out index 027f0207..c5d8a010 100644 --- a/Test/baseResults/remap.hlsl.templatetypes.none.frag.out +++ b/Test/baseResults/remap.hlsl.templatetypes.none.frag.out @@ -1,222 +1,239 @@ remap.hlsl.templatetypes.none.frag // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 150 +// Id's are bound by 160 Capability Shader Capability Float64 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 146 149 + EntryPoint Fragment 4 "main" 153 156 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "r00" - Name 15 "r01" - Name 20 "r12" - Name 24 "r13" - Name 27 "r14" - Name 30 "r15" - Name 34 "r16" - Name 38 "r20" - Name 43 "r21" - Name 48 "r22" - Name 52 "r23" - Name 57 "r24" - Name 62 "r30" - Name 66 "r31" - Name 71 "r32" - Name 75 "r33" - Name 80 "r34" - Name 85 "r40" - Name 89 "r41" - Name 92 "r42" - Name 95 "r43" - Name 100 "r44" - Name 105 "r50" - Name 122 "r51" - Name 125 "r61" - Name 130 "r62" - Name 136 "r65" - Name 141 "r66" - Name 146 "@entryPointOutput" - Name 149 "input" - Decorate 146(@entryPointOutput) Location 0 - Decorate 149(input) Location 0 + Name 11 "@main(vf4;" + Name 10 "input" + Name 13 "r00" + Name 19 "r01" + Name 24 "r12" + Name 28 "r13" + Name 31 "r14" + Name 34 "r15" + Name 38 "r16" + Name 42 "r20" + Name 47 "r21" + Name 52 "r22" + Name 56 "r23" + Name 61 "r24" + Name 66 "r30" + Name 70 "r31" + Name 75 "r32" + Name 79 "r33" + Name 84 "r34" + Name 89 "r40" + Name 93 "r41" + Name 96 "r42" + Name 99 "r43" + Name 104 "r44" + Name 109 "r50" + Name 126 "r51" + Name 129 "r61" + Name 134 "r62" + Name 140 "r65" + Name 145 "r66" + Name 151 "input" + Name 153 "input" + Name 156 "@entryPointOutput" + Name 157 "param" + Decorate 153(input) Location 0 + Decorate 156(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 8: TypePointer Function 7(fvec4) - 10: 6(float) Constant 1065353216 - 11: 6(float) Constant 1073741824 - 12: 6(float) Constant 1077936128 - 13: 6(float) Constant 1082130432 - 14: 7(fvec4) ConstantComposite 10 11 12 13 - 16: 6(float) Constant 1084227584 - 17: 7(fvec4) ConstantComposite 11 12 13 16 - 18: TypeBool - 19: TypePointer Function 18(bool) - 21: 18(bool) ConstantFalse - 22: TypeInt 32 1 - 23: TypePointer Function 22(int) - 25: 22(int) Constant 1 - 26: TypePointer Function 6(float) - 28: TypeFloat 64 - 29: TypePointer Function 28(float) - 31: 28(float) Constant 0 1072693248 - 32: TypeInt 32 0 - 33: TypePointer Function 32(int) - 35: 32(int) Constant 1 - 36: TypeVector 18(bool) 2 - 37: TypePointer Function 36(bvec2) - 39: 18(bool) ConstantTrue - 40: 36(bvec2) ConstantComposite 21 39 - 41: TypeVector 22(int) 2 - 42: TypePointer Function 41(ivec2) - 44: 22(int) Constant 2 - 45: 41(ivec2) ConstantComposite 25 44 - 46: TypeVector 6(float) 2 - 47: TypePointer Function 46(fvec2) - 49: 46(fvec2) ConstantComposite 10 11 - 50: TypeVector 28(float) 2 + 9: TypeFunction 6(float) 8(ptr) + 14: 6(float) Constant 1065353216 + 15: 6(float) Constant 1073741824 + 16: 6(float) Constant 1077936128 + 17: 6(float) Constant 1082130432 + 18: 7(fvec4) ConstantComposite 14 15 16 17 + 20: 6(float) Constant 1084227584 + 21: 7(fvec4) ConstantComposite 15 16 17 20 + 22: TypeBool + 23: TypePointer Function 22(bool) + 25: 22(bool) ConstantFalse + 26: TypeInt 32 1 + 27: TypePointer Function 26(int) + 29: 26(int) Constant 1 + 30: TypePointer Function 6(float) + 32: TypeFloat 64 + 33: TypePointer Function 32(float) + 35: 32(float) Constant 0 1072693248 + 36: TypeInt 32 0 + 37: TypePointer Function 36(int) + 39: 36(int) Constant 1 + 40: TypeVector 22(bool) 2 + 41: TypePointer Function 40(bvec2) + 43: 22(bool) ConstantTrue + 44: 40(bvec2) ConstantComposite 25 43 + 45: TypeVector 26(int) 2 + 46: TypePointer Function 45(ivec2) + 48: 26(int) Constant 2 + 49: 45(ivec2) ConstantComposite 29 48 + 50: TypeVector 6(float) 2 51: TypePointer Function 50(fvec2) - 53: 28(float) Constant 0 1073741824 - 54: 50(fvec2) ConstantComposite 31 53 - 55: TypeVector 32(int) 2 - 56: TypePointer Function 55(ivec2) - 58: 32(int) Constant 2 - 59: 55(ivec2) ConstantComposite 35 58 - 60: TypeVector 18(bool) 3 - 61: TypePointer Function 60(bvec3) - 63: 60(bvec3) ConstantComposite 21 39 39 - 64: TypeVector 22(int) 3 - 65: TypePointer Function 64(ivec3) - 67: 22(int) Constant 3 - 68: 64(ivec3) ConstantComposite 25 44 67 - 69: TypeVector 6(float) 3 - 70: TypePointer Function 69(fvec3) - 72: 69(fvec3) ConstantComposite 10 11 12 - 73: TypeVector 28(float) 3 + 53: 50(fvec2) ConstantComposite 14 15 + 54: TypeVector 32(float) 2 + 55: TypePointer Function 54(fvec2) + 57: 32(float) Constant 0 1073741824 + 58: 54(fvec2) ConstantComposite 35 57 + 59: TypeVector 36(int) 2 + 60: TypePointer Function 59(ivec2) + 62: 36(int) Constant 2 + 63: 59(ivec2) ConstantComposite 39 62 + 64: TypeVector 22(bool) 3 + 65: TypePointer Function 64(bvec3) + 67: 64(bvec3) ConstantComposite 25 43 43 + 68: TypeVector 26(int) 3 + 69: TypePointer Function 68(ivec3) + 71: 26(int) Constant 3 + 72: 68(ivec3) ConstantComposite 29 48 71 + 73: TypeVector 6(float) 3 74: TypePointer Function 73(fvec3) - 76: 28(float) Constant 0 1074266112 - 77: 73(fvec3) ConstantComposite 31 53 76 - 78: TypeVector 32(int) 3 - 79: TypePointer Function 78(ivec3) - 81: 32(int) Constant 3 - 82: 78(ivec3) ConstantComposite 35 58 81 - 83: TypeVector 18(bool) 4 - 84: TypePointer Function 83(bvec4) - 86: 83(bvec4) ConstantComposite 21 39 39 21 - 87: TypeVector 22(int) 4 - 88: TypePointer Function 87(ivec4) - 90: 22(int) Constant 4 - 91: 87(ivec4) ConstantComposite 25 44 67 90 - 93: TypeVector 28(float) 4 - 94: TypePointer Function 93(fvec4) - 96: 28(float) Constant 0 1074790400 - 97: 93(fvec4) ConstantComposite 31 53 76 96 - 98: TypeVector 32(int) 4 - 99: TypePointer Function 98(ivec4) - 101: 32(int) Constant 4 - 102: 98(ivec4) ConstantComposite 35 58 81 101 - 103: TypeMatrix 7(fvec4) 4 - 104: TypePointer Function 103 - 106: 6(float) Constant 0 - 107: 7(fvec4) ConstantComposite 106 10 11 12 - 108: 6(float) Constant 1086324736 - 109: 6(float) Constant 1088421888 - 110: 7(fvec4) ConstantComposite 13 16 108 109 - 111: 6(float) Constant 1090519040 - 112: 6(float) Constant 1091567616 - 113: 6(float) Constant 1092616192 - 114: 6(float) Constant 1093664768 - 115: 7(fvec4) ConstantComposite 111 112 113 114 - 116: 6(float) Constant 1094713344 - 117: 6(float) Constant 1095761920 - 118: 6(float) Constant 1096810496 - 119: 6(float) Constant 1097859072 - 120: 7(fvec4) ConstantComposite 116 117 118 119 - 121: 103 ConstantComposite 107 110 115 120 - 123: TypeMatrix 69(fvec3) 2 - 124: TypePointer Function 123 - 126: 69(fvec3) ConstantComposite 13 16 108 - 127: 123 ConstantComposite 72 126 - 128: TypeMatrix 46(fvec2) 3 - 129: TypePointer Function 128 - 131: 46(fvec2) ConstantComposite 12 13 - 132: 46(fvec2) ConstantComposite 16 108 - 133: 128 ConstantComposite 49 131 132 - 134: TypeMatrix 46(fvec2) 4 - 135: TypePointer Function 134 - 137: 46(fvec2) ConstantComposite 109 111 - 138: 134 ConstantComposite 49 131 132 137 - 139: TypeMatrix 69(fvec3) 4 - 140: TypePointer Function 139 - 142: 69(fvec3) ConstantComposite 109 111 112 - 143: 69(fvec3) ConstantComposite 113 114 116 - 144: 139 ConstantComposite 72 126 142 143 - 145: TypePointer Output 6(float) -146(@entryPointOutput): 145(ptr) Variable Output - 148: TypePointer Input 7(fvec4) - 149(input): 148(ptr) Variable Input + 76: 73(fvec3) ConstantComposite 14 15 16 + 77: TypeVector 32(float) 3 + 78: TypePointer Function 77(fvec3) + 80: 32(float) Constant 0 1074266112 + 81: 77(fvec3) ConstantComposite 35 57 80 + 82: TypeVector 36(int) 3 + 83: TypePointer Function 82(ivec3) + 85: 36(int) Constant 3 + 86: 82(ivec3) ConstantComposite 39 62 85 + 87: TypeVector 22(bool) 4 + 88: TypePointer Function 87(bvec4) + 90: 87(bvec4) ConstantComposite 25 43 43 25 + 91: TypeVector 26(int) 4 + 92: TypePointer Function 91(ivec4) + 94: 26(int) Constant 4 + 95: 91(ivec4) ConstantComposite 29 48 71 94 + 97: TypeVector 32(float) 4 + 98: TypePointer Function 97(fvec4) + 100: 32(float) Constant 0 1074790400 + 101: 97(fvec4) ConstantComposite 35 57 80 100 + 102: TypeVector 36(int) 4 + 103: TypePointer Function 102(ivec4) + 105: 36(int) Constant 4 + 106: 102(ivec4) ConstantComposite 39 62 85 105 + 107: TypeMatrix 7(fvec4) 4 + 108: TypePointer Function 107 + 110: 6(float) Constant 0 + 111: 7(fvec4) ConstantComposite 110 14 15 16 + 112: 6(float) Constant 1086324736 + 113: 6(float) Constant 1088421888 + 114: 7(fvec4) ConstantComposite 17 20 112 113 + 115: 6(float) Constant 1090519040 + 116: 6(float) Constant 1091567616 + 117: 6(float) Constant 1092616192 + 118: 6(float) Constant 1093664768 + 119: 7(fvec4) ConstantComposite 115 116 117 118 + 120: 6(float) Constant 1094713344 + 121: 6(float) Constant 1095761920 + 122: 6(float) Constant 1096810496 + 123: 6(float) Constant 1097859072 + 124: 7(fvec4) ConstantComposite 120 121 122 123 + 125: 107 ConstantComposite 111 114 119 124 + 127: TypeMatrix 73(fvec3) 2 + 128: TypePointer Function 127 + 130: 73(fvec3) ConstantComposite 17 20 112 + 131: 127 ConstantComposite 76 130 + 132: TypeMatrix 50(fvec2) 3 + 133: TypePointer Function 132 + 135: 50(fvec2) ConstantComposite 16 17 + 136: 50(fvec2) ConstantComposite 20 112 + 137: 132 ConstantComposite 53 135 136 + 138: TypeMatrix 50(fvec2) 4 + 139: TypePointer Function 138 + 141: 50(fvec2) ConstantComposite 113 115 + 142: 138 ConstantComposite 53 135 136 141 + 143: TypeMatrix 73(fvec3) 4 + 144: TypePointer Function 143 + 146: 73(fvec3) ConstantComposite 113 115 116 + 147: 73(fvec3) ConstantComposite 117 118 120 + 148: 143 ConstantComposite 76 130 146 147 + 152: TypePointer Input 7(fvec4) + 153(input): 152(ptr) Variable Input + 155: TypePointer Output 6(float) +156(@entryPointOutput): 155(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 9(r00): 8(ptr) Variable Function - 15(r01): 8(ptr) Variable Function - 20(r12): 19(ptr) Variable Function - 24(r13): 23(ptr) Variable Function - 27(r14): 26(ptr) Variable Function - 30(r15): 29(ptr) Variable Function - 34(r16): 33(ptr) Variable Function - 38(r20): 37(ptr) Variable Function - 43(r21): 42(ptr) Variable Function - 48(r22): 47(ptr) Variable Function - 52(r23): 51(ptr) Variable Function - 57(r24): 56(ptr) Variable Function - 62(r30): 61(ptr) Variable Function - 66(r31): 65(ptr) Variable Function - 71(r32): 70(ptr) Variable Function - 75(r33): 74(ptr) Variable Function - 80(r34): 79(ptr) Variable Function - 85(r40): 84(ptr) Variable Function - 89(r41): 88(ptr) Variable Function - 92(r42): 8(ptr) Variable Function - 95(r43): 94(ptr) Variable Function - 100(r44): 99(ptr) Variable Function - 105(r50): 104(ptr) Variable Function - 122(r51): 104(ptr) Variable Function - 125(r61): 124(ptr) Variable Function - 130(r62): 129(ptr) Variable Function - 136(r65): 135(ptr) Variable Function - 141(r66): 140(ptr) Variable Function - Store 9(r00) 14 - Store 15(r01) 17 - Store 20(r12) 21 - Store 24(r13) 25 - Store 27(r14) 10 - Store 30(r15) 31 - Store 34(r16) 35 - Store 38(r20) 40 - Store 43(r21) 45 - Store 48(r22) 49 - Store 52(r23) 54 - Store 57(r24) 59 - Store 62(r30) 63 - Store 66(r31) 68 - Store 71(r32) 72 - Store 75(r33) 77 - Store 80(r34) 82 - Store 85(r40) 86 - Store 89(r41) 91 - Store 92(r42) 14 - Store 95(r43) 97 - Store 100(r44) 102 - Store 105(r50) 121 - Store 122(r51) 121 - Store 125(r61) 127 - Store 130(r62) 133 - Store 136(r65) 138 - Store 141(r66) 144 - Store 146(@entryPointOutput) 106 + 151(input): 8(ptr) Variable Function + 157(param): 8(ptr) Variable Function + 154: 7(fvec4) Load 153(input) + Store 151(input) 154 + 158: 7(fvec4) Load 151(input) + Store 157(param) 158 + 159: 6(float) FunctionCall 11(@main(vf4;) 157(param) + Store 156(@entryPointOutput) 159 Return FunctionEnd + 11(@main(vf4;): 6(float) Function None 9 + 10(input): 8(ptr) FunctionParameter + 12: Label + 13(r00): 8(ptr) Variable Function + 19(r01): 8(ptr) Variable Function + 24(r12): 23(ptr) Variable Function + 28(r13): 27(ptr) Variable Function + 31(r14): 30(ptr) Variable Function + 34(r15): 33(ptr) Variable Function + 38(r16): 37(ptr) Variable Function + 42(r20): 41(ptr) Variable Function + 47(r21): 46(ptr) Variable Function + 52(r22): 51(ptr) Variable Function + 56(r23): 55(ptr) Variable Function + 61(r24): 60(ptr) Variable Function + 66(r30): 65(ptr) Variable Function + 70(r31): 69(ptr) Variable Function + 75(r32): 74(ptr) Variable Function + 79(r33): 78(ptr) Variable Function + 84(r34): 83(ptr) Variable Function + 89(r40): 88(ptr) Variable Function + 93(r41): 92(ptr) Variable Function + 96(r42): 8(ptr) Variable Function + 99(r43): 98(ptr) Variable Function + 104(r44): 103(ptr) Variable Function + 109(r50): 108(ptr) Variable Function + 126(r51): 108(ptr) Variable Function + 129(r61): 128(ptr) Variable Function + 134(r62): 133(ptr) Variable Function + 140(r65): 139(ptr) Variable Function + 145(r66): 144(ptr) Variable Function + Store 13(r00) 18 + Store 19(r01) 21 + Store 24(r12) 25 + Store 28(r13) 29 + Store 31(r14) 14 + Store 34(r15) 35 + Store 38(r16) 39 + Store 42(r20) 44 + Store 47(r21) 49 + Store 52(r22) 53 + Store 56(r23) 58 + Store 61(r24) 63 + Store 66(r30) 67 + Store 70(r31) 72 + Store 75(r32) 76 + Store 79(r33) 81 + Store 84(r34) 86 + Store 89(r40) 90 + Store 93(r41) 95 + Store 96(r42) 18 + Store 99(r43) 101 + Store 104(r44) 106 + Store 109(r50) 125 + Store 126(r51) 125 + Store 129(r61) 131 + Store 134(r62) 137 + Store 140(r65) 142 + Store 145(r66) 148 + ReturnValue 110 + FunctionEnd diff --git a/Test/baseResults/spv.buffer.autoassign.frag.out b/Test/baseResults/spv.buffer.autoassign.frag.out index f2c8d6d9..8fb6215c 100644 --- a/Test/baseResults/spv.buffer.autoassign.frag.out +++ b/Test/baseResults/spv.buffer.autoassign.frag.out @@ -1,85 +1,92 @@ spv.buffer.autoassign.frag // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 45 +// Id's are bound by 50 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 41 + EntryPoint Fragment 4 "main" 47 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" - Name 10 "psout" - Name 13 "MyUB1" - MemberName 13(MyUB1) 0 "g_a" - MemberName 13(MyUB1) 1 "g_b" - Name 15 "" - Name 25 "MyUB2" - MemberName 25(MyUB2) 0 "g_c" - Name 27 "" - Name 31 "MyUB3" - MemberName 31(MyUB3) 0 "g_d" - Name 33 "" - Name 41 "Color" - MemberDecorate 13(MyUB1) 0 Offset 0 - MemberDecorate 13(MyUB1) 1 Offset 4 - Decorate 13(MyUB1) Block - Decorate 15 DescriptorSet 0 - Decorate 15 Binding 20 - MemberDecorate 25(MyUB2) 0 Offset 0 - Decorate 25(MyUB2) Block - Decorate 27 DescriptorSet 0 - Decorate 27 Binding 15 - MemberDecorate 31(MyUB3) 0 Offset 0 - Decorate 31(MyUB3) Block - Decorate 33 DescriptorSet 0 - Decorate 33 Binding 16 - Decorate 41(Color) Location 0 + Name 10 "@main(" + Name 13 "psout" + Name 16 "MyUB1" + MemberName 16(MyUB1) 0 "g_a" + MemberName 16(MyUB1) 1 "g_b" + Name 18 "" + Name 28 "MyUB2" + MemberName 28(MyUB2) 0 "g_c" + Name 30 "" + Name 34 "MyUB3" + MemberName 34(MyUB3) 0 "g_d" + Name 36 "" + Name 47 "Color" + MemberDecorate 16(MyUB1) 0 Offset 0 + MemberDecorate 16(MyUB1) 1 Offset 4 + Decorate 16(MyUB1) Block + Decorate 18 DescriptorSet 0 + Decorate 18 Binding 20 + MemberDecorate 28(MyUB2) 0 Offset 0 + Decorate 28(MyUB2) Block + Decorate 30 DescriptorSet 0 + Decorate 30 Binding 15 + MemberDecorate 34(MyUB3) 0 Offset 0 + Decorate 34(MyUB3) Block + Decorate 36 DescriptorSet 0 + Decorate 36 Binding 16 + Decorate 47(Color) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 8(PS_OUTPUT): TypeStruct 7(fvec4) - 9: TypePointer Function 8(PS_OUTPUT) - 11: TypeInt 32 1 - 12: 11(int) Constant 0 - 13(MyUB1): TypeStruct 6(float) 11(int) - 14: TypePointer Uniform 13(MyUB1) - 15: 14(ptr) Variable Uniform - 16: TypePointer Uniform 6(float) - 19: 11(int) Constant 1 - 20: TypePointer Uniform 11(int) - 25(MyUB2): TypeStruct 6(float) - 26: TypePointer Uniform 25(MyUB2) - 27: 26(ptr) Variable Uniform - 31(MyUB3): TypeStruct 6(float) - 32: TypePointer Uniform 31(MyUB3) - 33: 32(ptr) Variable Uniform - 38: TypePointer Function 7(fvec4) - 40: TypePointer Output 7(fvec4) - 41(Color): 40(ptr) Variable Output + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 8(PS_OUTPUT) + 14: TypeInt 32 1 + 15: 14(int) Constant 0 + 16(MyUB1): TypeStruct 6(float) 14(int) + 17: TypePointer Uniform 16(MyUB1) + 18: 17(ptr) Variable Uniform + 19: TypePointer Uniform 6(float) + 22: 14(int) Constant 1 + 23: TypePointer Uniform 14(int) + 28(MyUB2): TypeStruct 6(float) + 29: TypePointer Uniform 28(MyUB2) + 30: 29(ptr) Variable Uniform + 34(MyUB3): TypeStruct 6(float) + 35: TypePointer Uniform 34(MyUB3) + 36: 35(ptr) Variable Uniform + 41: TypePointer Function 7(fvec4) + 46: TypePointer Output 7(fvec4) + 47(Color): 46(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 10(psout): 9(ptr) Variable Function - 17: 16(ptr) AccessChain 15 12 - 18: 6(float) Load 17 - 21: 20(ptr) AccessChain 15 19 - 22: 11(int) Load 21 - 23: 6(float) ConvertSToF 22 - 24: 6(float) FAdd 18 23 - 28: 16(ptr) AccessChain 27 12 - 29: 6(float) Load 28 - 30: 6(float) FAdd 24 29 - 34: 16(ptr) AccessChain 33 12 - 35: 6(float) Load 34 - 36: 6(float) FAdd 30 35 - 37: 7(fvec4) CompositeConstruct 36 36 36 36 - 39: 38(ptr) AccessChain 10(psout) 12 - Store 39 37 - 42: 38(ptr) AccessChain 10(psout) 12 - 43: 7(fvec4) Load 42 - Store 41(Color) 43 + 48:8(PS_OUTPUT) FunctionCall 10(@main() + 49: 7(fvec4) CompositeExtract 48 0 + Store 47(Color) 49 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(psout): 12(ptr) Variable Function + 20: 19(ptr) AccessChain 18 15 + 21: 6(float) Load 20 + 24: 23(ptr) AccessChain 18 22 + 25: 14(int) Load 24 + 26: 6(float) ConvertSToF 25 + 27: 6(float) FAdd 21 26 + 31: 19(ptr) AccessChain 30 15 + 32: 6(float) Load 31 + 33: 6(float) FAdd 27 32 + 37: 19(ptr) AccessChain 36 15 + 38: 6(float) Load 37 + 39: 6(float) FAdd 33 38 + 40: 7(fvec4) CompositeConstruct 39 39 39 39 + 42: 41(ptr) AccessChain 13(psout) 15 + Store 42 40 + 43:8(PS_OUTPUT) Load 13(psout) + ReturnValue 43 + FunctionEnd diff --git a/Test/baseResults/spv.register.autoassign-2.frag.out b/Test/baseResults/spv.register.autoassign-2.frag.out index 6d2ad36e..c8273dd1 100644 --- a/Test/baseResults/spv.register.autoassign-2.frag.out +++ b/Test/baseResults/spv.register.autoassign-2.frag.out @@ -1,54 +1,80 @@ spv.register.autoassign-2.frag // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 31 +// Id's are bound by 47 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 9 + EntryPoint Fragment 4 "main" 44 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "Color" - Name 12 "g_tScene[0]" - Name 16 "g_tSamp" - Name 25 "g_tScene[1]" - Decorate 9(Color) Location 0 - Decorate 12(g_tScene[0]) DescriptorSet 0 - Decorate 12(g_tScene[0]) Binding 10 - Decorate 16(g_tSamp) DescriptorSet 0 - Decorate 16(g_tSamp) Binding 5 - Decorate 25(g_tScene[1]) DescriptorSet 0 - Decorate 25(g_tScene[1]) Binding 11 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + Name 12 "@main(struct-PS_OUTPUT-vf41;" + Name 11 "psout" + Name 18 "g_tScene[0]" + Name 22 "g_tSamp" + Name 31 "g_tScene[1]" + Name 39 "psout" + Name 40 "param" + Name 44 "Color" + Decorate 18(g_tScene[0]) DescriptorSet 0 + Decorate 18(g_tScene[0]) Binding 10 + Decorate 22(g_tSamp) DescriptorSet 0 + Decorate 22(g_tSamp) Binding 5 + Decorate 31(g_tScene[1]) DescriptorSet 0 + Decorate 31(g_tScene[1]) Binding 11 + Decorate 44(Color) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Output 7(fvec4) - 9(Color): 8(ptr) Variable Output - 10: TypeImage 6(float) 2D sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tScene[0]): 11(ptr) Variable UniformConstant - 14: TypeSampler - 15: TypePointer UniformConstant 14 - 16(g_tSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: TypeVector 6(float) 2 - 21: 6(float) Constant 1050253722 - 22: 6(float) Constant 1053609165 - 23: 20(fvec2) ConstantComposite 21 22 - 25(g_tScene[1]): 11(ptr) Variable UniformConstant + 8(PS_OUTPUT): TypeStruct 7(fvec4) + 9: TypePointer Function 8(PS_OUTPUT) + 10: TypeFunction 2 9(ptr) + 14: TypeInt 32 1 + 15: 14(int) Constant 0 + 16: TypeImage 6(float) 2D sampled format:Unknown + 17: TypePointer UniformConstant 16 + 18(g_tScene[0]): 17(ptr) Variable UniformConstant + 20: TypeSampler + 21: TypePointer UniformConstant 20 + 22(g_tSamp): 21(ptr) Variable UniformConstant + 24: TypeSampledImage 16 + 26: TypeVector 6(float) 2 + 27: 6(float) Constant 1050253722 + 28: 6(float) Constant 1053609165 + 29: 26(fvec2) ConstantComposite 27 28 + 31(g_tScene[1]): 17(ptr) Variable UniformConstant + 37: TypePointer Function 7(fvec4) + 43: TypePointer Output 7(fvec4) + 44(Color): 43(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 13: 10 Load 12(g_tScene[0]) - 17: 14 Load 16(g_tSamp) - 19: 18 SampledImage 13 17 - 24: 7(fvec4) ImageSampleImplicitLod 19 23 - 26: 10 Load 25(g_tScene[1]) - 27: 14 Load 16(g_tSamp) - 28: 18 SampledImage 26 27 - 29: 7(fvec4) ImageSampleImplicitLod 28 23 - 30: 7(fvec4) FAdd 24 29 - Store 9(Color) 30 + 39(psout): 9(ptr) Variable Function + 40(param): 9(ptr) Variable Function + 41: 2 FunctionCall 12(@main(struct-PS_OUTPUT-vf41;) 40(param) + 42:8(PS_OUTPUT) Load 40(param) + Store 39(psout) 42 + 45: 37(ptr) AccessChain 39(psout) 15 + 46: 7(fvec4) Load 45 + Store 44(Color) 46 + Return + FunctionEnd +12(@main(struct-PS_OUTPUT-vf41;): 2 Function None 10 + 11(psout): 9(ptr) FunctionParameter + 13: Label + 19: 16 Load 18(g_tScene[0]) + 23: 20 Load 22(g_tSamp) + 25: 24 SampledImage 19 23 + 30: 7(fvec4) ImageSampleImplicitLod 25 29 + 32: 16 Load 31(g_tScene[1]) + 33: 20 Load 22(g_tSamp) + 34: 24 SampledImage 32 33 + 35: 7(fvec4) ImageSampleImplicitLod 34 29 + 36: 7(fvec4) FAdd 30 35 + 38: 37(ptr) AccessChain 11(psout) 15 + Store 38 36 Return FunctionEnd diff --git a/Test/baseResults/spv.register.autoassign.frag.out b/Test/baseResults/spv.register.autoassign.frag.out index 4b4655e3..ae048ce9 100644 --- a/Test/baseResults/spv.register.autoassign.frag.out +++ b/Test/baseResults/spv.register.autoassign.frag.out @@ -1,233 +1,240 @@ spv.register.autoassign.frag // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 150 +// Id's are bound by 155 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main_ep" 145 + EntryPoint Fragment 4 "main_ep" 151 ExecutionMode 4 OriginUpperLeft Name 4 "main_ep" Name 9 "Func1(" Name 11 "Func2(" Name 13 "Func2_unused(" - Name 17 "g_tTex1" - Name 21 "g_sSamp1" - Name 27 "g_tTex2" - Name 29 "g_sSamp2" - Name 39 "g_tTex3" - Name 46 "g_sSamp3" - Name 64 "g_tTex4" - Name 69 "g_sSamp4" - Name 84 "g_tTex5" - Name 86 "g_sSamp5" - Name 93 "MyStruct_t" - MemberName 93(MyStruct_t) 0 "a" - MemberName 93(MyStruct_t) 1 "b" - MemberName 93(MyStruct_t) 2 "c" - Name 95 "$Global" - MemberName 95($Global) 0 "mystruct" - MemberName 95($Global) 1 "myfloat4_a" - MemberName 95($Global) 2 "myfloat4_b" - MemberName 95($Global) 3 "myint4_a" - Name 97 "" - Name 119 "g_tTex_unused1" - Name 121 "g_sSamp_unused1" - Name 126 "g_tTex_unused2" - Name 128 "g_sSamp_unused2" - Name 136 "PS_OUTPUT" - MemberName 136(PS_OUTPUT) 0 "Color" - Name 138 "psout" - Name 145 "Color" - Name 149 "g_tTex_unused3" - Decorate 17(g_tTex1) DescriptorSet 0 - Decorate 17(g_tTex1) Binding 11 - Decorate 21(g_sSamp1) DescriptorSet 0 - Decorate 21(g_sSamp1) Binding 5 - Decorate 27(g_tTex2) DescriptorSet 0 - Decorate 27(g_tTex2) Binding 14 - Decorate 29(g_sSamp2) DescriptorSet 0 - Decorate 29(g_sSamp2) Binding 6 - Decorate 39(g_tTex3) DescriptorSet 0 - Decorate 39(g_tTex3) Binding 13 - Decorate 46(g_sSamp3) DescriptorSet 0 - Decorate 46(g_sSamp3) Binding 7 - Decorate 64(g_tTex4) DescriptorSet 0 - Decorate 64(g_tTex4) Binding 15 - Decorate 69(g_sSamp4) DescriptorSet 0 - Decorate 69(g_sSamp4) Binding 8 - Decorate 84(g_tTex5) DescriptorSet 0 - Decorate 84(g_tTex5) Binding 16 - Decorate 86(g_sSamp5) DescriptorSet 0 - Decorate 86(g_sSamp5) Binding 9 - MemberDecorate 93(MyStruct_t) 0 Offset 0 - MemberDecorate 93(MyStruct_t) 1 Offset 4 - MemberDecorate 93(MyStruct_t) 2 Offset 16 - MemberDecorate 95($Global) 0 Offset 0 - MemberDecorate 95($Global) 1 Offset 32 - MemberDecorate 95($Global) 2 Offset 48 - MemberDecorate 95($Global) 3 Offset 64 - Decorate 95($Global) Block - Decorate 97 DescriptorSet 0 - Decorate 97 Binding 20 - Decorate 119(g_tTex_unused1) DescriptorSet 0 - Decorate 119(g_tTex_unused1) Binding 10 - Decorate 121(g_sSamp_unused1) DescriptorSet 0 - Decorate 126(g_tTex_unused2) DescriptorSet 0 - Decorate 126(g_tTex_unused2) Binding 12 - Decorate 128(g_sSamp_unused2) DescriptorSet 0 - Decorate 145(Color) Location 0 - Decorate 149(g_tTex_unused3) DescriptorSet 0 + Name 15 "PS_OUTPUT" + MemberName 15(PS_OUTPUT) 0 "Color" + Name 17 "@main_ep(" + Name 21 "g_tTex1" + Name 25 "g_sSamp1" + Name 31 "g_tTex2" + Name 33 "g_sSamp2" + Name 43 "g_tTex3" + Name 50 "g_sSamp3" + Name 68 "g_tTex4" + Name 73 "g_sSamp4" + Name 88 "g_tTex5" + Name 90 "g_sSamp5" + Name 97 "MyStruct_t" + MemberName 97(MyStruct_t) 0 "a" + MemberName 97(MyStruct_t) 1 "b" + MemberName 97(MyStruct_t) 2 "c" + Name 99 "$Global" + MemberName 99($Global) 0 "mystruct" + MemberName 99($Global) 1 "myfloat4_a" + MemberName 99($Global) 2 "myfloat4_b" + MemberName 99($Global) 3 "myint4_a" + Name 101 "" + Name 123 "g_tTex_unused1" + Name 125 "g_sSamp_unused1" + Name 130 "g_tTex_unused2" + Name 132 "g_sSamp_unused2" + Name 141 "psout" + Name 151 "Color" + Name 154 "g_tTex_unused3" + Decorate 21(g_tTex1) DescriptorSet 0 + Decorate 21(g_tTex1) Binding 11 + Decorate 25(g_sSamp1) DescriptorSet 0 + Decorate 25(g_sSamp1) Binding 5 + Decorate 31(g_tTex2) DescriptorSet 0 + Decorate 31(g_tTex2) Binding 14 + Decorate 33(g_sSamp2) DescriptorSet 0 + Decorate 33(g_sSamp2) Binding 6 + Decorate 43(g_tTex3) DescriptorSet 0 + Decorate 43(g_tTex3) Binding 13 + Decorate 50(g_sSamp3) DescriptorSet 0 + Decorate 50(g_sSamp3) Binding 7 + Decorate 68(g_tTex4) DescriptorSet 0 + Decorate 68(g_tTex4) Binding 15 + Decorate 73(g_sSamp4) DescriptorSet 0 + Decorate 73(g_sSamp4) Binding 8 + Decorate 88(g_tTex5) DescriptorSet 0 + Decorate 88(g_tTex5) Binding 16 + Decorate 90(g_sSamp5) DescriptorSet 0 + Decorate 90(g_sSamp5) Binding 9 + MemberDecorate 97(MyStruct_t) 0 Offset 0 + MemberDecorate 97(MyStruct_t) 1 Offset 4 + MemberDecorate 97(MyStruct_t) 2 Offset 16 + MemberDecorate 99($Global) 0 Offset 0 + MemberDecorate 99($Global) 1 Offset 32 + MemberDecorate 99($Global) 2 Offset 48 + MemberDecorate 99($Global) 3 Offset 64 + Decorate 99($Global) Block + Decorate 101 DescriptorSet 0 + Decorate 101 Binding 20 + Decorate 123(g_tTex_unused1) DescriptorSet 0 + Decorate 123(g_tTex_unused1) Binding 10 + Decorate 125(g_sSamp_unused1) DescriptorSet 0 + Decorate 130(g_tTex_unused2) DescriptorSet 0 + Decorate 130(g_tTex_unused2) Binding 12 + Decorate 132(g_sSamp_unused2) DescriptorSet 0 + Decorate 151(Color) Location 0 + Decorate 154(g_tTex_unused3) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 8: TypeFunction 7(fvec4) - 15: TypeImage 6(float) 1D sampled format:Unknown - 16: TypePointer UniformConstant 15 - 17(g_tTex1): 16(ptr) Variable UniformConstant - 19: TypeSampler + 15(PS_OUTPUT): TypeStruct 7(fvec4) + 16: TypeFunction 15(PS_OUTPUT) + 19: TypeImage 6(float) 1D sampled format:Unknown 20: TypePointer UniformConstant 19 - 21(g_sSamp1): 20(ptr) Variable UniformConstant - 23: TypeSampledImage 15 - 25: 6(float) Constant 1036831949 - 27(g_tTex2): 16(ptr) Variable UniformConstant - 29(g_sSamp2): 20(ptr) Variable UniformConstant - 32: 6(float) Constant 1045220557 - 35: TypeInt 32 0 - 36: 35(int) Constant 2 - 37: TypeArray 15 36 - 38: TypePointer UniformConstant 37 - 39(g_tTex3): 38(ptr) Variable UniformConstant - 40: TypeInt 32 1 - 41: 40(int) Constant 0 - 44: TypeArray 19 36 - 45: TypePointer UniformConstant 44 - 46(g_sSamp3): 45(ptr) Variable UniformConstant - 50: 6(float) Constant 1050253722 - 53: 40(int) Constant 1 - 61: 35(int) Constant 3 - 62: TypeArray 15 61 - 63: TypePointer UniformConstant 62 - 64(g_tTex4): 63(ptr) Variable UniformConstant - 67: TypeArray 19 61 - 68: TypePointer UniformConstant 67 - 69(g_sSamp4): 68(ptr) Variable UniformConstant - 73: 6(float) Constant 1053609165 - 76: 40(int) Constant 2 - 84(g_tTex5): 16(ptr) Variable UniformConstant - 86(g_sSamp5): 20(ptr) Variable UniformConstant - 89: 6(float) Constant 1056964608 - 92: TypeVector 6(float) 3 - 93(MyStruct_t): TypeStruct 40(int) 6(float) 92(fvec3) - 94: TypeVector 40(int) 4 - 95($Global): TypeStruct 93(MyStruct_t) 7(fvec4) 7(fvec4) 94(ivec4) - 96: TypePointer Uniform 95($Global) - 97: 96(ptr) Variable Uniform - 98: 35(int) Constant 1 - 99: TypePointer Uniform 6(float) -119(g_tTex_unused1): 16(ptr) Variable UniformConstant -121(g_sSamp_unused1): 20(ptr) Variable UniformConstant - 124: 6(float) Constant 1066192077 -126(g_tTex_unused2): 16(ptr) Variable UniformConstant -128(g_sSamp_unused2): 20(ptr) Variable UniformConstant - 131: 6(float) Constant 1067030938 - 136(PS_OUTPUT): TypeStruct 7(fvec4) - 137: TypePointer Function 136(PS_OUTPUT) - 142: TypePointer Function 7(fvec4) - 144: TypePointer Output 7(fvec4) - 145(Color): 144(ptr) Variable Output -149(g_tTex_unused3): 16(ptr) Variable UniformConstant + 21(g_tTex1): 20(ptr) Variable UniformConstant + 23: TypeSampler + 24: TypePointer UniformConstant 23 + 25(g_sSamp1): 24(ptr) Variable UniformConstant + 27: TypeSampledImage 19 + 29: 6(float) Constant 1036831949 + 31(g_tTex2): 20(ptr) Variable UniformConstant + 33(g_sSamp2): 24(ptr) Variable UniformConstant + 36: 6(float) Constant 1045220557 + 39: TypeInt 32 0 + 40: 39(int) Constant 2 + 41: TypeArray 19 40 + 42: TypePointer UniformConstant 41 + 43(g_tTex3): 42(ptr) Variable UniformConstant + 44: TypeInt 32 1 + 45: 44(int) Constant 0 + 48: TypeArray 23 40 + 49: TypePointer UniformConstant 48 + 50(g_sSamp3): 49(ptr) Variable UniformConstant + 54: 6(float) Constant 1050253722 + 57: 44(int) Constant 1 + 65: 39(int) Constant 3 + 66: TypeArray 19 65 + 67: TypePointer UniformConstant 66 + 68(g_tTex4): 67(ptr) Variable UniformConstant + 71: TypeArray 23 65 + 72: TypePointer UniformConstant 71 + 73(g_sSamp4): 72(ptr) Variable UniformConstant + 77: 6(float) Constant 1053609165 + 80: 44(int) Constant 2 + 88(g_tTex5): 20(ptr) Variable UniformConstant + 90(g_sSamp5): 24(ptr) Variable UniformConstant + 93: 6(float) Constant 1056964608 + 96: TypeVector 6(float) 3 + 97(MyStruct_t): TypeStruct 44(int) 6(float) 96(fvec3) + 98: TypeVector 44(int) 4 + 99($Global): TypeStruct 97(MyStruct_t) 7(fvec4) 7(fvec4) 98(ivec4) + 100: TypePointer Uniform 99($Global) + 101: 100(ptr) Variable Uniform + 102: 39(int) Constant 1 + 103: TypePointer Uniform 6(float) +123(g_tTex_unused1): 20(ptr) Variable UniformConstant +125(g_sSamp_unused1): 24(ptr) Variable UniformConstant + 128: 6(float) Constant 1066192077 +130(g_tTex_unused2): 20(ptr) Variable UniformConstant +132(g_sSamp_unused2): 24(ptr) Variable UniformConstant + 135: 6(float) Constant 1067030938 + 140: TypePointer Function 15(PS_OUTPUT) + 145: TypePointer Function 7(fvec4) + 150: TypePointer Output 7(fvec4) + 151(Color): 150(ptr) Variable Output +154(g_tTex_unused3): 20(ptr) Variable UniformConstant 4(main_ep): 2 Function None 3 5: Label - 138(psout): 137(ptr) Variable Function - 139: 7(fvec4) FunctionCall 9(Func1() - 140: 7(fvec4) FunctionCall 11(Func2() - 141: 7(fvec4) FAdd 139 140 - 143: 142(ptr) AccessChain 138(psout) 41 - Store 143 141 - 146: 142(ptr) AccessChain 138(psout) 41 - 147: 7(fvec4) Load 146 - Store 145(Color) 147 + 152:15(PS_OUTPUT) FunctionCall 17(@main_ep() + 153: 7(fvec4) CompositeExtract 152 0 + Store 151(Color) 153 Return FunctionEnd 9(Func1(): 7(fvec4) Function None 8 10: Label - 18: 15 Load 17(g_tTex1) - 22: 19 Load 21(g_sSamp1) - 24: 23 SampledImage 18 22 - 26: 7(fvec4) ImageSampleImplicitLod 24 25 - 28: 15 Load 27(g_tTex2) - 30: 19 Load 29(g_sSamp2) - 31: 23 SampledImage 28 30 - 33: 7(fvec4) ImageSampleImplicitLod 31 32 - 34: 7(fvec4) FAdd 26 33 - 42: 16(ptr) AccessChain 39(g_tTex3) 41 - 43: 15 Load 42 - 47: 20(ptr) AccessChain 46(g_sSamp3) 41 - 48: 19 Load 47 - 49: 23 SampledImage 43 48 - 51: 7(fvec4) ImageSampleImplicitLod 49 50 - 52: 7(fvec4) FAdd 34 51 - 54: 16(ptr) AccessChain 39(g_tTex3) 53 - 55: 15 Load 54 - 56: 20(ptr) AccessChain 46(g_sSamp3) 53 - 57: 19 Load 56 - 58: 23 SampledImage 55 57 - 59: 7(fvec4) ImageSampleImplicitLod 58 50 - 60: 7(fvec4) FAdd 52 59 - 65: 16(ptr) AccessChain 64(g_tTex4) 53 - 66: 15 Load 65 - 70: 20(ptr) AccessChain 69(g_sSamp4) 53 - 71: 19 Load 70 - 72: 23 SampledImage 66 71 - 74: 7(fvec4) ImageSampleImplicitLod 72 73 - 75: 7(fvec4) FAdd 60 74 - 77: 16(ptr) AccessChain 64(g_tTex4) 76 - 78: 15 Load 77 - 79: 20(ptr) AccessChain 69(g_sSamp4) 76 - 80: 19 Load 79 - 81: 23 SampledImage 78 80 - 82: 7(fvec4) ImageSampleImplicitLod 81 73 - 83: 7(fvec4) FAdd 75 82 - 85: 15 Load 84(g_tTex5) - 87: 19 Load 86(g_sSamp5) - 88: 23 SampledImage 85 87 - 90: 7(fvec4) ImageSampleImplicitLod 88 89 - 91: 7(fvec4) FAdd 83 90 - 100: 99(ptr) AccessChain 97 41 76 98 - 101: 6(float) Load 100 - 102: 7(fvec4) CompositeConstruct 101 101 101 101 - 103: 7(fvec4) FAdd 91 102 - ReturnValue 103 + 22: 19 Load 21(g_tTex1) + 26: 23 Load 25(g_sSamp1) + 28: 27 SampledImage 22 26 + 30: 7(fvec4) ImageSampleImplicitLod 28 29 + 32: 19 Load 31(g_tTex2) + 34: 23 Load 33(g_sSamp2) + 35: 27 SampledImage 32 34 + 37: 7(fvec4) ImageSampleImplicitLod 35 36 + 38: 7(fvec4) FAdd 30 37 + 46: 20(ptr) AccessChain 43(g_tTex3) 45 + 47: 19 Load 46 + 51: 24(ptr) AccessChain 50(g_sSamp3) 45 + 52: 23 Load 51 + 53: 27 SampledImage 47 52 + 55: 7(fvec4) ImageSampleImplicitLod 53 54 + 56: 7(fvec4) FAdd 38 55 + 58: 20(ptr) AccessChain 43(g_tTex3) 57 + 59: 19 Load 58 + 60: 24(ptr) AccessChain 50(g_sSamp3) 57 + 61: 23 Load 60 + 62: 27 SampledImage 59 61 + 63: 7(fvec4) ImageSampleImplicitLod 62 54 + 64: 7(fvec4) FAdd 56 63 + 69: 20(ptr) AccessChain 68(g_tTex4) 57 + 70: 19 Load 69 + 74: 24(ptr) AccessChain 73(g_sSamp4) 57 + 75: 23 Load 74 + 76: 27 SampledImage 70 75 + 78: 7(fvec4) ImageSampleImplicitLod 76 77 + 79: 7(fvec4) FAdd 64 78 + 81: 20(ptr) AccessChain 68(g_tTex4) 80 + 82: 19 Load 81 + 83: 24(ptr) AccessChain 73(g_sSamp4) 80 + 84: 23 Load 83 + 85: 27 SampledImage 82 84 + 86: 7(fvec4) ImageSampleImplicitLod 85 77 + 87: 7(fvec4) FAdd 79 86 + 89: 19 Load 88(g_tTex5) + 91: 23 Load 90(g_sSamp5) + 92: 27 SampledImage 89 91 + 94: 7(fvec4) ImageSampleImplicitLod 92 93 + 95: 7(fvec4) FAdd 87 94 + 104: 103(ptr) AccessChain 101 45 80 102 + 105: 6(float) Load 104 + 106: 7(fvec4) CompositeConstruct 105 105 105 105 + 107: 7(fvec4) FAdd 95 106 + ReturnValue 107 FunctionEnd 11(Func2(): 7(fvec4) Function None 8 12: Label - 106: 15 Load 17(g_tTex1) - 107: 19 Load 21(g_sSamp1) - 108: 23 SampledImage 106 107 - 109: 7(fvec4) ImageSampleImplicitLod 108 25 - 110: 16(ptr) AccessChain 39(g_tTex3) 53 - 111: 15 Load 110 - 112: 20(ptr) AccessChain 46(g_sSamp3) 53 - 113: 19 Load 112 - 114: 23 SampledImage 111 113 - 115: 7(fvec4) ImageSampleImplicitLod 114 50 - 116: 7(fvec4) FAdd 109 115 - ReturnValue 116 + 110: 19 Load 21(g_tTex1) + 111: 23 Load 25(g_sSamp1) + 112: 27 SampledImage 110 111 + 113: 7(fvec4) ImageSampleImplicitLod 112 29 + 114: 20(ptr) AccessChain 43(g_tTex3) 57 + 115: 19 Load 114 + 116: 24(ptr) AccessChain 50(g_sSamp3) 57 + 117: 23 Load 116 + 118: 27 SampledImage 115 117 + 119: 7(fvec4) ImageSampleImplicitLod 118 54 + 120: 7(fvec4) FAdd 113 119 + ReturnValue 120 FunctionEnd 13(Func2_unused(): 7(fvec4) Function None 8 14: Label - 120: 15 Load 119(g_tTex_unused1) - 122: 19 Load 121(g_sSamp_unused1) - 123: 23 SampledImage 120 122 - 125: 7(fvec4) ImageSampleImplicitLod 123 124 - 127: 15 Load 126(g_tTex_unused2) - 129: 19 Load 128(g_sSamp_unused2) - 130: 23 SampledImage 127 129 - 132: 7(fvec4) ImageSampleImplicitLod 130 131 - 133: 7(fvec4) FAdd 125 132 - ReturnValue 133 + 124: 19 Load 123(g_tTex_unused1) + 126: 23 Load 125(g_sSamp_unused1) + 127: 27 SampledImage 124 126 + 129: 7(fvec4) ImageSampleImplicitLod 127 128 + 131: 19 Load 130(g_tTex_unused2) + 133: 23 Load 132(g_sSamp_unused2) + 134: 27 SampledImage 131 133 + 136: 7(fvec4) ImageSampleImplicitLod 134 135 + 137: 7(fvec4) FAdd 129 136 + ReturnValue 137 + FunctionEnd + 17(@main_ep():15(PS_OUTPUT) Function None 16 + 18: Label + 141(psout): 140(ptr) Variable Function + 142: 7(fvec4) FunctionCall 9(Func1() + 143: 7(fvec4) FunctionCall 11(Func2() + 144: 7(fvec4) FAdd 142 143 + 146: 145(ptr) AccessChain 141(psout) 45 + Store 146 144 + 147:15(PS_OUTPUT) Load 141(psout) + ReturnValue 147 FunctionEnd diff --git a/Test/baseResults/spv.register.noautoassign.frag.out b/Test/baseResults/spv.register.noautoassign.frag.out index 71140dcd..afadc48f 100644 --- a/Test/baseResults/spv.register.noautoassign.frag.out +++ b/Test/baseResults/spv.register.noautoassign.frag.out @@ -1,226 +1,233 @@ spv.register.noautoassign.frag // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 150 +// Id's are bound by 155 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main_ep" 145 + EntryPoint Fragment 4 "main_ep" 151 ExecutionMode 4 OriginUpperLeft Name 4 "main_ep" Name 9 "Func1(" Name 11 "Func2(" Name 13 "Func2_unused(" - Name 17 "g_tTex1" - Name 21 "g_sSamp1" - Name 27 "g_tTex2" - Name 29 "g_sSamp2" - Name 39 "g_tTex3" - Name 46 "g_sSamp3" - Name 64 "g_tTex4" - Name 69 "g_sSamp4" - Name 84 "g_tTex5" - Name 86 "g_sSamp5" - Name 93 "MyStruct_t" - MemberName 93(MyStruct_t) 0 "a" - MemberName 93(MyStruct_t) 1 "b" - MemberName 93(MyStruct_t) 2 "c" - Name 95 "$Global" - MemberName 95($Global) 0 "mystruct" - MemberName 95($Global) 1 "myfloat4_a" - MemberName 95($Global) 2 "myfloat4_b" - MemberName 95($Global) 3 "myint4_a" - Name 97 "" - Name 119 "g_tTex_unused1" - Name 121 "g_sSamp_unused1" - Name 126 "g_tTex_unused2" - Name 128 "g_sSamp_unused2" - Name 136 "PS_OUTPUT" - MemberName 136(PS_OUTPUT) 0 "Color" - Name 138 "psout" - Name 145 "Color" - Name 149 "g_tTex_unused3" - Decorate 17(g_tTex1) DescriptorSet 0 - Decorate 17(g_tTex1) Binding 11 - Decorate 21(g_sSamp1) DescriptorSet 0 - Decorate 21(g_sSamp1) Binding 5 - Decorate 27(g_tTex2) DescriptorSet 0 - Decorate 29(g_sSamp2) DescriptorSet 0 - Decorate 39(g_tTex3) DescriptorSet 0 - Decorate 39(g_tTex3) Binding 13 - Decorate 46(g_sSamp3) DescriptorSet 0 - Decorate 46(g_sSamp3) Binding 7 - Decorate 64(g_tTex4) DescriptorSet 0 - Decorate 69(g_sSamp4) DescriptorSet 0 - Decorate 84(g_tTex5) DescriptorSet 0 - Decorate 86(g_sSamp5) DescriptorSet 0 - MemberDecorate 93(MyStruct_t) 0 Offset 0 - MemberDecorate 93(MyStruct_t) 1 Offset 4 - MemberDecorate 93(MyStruct_t) 2 Offset 16 - MemberDecorate 95($Global) 0 Offset 0 - MemberDecorate 95($Global) 1 Offset 32 - MemberDecorate 95($Global) 2 Offset 48 - MemberDecorate 95($Global) 3 Offset 64 - Decorate 95($Global) Block - Decorate 97 DescriptorSet 0 - Decorate 119(g_tTex_unused1) DescriptorSet 0 - Decorate 119(g_tTex_unused1) Binding 10 - Decorate 121(g_sSamp_unused1) DescriptorSet 0 - Decorate 126(g_tTex_unused2) DescriptorSet 0 - Decorate 126(g_tTex_unused2) Binding 12 - Decorate 128(g_sSamp_unused2) DescriptorSet 0 - Decorate 145(Color) Location 0 - Decorate 149(g_tTex_unused3) DescriptorSet 0 + Name 15 "PS_OUTPUT" + MemberName 15(PS_OUTPUT) 0 "Color" + Name 17 "@main_ep(" + Name 21 "g_tTex1" + Name 25 "g_sSamp1" + Name 31 "g_tTex2" + Name 33 "g_sSamp2" + Name 43 "g_tTex3" + Name 50 "g_sSamp3" + Name 68 "g_tTex4" + Name 73 "g_sSamp4" + Name 88 "g_tTex5" + Name 90 "g_sSamp5" + Name 97 "MyStruct_t" + MemberName 97(MyStruct_t) 0 "a" + MemberName 97(MyStruct_t) 1 "b" + MemberName 97(MyStruct_t) 2 "c" + Name 99 "$Global" + MemberName 99($Global) 0 "mystruct" + MemberName 99($Global) 1 "myfloat4_a" + MemberName 99($Global) 2 "myfloat4_b" + MemberName 99($Global) 3 "myint4_a" + Name 101 "" + Name 123 "g_tTex_unused1" + Name 125 "g_sSamp_unused1" + Name 130 "g_tTex_unused2" + Name 132 "g_sSamp_unused2" + Name 141 "psout" + Name 151 "Color" + Name 154 "g_tTex_unused3" + Decorate 21(g_tTex1) DescriptorSet 0 + Decorate 21(g_tTex1) Binding 11 + Decorate 25(g_sSamp1) DescriptorSet 0 + Decorate 25(g_sSamp1) Binding 5 + Decorate 31(g_tTex2) DescriptorSet 0 + Decorate 33(g_sSamp2) DescriptorSet 0 + Decorate 43(g_tTex3) DescriptorSet 0 + Decorate 43(g_tTex3) Binding 13 + Decorate 50(g_sSamp3) DescriptorSet 0 + Decorate 50(g_sSamp3) Binding 7 + Decorate 68(g_tTex4) DescriptorSet 0 + Decorate 73(g_sSamp4) DescriptorSet 0 + Decorate 88(g_tTex5) DescriptorSet 0 + Decorate 90(g_sSamp5) DescriptorSet 0 + MemberDecorate 97(MyStruct_t) 0 Offset 0 + MemberDecorate 97(MyStruct_t) 1 Offset 4 + MemberDecorate 97(MyStruct_t) 2 Offset 16 + MemberDecorate 99($Global) 0 Offset 0 + MemberDecorate 99($Global) 1 Offset 32 + MemberDecorate 99($Global) 2 Offset 48 + MemberDecorate 99($Global) 3 Offset 64 + Decorate 99($Global) Block + Decorate 101 DescriptorSet 0 + Decorate 123(g_tTex_unused1) DescriptorSet 0 + Decorate 123(g_tTex_unused1) Binding 10 + Decorate 125(g_sSamp_unused1) DescriptorSet 0 + Decorate 130(g_tTex_unused2) DescriptorSet 0 + Decorate 130(g_tTex_unused2) Binding 12 + Decorate 132(g_sSamp_unused2) DescriptorSet 0 + Decorate 151(Color) Location 0 + Decorate 154(g_tTex_unused3) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 8: TypeFunction 7(fvec4) - 15: TypeImage 6(float) 1D sampled format:Unknown - 16: TypePointer UniformConstant 15 - 17(g_tTex1): 16(ptr) Variable UniformConstant - 19: TypeSampler + 15(PS_OUTPUT): TypeStruct 7(fvec4) + 16: TypeFunction 15(PS_OUTPUT) + 19: TypeImage 6(float) 1D sampled format:Unknown 20: TypePointer UniformConstant 19 - 21(g_sSamp1): 20(ptr) Variable UniformConstant - 23: TypeSampledImage 15 - 25: 6(float) Constant 1036831949 - 27(g_tTex2): 16(ptr) Variable UniformConstant - 29(g_sSamp2): 20(ptr) Variable UniformConstant - 32: 6(float) Constant 1045220557 - 35: TypeInt 32 0 - 36: 35(int) Constant 2 - 37: TypeArray 15 36 - 38: TypePointer UniformConstant 37 - 39(g_tTex3): 38(ptr) Variable UniformConstant - 40: TypeInt 32 1 - 41: 40(int) Constant 0 - 44: TypeArray 19 36 - 45: TypePointer UniformConstant 44 - 46(g_sSamp3): 45(ptr) Variable UniformConstant - 50: 6(float) Constant 1050253722 - 53: 40(int) Constant 1 - 61: 35(int) Constant 3 - 62: TypeArray 15 61 - 63: TypePointer UniformConstant 62 - 64(g_tTex4): 63(ptr) Variable UniformConstant - 67: TypeArray 19 61 - 68: TypePointer UniformConstant 67 - 69(g_sSamp4): 68(ptr) Variable UniformConstant - 73: 6(float) Constant 1053609165 - 76: 40(int) Constant 2 - 84(g_tTex5): 16(ptr) Variable UniformConstant - 86(g_sSamp5): 20(ptr) Variable UniformConstant - 89: 6(float) Constant 1056964608 - 92: TypeVector 6(float) 3 - 93(MyStruct_t): TypeStruct 40(int) 6(float) 92(fvec3) - 94: TypeVector 40(int) 4 - 95($Global): TypeStruct 93(MyStruct_t) 7(fvec4) 7(fvec4) 94(ivec4) - 96: TypePointer Uniform 95($Global) - 97: 96(ptr) Variable Uniform - 98: 35(int) Constant 1 - 99: TypePointer Uniform 6(float) -119(g_tTex_unused1): 16(ptr) Variable UniformConstant -121(g_sSamp_unused1): 20(ptr) Variable UniformConstant - 124: 6(float) Constant 1066192077 -126(g_tTex_unused2): 16(ptr) Variable UniformConstant -128(g_sSamp_unused2): 20(ptr) Variable UniformConstant - 131: 6(float) Constant 1067030938 - 136(PS_OUTPUT): TypeStruct 7(fvec4) - 137: TypePointer Function 136(PS_OUTPUT) - 142: TypePointer Function 7(fvec4) - 144: TypePointer Output 7(fvec4) - 145(Color): 144(ptr) Variable Output -149(g_tTex_unused3): 16(ptr) Variable UniformConstant + 21(g_tTex1): 20(ptr) Variable UniformConstant + 23: TypeSampler + 24: TypePointer UniformConstant 23 + 25(g_sSamp1): 24(ptr) Variable UniformConstant + 27: TypeSampledImage 19 + 29: 6(float) Constant 1036831949 + 31(g_tTex2): 20(ptr) Variable UniformConstant + 33(g_sSamp2): 24(ptr) Variable UniformConstant + 36: 6(float) Constant 1045220557 + 39: TypeInt 32 0 + 40: 39(int) Constant 2 + 41: TypeArray 19 40 + 42: TypePointer UniformConstant 41 + 43(g_tTex3): 42(ptr) Variable UniformConstant + 44: TypeInt 32 1 + 45: 44(int) Constant 0 + 48: TypeArray 23 40 + 49: TypePointer UniformConstant 48 + 50(g_sSamp3): 49(ptr) Variable UniformConstant + 54: 6(float) Constant 1050253722 + 57: 44(int) Constant 1 + 65: 39(int) Constant 3 + 66: TypeArray 19 65 + 67: TypePointer UniformConstant 66 + 68(g_tTex4): 67(ptr) Variable UniformConstant + 71: TypeArray 23 65 + 72: TypePointer UniformConstant 71 + 73(g_sSamp4): 72(ptr) Variable UniformConstant + 77: 6(float) Constant 1053609165 + 80: 44(int) Constant 2 + 88(g_tTex5): 20(ptr) Variable UniformConstant + 90(g_sSamp5): 24(ptr) Variable UniformConstant + 93: 6(float) Constant 1056964608 + 96: TypeVector 6(float) 3 + 97(MyStruct_t): TypeStruct 44(int) 6(float) 96(fvec3) + 98: TypeVector 44(int) 4 + 99($Global): TypeStruct 97(MyStruct_t) 7(fvec4) 7(fvec4) 98(ivec4) + 100: TypePointer Uniform 99($Global) + 101: 100(ptr) Variable Uniform + 102: 39(int) Constant 1 + 103: TypePointer Uniform 6(float) +123(g_tTex_unused1): 20(ptr) Variable UniformConstant +125(g_sSamp_unused1): 24(ptr) Variable UniformConstant + 128: 6(float) Constant 1066192077 +130(g_tTex_unused2): 20(ptr) Variable UniformConstant +132(g_sSamp_unused2): 24(ptr) Variable UniformConstant + 135: 6(float) Constant 1067030938 + 140: TypePointer Function 15(PS_OUTPUT) + 145: TypePointer Function 7(fvec4) + 150: TypePointer Output 7(fvec4) + 151(Color): 150(ptr) Variable Output +154(g_tTex_unused3): 20(ptr) Variable UniformConstant 4(main_ep): 2 Function None 3 5: Label - 138(psout): 137(ptr) Variable Function - 139: 7(fvec4) FunctionCall 9(Func1() - 140: 7(fvec4) FunctionCall 11(Func2() - 141: 7(fvec4) FAdd 139 140 - 143: 142(ptr) AccessChain 138(psout) 41 - Store 143 141 - 146: 142(ptr) AccessChain 138(psout) 41 - 147: 7(fvec4) Load 146 - Store 145(Color) 147 + 152:15(PS_OUTPUT) FunctionCall 17(@main_ep() + 153: 7(fvec4) CompositeExtract 152 0 + Store 151(Color) 153 Return FunctionEnd 9(Func1(): 7(fvec4) Function None 8 10: Label - 18: 15 Load 17(g_tTex1) - 22: 19 Load 21(g_sSamp1) - 24: 23 SampledImage 18 22 - 26: 7(fvec4) ImageSampleImplicitLod 24 25 - 28: 15 Load 27(g_tTex2) - 30: 19 Load 29(g_sSamp2) - 31: 23 SampledImage 28 30 - 33: 7(fvec4) ImageSampleImplicitLod 31 32 - 34: 7(fvec4) FAdd 26 33 - 42: 16(ptr) AccessChain 39(g_tTex3) 41 - 43: 15 Load 42 - 47: 20(ptr) AccessChain 46(g_sSamp3) 41 - 48: 19 Load 47 - 49: 23 SampledImage 43 48 - 51: 7(fvec4) ImageSampleImplicitLod 49 50 - 52: 7(fvec4) FAdd 34 51 - 54: 16(ptr) AccessChain 39(g_tTex3) 53 - 55: 15 Load 54 - 56: 20(ptr) AccessChain 46(g_sSamp3) 53 - 57: 19 Load 56 - 58: 23 SampledImage 55 57 - 59: 7(fvec4) ImageSampleImplicitLod 58 50 - 60: 7(fvec4) FAdd 52 59 - 65: 16(ptr) AccessChain 64(g_tTex4) 53 - 66: 15 Load 65 - 70: 20(ptr) AccessChain 69(g_sSamp4) 53 - 71: 19 Load 70 - 72: 23 SampledImage 66 71 - 74: 7(fvec4) ImageSampleImplicitLod 72 73 - 75: 7(fvec4) FAdd 60 74 - 77: 16(ptr) AccessChain 64(g_tTex4) 76 - 78: 15 Load 77 - 79: 20(ptr) AccessChain 69(g_sSamp4) 76 - 80: 19 Load 79 - 81: 23 SampledImage 78 80 - 82: 7(fvec4) ImageSampleImplicitLod 81 73 - 83: 7(fvec4) FAdd 75 82 - 85: 15 Load 84(g_tTex5) - 87: 19 Load 86(g_sSamp5) - 88: 23 SampledImage 85 87 - 90: 7(fvec4) ImageSampleImplicitLod 88 89 - 91: 7(fvec4) FAdd 83 90 - 100: 99(ptr) AccessChain 97 41 76 98 - 101: 6(float) Load 100 - 102: 7(fvec4) CompositeConstruct 101 101 101 101 - 103: 7(fvec4) FAdd 91 102 - ReturnValue 103 + 22: 19 Load 21(g_tTex1) + 26: 23 Load 25(g_sSamp1) + 28: 27 SampledImage 22 26 + 30: 7(fvec4) ImageSampleImplicitLod 28 29 + 32: 19 Load 31(g_tTex2) + 34: 23 Load 33(g_sSamp2) + 35: 27 SampledImage 32 34 + 37: 7(fvec4) ImageSampleImplicitLod 35 36 + 38: 7(fvec4) FAdd 30 37 + 46: 20(ptr) AccessChain 43(g_tTex3) 45 + 47: 19 Load 46 + 51: 24(ptr) AccessChain 50(g_sSamp3) 45 + 52: 23 Load 51 + 53: 27 SampledImage 47 52 + 55: 7(fvec4) ImageSampleImplicitLod 53 54 + 56: 7(fvec4) FAdd 38 55 + 58: 20(ptr) AccessChain 43(g_tTex3) 57 + 59: 19 Load 58 + 60: 24(ptr) AccessChain 50(g_sSamp3) 57 + 61: 23 Load 60 + 62: 27 SampledImage 59 61 + 63: 7(fvec4) ImageSampleImplicitLod 62 54 + 64: 7(fvec4) FAdd 56 63 + 69: 20(ptr) AccessChain 68(g_tTex4) 57 + 70: 19 Load 69 + 74: 24(ptr) AccessChain 73(g_sSamp4) 57 + 75: 23 Load 74 + 76: 27 SampledImage 70 75 + 78: 7(fvec4) ImageSampleImplicitLod 76 77 + 79: 7(fvec4) FAdd 64 78 + 81: 20(ptr) AccessChain 68(g_tTex4) 80 + 82: 19 Load 81 + 83: 24(ptr) AccessChain 73(g_sSamp4) 80 + 84: 23 Load 83 + 85: 27 SampledImage 82 84 + 86: 7(fvec4) ImageSampleImplicitLod 85 77 + 87: 7(fvec4) FAdd 79 86 + 89: 19 Load 88(g_tTex5) + 91: 23 Load 90(g_sSamp5) + 92: 27 SampledImage 89 91 + 94: 7(fvec4) ImageSampleImplicitLod 92 93 + 95: 7(fvec4) FAdd 87 94 + 104: 103(ptr) AccessChain 101 45 80 102 + 105: 6(float) Load 104 + 106: 7(fvec4) CompositeConstruct 105 105 105 105 + 107: 7(fvec4) FAdd 95 106 + ReturnValue 107 FunctionEnd 11(Func2(): 7(fvec4) Function None 8 12: Label - 106: 15 Load 17(g_tTex1) - 107: 19 Load 21(g_sSamp1) - 108: 23 SampledImage 106 107 - 109: 7(fvec4) ImageSampleImplicitLod 108 25 - 110: 16(ptr) AccessChain 39(g_tTex3) 53 - 111: 15 Load 110 - 112: 20(ptr) AccessChain 46(g_sSamp3) 53 - 113: 19 Load 112 - 114: 23 SampledImage 111 113 - 115: 7(fvec4) ImageSampleImplicitLod 114 50 - 116: 7(fvec4) FAdd 109 115 - ReturnValue 116 + 110: 19 Load 21(g_tTex1) + 111: 23 Load 25(g_sSamp1) + 112: 27 SampledImage 110 111 + 113: 7(fvec4) ImageSampleImplicitLod 112 29 + 114: 20(ptr) AccessChain 43(g_tTex3) 57 + 115: 19 Load 114 + 116: 24(ptr) AccessChain 50(g_sSamp3) 57 + 117: 23 Load 116 + 118: 27 SampledImage 115 117 + 119: 7(fvec4) ImageSampleImplicitLod 118 54 + 120: 7(fvec4) FAdd 113 119 + ReturnValue 120 FunctionEnd 13(Func2_unused(): 7(fvec4) Function None 8 14: Label - 120: 15 Load 119(g_tTex_unused1) - 122: 19 Load 121(g_sSamp_unused1) - 123: 23 SampledImage 120 122 - 125: 7(fvec4) ImageSampleImplicitLod 123 124 - 127: 15 Load 126(g_tTex_unused2) - 129: 19 Load 128(g_sSamp_unused2) - 130: 23 SampledImage 127 129 - 132: 7(fvec4) ImageSampleImplicitLod 130 131 - 133: 7(fvec4) FAdd 125 132 - ReturnValue 133 + 124: 19 Load 123(g_tTex_unused1) + 126: 23 Load 125(g_sSamp_unused1) + 127: 27 SampledImage 124 126 + 129: 7(fvec4) ImageSampleImplicitLod 127 128 + 131: 19 Load 130(g_tTex_unused2) + 133: 23 Load 132(g_sSamp_unused2) + 134: 27 SampledImage 131 133 + 136: 7(fvec4) ImageSampleImplicitLod 134 135 + 137: 7(fvec4) FAdd 129 136 + ReturnValue 137 + FunctionEnd + 17(@main_ep():15(PS_OUTPUT) Function None 16 + 18: Label + 141(psout): 140(ptr) Variable Function + 142: 7(fvec4) FunctionCall 9(Func1() + 143: 7(fvec4) FunctionCall 11(Func2() + 144: 7(fvec4) FAdd 142 143 + 146: 145(ptr) AccessChain 141(psout) 45 + Store 146 144 + 147:15(PS_OUTPUT) Load 141(psout) + ReturnValue 147 FunctionEnd diff --git a/Test/baseResults/spv.rw.autoassign.frag.out b/Test/baseResults/spv.rw.autoassign.frag.out index d6b75ba3..e2b544ab 100644 --- a/Test/baseResults/spv.rw.autoassign.frag.out +++ b/Test/baseResults/spv.rw.autoassign.frag.out @@ -1,66 +1,73 @@ spv.rw.autoassign.frag // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 37 +// Id's are bound by 42 Capability Shader Capability Sampled1D Capability SampledBuffer 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 33 + EntryPoint Fragment 4 "main" 39 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "r00" - Name 11 "g_tTex1df1" - Name 18 "r01" - Name 21 "g_tBuf1du1" - Name 25 "PS_OUTPUT" - MemberName 25(PS_OUTPUT) 0 "Color" - Name 27 "psout" - Name 33 "Color" - Decorate 11(g_tTex1df1) DescriptorSet 0 - Decorate 11(g_tTex1df1) Binding 20 - Decorate 21(g_tBuf1du1) DescriptorSet 0 - Decorate 21(g_tBuf1du1) Binding 21 - Decorate 33(Color) Location 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + Name 10 "@main(" + Name 13 "r00" + Name 16 "g_tTex1df1" + Name 23 "r01" + Name 26 "g_tBuf1du1" + Name 30 "psout" + Name 39 "Color" + Decorate 16(g_tTex1df1) DescriptorSet 0 + Decorate 16(g_tTex1df1) Binding 20 + Decorate 26(g_tBuf1du1) DescriptorSet 0 + Decorate 26(g_tBuf1du1) Binding 21 + Decorate 39(Color) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypePointer Function 6(float) - 9: TypeImage 6(float) 1D nonsampled format:R32f - 10: TypePointer UniformConstant 9 - 11(g_tTex1df1): 10(ptr) Variable UniformConstant - 13: TypeInt 32 1 - 14: 13(int) Constant 0 - 16: TypeInt 32 0 - 17: TypePointer Function 16(int) - 19: TypeImage 16(int) Buffer nonsampled format:R32ui - 20: TypePointer UniformConstant 19 - 21(g_tBuf1du1): 20(ptr) Variable UniformConstant - 24: TypeVector 6(float) 4 - 25(PS_OUTPUT): TypeStruct 24(fvec4) - 26: TypePointer Function 25(PS_OUTPUT) - 28: 6(float) Constant 0 - 29: 24(fvec4) ConstantComposite 28 28 28 28 - 30: TypePointer Function 24(fvec4) - 32: TypePointer Output 24(fvec4) - 33(Color): 32(ptr) Variable Output + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 6(float) + 14: TypeImage 6(float) 1D nonsampled format:R32f + 15: TypePointer UniformConstant 14 + 16(g_tTex1df1): 15(ptr) Variable UniformConstant + 18: TypeInt 32 1 + 19: 18(int) Constant 0 + 21: TypeInt 32 0 + 22: TypePointer Function 21(int) + 24: TypeImage 21(int) Buffer nonsampled format:R32ui + 25: TypePointer UniformConstant 24 + 26(g_tBuf1du1): 25(ptr) Variable UniformConstant + 29: TypePointer Function 8(PS_OUTPUT) + 31: 6(float) Constant 0 + 32: 7(fvec4) ConstantComposite 31 31 31 31 + 33: TypePointer Function 7(fvec4) + 38: TypePointer Output 7(fvec4) + 39(Color): 38(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 8(r00): 7(ptr) Variable Function - 18(r01): 17(ptr) Variable Function - 27(psout): 26(ptr) Variable Function - 12: 9 Load 11(g_tTex1df1) - 15: 6(float) ImageRead 12 14 - Store 8(r00) 15 - 22: 19 Load 21(g_tBuf1du1) - 23: 16(int) ImageRead 22 14 - Store 18(r01) 23 - 31: 30(ptr) AccessChain 27(psout) 14 - Store 31 29 - 34: 30(ptr) AccessChain 27(psout) 14 - 35: 24(fvec4) Load 34 - Store 33(Color) 35 + 40:8(PS_OUTPUT) FunctionCall 10(@main() + 41: 7(fvec4) CompositeExtract 40 0 + Store 39(Color) 41 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(r00): 12(ptr) Variable Function + 23(r01): 22(ptr) Variable Function + 30(psout): 29(ptr) Variable Function + 17: 14 Load 16(g_tTex1df1) + 20: 6(float) ImageRead 17 19 + Store 13(r00) 20 + 27: 24 Load 26(g_tBuf1du1) + 28: 21(int) ImageRead 27 19 + Store 23(r01) 28 + 34: 33(ptr) AccessChain 30(psout) 19 + Store 34 32 + 35:8(PS_OUTPUT) Load 30(psout) + ReturnValue 35 + FunctionEnd diff --git a/glslang/Include/revision.h b/glslang/Include/revision.h index 796f81a9..5e3ab448 100644 --- a/glslang/Include/revision.h +++ b/glslang/Include/revision.h @@ -2,5 +2,5 @@ // For the version, it uses the latest git tag followed by the number of commits. // For the date, it uses the current date (when then script is run). -#define GLSLANG_REVISION "Overload400-PrecQual.1805" -#define GLSLANG_DATE "02-Feb-2017" +#define GLSLANG_REVISION "Overload400-PrecQual.1780" +#define GLSLANG_DATE "20-Jan-2017" diff --git a/glslang/MachineIndependent/ParseContextBase.cpp b/glslang/MachineIndependent/ParseContextBase.cpp index 24c8e609..2f5401c1 100644 --- a/glslang/MachineIndependent/ParseContextBase.cpp +++ b/glslang/MachineIndependent/ParseContextBase.cpp @@ -223,20 +223,11 @@ void TParseContextBase::rValueErrorCheck(const TSourceLoc& loc, const char* op, error(loc, "can't read from writeonly object: ", op, symNode->getName().c_str()); } -// Add a linkage symbol node for 'symbol', which -// must have its type fully edited, as this will snapshot the type. -// It is okay if symbol becomes invalid before finish(). -void TParseContextBase::trackLinkage(TSymbol& symbol) -{ - if (!parsingBuiltins) - intermediate.addSymbolLinkageNode(linkage, symbol); -} - // Add 'symbol' to the list of deferred linkage symbols, which // are later processed in finish(), at which point the symbol // must still be valid. // It is okay if the symbol's type will be subsequently edited. -void TParseContextBase::trackLinkageDeferred(TSymbol& symbol) +void TParseContextBase::trackLinkage(TSymbol& symbol) { if (!parsingBuiltins) linkageSymbols.push_back(&symbol); @@ -253,7 +244,7 @@ void TParseContextBase::makeEditable(TSymbol*& symbol) // Save it (deferred, so it can be edited first) in the AST for linker use. if (symbol) - trackLinkageDeferred(*symbol); + trackLinkage(*symbol); } // Return a writable version of the variable 'name'. @@ -577,7 +568,7 @@ bool TParseContextBase::insertGlobalUniformBlock() // This is the first request; we need a normal symbol table insert inserted = symbolTable.insert(*globalUniformBlock); if (inserted) - trackLinkageDeferred(*globalUniformBlock); + trackLinkage(*globalUniformBlock); } else if (firstNewMember <= numMembers) { // This is a follow-on request; we need to amend the first insert inserted = symbolTable.amend(*globalUniformBlock, firstNewMember); @@ -593,12 +584,14 @@ bool TParseContextBase::insertGlobalUniformBlock() void TParseContextBase::finish() { - if (!parsingBuiltins) { - // Transfer the linkage symbols to AST nodes - for (auto i = linkageSymbols.begin(); i != linkageSymbols.end(); ++i) - intermediate.addSymbolLinkageNode(linkage, **i); - intermediate.addSymbolLinkageNodes(linkage, getLanguage(), symbolTable); - } + if (parsingBuiltins) + return; + + // Transfer the linkage symbols to AST nodes + TIntermAggregate* linkage = new TIntermAggregate; + for (auto i = linkageSymbols.begin(); i != linkageSymbols.end(); ++i) + intermediate.addSymbolLinkageNode(linkage, **i); + intermediate.addSymbolLinkageNodes(linkage, getLanguage(), symbolTable); } } // end namespace glslang diff --git a/glslang/MachineIndependent/ParseHelper.cpp b/glslang/MachineIndependent/ParseHelper.cpp index f2ae8efa..c659604c 100644 --- a/glslang/MachineIndependent/ParseHelper.cpp +++ b/glslang/MachineIndependent/ParseHelper.cpp @@ -3009,7 +3009,7 @@ void TParseContext::declareArray(const TSourceLoc& loc, TString& identifier, con symbol = new TVariable(&identifier, type); symbolTable.insert(*symbol); if (symbolTable.atGlobalLevel()) - trackLinkageDeferred(*symbol); + trackLinkage(*symbol); if (! symbolTable.atBuiltInLevel()) { if (isIoResizeArray(type)) { @@ -3476,7 +3476,7 @@ void TParseContext::redeclareBuiltinBlock(const TSourceLoc& loc, TTypeList& newT fixIoArraySize(loc, block->getWritableType()); // Save it in the AST for linker use. - trackLinkageDeferred(*block); + trackLinkage(*block); } void TParseContext::paramCheckFix(const TSourceLoc& loc, const TStorageQualifier& qualifier, TType& type) @@ -5056,7 +5056,7 @@ TVariable* TParseContext::declareNonArray(const TSourceLoc& loc, TString& identi // add variable to symbol table if (symbolTable.insert(*variable)) { if (symbolTable.atGlobalLevel()) - trackLinkageDeferred(*variable); + trackLinkage(*variable); return variable; } @@ -5718,7 +5718,7 @@ void TParseContext::declareBlock(const TSourceLoc& loc, TTypeList& typeList, con fixIoArraySize(loc, variable.getWritableType()); // Save it in the AST for linker use. - trackLinkageDeferred(variable); + trackLinkage(variable); } // Do all block-declaration checking regarding the combination of in/out/uniform/buffer diff --git a/glslang/MachineIndependent/ParseHelper.h b/glslang/MachineIndependent/ParseHelper.h index 2e09a5ae..e77089aa 100644 --- a/glslang/MachineIndependent/ParseHelper.h +++ b/glslang/MachineIndependent/ParseHelper.h @@ -79,9 +79,7 @@ public: symbolTable(symbolTable), parsingBuiltins(parsingBuiltins), scanContext(nullptr), ppContext(nullptr), globalUniformBlock(nullptr) - { - linkage = new TIntermAggregate; - } + { } virtual ~TParseContextBase() { } virtual void C_DECL error(const TSourceLoc&, const char* szReason, const char* szToken, @@ -183,13 +181,9 @@ protected: const char* szExtraInfoFormat, TPrefixType prefix, va_list args); virtual void trackLinkage(TSymbol& symbol); - virtual void trackLinkageDeferred(TSymbol& symbol); virtual void makeEditable(TSymbol*&); virtual TVariable* getEditableVariable(const char* name); virtual void finish(); - -private: - TIntermAggregate* linkage; }; // diff --git a/glslang/MachineIndependent/SymbolTable.h b/glslang/MachineIndependent/SymbolTable.h index 9028dd76..e506e614 100644 --- a/glslang/MachineIndependent/SymbolTable.h +++ b/glslang/MachineIndependent/SymbolTable.h @@ -87,6 +87,12 @@ public: virtual const TString& getName() const { return *name; } virtual void changeName(const TString* newName) { name = newName; } + virtual void addPrefix(const char* prefix) + { + TString newName(prefix); + newName.append(*name); + changeName(NewPoolTString(newName.c_str())); + } virtual const TString& getMangledName() const { return getName(); } virtual TFunction* getAsFunction() { return 0; } virtual const TFunction* getAsFunction() const { return 0; } @@ -232,6 +238,11 @@ public: if (p.defaultValue != nullptr) defaultParamCount++; } + virtual void addPrefix(const char* prefix) override + { + TSymbol::addPrefix(prefix); + mangledName.insert(0, prefix); + } virtual const TString& getMangledName() const { return mangledName; } virtual const TType& getType() const { return returnType; } diff --git a/gtests/Hlsl.FromFile.cpp b/gtests/Hlsl.FromFile.cpp index b703398c..1aee287c 100644 --- a/gtests/Hlsl.FromFile.cpp +++ b/gtests/Hlsl.FromFile.cpp @@ -214,7 +214,7 @@ INSTANTIATE_TEST_CASE_P( {"hlsl.struct.split.assign.frag", "main"}, {"hlsl.struct.split.call.vert", "main"}, {"hlsl.struct.split.nested.geom", "main"}, - {"hlsl.struct.split.trivial.geom", "main"}, + //{"hlsl.struct.split.trivial.geom", "main"}, {"hlsl.struct.split.trivial.vert", "main"}, {"hlsl.structarray.flatten.frag", "main"}, {"hlsl.structarray.flatten.geom", "main"}, diff --git a/hlsl/hlslGrammar.cpp b/hlsl/hlslGrammar.cpp index 6c204137..9ef296d3 100755 --- a/hlsl/hlslGrammar.cpp +++ b/hlsl/hlslGrammar.cpp @@ -131,12 +131,15 @@ bool HlslGrammar::acceptCompilationUnit() continue; // externalDeclaration - TIntermNode* declarationNode; - if (! acceptDeclaration(declarationNode)) + TIntermNode* declarationNode1; + TIntermNode* declarationNode2 = nullptr; // sometimes the grammar for a single declaration creates two + if (! acceptDeclaration(declarationNode1, declarationNode2)) return false; // hook it up - unitNode = intermediate.growAggregate(unitNode, declarationNode); + unitNode = intermediate.growAggregate(unitNode, declarationNode1); + if (declarationNode2 != nullptr) + unitNode = intermediate.growAggregate(unitNode, declarationNode2); } // set root of AST @@ -292,9 +295,18 @@ bool HlslGrammar::acceptSamplerDeclarationDX9(TType& /*type*/) // 'node' could get populated if the declaration creates code, like an initializer // or a function body. // +// 'node2' could get populated with a second decoration tree if a single source declaration +// leads to two subtrees that need to be peers higher up. +// bool HlslGrammar::acceptDeclaration(TIntermNode*& node) +{ + TIntermNode* node2; + return acceptDeclaration(node, node2); +} +bool HlslGrammar::acceptDeclaration(TIntermNode*& node, TIntermNode*& node2) { node = nullptr; + node2 = nullptr; bool list = false; // attributes @@ -340,7 +352,7 @@ bool HlslGrammar::acceptDeclaration(TIntermNode*& node) parseContext.error(idToken.loc, "function body can't be in a declarator list", "{", ""); if (typedefDecl) parseContext.error(idToken.loc, "function body can't be in a typedef", "{", ""); - return acceptFunctionDefinition(function, node, attributes); + return acceptFunctionDefinition(function, node, node2, attributes); } else { if (typedefDecl) parseContext.error(idToken.loc, "function typedefs not implemented", "{", ""); @@ -1916,22 +1928,22 @@ bool HlslGrammar::acceptParameterDeclaration(TFunction& function) // Do the work to create the function definition in addition to // parsing the body (compound_statement). -bool HlslGrammar::acceptFunctionDefinition(TFunction& function, TIntermNode*& node, const TAttributeMap& attributes) +bool HlslGrammar::acceptFunctionDefinition(TFunction& function, TIntermNode*& node, TIntermNode*& node2, const TAttributeMap& attributes) { TFunction& functionDeclarator = parseContext.handleFunctionDeclarator(token.loc, function, false /* not prototype */); TSourceLoc loc = token.loc; // This does a pushScope() - node = parseContext.handleFunctionDefinition(loc, functionDeclarator, attributes); + node = parseContext.handleFunctionDefinition(loc, functionDeclarator, attributes, node2); // compound_statement TIntermNode* functionBody = nullptr; - if (acceptCompoundStatement(functionBody)) { - parseContext.handleFunctionBody(loc, functionDeclarator, functionBody, node); - return true; - } + if (! acceptCompoundStatement(functionBody)) + return false; - return false; + parseContext.handleFunctionBody(loc, functionDeclarator, functionBody, node); + + return true; } // Accept an expression with parenthesis around it, where diff --git a/hlsl/hlslGrammar.h b/hlsl/hlslGrammar.h index 29e4b176..0629eaae 100755 --- a/hlsl/hlslGrammar.h +++ b/hlsl/hlslGrammar.h @@ -64,7 +64,8 @@ namespace glslang { void unimplemented(const char*); bool acceptIdentifier(HlslToken&); bool acceptCompilationUnit(); - bool acceptDeclaration(TIntermNode*& node); + bool acceptDeclaration(TIntermNode*&); + bool acceptDeclaration(TIntermNode*& node1, TIntermNode*& node2); bool acceptControlDeclaration(TIntermNode*& node); bool acceptSamplerDeclarationDX9(TType&); bool acceptSamplerState(); @@ -84,7 +85,7 @@ namespace glslang { bool acceptStructDeclarationList(TTypeList*&); bool acceptFunctionParameters(TFunction&); bool acceptParameterDeclaration(TFunction&); - bool acceptFunctionDefinition(TFunction&, TIntermNode*&, const TAttributeMap&); + bool acceptFunctionDefinition(TFunction&, TIntermNode*& node1, TIntermNode*& node2, const TAttributeMap&); bool acceptParenExpression(TIntermTyped*&); bool acceptExpression(TIntermTyped*&); bool acceptInitializer(TIntermTyped*&); diff --git a/hlsl/hlslParseHelper.cpp b/hlsl/hlslParseHelper.cpp index fca8452a..27d25a46 100755 --- a/hlsl/hlslParseHelper.cpp +++ b/hlsl/hlslParseHelper.cpp @@ -58,10 +58,8 @@ HlslParseContext::HlslParseContext(TSymbolTable& symbolTable, TIntermediate& int TParseContextBase(symbolTable, interm, parsingBuiltins, version, profile, spvVersion, language, infoSink, forwardCompatible, messages), contextPragma(true, false), loopNestingLevel(0), annotationNestingLevel(0), structNestingLevel(0), controlFlowNestingLevel(0), - inEntryPoint(false), postEntryPointReturn(false), limits(resources.limits), - entryPointOutput(nullptr), builtInIoIndex(nullptr), builtInIoBase(nullptr), nextInLocation(0), nextOutLocation(0), @@ -709,7 +707,7 @@ TIntermTyped* HlslParseContext::handleBracketDereference(const TSourceLoc& loc, else { // at least one of base and index is variable... - if (base->getAsSymbolNode() && (wasFlattened(base) || shouldFlatten(base->getType()))) { + if (base->getAsSymbolNode() && (wasFlattened(base) || shouldFlattenUniform(base->getType()))) { if (index->getQualifier().storage != EvqConst) error(loc, "Invalid variable index to flattened array", base->getAsSymbolNode()->getName().c_str(), ""); @@ -921,7 +919,7 @@ TIntermTyped* HlslParseContext::handleDotDereference(const TSourceLoc& loc, TInt } } if (fieldFound) { - if (base->getAsSymbolNode() && (wasFlattened(base) || shouldFlatten(base->getType()))) { + if (base->getAsSymbolNode() && (wasFlattened(base) || shouldFlattenUniform(base->getType()))) { result = flattenAccess(base, member); } else { // Update the base and member to access if this was a split structure. @@ -946,19 +944,6 @@ TIntermTyped* HlslParseContext::handleDotDereference(const TSourceLoc& loc, TInt return result; } -// Determine whether we should split this type -bool HlslParseContext::shouldSplit(const TType& type) -{ - if (! inEntryPoint) - return false; - - const TStorageQualifier qualifier = type.getQualifier().storage; - - // If it contains interstage IO, but not ONLY interstage IO, split the struct. - return type.isStruct() && type.containsBuiltInInterstageIO(language) && - (qualifier == EvqVaryingIn || qualifier == EvqVaryingOut); -} - // Split the type of the given node into two structs: // 1. interstage IO // 2. everything else @@ -984,7 +969,7 @@ void HlslParseContext::split(const TVariable& variable) { const TType& type = variable.getType(); - TString name = (&variable == entryPointOutput) ? "" : variable.getName(); + TString name = variable.getName(); // Create a new variable: TType& splitType = split(*type.clone(), name); @@ -1010,7 +995,7 @@ TType& HlslParseContext::split(TType& type, TString name, const TType* outerStru if (type.isStruct()) { TTypeList* userStructure = type.getWritableStruct(); - // Get iterator to (now at end) set of builtin iterstage IO members + // Get iterator to (now at end) set of builtin interstage IO members const auto firstIo = std::stable_partition(userStructure->begin(), userStructure->end(), [this](const TTypeLoc& t) {return !t.type->isBuiltInInterstageIO(language);}); @@ -1042,35 +1027,13 @@ TType& HlslParseContext::split(TType& type, TString name, const TType* outerStru return type; } -// Determine whether we should flatten an arbitrary type. -bool HlslParseContext::shouldFlatten(const TType& type) const -{ - return shouldFlattenIO(type) || shouldFlattenUniform(type); -} - -// Is this an IO variable that can't be passed down the stack? -// E.g., pipeline inputs to the vertex stage and outputs from the fragment stage. -bool HlslParseContext::shouldFlattenIO(const TType& type) const -{ - if (! inEntryPoint) - return false; - - const TStorageQualifier qualifier = type.getQualifier().storage; - - if (!type.isStruct()) - return false; - - return ((language == EShLangVertex && qualifier == EvqVaryingIn) || - (language == EShLangFragment && qualifier == EvqVaryingOut)); -} - // Is this a uniform array which should be flattened? bool HlslParseContext::shouldFlattenUniform(const TType& type) const { const TStorageQualifier qualifier = type.getQualifier().storage; - return ((type.isArray() && intermediate.getFlattenUniformArrays()) || type.isStruct()) && - qualifier == EvqUniform && + return qualifier == EvqUniform && + ((type.isArray() && intermediate.getFlattenUniformArrays()) || type.isStruct()) && type.containsOpaque(); } @@ -1146,7 +1109,7 @@ int HlslParseContext::addFlattenedMember(const TSourceLoc& loc, flattenData.members.push_back(memberVariable); if (track) - trackLinkageDeferred(*memberVariable); + trackLinkage(*memberVariable); return static_cast(flattenData.offsets.size())-1; // location of the member reference } else { @@ -1483,7 +1446,7 @@ void HlslParseContext::addInterstageIoToLinkage() // Add the loose interstage IO to the linkage if (var->getType().isLooseAndBuiltIn(language)) - trackLinkageDeferred(*var); + trackLinkage(*var); // Add the PerVertex interstage IO to the IO block if (var->getType().isPerVertexAndBuiltIn(language)) { @@ -1536,7 +1499,7 @@ void HlslParseContext::addInterstageIoToLinkage() if (!symbolTable.insert(*ioBlock)) error(loc, "block instance name redefinition", ioBlock->getName().c_str(), ""); else - trackLinkageDeferred(*ioBlock); + trackLinkage(*ioBlock); } } } @@ -1546,7 +1509,7 @@ void HlslParseContext::addInterstageIoToLinkage() // The body is handled after this function returns. // TIntermAggregate* HlslParseContext::handleFunctionDefinition(const TSourceLoc& loc, TFunction& function, - const TAttributeMap& attributes) + const TAttributeMap& attributes, TIntermNode*& entryPointTree) { currentCaller = function.getMangledName(); TSymbol* symbol = symbolTable.find(function.getMangledName()); @@ -1573,7 +1536,7 @@ TIntermAggregate* HlslParseContext::handleFunctionDefinition(const TSourceLoc& l // Entry points need different I/O and other handling, transform it so the // rest of this function doesn't care. - transformEntryPoint(loc, function, attributes); + entryPointTree = transformEntryPoint(loc, function, attributes); // Insert the $Global constant buffer. // TODO: this design fails if new members are declared between function definitions. @@ -1597,29 +1560,12 @@ TIntermAggregate* HlslParseContext::handleFunctionDefinition(const TSourceLoc& l for (int i = 0; i < function.getParamCount(); i++) { TParameter& param = function[i]; if (param.name != nullptr) { - TType* sanitizedType; - - // If we're not in the entry point, parameters are sanitized types. - if (inEntryPoint) - sanitizedType = param.type; - else - sanitizedType = sanitizeType(param.type); - - TVariable *variable = new TVariable(param.name, *sanitizedType); + TVariable *variable = new TVariable(param.name, *param.type); // Insert the parameters with name in the symbol table. if (! symbolTable.insert(*variable)) error(loc, "redefinition", variable->getName().c_str(), ""); else { - // get IO straightened out - if (inEntryPoint) { - if (shouldFlatten(*param.type)) - flatten(loc, *variable); - if (shouldSplit(*param.type)) - split(*variable); - assignLocations(*variable); - } - // Transfer ownership of name pointer to symbol table. param.name = nullptr; @@ -1641,33 +1587,46 @@ TIntermAggregate* HlslParseContext::handleFunctionDefinition(const TSourceLoc& l } // -// Do all special handling for the entry point. +// Do all special handling for the entry point, including wrapping +// the shader's entry point with the official entry point that will call it. // -void HlslParseContext::transformEntryPoint(const TSourceLoc& loc, TFunction& function, const TAttributeMap& attributes) +// The following: +// +// retType shaderEntryPoint(args...) // shader declared entry point +// { body } +// +// Becomes +// +// out retType ret; +// in iargs...; +// out oargs ...; +// +// void shaderEntryPoint() // synthesized, but official, entry point +// { +// args = iargs...; +// ret = @shaderEntryPoint(args...); +// oargs = args...; +// } +// +// The symbol table will still map the original entry point name to the +// the modified function and it's new name: +// +// symbol table: shaderEntryPoint -> @shaderEntryPoint +// +// Returns nullptr if no entry-point tree was built, otherwise, returns +// a subtree that creates the entry point. +// +TIntermNode* HlslParseContext::transformEntryPoint(const TSourceLoc& loc, TFunction& userFunction, const TAttributeMap& attributes) { - inEntryPoint = function.getName().compare(intermediate.getEntryPointName().c_str()) == 0; - - if (!inEntryPoint) { - remapNonEntryPointIO(function); - return; + // if we aren't in the entry point, fix the IO as such and exit + if (userFunction.getName().compare(intermediate.getEntryPointName().c_str()) != 0) { + remapNonEntryPointIO(userFunction); + return nullptr; } // entry point logic... - intermediate.setEntryPointMangledName(function.getMangledName().c_str()); - intermediate.incrementEntryPointCount(); - - // Handle parameters and return value - remapEntryPointIO(function); - if (entryPointOutput) { - if (shouldFlatten(entryPointOutput->getType())) - flatten(loc, *entryPointOutput); - if (shouldSplit(entryPointOutput->getType())) - split(*entryPointOutput); - assignLocations(*entryPointOutput); - } - - // Handle function attributes + // Handle entry-point function attributes const TIntermAggregate* numThreads = attributes[EatNumThreads]; if (numThreads != nullptr) { const TIntermSequence& sequence = numThreads->getSequence(); @@ -1678,6 +1637,99 @@ void HlslParseContext::transformEntryPoint(const TSourceLoc& loc, TFunction& fun const TIntermAggregate* maxVertexCount = attributes[EatMaxVertexCount]; if (maxVertexCount != nullptr) intermediate.setVertices(maxVertexCount->getSequence()[0]->getAsConstantUnion()->getConstArray()[0].getIConst()); + + // Move parameters and return value to shader in/out + TVariable* entryPointOutput; // gets created in remapEntryPointIO + TVector inputs; + TVector outputs; + remapEntryPointIO(userFunction, entryPointOutput, inputs, outputs); + + // Further this return/in/out transform by flattening, splitting, and assigning locations + const auto makeVariableInOut = [&](TVariable& variable) { + if (variable.getType().isStruct()) { + const TStorageQualifier qualifier = variable.getType().getQualifier().storage; + // struct inputs to the vertex stage and outputs from the fragment stage must be flattened + if ((language == EShLangVertex && qualifier == EvqVaryingIn) || + (language == EShLangFragment && qualifier == EvqVaryingOut)) + flatten(loc, variable); + // Mixture of IO and non-IO must be split + else if (variable.getType().containsBuiltInInterstageIO(language)) + split(variable); + } + assignLocations(variable); + }; + if (entryPointOutput) + makeVariableInOut(*entryPointOutput); + for (auto it = inputs.begin(); it != inputs.end(); ++it) + makeVariableInOut(*(*it)); + for (auto it = outputs.begin(); it != outputs.end(); ++it) + makeVariableInOut(*(*it)); + + // Synthesize the call + + pushScope(); // matches the one in handleFunctionBody() + + // new signature + TType voidType(EbtVoid); + TFunction synthEntryPoint(&userFunction.getName(), voidType); + TIntermAggregate* synthParams = new TIntermAggregate(); + intermediate.setAggregateOperator(synthParams, EOpParameters, voidType, loc); + intermediate.setEntryPointMangledName(synthEntryPoint.getMangledName().c_str()); + intermediate.incrementEntryPointCount(); + TFunction callee(&userFunction.getName(), voidType); // call based on old name, which is still in the symbol table + + // change original name + userFunction.addPrefix("@"); // change the name in the function, but not in the symbol table + + // Copy inputs (shader-in -> calling arg), while building up the call node + TVector argVars; + TIntermAggregate* synthBody = new TIntermAggregate(); + auto inputIt = inputs.begin(); + TIntermTyped* callingArgs = nullptr; + for (int i = 0; i < userFunction.getParamCount(); i++) { + TParameter& param = userFunction[i]; + argVars.push_back(makeInternalVariable(*param.name, *param.type)); + argVars.back()->getWritableType().getQualifier().makeTemporary(); + TIntermSymbol* arg = intermediate.addSymbol(*argVars.back()); + handleFunctionArgument(&callee, callingArgs, arg); + if (param.type->getQualifier().isParamInput()) { + intermediate.growAggregate(synthBody, handleAssign(loc, EOpAssign, arg, + intermediate.addSymbol(**inputIt))); + inputIt++; + } + } + + // Call + currentCaller = synthEntryPoint.getMangledName(); + TIntermTyped* callReturn = handleFunctionCall(loc, &callee, callingArgs); + currentCaller = userFunction.getMangledName(); + + // Return value + if (entryPointOutput) + intermediate.growAggregate(synthBody, handleAssign(loc, EOpAssign, + intermediate.addSymbol(*entryPointOutput), callReturn)); + else + intermediate.growAggregate(synthBody, callReturn); + + // Output copies + auto outputIt = outputs.begin(); + for (int i = 0; i < userFunction.getParamCount(); i++) { + TParameter& param = userFunction[i]; + if (param.type->getQualifier().isParamOutput()) { + intermediate.growAggregate(synthBody, handleAssign(loc, EOpAssign, + intermediate.addSymbol(**outputIt), + intermediate.addSymbol(*argVars[i]))); + outputIt++; + } + } + + // Put the pieces together to form a full function subtree + // for the synthesized entry point. + synthBody->setOperator(EOpSequence); + TIntermNode* synthFunctionDef = synthParams; + handleFunctionBody(loc, synthEntryPoint, synthBody, synthFunctionDef); + + return synthFunctionDef; } void HlslParseContext::handleFunctionBody(const TSourceLoc& loc, TFunction& function, TIntermNode* functionBody, TIntermNode*& node) @@ -1695,10 +1747,9 @@ void HlslParseContext::handleFunctionBody(const TSourceLoc& loc, TFunction& func // AST I/O is done through shader globals declared in the 'in' or 'out' // storage class. An HLSL entry point has a return value, input parameters // and output parameters. These need to get remapped to the AST I/O. -void HlslParseContext::remapEntryPointIO(TFunction& function) +void HlslParseContext::remapEntryPointIO(const TFunction& function, TVariable*& returnValue, + TVector& inputs, TVector& outputs) { - // Will auto-assign locations here to the inputs/outputs defined by the entry point - const auto remapType = [&](TType& type) { const auto remapBuiltInType = [&](TType& type) { switch (type.getQualifier().builtIn) { @@ -1718,22 +1769,33 @@ void HlslParseContext::remapEntryPointIO(TFunction& function) if (type.isStruct()) { auto members = *type.getStruct(); for (auto member = members.begin(); member != members.end(); ++member) - remapBuiltInType(*member->type); + remapBuiltInType(*member->type); // TODO: lack-of-recursion structure depth problem } }; // return value is actually a shader-scoped output (out) - if (function.getType().getBasicType() != EbtVoid) { - entryPointOutput = makeInternalVariable("@entryPointOutput", function.getType()); - entryPointOutput->getWritableType().getQualifier().storage = EvqVaryingOut; - remapType(function.getWritableType()); + if (function.getType().getBasicType() == EbtVoid) + returnValue = nullptr; + else { + returnValue = makeInternalVariable("@entryPointOutput", function.getType()); + returnValue->getWritableType().getQualifier().storage = EvqVaryingOut; + remapType(returnValue->getWritableType()); } // parameters are actually shader-scoped inputs and outputs (in or out) for (int i = 0; i < function.getParamCount(); i++) { TType& paramType = *function[i].type; - paramType.getQualifier().storage = paramType.getQualifier().isParamInput() ? EvqVaryingIn : EvqVaryingOut; - remapType(paramType); + if (paramType.getQualifier().isParamInput()) { + TVariable* argAsGlobal = makeInternalVariable(*function[i].name, paramType); + argAsGlobal->getWritableType().getQualifier().storage = EvqVaryingIn; + inputs.push_back(argAsGlobal); + } + if (paramType.getQualifier().isParamOutput()) { + TVariable* argAsGlobal = makeInternalVariable(*function[i].name, paramType); + argAsGlobal->getWritableType().getQualifier().storage = EvqVaryingOut; + outputs.push_back(argAsGlobal); + remapType(argAsGlobal->getWritableType()); + } } } @@ -1771,23 +1833,7 @@ TIntermNode* HlslParseContext::handleReturnValue(const TSourceLoc& loc, TIntermT } } - // The entry point needs to send any return value to the entry-point output instead. - // So, a subtree is built up, as a two-part sequence, with the first part being an - // assignment subtree, and the second part being a return with no value. - // - // Otherwise, for a non entry point, just return a return statement. - if (inEntryPoint) { - assert(entryPointOutput != nullptr); // should have been error tested at the beginning - TIntermSymbol* left = new TIntermSymbol(entryPointOutput->getUniqueId(), entryPointOutput->getName(), - entryPointOutput->getType()); - TIntermNode* returnSequence = handleAssign(loc, EOpAssign, left, value); - returnSequence = intermediate.makeAggregate(returnSequence); - returnSequence = intermediate.growAggregate(returnSequence, intermediate.addBranch(EOpReturn, loc), loc); - returnSequence->getAsAggregate()->setOperator(EOpSequence); - - return returnSequence; - } else - return intermediate.addBranch(EOpReturn, value, loc); + return intermediate.addBranch(EOpReturn, value, loc); } void HlslParseContext::handleFunctionArgument(TFunction* function, @@ -4369,7 +4415,7 @@ void HlslParseContext::declareArray(const TSourceLoc& loc, TString& identifier, symbol = new TVariable(&identifier, type); symbolTable.insert(*symbol); if (track && symbolTable.atGlobalLevel()) - trackLinkageDeferred(*symbol); + trackLinkage(*symbol); return; } @@ -4600,7 +4646,7 @@ void HlslParseContext::redeclareBuiltinBlock(const TSourceLoc& loc, TTypeList& n symbolTable.insert(*block); // Save it in the AST for linker use. - trackLinkageDeferred(*block); + trackLinkage(*block); } void HlslParseContext::paramFix(TType& type) @@ -5408,8 +5454,7 @@ TIntermNode* HlslParseContext::declareVariable(const TSourceLoc& loc, TString& i inheritGlobalDefaults(type.getQualifier()); - const bool flattenVar = shouldFlatten(type); - const bool splitVar = shouldSplit(type); + const bool flattenVar = shouldFlattenUniform(type); // Type sanitization: if this is declaring a variable of a type that contains // interstage IO, we want to make it a temporary. @@ -5430,9 +5475,6 @@ TIntermNode* HlslParseContext::declareVariable(const TSourceLoc& loc, TString& i if (flattenVar) flatten(loc, *symbol->getAsVariable()); - if (splitVar) - split(*symbol->getAsVariable()); - if (! symbol) return nullptr; @@ -5493,7 +5535,7 @@ TVariable* HlslParseContext::declareNonArray(const TSourceLoc& loc, TString& ide // add variable to symbol table if (symbolTable.insert(*variable)) { if (track && symbolTable.atGlobalLevel()) - trackLinkageDeferred(*variable); + trackLinkage(*variable); return variable; } @@ -6068,7 +6110,7 @@ void HlslParseContext::declareBlock(const TSourceLoc& loc, TType& type, const TS } // Save it in the AST for linker use. - trackLinkageDeferred(variable); + trackLinkage(variable); } void HlslParseContext::finalizeGlobalUniformBlockLayout(TVariable& block) diff --git a/hlsl/hlslParseHelper.h b/hlsl/hlslParseHelper.h index 1bfca8f8..f954adbf 100755 --- a/hlsl/hlslParseHelper.h +++ b/hlsl/hlslParseHelper.h @@ -72,10 +72,10 @@ public: TIntermTyped* handleDotDereference(const TSourceLoc&, TIntermTyped* base, const TString& field); void assignLocations(TVariable& variable); TFunction& handleFunctionDeclarator(const TSourceLoc&, TFunction& function, bool prototype); - TIntermAggregate* handleFunctionDefinition(const TSourceLoc&, TFunction&, const TAttributeMap&); - void transformEntryPoint(const TSourceLoc&, TFunction&, const TAttributeMap&); + TIntermAggregate* handleFunctionDefinition(const TSourceLoc&, TFunction&, const TAttributeMap&, TIntermNode*& entryPointTree); + TIntermNode* transformEntryPoint(const TSourceLoc&, TFunction&, const TAttributeMap&); void handleFunctionBody(const TSourceLoc&, TFunction&, TIntermNode* functionBody, TIntermNode*& node); - void remapEntryPointIO(TFunction& function); + void remapEntryPointIO(const TFunction& function, TVariable*& returnValue, TVector& inputs, TVector& outputs); void remapNonEntryPointIO(TFunction& function); TIntermNode* handleReturnValue(const TSourceLoc&, TIntermTyped*); void handleFunctionArgument(TFunction*, TIntermTyped*& arguments, TIntermTyped* newArg); @@ -203,9 +203,7 @@ protected: bool shouldConvertLValue(const TIntermNode*) const; // Array and struct flattening - bool shouldFlatten(const TType& type) const; TIntermTyped* flattenAccess(TIntermTyped* base, int member); - bool shouldFlattenIO(const TType&) const; bool shouldFlattenUniform(const TType&) const; bool wasFlattened(const TIntermTyped* node) const; bool wasFlattened(int id) const { return flattenMap.find(id) != flattenMap.end(); } @@ -213,7 +211,6 @@ protected: bool isFinalFlattening(const TType& type) const { return !(type.isStruct() || type.isArray()); } // Structure splitting (splits interstage builtin types into its own struct) - bool shouldSplit(const TType&); TIntermTyped* splitAccessStruct(const TSourceLoc& loc, TIntermTyped*& base, int& member); void splitAccessArray(const TSourceLoc& loc, TIntermTyped* base, TIntermTyped* index); TType& split(TType& type, TString name, const TType* outerStructType = nullptr); @@ -243,7 +240,6 @@ protected: int structNestingLevel; // 0 if outside blocks and structures int controlFlowNestingLevel; // 0 if outside all flow control TList switchSequenceStack; // case, node, case, case, node, ...; ensure only one node between cases; stack of them for nesting - bool inEntryPoint; // if inside a function, true if the function is the entry point bool postEntryPointReturn; // if inside a function, true if the function is the entry point and this is after a return statement const TType* currentFunctionType; // the return type of the function that's currently being parsed bool functionReturnsValue; // true if a non-void function has a return @@ -261,7 +257,6 @@ protected: TString currentCaller; // name of last function body entered (not valid when at global scope) TIdSetType inductiveLoopIds; TVector needsIndexLimitationChecking; - TVariable* entryPointOutput; // // Geometry shader input arrays: