Merge pull request #13221 from mitaclaw/nrvo-fails-1

GCC: Remedy NRVO Fails
This commit is contained in:
JMC47
2025-03-29 03:26:46 -04:00
committed by GitHub
6 changed files with 11 additions and 17 deletions

View File

@ -183,14 +183,11 @@ TextureInfo::NameDetails TextureInfo::CalculateTextureName() const
const u64 tex_hash = XXH64(m_ptr, m_texture_size, 0);
const u64 tlut_hash = tlut_size ? XXH64(tlut, tlut_size, 0) : 0;
NameDetails result;
result.base_name = fmt::format("{}{}x{}{}", format_prefix, m_raw_width, m_raw_height,
m_mipmaps_enabled ? "_m" : "");
result.texture_name = fmt::format("{:016x}", tex_hash);
result.tlut_name = tlut_size ? fmt::format("_{:016x}", tlut_hash) : "";
result.format_name = fmt::to_string(static_cast<int>(m_texture_format));
return result;
return {.base_name = fmt::format("{}{}x{}{}", format_prefix, m_raw_width, m_raw_height,
m_mipmaps_enabled ? "_m" : ""),
.texture_name = fmt::format("{:016x}", tex_hash),
.tlut_name = tlut_size ? fmt::format("_{:016x}", tlut_hash) : "",
.format_name = fmt::to_string(static_cast<int>(m_texture_format))};
}
bool TextureInfo::IsDataValid() const

View File

@ -57,11 +57,10 @@ VertexLoaderX64::VertexLoaderX64(const TVtxDesc& vtx_desc, const VAT& vtx_att)
OpArg VertexLoaderX64::GetVertexAddr(CPArray array, VertexComponentFormat attribute)
{
OpArg data = MDisp(src_reg, m_src_ofs);
if (IsIndexed(attribute))
{
int bits = attribute == VertexComponentFormat::Index8 ? 8 : 16;
LoadAndSwap(bits, scratch1, data);
LoadAndSwap(bits, scratch1, MDisp(src_reg, m_src_ofs));
m_src_ofs += bits / 8;
if (array == CPArray::Position)
{
@ -74,7 +73,7 @@ OpArg VertexLoaderX64::GetVertexAddr(CPArray array, VertexComponentFormat attrib
}
else
{
return data;
return MDisp(src_reg, m_src_ofs);
}
}