HLSL: Add SampleBias and SampleGrad, and associated tests

This commit is contained in:
LoopDawg 2016-07-14 14:45:14 -06:00
parent efb89a3d2e
commit a2b7991497
31 changed files with 5597 additions and 80 deletions

View File

@ -1,4 +1,4 @@
hlsl.sample.basicarraydx10.frag
hlsl.sample.array.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence

View File

@ -1,4 +1,4 @@
hlsl.sample.basicdx10.frag
hlsl.sample.basic.dx10.frag
WARNING: 0:4: 'immediate sampler state' : unimplemented
Shader version: 450

View File

@ -1,4 +1,4 @@
hlsl.sample.offsetdx10.frag
hlsl.sample.offset.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence

View File

@ -1,4 +1,4 @@
hlsl.sample.offsetarraydx10.frag
hlsl.sample.offsetarray.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence

View File

@ -0,0 +1,482 @@
hlsl.samplebias.array.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:44 Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:24 Function Parameters:
0:? Sequence
0:27 Sequence
0:27 move second child to first child (temp 4-component vector of float)
0:27 'txval10' (temp 4-component vector of float)
0:27 texture (global 4-component vector of float)
0:27 Construct combined texture-sampler (temp sampler1DArray)
0:27 'g_tTex1df4' (uniform texture1DArray)
0:27 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:27 Constant:
0:27 0.500000
0:28 Sequence
0:28 move second child to first child (temp 4-component vector of int)
0:28 'txval11' (temp 4-component vector of int)
0:28 texture (global 4-component vector of int)
0:28 Construct combined texture-sampler (temp isampler1DArray)
0:28 'g_tTex1di4' (uniform itexture1DArray)
0:28 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.200000
0:? 0.300000
0:28 Constant:
0:28 0.500000
0:29 Sequence
0:29 move second child to first child (temp 4-component vector of uint)
0:29 'txval12' (temp 4-component vector of uint)
0:29 texture (global 4-component vector of uint)
0:29 Construct combined texture-sampler (temp usampler1DArray)
0:29 'g_tTex1du4' (uniform utexture1DArray)
0:29 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.300000
0:? 0.400000
0:29 Constant:
0:29 0.500000
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:31 'txval20' (temp 4-component vector of float)
0:31 texture (global 4-component vector of float)
0:31 Construct combined texture-sampler (temp sampler2DArray)
0:31 'g_tTex2df4' (uniform texture2DArray)
0:31 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? 0.300000
0:31 Constant:
0:31 0.500000
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of int)
0:32 'txval21' (temp 4-component vector of int)
0:32 texture (global 4-component vector of int)
0:32 Construct combined texture-sampler (temp isampler2DArray)
0:32 'g_tTex2di4' (uniform itexture2DArray)
0:32 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.300000
0:? 0.400000
0:? 0.500000
0:32 Constant:
0:32 0.500000
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of uint)
0:33 'txval22' (temp 4-component vector of uint)
0:33 texture (global 4-component vector of uint)
0:33 Construct combined texture-sampler (temp usampler2DArray)
0:33 'g_tTex2du4' (uniform utexture2DArray)
0:33 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.500000
0:? 0.600000
0:? 0.700000
0:33 Constant:
0:33 0.500000
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of float)
0:35 'txval40' (temp 4-component vector of float)
0:35 texture (global 4-component vector of float)
0:35 Construct combined texture-sampler (temp samplerCubeArray)
0:35 'g_tTexcdf4' (uniform textureCubeArray)
0:35 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? 0.300000
0:? 0.400000
0:35 Constant:
0:35 0.500000
0:36 Sequence
0:36 move second child to first child (temp 4-component vector of int)
0:36 'txval41' (temp 4-component vector of int)
0:36 texture (global 4-component vector of int)
0:36 Construct combined texture-sampler (temp isamplerCubeArray)
0:36 'g_tTexcdi4' (uniform itextureCubeArray)
0:36 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.400000
0:? 0.500000
0:? 0.600000
0:? 0.700000
0:36 Constant:
0:36 0.500000
0:37 Sequence
0:37 move second child to first child (temp 4-component vector of uint)
0:37 'txval42' (temp 4-component vector of uint)
0:37 texture (global 4-component vector of uint)
0:37 Construct combined texture-sampler (temp usamplerCubeArray)
0:37 'g_tTexcdu4' (uniform utextureCubeArray)
0:37 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.700000
0:? 0.800000
0:? 0.900000
0:? 1.000000
0:37 Constant:
0:37 0.500000
0:40 move second child to first child (temp float)
0:40 Depth: direct index for structure (temp float FragDepth)
0:40 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:40 Constant:
0:40 1 (const int)
0:40 Constant:
0:40 1.000000
0:42 Branch: Return with expression
0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:? Linker Objects
0:? 'g_sSamp' (uniform sampler)
0:? 'g_tTex1df4a' (uniform texture1DArray)
0:? 'g_tTex1df4' (uniform texture1DArray)
0:? 'g_tTex1di4' (uniform itexture1DArray)
0:? 'g_tTex1du4' (uniform utexture1DArray)
0:? 'g_tTex2df4' (uniform texture2DArray)
0:? 'g_tTex2di4' (uniform itexture2DArray)
0:? 'g_tTex2du4' (uniform utexture2DArray)
0:? 'g_tTexcdf4' (uniform textureCubeArray)
0:? 'g_tTexcdi4' (uniform itextureCubeArray)
0:? 'g_tTexcdu4' (uniform utextureCubeArray)
Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:44 Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:24 Function Parameters:
0:? Sequence
0:27 Sequence
0:27 move second child to first child (temp 4-component vector of float)
0:27 'txval10' (temp 4-component vector of float)
0:27 texture (global 4-component vector of float)
0:27 Construct combined texture-sampler (temp sampler1DArray)
0:27 'g_tTex1df4' (uniform texture1DArray)
0:27 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:27 Constant:
0:27 0.500000
0:28 Sequence
0:28 move second child to first child (temp 4-component vector of int)
0:28 'txval11' (temp 4-component vector of int)
0:28 texture (global 4-component vector of int)
0:28 Construct combined texture-sampler (temp isampler1DArray)
0:28 'g_tTex1di4' (uniform itexture1DArray)
0:28 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.200000
0:? 0.300000
0:28 Constant:
0:28 0.500000
0:29 Sequence
0:29 move second child to first child (temp 4-component vector of uint)
0:29 'txval12' (temp 4-component vector of uint)
0:29 texture (global 4-component vector of uint)
0:29 Construct combined texture-sampler (temp usampler1DArray)
0:29 'g_tTex1du4' (uniform utexture1DArray)
0:29 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.300000
0:? 0.400000
0:29 Constant:
0:29 0.500000
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:31 'txval20' (temp 4-component vector of float)
0:31 texture (global 4-component vector of float)
0:31 Construct combined texture-sampler (temp sampler2DArray)
0:31 'g_tTex2df4' (uniform texture2DArray)
0:31 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? 0.300000
0:31 Constant:
0:31 0.500000
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of int)
0:32 'txval21' (temp 4-component vector of int)
0:32 texture (global 4-component vector of int)
0:32 Construct combined texture-sampler (temp isampler2DArray)
0:32 'g_tTex2di4' (uniform itexture2DArray)
0:32 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.300000
0:? 0.400000
0:? 0.500000
0:32 Constant:
0:32 0.500000
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of uint)
0:33 'txval22' (temp 4-component vector of uint)
0:33 texture (global 4-component vector of uint)
0:33 Construct combined texture-sampler (temp usampler2DArray)
0:33 'g_tTex2du4' (uniform utexture2DArray)
0:33 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.500000
0:? 0.600000
0:? 0.700000
0:33 Constant:
0:33 0.500000
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of float)
0:35 'txval40' (temp 4-component vector of float)
0:35 texture (global 4-component vector of float)
0:35 Construct combined texture-sampler (temp samplerCubeArray)
0:35 'g_tTexcdf4' (uniform textureCubeArray)
0:35 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? 0.300000
0:? 0.400000
0:35 Constant:
0:35 0.500000
0:36 Sequence
0:36 move second child to first child (temp 4-component vector of int)
0:36 'txval41' (temp 4-component vector of int)
0:36 texture (global 4-component vector of int)
0:36 Construct combined texture-sampler (temp isamplerCubeArray)
0:36 'g_tTexcdi4' (uniform itextureCubeArray)
0:36 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.400000
0:? 0.500000
0:? 0.600000
0:? 0.700000
0:36 Constant:
0:36 0.500000
0:37 Sequence
0:37 move second child to first child (temp 4-component vector of uint)
0:37 'txval42' (temp 4-component vector of uint)
0:37 texture (global 4-component vector of uint)
0:37 Construct combined texture-sampler (temp usamplerCubeArray)
0:37 'g_tTexcdu4' (uniform utextureCubeArray)
0:37 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.700000
0:? 0.800000
0:? 0.900000
0:? 1.000000
0:37 Constant:
0:37 0.500000
0:40 move second child to first child (temp float)
0:40 Depth: direct index for structure (temp float FragDepth)
0:40 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:40 Constant:
0:40 1 (const int)
0:40 Constant:
0:40 1.000000
0:42 Branch: Return with expression
0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:? Linker Objects
0:? 'g_sSamp' (uniform sampler)
0:? 'g_tTex1df4a' (uniform texture1DArray)
0:? 'g_tTex1df4' (uniform texture1DArray)
0:? 'g_tTex1di4' (uniform itexture1DArray)
0:? 'g_tTex1du4' (uniform utexture1DArray)
0:? 'g_tTex2df4' (uniform texture2DArray)
0:? 'g_tTex2di4' (uniform itexture2DArray)
0:? 'g_tTex2du4' (uniform utexture2DArray)
0:? 'g_tTexcdf4' (uniform textureCubeArray)
0:? 'g_tTexcdi4' (uniform itextureCubeArray)
0:? 'g_tTexcdu4' (uniform utextureCubeArray)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 129
Capability Shader
Capability Sampled1D
Capability SampledCubeArray
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginUpperLeft
Source HLSL 450
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 128 "g_tTex1df4a"
Decorate 12(g_tTex1df4) DescriptorSet 0
Decorate 16(g_sSamp) DescriptorSet 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
MemberDecorate 120(PS_OUTPUT) 1 BuiltIn FragDepth
Decorate 128(g_tTex1df4a) 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
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 1
124: TypePointer Function 6(float)
128(g_tTex1df4a): 11(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: 124(ptr) AccessChain 122(psout) 123
Store 125 117
126:120(PS_OUTPUT) Load 122(psout)
ReturnValue 126
FunctionEnd

View File

@ -0,0 +1,583 @@
hlsl.samplebias.basic.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:52 Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:28 Function Parameters:
0:? Sequence
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:31 'txval10' (temp 4-component vector of float)
0:31 texture (global 4-component vector of float)
0:31 Construct combined texture-sampler (temp sampler1D)
0:31 'g_tTex1df4' (uniform texture1D)
0:31 'g_sSamp' (uniform sampler)
0:31 Constant:
0:31 0.100000
0:31 Constant:
0:31 0.500000
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of int)
0:32 'txval11' (temp 4-component vector of int)
0:32 texture (global 4-component vector of int)
0:32 Construct combined texture-sampler (temp isampler1D)
0:32 'g_tTex1di4' (uniform itexture1D)
0:32 'g_sSamp' (uniform sampler)
0:32 Constant:
0:32 0.200000
0:32 Constant:
0:32 0.500000
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of uint)
0:33 'txval12' (temp 4-component vector of uint)
0:33 texture (global 4-component vector of uint)
0:33 Construct combined texture-sampler (temp usampler1D)
0:33 'g_tTex1du4' (uniform utexture1D)
0:33 'g_sSamp' (uniform sampler)
0:33 Constant:
0:33 0.300000
0:33 Constant:
0:33 0.500000
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of float)
0:35 'txval20' (temp 4-component vector of float)
0:35 texture (global 4-component vector of float)
0:35 Construct combined texture-sampler (temp sampler2D)
0:35 'g_tTex2df4' (uniform texture2D)
0:35 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:35 Constant:
0:35 0.500000
0:36 Sequence
0:36 move second child to first child (temp 4-component vector of int)
0:36 'txval21' (temp 4-component vector of int)
0:36 texture (global 4-component vector of int)
0:36 Construct combined texture-sampler (temp isampler2D)
0:36 'g_tTex2di4' (uniform itexture2D)
0:36 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.300000
0:? 0.400000
0:36 Constant:
0:36 0.500000
0:37 Sequence
0:37 move second child to first child (temp 4-component vector of uint)
0:37 'txval22' (temp 4-component vector of uint)
0:37 texture (global 4-component vector of uint)
0:37 Construct combined texture-sampler (temp usampler2D)
0:37 'g_tTex2du4' (uniform utexture2D)
0:37 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.500000
0:? 0.600000
0:37 Constant:
0:37 0.500000
0:39 Sequence
0:39 move second child to first child (temp 4-component vector of float)
0:39 'txval30' (temp 4-component vector of float)
0:39 texture (global 4-component vector of float)
0:39 Construct combined texture-sampler (temp sampler3D)
0:39 'g_tTex3df4' (uniform texture3D)
0:39 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? 0.300000
0:39 Constant:
0:39 0.500000
0:40 Sequence
0:40 move second child to first child (temp 4-component vector of int)
0:40 'txval31' (temp 4-component vector of int)
0:40 texture (global 4-component vector of int)
0:40 Construct combined texture-sampler (temp isampler3D)
0:40 'g_tTex3di4' (uniform itexture3D)
0:40 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.400000
0:? 0.500000
0:? 0.600000
0:40 Constant:
0:40 0.500000
0:41 Sequence
0:41 move second child to first child (temp 4-component vector of uint)
0:41 'txval32' (temp 4-component vector of uint)
0:41 texture (global 4-component vector of uint)
0:41 Construct combined texture-sampler (temp usampler3D)
0:41 'g_tTex3du4' (uniform utexture3D)
0:41 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.700000
0:? 0.800000
0:? 0.900000
0:41 Constant:
0:41 0.500000
0:43 Sequence
0:43 move second child to first child (temp 4-component vector of float)
0:43 'txval40' (temp 4-component vector of float)
0:43 texture (global 4-component vector of float)
0:43 Construct combined texture-sampler (temp samplerCube)
0:43 'g_tTexcdf4' (uniform textureCube)
0:43 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? 0.300000
0:43 Constant:
0:43 0.500000
0:44 Sequence
0:44 move second child to first child (temp 4-component vector of int)
0:44 'txval41' (temp 4-component vector of int)
0:44 texture (global 4-component vector of int)
0:44 Construct combined texture-sampler (temp isamplerCube)
0:44 'g_tTexcdi4' (uniform itextureCube)
0:44 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.400000
0:? 0.500000
0:? 0.600000
0:44 Constant:
0:44 0.500000
0:45 Sequence
0:45 move second child to first child (temp 4-component vector of uint)
0:45 'txval42' (temp 4-component vector of uint)
0:45 texture (global 4-component vector of uint)
0:45 Construct combined texture-sampler (temp usamplerCube)
0:45 'g_tTexcdu4' (uniform utextureCube)
0:45 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.700000
0:? 0.800000
0:? 0.900000
0:45 Constant:
0:45 0.500000
0:48 move second child to first child (temp float)
0:48 Depth: direct index for structure (temp float FragDepth)
0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:48 Constant:
0:48 1 (const int)
0:48 Constant:
0:48 1.000000
0:50 Branch: Return with expression
0:50 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:? Linker Objects
0:? 'g_sSamp' (uniform sampler)
0:? 'g_tTex1df4a' (uniform texture1D)
0:? 'g_tTex1df4' (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 fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:52 Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:28 Function Parameters:
0:? Sequence
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:31 'txval10' (temp 4-component vector of float)
0:31 texture (global 4-component vector of float)
0:31 Construct combined texture-sampler (temp sampler1D)
0:31 'g_tTex1df4' (uniform texture1D)
0:31 'g_sSamp' (uniform sampler)
0:31 Constant:
0:31 0.100000
0:31 Constant:
0:31 0.500000
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of int)
0:32 'txval11' (temp 4-component vector of int)
0:32 texture (global 4-component vector of int)
0:32 Construct combined texture-sampler (temp isampler1D)
0:32 'g_tTex1di4' (uniform itexture1D)
0:32 'g_sSamp' (uniform sampler)
0:32 Constant:
0:32 0.200000
0:32 Constant:
0:32 0.500000
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of uint)
0:33 'txval12' (temp 4-component vector of uint)
0:33 texture (global 4-component vector of uint)
0:33 Construct combined texture-sampler (temp usampler1D)
0:33 'g_tTex1du4' (uniform utexture1D)
0:33 'g_sSamp' (uniform sampler)
0:33 Constant:
0:33 0.300000
0:33 Constant:
0:33 0.500000
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of float)
0:35 'txval20' (temp 4-component vector of float)
0:35 texture (global 4-component vector of float)
0:35 Construct combined texture-sampler (temp sampler2D)
0:35 'g_tTex2df4' (uniform texture2D)
0:35 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:35 Constant:
0:35 0.500000
0:36 Sequence
0:36 move second child to first child (temp 4-component vector of int)
0:36 'txval21' (temp 4-component vector of int)
0:36 texture (global 4-component vector of int)
0:36 Construct combined texture-sampler (temp isampler2D)
0:36 'g_tTex2di4' (uniform itexture2D)
0:36 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.300000
0:? 0.400000
0:36 Constant:
0:36 0.500000
0:37 Sequence
0:37 move second child to first child (temp 4-component vector of uint)
0:37 'txval22' (temp 4-component vector of uint)
0:37 texture (global 4-component vector of uint)
0:37 Construct combined texture-sampler (temp usampler2D)
0:37 'g_tTex2du4' (uniform utexture2D)
0:37 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.500000
0:? 0.600000
0:37 Constant:
0:37 0.500000
0:39 Sequence
0:39 move second child to first child (temp 4-component vector of float)
0:39 'txval30' (temp 4-component vector of float)
0:39 texture (global 4-component vector of float)
0:39 Construct combined texture-sampler (temp sampler3D)
0:39 'g_tTex3df4' (uniform texture3D)
0:39 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? 0.300000
0:39 Constant:
0:39 0.500000
0:40 Sequence
0:40 move second child to first child (temp 4-component vector of int)
0:40 'txval31' (temp 4-component vector of int)
0:40 texture (global 4-component vector of int)
0:40 Construct combined texture-sampler (temp isampler3D)
0:40 'g_tTex3di4' (uniform itexture3D)
0:40 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.400000
0:? 0.500000
0:? 0.600000
0:40 Constant:
0:40 0.500000
0:41 Sequence
0:41 move second child to first child (temp 4-component vector of uint)
0:41 'txval32' (temp 4-component vector of uint)
0:41 texture (global 4-component vector of uint)
0:41 Construct combined texture-sampler (temp usampler3D)
0:41 'g_tTex3du4' (uniform utexture3D)
0:41 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.700000
0:? 0.800000
0:? 0.900000
0:41 Constant:
0:41 0.500000
0:43 Sequence
0:43 move second child to first child (temp 4-component vector of float)
0:43 'txval40' (temp 4-component vector of float)
0:43 texture (global 4-component vector of float)
0:43 Construct combined texture-sampler (temp samplerCube)
0:43 'g_tTexcdf4' (uniform textureCube)
0:43 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? 0.300000
0:43 Constant:
0:43 0.500000
0:44 Sequence
0:44 move second child to first child (temp 4-component vector of int)
0:44 'txval41' (temp 4-component vector of int)
0:44 texture (global 4-component vector of int)
0:44 Construct combined texture-sampler (temp isamplerCube)
0:44 'g_tTexcdi4' (uniform itextureCube)
0:44 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.400000
0:? 0.500000
0:? 0.600000
0:44 Constant:
0:44 0.500000
0:45 Sequence
0:45 move second child to first child (temp 4-component vector of uint)
0:45 'txval42' (temp 4-component vector of uint)
0:45 texture (global 4-component vector of uint)
0:45 Construct combined texture-sampler (temp usamplerCube)
0:45 'g_tTexcdu4' (uniform utextureCube)
0:45 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.700000
0:? 0.800000
0:? 0.900000
0:45 Constant:
0:45 0.500000
0:48 move second child to first child (temp float)
0:48 Depth: direct index for structure (temp float FragDepth)
0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:48 Constant:
0:48 1 (const int)
0:48 Constant:
0:48 1.000000
0:50 Branch: Return with expression
0:50 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:? Linker Objects
0:? 'g_sSamp' (uniform sampler)
0:? 'g_tTex1df4a' (uniform texture1D)
0:? 'g_tTex1df4' (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 153
Capability Shader
Capability Sampled1D
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginUpperLeft
Source HLSL 450
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 152 "g_tTex1df4a"
Decorate 12(g_tTex1df4) DescriptorSet 0
Decorate 16(g_sSamp) DescriptorSet 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
MemberDecorate 143(PS_OUTPUT) 1 BuiltIn FragDepth
Decorate 152(g_tTex1df4a) 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
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 1
147: 6(float) Constant 1065353216
148: TypePointer Function 6(float)
152(g_tTex1df4a): 11(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: 148(ptr) AccessChain 145(psout) 146
Store 149 147
150:143(PS_OUTPUT) Load 145(psout)
ReturnValue 150
FunctionEnd

View File

@ -0,0 +1,545 @@
hlsl.samplebias.offset.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:50 Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:28 Function Parameters:
0:? Sequence
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:31 'txval10' (temp 4-component vector of float)
0:31 textureOffset (global 4-component vector of float)
0:31 Construct combined texture-sampler (temp sampler1D)
0:31 'g_tTex1df4' (uniform texture1D)
0:31 'g_sSamp' (uniform sampler)
0:31 Constant:
0:31 0.100000
0:31 Constant:
0:31 0.500000
0:31 Constant:
0:31 1 (const int)
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of int)
0:32 'txval11' (temp 4-component vector of int)
0:32 textureOffset (global 4-component vector of int)
0:32 Construct combined texture-sampler (temp isampler1D)
0:32 'g_tTex1di4' (uniform itexture1D)
0:32 'g_sSamp' (uniform sampler)
0:32 Constant:
0:32 0.200000
0:32 Constant:
0:32 0.500000
0:32 Constant:
0:32 1 (const int)
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of uint)
0:33 'txval12' (temp 4-component vector of uint)
0:33 textureOffset (global 4-component vector of uint)
0:33 Construct combined texture-sampler (temp usampler1D)
0:33 'g_tTex1du4' (uniform utexture1D)
0:33 'g_sSamp' (uniform sampler)
0:33 Constant:
0:33 0.300000
0:33 Constant:
0:33 0.500000
0:33 Constant:
0:33 1 (const int)
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of float)
0:35 'txval20' (temp 4-component vector of float)
0:35 textureOffset (global 4-component vector of float)
0:35 Construct combined texture-sampler (temp sampler2D)
0:35 'g_tTex2df4' (uniform texture2D)
0:35 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:35 Constant:
0:35 0.500000
0:? Constant:
0:? 1 (const int)
0:? 0 (const int)
0:36 Sequence
0:36 move second child to first child (temp 4-component vector of int)
0:36 'txval21' (temp 4-component vector of int)
0:36 textureOffset (global 4-component vector of int)
0:36 Construct combined texture-sampler (temp isampler2D)
0:36 'g_tTex2di4' (uniform itexture2D)
0:36 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.300000
0:? 0.400000
0:36 Constant:
0:36 0.500000
0:? Constant:
0:? 1 (const int)
0:? 1 (const int)
0:37 Sequence
0:37 move second child to first child (temp 4-component vector of uint)
0:37 'txval22' (temp 4-component vector of uint)
0:37 textureOffset (global 4-component vector of uint)
0:37 Construct combined texture-sampler (temp usampler2D)
0:37 'g_tTex2du4' (uniform utexture2D)
0:37 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.500000
0:? 0.600000
0:37 Constant:
0:37 0.500000
0:? Constant:
0:? 1 (const int)
0:? -1 (const int)
0:39 Sequence
0:39 move second child to first child (temp 4-component vector of float)
0:39 'txval30' (temp 4-component vector of float)
0:39 textureOffset (global 4-component vector of float)
0:39 Construct combined texture-sampler (temp sampler3D)
0:39 'g_tTex3df4' (uniform texture3D)
0:39 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? 0.300000
0:39 Constant:
0:39 0.500000
0:? Constant:
0:? 1 (const int)
0:? 0 (const int)
0:? 1 (const int)
0:40 Sequence
0:40 move second child to first child (temp 4-component vector of int)
0:40 'txval31' (temp 4-component vector of int)
0:40 textureOffset (global 4-component vector of int)
0:40 Construct combined texture-sampler (temp isampler3D)
0:40 'g_tTex3di4' (uniform itexture3D)
0:40 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.400000
0:? 0.500000
0:? 0.600000
0:40 Constant:
0:40 0.500000
0:? Constant:
0:? 1 (const int)
0:? 1 (const int)
0:? 1 (const int)
0:41 Sequence
0:41 move second child to first child (temp 4-component vector of uint)
0:41 'txval32' (temp 4-component vector of uint)
0:41 textureOffset (global 4-component vector of uint)
0:41 Construct combined texture-sampler (temp usampler3D)
0:41 'g_tTex3du4' (uniform utexture3D)
0:41 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.700000
0:? 0.800000
0:? 0.900000
0:41 Constant:
0:41 0.500000
0:? Constant:
0:? 1 (const int)
0:? 0 (const int)
0:? -1 (const int)
0:46 move second child to first child (temp float)
0:46 Depth: direct index for structure (temp float FragDepth)
0:46 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:46 Constant:
0:46 1 (const int)
0:46 Constant:
0:46 1.000000
0:48 Branch: Return with expression
0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:? Linker Objects
0:? 'g_sSamp' (uniform sampler)
0:? 'g_tTex1df4a' (uniform texture1D)
0:? 'g_tTex1df4' (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 fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:50 Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:28 Function Parameters:
0:? Sequence
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:31 'txval10' (temp 4-component vector of float)
0:31 textureOffset (global 4-component vector of float)
0:31 Construct combined texture-sampler (temp sampler1D)
0:31 'g_tTex1df4' (uniform texture1D)
0:31 'g_sSamp' (uniform sampler)
0:31 Constant:
0:31 0.100000
0:31 Constant:
0:31 0.500000
0:31 Constant:
0:31 1 (const int)
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of int)
0:32 'txval11' (temp 4-component vector of int)
0:32 textureOffset (global 4-component vector of int)
0:32 Construct combined texture-sampler (temp isampler1D)
0:32 'g_tTex1di4' (uniform itexture1D)
0:32 'g_sSamp' (uniform sampler)
0:32 Constant:
0:32 0.200000
0:32 Constant:
0:32 0.500000
0:32 Constant:
0:32 1 (const int)
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of uint)
0:33 'txval12' (temp 4-component vector of uint)
0:33 textureOffset (global 4-component vector of uint)
0:33 Construct combined texture-sampler (temp usampler1D)
0:33 'g_tTex1du4' (uniform utexture1D)
0:33 'g_sSamp' (uniform sampler)
0:33 Constant:
0:33 0.300000
0:33 Constant:
0:33 0.500000
0:33 Constant:
0:33 1 (const int)
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of float)
0:35 'txval20' (temp 4-component vector of float)
0:35 textureOffset (global 4-component vector of float)
0:35 Construct combined texture-sampler (temp sampler2D)
0:35 'g_tTex2df4' (uniform texture2D)
0:35 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:35 Constant:
0:35 0.500000
0:? Constant:
0:? 1 (const int)
0:? 0 (const int)
0:36 Sequence
0:36 move second child to first child (temp 4-component vector of int)
0:36 'txval21' (temp 4-component vector of int)
0:36 textureOffset (global 4-component vector of int)
0:36 Construct combined texture-sampler (temp isampler2D)
0:36 'g_tTex2di4' (uniform itexture2D)
0:36 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.300000
0:? 0.400000
0:36 Constant:
0:36 0.500000
0:? Constant:
0:? 1 (const int)
0:? 1 (const int)
0:37 Sequence
0:37 move second child to first child (temp 4-component vector of uint)
0:37 'txval22' (temp 4-component vector of uint)
0:37 textureOffset (global 4-component vector of uint)
0:37 Construct combined texture-sampler (temp usampler2D)
0:37 'g_tTex2du4' (uniform utexture2D)
0:37 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.500000
0:? 0.600000
0:37 Constant:
0:37 0.500000
0:? Constant:
0:? 1 (const int)
0:? -1 (const int)
0:39 Sequence
0:39 move second child to first child (temp 4-component vector of float)
0:39 'txval30' (temp 4-component vector of float)
0:39 textureOffset (global 4-component vector of float)
0:39 Construct combined texture-sampler (temp sampler3D)
0:39 'g_tTex3df4' (uniform texture3D)
0:39 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? 0.300000
0:39 Constant:
0:39 0.500000
0:? Constant:
0:? 1 (const int)
0:? 0 (const int)
0:? 1 (const int)
0:40 Sequence
0:40 move second child to first child (temp 4-component vector of int)
0:40 'txval31' (temp 4-component vector of int)
0:40 textureOffset (global 4-component vector of int)
0:40 Construct combined texture-sampler (temp isampler3D)
0:40 'g_tTex3di4' (uniform itexture3D)
0:40 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.400000
0:? 0.500000
0:? 0.600000
0:40 Constant:
0:40 0.500000
0:? Constant:
0:? 1 (const int)
0:? 1 (const int)
0:? 1 (const int)
0:41 Sequence
0:41 move second child to first child (temp 4-component vector of uint)
0:41 'txval32' (temp 4-component vector of uint)
0:41 textureOffset (global 4-component vector of uint)
0:41 Construct combined texture-sampler (temp usampler3D)
0:41 'g_tTex3du4' (uniform utexture3D)
0:41 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.700000
0:? 0.800000
0:? 0.900000
0:41 Constant:
0:41 0.500000
0:? Constant:
0:? 1 (const int)
0:? 0 (const int)
0:? -1 (const int)
0:46 move second child to first child (temp float)
0:46 Depth: direct index for structure (temp float FragDepth)
0:46 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:46 Constant:
0:46 1 (const int)
0:46 Constant:
0:46 1.000000
0:48 Branch: Return with expression
0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:? Linker Objects
0:? 'g_sSamp' (uniform sampler)
0:? 'g_tTex1df4a' (uniform texture1D)
0:? 'g_tTex1df4' (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 145
Capability Shader
Capability Sampled1D
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginUpperLeft
Source HLSL 450
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 135 "g_tTex1df4a"
Name 138 "g_tTexcdf4"
Name 141 "g_tTexcdi4"
Name 144 "g_tTexcdu4"
Decorate 12(g_tTex1df4) DescriptorSet 0
Decorate 16(g_sSamp) DescriptorSet 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
MemberDecorate 127(PS_OUTPUT) 1 BuiltIn FragDepth
Decorate 135(g_tTex1df4a) DescriptorSet 0
Decorate 138(g_tTexcdf4) DescriptorSet 0
Decorate 141(g_tTexcdi4) DescriptorSet 0
Decorate 144(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
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: TypePointer Function 6(float)
135(g_tTex1df4a): 11(ptr) Variable UniformConstant
136: TypeImage 6(float) Cube sampled format:Unknown
137: TypePointer UniformConstant 136
138(g_tTexcdf4): 137(ptr) Variable UniformConstant
139: TypeImage 22(int) Cube sampled format:Unknown
140: TypePointer UniformConstant 139
141(g_tTexcdi4): 140(ptr) Variable UniformConstant
142: TypeImage 37(int) Cube sampled format:Unknown
143: TypePointer UniformConstant 142
144(g_tTexcdu4): 143(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: 131(ptr) AccessChain 129(psout) 23
Store 132 130
133:127(PS_OUTPUT) Load 129(psout)
ReturnValue 133
FunctionEnd

View File

@ -0,0 +1,382 @@
hlsl.samplebias.offsetarray.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:38 Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:20 Function Parameters:
0:? Sequence
0:23 Sequence
0:23 move second child to first child (temp 4-component vector of float)
0:23 'txval10' (temp 4-component vector of float)
0:23 textureOffset (global 4-component vector of float)
0:23 Construct combined texture-sampler (temp sampler1DArray)
0:23 'g_tTex1df4' (uniform texture1DArray)
0:23 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:23 Constant:
0:23 0.500000
0:23 Constant:
0:23 0 (const int)
0:24 Sequence
0:24 move second child to first child (temp 4-component vector of int)
0:24 'txval11' (temp 4-component vector of int)
0:24 textureOffset (global 4-component vector of int)
0:24 Construct combined texture-sampler (temp isampler1DArray)
0:24 'g_tTex1di4' (uniform itexture1DArray)
0:24 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.200000
0:? 0.300000
0:24 Constant:
0:24 0.500000
0:24 Constant:
0:24 1 (const int)
0:25 Sequence
0:25 move second child to first child (temp 4-component vector of uint)
0:25 'txval12' (temp 4-component vector of uint)
0:25 textureOffset (global 4-component vector of uint)
0:25 Construct combined texture-sampler (temp usampler1DArray)
0:25 'g_tTex1du4' (uniform utexture1DArray)
0:25 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.300000
0:? 0.400000
0:25 Constant:
0:25 0.500000
0:25 Constant:
0:25 2 (const int)
0:27 Sequence
0:27 move second child to first child (temp 4-component vector of float)
0:27 'txval20' (temp 4-component vector of float)
0:27 textureOffset (global 4-component vector of float)
0:27 Construct combined texture-sampler (temp sampler2DArray)
0:27 'g_tTex2df4' (uniform texture2DArray)
0:27 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? 0.300000
0:27 Constant:
0:27 0.500000
0:? Constant:
0:? 0 (const int)
0:? 0 (const int)
0:28 Sequence
0:28 move second child to first child (temp 4-component vector of int)
0:28 'txval21' (temp 4-component vector of int)
0:28 textureOffset (global 4-component vector of int)
0:28 Construct combined texture-sampler (temp isampler2DArray)
0:28 'g_tTex2di4' (uniform itexture2DArray)
0:28 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.300000
0:? 0.400000
0:? 0.500000
0:28 Constant:
0:28 0.500000
0:? Constant:
0:? 0 (const int)
0:? 0 (const int)
0:29 Sequence
0:29 move second child to first child (temp 4-component vector of uint)
0:29 'txval22' (temp 4-component vector of uint)
0:29 textureOffset (global 4-component vector of uint)
0:29 Construct combined texture-sampler (temp usampler2DArray)
0:29 'g_tTex2du4' (uniform utexture2DArray)
0:29 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.500000
0:? 0.600000
0:? 0.700000
0:29 Constant:
0:29 0.500000
0:? Constant:
0:? 0 (const int)
0:? 1 (const int)
0:34 move second child to first child (temp float)
0:34 Depth: direct index for structure (temp float FragDepth)
0:34 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:34 Constant:
0:34 1 (const int)
0:34 Constant:
0:34 1.000000
0:36 Branch: Return with expression
0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:? Linker Objects
0:? 'g_sSamp' (uniform sampler)
0:? 'g_tTex1df4a' (uniform texture1DArray)
0:? 'g_tTex1df4' (uniform texture1DArray)
0:? 'g_tTex1di4' (uniform itexture1DArray)
0:? 'g_tTex1du4' (uniform utexture1DArray)
0:? 'g_tTex2df4' (uniform texture2DArray)
0:? 'g_tTex2di4' (uniform itexture2DArray)
0:? 'g_tTex2du4' (uniform utexture2DArray)
Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:38 Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:20 Function Parameters:
0:? Sequence
0:23 Sequence
0:23 move second child to first child (temp 4-component vector of float)
0:23 'txval10' (temp 4-component vector of float)
0:23 textureOffset (global 4-component vector of float)
0:23 Construct combined texture-sampler (temp sampler1DArray)
0:23 'g_tTex1df4' (uniform texture1DArray)
0:23 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:23 Constant:
0:23 0.500000
0:23 Constant:
0:23 0 (const int)
0:24 Sequence
0:24 move second child to first child (temp 4-component vector of int)
0:24 'txval11' (temp 4-component vector of int)
0:24 textureOffset (global 4-component vector of int)
0:24 Construct combined texture-sampler (temp isampler1DArray)
0:24 'g_tTex1di4' (uniform itexture1DArray)
0:24 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.200000
0:? 0.300000
0:24 Constant:
0:24 0.500000
0:24 Constant:
0:24 1 (const int)
0:25 Sequence
0:25 move second child to first child (temp 4-component vector of uint)
0:25 'txval12' (temp 4-component vector of uint)
0:25 textureOffset (global 4-component vector of uint)
0:25 Construct combined texture-sampler (temp usampler1DArray)
0:25 'g_tTex1du4' (uniform utexture1DArray)
0:25 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.300000
0:? 0.400000
0:25 Constant:
0:25 0.500000
0:25 Constant:
0:25 2 (const int)
0:27 Sequence
0:27 move second child to first child (temp 4-component vector of float)
0:27 'txval20' (temp 4-component vector of float)
0:27 textureOffset (global 4-component vector of float)
0:27 Construct combined texture-sampler (temp sampler2DArray)
0:27 'g_tTex2df4' (uniform texture2DArray)
0:27 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? 0.300000
0:27 Constant:
0:27 0.500000
0:? Constant:
0:? 0 (const int)
0:? 0 (const int)
0:28 Sequence
0:28 move second child to first child (temp 4-component vector of int)
0:28 'txval21' (temp 4-component vector of int)
0:28 textureOffset (global 4-component vector of int)
0:28 Construct combined texture-sampler (temp isampler2DArray)
0:28 'g_tTex2di4' (uniform itexture2DArray)
0:28 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.300000
0:? 0.400000
0:? 0.500000
0:28 Constant:
0:28 0.500000
0:? Constant:
0:? 0 (const int)
0:? 0 (const int)
0:29 Sequence
0:29 move second child to first child (temp 4-component vector of uint)
0:29 'txval22' (temp 4-component vector of uint)
0:29 textureOffset (global 4-component vector of uint)
0:29 Construct combined texture-sampler (temp usampler2DArray)
0:29 'g_tTex2du4' (uniform utexture2DArray)
0:29 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.500000
0:? 0.600000
0:? 0.700000
0:29 Constant:
0:29 0.500000
0:? Constant:
0:? 0 (const int)
0:? 1 (const int)
0:34 move second child to first child (temp float)
0:34 Depth: direct index for structure (temp float FragDepth)
0:34 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:34 Constant:
0:34 1 (const int)
0:34 Constant:
0:34 1.000000
0:36 Branch: Return with expression
0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:? Linker Objects
0:? 'g_sSamp' (uniform sampler)
0:? 'g_tTex1df4a' (uniform texture1DArray)
0:? 'g_tTex1df4' (uniform texture1DArray)
0:? 'g_tTex1di4' (uniform itexture1DArray)
0:? 'g_tTex1du4' (uniform utexture1DArray)
0:? 'g_tTex2df4' (uniform texture2DArray)
0:? 'g_tTex2di4' (uniform itexture2DArray)
0:? 'g_tTex2du4' (uniform utexture2DArray)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 102
Capability Shader
Capability Sampled1D
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginUpperLeft
Source HLSL 450
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 101 "g_tTex1df4a"
Decorate 12(g_tTex1df4) DescriptorSet 0
Decorate 16(g_sSamp) DescriptorSet 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
MemberDecorate 93(PS_OUTPUT) 1 BuiltIn FragDepth
Decorate 101(g_tTex1df4a) 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
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: TypePointer Function 6(float)
101(g_tTex1df4a): 11(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: 97(ptr) AccessChain 95(psout) 40
Store 98 96
99:93(PS_OUTPUT) Load 95(psout)
ReturnValue 99
FunctionEnd

View File

@ -0,0 +1,548 @@
hlsl.samplegrad.array.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:44 Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:24 Function Parameters:
0:? Sequence
0:27 Sequence
0:27 move second child to first child (temp 4-component vector of float)
0:27 'txval10' (temp 4-component vector of float)
0:27 textureGrad (global 4-component vector of float)
0:27 Construct combined texture-sampler (temp sampler1DArray)
0:27 'g_tTex1df4' (uniform texture1DArray)
0:27 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:27 Constant:
0:27 1.100000
0:27 Constant:
0:27 1.200000
0:28 Sequence
0:28 move second child to first child (temp 4-component vector of int)
0:28 'txval11' (temp 4-component vector of int)
0:28 textureGrad (global 4-component vector of int)
0:28 Construct combined texture-sampler (temp isampler1DArray)
0:28 'g_tTex1di4' (uniform itexture1DArray)
0:28 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:28 Constant:
0:28 1.100000
0:28 Constant:
0:28 1.200000
0:29 Sequence
0:29 move second child to first child (temp 4-component vector of uint)
0:29 'txval12' (temp 4-component vector of uint)
0:29 textureGrad (global 4-component vector of uint)
0:29 Construct combined texture-sampler (temp usampler1DArray)
0:29 'g_tTex1du4' (uniform utexture1DArray)
0:29 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:29 Constant:
0:29 1.100000
0:29 Constant:
0:29 1.200000
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:31 'txval20' (temp 4-component vector of float)
0:31 textureGrad (global 4-component vector of float)
0:31 Construct combined texture-sampler (temp sampler2DArray)
0:31 'g_tTex2df4' (uniform texture2DArray)
0:31 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? 0.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of int)
0:32 'txval21' (temp 4-component vector of int)
0:32 textureGrad (global 4-component vector of int)
0:32 Construct combined texture-sampler (temp isampler2DArray)
0:32 'g_tTex2di4' (uniform itexture2DArray)
0:32 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? 0.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of uint)
0:33 'txval22' (temp 4-component vector of uint)
0:33 textureGrad (global 4-component vector of uint)
0:33 Construct combined texture-sampler (temp usampler2DArray)
0:33 'g_tTex2du4' (uniform utexture2DArray)
0:33 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? 0.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of float)
0:35 'txval40' (temp 4-component vector of float)
0:35 textureGrad (global 4-component vector of float)
0:35 Construct combined texture-sampler (temp samplerCubeArray)
0:35 'g_tTexcdf4' (uniform textureCubeArray)
0:35 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? 0.300000
0:? 0.400000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:36 Sequence
0:36 move second child to first child (temp 4-component vector of int)
0:36 'txval41' (temp 4-component vector of int)
0:36 textureGrad (global 4-component vector of int)
0:36 Construct combined texture-sampler (temp isamplerCubeArray)
0:36 'g_tTexcdi4' (uniform itextureCubeArray)
0:36 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? 0.300000
0:? 0.400000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:37 Sequence
0:37 move second child to first child (temp 4-component vector of uint)
0:37 'txval42' (temp 4-component vector of uint)
0:37 textureGrad (global 4-component vector of uint)
0:37 Construct combined texture-sampler (temp usamplerCubeArray)
0:37 'g_tTexcdu4' (uniform utextureCubeArray)
0:37 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? 0.300000
0:? 0.400000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:40 move second child to first child (temp float)
0:40 Depth: direct index for structure (temp float FragDepth)
0:40 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:40 Constant:
0:40 1 (const int)
0:40 Constant:
0:40 1.000000
0:42 Branch: Return with expression
0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:? Linker Objects
0:? 'g_sSamp' (uniform sampler)
0:? 'g_tTex1df4a' (uniform texture1DArray)
0:? 'g_tTex1df4' (uniform texture1DArray)
0:? 'g_tTex1di4' (uniform itexture1DArray)
0:? 'g_tTex1du4' (uniform utexture1DArray)
0:? 'g_tTex2df4' (uniform texture2DArray)
0:? 'g_tTex2di4' (uniform itexture2DArray)
0:? 'g_tTex2du4' (uniform utexture2DArray)
0:? 'g_tTexcdf4' (uniform textureCubeArray)
0:? 'g_tTexcdi4' (uniform itextureCubeArray)
0:? 'g_tTexcdu4' (uniform utextureCubeArray)
Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:44 Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:24 Function Parameters:
0:? Sequence
0:27 Sequence
0:27 move second child to first child (temp 4-component vector of float)
0:27 'txval10' (temp 4-component vector of float)
0:27 textureGrad (global 4-component vector of float)
0:27 Construct combined texture-sampler (temp sampler1DArray)
0:27 'g_tTex1df4' (uniform texture1DArray)
0:27 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:27 Constant:
0:27 1.100000
0:27 Constant:
0:27 1.200000
0:28 Sequence
0:28 move second child to first child (temp 4-component vector of int)
0:28 'txval11' (temp 4-component vector of int)
0:28 textureGrad (global 4-component vector of int)
0:28 Construct combined texture-sampler (temp isampler1DArray)
0:28 'g_tTex1di4' (uniform itexture1DArray)
0:28 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:28 Constant:
0:28 1.100000
0:28 Constant:
0:28 1.200000
0:29 Sequence
0:29 move second child to first child (temp 4-component vector of uint)
0:29 'txval12' (temp 4-component vector of uint)
0:29 textureGrad (global 4-component vector of uint)
0:29 Construct combined texture-sampler (temp usampler1DArray)
0:29 'g_tTex1du4' (uniform utexture1DArray)
0:29 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:29 Constant:
0:29 1.100000
0:29 Constant:
0:29 1.200000
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:31 'txval20' (temp 4-component vector of float)
0:31 textureGrad (global 4-component vector of float)
0:31 Construct combined texture-sampler (temp sampler2DArray)
0:31 'g_tTex2df4' (uniform texture2DArray)
0:31 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? 0.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of int)
0:32 'txval21' (temp 4-component vector of int)
0:32 textureGrad (global 4-component vector of int)
0:32 Construct combined texture-sampler (temp isampler2DArray)
0:32 'g_tTex2di4' (uniform itexture2DArray)
0:32 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? 0.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of uint)
0:33 'txval22' (temp 4-component vector of uint)
0:33 textureGrad (global 4-component vector of uint)
0:33 Construct combined texture-sampler (temp usampler2DArray)
0:33 'g_tTex2du4' (uniform utexture2DArray)
0:33 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? 0.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of float)
0:35 'txval40' (temp 4-component vector of float)
0:35 textureGrad (global 4-component vector of float)
0:35 Construct combined texture-sampler (temp samplerCubeArray)
0:35 'g_tTexcdf4' (uniform textureCubeArray)
0:35 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? 0.300000
0:? 0.400000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:36 Sequence
0:36 move second child to first child (temp 4-component vector of int)
0:36 'txval41' (temp 4-component vector of int)
0:36 textureGrad (global 4-component vector of int)
0:36 Construct combined texture-sampler (temp isamplerCubeArray)
0:36 'g_tTexcdi4' (uniform itextureCubeArray)
0:36 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? 0.300000
0:? 0.400000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:37 Sequence
0:37 move second child to first child (temp 4-component vector of uint)
0:37 'txval42' (temp 4-component vector of uint)
0:37 textureGrad (global 4-component vector of uint)
0:37 Construct combined texture-sampler (temp usamplerCubeArray)
0:37 'g_tTexcdu4' (uniform utextureCubeArray)
0:37 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? 0.300000
0:? 0.400000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:40 move second child to first child (temp float)
0:40 Depth: direct index for structure (temp float FragDepth)
0:40 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:40 Constant:
0:40 1 (const int)
0:40 Constant:
0:40 1.000000
0:42 Branch: Return with expression
0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:? Linker Objects
0:? 'g_sSamp' (uniform sampler)
0:? 'g_tTex1df4a' (uniform texture1DArray)
0:? 'g_tTex1df4' (uniform texture1DArray)
0:? 'g_tTex1di4' (uniform itexture1DArray)
0:? 'g_tTex1du4' (uniform utexture1DArray)
0:? 'g_tTex2df4' (uniform texture2DArray)
0:? 'g_tTex2di4' (uniform itexture2DArray)
0:? 'g_tTex2du4' (uniform utexture2DArray)
0:? 'g_tTexcdf4' (uniform textureCubeArray)
0:? 'g_tTexcdi4' (uniform itextureCubeArray)
0:? 'g_tTexcdu4' (uniform utextureCubeArray)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 123
Capability Shader
Capability Sampled1D
Capability SampledCubeArray
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginUpperLeft
Source HLSL 450
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 122 "g_tTex1df4a"
Decorate 12(g_tTex1df4) DescriptorSet 0
Decorate 16(g_sSamp) DescriptorSet 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
MemberDecorate 113(PS_OUTPUT) 1 BuiltIn FragDepth
Decorate 122(g_tTex1df4a) 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
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 1
117: 6(float) Constant 1065353216
118: TypePointer Function 6(float)
122(g_tTex1df4a): 11(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: 118(ptr) AccessChain 115(psout) 116
Store 119 117
120:113(PS_OUTPUT) Load 115(psout)
ReturnValue 120
FunctionEnd

View File

@ -0,0 +1,696 @@
hlsl.samplegrad.basic.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:52 Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:28 Function Parameters:
0:? Sequence
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:31 'txval10' (temp 4-component vector of float)
0:31 textureGrad (global 4-component vector of float)
0:31 Construct combined texture-sampler (temp sampler1D)
0:31 'g_tTex1df4' (uniform texture1D)
0:31 'g_sSamp' (uniform sampler)
0:31 Constant:
0:31 0.100000
0:31 Constant:
0:31 1.100000
0:31 Constant:
0:31 1.200000
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of int)
0:32 'txval11' (temp 4-component vector of int)
0:32 textureGrad (global 4-component vector of int)
0:32 Construct combined texture-sampler (temp isampler1D)
0:32 'g_tTex1di4' (uniform itexture1D)
0:32 'g_sSamp' (uniform sampler)
0:32 Constant:
0:32 0.200000
0:32 Constant:
0:32 1.100000
0:32 Constant:
0:32 1.200000
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of uint)
0:33 'txval12' (temp 4-component vector of uint)
0:33 textureGrad (global 4-component vector of uint)
0:33 Construct combined texture-sampler (temp usampler1D)
0:33 'g_tTex1du4' (uniform utexture1D)
0:33 'g_sSamp' (uniform sampler)
0:33 Constant:
0:33 0.300000
0:33 Constant:
0:33 1.100000
0:33 Constant:
0:33 1.200000
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of float)
0:35 'txval20' (temp 4-component vector of float)
0:35 textureGrad (global 4-component vector of float)
0:35 Construct combined texture-sampler (temp sampler2D)
0:35 'g_tTex2df4' (uniform texture2D)
0:35 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:36 Sequence
0:36 move second child to first child (temp 4-component vector of int)
0:36 'txval21' (temp 4-component vector of int)
0:36 textureGrad (global 4-component vector of int)
0:36 Construct combined texture-sampler (temp isampler2D)
0:36 'g_tTex2di4' (uniform itexture2D)
0:36 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.300000
0:? 0.400000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:37 Sequence
0:37 move second child to first child (temp 4-component vector of uint)
0:37 'txval22' (temp 4-component vector of uint)
0:37 textureGrad (global 4-component vector of uint)
0:37 Construct combined texture-sampler (temp usampler2D)
0:37 'g_tTex2du4' (uniform utexture2D)
0:37 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.500000
0:? 0.600000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:39 Sequence
0:39 move second child to first child (temp 4-component vector of float)
0:39 'txval30' (temp 4-component vector of float)
0:39 textureGrad (global 4-component vector of float)
0:39 Construct combined texture-sampler (temp sampler3D)
0:39 'g_tTex3df4' (uniform texture3D)
0:39 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? 0.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:40 Sequence
0:40 move second child to first child (temp 4-component vector of int)
0:40 'txval31' (temp 4-component vector of int)
0:40 textureGrad (global 4-component vector of int)
0:40 Construct combined texture-sampler (temp isampler3D)
0:40 'g_tTex3di4' (uniform itexture3D)
0:40 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.400000
0:? 0.500000
0:? 0.600000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:41 Sequence
0:41 move second child to first child (temp 4-component vector of uint)
0:41 'txval32' (temp 4-component vector of uint)
0:41 textureGrad (global 4-component vector of uint)
0:41 Construct combined texture-sampler (temp usampler3D)
0:41 'g_tTex3du4' (uniform utexture3D)
0:41 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.700000
0:? 0.800000
0:? 0.900000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:43 Sequence
0:43 move second child to first child (temp 4-component vector of float)
0:43 'txval40' (temp 4-component vector of float)
0:43 textureGrad (global 4-component vector of float)
0:43 Construct combined texture-sampler (temp samplerCube)
0:43 'g_tTexcdf4' (uniform textureCube)
0:43 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? 0.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:44 Sequence
0:44 move second child to first child (temp 4-component vector of int)
0:44 'txval41' (temp 4-component vector of int)
0:44 textureGrad (global 4-component vector of int)
0:44 Construct combined texture-sampler (temp isamplerCube)
0:44 'g_tTexcdi4' (uniform itextureCube)
0:44 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.400000
0:? 0.500000
0:? 0.600000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:45 Sequence
0:45 move second child to first child (temp 4-component vector of uint)
0:45 'txval42' (temp 4-component vector of uint)
0:45 textureGrad (global 4-component vector of uint)
0:45 Construct combined texture-sampler (temp usamplerCube)
0:45 'g_tTexcdu4' (uniform utextureCube)
0:45 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.700000
0:? 0.800000
0:? 0.900000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:48 move second child to first child (temp float)
0:48 Depth: direct index for structure (temp float FragDepth)
0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:48 Constant:
0:48 1 (const int)
0:48 Constant:
0:48 1.000000
0:50 Branch: Return with expression
0:50 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:? Linker Objects
0:? 'g_sSamp' (uniform sampler)
0:? 'g_tTex1df4a' (uniform texture1D)
0:? 'g_tTex1df4' (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 fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:52 Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:28 Function Parameters:
0:? Sequence
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:31 'txval10' (temp 4-component vector of float)
0:31 textureGrad (global 4-component vector of float)
0:31 Construct combined texture-sampler (temp sampler1D)
0:31 'g_tTex1df4' (uniform texture1D)
0:31 'g_sSamp' (uniform sampler)
0:31 Constant:
0:31 0.100000
0:31 Constant:
0:31 1.100000
0:31 Constant:
0:31 1.200000
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of int)
0:32 'txval11' (temp 4-component vector of int)
0:32 textureGrad (global 4-component vector of int)
0:32 Construct combined texture-sampler (temp isampler1D)
0:32 'g_tTex1di4' (uniform itexture1D)
0:32 'g_sSamp' (uniform sampler)
0:32 Constant:
0:32 0.200000
0:32 Constant:
0:32 1.100000
0:32 Constant:
0:32 1.200000
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of uint)
0:33 'txval12' (temp 4-component vector of uint)
0:33 textureGrad (global 4-component vector of uint)
0:33 Construct combined texture-sampler (temp usampler1D)
0:33 'g_tTex1du4' (uniform utexture1D)
0:33 'g_sSamp' (uniform sampler)
0:33 Constant:
0:33 0.300000
0:33 Constant:
0:33 1.100000
0:33 Constant:
0:33 1.200000
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of float)
0:35 'txval20' (temp 4-component vector of float)
0:35 textureGrad (global 4-component vector of float)
0:35 Construct combined texture-sampler (temp sampler2D)
0:35 'g_tTex2df4' (uniform texture2D)
0:35 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:36 Sequence
0:36 move second child to first child (temp 4-component vector of int)
0:36 'txval21' (temp 4-component vector of int)
0:36 textureGrad (global 4-component vector of int)
0:36 Construct combined texture-sampler (temp isampler2D)
0:36 'g_tTex2di4' (uniform itexture2D)
0:36 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.300000
0:? 0.400000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:37 Sequence
0:37 move second child to first child (temp 4-component vector of uint)
0:37 'txval22' (temp 4-component vector of uint)
0:37 textureGrad (global 4-component vector of uint)
0:37 Construct combined texture-sampler (temp usampler2D)
0:37 'g_tTex2du4' (uniform utexture2D)
0:37 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.500000
0:? 0.600000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:39 Sequence
0:39 move second child to first child (temp 4-component vector of float)
0:39 'txval30' (temp 4-component vector of float)
0:39 textureGrad (global 4-component vector of float)
0:39 Construct combined texture-sampler (temp sampler3D)
0:39 'g_tTex3df4' (uniform texture3D)
0:39 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? 0.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:40 Sequence
0:40 move second child to first child (temp 4-component vector of int)
0:40 'txval31' (temp 4-component vector of int)
0:40 textureGrad (global 4-component vector of int)
0:40 Construct combined texture-sampler (temp isampler3D)
0:40 'g_tTex3di4' (uniform itexture3D)
0:40 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.400000
0:? 0.500000
0:? 0.600000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:41 Sequence
0:41 move second child to first child (temp 4-component vector of uint)
0:41 'txval32' (temp 4-component vector of uint)
0:41 textureGrad (global 4-component vector of uint)
0:41 Construct combined texture-sampler (temp usampler3D)
0:41 'g_tTex3du4' (uniform utexture3D)
0:41 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.700000
0:? 0.800000
0:? 0.900000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:43 Sequence
0:43 move second child to first child (temp 4-component vector of float)
0:43 'txval40' (temp 4-component vector of float)
0:43 textureGrad (global 4-component vector of float)
0:43 Construct combined texture-sampler (temp samplerCube)
0:43 'g_tTexcdf4' (uniform textureCube)
0:43 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? 0.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:44 Sequence
0:44 move second child to first child (temp 4-component vector of int)
0:44 'txval41' (temp 4-component vector of int)
0:44 textureGrad (global 4-component vector of int)
0:44 Construct combined texture-sampler (temp isamplerCube)
0:44 'g_tTexcdi4' (uniform itextureCube)
0:44 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.400000
0:? 0.500000
0:? 0.600000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:45 Sequence
0:45 move second child to first child (temp 4-component vector of uint)
0:45 'txval42' (temp 4-component vector of uint)
0:45 textureGrad (global 4-component vector of uint)
0:45 Construct combined texture-sampler (temp usamplerCube)
0:45 'g_tTexcdu4' (uniform utextureCube)
0:45 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.700000
0:? 0.800000
0:? 0.900000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:48 move second child to first child (temp float)
0:48 Depth: direct index for structure (temp float FragDepth)
0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:48 Constant:
0:48 1 (const int)
0:48 Constant:
0:48 1.000000
0:50 Branch: Return with expression
0:50 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:? Linker Objects
0:? 'g_sSamp' (uniform sampler)
0:? 'g_tTex1df4a' (uniform texture1D)
0:? 'g_tTex1df4' (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 158
Capability Shader
Capability Sampled1D
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginUpperLeft
Source HLSL 450
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 157 "g_tTex1df4a"
Decorate 12(g_tTex1df4) DescriptorSet 0
Decorate 16(g_sSamp) DescriptorSet 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
MemberDecorate 148(PS_OUTPUT) 1 BuiltIn FragDepth
Decorate 157(g_tTex1df4a) 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
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 1
152: 6(float) Constant 1065353216
153: TypePointer Function 6(float)
157(g_tTex1df4a): 11(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: 153(ptr) AccessChain 150(psout) 151
Store 154 152
155:148(PS_OUTPUT) Load 150(psout)
ReturnValue 155
FunctionEnd

View File

@ -0,0 +1,698 @@
hlsl.samplegrad.basic.dx10.vert
Shader version: 450
0:? Sequence
0:50 Function Definition: main( (global structure{temp 4-component vector of float FragCoord Pos})
0:27 Function Parameters:
0:? Sequence
0:30 Sequence
0:30 move second child to first child (temp 4-component vector of float)
0:30 'txval10' (temp 4-component vector of float)
0:30 textureGrad (global 4-component vector of float)
0:30 Construct combined texture-sampler (temp sampler1D)
0:30 'g_tTex1df4' (uniform texture1D)
0:30 'g_sSamp' (uniform sampler)
0:30 Constant:
0:30 0.100000
0:30 Constant:
0:30 1.100000
0:30 Constant:
0:30 1.200000
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of int)
0:31 'txval11' (temp 4-component vector of int)
0:31 textureGrad (global 4-component vector of int)
0:31 Construct combined texture-sampler (temp isampler1D)
0:31 'g_tTex1di4' (uniform itexture1D)
0:31 'g_sSamp' (uniform sampler)
0:31 Constant:
0:31 0.200000
0:31 Constant:
0:31 1.100000
0:31 Constant:
0:31 1.200000
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of uint)
0:32 'txval12' (temp 4-component vector of uint)
0:32 textureGrad (global 4-component vector of uint)
0:32 Construct combined texture-sampler (temp usampler1D)
0:32 'g_tTex1du4' (uniform utexture1D)
0:32 'g_sSamp' (uniform sampler)
0:32 Constant:
0:32 0.300000
0:32 Constant:
0:32 1.100000
0:32 Constant:
0:32 1.200000
0:34 Sequence
0:34 move second child to first child (temp 4-component vector of float)
0:34 'txval20' (temp 4-component vector of float)
0:34 textureGrad (global 4-component vector of float)
0:34 Construct combined texture-sampler (temp sampler2D)
0:34 'g_tTex2df4' (uniform texture2D)
0:34 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of int)
0:35 'txval21' (temp 4-component vector of int)
0:35 textureGrad (global 4-component vector of int)
0:35 Construct combined texture-sampler (temp isampler2D)
0:35 'g_tTex2di4' (uniform itexture2D)
0:35 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.300000
0:? 0.400000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:36 Sequence
0:36 move second child to first child (temp 4-component vector of uint)
0:36 'txval22' (temp 4-component vector of uint)
0:36 textureGrad (global 4-component vector of uint)
0:36 Construct combined texture-sampler (temp usampler2D)
0:36 'g_tTex2du4' (uniform utexture2D)
0:36 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.500000
0:? 0.600000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:38 Sequence
0:38 move second child to first child (temp 4-component vector of float)
0:38 'txval30' (temp 4-component vector of float)
0:38 textureGrad (global 4-component vector of float)
0:38 Construct combined texture-sampler (temp sampler3D)
0:38 'g_tTex3df4' (uniform texture3D)
0:38 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? 0.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:39 Sequence
0:39 move second child to first child (temp 4-component vector of int)
0:39 'txval31' (temp 4-component vector of int)
0:39 textureGrad (global 4-component vector of int)
0:39 Construct combined texture-sampler (temp isampler3D)
0:39 'g_tTex3di4' (uniform itexture3D)
0:39 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.400000
0:? 0.500000
0:? 0.600000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:40 Sequence
0:40 move second child to first child (temp 4-component vector of uint)
0:40 'txval32' (temp 4-component vector of uint)
0:40 textureGrad (global 4-component vector of uint)
0:40 Construct combined texture-sampler (temp usampler3D)
0:40 'g_tTex3du4' (uniform utexture3D)
0:40 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.700000
0:? 0.800000
0:? 0.900000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:42 Sequence
0:42 move second child to first child (temp 4-component vector of float)
0:42 'txval40' (temp 4-component vector of float)
0:42 textureGrad (global 4-component vector of float)
0:42 Construct combined texture-sampler (temp samplerCube)
0:42 'g_tTexcdf4' (uniform textureCube)
0:42 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? 0.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:43 Sequence
0:43 move second child to first child (temp 4-component vector of int)
0:43 'txval41' (temp 4-component vector of int)
0:43 textureGrad (global 4-component vector of int)
0:43 Construct combined texture-sampler (temp isamplerCube)
0:43 'g_tTexcdi4' (uniform itextureCube)
0:43 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.400000
0:? 0.500000
0:? 0.600000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:44 Sequence
0:44 move second child to first child (temp 4-component vector of uint)
0:44 'txval42' (temp 4-component vector of uint)
0:44 textureGrad (global 4-component vector of uint)
0:44 Construct combined texture-sampler (temp usamplerCube)
0:44 'g_tTexcdu4' (uniform utextureCube)
0:44 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.700000
0:? 0.800000
0:? 0.900000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:46 move second child to first child (temp 4-component vector of float)
0:46 Pos: direct index for structure (temp 4-component vector of float FragCoord)
0:46 'vsout' (temp structure{temp 4-component vector of float FragCoord Pos})
0:46 Constant:
0:46 0 (const int)
0:? Constant:
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:48 Branch: Return with expression
0:48 'vsout' (temp structure{temp 4-component vector of float FragCoord Pos})
0:? Linker Objects
0:? 'g_sSamp' (uniform sampler)
0:? 'g_tTex1df4a' (uniform texture1D)
0:? 'g_tTex1df4' (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:50 Function Definition: main( (global structure{temp 4-component vector of float FragCoord Pos})
0:27 Function Parameters:
0:? Sequence
0:30 Sequence
0:30 move second child to first child (temp 4-component vector of float)
0:30 'txval10' (temp 4-component vector of float)
0:30 textureGrad (global 4-component vector of float)
0:30 Construct combined texture-sampler (temp sampler1D)
0:30 'g_tTex1df4' (uniform texture1D)
0:30 'g_sSamp' (uniform sampler)
0:30 Constant:
0:30 0.100000
0:30 Constant:
0:30 1.100000
0:30 Constant:
0:30 1.200000
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of int)
0:31 'txval11' (temp 4-component vector of int)
0:31 textureGrad (global 4-component vector of int)
0:31 Construct combined texture-sampler (temp isampler1D)
0:31 'g_tTex1di4' (uniform itexture1D)
0:31 'g_sSamp' (uniform sampler)
0:31 Constant:
0:31 0.200000
0:31 Constant:
0:31 1.100000
0:31 Constant:
0:31 1.200000
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of uint)
0:32 'txval12' (temp 4-component vector of uint)
0:32 textureGrad (global 4-component vector of uint)
0:32 Construct combined texture-sampler (temp usampler1D)
0:32 'g_tTex1du4' (uniform utexture1D)
0:32 'g_sSamp' (uniform sampler)
0:32 Constant:
0:32 0.300000
0:32 Constant:
0:32 1.100000
0:32 Constant:
0:32 1.200000
0:34 Sequence
0:34 move second child to first child (temp 4-component vector of float)
0:34 'txval20' (temp 4-component vector of float)
0:34 textureGrad (global 4-component vector of float)
0:34 Construct combined texture-sampler (temp sampler2D)
0:34 'g_tTex2df4' (uniform texture2D)
0:34 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of int)
0:35 'txval21' (temp 4-component vector of int)
0:35 textureGrad (global 4-component vector of int)
0:35 Construct combined texture-sampler (temp isampler2D)
0:35 'g_tTex2di4' (uniform itexture2D)
0:35 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.300000
0:? 0.400000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:36 Sequence
0:36 move second child to first child (temp 4-component vector of uint)
0:36 'txval22' (temp 4-component vector of uint)
0:36 textureGrad (global 4-component vector of uint)
0:36 Construct combined texture-sampler (temp usampler2D)
0:36 'g_tTex2du4' (uniform utexture2D)
0:36 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.500000
0:? 0.600000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:38 Sequence
0:38 move second child to first child (temp 4-component vector of float)
0:38 'txval30' (temp 4-component vector of float)
0:38 textureGrad (global 4-component vector of float)
0:38 Construct combined texture-sampler (temp sampler3D)
0:38 'g_tTex3df4' (uniform texture3D)
0:38 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? 0.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:39 Sequence
0:39 move second child to first child (temp 4-component vector of int)
0:39 'txval31' (temp 4-component vector of int)
0:39 textureGrad (global 4-component vector of int)
0:39 Construct combined texture-sampler (temp isampler3D)
0:39 'g_tTex3di4' (uniform itexture3D)
0:39 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.400000
0:? 0.500000
0:? 0.600000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:40 Sequence
0:40 move second child to first child (temp 4-component vector of uint)
0:40 'txval32' (temp 4-component vector of uint)
0:40 textureGrad (global 4-component vector of uint)
0:40 Construct combined texture-sampler (temp usampler3D)
0:40 'g_tTex3du4' (uniform utexture3D)
0:40 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.700000
0:? 0.800000
0:? 0.900000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:42 Sequence
0:42 move second child to first child (temp 4-component vector of float)
0:42 'txval40' (temp 4-component vector of float)
0:42 textureGrad (global 4-component vector of float)
0:42 Construct combined texture-sampler (temp samplerCube)
0:42 'g_tTexcdf4' (uniform textureCube)
0:42 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? 0.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:43 Sequence
0:43 move second child to first child (temp 4-component vector of int)
0:43 'txval41' (temp 4-component vector of int)
0:43 textureGrad (global 4-component vector of int)
0:43 Construct combined texture-sampler (temp isamplerCube)
0:43 'g_tTexcdi4' (uniform itextureCube)
0:43 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.400000
0:? 0.500000
0:? 0.600000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:44 Sequence
0:44 move second child to first child (temp 4-component vector of uint)
0:44 'txval42' (temp 4-component vector of uint)
0:44 textureGrad (global 4-component vector of uint)
0:44 Construct combined texture-sampler (temp usamplerCube)
0:44 'g_tTexcdu4' (uniform utextureCube)
0:44 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.700000
0:? 0.800000
0:? 0.900000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:46 move second child to first child (temp 4-component vector of float)
0:46 Pos: direct index for structure (temp 4-component vector of float FragCoord)
0:46 'vsout' (temp structure{temp 4-component vector of float FragCoord Pos})
0:46 Constant:
0:46 0 (const int)
0:? Constant:
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:48 Branch: Return with expression
0:48 'vsout' (temp structure{temp 4-component vector of float FragCoord Pos})
0:? Linker Objects
0:? 'g_sSamp' (uniform sampler)
0:? 'g_tTex1df4a' (uniform texture1D)
0:? 'g_tTex1df4' (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 158
Capability Shader
Capability Sampled1D
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main"
Source HLSL 450
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 157 "g_tTex1df4a"
Decorate 12(g_tTex1df4) DescriptorSet 0
Decorate 16(g_sSamp) DescriptorSet 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
MemberDecorate 148(VS_OUTPUT) 0 BuiltIn FragCoord
Decorate 157(g_tTex1df4a) 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
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
157(g_tTex1df4a): 11(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(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
155:148(VS_OUTPUT) Load 150(vsout)
ReturnValue 155
FunctionEnd

View File

@ -0,0 +1,622 @@
hlsl.samplegrad.offset.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:50 Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:28 Function Parameters:
0:? Sequence
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:31 'txval10' (temp 4-component vector of float)
0:31 textureGradOffset (global 4-component vector of float)
0:31 Construct combined texture-sampler (temp sampler1D)
0:31 'g_tTex1df4' (uniform texture1D)
0:31 'g_sSamp' (uniform sampler)
0:31 Constant:
0:31 0.100000
0:31 Constant:
0:31 1.100000
0:31 Constant:
0:31 1.200000
0:31 Constant:
0:31 1 (const int)
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of int)
0:32 'txval11' (temp 4-component vector of int)
0:32 textureGradOffset (global 4-component vector of int)
0:32 Construct combined texture-sampler (temp isampler1D)
0:32 'g_tTex1di4' (uniform itexture1D)
0:32 'g_sSamp' (uniform sampler)
0:32 Constant:
0:32 0.200000
0:32 Constant:
0:32 1.100000
0:32 Constant:
0:32 1.200000
0:32 Constant:
0:32 1 (const int)
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of uint)
0:33 'txval12' (temp 4-component vector of uint)
0:33 textureGradOffset (global 4-component vector of uint)
0:33 Construct combined texture-sampler (temp usampler1D)
0:33 'g_tTex1du4' (uniform utexture1D)
0:33 'g_sSamp' (uniform sampler)
0:33 Constant:
0:33 0.300000
0:33 Constant:
0:33 1.100000
0:33 Constant:
0:33 1.200000
0:33 Constant:
0:33 1 (const int)
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of float)
0:35 'txval20' (temp 4-component vector of float)
0:35 textureGradOffset (global 4-component vector of float)
0:35 Construct combined texture-sampler (temp sampler2D)
0:35 'g_tTex2df4' (uniform texture2D)
0:35 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? Constant:
0:? 1 (const int)
0:? 0 (const int)
0:36 Sequence
0:36 move second child to first child (temp 4-component vector of int)
0:36 'txval21' (temp 4-component vector of int)
0:36 textureGradOffset (global 4-component vector of int)
0:36 Construct combined texture-sampler (temp isampler2D)
0:36 'g_tTex2di4' (uniform itexture2D)
0:36 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.300000
0:? 0.400000
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? Constant:
0:? 1 (const int)
0:? 1 (const int)
0:37 Sequence
0:37 move second child to first child (temp 4-component vector of uint)
0:37 'txval22' (temp 4-component vector of uint)
0:37 textureGradOffset (global 4-component vector of uint)
0:37 Construct combined texture-sampler (temp usampler2D)
0:37 'g_tTex2du4' (uniform utexture2D)
0:37 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.500000
0:? 0.600000
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? Constant:
0:? 1 (const int)
0:? -1 (const int)
0:39 Sequence
0:39 move second child to first child (temp 4-component vector of float)
0:39 'txval30' (temp 4-component vector of float)
0:39 textureGradOffset (global 4-component vector of float)
0:39 Construct combined texture-sampler (temp sampler3D)
0:39 'g_tTex3df4' (uniform texture3D)
0:39 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? 0.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:? Constant:
0:? 1 (const int)
0:? 0 (const int)
0:? 1 (const int)
0:40 Sequence
0:40 move second child to first child (temp 4-component vector of int)
0:40 'txval31' (temp 4-component vector of int)
0:40 textureGradOffset (global 4-component vector of int)
0:40 Construct combined texture-sampler (temp isampler3D)
0:40 'g_tTex3di4' (uniform itexture3D)
0:40 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.400000
0:? 0.500000
0:? 0.600000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:? Constant:
0:? 1 (const int)
0:? 1 (const int)
0:? 1 (const int)
0:41 Sequence
0:41 move second child to first child (temp 4-component vector of uint)
0:41 'txval32' (temp 4-component vector of uint)
0:41 textureGradOffset (global 4-component vector of uint)
0:41 Construct combined texture-sampler (temp usampler3D)
0:41 'g_tTex3du4' (uniform utexture3D)
0:41 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.700000
0:? 0.800000
0:? 0.900000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:? Constant:
0:? 1 (const int)
0:? 0 (const int)
0:? -1 (const int)
0:46 move second child to first child (temp float)
0:46 Depth: direct index for structure (temp float FragDepth)
0:46 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:46 Constant:
0:46 1 (const int)
0:46 Constant:
0:46 1.000000
0:48 Branch: Return with expression
0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:? Linker Objects
0:? 'g_sSamp' (uniform sampler)
0:? 'g_tTex1df4a' (uniform texture1D)
0:? 'g_tTex1df4' (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 fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:50 Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:28 Function Parameters:
0:? Sequence
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:31 'txval10' (temp 4-component vector of float)
0:31 textureGradOffset (global 4-component vector of float)
0:31 Construct combined texture-sampler (temp sampler1D)
0:31 'g_tTex1df4' (uniform texture1D)
0:31 'g_sSamp' (uniform sampler)
0:31 Constant:
0:31 0.100000
0:31 Constant:
0:31 1.100000
0:31 Constant:
0:31 1.200000
0:31 Constant:
0:31 1 (const int)
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of int)
0:32 'txval11' (temp 4-component vector of int)
0:32 textureGradOffset (global 4-component vector of int)
0:32 Construct combined texture-sampler (temp isampler1D)
0:32 'g_tTex1di4' (uniform itexture1D)
0:32 'g_sSamp' (uniform sampler)
0:32 Constant:
0:32 0.200000
0:32 Constant:
0:32 1.100000
0:32 Constant:
0:32 1.200000
0:32 Constant:
0:32 1 (const int)
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of uint)
0:33 'txval12' (temp 4-component vector of uint)
0:33 textureGradOffset (global 4-component vector of uint)
0:33 Construct combined texture-sampler (temp usampler1D)
0:33 'g_tTex1du4' (uniform utexture1D)
0:33 'g_sSamp' (uniform sampler)
0:33 Constant:
0:33 0.300000
0:33 Constant:
0:33 1.100000
0:33 Constant:
0:33 1.200000
0:33 Constant:
0:33 1 (const int)
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of float)
0:35 'txval20' (temp 4-component vector of float)
0:35 textureGradOffset (global 4-component vector of float)
0:35 Construct combined texture-sampler (temp sampler2D)
0:35 'g_tTex2df4' (uniform texture2D)
0:35 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? Constant:
0:? 1 (const int)
0:? 0 (const int)
0:36 Sequence
0:36 move second child to first child (temp 4-component vector of int)
0:36 'txval21' (temp 4-component vector of int)
0:36 textureGradOffset (global 4-component vector of int)
0:36 Construct combined texture-sampler (temp isampler2D)
0:36 'g_tTex2di4' (uniform itexture2D)
0:36 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.300000
0:? 0.400000
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? Constant:
0:? 1 (const int)
0:? 1 (const int)
0:37 Sequence
0:37 move second child to first child (temp 4-component vector of uint)
0:37 'txval22' (temp 4-component vector of uint)
0:37 textureGradOffset (global 4-component vector of uint)
0:37 Construct combined texture-sampler (temp usampler2D)
0:37 'g_tTex2du4' (uniform utexture2D)
0:37 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.500000
0:? 0.600000
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? Constant:
0:? 1 (const int)
0:? -1 (const int)
0:39 Sequence
0:39 move second child to first child (temp 4-component vector of float)
0:39 'txval30' (temp 4-component vector of float)
0:39 textureGradOffset (global 4-component vector of float)
0:39 Construct combined texture-sampler (temp sampler3D)
0:39 'g_tTex3df4' (uniform texture3D)
0:39 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? 0.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:? Constant:
0:? 1 (const int)
0:? 0 (const int)
0:? 1 (const int)
0:40 Sequence
0:40 move second child to first child (temp 4-component vector of int)
0:40 'txval31' (temp 4-component vector of int)
0:40 textureGradOffset (global 4-component vector of int)
0:40 Construct combined texture-sampler (temp isampler3D)
0:40 'g_tTex3di4' (uniform itexture3D)
0:40 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.400000
0:? 0.500000
0:? 0.600000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:? Constant:
0:? 1 (const int)
0:? 1 (const int)
0:? 1 (const int)
0:41 Sequence
0:41 move second child to first child (temp 4-component vector of uint)
0:41 'txval32' (temp 4-component vector of uint)
0:41 textureGradOffset (global 4-component vector of uint)
0:41 Construct combined texture-sampler (temp usampler3D)
0:41 'g_tTex3du4' (uniform utexture3D)
0:41 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.700000
0:? 0.800000
0:? 0.900000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? 1.300000
0:? Constant:
0:? 1 (const int)
0:? 0 (const int)
0:? -1 (const int)
0:46 move second child to first child (temp float)
0:46 Depth: direct index for structure (temp float FragDepth)
0:46 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:46 Constant:
0:46 1 (const int)
0:46 Constant:
0:46 1.000000
0:48 Branch: Return with expression
0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:? Linker Objects
0:? 'g_sSamp' (uniform sampler)
0:? 'g_tTex1df4a' (uniform texture1D)
0:? 'g_tTex1df4' (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 150
Capability Shader
Capability Sampled1D
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginUpperLeft
Source HLSL 450
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 140 "g_tTex1df4a"
Name 143 "g_tTexcdf4"
Name 146 "g_tTexcdi4"
Name 149 "g_tTexcdu4"
Decorate 12(g_tTex1df4) DescriptorSet 0
Decorate 16(g_sSamp) DescriptorSet 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
MemberDecorate 132(PS_OUTPUT) 1 BuiltIn FragDepth
Decorate 140(g_tTex1df4a) DescriptorSet 0
Decorate 143(g_tTexcdf4) DescriptorSet 0
Decorate 146(g_tTexcdi4) DescriptorSet 0
Decorate 149(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
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: TypePointer Function 6(float)
140(g_tTex1df4a): 11(ptr) Variable UniformConstant
141: TypeImage 6(float) Cube sampled format:Unknown
142: TypePointer UniformConstant 141
143(g_tTexcdf4): 142(ptr) Variable UniformConstant
144: TypeImage 23(int) Cube sampled format:Unknown
145: TypePointer UniformConstant 144
146(g_tTexcdi4): 145(ptr) Variable UniformConstant
147: TypeImage 38(int) Cube sampled format:Unknown
148: TypePointer UniformConstant 147
149(g_tTexcdu4): 148(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: 136(ptr) AccessChain 134(psout) 24
Store 137 135
138:132(PS_OUTPUT) Load 134(psout)
ReturnValue 138
FunctionEnd

View File

@ -0,0 +1,433 @@
hlsl.samplegrad.offsetarray.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:40 Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:24 Function Parameters:
0:? Sequence
0:27 Sequence
0:27 move second child to first child (temp 4-component vector of float)
0:27 'txval10' (temp 4-component vector of float)
0:27 textureGradOffset (global 4-component vector of float)
0:27 Construct combined texture-sampler (temp sampler1DArray)
0:27 'g_tTex1df4' (uniform texture1DArray)
0:27 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:27 Constant:
0:27 1.100000
0:27 Constant:
0:27 1.200000
0:27 Constant:
0:27 1 (const int)
0:28 Sequence
0:28 move second child to first child (temp 4-component vector of int)
0:28 'txval11' (temp 4-component vector of int)
0:28 textureGradOffset (global 4-component vector of int)
0:28 Construct combined texture-sampler (temp isampler1DArray)
0:28 'g_tTex1di4' (uniform itexture1DArray)
0:28 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:28 Constant:
0:28 1.100000
0:28 Constant:
0:28 1.200000
0:28 Constant:
0:28 1 (const int)
0:29 Sequence
0:29 move second child to first child (temp 4-component vector of uint)
0:29 'txval12' (temp 4-component vector of uint)
0:29 textureGradOffset (global 4-component vector of uint)
0:29 Construct combined texture-sampler (temp usampler1DArray)
0:29 'g_tTex1du4' (uniform utexture1DArray)
0:29 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:29 Constant:
0:29 1.100000
0:29 Constant:
0:29 1.200000
0:29 Constant:
0:29 1 (const int)
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:31 'txval20' (temp 4-component vector of float)
0:31 textureGradOffset (global 4-component vector of float)
0:31 Construct combined texture-sampler (temp sampler2DArray)
0:31 'g_tTex2df4' (uniform texture2DArray)
0:31 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? 0.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? Constant:
0:? 1 (const int)
0:? 0 (const int)
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of int)
0:32 'txval21' (temp 4-component vector of int)
0:32 textureGradOffset (global 4-component vector of int)
0:32 Construct combined texture-sampler (temp isampler2DArray)
0:32 'g_tTex2di4' (uniform itexture2DArray)
0:32 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? 0.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? Constant:
0:? 1 (const int)
0:? 0 (const int)
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of uint)
0:33 'txval22' (temp 4-component vector of uint)
0:33 textureGradOffset (global 4-component vector of uint)
0:33 Construct combined texture-sampler (temp usampler2DArray)
0:33 'g_tTex2du4' (uniform utexture2DArray)
0:33 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? 0.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? Constant:
0:? 1 (const int)
0:? 0 (const int)
0:36 move second child to first child (temp float)
0:36 Depth: direct index for structure (temp float FragDepth)
0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:36 Constant:
0:36 1 (const int)
0:36 Constant:
0:36 1.000000
0:38 Branch: Return with expression
0:38 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:? Linker Objects
0:? 'g_sSamp' (uniform sampler)
0:? 'g_tTex1df4a' (uniform texture1DArray)
0:? 'g_tTex1df4' (uniform texture1DArray)
0:? 'g_tTex1di4' (uniform itexture1DArray)
0:? 'g_tTex1du4' (uniform utexture1DArray)
0:? 'g_tTex2df4' (uniform texture2DArray)
0:? 'g_tTex2di4' (uniform itexture2DArray)
0:? 'g_tTex2du4' (uniform utexture2DArray)
0:? 'g_tTexcdf4' (uniform textureCubeArray)
0:? 'g_tTexcdi4' (uniform itextureCubeArray)
0:? 'g_tTexcdu4' (uniform utextureCubeArray)
Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:40 Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:24 Function Parameters:
0:? Sequence
0:27 Sequence
0:27 move second child to first child (temp 4-component vector of float)
0:27 'txval10' (temp 4-component vector of float)
0:27 textureGradOffset (global 4-component vector of float)
0:27 Construct combined texture-sampler (temp sampler1DArray)
0:27 'g_tTex1df4' (uniform texture1DArray)
0:27 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:27 Constant:
0:27 1.100000
0:27 Constant:
0:27 1.200000
0:27 Constant:
0:27 1 (const int)
0:28 Sequence
0:28 move second child to first child (temp 4-component vector of int)
0:28 'txval11' (temp 4-component vector of int)
0:28 textureGradOffset (global 4-component vector of int)
0:28 Construct combined texture-sampler (temp isampler1DArray)
0:28 'g_tTex1di4' (uniform itexture1DArray)
0:28 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:28 Constant:
0:28 1.100000
0:28 Constant:
0:28 1.200000
0:28 Constant:
0:28 1 (const int)
0:29 Sequence
0:29 move second child to first child (temp 4-component vector of uint)
0:29 'txval12' (temp 4-component vector of uint)
0:29 textureGradOffset (global 4-component vector of uint)
0:29 Construct combined texture-sampler (temp usampler1DArray)
0:29 'g_tTex1du4' (uniform utexture1DArray)
0:29 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:29 Constant:
0:29 1.100000
0:29 Constant:
0:29 1.200000
0:29 Constant:
0:29 1 (const int)
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:31 'txval20' (temp 4-component vector of float)
0:31 textureGradOffset (global 4-component vector of float)
0:31 Construct combined texture-sampler (temp sampler2DArray)
0:31 'g_tTex2df4' (uniform texture2DArray)
0:31 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? 0.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? Constant:
0:? 1 (const int)
0:? 0 (const int)
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of int)
0:32 'txval21' (temp 4-component vector of int)
0:32 textureGradOffset (global 4-component vector of int)
0:32 Construct combined texture-sampler (temp isampler2DArray)
0:32 'g_tTex2di4' (uniform itexture2DArray)
0:32 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? 0.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? Constant:
0:? 1 (const int)
0:? 0 (const int)
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of uint)
0:33 'txval22' (temp 4-component vector of uint)
0:33 textureGradOffset (global 4-component vector of uint)
0:33 Construct combined texture-sampler (temp usampler2DArray)
0:33 'g_tTex2du4' (uniform utexture2DArray)
0:33 'g_sSamp' (uniform sampler)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:? 0.300000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? Constant:
0:? 1.100000
0:? 1.200000
0:? Constant:
0:? 1 (const int)
0:? 0 (const int)
0:36 move second child to first child (temp float)
0:36 Depth: direct index for structure (temp float FragDepth)
0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:36 Constant:
0:36 1 (const int)
0:36 Constant:
0:36 1.000000
0:38 Branch: Return with expression
0:38 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:? Linker Objects
0:? 'g_sSamp' (uniform sampler)
0:? 'g_tTex1df4a' (uniform texture1DArray)
0:? 'g_tTex1df4' (uniform texture1DArray)
0:? 'g_tTex1di4' (uniform itexture1DArray)
0:? 'g_tTex1du4' (uniform utexture1DArray)
0:? 'g_tTex2df4' (uniform texture2DArray)
0:? 'g_tTex2di4' (uniform itexture2DArray)
0:? 'g_tTex2du4' (uniform utexture2DArray)
0:? 'g_tTexcdf4' (uniform textureCubeArray)
0:? 'g_tTexcdi4' (uniform itextureCubeArray)
0:? 'g_tTexcdu4' (uniform utextureCubeArray)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 104
Capability Shader
Capability Sampled1D
Capability SampledCubeArray
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginUpperLeft
Source HLSL 450
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 94 "g_tTex1df4a"
Name 97 "g_tTexcdf4"
Name 100 "g_tTexcdi4"
Name 103 "g_tTexcdu4"
Decorate 12(g_tTex1df4) DescriptorSet 0
Decorate 16(g_sSamp) DescriptorSet 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
MemberDecorate 86(PS_OUTPUT) 1 BuiltIn FragDepth
Decorate 94(g_tTex1df4a) DescriptorSet 0
Decorate 97(g_tTexcdf4) DescriptorSet 0
Decorate 100(g_tTexcdi4) DescriptorSet 0
Decorate 103(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
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: TypePointer Function 6(float)
94(g_tTex1df4a): 11(ptr) Variable UniformConstant
95: TypeImage 6(float) Cube array sampled format:Unknown
96: TypePointer UniformConstant 95
97(g_tTexcdf4): 96(ptr) Variable UniformConstant
98: TypeImage 26(int) Cube array sampled format:Unknown
99: TypePointer UniformConstant 98
100(g_tTexcdi4): 99(ptr) Variable UniformConstant
101: TypeImage 40(int) Cube array sampled format:Unknown
102: TypePointer UniformConstant 101
103(g_tTexcdu4): 102(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: 90(ptr) AccessChain 88(psout) 27
Store 91 89
92:86(PS_OUTPUT) Load 88(psout)
ReturnValue 92
FunctionEnd

View File

@ -0,0 +1,43 @@
SamplerState g_sSamp : register(s0);
Texture1DArray g_tTex1df4a : register(t1);
uniform Texture1DArray <float4> g_tTex1df4 : register(t0);
Texture1DArray <int4> g_tTex1di4;
Texture1DArray <uint4> g_tTex1du4;
Texture2DArray <float4> g_tTex2df4;
Texture2DArray <int4> g_tTex2di4;
Texture2DArray <uint4> g_tTex2du4;
TextureCubeArray <float4> g_tTexcdf4;
TextureCubeArray <int4> g_tTexcdi4;
TextureCubeArray <uint4> g_tTexcdu4;
struct PS_OUTPUT
{
float4 Color : SV_Target0;
float Depth : SV_Depth;
};
PS_OUTPUT main()
{
PS_OUTPUT psout;
float4 txval10 = g_tTex1df4 . SampleBias(g_sSamp, float2(0.1, 0.2), 0.5);
int4 txval11 = g_tTex1di4 . SampleBias(g_sSamp, float2(0.2, 0.3), 0.5);
uint4 txval12 = g_tTex1du4 . SampleBias(g_sSamp, float2(0.3, 0.4), 0.5);
float4 txval20 = g_tTex2df4 . SampleBias(g_sSamp, float3(0.1, 0.2, 0.3), 0.5);
int4 txval21 = g_tTex2di4 . SampleBias(g_sSamp, float3(0.3, 0.4, 0.5), 0.5);
uint4 txval22 = g_tTex2du4 . SampleBias(g_sSamp, float3(0.5, 0.6, 0.7), 0.5);
float4 txval40 = g_tTexcdf4 . SampleBias(g_sSamp, float4(0.1, 0.2, 0.3, 0.4), 0.5);
int4 txval41 = g_tTexcdi4 . SampleBias(g_sSamp, float4(0.4, 0.5, 0.6, 0.7), 0.5);
uint4 txval42 = g_tTexcdu4 . SampleBias(g_sSamp, float4(0.7, 0.8, 0.9, 1.0), 0.5);
psout.Color = 1.0;
psout.Depth = 1.0;
return psout;
}

View File

@ -0,0 +1,51 @@
SamplerState g_sSamp : register(s0);
Texture1D g_tTex1df4a : register(t1);
uniform Texture1D <float4> g_tTex1df4 : register(t0);
Texture1D <int4> g_tTex1di4;
Texture1D <uint4> g_tTex1du4;
Texture2D <float4> g_tTex2df4;
Texture2D <int4> g_tTex2di4;
Texture2D <uint4> g_tTex2du4;
Texture3D <float4> g_tTex3df4;
Texture3D <int4> g_tTex3di4;
Texture3D <uint4> g_tTex3du4;
TextureCube <float4> g_tTexcdf4;
TextureCube <int4> g_tTexcdi4;
TextureCube <uint4> g_tTexcdu4;
struct PS_OUTPUT
{
float4 Color : SV_Target0;
float Depth : SV_Depth;
};
PS_OUTPUT main()
{
PS_OUTPUT psout;
float4 txval10 = g_tTex1df4 . SampleBias(g_sSamp, 0.1, 0.5);
int4 txval11 = g_tTex1di4 . SampleBias(g_sSamp, 0.2, 0.5);
uint4 txval12 = g_tTex1du4 . SampleBias(g_sSamp, 0.3, 0.5);
float4 txval20 = g_tTex2df4 . SampleBias(g_sSamp, float2(0.1, 0.2), 0.5);
int4 txval21 = g_tTex2di4 . SampleBias(g_sSamp, float2(0.3, 0.4), 0.5);
uint4 txval22 = g_tTex2du4 . SampleBias(g_sSamp, float2(0.5, 0.6), 0.5);
float4 txval30 = g_tTex3df4 . SampleBias(g_sSamp, float3(0.1, 0.2, 0.3), 0.5);
int4 txval31 = g_tTex3di4 . SampleBias(g_sSamp, float3(0.4, 0.5, 0.6), 0.5);
uint4 txval32 = g_tTex3du4 . SampleBias(g_sSamp, float3(0.7, 0.8, 0.9), 0.5);
float4 txval40 = g_tTexcdf4 . SampleBias(g_sSamp, float3(0.1, 0.2, 0.3), 0.5);
int4 txval41 = g_tTexcdi4 . SampleBias(g_sSamp, float3(0.4, 0.5, 0.6), 0.5);
uint4 txval42 = g_tTexcdu4 . SampleBias(g_sSamp, float3(0.7, 0.8, 0.9), 0.5);
psout.Color = 1.0;
psout.Depth = 1.0;
return psout;
}

View File

@ -0,0 +1,49 @@
SamplerState g_sSamp : register(s0);
Texture1D g_tTex1df4a : register(t1);
uniform Texture1D <float4> g_tTex1df4 : register(t0);
Texture1D <int4> g_tTex1di4;
Texture1D <uint4> g_tTex1du4;
Texture2D <float4> g_tTex2df4;
Texture2D <int4> g_tTex2di4;
Texture2D <uint4> g_tTex2du4;
Texture3D <float4> g_tTex3df4;
Texture3D <int4> g_tTex3di4;
Texture3D <uint4> g_tTex3du4;
TextureCube <float4> g_tTexcdf4;
TextureCube <int4> g_tTexcdi4;
TextureCube <uint4> g_tTexcdu4;
struct PS_OUTPUT
{
float4 Color : SV_Target0;
float Depth : SV_Depth;
};
PS_OUTPUT main()
{
PS_OUTPUT psout;
float4 txval10 = g_tTex1df4 . SampleBias(g_sSamp, 0.1, 0.5, 1);
int4 txval11 = g_tTex1di4 . SampleBias(g_sSamp, 0.2, 0.5, 1);
uint4 txval12 = g_tTex1du4 . SampleBias(g_sSamp, 0.3, 0.5, 1);
float4 txval20 = g_tTex2df4 . SampleBias(g_sSamp, float2(0.1, 0.2), 0.5, int2(1,0));
int4 txval21 = g_tTex2di4 . SampleBias(g_sSamp, float2(0.3, 0.4), 0.5, int2(1,1));
uint4 txval22 = g_tTex2du4 . SampleBias(g_sSamp, float2(0.5, 0.6), 0.5, int2(1,-1));
float4 txval30 = g_tTex3df4 . SampleBias(g_sSamp, float3(0.1, 0.2, 0.3), 0.5, int3(1,0,1));
int4 txval31 = g_tTex3di4 . SampleBias(g_sSamp, float3(0.4, 0.5, 0.6), 0.5, int3(1,1,1));
uint4 txval32 = g_tTex3du4 . SampleBias(g_sSamp, float3(0.7, 0.8, 0.9), 0.5, int3(1,0,-1));
// There are no offset forms of cube textures, so we do not test them.
psout.Color = 1.0;
psout.Depth = 1.0;
return psout;
}

View File

@ -0,0 +1,37 @@
SamplerState g_sSamp : register(s0);
Texture1DArray g_tTex1df4a : register(t1);
uniform Texture1DArray <float4> g_tTex1df4 : register(t0);
Texture1DArray <int4> g_tTex1di4;
Texture1DArray <uint4> g_tTex1du4;
Texture2DArray <float4> g_tTex2df4;
Texture2DArray <int4> g_tTex2di4;
Texture2DArray <uint4> g_tTex2du4;
struct PS_OUTPUT
{
float4 Color : SV_Target0;
float Depth : SV_Depth;
};
PS_OUTPUT main()
{
PS_OUTPUT psout;
float4 txval10 = g_tTex1df4 . SampleBias(g_sSamp, float2(0.1, 0.2), 0.5, 0);
int4 txval11 = g_tTex1di4 . SampleBias(g_sSamp, float2(0.2, 0.3), 0.5, 1);
uint4 txval12 = g_tTex1du4 . SampleBias(g_sSamp, float2(0.3, 0.4), 0.5, 2);
float4 txval20 = g_tTex2df4 . SampleBias(g_sSamp, float3(0.1, 0.2, 0.3), 0.5, int2(0,0));
int4 txval21 = g_tTex2di4 . SampleBias(g_sSamp, float3(0.3, 0.4, 0.5), 0.5, int2(0,0));
uint4 txval22 = g_tTex2du4 . SampleBias(g_sSamp, float3(0.5, 0.6, 0.7), 0.5, int2(0,1));
// No offset array forms for 3D or cube
psout.Color = 1.0;
psout.Depth = 1.0;
return psout;
}

View File

@ -0,0 +1,43 @@
SamplerState g_sSamp : register(s0);
Texture1DArray g_tTex1df4a : register(t1);
uniform Texture1DArray <float4> g_tTex1df4 : register(t0);
Texture1DArray <int4> g_tTex1di4;
Texture1DArray <uint4> g_tTex1du4;
Texture2DArray <float4> g_tTex2df4;
Texture2DArray <int4> g_tTex2di4;
Texture2DArray <uint4> g_tTex2du4;
TextureCubeArray <float4> g_tTexcdf4;
TextureCubeArray <int4> g_tTexcdi4;
TextureCubeArray <uint4> g_tTexcdu4;
struct PS_OUTPUT
{
float4 Color : SV_Target0;
float Depth : SV_Depth;
};
PS_OUTPUT main()
{
PS_OUTPUT psout;
float4 txval10 = g_tTex1df4 . SampleGrad(g_sSamp, float2(0.1, 0.2), 1.1, 1.2);
int4 txval11 = g_tTex1di4 . SampleGrad(g_sSamp, float2(0.1, 0.2), 1.1, 1.2);
uint4 txval12 = g_tTex1du4 . SampleGrad(g_sSamp, float2(0.1, 0.2), 1.1, 1.2);
float4 txval20 = g_tTex2df4 . SampleGrad(g_sSamp, float3(0.1, 0.2, 0.3), float2(1.1, 1.2), float2(1.1, 1.2));
int4 txval21 = g_tTex2di4 . SampleGrad(g_sSamp, float3(0.1, 0.2, 0.3), float2(1.1, 1.2), float2(1.1, 1.2));
uint4 txval22 = g_tTex2du4 . SampleGrad(g_sSamp, float3(0.1, 0.2, 0.3), float2(1.1, 1.2), float2(1.1, 1.2));
float4 txval40 = g_tTexcdf4 . SampleGrad(g_sSamp, float4(0.1, 0.2, 0.3, 0.4), float3(1.1, 1.2, 1.3), float3(1.1, 1.2, 1.3));
int4 txval41 = g_tTexcdi4 . SampleGrad(g_sSamp, float4(0.1, 0.2, 0.3, 0.4), float3(1.1, 1.2, 1.3), float3(1.1, 1.2, 1.3));
uint4 txval42 = g_tTexcdu4 . SampleGrad(g_sSamp, float4(0.1, 0.2, 0.3, 0.4), float3(1.1, 1.2, 1.3), float3(1.1, 1.2, 1.3));
psout.Color = 1.0;
psout.Depth = 1.0;
return psout;
}

View File

@ -0,0 +1,51 @@
SamplerState g_sSamp : register(s0);
Texture1D g_tTex1df4a : register(t1);
uniform Texture1D <float4> g_tTex1df4 : register(t0);
Texture1D <int4> g_tTex1di4;
Texture1D <uint4> g_tTex1du4;
Texture2D <float4> g_tTex2df4;
Texture2D <int4> g_tTex2di4;
Texture2D <uint4> g_tTex2du4;
Texture3D <float4> g_tTex3df4;
Texture3D <int4> g_tTex3di4;
Texture3D <uint4> g_tTex3du4;
TextureCube <float4> g_tTexcdf4;
TextureCube <int4> g_tTexcdi4;
TextureCube <uint4> g_tTexcdu4;
struct PS_OUTPUT
{
float4 Color : SV_Target0;
float Depth : SV_Depth;
};
PS_OUTPUT main()
{
PS_OUTPUT psout;
float4 txval10 = g_tTex1df4 . SampleGrad(g_sSamp, 0.1, 1.1, 1.2);
int4 txval11 = g_tTex1di4 . SampleGrad(g_sSamp, 0.2, 1.1, 1.2);
uint4 txval12 = g_tTex1du4 . SampleGrad(g_sSamp, 0.3, 1.1, 1.2);
float4 txval20 = g_tTex2df4 . SampleGrad(g_sSamp, float2(0.1, 0.2), float2(1.1, 1.2), float2(1.1, 1.2));
int4 txval21 = g_tTex2di4 . SampleGrad(g_sSamp, float2(0.3, 0.4), float2(1.1, 1.2), float2(1.1, 1.2));
uint4 txval22 = g_tTex2du4 . SampleGrad(g_sSamp, float2(0.5, 0.6), float2(1.1, 1.2), float2(1.1, 1.2));
float4 txval30 = g_tTex3df4 . SampleGrad(g_sSamp, float3(0.1, 0.2, 0.3), float3(1.1, 1.2, 1.3), float3(1.1, 1.2, 1.3));
int4 txval31 = g_tTex3di4 . SampleGrad(g_sSamp, float3(0.4, 0.5, 0.6), float3(1.1, 1.2, 1.3), float3(1.1, 1.2, 1.3));
uint4 txval32 = g_tTex3du4 . SampleGrad(g_sSamp, float3(0.7, 0.8, 0.9), float3(1.1, 1.2, 1.3), float3(1.1, 1.2, 1.3));
float4 txval40 = g_tTexcdf4 . SampleGrad(g_sSamp, float3(0.1, 0.2, 0.3), float3(1.1, 1.2, 1.3), float3(1.1, 1.2, 1.3));
int4 txval41 = g_tTexcdi4 . SampleGrad(g_sSamp, float3(0.4, 0.5, 0.6), float3(1.1, 1.2, 1.3), float3(1.1, 1.2, 1.3));
uint4 txval42 = g_tTexcdu4 . SampleGrad(g_sSamp, float3(0.7, 0.8, 0.9), float3(1.1, 1.2, 1.3), float3(1.1, 1.2, 1.3));
psout.Color = 1.0;
psout.Depth = 1.0;
return psout;
}

View File

@ -0,0 +1,49 @@
SamplerState g_sSamp : register(s0);
Texture1D g_tTex1df4a : register(t1);
uniform Texture1D <float4> g_tTex1df4 : register(t0);
Texture1D <int4> g_tTex1di4;
Texture1D <uint4> g_tTex1du4;
Texture2D <float4> g_tTex2df4;
Texture2D <int4> g_tTex2di4;
Texture2D <uint4> g_tTex2du4;
Texture3D <float4> g_tTex3df4;
Texture3D <int4> g_tTex3di4;
Texture3D <uint4> g_tTex3du4;
TextureCube <float4> g_tTexcdf4;
TextureCube <int4> g_tTexcdi4;
TextureCube <uint4> g_tTexcdu4;
struct VS_OUTPUT
{
float4 Pos : SV_Position;
};
VS_OUTPUT main()
{
VS_OUTPUT vsout;
float4 txval10 = g_tTex1df4 . SampleGrad(g_sSamp, 0.1, 1.1, 1.2);
int4 txval11 = g_tTex1di4 . SampleGrad(g_sSamp, 0.2, 1.1, 1.2);
uint4 txval12 = g_tTex1du4 . SampleGrad(g_sSamp, 0.3, 1.1, 1.2);
float4 txval20 = g_tTex2df4 . SampleGrad(g_sSamp, float2(0.1, 0.2), float2(1.1, 1.2), float2(1.1, 1.2));
int4 txval21 = g_tTex2di4 . SampleGrad(g_sSamp, float2(0.3, 0.4), float2(1.1, 1.2), float2(1.1, 1.2));
uint4 txval22 = g_tTex2du4 . SampleGrad(g_sSamp, float2(0.5, 0.6), float2(1.1, 1.2), float2(1.1, 1.2));
float4 txval30 = g_tTex3df4 . SampleGrad(g_sSamp, float3(0.1, 0.2, 0.3), float3(1.1, 1.2, 1.3), float3(1.1, 1.2, 1.3));
int4 txval31 = g_tTex3di4 . SampleGrad(g_sSamp, float3(0.4, 0.5, 0.6), float3(1.1, 1.2, 1.3), float3(1.1, 1.2, 1.3));
uint4 txval32 = g_tTex3du4 . SampleGrad(g_sSamp, float3(0.7, 0.8, 0.9), float3(1.1, 1.2, 1.3), float3(1.1, 1.2, 1.3));
float4 txval40 = g_tTexcdf4 . SampleGrad(g_sSamp, float3(0.1, 0.2, 0.3), float3(1.1, 1.2, 1.3), float3(1.1, 1.2, 1.3));
int4 txval41 = g_tTexcdi4 . SampleGrad(g_sSamp, float3(0.4, 0.5, 0.6), float3(1.1, 1.2, 1.3), float3(1.1, 1.2, 1.3));
uint4 txval42 = g_tTexcdu4 . SampleGrad(g_sSamp, float3(0.7, 0.8, 0.9), float3(1.1, 1.2, 1.3), float3(1.1, 1.2, 1.3));
vsout.Pos = float4(0,0,0,0);
return vsout;
}

View File

@ -0,0 +1,49 @@
SamplerState g_sSamp : register(s0);
Texture1D g_tTex1df4a : register(t1);
uniform Texture1D <float4> g_tTex1df4 : register(t0);
Texture1D <int4> g_tTex1di4;
Texture1D <uint4> g_tTex1du4;
Texture2D <float4> g_tTex2df4;
Texture2D <int4> g_tTex2di4;
Texture2D <uint4> g_tTex2du4;
Texture3D <float4> g_tTex3df4;
Texture3D <int4> g_tTex3di4;
Texture3D <uint4> g_tTex3du4;
TextureCube <float4> g_tTexcdf4;
TextureCube <int4> g_tTexcdi4;
TextureCube <uint4> g_tTexcdu4;
struct PS_OUTPUT
{
float4 Color : SV_Target0;
float Depth : SV_Depth;
};
PS_OUTPUT main()
{
PS_OUTPUT psout;
float4 txval10 = g_tTex1df4 . SampleGrad(g_sSamp, 0.1, 1.1, 1.2, 1);
int4 txval11 = g_tTex1di4 . SampleGrad(g_sSamp, 0.2, 1.1, 1.2, 1);
uint4 txval12 = g_tTex1du4 . SampleGrad(g_sSamp, 0.3, 1.1, 1.2, 1);
float4 txval20 = g_tTex2df4 . SampleGrad(g_sSamp, float2(0.1, 0.2), float2(0.1, 0.2), float2(1.1, 1.2), int2(1,0));
int4 txval21 = g_tTex2di4 . SampleGrad(g_sSamp, float2(0.3, 0.4), float2(0.1, 0.2), float2(1.1, 1.2), int2(1,1));
uint4 txval22 = g_tTex2du4 . SampleGrad(g_sSamp, float2(0.5, 0.6), float2(0.1, 0.2), float2(1.1, 1.2), int2(1,-1));
float4 txval30 = g_tTex3df4 . SampleGrad(g_sSamp, float3(0.1, 0.2, 0.3), float3(1.1, 1.2, 1.3), float3(1.1, 1.2, 1.3), int3(1,0,1));
int4 txval31 = g_tTex3di4 . SampleGrad(g_sSamp, float3(0.4, 0.5, 0.6), float3(1.1, 1.2, 1.3), float3(1.1, 1.2, 1.3), int3(1,1,1));
uint4 txval32 = g_tTex3du4 . SampleGrad(g_sSamp, float3(0.7, 0.8, 0.9), float3(1.1, 1.2, 1.3), float3(1.1, 1.2, 1.3), int3(1,0,-1));
// There are no offset forms of cube textures, so we do not test them.
psout.Color = 1.0;
psout.Depth = 1.0;
return psout;
}

View File

@ -0,0 +1,39 @@
SamplerState g_sSamp : register(s0);
Texture1DArray g_tTex1df4a : register(t1);
uniform Texture1DArray <float4> g_tTex1df4 : register(t0);
Texture1DArray <int4> g_tTex1di4;
Texture1DArray <uint4> g_tTex1du4;
Texture2DArray <float4> g_tTex2df4;
Texture2DArray <int4> g_tTex2di4;
Texture2DArray <uint4> g_tTex2du4;
TextureCubeArray <float4> g_tTexcdf4;
TextureCubeArray <int4> g_tTexcdi4;
TextureCubeArray <uint4> g_tTexcdu4;
struct PS_OUTPUT
{
float4 Color : SV_Target0;
float Depth : SV_Depth;
};
PS_OUTPUT main()
{
PS_OUTPUT psout;
float4 txval10 = g_tTex1df4 . SampleGrad(g_sSamp, float2(0.1, 0.2), 1.1, 1.2, 1);
int4 txval11 = g_tTex1di4 . SampleGrad(g_sSamp, float2(0.1, 0.2), 1.1, 1.2, 1);
uint4 txval12 = g_tTex1du4 . SampleGrad(g_sSamp, float2(0.1, 0.2), 1.1, 1.2, 1);
float4 txval20 = g_tTex2df4 . SampleGrad(g_sSamp, float3(0.1, 0.2, 0.3), float2(1.1, 1.2), float2(1.1, 1.2), int2(1,0));
int4 txval21 = g_tTex2di4 . SampleGrad(g_sSamp, float3(0.1, 0.2, 0.3), float2(1.1, 1.2), float2(1.1, 1.2), int2(1,0));
uint4 txval22 = g_tTex2du4 . SampleGrad(g_sSamp, float3(0.1, 0.2, 0.3), float2(1.1, 1.2), float2(1.1, 1.2), int2(1,0));
psout.Color = 1.0;
psout.Depth = 1.0;
return psout;
}

View File

@ -526,7 +526,18 @@ enum TOperator {
EOpTextureBias, // HLSL texture bias: will be lowered to EOpTexture
EOpAsDouble, // slightly different from EOpUint64BitsToDouble
EOpMethodSample,
EOpMethodSample, // Texture object methods. These are translated to existing
EOpMethodSampleBias, // AST methods, and exist to represent HLSL semantics until that
EOpMethodSampleCmp, // translation is performed. See HlslParseContext::decomposeSampleMethods().
EOpMethodSampleCmpLevelZero, // ...
EOpMethodSampleGrad, // ...
EOpMethodSampleLevel, // ...
EOpMethodLoad, // ...
EOpMethodGetDimensions, // ...
EOpMethodGetSamplePosition, // ...
EOpMethodGather, // ...
EOpMethodCalculateLevelOfDetail, // ...
EOpMethodCalculateLevelOfDetailUnclamped, // ...
};
class TIntermTraverser;

View File

@ -94,10 +94,19 @@ INSTANTIATE_TEST_CASE_P(
{"hlsl.intrinsics.negative.comp", "ComputeShaderFunction"},
{"hlsl.intrinsics.negative.frag", "PixelShaderFunction"},
{"hlsl.intrinsics.negative.vert", "VertexShaderFunction"},
{"hlsl.sample.basicarraydx10.frag", "main"},
{"hlsl.sample.basicdx10.frag", "main"},
{"hlsl.sample.offsetdx10.frag", "main"},
{"hlsl.sample.offsetarraydx10.frag", "main"},
{"hlsl.sample.array.dx10.frag", "main"},
{"hlsl.sample.basic.dx10.frag", "main"},
{"hlsl.sample.offset.dx10.frag", "main"},
{"hlsl.sample.offsetarray.dx10.frag", "main"},
{"hlsl.samplebias.array.dx10.frag", "main"},
{"hlsl.samplebias.basic.dx10.frag", "main"},
{"hlsl.samplebias.offset.dx10.frag", "main"},
{"hlsl.samplebias.offsetarray.dx10.frag", "main"},
{"hlsl.samplegrad.array.dx10.frag", "main"},
{"hlsl.samplegrad.basic.dx10.frag", "main"},
{"hlsl.samplegrad.basic.dx10.vert", "main"},
{"hlsl.samplegrad.offset.dx10.frag", "main"},
{"hlsl.samplegrad.offsetarray.dx10.frag", "main"},
{"hlsl.intrinsics.vert", "VertexShaderFunction"},
{"hlsl.matType.frag", "PixelShaderFunction"},
{"hlsl.max.frag", "PixelShaderFunction"},

View File

@ -814,9 +814,28 @@ TOperator HlslParseContext::mapAtomicOp(const TSourceLoc& loc, TOperator op, boo
}
//
// Change texture parameters to match AST & SPIR-V semantics
// Create a combined sampler/texture from separate sampler and texture.
//
void HlslParseContext::textureParameters(const TSourceLoc& loc, TIntermTyped*& node, TIntermNode* arguments)
TIntermAggregate* HlslParseContext::handleSamplerTextureCombine(const TSourceLoc& loc, TIntermTyped* argTex, TIntermTyped* argSampler)
{
TIntermAggregate* txcombine = new TIntermAggregate(EOpConstructTextureSampler);
txcombine->getSequence().push_back(argTex);
txcombine->getSequence().push_back(argSampler);
TSampler samplerType = argTex->getType().getSampler();
samplerType.combined = true;
txcombine->setType(TType(samplerType, EvqTemporary));
txcombine->setLoc(loc);
return txcombine;
}
//
// Decompose DX9 and DX10 sample intrinsics & object methods into AST
//
void HlslParseContext::decomposeSampleMethods(const TSourceLoc& loc, TIntermTyped*& node, TIntermNode* arguments)
{
if (!node || !node->getAsOperator())
return;
@ -825,9 +844,10 @@ void HlslParseContext::textureParameters(const TSourceLoc& loc, TIntermTyped*& n
const TIntermAggregate* argAggregate = arguments ? arguments->getAsAggregate() : nullptr;
switch (op) {
// **** DX9 intrinsics: ****
case EOpTexture:
{
// Texture with ddx & ddy is really gradient form
// Texture with ddx & ddy is really gradient form in HLSL
if (argAggregate->getSequence().size() == 4) {
node->getAsAggregate()->setOperator(EOpTextureGrad);
break;
@ -869,6 +889,81 @@ void HlslParseContext::textureParameters(const TSourceLoc& loc, TIntermTyped*& n
break;
}
// **** DX10 methods: ****
case EOpMethodSample: // fall through
case EOpMethodSampleBias: // ...
{
TIntermTyped* argTex = argAggregate->getSequence()[0]->getAsTyped();
TIntermTyped* argSamp = argAggregate->getSequence()[1]->getAsTyped();
TIntermTyped* argCoord = argAggregate->getSequence()[2]->getAsTyped();
TIntermTyped* argBias = nullptr;
TIntermTyped* argOffset = nullptr;
int nextArg = 3;
if (op == EOpMethodSampleBias) // SampleBias has a bias arg
argBias = argAggregate->getSequence()[nextArg++]->getAsTyped();
TOperator textureOp = EOpTexture;
if (argAggregate->getSequence().size() == (nextArg+1)) { // last parameter is offset form
textureOp = EOpTextureOffset;
argOffset = argAggregate->getSequence()[nextArg++]->getAsTyped();
}
TIntermAggregate* txcombine = handleSamplerTextureCombine(loc, argTex, argSamp);
TIntermAggregate* txsample = new TIntermAggregate(textureOp);
txsample->getSequence().push_back(txcombine);
txsample->getSequence().push_back(argCoord);
if (argBias != nullptr)
txsample->getSequence().push_back(argBias);
if (argOffset != nullptr)
txsample->getSequence().push_back(argOffset);
txsample->setType(node->getType());
txsample->setLoc(loc);
node = txsample;
break;
}
case EOpMethodSampleGrad: // ...
{
TIntermTyped* argTex = argAggregate->getSequence()[0]->getAsTyped();
TIntermTyped* argSamp = argAggregate->getSequence()[1]->getAsTyped();
TIntermTyped* argCoord = argAggregate->getSequence()[2]->getAsTyped();
TIntermTyped* argDDX = argAggregate->getSequence()[3]->getAsTyped();
TIntermTyped* argDDY = argAggregate->getSequence()[4]->getAsTyped();
TIntermTyped* argOffset = nullptr;
TOperator textureOp = EOpTextureGrad;
if (argAggregate->getSequence().size() == 6) { // last parameter is offset form
textureOp = EOpTextureGradOffset;
argOffset = argAggregate->getSequence()[5]->getAsTyped();
}
TIntermAggregate* txcombine = handleSamplerTextureCombine(loc, argTex, argSamp);
TIntermAggregate* txsample = new TIntermAggregate(textureOp);
txsample->getSequence().push_back(txcombine);
txsample->getSequence().push_back(argCoord);
txsample->getSequence().push_back(argDDX);
txsample->getSequence().push_back(argDDY);
if (argOffset != nullptr)
txsample->getSequence().push_back(argOffset);
txsample->setType(node->getType());
txsample->setLoc(loc);
node = txsample;
break;
}
default:
break; // most pass through unchanged
}
@ -1222,59 +1317,6 @@ void HlslParseContext::decomposeIntrinsic(const TSourceLoc& loc, TIntermTyped*&
}
}
//
// Decompose sample methods into AST
//
void HlslParseContext::decomposeSampleMethods(const TSourceLoc& loc, TIntermTyped*& node, TIntermNode* arguments)
{
if (!node || !node->getAsOperator())
return;
const TIntermAggregate* argAggregate = arguments ? arguments->getAsAggregate() : nullptr;
const TOperator op = node->getAsOperator()->getOp();
switch (op) {
case EOpMethodSample:
{
TIntermTyped* argTex = argAggregate->getSequence()[0]->getAsTyped();
TIntermTyped* argSamp = argAggregate->getSequence()[1]->getAsTyped();
TIntermTyped* argCoord = argAggregate->getSequence()[2]->getAsTyped();
TIntermTyped* argOffset = nullptr;
TOperator textureOp = EOpTexture;
if (argAggregate->getSequence().size() == 4) { // 4th parameter is offset form
textureOp = EOpTextureOffset;
argOffset = argAggregate->getSequence()[3]->getAsTyped();
}
TIntermAggregate* txcombine = new TIntermAggregate(EOpConstructTextureSampler);
txcombine->getSequence().push_back(argTex);
txcombine->getSequence().push_back(argSamp);
TSampler samplerType = argTex->getType().getSampler();
samplerType.combined = true;
txcombine->setType(TType(samplerType, EvqTemporary));
txcombine->setLoc(loc);
TIntermAggregate* txsample = new TIntermAggregate(textureOp);
txsample->getSequence().push_back(txcombine);
txsample->getSequence().push_back(argCoord);
if (argOffset != nullptr)
txsample->getSequence().push_back(argOffset);
txsample->setType(node->getType());
txsample->setLoc(loc);
node = txsample;
break;
}
default:
break; // most pass through unchanged
}
}
//
// Handle seeing function call syntax in the grammar, which could be any of
// - .length() method
@ -1380,7 +1422,6 @@ TIntermTyped* HlslParseContext::handleFunctionCall(const TSourceLoc& loc, TFunct
decomposeIntrinsic(loc, result, arguments); // HLSL->AST intrinsic decompositions
decomposeSampleMethods(loc, result, arguments); // HLSL->AST sample method decompositions
textureParameters(loc, result, arguments); // HLSL->AST texture intrinsics
}
}

View File

@ -88,7 +88,6 @@ public:
TIntermTyped* handleFunctionCall(const TSourceLoc&, TFunction*, TIntermNode*);
void decomposeIntrinsic(const TSourceLoc&, TIntermTyped*& node, TIntermNode* arguments);
void decomposeSampleMethods(const TSourceLoc&, TIntermTyped*& node, TIntermNode* arguments);
void textureParameters(const TSourceLoc&, TIntermTyped*& node, TIntermNode* arguments);
TIntermTyped* handleLengthMethod(const TSourceLoc&, TFunction*, TIntermNode*);
void addInputArgumentConversions(const TFunction&, TIntermNode*&) const;
TIntermTyped* addOutputArgumentConversions(const TFunction&, TIntermAggregate&) const;
@ -96,6 +95,8 @@ public:
TFunction* handleConstructorCall(const TSourceLoc&, const TType&);
void handleSemantic(TType& type, const TString& semantic);
TIntermAggregate* handleSamplerTextureCombine(const TSourceLoc& loc, TIntermTyped* argTex, TIntermTyped* argSampler);
bool parseVectorFields(const TSourceLoc&, const TString&, int vecSize, TVectorFields&);
void assignError(const TSourceLoc&, const char* op, TString left, TString right);
void unaryOpError(const TSourceLoc&, const char* op, TString operand);

View File

@ -67,23 +67,38 @@ const char* BaseTypeName(const char argOrder, const char* scalarName, const char
}
}
bool IsTextureType(const char argOrder) { return argOrder == '%' || argOrder == '@'; }
bool IsTextureArrayed(const char argOrder) { return argOrder == '@'; }
bool IsTextureType(const char argOrder) { return argOrder == '%' || argOrder == '@'; }
bool IsTextureArrayed(const char argOrder) { return argOrder == '@'; }
bool IsTextureMS(const char argOrder) { return false; } // TODO: ...
// Reject certain combinations that are illegal sample methods. For example,
// 3D arrays.
bool IsIllegalSample(const glslang::TString& name, const char* argOrder, int dim0)
{
const bool isArrayed = IsTextureArrayed(*argOrder);
const bool isMS = IsTextureMS(*argOrder);
if (isArrayed && dim0 == 3) // there are no 3D arrayed textures.
// there are no 3D arrayed textures, or 3D SampleCmp
if (dim0 == 3 && (isArrayed || name == "SampleCmp"))
return true;
const int numArgs = int(std::count(argOrder, argOrder + strlen(argOrder), ',')) + 1;
// Reject invalid offset arrayed forms.
// Reject invalid offset arrayed forms with cubemaps
if (isArrayed && dim0 == 4) {
if (name == "Sample" && numArgs == 4)
if ((name == "Sample" && numArgs >= 4) ||
(name == "SampleBias" && numArgs >= 5) ||
(name == "SampleCmp" && numArgs >= 5) ||
(name == "SampleCmpLevelZero" && numArgs >= 4) ||
(name == "SampleGrad" && numArgs >= 6) ||
(name == "SampleLevel" && numArgs >= 5))
return true;
}
// Reject invalid Loads
if (name == "Load") {
if ((numArgs >= 3 && !isMS) || // Load with sampleindex requires multisample
(dim0 == 4)) // Load does not support any cubemaps, arrayed or not.
return true;
}
@ -103,6 +118,7 @@ glslang::TString& AppendTypeName(glslang::TString& s, const char* argOrder, cons
const bool isMatMul = (argOrder[0] == '#');
const bool isTexture = IsTextureType(argOrder[0]);
const bool isArrayed = IsTextureArrayed(argOrder[0]);
const bool isMS = IsTextureMS(argOrder[0]);
char order = *argOrder;
char type = *argType;
@ -187,14 +203,14 @@ glslang::TString& AppendTypeName(glslang::TString& s, const char* argOrder, cons
switch (order) {
case '-': break; // no dimensions for voids
case 'S': break; // no dimensions on scalars
case 'V': s += ('0' + (char)dim0); break;
case 'V': s += ('0' + char(dim0)); break;
case 'M':
{
if (!UseHlslTypes) // GLSL has column first for mat types
std::swap(dim0, dim1);
s += ('0' + (char)dim0);
s += ('0' + char(dim0));
s += 'x';
s += ('0' + (char)dim1);
s += ('0' + char(dim1));
break;
}
}
@ -517,10 +533,43 @@ void TBuiltInParseablesHlsl::initialize(int /*version*/, EProfile /*profile*/, c
// Texture object methods. Return type can be overridden by shader declaration.
// !O = no offset, O = offset, !A = no array, A = array
{ "Sample", /*!O !A*/ "V4", nullptr, "%V,S,V", "FIU,S,F", EShLangFragmentMask },
{ "Sample", /* O !A*/ "V4", nullptr, "%V,S,V,V", "FIU,S,F,I", EShLangFragmentMask },
{ "Sample", /*!O A*/ "V4", nullptr, "@V,S,V", "FIU,S,F", EShLangFragmentMask },
{ "Sample", /* O A*/ "V4", nullptr, "@V,S,V,V", "FIU,S,F,I", EShLangFragmentMask },
{ "Sample", /*!O !A*/ "V4", nullptr, "%V,S,V", "FIU,S,F", EShLangFragmentMask },
{ "Sample", /* O !A*/ "V4", nullptr, "%V,S,V,V", "FIU,S,F,I", EShLangFragmentMask },
{ "Sample", /*!O A*/ "V4", nullptr, "@V,S,V", "FIU,S,F", EShLangFragmentMask },
{ "Sample", /* O A*/ "V4", nullptr, "@V,S,V,V", "FIU,S,F,I", EShLangFragmentMask },
{ "SampleBias", /*!O !A*/ "V4", nullptr, "%V,S,V,S", "FIU,S,F,F", EShLangFragmentMask },
{ "SampleBias", /* O !A*/ "V4", nullptr, "%V,S,V,S,V", "FIU,S,F,F,I", EShLangFragmentMask },
{ "SampleBias", /*!O A*/ "V4", nullptr, "@V,S,V,S", "FIU,S,F,F", EShLangFragmentMask },
{ "SampleBias", /* O A*/ "V4", nullptr, "@V,S,V,S,V", "FIU,S,F,F,I", EShLangFragmentMask },
// { "SampleCmp", /*!O !A*/ "V4", nullptr, "%V,S,V,S", "FIU,S,F,F", EShLangFragmentMask },
// { "SampleCmp", /* O !A*/ "V4", nullptr, "%V,S,V,S,V", "FIU,S,F,F,I", EShLangFragmentMask },
// { "SampleCmp", /*!O A*/ "V4", nullptr, "@V,S,V,S", "FIU,S,F,F", EShLangFragmentMask },
// { "SampleCmp", /* O A*/ "V4", nullptr, "@V,S,V,S,V", "FIU,S,F,F,I", EShLangFragmentMask },
// { "SampleCmpLevelZero", /*!O !A*/ "V4", nullptr, "%V,S,V", "FIU,S,F", EShLangFragmentMask },
// { "SampleCmpLevelZero", /* O !A*/ "V4", nullptr, "%V,S,V,V", "FIU,S,F,I", EShLangFragmentMask },
// { "SampleCmpLevelZero", /*!O A*/ "V4", nullptr, "@V,S,V", "FIU,S,F", EShLangFragmentMask },
// { "SampleCmpLevelZero", /* O A*/ "V4", nullptr, "@V,S,V,V", "FIU,S,F,I", EShLangFragmentMask },
{ "SampleGrad", /*!O !A*/ "V4", nullptr, "%V,S,V,V,V", "FIU,S,F,F,F", EShLangAll },
{ "SampleGrad", /* O !A*/ "V4", nullptr, "%V,S,V,V,V,V", "FIU,S,F,F,F,I", EShLangAll },
{ "SampleGrad", /*!O A*/ "V4", nullptr, "@V,S,V,V,V", "FIU,S,F,F,F", EShLangAll },
{ "SampleGrad", /* O A*/ "V4", nullptr, "@V,S,V,V,V,V", "FIU,S,F,F,F,I", EShLangAll },
// { "SampleLevel", /*!O !A*/ "V4", nullptr, "%V,S,V,S", "FIU,S,F,F", EShLangFragmentMask },
// { "SampleLevel", /* O !A*/ "V4", nullptr, "%V,S,V,S,V", "FIU,S,F,F,I", EShLangFragmentMask },
// { "SampleLevel", /*!O A*/ "V4", nullptr, "@V,S,V,S", "FIU,S,F,F", EShLangFragmentMask },
// { "SampleLevel", /* O A*/ "V4", nullptr, "@V,S,V,S,V", "FIU,S,F,F,I", EShLangFragmentMask },
// TODO: ...
// { "Load", "V4", nullptr, "%V,V", "FIU,I", EShLangFragmentMask },
// { "Load", /* +sampleidex*/ "V4", nullptr, "%V,V,S", "FIU,I,I", EShLangFragmentMask },
// { "Load", /* +samplindex, offset*/ "V4", nullptr, "%V,V,S,V", "FIU,I,I,I", EShLangFragmentMask },
// { "Load", "V4", nullptr, "@V,V", "FIU,I", EShLangFragmentMask },
// { "Load", /* +sampleidex*/ "V4", nullptr, "@V,V,S", "FIU,I,I", EShLangFragmentMask },
// { "Load", /* +samplindex, offset*/ "V4", nullptr, "@V,V,S,V", "FIU,I,I,I", EShLangFragmentMask },
// Mark end of list, since we want to avoid a range-based for, as some compilers don't handle it yet.
{ nullptr, nullptr, nullptr, nullptr, nullptr, 0 },
@ -565,7 +614,7 @@ void TBuiltInParseablesHlsl::initialize(int /*version*/, EProfile /*profile*/, c
continue;
// Reject some forms of sample methods that don't exist.
if (isTexture && IsIllegalSample(s, argOrder, dim0))
if (isTexture && IsIllegalSample(intrinsic.name, argOrder, dim0))
continue;
AppendTypeName(s, retOrder, retType, dim0, dim1); // add return type
@ -796,6 +845,12 @@ void TBuiltInParseablesHlsl::identifyBuiltIns(int /*version*/, EProfile /*profil
// Texture methods
symbolTable.relateToOperator("Sample", EOpMethodSample);
symbolTable.relateToOperator("SampleBias", EOpMethodSampleBias);
// symbolTable.relateToOperator("SampleCmp", EOpMethodSampleCmp);
// symbolTable.relateToOperator("SampleCmpLevelZero", EOpMethodSampleCmpLevelZero);
symbolTable.relateToOperator("SampleGrad", EOpMethodSampleGrad);
// symbolTable.relateToOperator("SampleLevel", EOpMethodSampleLevel);
// symbolTable.relateToOperator("Load", EOpMethodLoad);
}
//