rpcsx/rpcsx-gpu/lib/gcn-shader/include/shader/dialect/amdgpu.hpp
2024-10-01 22:04:40 +03:00

67 lines
1.1 KiB
C++

#pragma once
namespace shader::ir::amdgpu {
enum Op {
EXEC_TEST,
BRANCH,
IMM,
USER_SGPR,
VBUFFER,
SAMPLER,
TBUFFER,
POINTER,
OMOD,
NEG_ABS,
PS_INPUT_VGPR,
PS_COMP_SWAP,
VS_GET_INDEX,
CS_INPUT_SGPR,
CS_SET_INITIAL_EXEC,
CS_SET_THREAD_ID,
RESOURCE_PHI,
OpCount,
};
inline const char *getInstructionName(unsigned op) {
switch (op) {
case EXEC_TEST:
return "exec_test";
case BRANCH:
return "branch";
case IMM:
return "imm";
case USER_SGPR:
return "user_sgpr";
case VBUFFER:
return "vbuffer";
case SAMPLER:
return "sampler";
case TBUFFER:
return "tbuffer";
case POINTER:
return "pointer";
case OMOD:
return "omod";
case NEG_ABS:
return "neg_abs";
case PS_INPUT_VGPR:
return "ps_input_vgpr";
case PS_COMP_SWAP:
return "ps_comp_swap";
case VS_GET_INDEX:
return "vs_get_index";
case CS_INPUT_SGPR:
return "cs_input_sgpr";
case CS_SET_INITIAL_EXEC:
return "cs_set_initial_exec";
case CS_SET_THREAD_ID:
return "cs_set_thread_id";
case RESOURCE_PHI:
return "resource_phi";
}
return nullptr;
}
} // namespace shader::ir::amdgpu