glslang/Test/baseResults/hlsl.gather.basic.dx10.vert.out
steve-lunarg 0842dbb39a HLSL: use HLSL parser to parse HLSL intrinsic prototypes, enable int/bool mats
This PR adds a CreateParseContext() fn analogous to CreateBuiltInParseables(),
to create a language specific built in parser.  (This code was present before
but not encapsualted in a fn).  This can now be used to create a source language
specific parser for builtins.

Along with this, the code creating HLSL intrinsic prototypes can now produce
them in HLSL syntax, rather than GLSL syntax.  This relaxes certain prior
restrictions at the parser level.  Lower layers (e.g, SPIR-V) may still have
such restrictions, such as around Nx1 matrices: this code does not impact
that.

This PR also fleshes out matrix types for bools and ints, both of which were
partially in place before.  This was easier than maintaining the restrictions
in the HLSL prototype generator to avoid creating protoypes with those types.

Many tests change because the result type from intrinsics moves from "global"
to "temp".

Several new tests are added for the new types.
2016-11-16 11:19:22 -07:00

398 lines
19 KiB
Plaintext

hlsl.gather.basic.dx10.vert
Shader version: 450
0:? Sequence
0:28 Function Definition: main( (temp structure{temp 4-component vector of float Pos})
0:28 Function Parameters:
0:? Sequence
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of float)
0:33 'txval20' (temp 4-component vector of float)
0:33 textureGather (temp 4-component vector of float)
0:33 Construct combined texture-sampler (temp sampler2D)
0:33 'g_tTex2df4' (uniform texture2D)
0:33 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:34 Sequence
0:34 move second child to first child (temp 4-component vector of int)
0:34 'txval21' (temp 4-component vector of int)
0:34 textureGather (temp 4-component vector of int)
0:34 Construct combined texture-sampler (temp isampler2D)
0:34 'g_tTex2di4' (uniform itexture2D)
0:34 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? Constant:
0:? 0.300000
0:? 0.400000
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of uint)
0:35 'txval22' (temp 4-component vector of uint)
0:35 textureGather (temp 4-component vector of uint)
0:35 Construct combined texture-sampler (temp usampler2D)
0:35 'g_tTex2du4' (uniform utexture2D)
0:35 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? Constant:
0:? 0.500000
0:? 0.600000
0:39 Sequence
0:39 move second child to first child (temp 4-component vector of float)
0:39 'txval40' (temp 4-component vector of float)
0:39 textureGather (temp 4-component vector of float)
0:39 Construct combined texture-sampler (temp samplerCube)
0:39 'g_tTexcdf4' (uniform textureCube)
0:39 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? 0.300000
0:40 Sequence
0:40 move second child to first child (temp 4-component vector of int)
0:40 'txval41' (temp 4-component vector of int)
0:40 textureGather (temp 4-component vector of int)
0:40 Construct combined texture-sampler (temp isamplerCube)
0:40 'g_tTexcdi4' (uniform itextureCube)
0:40 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? Constant:
0:? 0.400000
0:? 0.500000
0:? 0.600000
0:41 Sequence
0:41 move second child to first child (temp 4-component vector of uint)
0:41 'txval42' (temp 4-component vector of uint)
0:41 textureGather (temp 4-component vector of uint)
0:41 Construct combined texture-sampler (temp usamplerCube)
0:41 'g_tTexcdu4' (uniform utextureCube)
0:41 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? Constant:
0:? 0.700000
0:? 0.800000
0:? 0.900000
0:43 move second child to first child (temp 4-component vector of float)
0:43 Pos: direct index for structure (temp 4-component vector of float)
0:43 'vsout' (temp structure{temp 4-component vector of float Pos})
0:43 Constant:
0:43 0 (const int)
0:? Constant:
0:? 0.000000
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:? Linker Objects
0:? 'Pos' (out 4-component vector of float Position)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_sSamp2d' (uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
0:? 'g_tTex1du4' (uniform utexture1D)
0:? 'g_tTex2df4' (uniform texture2D)
0:? 'g_tTex2di4' (uniform itexture2D)
0:? 'g_tTex2du4' (uniform utexture2D)
0:? 'g_tTex3df4' (uniform texture3D)
0:? 'g_tTex3di4' (uniform itexture3D)
0:? 'g_tTex3du4' (uniform utexture3D)
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
Linked vertex stage:
Shader version: 450
0:? Sequence
0:28 Function Definition: main( (temp structure{temp 4-component vector of float Pos})
0:28 Function Parameters:
0:? Sequence
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of float)
0:33 'txval20' (temp 4-component vector of float)
0:33 textureGather (temp 4-component vector of float)
0:33 Construct combined texture-sampler (temp sampler2D)
0:33 'g_tTex2df4' (uniform texture2D)
0:33 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:34 Sequence
0:34 move second child to first child (temp 4-component vector of int)
0:34 'txval21' (temp 4-component vector of int)
0:34 textureGather (temp 4-component vector of int)
0:34 Construct combined texture-sampler (temp isampler2D)
0:34 'g_tTex2di4' (uniform itexture2D)
0:34 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? Constant:
0:? 0.300000
0:? 0.400000
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of uint)
0:35 'txval22' (temp 4-component vector of uint)
0:35 textureGather (temp 4-component vector of uint)
0:35 Construct combined texture-sampler (temp usampler2D)
0:35 'g_tTex2du4' (uniform utexture2D)
0:35 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? Constant:
0:? 0.500000
0:? 0.600000
0:39 Sequence
0:39 move second child to first child (temp 4-component vector of float)
0:39 'txval40' (temp 4-component vector of float)
0:39 textureGather (temp 4-component vector of float)
0:39 Construct combined texture-sampler (temp samplerCube)
0:39 'g_tTexcdf4' (uniform textureCube)
0:39 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? 0.300000
0:40 Sequence
0:40 move second child to first child (temp 4-component vector of int)
0:40 'txval41' (temp 4-component vector of int)
0:40 textureGather (temp 4-component vector of int)
0:40 Construct combined texture-sampler (temp isamplerCube)
0:40 'g_tTexcdi4' (uniform itextureCube)
0:40 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? Constant:
0:? 0.400000
0:? 0.500000
0:? 0.600000
0:41 Sequence
0:41 move second child to first child (temp 4-component vector of uint)
0:41 'txval42' (temp 4-component vector of uint)
0:41 textureGather (temp 4-component vector of uint)
0:41 Construct combined texture-sampler (temp usamplerCube)
0:41 'g_tTexcdu4' (uniform utextureCube)
0:41 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? Constant:
0:? 0.700000
0:? 0.800000
0:? 0.900000
0:43 move second child to first child (temp 4-component vector of float)
0:43 Pos: direct index for structure (temp 4-component vector of float)
0:43 'vsout' (temp structure{temp 4-component vector of float Pos})
0:43 Constant:
0:43 0 (const int)
0:? Constant:
0:? 0.000000
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:? Linker Objects
0:? 'Pos' (out 4-component vector of float Position)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_sSamp2d' (uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
0:? 'g_tTex1du4' (uniform utexture1D)
0:? 'g_tTex2df4' (uniform texture2D)
0:? 'g_tTex2di4' (uniform itexture2D)
0:? 'g_tTex2du4' (uniform utexture2D)
0:? 'g_tTex3df4' (uniform texture3D)
0:? 'g_tTex3di4' (uniform itexture3D)
0:? 'g_tTex3du4' (uniform utexture3D)
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 121
Capability Shader
Capability Sampled1D
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main" 97
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"
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
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
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
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
Return
FunctionEnd