diff --git a/Core/Reporting.cpp b/Core/Reporting.cpp index 3bde405941..8d71b3a12f 100644 --- a/Core/Reporting.cpp +++ b/Core/Reporting.cpp @@ -87,9 +87,10 @@ namespace Reporting std::string host = ServerHost(); size_t length = ServerHostnameLength(); - lastHostname = host.substr(0, length); if (length == lastHostname.npos) return lastHostname.c_str(); + + lastHostname = host.substr(0, length); return lastHostname.c_str(); } diff --git a/GPU/GLES/TransformPipeline.cpp b/GPU/GLES/TransformPipeline.cpp index 355aa83f27..afe139ec46 100644 --- a/GPU/GLES/TransformPipeline.cpp +++ b/GPU/GLES/TransformPipeline.cpp @@ -907,6 +907,8 @@ u32 TransformDrawEngine::ComputeHash() { if (!drawCalls[i].inds) { fullhash += CityHash32((const char *)drawCalls[i].verts, vertexSize * drawCalls[i].vertexCount); } else { + // This could get seriously expensive with sparse indices. Need to combine hashing ranges the same way + // we do when drawing. fullhash += CityHash32((const char *)drawCalls[i].verts + vertexSize * drawCalls[i].indexLowerBound, vertexSize * (drawCalls[i].indexUpperBound - drawCalls[i].indexLowerBound)); int indexSize = (dec_->VertexType() & GE_VTYPE_IDX_MASK) == GE_VTYPE_IDX_16BIT ? 2 : 1; diff --git a/native b/native index 9b709c2170..961e400e1f 160000 --- a/native +++ b/native @@ -1 +1 @@ -Subproject commit 9b709c21704c433ea809a9e3ed710fc8714e6034 +Subproject commit 961e400e1f07ae313cc8ef13e1669b2a549c8899