shader: Simplify MergeDualVertexPrograms

This commit is contained in:
ReinUsesLisp 2021-06-16 05:02:19 -03:00 committed by ameerj
parent 374eeda1a3
commit 1091995f8e

View File

@ -174,14 +174,12 @@ IR::Program MergeDualVertexPrograms(IR::Program& vertex_a, IR::Program& vertex_b
Optimization::VertexATransformPass(vertex_a); Optimization::VertexATransformPass(vertex_a);
Optimization::VertexBTransformPass(vertex_b); Optimization::VertexBTransformPass(vertex_b);
for (const auto& term : vertex_a.syntax_list) { for (const auto& term : vertex_a.syntax_list) {
if (term.type == IR::AbstractSyntaxNode::Type::Return) { if (term.type != IR::AbstractSyntaxNode::Type::Return) {
continue; result.syntax_list.push_back(term);
} }
result.syntax_list.push_back(term);
}
for (const auto& term : vertex_b.syntax_list) {
result.syntax_list.push_back(term);
} }
result.syntax_list.insert(result.syntax_list.end(), vertex_b.syntax_list.begin(),
vertex_b.syntax_list.end());
result.blocks = GenerateBlocks(result.syntax_list); result.blocks = GenerateBlocks(result.syntax_list);
result.post_order_blocks = vertex_b.post_order_blocks; result.post_order_blocks = vertex_b.post_order_blocks;
for (const auto& block : vertex_a.post_order_blocks) { for (const auto& block : vertex_a.post_order_blocks) {