|
|
@ -13,6 +13,10 @@ namespace Shader::IR { |
|
|
class Block; |
|
|
class Block; |
|
|
|
|
|
|
|
|
struct AbstractSyntaxNode { |
|
|
struct AbstractSyntaxNode { |
|
|
|
|
|
struct NonTrivialDummy { |
|
|
|
|
|
NonTrivialDummy() {} |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
enum class Type { |
|
|
enum class Type { |
|
|
Block, |
|
|
Block, |
|
|
If, |
|
|
If, |
|
|
@ -25,7 +29,8 @@ struct AbstractSyntaxNode { |
|
|
}; |
|
|
}; |
|
|
Type type{}; |
|
|
Type type{}; |
|
|
union { |
|
|
union { |
|
|
Block* block{}; |
|
|
|
|
|
|
|
|
NonTrivialDummy dummy{}; |
|
|
|
|
|
Block* block; |
|
|
struct { |
|
|
struct { |
|
|
U1 cond; |
|
|
U1 cond; |
|
|
Block* body; |
|
|
Block* body; |
|
|
|