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
79f8bf0d
Commit
79f8bf0d
authored
Mar 09, 2017
by
John Kessenich
Committed by
GitHub
Mar 09, 2017
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #760 from steve-lunarg/gathercmpred
HLSL: Enable GatherCmpRed. Green/Blue/Alpha cannot be supported.
parents
88e88e59
d00b0261
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
684 additions
and
68 deletions
+684
-68
hlsl.gathercmpRGBA.offset.dx10.frag.out
Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out
+610
-0
hlsl.gathercmpRGBA.offset.dx10.frag
Test/hlsl.gathercmpRGBA.offset.dx10.frag
+68
-65
Hlsl.FromFile.cpp
gtests/Hlsl.FromFile.cpp
+1
-0
hlslParseHelper.cpp
hlsl/hlslParseHelper.cpp
+5
-3
No files found.
Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out
0 → 100644
View file @
79f8bf0d
hlsl.gathercmpRGBA.offset.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:38 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 Function Parameters:
0:? Sequence
0:45 Sequence
0:45 move second child to first child (temp 4-component vector of float)
0:45 'txval001' (temp 4-component vector of float)
0:45 textureGatherOffset (temp 4-component vector of float)
0:45 Construct combined texture-sampler (temp sampler2DShadow)
0:45 'g_tTex2df4' (uniform texture2D)
0:45 'g_sSampCmp' (layout(binding=0 ) uniform sampler)
0:45 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float)
0:45 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:45 Constant:
0:45 1 (const uint)
0:45 Constant:
0:45 0.750000
0:? Constant:
0:? 1 (const int)
0:? 0 (const int)
0:45 Constant:
0:45 0 (const int)
0:46 Sequence
0:46 move second child to first child (temp 4-component vector of int)
0:46 'txval011' (temp 4-component vector of int)
0:46 textureGatherOffset (temp 4-component vector of int)
0:46 Construct combined texture-sampler (temp isampler2DShadow)
0:46 'g_tTex2di4' (uniform itexture2D)
0:46 'g_sSampCmp' (layout(binding=0 ) uniform sampler)
0:46 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float)
0:46 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:46 Constant:
0:46 1 (const uint)
0:46 Constant:
0:46 0.750000
0:? Constant:
0:? 1 (const int)
0:? -1 (const int)
0:46 Constant:
0:46 0 (const int)
0:47 Sequence
0:47 move second child to first child (temp 4-component vector of uint)
0:47 'txval021' (temp 4-component vector of uint)
0:47 textureGatherOffset (temp 4-component vector of uint)
0:47 Construct combined texture-sampler (temp usampler2DShadow)
0:47 'g_tTex2du4' (uniform utexture2D)
0:47 'g_sSampCmp' (layout(binding=0 ) uniform sampler)
0:47 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float)
0:47 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:47 Constant:
0:47 1 (const uint)
0:47 Constant:
0:47 0.750000
0:? Constant:
0:? 1 (const int)
0:? 1 (const int)
0:47 Constant:
0:47 0 (const int)
0:49 Sequence
0:49 move second child to first child (temp 4-component vector of float)
0:49 'txval004' (temp 4-component vector of float)
0:49 textureGatherOffsets (temp 4-component vector of float)
0:49 Construct combined texture-sampler (temp sampler2DShadow)
0:49 'g_tTex2df4' (uniform texture2D)
0:49 'g_sSampCmp' (layout(binding=0 ) uniform sampler)
0:49 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float)
0:49 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:49 Constant:
0:49 1 (const uint)
0:49 Constant:
0:49 0.750000
0:49 Constant:
0:49 1 (const int)
0:49 0 (const int)
0:49 1 (const int)
0:49 0 (const int)
0:49 1 (const int)
0:49 0 (const int)
0:49 1 (const int)
0:49 0 (const int)
0:49 Constant:
0:49 0 (const int)
0:50 Sequence
0:50 move second child to first child (temp 4-component vector of int)
0:50 'txval014' (temp 4-component vector of int)
0:50 textureGatherOffsets (temp 4-component vector of int)
0:50 Construct combined texture-sampler (temp isampler2DShadow)
0:50 'g_tTex2di4' (uniform itexture2D)
0:50 'g_sSampCmp' (layout(binding=0 ) uniform sampler)
0:50 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float)
0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:50 Constant:
0:50 1 (const uint)
0:50 Constant:
0:50 0.750000
0:50 Constant:
0:50 1 (const int)
0:50 -1 (const int)
0:50 1 (const int)
0:50 -1 (const int)
0:50 1 (const int)
0:50 -1 (const int)
0:50 1 (const int)
0:50 -1 (const int)
0:50 Constant:
0:50 0 (const int)
0:51 Sequence
0:51 move second child to first child (temp 4-component vector of uint)
0:51 'txval024' (temp 4-component vector of uint)
0:51 textureGatherOffsets (temp 4-component vector of uint)
0:51 Construct combined texture-sampler (temp usampler2DShadow)
0:51 'g_tTex2du4' (uniform utexture2D)
0:51 'g_sSampCmp' (layout(binding=0 ) uniform sampler)
0:51 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float)
0:51 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:51 Constant:
0:51 1 (const uint)
0:51 Constant:
0:51 0.750000
0:51 Constant:
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:51 1 (const int)
0:51 1 (const int)
0:51 Constant:
0:51 0 (const int)
0:114 move second child to first child (temp 4-component vector of float)
0:114 Color: direct index for structure (temp 4-component vector of float)
0:114 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:114 Constant:
0:114 0 (const int)
0:114 Constant:
0:114 1.000000
0:114 1.000000
0:114 1.000000
0:114 1.000000
0:115 move second child to first child (temp float)
0:115 Depth: direct index for structure (temp float)
0:115 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:115 Constant:
0:115 1 (const int)
0:115 Constant:
0:115 1.000000
0:117 Branch: Return with expression
0:117 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 Function Definition: main( (temp void)
0:38 Function Parameters:
0:? Sequence
0:38 Sequence
0:38 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:38 Color: direct index for structure (temp 4-component vector of float)
0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 Constant:
0:38 0 (const int)
0:38 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:38 Depth: direct index for structure (temp float)
0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 Constant:
0:38 1 (const int)
0:? Linker Objects
0:? 'g_sSampCmp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
0:? 'g_tTex1du4' (uniform utexture1D)
0:? 'g_tTex2df4' (uniform texture2D)
0:? 'g_tTex2di4' (uniform itexture2D)
0:? 'g_tTex2du4' (uniform utexture2D)
0:? 'g_tTex3df4' (uniform texture3D)
0:? 'g_tTex3di4' (uniform itexture3D)
0:? 'g_tTex3du4' (uniform utexture3D)
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:38 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 Function Parameters:
0:? Sequence
0:45 Sequence
0:45 move second child to first child (temp 4-component vector of float)
0:45 'txval001' (temp 4-component vector of float)
0:45 textureGatherOffset (temp 4-component vector of float)
0:45 Construct combined texture-sampler (temp sampler2DShadow)
0:45 'g_tTex2df4' (uniform texture2D)
0:45 'g_sSampCmp' (layout(binding=0 ) uniform sampler)
0:45 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float)
0:45 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:45 Constant:
0:45 1 (const uint)
0:45 Constant:
0:45 0.750000
0:? Constant:
0:? 1 (const int)
0:? 0 (const int)
0:45 Constant:
0:45 0 (const int)
0:46 Sequence
0:46 move second child to first child (temp 4-component vector of int)
0:46 'txval011' (temp 4-component vector of int)
0:46 textureGatherOffset (temp 4-component vector of int)
0:46 Construct combined texture-sampler (temp isampler2DShadow)
0:46 'g_tTex2di4' (uniform itexture2D)
0:46 'g_sSampCmp' (layout(binding=0 ) uniform sampler)
0:46 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float)
0:46 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:46 Constant:
0:46 1 (const uint)
0:46 Constant:
0:46 0.750000
0:? Constant:
0:? 1 (const int)
0:? -1 (const int)
0:46 Constant:
0:46 0 (const int)
0:47 Sequence
0:47 move second child to first child (temp 4-component vector of uint)
0:47 'txval021' (temp 4-component vector of uint)
0:47 textureGatherOffset (temp 4-component vector of uint)
0:47 Construct combined texture-sampler (temp usampler2DShadow)
0:47 'g_tTex2du4' (uniform utexture2D)
0:47 'g_sSampCmp' (layout(binding=0 ) uniform sampler)
0:47 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float)
0:47 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:47 Constant:
0:47 1 (const uint)
0:47 Constant:
0:47 0.750000
0:? Constant:
0:? 1 (const int)
0:? 1 (const int)
0:47 Constant:
0:47 0 (const int)
0:49 Sequence
0:49 move second child to first child (temp 4-component vector of float)
0:49 'txval004' (temp 4-component vector of float)
0:49 textureGatherOffsets (temp 4-component vector of float)
0:49 Construct combined texture-sampler (temp sampler2DShadow)
0:49 'g_tTex2df4' (uniform texture2D)
0:49 'g_sSampCmp' (layout(binding=0 ) uniform sampler)
0:49 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float)
0:49 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:49 Constant:
0:49 1 (const uint)
0:49 Constant:
0:49 0.750000
0:49 Constant:
0:49 1 (const int)
0:49 0 (const int)
0:49 1 (const int)
0:49 0 (const int)
0:49 1 (const int)
0:49 0 (const int)
0:49 1 (const int)
0:49 0 (const int)
0:49 Constant:
0:49 0 (const int)
0:50 Sequence
0:50 move second child to first child (temp 4-component vector of int)
0:50 'txval014' (temp 4-component vector of int)
0:50 textureGatherOffsets (temp 4-component vector of int)
0:50 Construct combined texture-sampler (temp isampler2DShadow)
0:50 'g_tTex2di4' (uniform itexture2D)
0:50 'g_sSampCmp' (layout(binding=0 ) uniform sampler)
0:50 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float)
0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:50 Constant:
0:50 1 (const uint)
0:50 Constant:
0:50 0.750000
0:50 Constant:
0:50 1 (const int)
0:50 -1 (const int)
0:50 1 (const int)
0:50 -1 (const int)
0:50 1 (const int)
0:50 -1 (const int)
0:50 1 (const int)
0:50 -1 (const int)
0:50 Constant:
0:50 0 (const int)
0:51 Sequence
0:51 move second child to first child (temp 4-component vector of uint)
0:51 'txval024' (temp 4-component vector of uint)
0:51 textureGatherOffsets (temp 4-component vector of uint)
0:51 Construct combined texture-sampler (temp usampler2DShadow)
0:51 'g_tTex2du4' (uniform utexture2D)
0:51 'g_sSampCmp' (layout(binding=0 ) uniform sampler)
0:51 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float)
0:51 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:51 Constant:
0:51 1 (const uint)
0:51 Constant:
0:51 0.750000
0:51 Constant:
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:51 1 (const int)
0:51 1 (const int)
0:51 Constant:
0:51 0 (const int)
0:114 move second child to first child (temp 4-component vector of float)
0:114 Color: direct index for structure (temp 4-component vector of float)
0:114 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:114 Constant:
0:114 0 (const int)
0:114 Constant:
0:114 1.000000
0:114 1.000000
0:114 1.000000
0:114 1.000000
0:115 move second child to first child (temp float)
0:115 Depth: direct index for structure (temp float)
0:115 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:115 Constant:
0:115 1 (const int)
0:115 Constant:
0:115 1.000000
0:117 Branch: Return with expression
0:117 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 Function Definition: main( (temp void)
0:38 Function Parameters:
0:? Sequence
0:38 Sequence
0:38 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:38 Color: direct index for structure (temp 4-component vector of float)
0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 Constant:
0:38 0 (const int)
0:38 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:38 Depth: direct index for structure (temp float)
0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 Constant:
0:38 1 (const int)
0:? Linker Objects
0:? 'g_sSampCmp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
0:? 'g_tTex1du4' (uniform utexture1D)
0:? 'g_tTex2df4' (uniform texture2D)
0:? 'g_tTex2di4' (uniform itexture2D)
0:? 'g_tTex2du4' (uniform utexture2D)
0:? 'g_tTex3df4' (uniform texture3D)
0:? 'g_tTex3di4' (uniform itexture3D)
0:? 'g_tTex3du4' (uniform utexture3D)
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 146
Capability Shader
Capability Sampled1D
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 111 115
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 8 "PS_OUTPUT"
MemberName 8(PS_OUTPUT) 0 "Color"
MemberName 8(PS_OUTPUT) 1 "Depth"
Name 10 "@main("
Name 13 "txval001"
Name 16 "g_tTex2df4"
Name 20 "g_sSampCmp"
Name 27 "$Global"
MemberName 27($Global) 0 "c1"
MemberName 27($Global) 1 "c2"
MemberName 27($Global) 2 "c3"
MemberName 27($Global) 3 "c4"
Name 29 ""
Name 42 "txval011"
Name 45 "g_tTex2di4"
Name 59 "txval021"
Name 62 "g_tTex2du4"
Name 72 "txval004"
Name 82 "txval014"
Name 90 "txval024"
Name 99 "psout"
Name 108 "flattenTemp"
Name 111 "Color"
Name 115 "Depth"
Name 120 "g_tTex1df4a"
Name 121 "g_tTex1df4"
Name 124 "g_tTex1di4"
Name 127 "g_tTex1du4"
Name 130 "g_tTex3df4"
Name 133 "g_tTex3di4"
Name 136 "g_tTex3du4"
Name 139 "g_tTexcdf4"
Name 142 "g_tTexcdi4"
Name 145 "g_tTexcdu4"
Decorate 16(g_tTex2df4) DescriptorSet 0
Decorate 20(g_sSampCmp) DescriptorSet 0
Decorate 20(g_sSampCmp) Binding 0
MemberDecorate 27($Global) 0 Offset 0
MemberDecorate 27($Global) 1 Offset 8
MemberDecorate 27($Global) 2 Offset 16
MemberDecorate 27($Global) 3 Offset 32
Decorate 27($Global) Block
Decorate 29 DescriptorSet 0
Decorate 45(g_tTex2di4) DescriptorSet 0
Decorate 62(g_tTex2du4) DescriptorSet 0
Decorate 111(Color) Location 0
Decorate 115(Depth) BuiltIn FragDepth
Decorate 120(g_tTex1df4a) DescriptorSet 0
Decorate 120(g_tTex1df4a) Binding 1
Decorate 121(g_tTex1df4) DescriptorSet 0
Decorate 121(g_tTex1df4) Binding 0
Decorate 124(g_tTex1di4) DescriptorSet 0
Decorate 127(g_tTex1du4) DescriptorSet 0
Decorate 130(g_tTex3df4) DescriptorSet 0
Decorate 133(g_tTex3di4) DescriptorSet 0
Decorate 136(g_tTex3du4) DescriptorSet 0
Decorate 139(g_tTexcdf4) DescriptorSet 0
Decorate 142(g_tTexcdi4) DescriptorSet 0
Decorate 145(g_tTexcdu4) DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
9: TypeFunction 8(PS_OUTPUT)
12: TypePointer Function 7(fvec4)
14: TypeImage 6(float) 2D sampled format:Unknown
15: TypePointer UniformConstant 14
16(g_tTex2df4): 15(ptr) Variable UniformConstant
18: TypeSampler
19: TypePointer UniformConstant 18
20(g_sSampCmp): 19(ptr) Variable UniformConstant
22: TypeImage 6(float) 2D depth sampled format:Unknown
23: TypeSampledImage 22
25: TypeVector 6(float) 2
26: TypeVector 6(float) 3
27($Global): TypeStruct 6(float) 25(fvec2) 26(fvec3) 7(fvec4)
28: TypePointer Uniform 27($Global)
29: 28(ptr) Variable Uniform
30: TypeInt 32 1
31: 30(int) Constant 1
32: TypePointer Uniform 25(fvec2)
35: 6(float) Constant 1061158912
36: TypeVector 30(int) 2
37: 30(int) Constant 0
38: 36(ivec2) ConstantComposite 31 37
40: TypeVector 30(int) 4
41: TypePointer Function 40(ivec4)
43: TypeImage 30(int) 2D sampled format:Unknown
44: TypePointer UniformConstant 43
45(g_tTex2di4): 44(ptr) Variable UniformConstant
48: TypeImage 30(int) 2D depth sampled format:Unknown
49: TypeSampledImage 48
53: 30(int) Constant 4294967295
54: 36(ivec2) ConstantComposite 31 53
56: TypeInt 32 0
57: TypeVector 56(int) 4
58: TypePointer Function 57(ivec4)
60: TypeImage 56(int) 2D sampled format:Unknown
61: TypePointer UniformConstant 60
62(g_tTex2du4): 61(ptr) Variable UniformConstant
65: TypeImage 56(int) 2D depth sampled format:Unknown
66: TypeSampledImage 65
70: 36(ivec2) ConstantComposite 31 31
78: 56(int) Constant 4
79: TypeArray 36(ivec2) 78
80: 79 ConstantComposite 38 38 38 38
88: 79 ConstantComposite 54 54 54 54
96: 79 ConstantComposite 70 70 70 70
98: TypePointer Function 8(PS_OUTPUT)
100: 6(float) Constant 1065353216
101: 7(fvec4) ConstantComposite 100 100 100 100
103: TypePointer Function 6(float)
110: TypePointer Output 7(fvec4)
111(Color): 110(ptr) Variable Output
114: TypePointer Output 6(float)
115(Depth): 114(ptr) Variable Output
118: TypeImage 6(float) 1D sampled format:Unknown
119: TypePointer UniformConstant 118
120(g_tTex1df4a): 119(ptr) Variable UniformConstant
121(g_tTex1df4): 119(ptr) Variable UniformConstant
122: 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
145(g_tTexcdu4): 144(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
108(flattenTemp): 98(ptr) Variable Function
109:8(PS_OUTPUT) FunctionCall 10(@main()
Store 108(flattenTemp) 109
112: 12(ptr) AccessChain 108(flattenTemp) 37
113: 7(fvec4) Load 112
Store 111(Color) 113
116: 103(ptr) AccessChain 108(flattenTemp) 31
117: 6(float) Load 116
Store 115(Depth) 117
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
13(txval001): 12(ptr) Variable Function
42(txval011): 41(ptr) Variable Function
59(txval021): 58(ptr) Variable Function
72(txval004): 12(ptr) Variable Function
82(txval014): 41(ptr) Variable Function
90(txval024): 58(ptr) Variable Function
99(psout): 98(ptr) Variable Function
17: 14 Load 16(g_tTex2df4)
21: 18 Load 20(g_sSampCmp)
24: 23 SampledImage 17 21
33: 32(ptr) AccessChain 29 31
34: 25(fvec2) Load 33
39: 7(fvec4) ImageDrefGather 24 34 35 ConstOffset 38
Store 13(txval001) 39
46: 43 Load 45(g_tTex2di4)
47: 18 Load 20(g_sSampCmp)
50: 49 SampledImage 46 47
51: 32(ptr) AccessChain 29 31
52: 25(fvec2) Load 51
55: 40(ivec4) ImageDrefGather 50 52 35 ConstOffset 54
Store 42(txval011) 55
63: 60 Load 62(g_tTex2du4)
64: 18 Load 20(g_sSampCmp)
67: 66 SampledImage 63 64
68: 32(ptr) AccessChain 29 31
69: 25(fvec2) Load 68
71: 57(ivec4) ImageDrefGather 67 69 35 ConstOffset 70
Store 59(txval021) 71
73: 14 Load 16(g_tTex2df4)
74: 18 Load 20(g_sSampCmp)
75: 23 SampledImage 73 74
76: 32(ptr) AccessChain 29 31
77: 25(fvec2) Load 76
81: 7(fvec4) ImageDrefGather 75 77 35 ConstOffsets 80
Store 72(txval004) 81
83: 43 Load 45(g_tTex2di4)
84: 18 Load 20(g_sSampCmp)
85: 49 SampledImage 83 84
86: 32(ptr) AccessChain 29 31
87: 25(fvec2) Load 86
89: 40(ivec4) ImageDrefGather 85 87 35 ConstOffsets 88
Store 82(txval014) 89
91: 60 Load 62(g_tTex2du4)
92: 18 Load 20(g_sSampCmp)
93: 66 SampledImage 91 92
94: 32(ptr) AccessChain 29 31
95: 25(fvec2) Load 94
97: 57(ivec4) ImageDrefGather 93 95 35 ConstOffsets 96
Store 90(txval024) 97
102: 12(ptr) AccessChain 99(psout) 37
Store 102 101
104: 103(ptr) AccessChain 99(psout) 31
Store 104 100
105:8(PS_OUTPUT) Load 99(psout)
ReturnValue 105
FunctionEnd
Test/hlsl.gathercmpRGBA.offset.dx10.frag
View file @
79f8bf0d
...
...
@@ -29,10 +29,10 @@ uniform float2 c2;
uniform
float3
c3
;
uniform
float4
c4
;
uniform
int
o1
;
uniform
int2
o2
;
uniform
int3
o3
;
uniform
int4
o4
;
PS_OUTPUT
main
()
{
...
...
@@ -42,69 +42,72 @@ PS_OUTPUT main()
// no 1D gathers
float4
txval001
=
g_tTex2df4
.
GatherCmpRed
(
g_sSampCmp
,
c2
,
0
.
75
,
o2
);
int4
txval011
=
g_tTex2di4
.
GatherCmpRed
(
g_sSampCmp
,
c2
,
0
.
75
,
o2
);
uint4
txval021
=
g_tTex2du4
.
GatherCmpRed
(
g_sSampCmp
,
c2
,
0
.
75
,
o2
);
float4
txval001
=
g_tTex2df4
.
GatherCmpRed
(
g_sSampCmp
,
c2
,
0
.
75
,
int2
(
1
,
0
)
);
int4
txval011
=
g_tTex2di4
.
GatherCmpRed
(
g_sSampCmp
,
c2
,
0
.
75
,
int2
(
1
,
-
1
)
);
uint4
txval021
=
g_tTex2du4
.
GatherCmpRed
(
g_sSampCmp
,
c2
,
0
.
75
,
int2
(
1
,
1
)
);
float4
txval004
=
g_tTex2df4
.
GatherCmpRed
(
g_sSampCmp
,
c2
,
0
.
75
,
o2
,
o2
,
o2
,
o2
);
int4
txval014
=
g_tTex2di4
.
GatherCmpRed
(
g_sSampCmp
,
c2
,
0
.
75
,
o2
,
o2
,
o2
,
o2
);
uint4
txval024
=
g_tTex2du4
.
GatherCmpRed
(
g_sSampCmp
,
c2
,
0
.
75
,
o2
,
o2
,
o2
,
o2
);
float4
txval004
=
g_tTex2df4
.
GatherCmpRed
(
g_sSampCmp
,
c2
,
0
.
75
,
int2
(
1
,
0
),
int2
(
1
,
0
),
int2
(
1
,
0
),
int2
(
1
,
0
)
);
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
)
);
// float4 txval00s = g_tTex2df4 . GatherCmpRed(g_sSampCmp, c2, 0.75, o2, status);
// int4 txval01s = g_tTex2di4 . GatherCmpRed(g_sSampCmp, c2, 0.75, o2, status);
// uint4 txval02s = g_tTex2du4 . GatherCmpRed(g_sSampCmp, c2, 0.75, o2, status);
// float4 txval004s = g_tTex2df4 . GatherCmpRed(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status);
// int4 txval014s = g_tTex2di4 . GatherCmpRed(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status);
// uint4 txval024s = g_tTex2du4 . GatherCmpRed(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status);
float4
txval101
=
g_tTex2df4
.
GatherCmpGreen
(
g_sSampCmp
,
c2
,
0
.
75
,
o2
);
int4
txval111
=
g_tTex2di4
.
GatherCmpGreen
(
g_sSampCmp
,
c2
,
0
.
75
,
o2
);
uint4
txval121
=
g_tTex2du4
.
GatherCmpGreen
(
g_sSampCmp
,
c2
,
0
.
75
,
o2
);
float4
txval104
=
g_tTex2df4
.
GatherCmpGreen
(
g_sSampCmp
,
c2
,
0
.
75
,
o2
,
o2
,
o2
,
o2
);
int4
txval114
=
g_tTex2di4
.
GatherCmpGreen
(
g_sSampCmp
,
c2
,
0
.
75
,
o2
,
o2
,
o2
,
o2
);
uint4
txval124
=
g_tTex2du4
.
GatherCmpGreen
(
g_sSampCmp
,
c2
,
0
.
75
,
o2
,
o2
,
o2
,
o2
);
// float4 txval10s = g_tTex2df4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, o2, status);
// int4 txval11s = g_tTex2di4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, o2, status);
// uint4 txval12s = g_tTex2du4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, o2, status);
// float4 txval104 = g_tTex2df4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status);
// int4 txval114 = g_tTex2di4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status);
// uint4 txval124 = g_tTex2du4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status);
float4
txval201
=
g_tTex2df4
.
GatherCmpBlue
(
g_sSampCmp
,
c2
,
0
.
75
,
o2
);
int4
txval211
=
g_tTex2di4
.
GatherCmpBlue
(
g_sSampCmp
,
c2
,
0
.
75
,
o2
);
uint4
txval221
=
g_tTex2du4
.
GatherCmpBlue
(
g_sSampCmp
,
c2
,
0
.
75
,
o2
);
float4
txval204
=
g_tTex2df4
.
GatherCmpBlue
(
g_sSampCmp
,
c2
,
0
.
75
,
o2
,
o2
,
o2
,
o2
);
int4
txval214
=
g_tTex2di4
.
GatherCmpBlue
(
g_sSampCmp
,
c2
,
0
.
75
,
o2
,
o2
,
o2
,
o2
);
uint4
txval224
=
g_tTex2du4
.
GatherCmpBlue
(
g_sSampCmp
,
c2
,
0
.
75
,
o2
,
o2
,
o2
,
o2
);
// float4 txval204s = g_tTex2df4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status);
// int4 txval214s = g_tTex2di4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status);
// uint4 txval224s = g_tTex2du4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status);
// float4 txval20s = g_tTex2df4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, o2, status);
// int4 txval21s = g_tTex2di4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, o2, status);
// uint4 txval22s = g_tTex2du4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, o2, status);
float4
txval301
=
g_tTex2df4
.
GatherCmpAlpha
(
g_sSampCmp
,
c2
,
0
.
75
,
o2
);
int4
txval311
=
g_tTex2di4
.
GatherCmpAlpha
(
g_sSampCmp
,
c2
,
0
.
75
,
o2
);
uint4
txval321
=
g_tTex2du4
.
GatherCmpAlpha
(
g_sSampCmp
,
c2
,
0
.
75
,
o2
);
float4
txval304
=
g_tTex2df4
.
GatherCmpAlpha
(
g_sSampCmp
,
c2
,
0
.
75
,
o2
,
o2
,
o2
,
o2
);
int4
txval314
=
g_tTex2di4
.
GatherCmpAlpha
(
g_sSampCmp
,
c2
,
0
.
75
,
o2
,
o2
,
o2
,
o2
);
uint4
txval324
=
g_tTex2du4
.
GatherCmpAlpha
(
g_sSampCmp
,
c2
,
0
.
75
,
o2
,
o2
,
o2
,
o2
);
// float4 txval304s = g_tTex2df4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status);
// int4 txval314s = g_tTex2di4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status);
// uint4 txval324s = g_tTex2du4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status);
// float4 txval30s = g_tTex2df4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, o2, status);
// int4 txval31s = g_tTex2di4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, o2, status);
// uint4 txval32s = g_tTex2du4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, o2, status);
// float4 txval00s = g_tTex2df4 . GatherCmpRed(g_sSampCmp, c2, 0.75, int2(1,0), status);
// int4 txval01s = g_tTex2di4 . GatherCmpRed(g_sSampCmp, c2, 0.75, int2(1,0), status);
// uint4 txval02s = g_tTex2du4 . GatherCmpRed(g_sSampCmp, c2, 0.75, int2(1,0), status);
// 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
// float4 txval101 = g_tTex2df4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, int2(1,0));
// int4 txval111 = g_tTex2di4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, int2(1,0));
// uint4 txval121 = g_tTex2du4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, int2(1,0));
// float4 txval104 = g_tTex2df4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, int2(1,0), int2(1,0), int2(1,0), int2(1,0));
// int4 txval114 = g_tTex2di4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, int2(1,0), int2(1,0), int2(1,0), int2(1,0));
// uint4 txval124 = g_tTex2du4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, int2(1,0), int2(1,0), int2(1,0), int2(1,0));
// float4 txval10s = g_tTex2df4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, int2(1,0), status);
// int4 txval11s = g_tTex2di4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, int2(1,0), status);
// uint4 txval12s = g_tTex2du4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, int2(1,0), status);
// float4 txval104 = g_tTex2df4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, int2(1,0), int2(1,0), int2(1,0), int2(1,0), status);
// int4 txval114 = g_tTex2di4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, int2(1,0), int2(1,0), int2(1,0), int2(1,0), status);
// uint4 txval124 = g_tTex2du4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, int2(1,0), int2(1,0), int2(1,0), int2(1,0), status);
// GatherCmpBlue not implemented pending OpImageDrefGather component input
// float4 txval201 = g_tTex2df4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, int2(1,0));
// int4 txval211 = g_tTex2di4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, int2(1,0));
// uint4 txval221 = g_tTex2du4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, int2(1,0));
// float4 txval204 = g_tTex2df4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, int2(1,0), int2(1,0), int2(1,0), int2(1,0));
// int4 txval214 = g_tTex2di4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, int2(1,0), int2(1,0), int2(1,0), int2(1,0));
// uint4 txval224 = g_tTex2du4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, int2(1,0), int2(1,0), int2(1,0), int2(1,0));
// float4 txval204s = g_tTex2df4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, int2(1,0), int2(1,0), int2(1,0), int2(1,0), status);
// int4 txval214s = g_tTex2di4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, int2(1,0), int2(1,0), int2(1,0), int2(1,0), status);
// uint4 txval224s = g_tTex2du4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, int2(1,0), int2(1,0), int2(1,0), int2(1,0), status);
// float4 txval20s = g_tTex2df4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, int2(1,0), status);
// int4 txval21s = g_tTex2di4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, int2(1,0), status);
// uint4 txval22s = g_tTex2du4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, int2(1,0), status);
// GatherCmpAlpha not implemented pending OpImageDrefGather component input
// float4 txval301 = g_tTex2df4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, int2(1,0));
// int4 txval311 = g_tTex2di4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, int2(1,0));
// uint4 txval321 = g_tTex2du4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, int2(1,0));
// float4 txval304 = g_tTex2df4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, int2(1,0), int2(1,0), int2(1,0), int2(1,0));
// int4 txval314 = g_tTex2di4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, int2(1,0), int2(1,0), int2(1,0), int2(1,0));
// uint4 txval324 = g_tTex2du4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, int2(1,0), int2(1,0), int2(1,0), int2(1,0));
// float4 txval304s = g_tTex2df4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, int2(1,0), int2(1,0), int2(1,0), int2(1,0), status);
// int4 txval314s = g_tTex2di4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, int2(1,0), int2(1,0), int2(1,0), int2(1,0), status);
// uint4 txval324s = g_tTex2du4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, int2(1,0), int2(1,0), int2(1,0), int2(1,0), status);
// float4 txval30s = g_tTex2df4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, int2(1,0), status);
// int4 txval31s = g_tTex2di4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, int2(1,0), status);
// uint4 txval32s = g_tTex2du4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, int2(1,0), status);
// no 3D gathers with offset
...
...
gtests/Hlsl.FromFile.cpp
View file @
79f8bf0d
...
...
@@ -111,6 +111,7 @@ INSTANTIATE_TEST_CASE_P(
{
"hlsl.gather.basic.dx10.vert"
,
"main"
},
{
"hlsl.gather.offset.dx10.frag"
,
"main"
},
{
"hlsl.gather.offsetarray.dx10.frag"
,
"main"
},
{
"hlsl.gathercmpRGBA.offset.dx10.frag"
,
"main"
},
{
"hlsl.gatherRGBA.array.dx10.frag"
,
"main"
},
{
"hlsl.gatherRGBA.basic.dx10.frag"
,
"main"
},
{
"hlsl.gatherRGBA.offset.dx10.frag"
,
"main"
},
...
...
hlsl/hlslParseHelper.cpp
View file @
79f8bf0d
...
...
@@ -3043,8 +3043,10 @@ void HlslParseContext::decomposeSampleMethods(const TSourceLoc& loc, TIntermType
// For now, we have nothing to map the component-wise comparison forms
// to, because neither GLSL nor SPIR-V has such an opcode. Issue an
// unimplemented error instead. Most of the machinery is here if that
// should ever become available.
if
(
cmpValues
)
{
// should ever become available. However, red can be passed through
// to OpImageDrefGather. G/B/A cannot, because that opcode does not
// accept a component.
if
(
cmpValues
!=
0
&&
op
!=
EOpMethodGatherCmpRed
)
{
error
(
loc
,
"unimplemented: component-level gather compare"
,
""
,
""
);
return
;
}
...
...
@@ -3125,7 +3127,7 @@ void HlslParseContext::decomposeSampleMethods(const TSourceLoc& loc, TIntermType
}
// Add comparison value if we have one
if
(
arg
Tex
->
getType
().
getSampler
().
isShadow
()
)
if
(
arg
Cmp
!=
nullptr
)
txgather
->
getSequence
().
push_back
(
argCmp
);
// Add offset (either 1, or an array of 4) if we have one
...
...
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