diff --git a/core/libs/prx/libSceAgcDriver/Graphics/src/GuestSamplerResource.cpp b/core/libs/prx/libSceAgcDriver/Graphics/src/GuestSamplerResource.cpp index 249980aeb..240234f0c 100644 --- a/core/libs/prx/libSceAgcDriver/Graphics/src/GuestSamplerResource.cpp +++ b/core/libs/prx/libSceAgcDriver/Graphics/src/GuestSamplerResource.cpp @@ -111,7 +111,7 @@ GuestSamplerResource DecodeSamplerResource(std::span words, Require(!disableDegamma, "guest sampler descriptor disables degamma which is not implemented"); Require(lodBiasSec == 0, "guest sampler descriptor uses a secondary LOD bias which is not implemented"); Require(!pointPreclamp, "guest sampler descriptor uses point preclamping which is not implemented"); - Require(!anisoOverride, "guest sampler descriptor uses an anisotropy override which is not implemented"); + static_cast(anisoOverride); Require(!blendZeroPrt, "guest sampler descriptor uses PRT blend-zero which is not implemented"); if (mipFilter > 2u) Require(false, "guest sampler descriptor uses an unknown mip filter " + std::to_string(mipFilter)); Require(mipFilter != 2u || reductionMode == VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT, "guest sampler descriptor combines a min or max reduction with a linear mip filter, which is not implemented"); diff --git a/core/libs/prx/libSceAgcDriver/tests/GuestSamplerResource.cpp b/core/libs/prx/libSceAgcDriver/tests/GuestSamplerResource.cpp index a1110f8c2..a39f329b7 100644 --- a/core/libs/prx/libSceAgcDriver/tests/GuestSamplerResource.cpp +++ b/core/libs/prx/libSceAgcDriver/tests/GuestSamplerResource.cpp @@ -449,9 +449,15 @@ void RunGuestSamplerResourceTests() { badPreclamp.pointPreclamp = true; rejectFields(badPreclamp, "point preclamping"); - Fields badAnisoOverride = base; - badAnisoOverride.anisoOverride = true; - rejectFields(badAnisoOverride, "anisotropy override"); + Fields anisoOverride = base; + anisoOverride.xyMagFilter = 2; + anisoOverride.xyMinFilter = 2; + anisoOverride.zFilter = 2; + anisoOverride.maxAnisoRatio = 3; + const auto withoutOverride = DecodeSamplerResource(pack(anisoOverride)); + anisoOverride.anisoOverride = true; + const auto withOverride = DecodeSamplerResource(pack(anisoOverride)); + Require(withOverride.anisotropyEnable == withoutOverride.anisotropyEnable && withOverride.maxAnisotropy == withoutOverride.maxAnisotropy && withOverride.magFilter == withoutOverride.magFilter && withOverride.minFilter == withoutOverride.minFilter, "ANISO_OVERRIDE changed the decoded sampler"); Fields badBlendZero = base; badBlendZero.blendZeroPrt = true;