@@ -161,7 +161,7 @@ uint32_t SpirvShaderTranslator::GetModificationRegisterCount() const {
161161
162162void SpirvShaderTranslator::StartTranslation () {
163163 // TODO(Triang3l): Logger.
164- builder_ = std::make_unique<spv::Builder >(
164+ builder_ = std::make_unique<SpirvBuilder >(
165165 features_.spirv_version , (kSpirvMagicToolId << 16 ) | 1 , nullptr );
166166
167167 builder_->addCapability (IsSpirvTessEvalShader () ? spv::CapabilityTessellation
@@ -591,8 +591,8 @@ void SpirvShaderTranslator::StartTranslation() {
591591 main_switch_header_ = builder_->getBuildPoint ();
592592 main_switch_merge_ =
593593 new spv::Block (builder_->getUniqueId (), *function_main_);
594- SpirvCreateSelectionMerge (main_switch_merge_-> getId () ,
595- spv::SelectionControlDontFlattenMask);
594+ builder_-> createSelectionMerge (main_switch_merge_ ,
595+ spv::SelectionControlDontFlattenMask);
596596 main_switch_op_ = std::make_unique<spv::Instruction>(spv::OpSwitch);
597597 main_switch_op_->addIdOperand (main_loop_pc_current);
598598 main_switch_op_->addIdOperand (main_switch_merge_->getId ());
@@ -914,7 +914,7 @@ void SpirvShaderTranslator::ProcessLoopStartInstruction(
914914 spv::OpIEqual, type_bool_, loop_count_new, const_uint_0_);
915915 spv::Block& skip_block = builder_->makeNewBlock ();
916916 spv::Block& body_block = builder_->makeNewBlock ();
917- SpirvCreateSelectionMerge ( body_block. getId () );
917+ builder_-> createSelectionMerge (& body_block, spv::SelectionControlMaskNone );
918918 {
919919 std::unique_ptr<spv::Instruction> branch_conditional_op =
920920 std::make_unique<spv::Instruction>(spv::OpBranchConditional);
@@ -976,7 +976,7 @@ void SpirvShaderTranslator::ProcessLoopEndInstruction(
976976 spv::Block& body_block = *builder_->getBuildPoint ();
977977 spv::Block& continue_block = builder_->makeNewBlock ();
978978 spv::Block& break_block = builder_->makeNewBlock ();
979- SpirvCreateSelectionMerge ( break_block. getId () );
979+ builder_-> createSelectionMerge (& break_block, spv::SelectionControlMaskNone );
980980 {
981981 std::unique_ptr<spv::Instruction> branch_conditional_op =
982982 std::make_unique<spv::Instruction>(spv::OpBranchConditional);
@@ -1293,8 +1293,8 @@ void SpirvShaderTranslator::StartVertexOrTessEvalShaderInMain() {
12931293 spv::Block& block_load_vertex_index_pre = *builder_->getBuildPoint ();
12941294 spv::Block& block_load_vertex_index_start = builder_->makeNewBlock ();
12951295 spv::Block& block_load_vertex_index_merge = builder_->makeNewBlock ();
1296- SpirvCreateSelectionMerge ( block_load_vertex_index_merge. getId () ,
1297- spv::SelectionControlDontFlattenMask);
1296+ builder_-> createSelectionMerge (& block_load_vertex_index_merge,
1297+ spv::SelectionControlDontFlattenMask);
12981298 builder_->createConditionalBranch (load_vertex_index,
12991299 &block_load_vertex_index_start,
13001300 &block_load_vertex_index_merge);
@@ -1389,8 +1389,8 @@ void SpirvShaderTranslator::StartVertexOrTessEvalShaderInMain() {
13891389 spv::Block& block_load_vertex_index_pre = *builder_->getBuildPoint ();
13901390 spv::Block& block_load_vertex_index_start = builder_->makeNewBlock ();
13911391 spv::Block& block_load_vertex_index_merge = builder_->makeNewBlock ();
1392- SpirvCreateSelectionMerge ( block_load_vertex_index_merge. getId () ,
1393- spv::SelectionControlDontFlattenMask);
1392+ builder_-> createSelectionMerge (& block_load_vertex_index_merge,
1393+ spv::SelectionControlDontFlattenMask);
13941394 builder_->createConditionalBranch (load_vertex_index,
13951395 &block_load_vertex_index_start,
13961396 &block_load_vertex_index_merge);
@@ -1992,8 +1992,8 @@ void SpirvShaderTranslator::StartFragmentShaderInMain() {
19921992 builder_->makeNewBlock ();
19931993 main_fsi_early_depth_stencil_execute_quad_merge_ =
19941994 &builder_->makeNewBlock ();
1995- SpirvCreateSelectionMerge (
1996- main_fsi_early_depth_stencil_execute_quad_merge_-> getId () ,
1995+ builder_-> createSelectionMerge (
1996+ main_fsi_early_depth_stencil_execute_quad_merge_,
19971997 spv::SelectionControlDontFlattenMask);
19981998 builder_->createConditionalBranch (
19991999 quad_needs_execution, &main_fsi_early_depth_stencil_execute_quad,
@@ -2244,7 +2244,8 @@ void SpirvShaderTranslator::UpdateExecConditionals(
22442244 cf_exec_condition_ = condition;
22452245 cf_exec_conditional_merge_ = new spv::Block (
22462246 builder_->getUniqueId (), builder_->getBuildPoint ()->getParent ());
2247- SpirvCreateSelectionMerge (cf_exec_conditional_merge_->getId ());
2247+ builder_->createSelectionMerge (cf_exec_conditional_merge_,
2248+ spv::SelectionControlDontFlattenMask);
22482249 spv::Block& inner_block = builder_->makeNewBlock ();
22492250 builder_->createConditionalBranch (
22502251 condition_id, condition ? &inner_block : cf_exec_conditional_merge_,
@@ -2284,7 +2285,8 @@ void SpirvShaderTranslator::UpdateInstructionPredication(bool predicated,
22842285 spv::Block& predicated_block = builder_->makeNewBlock ();
22852286 cf_instruction_predicate_merge_ = new spv::Block (
22862287 builder_->getUniqueId (), builder_->getBuildPoint ()->getParent ());
2287- SpirvCreateSelectionMerge (cf_instruction_predicate_merge_->getId ());
2288+ builder_->createSelectionMerge (cf_instruction_predicate_merge_,
2289+ spv::SelectionControlMaskNone);
22882290 builder_->createConditionalBranch (
22892291 predicate_id,
22902292 condition ? &predicated_block : cf_instruction_predicate_merge_,
@@ -2870,7 +2872,8 @@ spv::Id SpirvShaderTranslator::EndianSwap32Uint(spv::Id value, spv::Id endian) {
28702872 assert_false (block_pre_8in16.isTerminated ());
28712873 spv::Block& block_8in16 = builder_->makeNewBlock ();
28722874 spv::Block& block_8in16_merge = builder_->makeNewBlock ();
2873- SpirvCreateSelectionMerge (block_8in16_merge.getId ());
2875+ builder_->createSelectionMerge (&block_8in16_merge,
2876+ spv::SelectionControlMaskNone);
28742877 builder_->createConditionalBranch (is_8in16_or_8in32, &block_8in16,
28752878 &block_8in16_merge);
28762879 builder_->setBuildPoint (&block_8in16);
@@ -2910,7 +2913,8 @@ spv::Id SpirvShaderTranslator::EndianSwap32Uint(spv::Id value, spv::Id endian) {
29102913 spv::Block& block_pre_16in32 = *builder_->getBuildPoint ();
29112914 spv::Block& block_16in32 = builder_->makeNewBlock ();
29122915 spv::Block& block_16in32_merge = builder_->makeNewBlock ();
2913- SpirvCreateSelectionMerge (block_16in32_merge.getId ());
2916+ builder_->createSelectionMerge (&block_16in32_merge,
2917+ spv::SelectionControlMaskNone);
29142918 builder_->createConditionalBranch (is_8in32_or_16in32, &block_16in32,
29152919 &block_16in32_merge);
29162920 builder_->setBuildPoint (&block_16in32);
@@ -2982,8 +2986,8 @@ spv::Id SpirvShaderTranslator::LoadUint32FromSharedMemory(
29822986 std::unique_ptr<spv::Instruction> value_phi_op =
29832987 std::make_unique<spv::Instruction>(value_phi_result, type_uint_,
29842988 spv::OpPhi);
2985- SpirvCreateSelectionMerge ( switch_merge_block. getId () ,
2986- spv::SelectionControlDontFlattenMask);
2989+ builder_-> createSelectionMerge (& switch_merge_block,
2990+ spv::SelectionControlDontFlattenMask);
29872991 {
29882992 std::unique_ptr<spv::Instruction> switch_op =
29892993 std::make_unique<spv::Instruction>(spv::OpSwitch);
0 commit comments