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
34718204
Commit
34718204
authored
Apr 11, 2017
by
John Kessenich
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
HLSL: Non-functional: add vector ? : tests.
parent
13075c61
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
421 additions
and
358 deletions
+421
-358
hlsl.conditional.frag.out
Test/baseResults/hlsl.conditional.frag.out
+407
-356
hlsl.conditional.frag
Test/hlsl.conditional.frag
+13
-1
revision.h
glslang/Include/revision.h
+1
-1
No files found.
Test/baseResults/hlsl.conditional.frag.out
View file @
34718204
...
@@ -2,122 +2,133 @@ hlsl.conditional.frag
...
@@ -2,122 +2,133 @@ hlsl.conditional.frag
Shader version: 500
Shader version: 500
gl_FragCoord origin is upper left
gl_FragCoord origin is upper left
0:? Sequence
0:? Sequence
0:2 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
0:8 Function Definition: vectorCond( ( temp 4-component vector of float)
0:2 Function Parameters:
0:8 Function Parameters:
0:2 'input' ( in 4-component vector of float)
0:? Sequence
0:? Sequence
0:3 Sequence
0:9 Branch: Return with expression
0:3 move second child to first child ( temp int)
0:9 f4: direct index for structure ( uniform 4-component vector of float)
0:3 'a' ( temp int)
0:9 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4, uniform 4-component vector of float t4, uniform 4-component vector of float f4, uniform float t, uniform float f})
0:3 Constant:
0:9 Constant:
0:3 5 (const int)
0:9 2 (const uint)
0:4 Sequence
0:14 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
0:4 move second child to first child ( temp int)
0:14 Function Parameters:
0:4 'b' ( temp int)
0:4 Constant:
0:4 6 (const int)
0:5 Sequence
0:5 move second child to first child ( temp int)
0:5 'c' ( temp int)
0:5 Constant:
0:5 7 (const int)
0:6 Sequence
0:6 move second child to first child ( temp int)
0:6 'd' ( temp int)
0:6 Constant:
0:6 7 (const int)
0:7 Sequence
0:7 move second child to first child ( temp 4-component vector of float)
0:7 'ret' ( temp 4-component vector of float)
0:9 add ( temp 4-component vector of float)
0:8 add ( temp 4-component vector of float)
0:7 add ( temp 4-component vector of float)
0:7 vector-scale ( temp 4-component vector of float)
0:7 Convert int to float ( temp float)
0:7 'a' ( temp int)
0:7 'input' ( in 4-component vector of float)
0:8 vector-scale ( temp 4-component vector of float)
0:8 Convert int to float ( temp float)
0:8 'b' ( temp int)
0:8 'input' ( in 4-component vector of float)
0:9 vector-scale ( temp 4-component vector of float)
0:9 Convert int to float ( temp float)
0:9 'c' ( temp int)
0:9 'input' ( in 4-component vector of float)
0:10 vector-scale ( temp 4-component vector of float)
0:10 Convert int to float ( temp float)
0:10 'd' ( temp int)
0:10 'input' ( in 4-component vector of float)
0:12 Comma ( temp int)
0:12 move second child to first child ( temp int)
0:12 'e' ( temp int)
0:12 move second child to first child ( temp int)
0:12 'a' ( temp int)
0:12 Test condition and select ( temp int)
0:12 Condition
0:12 Convert int to bool ( temp bool)
0:12 'b' ( temp int)
0:12 true case
0:12 move second child to first child ( temp int)
0:12 'c' ( temp int)
0:12 'd' ( temp int)
0:12 false case
0:12 Constant:
0:12 10 (const int)
0:12 move second child to first child ( temp int)
0:12 'b' ( temp int)
0:12 Test condition and select ( temp int)
0:12 Condition
0:12 Convert int to bool ( temp bool)
0:12 'a' ( temp int)
0:12 true case
0:12 move second child to first child ( temp int)
0:12 'd' ( temp int)
0:12 'c' ( temp int)
0:12 false case
0:12 Constant:
0:12 11 (const int)
0:14 move second child to first child ( temp 4-component vector of float)
0:14 'f' ( temp 4-component vector of float)
0:14 Test condition and select ( temp 4-component vector of float)
0:14 Condition
0:14 Compare Less Than ( temp bool)
0:14 direct index ( temp float)
0:14 'ret' ( temp 4-component vector of float)
0:14 Constant:
0:14 0 (const int)
0:14 direct index ( temp float)
0:14 'input' ( in 4-component vector of float)
0:14 Constant:
0:14 1 (const int)
0:14 true case
0:14 vector-scale ( temp 4-component vector of float)
0:14 Convert int to float ( temp float)
0:14 'c' ( temp int)
0:14 'input' ( in 4-component vector of float)
0:14 'input' ( in 4-component vector of float)
0:14 false case
0:14 vector-scale ( temp 4-component vector of float)
0:14 Convert int to float ( temp float)
0:14 'd' ( temp int)
0:14 'input' ( in 4-component vector of float)
0:15 Branch: Return with expression
0:15 add ( temp 4-component vector of float)
0:15 vector-scale ( temp 4-component vector of float)
0:15 Convert int to float ( temp float)
0:15 'e' ( temp int)
0:15 'ret' ( temp 4-component vector of float)
0:15 'f' ( temp 4-component vector of float)
0:2 Function Definition: PixelShaderFunction( ( temp void)
0:2 Function Parameters:
0:? Sequence
0:? Sequence
0:2 move second child to first child ( temp 4-component vector of float)
0:15 Sequence
0:15 move second child to first child ( temp int)
0:15 'a' ( temp int)
0:15 Constant:
0:15 5 (const int)
0:16 Sequence
0:16 move second child to first child ( temp int)
0:16 'b' ( temp int)
0:16 Constant:
0:16 6 (const int)
0:17 Sequence
0:17 move second child to first child ( temp int)
0:17 'c' ( temp int)
0:17 Constant:
0:17 7 (const int)
0:18 Sequence
0:18 move second child to first child ( temp int)
0:18 'd' ( temp int)
0:18 Constant:
0:18 7 (const int)
0:19 Sequence
0:19 move second child to first child ( temp 4-component vector of float)
0:19 'ret' ( temp 4-component vector of float)
0:21 add ( temp 4-component vector of float)
0:20 add ( temp 4-component vector of float)
0:19 add ( temp 4-component vector of float)
0:19 vector-scale ( temp 4-component vector of float)
0:19 Convert int to float ( temp float)
0:19 'a' ( temp int)
0:19 'input' ( in 4-component vector of float)
0:20 vector-scale ( temp 4-component vector of float)
0:20 Convert int to float ( temp float)
0:20 'b' ( temp int)
0:20 'input' ( in 4-component vector of float)
0:21 vector-scale ( temp 4-component vector of float)
0:21 Convert int to float ( temp float)
0:21 'c' ( temp int)
0:21 'input' ( in 4-component vector of float)
0:22 vector-scale ( temp 4-component vector of float)
0:22 Convert int to float ( temp float)
0:22 'd' ( temp int)
0:22 'input' ( in 4-component vector of float)
0:24 Comma ( temp int)
0:24 move second child to first child ( temp int)
0:24 'e' ( temp int)
0:24 move second child to first child ( temp int)
0:24 'a' ( temp int)
0:24 Test condition and select ( temp int)
0:24 Condition
0:24 Convert int to bool ( temp bool)
0:24 'b' ( temp int)
0:24 true case
0:24 move second child to first child ( temp int)
0:24 'c' ( temp int)
0:24 'd' ( temp int)
0:24 false case
0:24 Constant:
0:24 10 (const int)
0:24 move second child to first child ( temp int)
0:24 'b' ( temp int)
0:24 Test condition and select ( temp int)
0:24 Condition
0:24 Convert int to bool ( temp bool)
0:24 'a' ( temp int)
0:24 true case
0:24 move second child to first child ( temp int)
0:24 'd' ( temp int)
0:24 'c' ( temp int)
0:24 false case
0:24 Constant:
0:24 11 (const int)
0:26 move second child to first child ( temp 4-component vector of float)
0:26 'f' ( temp 4-component vector of float)
0:26 Test condition and select ( temp 4-component vector of float)
0:26 Condition
0:26 Compare Less Than ( temp bool)
0:26 direct index ( temp float)
0:26 'ret' ( temp 4-component vector of float)
0:26 Constant:
0:26 0 (const int)
0:26 direct index ( temp float)
0:26 'input' ( in 4-component vector of float)
0:26 Constant:
0:26 1 (const int)
0:26 true case
0:26 vector-scale ( temp 4-component vector of float)
0:26 Convert int to float ( temp float)
0:26 'c' ( temp int)
0:26 'input' ( in 4-component vector of float)
0:26 false case
0:26 vector-scale ( temp 4-component vector of float)
0:26 Convert int to float ( temp float)
0:26 'd' ( temp int)
0:26 'input' ( in 4-component vector of float)
0:27 Branch: Return with expression
0:27 add ( temp 4-component vector of float)
0:27 add ( temp 4-component vector of float)
0:27 vector-scale ( temp 4-component vector of float)
0:27 Convert int to float ( temp float)
0:27 'e' ( temp int)
0:27 'ret' ( temp 4-component vector of float)
0:27 'f' ( temp 4-component vector of float)
0:27 Function Call: vectorCond( ( temp 4-component vector of float)
0:14 Function Definition: PixelShaderFunction( ( temp void)
0:14 Function Parameters:
0:? Sequence
0:14 move second child to first child ( temp 4-component vector of float)
0:? 'input' ( temp 4-component vector of float)
0:? 'input' ( temp 4-component vector of float)
0:? 'input' (layout( location=0) in 4-component vector of float)
0:? 'input' (layout( location=0) in 4-component vector of float)
0:
2
move second child to first child ( temp 4-component vector of float)
0:
14
move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:
2
Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
0:
14
Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
0:? 'input' ( temp 4-component vector of float)
0:? 'input' ( temp 4-component vector of float)
0:? Linker Objects
0:? Linker Objects
0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4, uniform 4-component vector of float t4, uniform 4-component vector of float f4, uniform float t, uniform float f})
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'input' (layout( location=0) in 4-component vector of float)
0:? 'input' (layout( location=0) in 4-component vector of float)
...
@@ -128,282 +139,322 @@ Linked fragment stage:
...
@@ -128,282 +139,322 @@ Linked fragment stage:
Shader version: 500
Shader version: 500
gl_FragCoord origin is upper left
gl_FragCoord origin is upper left
0:? Sequence
0:? Sequence
0:2 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
0:8 Function Definition: vectorCond( ( temp 4-component vector of float)
0:2 Function Parameters:
0:8 Function Parameters:
0:2 'input' ( in 4-component vector of float)
0:? Sequence
0:? Sequence
0:3 Sequence
0:9 Branch: Return with expression
0:3 move second child to first child ( temp int)
0:9 f4: direct index for structure ( uniform 4-component vector of float)
0:3 'a' ( temp int)
0:9 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4, uniform 4-component vector of float t4, uniform 4-component vector of float f4, uniform float t, uniform float f})
0:3 Constant:
0:9 Constant:
0:3 5 (const int)
0:9 2 (const uint)
0:4 Sequence
0:14 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
0:4 move second child to first child ( temp int)
0:14 Function Parameters:
0:4 'b' ( temp int)
0:4 Constant:
0:4 6 (const int)
0:5 Sequence
0:5 move second child to first child ( temp int)
0:5 'c' ( temp int)
0:5 Constant:
0:5 7 (const int)
0:6 Sequence
0:6 move second child to first child ( temp int)
0:6 'd' ( temp int)
0:6 Constant:
0:6 7 (const int)
0:7 Sequence
0:7 move second child to first child ( temp 4-component vector of float)
0:7 'ret' ( temp 4-component vector of float)
0:9 add ( temp 4-component vector of float)
0:8 add ( temp 4-component vector of float)
0:7 add ( temp 4-component vector of float)
0:7 vector-scale ( temp 4-component vector of float)
0:7 Convert int to float ( temp float)
0:7 'a' ( temp int)
0:7 'input' ( in 4-component vector of float)
0:8 vector-scale ( temp 4-component vector of float)
0:8 Convert int to float ( temp float)
0:8 'b' ( temp int)
0:8 'input' ( in 4-component vector of float)
0:9 vector-scale ( temp 4-component vector of float)
0:9 Convert int to float ( temp float)
0:9 'c' ( temp int)
0:9 'input' ( in 4-component vector of float)
0:10 vector-scale ( temp 4-component vector of float)
0:10 Convert int to float ( temp float)
0:10 'd' ( temp int)
0:10 'input' ( in 4-component vector of float)
0:12 Comma ( temp int)
0:12 move second child to first child ( temp int)
0:12 'e' ( temp int)
0:12 move second child to first child ( temp int)
0:12 'a' ( temp int)
0:12 Test condition and select ( temp int)
0:12 Condition
0:12 Convert int to bool ( temp bool)
0:12 'b' ( temp int)
0:12 true case
0:12 move second child to first child ( temp int)
0:12 'c' ( temp int)
0:12 'd' ( temp int)
0:12 false case
0:12 Constant:
0:12 10 (const int)
0:12 move second child to first child ( temp int)
0:12 'b' ( temp int)
0:12 Test condition and select ( temp int)
0:12 Condition
0:12 Convert int to bool ( temp bool)
0:12 'a' ( temp int)
0:12 true case
0:12 move second child to first child ( temp int)
0:12 'd' ( temp int)
0:12 'c' ( temp int)
0:12 false case
0:12 Constant:
0:12 11 (const int)
0:14 move second child to first child ( temp 4-component vector of float)
0:14 'f' ( temp 4-component vector of float)
0:14 Test condition and select ( temp 4-component vector of float)
0:14 Condition
0:14 Compare Less Than ( temp bool)
0:14 direct index ( temp float)
0:14 'ret' ( temp 4-component vector of float)
0:14 Constant:
0:14 0 (const int)
0:14 direct index ( temp float)
0:14 'input' ( in 4-component vector of float)
0:14 'input' ( in 4-component vector of float)
0:14 Constant:
0:14 1 (const int)
0:14 true case
0:14 vector-scale ( temp 4-component vector of float)
0:14 Convert int to float ( temp float)
0:14 'c' ( temp int)
0:14 'input' ( in 4-component vector of float)
0:14 false case
0:14 vector-scale ( temp 4-component vector of float)
0:14 Convert int to float ( temp float)
0:14 'd' ( temp int)
0:14 'input' ( in 4-component vector of float)
0:15 Branch: Return with expression
0:15 add ( temp 4-component vector of float)
0:15 vector-scale ( temp 4-component vector of float)
0:15 Convert int to float ( temp float)
0:15 'e' ( temp int)
0:15 'ret' ( temp 4-component vector of float)
0:15 'f' ( temp 4-component vector of float)
0:2 Function Definition: PixelShaderFunction( ( temp void)
0:2 Function Parameters:
0:? Sequence
0:? Sequence
0:2 move second child to first child ( temp 4-component vector of float)
0:15 Sequence
0:15 move second child to first child ( temp int)
0:15 'a' ( temp int)
0:15 Constant:
0:15 5 (const int)
0:16 Sequence
0:16 move second child to first child ( temp int)
0:16 'b' ( temp int)
0:16 Constant:
0:16 6 (const int)
0:17 Sequence
0:17 move second child to first child ( temp int)
0:17 'c' ( temp int)
0:17 Constant:
0:17 7 (const int)
0:18 Sequence
0:18 move second child to first child ( temp int)
0:18 'd' ( temp int)
0:18 Constant:
0:18 7 (const int)
0:19 Sequence
0:19 move second child to first child ( temp 4-component vector of float)
0:19 'ret' ( temp 4-component vector of float)
0:21 add ( temp 4-component vector of float)
0:20 add ( temp 4-component vector of float)
0:19 add ( temp 4-component vector of float)
0:19 vector-scale ( temp 4-component vector of float)
0:19 Convert int to float ( temp float)
0:19 'a' ( temp int)
0:19 'input' ( in 4-component vector of float)
0:20 vector-scale ( temp 4-component vector of float)
0:20 Convert int to float ( temp float)
0:20 'b' ( temp int)
0:20 'input' ( in 4-component vector of float)
0:21 vector-scale ( temp 4-component vector of float)
0:21 Convert int to float ( temp float)
0:21 'c' ( temp int)
0:21 'input' ( in 4-component vector of float)
0:22 vector-scale ( temp 4-component vector of float)
0:22 Convert int to float ( temp float)
0:22 'd' ( temp int)
0:22 'input' ( in 4-component vector of float)
0:24 Comma ( temp int)
0:24 move second child to first child ( temp int)
0:24 'e' ( temp int)
0:24 move second child to first child ( temp int)
0:24 'a' ( temp int)
0:24 Test condition and select ( temp int)
0:24 Condition
0:24 Convert int to bool ( temp bool)
0:24 'b' ( temp int)
0:24 true case
0:24 move second child to first child ( temp int)
0:24 'c' ( temp int)
0:24 'd' ( temp int)
0:24 false case
0:24 Constant:
0:24 10 (const int)
0:24 move second child to first child ( temp int)
0:24 'b' ( temp int)
0:24 Test condition and select ( temp int)
0:24 Condition
0:24 Convert int to bool ( temp bool)
0:24 'a' ( temp int)
0:24 true case
0:24 move second child to first child ( temp int)
0:24 'd' ( temp int)
0:24 'c' ( temp int)
0:24 false case
0:24 Constant:
0:24 11 (const int)
0:26 move second child to first child ( temp 4-component vector of float)
0:26 'f' ( temp 4-component vector of float)
0:26 Test condition and select ( temp 4-component vector of float)
0:26 Condition
0:26 Compare Less Than ( temp bool)
0:26 direct index ( temp float)
0:26 'ret' ( temp 4-component vector of float)
0:26 Constant:
0:26 0 (const int)
0:26 direct index ( temp float)
0:26 'input' ( in 4-component vector of float)
0:26 Constant:
0:26 1 (const int)
0:26 true case
0:26 vector-scale ( temp 4-component vector of float)
0:26 Convert int to float ( temp float)
0:26 'c' ( temp int)
0:26 'input' ( in 4-component vector of float)
0:26 false case
0:26 vector-scale ( temp 4-component vector of float)
0:26 Convert int to float ( temp float)
0:26 'd' ( temp int)
0:26 'input' ( in 4-component vector of float)
0:27 Branch: Return with expression
0:27 add ( temp 4-component vector of float)
0:27 add ( temp 4-component vector of float)
0:27 vector-scale ( temp 4-component vector of float)
0:27 Convert int to float ( temp float)
0:27 'e' ( temp int)
0:27 'ret' ( temp 4-component vector of float)
0:27 'f' ( temp 4-component vector of float)
0:27 Function Call: vectorCond( ( temp 4-component vector of float)
0:14 Function Definition: PixelShaderFunction( ( temp void)
0:14 Function Parameters:
0:? Sequence
0:14 move second child to first child ( temp 4-component vector of float)
0:? 'input' ( temp 4-component vector of float)
0:? 'input' ( temp 4-component vector of float)
0:? 'input' (layout( location=0) in 4-component vector of float)
0:? 'input' (layout( location=0) in 4-component vector of float)
0:
2
move second child to first child ( temp 4-component vector of float)
0:
14
move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:
2
Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
0:
14
Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
0:? 'input' ( temp 4-component vector of float)
0:? 'input' ( temp 4-component vector of float)
0:? Linker Objects
0:? Linker Objects
0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4, uniform 4-component vector of float t4, uniform 4-component vector of float f4, uniform float t, uniform float f})
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'input' (layout( location=0) in 4-component vector of float)
0:? 'input' (layout( location=0) in 4-component vector of float)
// Module Version 10000
// Module Version 10000
// Generated by (magic number): 80001
// Generated by (magic number): 80001
// Id's are bound by 1
02
// Id's are bound by 1
16
Capability Shader
Capability Shader
1: ExtInstImport "GLSL.std.450"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction"
95 98
EntryPoint Fragment 4 "PixelShaderFunction"
109 112
ExecutionMode 4 OriginUpperLeft
ExecutionMode 4 OriginUpperLeft
Source HLSL 500
Source HLSL 500
Name 4 "PixelShaderFunction"
Name 4 "PixelShaderFunction"
Name 11 "@PixelShaderFunction(vf4;"
Name 9 "vectorCond("
Name 10 "input"
Name 14 "@PixelShaderFunction(vf4;"
Name 15 "a"
Name 13 "input"
Name 17 "b"
Name 16 "$Global"
Name 19 "c"
MemberName 16($Global) 0 "c4"
Name 21 "d"
MemberName 16($Global) 1 "t4"
Name 22 "ret"
MemberName 16($Global) 2 "f4"
Name 42 "e"
MemberName 16($Global) 3 "t"
Name 64 "f"
MemberName 16($Global) 4 "f"
Name 93 "input"
Name 18 ""
Name 95 "input"
Name 27 "a"
Name 98 "@entryPointOutput"
Name 29 "b"
Name 99 "param"
Name 31 "c"
Decorate 95(input) Location 0
Name 33 "d"
Decorate 98(@entryPointOutput) Location 0
Name 34 "ret"
Name 54 "e"
Name 76 "f"
Name 107 "input"
Name 109 "input"
Name 112 "@entryPointOutput"
Name 113 "param"
MemberDecorate 16($Global) 0 Offset 0
MemberDecorate 16($Global) 1 Offset 16
MemberDecorate 16($Global) 2 Offset 32
MemberDecorate 16($Global) 3 Offset 48
MemberDecorate 16($Global) 4 Offset 52
Decorate 16($Global) Block
Decorate 18 DescriptorSet 0
Decorate 109(input) Location 0
Decorate 112(@entryPointOutput) Location 0
2: TypeVoid
2: TypeVoid
3: TypeFunction 2
3: TypeFunction 2
6: TypeFloat 32
6: TypeFloat 32
7: TypeVector 6(float) 4
7: TypeVector 6(float) 4
8: TypePointer Function 7(fvec4)
8: TypeFunction 7(fvec4)
9: TypeFunction 7(fvec4) 8(ptr)
11: TypePointer Function 7(fvec4)
13: TypeInt 32 1
12: TypeFunction 7(fvec4) 11(ptr)
14: TypePointer Function 13(int)
16($Global): TypeStruct 7(fvec4) 7(fvec4) 7(fvec4) 6(float) 6(float)
16: 13(int) Constant 5
17: TypePointer Uniform 16($Global)
18: 13(int) Constant 6
18: 17(ptr) Variable Uniform
20: 13(int) Constant 7
19: TypeInt 32 1
45: TypeBool
20: 19(int) Constant 2
46: TypeInt 32 0
21: TypePointer Uniform 7(fvec4)
47: 46(int) Constant 0
26: TypePointer Function 19(int)
53: 13(int) Constant 10
28: 19(int) Constant 5
62: 13(int) Constant 11
30: 19(int) Constant 6
66: TypePointer Function 6(float)
32: 19(int) Constant 7
69: 46(int) Constant 1
57: TypeBool
94: TypePointer Input 7(fvec4)
58: TypeInt 32 0
95(input): 94(ptr) Variable Input
59: 58(int) Constant 0
97: TypePointer Output 7(fvec4)
65: 19(int) Constant 10
98(@entryPointOutput): 97(ptr) Variable Output
74: 19(int) Constant 11
78: TypePointer Function 6(float)
81: 58(int) Constant 1
108: TypePointer Input 7(fvec4)
109(input): 108(ptr) Variable Input
111: TypePointer Output 7(fvec4)
112(@entryPointOutput): 111(ptr) Variable Output
4(PixelShaderFunction): 2 Function None 3
4(PixelShaderFunction): 2 Function None 3
5: Label
5: Label
93(input): 8
(ptr) Variable Function
107(input): 11
(ptr) Variable Function
99(param): 8
(ptr) Variable Function
113(param): 11
(ptr) Variable Function
96: 7(fvec4) Load 95
(input)
110: 7(fvec4) Load 109
(input)
Store
93(input) 96
Store
107(input) 110
1
00: 7(fvec4) Load 93
(input)
1
14: 7(fvec4) Load 107
(input)
Store
99(param) 100
Store
113(param) 114
1
01: 7(fvec4) FunctionCall 11(@PixelShaderFunction(vf4;) 99
(param)
1
15: 7(fvec4) FunctionCall 14(@PixelShaderFunction(vf4;) 113
(param)
Store
98(@entryPointOutput) 101
Store
112(@entryPointOutput) 115
Return
Return
FunctionEnd
FunctionEnd
11(@PixelShaderFunction(vf4;): 7(fvec4) Function None 9
9(vectorCond(): 7(fvec4) Function None 8
10(input): 8(ptr) FunctionParameter
10: Label
12: Label
22: 21(ptr) AccessChain 18 20
15(a): 14(ptr) Variable Function
23: 7(fvec4) Load 22
17(b): 14(ptr) Variable Function
ReturnValue 23
19(c): 14(ptr) Variable Function
FunctionEnd
21(d): 14(ptr) Variable Function
14(@PixelShaderFunction(vf4;): 7(fvec4) Function None 12
22(ret): 8(ptr) Variable Function
13(input): 11(ptr) FunctionParameter
42(e): 14(ptr) Variable Function
15: Label
43: 14(ptr) Variable Function
27(a): 26(ptr) Variable Function
55: 14(ptr) Variable Function
29(b): 26(ptr) Variable Function
64(f): 8(ptr) Variable Function
31(c): 26(ptr) Variable Function
65: 8(ptr) Variable Function
33(d): 26(ptr) Variable Function
Store 15(a) 16
34(ret): 11(ptr) Variable Function
Store 17(b) 18
54(e): 26(ptr) Variable Function
Store 19(c) 20
55: 26(ptr) Variable Function
Store 21(d) 20
67: 26(ptr) Variable Function
23: 13(int) Load 15(a)
76(f): 11(ptr) Variable Function
24: 6(float) ConvertSToF 23
77: 11(ptr) Variable Function
25: 7(fvec4) Load 10(input)
Store 27(a) 28
26: 7(fvec4) VectorTimesScalar 25 24
Store 29(b) 30
27: 13(int) Load 17(b)
Store 31(c) 32
28: 6(float) ConvertSToF 27
Store 33(d) 32
29: 7(fvec4) Load 10(input)
35: 19(int) Load 27(a)
30: 7(fvec4) VectorTimesScalar 29 28
36: 6(float) ConvertSToF 35
31: 7(fvec4) FAdd 26 30
37: 7(fvec4) Load 13(input)
32: 13(int) Load 19(c)
38: 7(fvec4) VectorTimesScalar 37 36
33: 6(float) ConvertSToF 32
39: 19(int) Load 29(b)
34: 7(fvec4) Load 10(input)
40: 6(float) ConvertSToF 39
35: 7(fvec4) VectorTimesScalar 34 33
41: 7(fvec4) Load 13(input)
36: 7(fvec4) FAdd 31 35
42: 7(fvec4) VectorTimesScalar 41 40
37: 13(int) Load 21(d)
43: 7(fvec4) FAdd 38 42
38: 6(float) ConvertSToF 37
44: 19(int) Load 31(c)
39: 7(fvec4) Load 10(input)
45: 6(float) ConvertSToF 44
40: 7(fvec4) VectorTimesScalar 39 38
46: 7(fvec4) Load 13(input)
41: 7(fvec4) FAdd 36 40
47: 7(fvec4) VectorTimesScalar 46 45
Store 22(ret) 41
48: 7(fvec4) FAdd 43 47
44: 13(int) Load 17(b)
49: 19(int) Load 33(d)
48: 45(bool) INotEqual 44 47
50: 6(float) ConvertSToF 49
SelectionMerge 50 None
51: 7(fvec4) Load 13(input)
BranchConditional 48 49 52
52: 7(fvec4) VectorTimesScalar 51 50
49: Label
53: 7(fvec4) FAdd 48 52
51: 13(int) Load 21(d)
Store 34(ret) 53
Store 19(c) 51
56: 19(int) Load 29(b)
Store 43 51
60: 57(bool) INotEqual 56 59
Branch 50
SelectionMerge 62 None
52: Label
BranchConditional 60 61 64
Store 43 53
Branch 50
50: Label
54: 13(int) Load 43
Store 15(a) 54
Store 42(e) 54
56: 13(int) Load 15(a)
57: 45(bool) INotEqual 56 47
SelectionMerge 59 None
BranchConditional 57 58 61
58: Label
60: 13(int) Load 19(c)
Store 21(d) 60
Store 55 60
Branch 59
61: Label
61: Label
Store 55 62
63: 19(int) Load 33(d)
Branch 59
Store 31(c) 63
59: Label
Store 55 63
63: 13(int) Load 55
Branch 62
Store 17(b) 63
64: Label
67: 66(ptr) AccessChain 22(ret) 47
Store 55 65
68: 6(float) Load 67
Branch 62
70: 66(ptr) AccessChain 10(input) 69
62: Label
71: 6(float) Load 70
66: 19(int) Load 55
72: 45(bool) FOrdLessThan 68 71
Store 27(a) 66
SelectionMerge 74 None
Store 54(e) 66
BranchConditional 72 73 79
68: 19(int) Load 27(a)
69: 57(bool) INotEqual 68 59
SelectionMerge 71 None
BranchConditional 69 70 73
70: Label
72: 19(int) Load 31(c)
Store 33(d) 72
Store 67 72
Branch 71
73: Label
73: Label
75: 13(int) Load 19(c)
Store 67 74
76: 6(float) ConvertSToF 75
Branch 71
77: 7(fvec4) Load 10(input)
71: Label
78: 7(fvec4) VectorTimesScalar 77 76
75: 19(int) Load 67
Store 65 78
Store 29(b) 75
Branch 74
79: 78(ptr) AccessChain 34(ret) 59
79: Label
80: 6(float) Load 79
80: 13(int) Load 21(d)
82: 78(ptr) AccessChain 13(input) 81
81: 6(float) ConvertSToF 80
83: 6(float) Load 82
82: 7(fvec4) Load 10(input)
84: 57(bool) FOrdLessThan 80 83
83: 7(fvec4) VectorTimesScalar 82 81
SelectionMerge 86 None
Store 65 83
BranchConditional 84 85 91
Branch 74
85: Label
74: Label
87: 19(int) Load 31(c)
84: 7(fvec4) Load 65
88: 6(float) ConvertSToF 87
Store 64(f) 84
89: 7(fvec4) Load 13(input)
85: 13(int) Load 42(e)
90: 7(fvec4) VectorTimesScalar 89 88
86: 6(float) ConvertSToF 85
Store 77 90
87: 7(fvec4) Load 22(ret)
Branch 86
88: 7(fvec4) VectorTimesScalar 87 86
91: Label
89: 7(fvec4) Load 64(f)
92: 19(int) Load 33(d)
90: 7(fvec4) FAdd 88 89
93: 6(float) ConvertSToF 92
ReturnValue 90
94: 7(fvec4) Load 13(input)
95: 7(fvec4) VectorTimesScalar 94 93
Store 77 95
Branch 86
86: Label
96: 7(fvec4) Load 77
Store 76(f) 96
97: 19(int) Load 54(e)
98: 6(float) ConvertSToF 97
99: 7(fvec4) Load 34(ret)
100: 7(fvec4) VectorTimesScalar 99 98
101: 7(fvec4) Load 76(f)
102: 7(fvec4) FAdd 100 101
103: 7(fvec4) FunctionCall 9(vectorCond()
104: 7(fvec4) FAdd 102 103
ReturnValue 104
FunctionEnd
FunctionEnd
Test/hlsl.conditional.frag
View file @
34718204
float4
c4
;
float4
t4
;
float4
f4
;
float
t
;
float
f
;
float4
vectorCond
()
{
return
f4
;
// return (c4 ? t4 : f4) +
// (c4 ? t : f );
}
float4
PixelShaderFunction
(
float4
input
)
:
COLOR0
float4
PixelShaderFunction
(
float4
input
)
:
COLOR0
{
{
int
a
=
1
<
2
?
3
<
4
?
5
:
6
:
7
;
int
a
=
1
<
2
?
3
<
4
?
5
:
6
:
7
;
...
@@ -12,5 +24,5 @@ float4 PixelShaderFunction(float4 input) : COLOR0
...
@@ -12,5 +24,5 @@ float4 PixelShaderFunction(float4 input) : COLOR0
e
=
a
=
b
?
c
=
d
:
10
,
b
=
a
?
d
=
c
:
11
;
e
=
a
=
b
?
c
=
d
:
10
,
b
=
a
?
d
=
c
:
11
;
float4
f
;
float4
f
;
f
=
ret
.
x
<
input
.
y
?
c
*
input
:
d
*
input
;
f
=
ret
.
x
<
input
.
y
?
c
*
input
:
d
*
input
;
return
e
*
ret
+
f
;
return
e
*
ret
+
f
+
vectorCond
()
;
}
}
glslang/Include/revision.h
View file @
34718204
...
@@ -2,5 +2,5 @@
...
@@ -2,5 +2,5 @@
// For the version, it uses the latest git tag followed by the number of commits.
// For the version, it uses the latest git tag followed by the number of commits.
// For the date, it uses the current date (when then script is run).
// For the date, it uses the current date (when then script is run).
#define GLSLANG_REVISION "Overload400-PrecQual.199
0
"
#define GLSLANG_REVISION "Overload400-PrecQual.199
2
"
#define GLSLANG_DATE "11-Apr-2017"
#define GLSLANG_DATE "11-Apr-2017"
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