Searched refs:SPIRBlock (Results 1 – 14 of 14) sorted by relevance
/third_party/skia/third_party/externals/spirv-cross/ |
D | spirv_cfg.cpp | 107 auto &block = compiler.get<SPIRBlock>(block_id); in post_order_visit() 119 if (block.merge == SPIRBlock::MergeLoop && post_order_visit(block.merge_block)) in post_order_visit() 125 case SPIRBlock::Direct: in post_order_visit() 130 case SPIRBlock::Select: in post_order_visit() 137 case SPIRBlock::MultiSelect: in post_order_visit() 158 if (block.merge == SPIRBlock::MergeSelection && post_order_visit(block.next_block)) in post_order_visit() 177 if (block.terminator == SPIRBlock::MultiSelect && num_succeeding_edges == 1) in post_order_visit() 230 while (block_id != SPIRBlock::NoDominator) in find_loop_dominator() 234 return SPIRBlock::NoDominator; in find_loop_dominator() 236 return SPIRBlock::NoDominator; in find_loop_dominator() [all …]
|
D | spirv_cross.hpp | 561 SPIRBlock *current_block = nullptr; 685 auto &block = get<SPIRBlock>(next); in is_single_block_loop() 686 return block.merge == SPIRBlock::MergeLoop && block.continue_block == ID(next); in is_single_block_loop() 712 void register_global_read_dependencies(const SPIRBlock &func, uint32_t id); 725 bool block_is_pure(const SPIRBlock &block); 727 bool execution_is_branchless(const SPIRBlock &from, const SPIRBlock &to) const; 728 bool execution_is_direct_branch(const SPIRBlock &from, const SPIRBlock &to) const; 729 bool execution_is_noop(const SPIRBlock &from, const SPIRBlock &to) const; 730 SPIRBlock::ContinueBlockType continue_block_type(const SPIRBlock &continue_block) const; 737 bool block_is_loop_candidate(const SPIRBlock &block, SPIRBlock::Method method) const; [all …]
|
D | spirv_cross.cpp | 96 bool Compiler::block_is_pure(const SPIRBlock &block) in block_is_pure() 99 if (block.terminator == SPIRBlock::Kill || in block_is_pure() 100 block.terminator == SPIRBlock::TerminateRay || in block_is_pure() 101 block.terminator == SPIRBlock::IgnoreIntersection) in block_is_pure() 221 if (!block_is_pure(get<SPIRBlock>(block))) in function_is_pure() 232 void Compiler::register_global_read_dependencies(const SPIRBlock &block, uint32_t id) in register_global_read_dependencies() 273 register_global_read_dependencies(get<SPIRBlock>(block), id); in register_global_read_dependencies() 408 auto &block = get<SPIRBlock>(block_id); in flush_control_dependent_expressions() 1423 bool Compiler::block_is_loop_candidate(const SPIRBlock &block, SPIRBlock::Method method) const in block_is_loop_candidate() 1429 if (method == SPIRBlock::MergeToSelectForLoop || method == SPIRBlock::MergeToSelectContinueForLoop) in block_is_loop_candidate() [all …]
|
D | spirv_parser.cpp | 937 current_block = &set<SPIRBlock>(id); in parse() 948 current_block->terminator = SPIRBlock::Direct; in parse() 963 current_block->terminator = SPIRBlock::Select; in parse() 973 current_block->terminator = SPIRBlock::MultiSelect; in parse() 992 current_block->terminator = SPIRBlock::Kill; in parse() 1001 current_block->terminator = SPIRBlock::TerminateRay; in parse() 1009 current_block->terminator = SPIRBlock::IgnoreIntersection; in parse() 1017 current_block->terminator = SPIRBlock::Return; in parse() 1026 current_block->terminator = SPIRBlock::Return; in parse() 1036 current_block->terminator = SPIRBlock::Unreachable; in parse() [all …]
|
D | spirv_glsl.hpp | 354 SPIRBlock *current_emitting_block = nullptr; 355 SPIRBlock *current_emitting_switch = nullptr; 359 void emit_block_instructions(SPIRBlock &block); 497 const SPIRBlock *current_continue_block = nullptr; 609 void emit_block_chain(SPIRBlock &block); 615 bool attempt_emit_loop_header(SPIRBlock &block, SPIRBlock::Method method); 622 void flush_undeclared_variables(SPIRBlock &block); 753 virtual void emit_block_hints(const SPIRBlock &block); 883 std::string emit_for_loop_initializers(const SPIRBlock &block); 884 void emit_while_loop_initializers(const SPIRBlock &block); [all …]
|
D | spirv_glsl.cpp | 5561 auto &header = get<SPIRBlock>(current_continue_block->loop_dominator); in emit_uninitialized_temporary() 5597 auto &header = get<SPIRBlock>(current_continue_block->loop_dominator); in declare_temporary() 9812 void CompilerGLSL::emit_block_instructions(SPIRBlock &block) in emit_block_instructions() 13790 auto &b = get<SPIRBlock>(block); in emit_function() 13814 auto &entry_block = get<SPIRBlock>(func.entry_block); in emit_function() 13901 auto &block = get<SPIRBlock>(block_id); in emit_function() 13940 auto &child = get<SPIRBlock>(to); in flush_phi() 13966 find_if(itr + 1, end(child.phi_variables), [&](const SPIRBlock::Phi &future_phi) -> bool { in flush_phi() 14004 auto &to_block = get<SPIRBlock>(to); in branch_to_continue() 14021 auto &from_block = get<SPIRBlock>(from); in branch_to_continue() [all …]
|
D | spirv_cpp.hpp | 76 void emit_block_chain(SPIRBlock &block);
|
D | spirv_parser.hpp | 48 SPIRBlock *current_block = nullptr;
|
D | spirv_hlsl.hpp | 266 void emit_block_hints(const SPIRBlock &block) override;
|
D | spirv_common.hpp | 732 struct SPIRBlock : IVariant struct 872 SPIRV_CROSS_DECLARE_CLONE(SPIRBlock)
|
D | spirv_hlsl.cpp | 5810 void CompilerHLSL::emit_block_hints(const SPIRBlock &block) in emit_block_hints() 5814 case SPIRBlock::HintFlatten: in emit_block_hints() 5817 case SPIRBlock::HintDontFlatten: in emit_block_hints() 5820 case SPIRBlock::HintUnroll: in emit_block_hints() 5823 case SPIRBlock::HintDontUnroll: in emit_block_hints()
|
D | spirv_cross_parsed_ir.cpp | 44 pool_group->pools[TypeBlock].reset(new ObjectPool<SPIRBlock>); in ParsedIR()
|
D | spirv_msl.hpp | 733 void emit_block_hints(const SPIRBlock &block) override;
|
D | spirv_msl.cpp | 1586 auto &b = get<SPIRBlock>(block); in extract_global_variables_from_function() 3478 auto &blk = get<SPIRBlock>(blk_id); in add_interface_block() 3479 if (blk.terminator == SPIRBlock::Return) in add_interface_block() 15976 void CompilerMSL::emit_block_hints(const SPIRBlock &) in emit_block_hints() argument
|