From: Kenneth Graunke Date: Tue, 17 Dec 2019 05:15:15 +0000 (-0800) Subject: anv: Only enable EWA LOD algorithm when doing anisotropic filtering. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=defb3a9465bcdfbe691e5e7a785b9999fa77b500;p=mesa.git anv: Only enable EWA LOD algorithm when doing anisotropic filtering. Updated documentation renames "Anisotropic Algorithm" to "LOD Algorithm" and adds a note for Gen9+ saying "The EWA Algorithm should only be enabled for Anisotropic Filtering modes." and indicating that the extra accuracy shouldn't be necessary for other modes, and comes at a cost. Reviewed-by: Jason Ekstrand --- diff --git a/src/intel/vulkan/genX_state.c b/src/intel/vulkan/genX_state.c index 34c6c6bd142..78e018762cb 100644 --- a/src/intel/vulkan/genX_state.c +++ b/src/intel/vulkan/genX_state.c @@ -506,7 +506,8 @@ VkResult genX(CreateSampler)( .MagModeFilter = vk_to_gen_tex_filter(mag_filter, pCreateInfo->anisotropyEnable), .MinModeFilter = vk_to_gen_tex_filter(min_filter, pCreateInfo->anisotropyEnable), .TextureLODBias = anv_clamp_f(pCreateInfo->mipLodBias, -16, 15.996), - .AnisotropicAlgorithm = EWAApproximation, + .AnisotropicAlgorithm = + pCreateInfo->anisotropyEnable ? EWAApproximation : LEGACY, .MinLOD = anv_clamp_f(pCreateInfo->minLod, 0, 14), .MaxLOD = anv_clamp_f(pCreateInfo->maxLod, 0, 14), .ChromaKeyEnable = 0,