MVKSampler: Ignore addressModeW with unnormalized coordinates.
Some tests intentionally pass an invalid address mode here when unnormalized coordinates are in use, ostensibly to test that it is ignored. Metal's validation layer, however, complains if you set `rAddressMode` to an invalid value, even if `normalizedCoordinates` is `false`. To avoid this, don't set the `rAddressMode`, since it can't be used with unnormalized coordinates anyway.
This commit is contained in:
parent
a2734c3166
commit
9c28064760
@ -1693,7 +1693,9 @@ MTLSamplerDescriptor* MVKSampler::newMTLSamplerDescriptor(const VkSamplerCreateI
|
||||
MTLSamplerDescriptor* mtlSampDesc = [MTLSamplerDescriptor new]; // retained
|
||||
mtlSampDesc.sAddressMode = mvkMTLSamplerAddressModeFromVkSamplerAddressMode(pCreateInfo->addressModeU);
|
||||
mtlSampDesc.tAddressMode = mvkMTLSamplerAddressModeFromVkSamplerAddressMode(pCreateInfo->addressModeV);
|
||||
mtlSampDesc.rAddressMode = mvkMTLSamplerAddressModeFromVkSamplerAddressMode(pCreateInfo->addressModeW);
|
||||
if (!pCreateInfo->unnormalizedCoordinates) {
|
||||
mtlSampDesc.rAddressMode = mvkMTLSamplerAddressModeFromVkSamplerAddressMode(pCreateInfo->addressModeW);
|
||||
}
|
||||
mtlSampDesc.minFilter = mvkMTLSamplerMinMagFilterFromVkFilter(pCreateInfo->minFilter);
|
||||
mtlSampDesc.magFilter = mvkMTLSamplerMinMagFilterFromVkFilter(pCreateInfo->magFilter);
|
||||
mtlSampDesc.mipFilter = (pCreateInfo->unnormalizedCoordinates
|
||||
|
Loading…
x
Reference in New Issue
Block a user