samplerjit: Correct linear compile failure.

It was resetting to nullptr, because `nearest` was nullptr.
This commit is contained in:
Unknown W. Brackets 2022-01-04 23:58:07 -08:00
parent b2bb0be05d
commit 19998976c7

View file

@ -69,6 +69,7 @@ FetchFunc SamplerJitCache::CompileFetch(const SamplerID &id) {
regCache_.Reset(false);
EndWrite();
ResetCodePtr(GetOffset(start));
ERROR_LOG(G3D, "Failed to compile fetch %s", DescribeSamplerID(id).c_str());
return nullptr;
}
@ -386,6 +387,7 @@ NearestFunc SamplerJitCache::CompileNearest(const SamplerID &id) {
regCache_.Reset(false);
EndWrite();
ResetCodePtr(GetOffset(start));
ERROR_LOG(G3D, "Failed to compile nearest %s", DescribeSamplerID(id).c_str());
return nullptr;
}
@ -453,6 +455,7 @@ LinearFunc SamplerJitCache::CompileLinear(const SamplerID &id) {
regCache_.Reset(false);
EndWrite();
ResetCodePtr(GetOffset(nearest));
ERROR_LOG(G3D, "Failed to compile linear nearest %s", DescribeSamplerID(id).c_str());
return nullptr;
}
@ -807,7 +810,8 @@ LinearFunc SamplerJitCache::CompileLinear(const SamplerID &id) {
if (!success) {
regCache_.Reset(false);
EndWrite();
ResetCodePtr(GetOffset(nearest));
ResetCodePtr(GetOffset(nearest ? nearest : start));
ERROR_LOG(G3D, "Failed to compile linear %s", DescribeSamplerID(id).c_str());
return nullptr;
}