structured_control_flow: Conditionally invoke demote reorder pass

This is only needed on select drivers when a fragment shader discards/demotes.
This commit is contained in:
ameerj 2021-08-23 20:00:11 -04:00
parent 862dc2b2b3
commit 4fda7f1c82
7 changed files with 23 additions and 10 deletions

View file

@ -130,7 +130,7 @@ void AddNVNStorageBuffers(IR::Program& program) {
IR::Program TranslateProgram(ObjectPool<IR::Inst>& inst_pool, ObjectPool<IR::Block>& block_pool,
Environment& env, Flow::CFG& cfg, const HostTranslateInfo& host_info) {
IR::Program program;
program.syntax_list = BuildASL(inst_pool, block_pool, env, cfg);
program.syntax_list = BuildASL(inst_pool, block_pool, env, cfg, host_info);
program.blocks = GenerateBlocks(program.syntax_list);
program.post_order_blocks = PostOrder(program.syntax_list.front());
program.stage = env.ShaderStage();