mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-06 23:11:25 +12:00
rsx: make some functions const
This commit is contained in:
parent
1c7850de17
commit
461862be46
8 changed files with 19 additions and 20 deletions
|
@ -134,12 +134,12 @@ struct GLProgramBuffer : public program_state_cache<GLTraits>
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename... Args>
|
template <typename... Args>
|
||||||
void add_pipeline_entry(RSXVertexProgram &vp, RSXFragmentProgram &fp, void* &props, Args&& ...args)
|
void add_pipeline_entry(const RSXVertexProgram& vp, const RSXFragmentProgram& fp, void* &props, Args&& ...args)
|
||||||
{
|
{
|
||||||
get_graphics_pipeline(vp, fp, props, false, false, std::forward<Args>(args)...);
|
get_graphics_pipeline(vp, fp, props, false, false, std::forward<Args>(args)...);
|
||||||
}
|
}
|
||||||
|
|
||||||
void preload_programs(RSXVertexProgram &vp, RSXFragmentProgram &fp)
|
void preload_programs(const RSXVertexProgram& vp, const RSXFragmentProgram& fp)
|
||||||
{
|
{
|
||||||
search_vertex_program(vp);
|
search_vertex_program(vp);
|
||||||
search_fragment_program(fp);
|
search_fragment_program(fp);
|
||||||
|
|
|
@ -15,7 +15,6 @@ void CgBinaryDisasm::AddCodeAsm(const std::string& code)
|
||||||
m_dst_reg_name = fmt::format("RC%s, ", GetMask());
|
m_dst_reg_name = fmt::format("RC%s, ", GetMask());
|
||||||
op_name = rsx_fp_op_names[m_opcode] + "XC";
|
op_name = rsx_fp_op_names[m_opcode] + "XC";
|
||||||
}
|
}
|
||||||
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_dst_reg_name = fmt::format("%s%d%s, ", dst.fp16 ? "H" : "R", dst.dest_reg, GetMask());
|
m_dst_reg_name = fmt::format("%s%d%s, ", dst.fp16 ? "H" : "R", dst.dest_reg, GetMask());
|
||||||
|
@ -189,8 +188,8 @@ template<typename T> std::string CgBinaryDisasm::GetSrcDisAsm(T src)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case 2: //const
|
case 2: //const
|
||||||
ret += AddConstDisAsm();
|
ret += AddConstDisAsm();
|
||||||
|
|
|
@ -165,16 +165,16 @@ public:
|
||||||
|
|
||||||
// VP functions
|
// VP functions
|
||||||
std::string GetMaskDisasm(bool is_sca) const;
|
std::string GetMaskDisasm(bool is_sca) const;
|
||||||
std::string GetVecMaskDisasm();
|
std::string GetVecMaskDisasm() const;
|
||||||
std::string GetScaMaskDisasm();
|
std::string GetScaMaskDisasm() const;
|
||||||
std::string GetDSTDisasm(bool is_sca = false);
|
std::string GetDSTDisasm(bool is_sca = false) const;
|
||||||
std::string GetSRCDisasm(u32 n);
|
std::string GetSRCDisasm(u32 n) const;
|
||||||
static std::string GetTexDisasm();
|
static std::string GetTexDisasm();
|
||||||
std::string GetCondDisasm() const;
|
std::string GetCondDisasm() const;
|
||||||
std::string AddAddrMaskDisasm() const;
|
std::string AddAddrMaskDisasm() const;
|
||||||
std::string AddAddrRegDisasm();
|
std::string AddAddrRegDisasm() const;
|
||||||
u32 GetAddrDisasm() const;
|
u32 GetAddrDisasm() const;
|
||||||
std::string FormatDisasm(const std::string& code);
|
std::string FormatDisasm(const std::string& code) const;
|
||||||
void AddScaCodeDisasm(const std::string& code = "");
|
void AddScaCodeDisasm(const std::string& code = "");
|
||||||
void AddVecCodeDisasm(const std::string& code = "");
|
void AddVecCodeDisasm(const std::string& code = "");
|
||||||
void AddCodeCondDisasm(const std::string& dst, const std::string& src);
|
void AddCodeCondDisasm(const std::string& dst, const std::string& src);
|
||||||
|
|
|
@ -40,17 +40,17 @@ std::string CgBinaryDisasm::GetMaskDisasm(bool is_sca) const
|
||||||
return ret == "."sv || ret == ".xyzw"sv ? "" : (ret);
|
return ret == "."sv || ret == ".xyzw"sv ? "" : (ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string CgBinaryDisasm::GetVecMaskDisasm()
|
std::string CgBinaryDisasm::GetVecMaskDisasm() const
|
||||||
{
|
{
|
||||||
return GetMaskDisasm(false);
|
return GetMaskDisasm(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string CgBinaryDisasm::GetScaMaskDisasm()
|
std::string CgBinaryDisasm::GetScaMaskDisasm() const
|
||||||
{
|
{
|
||||||
return GetMaskDisasm(true);
|
return GetMaskDisasm(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string CgBinaryDisasm::GetDSTDisasm(bool is_sca)
|
std::string CgBinaryDisasm::GetDSTDisasm(bool is_sca) const
|
||||||
{
|
{
|
||||||
std::string ret;
|
std::string ret;
|
||||||
std::string mask = GetMaskDisasm(is_sca);
|
std::string mask = GetMaskDisasm(is_sca);
|
||||||
|
@ -107,7 +107,7 @@ std::string CgBinaryDisasm::GetDSTDisasm(bool is_sca)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string CgBinaryDisasm::GetSRCDisasm(const u32 n)
|
std::string CgBinaryDisasm::GetSRCDisasm(const u32 n) const
|
||||||
{
|
{
|
||||||
ensure(n < 3);
|
ensure(n < 3);
|
||||||
|
|
||||||
|
@ -224,7 +224,7 @@ std::string CgBinaryDisasm::GetTexDisasm()
|
||||||
return fmt::format("TEX%d", 0);
|
return fmt::format("TEX%d", 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string CgBinaryDisasm::FormatDisasm(const std::string& code)
|
std::string CgBinaryDisasm::FormatDisasm(const std::string& code) const
|
||||||
{
|
{
|
||||||
const std::pair<std::string_view, std::function<std::string()>> repl_list[] =
|
const std::pair<std::string_view, std::function<std::string()>> repl_list[] =
|
||||||
{
|
{
|
||||||
|
@ -355,7 +355,7 @@ std::string CgBinaryDisasm::AddAddrMaskDisasm() const
|
||||||
return std::string(".") + f[d0.addr_swz];
|
return std::string(".") + f[d0.addr_swz];
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string CgBinaryDisasm::AddAddrRegDisasm()
|
std::string CgBinaryDisasm::AddAddrRegDisasm() const
|
||||||
{
|
{
|
||||||
//static constexpr std::string_view f = "xyzw";
|
//static constexpr std::string_view f = "xyzw";
|
||||||
return fmt::format("A%d", d0.addr_reg_sel_1) + AddAddrMaskDisasm();
|
return fmt::format("A%d", d0.addr_reg_sel_1) + AddAddrMaskDisasm();
|
||||||
|
|
|
@ -328,7 +328,7 @@ struct RSXFragmentProgram
|
||||||
|
|
||||||
static RSXFragmentProgram clone(const RSXFragmentProgram& prog)
|
static RSXFragmentProgram clone(const RSXFragmentProgram& prog)
|
||||||
{
|
{
|
||||||
auto result = prog;
|
RSXFragmentProgram result = prog;
|
||||||
result.clone_data();
|
result.clone_data();
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
|
@ -179,7 +179,7 @@ struct ParamArray
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool HasParamTypeless(const ParamFlag flag, const std::string& name)
|
bool HasParamTypeless(const ParamFlag flag, const std::string& name) const
|
||||||
{
|
{
|
||||||
const auto& p = params[flag];
|
const auto& p = params[flag];
|
||||||
return std::any_of(p.cbegin(), p.cend(), [&name](const auto& param)
|
return std::any_of(p.cbegin(), p.cend(), [&name](const auto& param)
|
||||||
|
|
|
@ -42,7 +42,7 @@ namespace rsx
|
||||||
std::memcpy(static_cast<u8*>(dst) + mem_offset, reinterpret_cast<const u8*>(src) + mem_offset, mem_size);
|
std::memcpy(static_cast<u8*>(dst) + mem_offset, reinterpret_cast<const u8*>(src) + mem_offset, mem_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
void fragment_program_texture_config::write_to(void* dst, u16 mask)
|
void fragment_program_texture_config::write_to(void* dst, u16 mask) const
|
||||||
{
|
{
|
||||||
masked_transfer(dst, slots_, mask);
|
masked_transfer(dst, slots_, mask);
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,7 +27,7 @@ namespace rsx
|
||||||
|
|
||||||
TIU_slot& operator[](u32 index) { return slots_[index]; }
|
TIU_slot& operator[](u32 index) { return slots_[index]; }
|
||||||
|
|
||||||
void write_to(void* dst, u16 mask);
|
void write_to(void* dst, u16 mask) const;
|
||||||
void load_from(const void* src, u16 mask);
|
void load_from(const void* src, u16 mask);
|
||||||
|
|
||||||
static void masked_transfer(void* dst, const void* src, u16 mask);
|
static void masked_transfer(void* dst, const void* src, u16 mask);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue