spv.while-continue-break.vert

Linked vertex stage:


// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 42

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Vertex 4  "main" 40 41
                              Source ESSL 300
                              Name 4  "main"
                              Name 8  "i"
                              Name 17  "A"
                              Name 25  "B"
                              Name 27  "C"
                              Name 37  "D"
                              Name 40  "gl_VertexID"
                              Name 41  "gl_InstanceID"
                              Decorate 40(gl_VertexID) BuiltIn VertexId
                              Decorate 41(gl_InstanceID) BuiltIn InstanceId
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 1
               7:             TypePointer Function 6(int)
               9:      6(int) Constant 0
              14:      6(int) Constant 10
              15:             TypeBool
              18:      6(int) Constant 1
              20:      6(int) Constant 2
              29:      6(int) Constant 5
              38:      6(int) Constant 3
              39:             TypePointer Input 6(int)
 40(gl_VertexID):     39(ptr) Variable Input
41(gl_InstanceID):     39(ptr) Variable Input
         4(main):           2 Function None 3
               5:             Label
            8(i):      7(ptr) Variable Function
           17(A):      7(ptr) Variable Function
           25(B):      7(ptr) Variable Function
           27(C):      7(ptr) Variable Function
           37(D):      7(ptr) Variable Function
                              Store 8(i) 9
                              Branch 10
              10:             Label
              13:      6(int) Load 8(i)
              16:    15(bool) SLessThan 13 14
                              LoopMerge 11 10 None
                              BranchConditional 16 12 11
              12:               Label
                                Store 17(A) 18
              19:      6(int)   Load 8(i)
              21:      6(int)   SMod 19 20
              22:    15(bool)   IEqual 21 9
                                SelectionMerge 24 None
                                BranchConditional 22 23 24
              23:                 Label
                                  Store 25(B) 20
                                  Branch 10
              26:                 Label
                                  Store 27(C) 20
                                  Branch 24
              24:               Label
              28:      6(int)   Load 8(i)
              30:      6(int)   SMod 28 29
              31:    15(bool)   IEqual 30 9
                                SelectionMerge 33 None
                                BranchConditional 31 32 33
              32:                 Label
                                  Store 25(B) 20
                                  Branch 11
              34:                 Label
                                  Store 27(C) 20
                                  Branch 33
              33:               Label
              35:      6(int)   Load 8(i)
              36:      6(int)   IAdd 35 18
                                Store 8(i) 36
                                Branch 10
              11:             Label
                              Store 37(D) 38
                              Return
                              FunctionEnd
