A removed block releases its instructions, so Module::idToInstruction suddenly contains dangling references. The original motivation for block removal was to skip some unreachable blocks, but that's already achieved by InReadableOrder.cpp. Also updated stale comments.
56 lines
2.2 KiB
Plaintext
56 lines
2.2 KiB
Plaintext
spv.for-notest.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 23
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Vertex 4 "main" 15 21 22
|
|
Source GLSL 450
|
|
Name 4 "main"
|
|
Name 8 "i"
|
|
Name 15 "r"
|
|
Name 21 "gl_VertexID"
|
|
Name 22 "gl_InstanceID"
|
|
Decorate 15(r) Location 0
|
|
Decorate 21(gl_VertexID) BuiltIn VertexId
|
|
Decorate 22(gl_InstanceID) BuiltIn InstanceId
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeInt 32 1
|
|
7: TypePointer Function 6(int)
|
|
9: 6(int) Constant 0
|
|
14: TypePointer Output 6(int)
|
|
15(r): 14(ptr) Variable Output
|
|
18: 6(int) Constant 1
|
|
20: TypePointer Input 6(int)
|
|
21(gl_VertexID): 20(ptr) Variable Input
|
|
22(gl_InstanceID): 20(ptr) Variable Input
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
8(i): 7(ptr) Variable Function
|
|
Store 8(i) 9
|
|
Branch 10
|
|
10: Label
|
|
LoopMerge 12 13 None
|
|
Branch 11
|
|
11: Label
|
|
16: 6(int) Load 8(i)
|
|
Store 15(r) 16
|
|
Branch 13
|
|
13: Label
|
|
17: 6(int) Load 8(i)
|
|
19: 6(int) IAdd 17 18
|
|
Store 8(i) 19
|
|
Branch 10
|
|
12: Label
|
|
Return
|
|
FunctionEnd
|