#include "inst_debug_printf_pass.h"
#include "source/spirv_constant.h"
#include "source/util/string_utils.h"
#include "spirv/unified1/NonSemanticDebugPrintf.h"
namespace spvtools {
namespace opt {
void InstDebugPrintfPass::GenOutputValues(Instruction* val_inst,
std::vector<uint32_t>* val_ids,
InstructionBuilder* builder) { … }
void InstDebugPrintfPass::GenOutputCode(
Instruction* printf_inst,
std::vector<std::unique_ptr<BasicBlock>>* new_blocks) { … }
void InstDebugPrintfPass::GenDebugPrintfCode(
BasicBlock::iterator ref_inst_itr,
UptrVectorIterator<BasicBlock> ref_block_itr,
std::vector<std::unique_ptr<BasicBlock>>* new_blocks) { … }
uint32_t InstDebugPrintfPass::GetOutputBufferId() { … }
uint32_t InstDebugPrintfPass::GetOutputBufferPtrId() { … }
uint32_t InstDebugPrintfPass::GetOutputBufferBinding() { … }
void InstDebugPrintfPass::GenDebugOutputFieldCode(uint32_t base_offset_id,
uint32_t field_offset,
uint32_t field_value_id,
InstructionBuilder* builder) { … }
uint32_t InstDebugPrintfPass::GetStreamWriteFunctionId(uint32_t param_cnt) { … }
void InstDebugPrintfPass::GenDebugStreamWrite(
uint32_t shader_id, uint32_t instruction_idx_id,
const std::vector<uint32_t>& validation_ids, InstructionBuilder* builder) { … }
std::unique_ptr<Instruction> InstDebugPrintfPass::NewGlobalName(
uint32_t id, const std::string& name_str) { … }
std::unique_ptr<Instruction> InstDebugPrintfPass::NewMemberName(
uint32_t id, uint32_t member_index, const std::string& name_str) { … }
void InstDebugPrintfPass::InitializeInstDebugPrintf() { … }
Pass::Status InstDebugPrintfPass::ProcessImpl() { … }
Pass::Status InstDebugPrintfPass::Process() { … }
}
}