Only use anisotropic sampling if the device supports it

Fixes #610
This commit is contained in:
Chris Forbes 2019-09-06 10:44:48 +01:00
parent 2f985f2aae
commit 7ea3fb5e2d

View file

@ -374,9 +374,14 @@ public:
samplerCreateInfo.minLod = 0.0f; samplerCreateInfo.minLod = 0.0f;
// Both particle textures have the same number of mip maps // Both particle textures have the same number of mip maps
samplerCreateInfo.maxLod = float(textures.particles.fire.mipLevels); samplerCreateInfo.maxLod = float(textures.particles.fire.mipLevels);
if (vulkanDevice->features.samplerAnisotropy)
{
// Enable anisotropic filtering // Enable anisotropic filtering
samplerCreateInfo.maxAnisotropy = 8.0f; samplerCreateInfo.maxAnisotropy = 8.0f;
samplerCreateInfo.anisotropyEnable = VK_TRUE; samplerCreateInfo.anisotropyEnable = VK_TRUE;
}
// Use a different border color (than the normal texture loader) for additive blending // Use a different border color (than the normal texture loader) for additive blending
samplerCreateInfo.borderColor = VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK; samplerCreateInfo.borderColor = VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK;
VK_CHECK_RESULT(vkCreateSampler(device, &samplerCreateInfo, nullptr, &textures.particles.sampler)); VK_CHECK_RESULT(vkCreateSampler(device, &samplerCreateInfo, nullptr, &textures.particles.sampler));