diff --git a/UnleashedRecomp/gpu/video.cpp b/UnleashedRecomp/gpu/video.cpp index 78e4d09..739707b 100644 --- a/UnleashedRecomp/gpu/video.cpp +++ b/UnleashedRecomp/gpu/video.cpp @@ -3495,7 +3495,7 @@ static void ProcSetSamplerState(const RenderCommand& cmd) auto mipFilter = ConvertTextureFilter((args.data3 >> 23) & 0x3); const auto borderColor = ConvertBorderColor(args.data5 & 0x3); - bool anisotropyEnabled = mipFilter == RenderFilter::LINEAR; + bool anisotropyEnabled = Config::AnisotropicFiltering > 0 && mipFilter == RenderFilter::LINEAR; if (anisotropyEnabled) { magFilter = RenderFilter::LINEAR; @@ -3512,6 +3512,7 @@ static void ProcSetSamplerState(const RenderCommand& cmd) SetDirtyValue(dirty, samplerDesc.minFilter, minFilter); SetDirtyValue(dirty, samplerDesc.magFilter, magFilter); SetDirtyValue(dirty, samplerDesc.mipmapMode, RenderMipmapMode(mipFilter)); + SetDirtyValue(dirty, samplerDesc.maxAnisotropy, anisotropyEnabled ? Config::AnisotropicFiltering : 16u); SetDirtyValue(dirty, samplerDesc.anisotropyEnabled, anisotropyEnabled); SetDirtyValue(dirty, samplerDesc.borderColor, borderColor);