Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
glslang
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Chen Yisong
glslang
Commits
6817f81e
Commit
6817f81e
authored
May 01, 2017
by
steve-lunarg
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
HLSL: Implement missing GatherCmp
parent
22be5788
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
270 additions
and
127 deletions
+270
-127
hlsl.gathercmpRGBA.offset.dx10.frag.out
Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out
+242
-119
hlsl.gathercmpRGBA.array.dx10.frag
Test/hlsl.gathercmpRGBA.array.dx10.frag
+4
-0
hlsl.gathercmpRGBA.basic.dx10.frag
Test/hlsl.gathercmpRGBA.basic.dx10.frag
+8
-0
hlsl.gathercmpRGBA.offset.dx10.frag
Test/hlsl.gathercmpRGBA.offset.dx10.frag
+3
-7
hlsl.gathercmpRGBA.offsetarray.dx10.frag
Test/hlsl.gathercmpRGBA.offsetarray.dx10.frag
+4
-0
hlslParseables.cpp
hlsl/hlslParseables.cpp
+9
-1
No files found.
Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out
View file @
6817f81e
...
@@ -119,25 +119,73 @@ gl_FragCoord origin is upper left
...
@@ -119,25 +119,73 @@ gl_FragCoord origin is upper left
0:51 1 (const int)
0:51 1 (const int)
0:51 1 (const int)
0:51 1 (const int)
0:51 1 (const int)
0:51 1 (const int)
0:114 move second child to first child ( temp 4-component vector of float)
0:53 Sequence
0:114 Color: direct index for structure ( temp 4-component vector of float)
0:53 move second child to first child ( temp 4-component vector of float)
0:114 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth})
0:53 'txval401' ( temp 4-component vector of float)
0:114 Constant:
0:53 textureGatherOffset ( temp 4-component vector of float)
0:114 0 (const int)
0:53 Construct combined texture-sampler ( temp sampler2DShadow)
0:114 Constant:
0:53 'g_tTex2df4' ( uniform texture2D)
0:114 1.000000
0:53 'g_sSampCmp' (layout( binding=0) uniform sampler)
0:114 1.000000
0:53 c2: direct index for structure ( uniform 2-component vector of float)
0:114 1.000000
0:53 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4})
0:114 1.000000
0:53 Constant:
0:115 move second child to first child ( temp float)
0:53 1 (const uint)
0:115 Depth: direct index for structure ( temp float)
0:53 Constant:
0:115 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth})
0:53 0.750000
0:115 Constant:
0:? Constant:
0:115 1 (const int)
0:? 1 (const int)
0:115 Constant:
0:? 0 (const int)
0:115 1.000000
0:54 Sequence
0:117 Branch: Return with expression
0:54 move second child to first child ( temp 4-component vector of int)
0:117 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth})
0:54 'txval411' ( temp 4-component vector of int)
0:54 textureGatherOffset ( temp 4-component vector of int)
0:54 Construct combined texture-sampler ( temp isampler2DShadow)
0:54 'g_tTex2di4' ( uniform itexture2D)
0:54 'g_sSampCmp' (layout( binding=0) uniform sampler)
0:54 c2: direct index for structure ( uniform 2-component vector of float)
0:54 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4})
0:54 Constant:
0:54 1 (const uint)
0:54 Constant:
0:54 0.750000
0:? Constant:
0:? 1 (const int)
0:? -1 (const int)
0:55 Sequence
0:55 move second child to first child ( temp 4-component vector of uint)
0:55 'txval421' ( temp 4-component vector of uint)
0:55 textureGatherOffset ( temp 4-component vector of uint)
0:55 Construct combined texture-sampler ( temp usampler2DShadow)
0:55 'g_tTex2du4' ( uniform utexture2D)
0:55 'g_sSampCmp' (layout( binding=0) uniform sampler)
0:55 c2: direct index for structure ( uniform 2-component vector of float)
0:55 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4})
0:55 Constant:
0:55 1 (const uint)
0:55 Constant:
0:55 0.750000
0:? Constant:
0:? 1 (const int)
0:? 1 (const int)
0:110 move second child to first child ( temp 4-component vector of float)
0:110 Color: direct index for structure ( temp 4-component vector of float)
0:110 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth})
0:110 Constant:
0:110 0 (const int)
0:110 Constant:
0:110 1.000000
0:110 1.000000
0:110 1.000000
0:110 1.000000
0:111 move second child to first child ( temp float)
0:111 Depth: direct index for structure ( temp float)
0:111 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth})
0:111 Constant:
0:111 1 (const int)
0:111 Constant:
0:111 1.000000
0:113 Branch: Return with expression
0:113 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth})
0:38 Function Definition: main( ( temp void)
0:38 Function Definition: main( ( temp void)
0:38 Function Parameters:
0:38 Function Parameters:
0:? Sequence
0:? Sequence
...
@@ -300,25 +348,73 @@ gl_FragCoord origin is upper left
...
@@ -300,25 +348,73 @@ gl_FragCoord origin is upper left
0:51 1 (const int)
0:51 1 (const int)
0:51 1 (const int)
0:51 1 (const int)
0:51 1 (const int)
0:51 1 (const int)
0:114 move second child to first child ( temp 4-component vector of float)
0:53 Sequence
0:114 Color: direct index for structure ( temp 4-component vector of float)
0:53 move second child to first child ( temp 4-component vector of float)
0:114 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth})
0:53 'txval401' ( temp 4-component vector of float)
0:114 Constant:
0:53 textureGatherOffset ( temp 4-component vector of float)
0:114 0 (const int)
0:53 Construct combined texture-sampler ( temp sampler2DShadow)
0:114 Constant:
0:53 'g_tTex2df4' ( uniform texture2D)
0:114 1.000000
0:53 'g_sSampCmp' (layout( binding=0) uniform sampler)
0:114 1.000000
0:53 c2: direct index for structure ( uniform 2-component vector of float)
0:114 1.000000
0:53 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4})
0:114 1.000000
0:53 Constant:
0:115 move second child to first child ( temp float)
0:53 1 (const uint)
0:115 Depth: direct index for structure ( temp float)
0:53 Constant:
0:115 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth})
0:53 0.750000
0:115 Constant:
0:? Constant:
0:115 1 (const int)
0:? 1 (const int)
0:115 Constant:
0:? 0 (const int)
0:115 1.000000
0:54 Sequence
0:117 Branch: Return with expression
0:54 move second child to first child ( temp 4-component vector of int)
0:117 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth})
0:54 'txval411' ( temp 4-component vector of int)
0:54 textureGatherOffset ( temp 4-component vector of int)
0:54 Construct combined texture-sampler ( temp isampler2DShadow)
0:54 'g_tTex2di4' ( uniform itexture2D)
0:54 'g_sSampCmp' (layout( binding=0) uniform sampler)
0:54 c2: direct index for structure ( uniform 2-component vector of float)
0:54 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4})
0:54 Constant:
0:54 1 (const uint)
0:54 Constant:
0:54 0.750000
0:? Constant:
0:? 1 (const int)
0:? -1 (const int)
0:55 Sequence
0:55 move second child to first child ( temp 4-component vector of uint)
0:55 'txval421' ( temp 4-component vector of uint)
0:55 textureGatherOffset ( temp 4-component vector of uint)
0:55 Construct combined texture-sampler ( temp usampler2DShadow)
0:55 'g_tTex2du4' ( uniform utexture2D)
0:55 'g_sSampCmp' (layout( binding=0) uniform sampler)
0:55 c2: direct index for structure ( uniform 2-component vector of float)
0:55 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4})
0:55 Constant:
0:55 1 (const uint)
0:55 Constant:
0:55 0.750000
0:? Constant:
0:? 1 (const int)
0:? 1 (const int)
0:110 move second child to first child ( temp 4-component vector of float)
0:110 Color: direct index for structure ( temp 4-component vector of float)
0:110 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth})
0:110 Constant:
0:110 0 (const int)
0:110 Constant:
0:110 1.000000
0:110 1.000000
0:110 1.000000
0:110 1.000000
0:111 move second child to first child ( temp float)
0:111 Depth: direct index for structure ( temp float)
0:111 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth})
0:111 Constant:
0:111 1 (const int)
0:111 Constant:
0:111 1.000000
0:113 Branch: Return with expression
0:113 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth})
0:38 Function Definition: main( ( temp void)
0:38 Function Definition: main( ( temp void)
0:38 Function Parameters:
0:38 Function Parameters:
0:? Sequence
0:? Sequence
...
@@ -359,13 +455,13 @@ gl_FragCoord origin is upper left
...
@@ -359,13 +455,13 @@ gl_FragCoord origin is upper left
// Module Version 10000
// Module Version 10000
// Generated by (magic number): 80001
// Generated by (magic number): 80001
// Id's are bound by 1
46
// Id's are bound by 1
67
Capability Shader
Capability Shader
Capability Sampled1D
Capability Sampled1D
1: ExtInstImport "GLSL.std.450"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 1
11 115
EntryPoint Fragment 4 "main" 1
32 136
ExecutionMode 4 OriginUpperLeft
ExecutionMode 4 OriginUpperLeft
Source HLSL 500
Source HLSL 500
Name 4 "main"
Name 4 "main"
...
@@ -389,20 +485,23 @@ gl_FragCoord origin is upper left
...
@@ -389,20 +485,23 @@ gl_FragCoord origin is upper left
Name 72 "txval004"
Name 72 "txval004"
Name 82 "txval014"
Name 82 "txval014"
Name 90 "txval024"
Name 90 "txval024"
Name 99 "psout"
Name 98 "txval401"
Name 108 "flattenTemp"
Name 105 "txval411"
Name 111 "Color"
Name 112 "txval421"
Name 115 "Depth"
Name 120 "psout"
Name 120 "g_tTex1df4a"
Name 129 "flattenTemp"
Name 121 "g_tTex1df4"
Name 132 "Color"
Name 124 "g_tTex1di4"
Name 136 "Depth"
Name 127 "g_tTex1du4"
Name 141 "g_tTex1df4a"
Name 130 "g_tTex3df4"
Name 142 "g_tTex1df4"
Name 133 "g_tTex3di4"
Name 145 "g_tTex1di4"
Name 136 "g_tTex3du4"
Name 148 "g_tTex1du4"
Name 139 "g_tTexcdf4"
Name 151 "g_tTex3df4"
Name 142 "g_tTexcdi4"
Name 154 "g_tTex3di4"
Name 145 "g_tTexcdu4"
Name 157 "g_tTex3du4"
Name 160 "g_tTexcdf4"
Name 163 "g_tTexcdi4"
Name 166 "g_tTexcdu4"
Decorate 16(g_tTex2df4) DescriptorSet 0
Decorate 16(g_tTex2df4) DescriptorSet 0
Decorate 20(g_sSampCmp) DescriptorSet 0
Decorate 20(g_sSampCmp) DescriptorSet 0
Decorate 20(g_sSampCmp) Binding 0
Decorate 20(g_sSampCmp) Binding 0
...
@@ -414,20 +513,20 @@ gl_FragCoord origin is upper left
...
@@ -414,20 +513,20 @@ gl_FragCoord origin is upper left
Decorate 29 DescriptorSet 0
Decorate 29 DescriptorSet 0
Decorate 45(g_tTex2di4) DescriptorSet 0
Decorate 45(g_tTex2di4) DescriptorSet 0
Decorate 62(g_tTex2du4) DescriptorSet 0
Decorate 62(g_tTex2du4) DescriptorSet 0
Decorate 1
11
(Color) Location 0
Decorate 1
32
(Color) Location 0
Decorate 1
15
(Depth) BuiltIn FragDepth
Decorate 1
36
(Depth) BuiltIn FragDepth
Decorate 1
20
(g_tTex1df4a) DescriptorSet 0
Decorate 1
41
(g_tTex1df4a) DescriptorSet 0
Decorate 1
20
(g_tTex1df4a) Binding 1
Decorate 1
41
(g_tTex1df4a) Binding 1
Decorate 1
21
(g_tTex1df4) DescriptorSet 0
Decorate 1
42
(g_tTex1df4) DescriptorSet 0
Decorate 1
21
(g_tTex1df4) Binding 0
Decorate 1
42
(g_tTex1df4) Binding 0
Decorate 1
24
(g_tTex1di4) DescriptorSet 0
Decorate 1
45
(g_tTex1di4) DescriptorSet 0
Decorate 1
27
(g_tTex1du4) DescriptorSet 0
Decorate 1
48
(g_tTex1du4) DescriptorSet 0
Decorate 1
30
(g_tTex3df4) DescriptorSet 0
Decorate 1
51
(g_tTex3df4) DescriptorSet 0
Decorate 1
33
(g_tTex3di4) DescriptorSet 0
Decorate 1
54
(g_tTex3di4) DescriptorSet 0
Decorate 1
36
(g_tTex3du4) DescriptorSet 0
Decorate 1
57
(g_tTex3du4) DescriptorSet 0
Decorate 1
39
(g_tTexcdf4) DescriptorSet 0
Decorate 1
60
(g_tTexcdf4) DescriptorSet 0
Decorate 1
42
(g_tTexcdi4) DescriptorSet 0
Decorate 1
63
(g_tTexcdi4) DescriptorSet 0
Decorate 1
45
(g_tTexcdu4) DescriptorSet 0
Decorate 1
66
(g_tTexcdu4) DescriptorSet 0
2: TypeVoid
2: TypeVoid
3: TypeFunction 2
3: TypeFunction 2
6: TypeFloat 32
6: TypeFloat 32
...
@@ -478,53 +577,53 @@ gl_FragCoord origin is upper left
...
@@ -478,53 +577,53 @@ gl_FragCoord origin is upper left
80: 79 ConstantComposite 38 38 38 38
80: 79 ConstantComposite 38 38 38 38
88: 79 ConstantComposite 54 54 54 54
88: 79 ConstantComposite 54 54 54 54
96: 79 ConstantComposite 70 70 70 70
96: 79 ConstantComposite 70 70 70 70
98: TypePointer Function 8(PS_OUTPUT)
119: TypePointer Function 8(PS_OUTPUT)
100: 6(float) Constant 1065353216
121: 6(float) Constant 1065353216
101: 7(fvec4) ConstantComposite 100 100 100 100
122: 7(fvec4) ConstantComposite 121 121 121 121
103: TypePointer Function 6(float)
124: TypePointer Function 6(float)
110: TypePointer Output 7(fvec4)
131: TypePointer Output 7(fvec4)
111(Color): 110(ptr) Variable Output
132(Color): 131(ptr) Variable Output
114: TypePointer Output 6(float)
135: TypePointer Output 6(float)
115(Depth): 114(ptr) Variable Output
136(Depth): 135(ptr) Variable Output
118: TypeImage 6(float) 1D sampled format:Unknown
139: TypeImage 6(float) 1D sampled format:Unknown
119: TypePointer UniformConstant 118
140: TypePointer UniformConstant 139
120(g_tTex1df4a): 119(ptr) Variable UniformConstant
141(g_tTex1df4a): 140(ptr) Variable UniformConstant
121(g_tTex1df4): 119(ptr) Variable UniformConstant
142(g_tTex1df4): 140(ptr) Variable UniformConstant
122: TypeImage 30(int) 1D sampled format:Unknown
143: TypeImage 30(int) 1D sampled format:Unknown
123: TypePointer UniformConstant 122
124(g_tTex1di4): 123(ptr) Variable UniformConstant
125: TypeImage 56(int) 1D sampled format:Unknown
126: TypePointer UniformConstant 125
127(g_tTex1du4): 126(ptr) Variable UniformConstant
128: TypeImage 6(float) 3D sampled format:Unknown
129: TypePointer UniformConstant 128
130(g_tTex3df4): 129(ptr) Variable UniformConstant
131: TypeImage 30(int) 3D sampled format:Unknown
132: TypePointer UniformConstant 131
133(g_tTex3di4): 132(ptr) Variable UniformConstant
134: TypeImage 56(int) 3D sampled format:Unknown
135: TypePointer UniformConstant 134
136(g_tTex3du4): 135(ptr) Variable UniformConstant
137: TypeImage 6(float) Cube sampled format:Unknown
138: TypePointer UniformConstant 137
139(g_tTexcdf4): 138(ptr) Variable UniformConstant
140: TypeImage 30(int) Cube sampled format:Unknown
141: TypePointer UniformConstant 140
142(g_tTexcdi4): 141(ptr) Variable UniformConstant
143: TypeImage 56(int) Cube sampled format:Unknown
144: TypePointer UniformConstant 143
144: TypePointer UniformConstant 143
145(g_tTexcdu4): 144(ptr) Variable UniformConstant
145(g_tTex1di4): 144(ptr) Variable UniformConstant
146: TypeImage 56(int) 1D sampled format:Unknown
147: TypePointer UniformConstant 146
148(g_tTex1du4): 147(ptr) Variable UniformConstant
149: TypeImage 6(float) 3D sampled format:Unknown
150: TypePointer UniformConstant 149
151(g_tTex3df4): 150(ptr) Variable UniformConstant
152: TypeImage 30(int) 3D sampled format:Unknown
153: TypePointer UniformConstant 152
154(g_tTex3di4): 153(ptr) Variable UniformConstant
155: TypeImage 56(int) 3D sampled format:Unknown
156: TypePointer UniformConstant 155
157(g_tTex3du4): 156(ptr) Variable UniformConstant
158: TypeImage 6(float) Cube sampled format:Unknown
159: TypePointer UniformConstant 158
160(g_tTexcdf4): 159(ptr) Variable UniformConstant
161: TypeImage 30(int) Cube sampled format:Unknown
162: TypePointer UniformConstant 161
163(g_tTexcdi4): 162(ptr) Variable UniformConstant
164: TypeImage 56(int) Cube sampled format:Unknown
165: TypePointer UniformConstant 164
166(g_tTexcdu4): 165(ptr) Variable UniformConstant
4(main): 2 Function None 3
4(main): 2 Function None 3
5: Label
5: Label
1
08(flattenTemp): 98
(ptr) Variable Function
1
29(flattenTemp): 119
(ptr) Variable Function
1
09
:8(PS_OUTPUT) FunctionCall 10(@main()
1
30
:8(PS_OUTPUT) FunctionCall 10(@main()
Store 1
08(flattenTemp) 109
Store 1
29(flattenTemp) 130
1
12: 12(ptr) AccessChain 108
(flattenTemp) 37
1
33: 12(ptr) AccessChain 129
(flattenTemp) 37
1
13: 7(fvec4) Load 112
1
34: 7(fvec4) Load 133
Store 1
11(Color) 113
Store 1
32(Color) 134
1
16: 103(ptr) AccessChain 108
(flattenTemp) 31
1
37: 124(ptr) AccessChain 129
(flattenTemp) 31
1
17: 6(float) Load 116
1
38: 6(float) Load 137
Store 1
15(Depth) 117
Store 1
36(Depth) 138
Return
Return
FunctionEnd
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
10(@main():8(PS_OUTPUT) Function None 9
...
@@ -535,7 +634,10 @@ gl_FragCoord origin is upper left
...
@@ -535,7 +634,10 @@ gl_FragCoord origin is upper left
72(txval004): 12(ptr) Variable Function
72(txval004): 12(ptr) Variable Function
82(txval014): 41(ptr) Variable Function
82(txval014): 41(ptr) Variable Function
90(txval024): 58(ptr) Variable Function
90(txval024): 58(ptr) Variable Function
99(psout): 98(ptr) Variable Function
98(txval401): 12(ptr) Variable Function
105(txval411): 41(ptr) Variable Function
112(txval421): 58(ptr) Variable Function
120(psout): 119(ptr) Variable Function
17: 14 Load 16(g_tTex2df4)
17: 14 Load 16(g_tTex2df4)
21: 18 Load 20(g_sSampCmp)
21: 18 Load 20(g_sSampCmp)
24: 23 SampledImage 17 21
24: 23 SampledImage 17 21
...
@@ -578,10 +680,31 @@ gl_FragCoord origin is upper left
...
@@ -578,10 +680,31 @@ gl_FragCoord origin is upper left
95: 25(fvec2) Load 94
95: 25(fvec2) Load 94
97: 57(ivec4) ImageDrefGather 93 95 35 ConstOffsets 96
97: 57(ivec4) ImageDrefGather 93 95 35 ConstOffsets 96
Store 90(txval024) 97
Store 90(txval024) 97
102: 12(ptr) AccessChain 99(psout) 37
99: 14 Load 16(g_tTex2df4)
Store 102 101
100: 18 Load 20(g_sSampCmp)
104: 103(ptr) AccessChain 99(psout) 31
101: 23 SampledImage 99 100
Store 104 100
102: 32(ptr) AccessChain 29 31
105:8(PS_OUTPUT) Load 99(psout)
103: 25(fvec2) Load 102
ReturnValue 105
104: 7(fvec4) ImageDrefGather 101 103 35 ConstOffset 38
Store 98(txval401) 104
106: 43 Load 45(g_tTex2di4)
107: 18 Load 20(g_sSampCmp)
108: 49 SampledImage 106 107
109: 32(ptr) AccessChain 29 31
110: 25(fvec2) Load 109
111: 40(ivec4) ImageDrefGather 108 110 35 ConstOffset 54
Store 105(txval411) 111
113: 60 Load 62(g_tTex2du4)
114: 18 Load 20(g_sSampCmp)
115: 66 SampledImage 113 114
116: 32(ptr) AccessChain 29 31
117: 25(fvec2) Load 116
118: 57(ivec4) ImageDrefGather 115 117 35 ConstOffset 70
Store 112(txval421) 118
123: 12(ptr) AccessChain 120(psout) 37
Store 123 122
125: 124(ptr) AccessChain 120(psout) 31
Store 125 121
126:8(PS_OUTPUT) Load 120(psout)
ReturnValue 126
FunctionEnd
FunctionEnd
Test/hlsl.gathercmpRGBA.array.dx10.frag
View file @
6817f81e
...
@@ -29,6 +29,10 @@ PS_OUTPUT main()
...
@@ -29,6 +29,10 @@ PS_OUTPUT main()
// no 1D gathers
// no 1D gathers
float4
txval80
=
g_tTex2df4a
.
GatherCmp
(
g_sSampCmp
,
c3
,
.
75
);
int4
txval81
=
g_tTex2di4a
.
GatherCmp
(
g_sSampCmp
,
c3
,
.
75
);
uint4
txval82
=
g_tTex2du4a
.
GatherCmp
(
g_sSampCmp
,
c3
,
.
75
);
float4
txval00
=
g_tTex2df4a
.
GatherCmpRed
(
g_sSampCmp
,
c3
,
.
75
);
float4
txval00
=
g_tTex2df4a
.
GatherCmpRed
(
g_sSampCmp
,
c3
,
.
75
);
int4
txval01
=
g_tTex2di4a
.
GatherCmpRed
(
g_sSampCmp
,
c3
,
.
75
);
int4
txval01
=
g_tTex2di4a
.
GatherCmpRed
(
g_sSampCmp
,
c3
,
.
75
);
uint4
txval02
=
g_tTex2du4a
.
GatherCmpRed
(
g_sSampCmp
,
c3
,
.
75
);
uint4
txval02
=
g_tTex2du4a
.
GatherCmpRed
(
g_sSampCmp
,
c3
,
.
75
);
...
...
Test/hlsl.gathercmpRGBA.basic.dx10.frag
View file @
6817f81e
...
@@ -51,6 +51,10 @@ PS_OUTPUT main()
...
@@ -51,6 +51,10 @@ PS_OUTPUT main()
int4
txval31
=
g_tTex2di4
.
GatherCmpAlpha
(
g_sSampCmp
,
c2
,
0
.
75
);
int4
txval31
=
g_tTex2di4
.
GatherCmpAlpha
(
g_sSampCmp
,
c2
,
0
.
75
);
uint4
txval32
=
g_tTex2du4
.
GatherCmpAlpha
(
g_sSampCmp
,
c2
,
0
.
75
);
uint4
txval32
=
g_tTex2du4
.
GatherCmpAlpha
(
g_sSampCmp
,
c2
,
0
.
75
);
float4
txval80
=
g_tTex2df4
.
GatherCmp
(
g_sSampCmp
,
c2
,
0
.
75
);
int4
txval81
=
g_tTex2di4
.
GatherCmp
(
g_sSampCmp
,
c2
,
0
.
75
);
uint4
txval82
=
g_tTex2du4
.
GatherCmp
(
g_sSampCmp
,
c2
,
0
.
75
);
// no 3D gathers
// no 3D gathers
float4
txval40
=
g_tTexcdf4
.
GatherCmpRed
(
g_sSampCmp
,
c3
,
0
.
75
);
float4
txval40
=
g_tTexcdf4
.
GatherCmpRed
(
g_sSampCmp
,
c3
,
0
.
75
);
...
@@ -69,6 +73,10 @@ PS_OUTPUT main()
...
@@ -69,6 +73,10 @@ PS_OUTPUT main()
int4
txval71
=
g_tTexcdi4
.
GatherCmpAlpha
(
g_sSampCmp
,
c3
,
0
.
75
);
int4
txval71
=
g_tTexcdi4
.
GatherCmpAlpha
(
g_sSampCmp
,
c3
,
0
.
75
);
uint4
txval72
=
g_tTexcdu4
.
GatherCmpAlpha
(
g_sSampCmp
,
c3
,
0
.
75
);
uint4
txval72
=
g_tTexcdu4
.
GatherCmpAlpha
(
g_sSampCmp
,
c3
,
0
.
75
);
float4
txval90
=
g_tTexcdf4
.
GatherCmp
(
g_sSampCmp
,
c3
,
0
.
75
);
int4
txval91
=
g_tTexcdi4
.
GatherCmp
(
g_sSampCmp
,
c3
,
0
.
75
);
uint4
txval92
=
g_tTexcdu4
.
GatherCmp
(
g_sSampCmp
,
c3
,
0
.
75
);
psout
.
Color
=
1
.
0
;
psout
.
Color
=
1
.
0
;
psout
.
Depth
=
1
.
0
;
psout
.
Depth
=
1
.
0
;
...
...
Test/hlsl.gathercmpRGBA.offset.dx10.frag
View file @
6817f81e
...
@@ -50,13 +50,9 @@ PS_OUTPUT main()
...
@@ -50,13 +50,9 @@ PS_OUTPUT main()
int4
txval014
=
g_tTex2di4
.
GatherCmpRed
(
g_sSampCmp
,
c2
,
0
.
75
,
int2
(
1
,
-
1
),
int2
(
1
,
-
1
),
int2
(
1
,
-
1
),
int2
(
1
,
-
1
));
int4
txval014
=
g_tTex2di4
.
GatherCmpRed
(
g_sSampCmp
,
c2
,
0
.
75
,
int2
(
1
,
-
1
),
int2
(
1
,
-
1
),
int2
(
1
,
-
1
),
int2
(
1
,
-
1
));
uint4
txval024
=
g_tTex2du4
.
GatherCmpRed
(
g_sSampCmp
,
c2
,
0
.
75
,
int2
(
1
,
1
),
int2
(
1
,
1
),
int2
(
1
,
1
),
int2
(
1
,
1
));
uint4
txval024
=
g_tTex2du4
.
GatherCmpRed
(
g_sSampCmp
,
c2
,
0
.
75
,
int2
(
1
,
1
),
int2
(
1
,
1
),
int2
(
1
,
1
),
int2
(
1
,
1
));
// float4 txval00s = g_tTex2df4 . GatherCmpRed(g_sSampCmp, c2, 0.75, int2(1,0), status);
float4
txval401
=
g_tTex2df4
.
GatherCmp
(
g_sSampCmp
,
c2
,
0
.
75
,
int2
(
1
,
0
));
// int4 txval01s = g_tTex2di4 . GatherCmpRed(g_sSampCmp, c2, 0.75, int2(1,0), status);
int4
txval411
=
g_tTex2di4
.
GatherCmp
(
g_sSampCmp
,
c2
,
0
.
75
,
int2
(
1
,
-
1
));
// uint4 txval02s = g_tTex2du4 . GatherCmpRed(g_sSampCmp, c2, 0.75, int2(1,0), status);
uint4
txval421
=
g_tTex2du4
.
GatherCmp
(
g_sSampCmp
,
c2
,
0
.
75
,
int2
(
1
,
1
));
// float4 txval004s = g_tTex2df4 . GatherCmpRed(g_sSampCmp, c2, 0.75, int2(1,0), int2(1,0), int2(1,0), int2(1,0), status);
// int4 txval014s = g_tTex2di4 . GatherCmpRed(g_sSampCmp, c2, 0.75, int2(1,0), int2(1,0), int2(1,0), int2(1,0), status);
// uint4 txval024s = g_tTex2du4 . GatherCmpRed(g_sSampCmp, c2, 0.75, int2(1,0), int2(1,0), int2(1,0), int2(1,0), status);
// GatherCmpGreen not implemented pending OpImageDrefGather component input
// GatherCmpGreen not implemented pending OpImageDrefGather component input
// float4 txval101 = g_tTex2df4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, int2(1,0));
// float4 txval101 = g_tTex2df4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, int2(1,0));
...
...
Test/hlsl.gathercmpRGBA.offsetarray.dx10.frag
View file @
6817f81e
...
@@ -36,6 +36,10 @@ PS_OUTPUT main()
...
@@ -36,6 +36,10 @@ PS_OUTPUT main()
// no 1D gathers
// no 1D gathers
float4
txval401
=
g_tTex2df4a
.
GatherCmp
(
g_sSampCmp
,
c3
,
0
.
75
,
o2
);
int4
txval411
=
g_tTex2di4a
.
GatherCmp
(
g_sSampCmp
,
c3
,
0
.
75
,
o2
);
uint4
txval421
=
g_tTex2du4a
.
GatherCmp
(
g_sSampCmp
,
c3
,
0
.
75
,
o2
);
float4
txval001
=
g_tTex2df4a
.
GatherCmpRed
(
g_sSampCmp
,
c3
,
0
.
75
,
o2
);
float4
txval001
=
g_tTex2df4a
.
GatherCmpRed
(
g_sSampCmp
,
c3
,
0
.
75
,
o2
);
int4
txval011
=
g_tTex2di4a
.
GatherCmpRed
(
g_sSampCmp
,
c3
,
0
.
75
,
o2
);
int4
txval011
=
g_tTex2di4a
.
GatherCmpRed
(
g_sSampCmp
,
c3
,
0
.
75
,
o2
);
uint4
txval021
=
g_tTex2du4a
.
GatherCmpRed
(
g_sSampCmp
,
c3
,
0
.
75
,
o2
);
uint4
txval021
=
g_tTex2du4a
.
GatherCmpRed
(
g_sSampCmp
,
c3
,
0
.
75
,
o2
);
...
...
hlsl/hlslParseables.cpp
View file @
6817f81e
...
@@ -111,7 +111,8 @@ bool IsIllegalSample(const glslang::TString& name, const char* argOrder, int dim
...
@@ -111,7 +111,8 @@ bool IsIllegalSample(const glslang::TString& name, const char* argOrder, int dim
name
==
"GatherAlpha"
);
name
==
"GatherAlpha"
);
const
bool
isGatherCmp
=
const
bool
isGatherCmp
=
(
name
==
"GatherCmpRed"
||
(
name
==
"GatherCmp"
||
name
==
"GatherCmpRed"
||
name
==
"GatherCmpGreen"
||
name
==
"GatherCmpGreen"
||
name
==
"GatherCmpBlue"
||
name
==
"GatherCmpBlue"
||
name
==
"GatherCmpAlpha"
);
name
==
"GatherCmpAlpha"
);
...
@@ -824,6 +825,12 @@ void TBuiltInParseablesHlsl::initialize(int /*version*/, EProfile /*profile*/, c
...
@@ -824,6 +825,12 @@ void TBuiltInParseablesHlsl::initialize(int /*version*/, EProfile /*profile*/, c
{
"GatherAlpha"
,
/* O-4 */
"V4"
,
nullptr
,
"%@,S,V,,,,"
,
"FIU,S,F,I,,,"
,
EShLangAll
,
true
},
{
"GatherAlpha"
,
/* O-4 */
"V4"
,
nullptr
,
"%@,S,V,,,,"
,
"FIU,S,F,I,,,"
,
EShLangAll
,
true
},
{
"GatherAlpha"
,
/* O-4, status */
"V4"
,
nullptr
,
"%@,S,V,,,,,S"
,
"FIU,S,F,I,,,,U"
,
EShLangAll
,
true
},
{
"GatherAlpha"
,
/* O-4, status */
"V4"
,
nullptr
,
"%@,S,V,,,,,S"
,
"FIU,S,F,I,,,,U"
,
EShLangAll
,
true
},
{
"GatherCmp"
,
/*!O*/
"V4"
,
nullptr
,
"%@,S,V,S"
,
"FIU,s,F,"
,
EShLangAll
,
true
},
{
"GatherCmp"
,
/* O*/
"V4"
,
nullptr
,
"%@,S,V,S,V"
,
"FIU,s,F,,I"
,
EShLangAll
,
true
},
{
"GatherCmp"
,
/* O, status*/
"V4"
,
nullptr
,
"%@,S,V,S,V,>S"
,
"FIU,s,F,,I,U"
,
EShLangAll
,
true
},
{
"GatherCmp"
,
/* O-4 */
"V4"
,
nullptr
,
"%@,S,V,S,V,,,"
,
"FIU,s,F,,I,,,"
,
EShLangAll
,
true
},
{
"GatherCmp"
,
/* O-4, status */
"V4"
,
nullptr
,
"%@,S,V,S,V,,V,S"
,
"FIU,s,F,,I,,,,U"
,
EShLangAll
,
true
},
{
"GatherCmpRed"
,
/*!O*/
"V4"
,
nullptr
,
"%@,S,V,S"
,
"FIU,s,F,"
,
EShLangAll
,
true
},
{
"GatherCmpRed"
,
/*!O*/
"V4"
,
nullptr
,
"%@,S,V,S"
,
"FIU,s,F,"
,
EShLangAll
,
true
},
{
"GatherCmpRed"
,
/* O*/
"V4"
,
nullptr
,
"%@,S,V,S,V"
,
"FIU,s,F,,I"
,
EShLangAll
,
true
},
{
"GatherCmpRed"
,
/* O*/
"V4"
,
nullptr
,
"%@,S,V,S,V"
,
"FIU,s,F,,I"
,
EShLangAll
,
true
},
{
"GatherCmpRed"
,
/* O, status*/
"V4"
,
nullptr
,
"%@,S,V,S,V,>S"
,
"FIU,s,F,,I,U"
,
EShLangAll
,
true
},
{
"GatherCmpRed"
,
/* O, status*/
"V4"
,
nullptr
,
"%@,S,V,S,V,>S"
,
"FIU,s,F,,I,U"
,
EShLangAll
,
true
},
...
@@ -1203,6 +1210,7 @@ void TBuiltInParseablesHlsl::identifyBuiltIns(int /*version*/, EProfile /*profil
...
@@ -1203,6 +1210,7 @@ void TBuiltInParseablesHlsl::identifyBuiltIns(int /*version*/, EProfile /*profil
symbolTable
.
relateToOperator
(
BUILTIN_PREFIX
"GatherGreen"
,
EOpMethodGatherGreen
);
symbolTable
.
relateToOperator
(
BUILTIN_PREFIX
"GatherGreen"
,
EOpMethodGatherGreen
);
symbolTable
.
relateToOperator
(
BUILTIN_PREFIX
"GatherBlue"
,
EOpMethodGatherBlue
);
symbolTable
.
relateToOperator
(
BUILTIN_PREFIX
"GatherBlue"
,
EOpMethodGatherBlue
);
symbolTable
.
relateToOperator
(
BUILTIN_PREFIX
"GatherAlpha"
,
EOpMethodGatherAlpha
);
symbolTable
.
relateToOperator
(
BUILTIN_PREFIX
"GatherAlpha"
,
EOpMethodGatherAlpha
);
symbolTable
.
relateToOperator
(
BUILTIN_PREFIX
"GatherCmp"
,
EOpMethodGatherCmpRed
);
// alias
symbolTable
.
relateToOperator
(
BUILTIN_PREFIX
"GatherCmpRed"
,
EOpMethodGatherCmpRed
);
symbolTable
.
relateToOperator
(
BUILTIN_PREFIX
"GatherCmpRed"
,
EOpMethodGatherCmpRed
);
symbolTable
.
relateToOperator
(
BUILTIN_PREFIX
"GatherCmpGreen"
,
EOpMethodGatherCmpGreen
);
symbolTable
.
relateToOperator
(
BUILTIN_PREFIX
"GatherCmpGreen"
,
EOpMethodGatherCmpGreen
);
symbolTable
.
relateToOperator
(
BUILTIN_PREFIX
"GatherCmpBlue"
,
EOpMethodGatherCmpBlue
);
symbolTable
.
relateToOperator
(
BUILTIN_PREFIX
"GatherCmpBlue"
,
EOpMethodGatherCmpBlue
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment