diff --git a/Test/baseResults/spv.for-complex-condition.vert.out b/Test/baseResults/spv.for-complex-condition.vert.out new file mode 100644 index 00000000..3e0e5a73 --- /dev/null +++ b/Test/baseResults/spv.for-complex-condition.vert.out @@ -0,0 +1,78 @@ +spv.for-complex-condition.vert +Warning, version 450 is not yet complete; most version-specific features are present, but some are missing. + + +Linked vertex stage: + + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 37 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Vertex 4 "main" 18 31 35 36 + Source GLSL 450 + Name 4 "main" + Name 8 "i" + Name 18 "flag" + Name 31 "r" + Name 35 "gl_VertexID" + Name 36 "gl_InstanceID" + Decorate 18(flag) Location 0 + Decorate 31(r) Location 0 + Decorate 35(gl_VertexID) BuiltIn VertexId + Decorate 36(gl_InstanceID) BuiltIn InstanceId + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeInt 32 1 + 7: TypePointer Function 6(int) + 9: 6(int) Constant 0 + 17: TypePointer Input 6(int) + 18(flag): 17(ptr) Variable Input + 20: 6(int) Constant 1 + 21: TypeBool + 25: 6(int) Constant 10 + 27: 6(int) Constant 15 + 30: TypePointer Output 6(int) + 31(r): 30(ptr) Variable Output + 35(gl_VertexID): 17(ptr) Variable Input +36(gl_InstanceID): 17(ptr) Variable Input + 4(main): 2 Function None 3 + 5: Label + 8(i): 7(ptr) Variable Function + 16: 7(ptr) Variable Function + Store 8(i) 9 + Branch 10 + 10: Label + LoopMerge 12 13 None + Branch 14 + 14: Label + 15: 6(int) Load 8(i) + 19: 6(int) Load 18(flag) + 22: 21(bool) IEqual 19 20 + SelectionMerge 24 None + BranchConditional 22 23 26 + 23: Label + Store 16 25 + Branch 24 + 26: Label + Store 16 27 + Branch 24 + 24: Label + 28: 6(int) Load 16 + 29: 21(bool) SLessThan 15 28 + BranchConditional 29 11 12 + 11: Label + 32: 6(int) Load 8(i) + Store 31(r) 32 + Branch 13 + 13: Label + 33: 6(int) Load 8(i) + 34: 6(int) IAdd 33 20 + Store 8(i) 34 + Branch 10 + 12: Label + Return + FunctionEnd diff --git a/Test/spv.for-complex-condition.vert b/Test/spv.for-complex-condition.vert new file mode 100644 index 00000000..81dd6489 --- /dev/null +++ b/Test/spv.for-complex-condition.vert @@ -0,0 +1,7 @@ +#version 450 +layout(location=0) out highp int r; +layout(location=0) in lowp int flag; +void main() { + int i; + for (i=0; i < (flag==1 ? 10 : 15) ; i++) { r = i; } +} diff --git a/Test/test-spirv-list b/Test/test-spirv-list index 838e061a..2182cad9 100644 --- a/Test/test-spirv-list +++ b/Test/test-spirv-list @@ -3,6 +3,7 @@ # goes to the innermost target. spv.do-simple.vert spv.do-while-continue-break.vert +spv.for-complex-condition.vert spv.for-continue-break.vert spv.for-simple.vert spv.for-notest.vert