struct SPIRBlock
Defined at line 783 of file ../../third_party/spirv-cross/src/spirv_common.hpp
Public Members
Terminator terminator
Merge merge
Hints hint
TypedID next_block
TypedID merge_block
TypedID continue_block
TypedID return_value
TypedID condition
TypedID true_block
TypedID false_block
TypedID default_block
mesh
SmallVector ops
SmallVector phi_variables
SmallVector declare_temporary
SmallVector potential_declare_temporary
SmallVector cases_32bit
SmallVector cases_64bit
bool disable_block_optimization
bool complex_continue
bool need_ladder_break
TypedID ignore_phi_from_block
TypedID loop_dominator
SmallVector dominated_variables
SmallVector loop_variables
SmallVector invalidate_expressions
Public Methods
IVariant * clone (ObjectPoolBase * pool)
Defined at line 932 of file ../../third_party/spirv-cross/src/spirv_common.hpp
Enumerations
enum (unnamed)
| Name | Value |
|---|---|
| type | TypeBlock |
Defined at line 785 of file ../../third_party/spirv-cross/src/spirv_common.hpp
enum Terminator
| Name | Value | Comments |
|---|---|---|
| Unknown | 0 | -- |
| Direct | 1 |
Emit next block directly without a particular condition. |
| Select | 2 |
Block ends with an if/else block. |
| MultiSelect | 3 |
Block ends with switch statement. |
| Return | 4 |
Block ends with return. |
| Unreachable | 5 |
Noop |
| Kill | 6 |
Discard |
| IgnoreIntersection | 7 |
Ray Tracing |
| TerminateRay | 8 |
Ray Tracing |
| EmitMeshTasks | 9 |
Mesh shaders |
Defined at line 790 of file ../../third_party/spirv-cross/src/spirv_common.hpp
enum Merge
| Name | Value |
|---|---|
| MergeNone | 0 |
| MergeLoop | 1 |
| MergeSelection | 2 |
Defined at line 806 of file ../../third_party/spirv-cross/src/spirv_common.hpp
enum Hints
| Name | Value |
|---|---|
| HintNone | 0 |
| HintUnroll | 1 |
| HintDontUnroll | 2 |
| HintFlatten | 3 |
| HintDontFlatten | 4 |
Defined at line 813 of file ../../third_party/spirv-cross/src/spirv_common.hpp
enum Method
| Name | Value |
|---|---|
| MergeToSelectForLoop | 0 |
| MergeToDirectForLoop | 1 |
| MergeToSelectContinueForLoop | 2 |
Defined at line 822 of file ../../third_party/spirv-cross/src/spirv_common.hpp
enum ContinueBlockType
| Name | Value | Comments |
|---|---|---|
| ContinueNone | 0 | -- |
| ForLoop | 1 |
Continue block is branchless and has at least one instruction. |
| WhileLoop | 2 |
Noop continue block. |
| DoWhileLoop | 3 |
Continue block is conditional. |
| ComplexLoop | 4 |
Highly unlikely that anything will use this, |
Defined at line 829 of file ../../third_party/spirv-cross/src/spirv_common.hpp
enum (unnamed) : uint32_t
| Name | Value |
|---|---|
| NoDominator | 0xffffffffu |
Defined at line 847 of file ../../third_party/spirv-cross/src/spirv_common.hpp