From 7d3ab96f39c08fe303cd5b1f428b4bfbef8c27ab Mon Sep 17 00:00:00 2001 From: Erik Faye-Lund Date: Fri, 6 Aug 2021 12:04:18 +0200 Subject: [PATCH] lavapipe: lower mipmapPrecisionBits to 4 Through some exhaustive searching, I've found that our log2 approximation is precise to around 3.5 bits. And the squaring step should increase the result with one bit, leaving us with 4.5 bits of precision. Reporting the right mipmap precision fixes a few CTS-tests. Reviewed-by: Roland Scheidegger Part-of: --- src/gallium/frontends/lavapipe/ci/deqp-lvp-fails.txt | 9 --------- src/gallium/frontends/lavapipe/lvp_device.c | 2 +- 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/src/gallium/frontends/lavapipe/ci/deqp-lvp-fails.txt b/src/gallium/frontends/lavapipe/ci/deqp-lvp-fails.txt index 2d974d2..c62d538 100644 --- a/src/gallium/frontends/lavapipe/ci/deqp-lvp-fails.txt +++ b/src/gallium/frontends/lavapipe/ci/deqp-lvp-fails.txt @@ -27,14 +27,5 @@ dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.color.2d.r8g8b8a8_unorm.r1 dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.color.2d.r8g8b8a8_unorm.r16g16b16a16_unorm.linear_general_linear,Fail dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.color.2d.r8g8b8a8_unorm.r16g16b16a16_unorm.optimal_general_linear,Fail dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.color.2d.r8g8b8a8_unorm.r16g16b16a16_unorm.optimal_linear_linear,Fail -dEQP-VK.glsl.texture_functions.query.texturequerylod.isampler2d_fragment,Fail -dEQP-VK.glsl.texture_functions.query.texturequerylod.sampler1d_fixed_fragment,Fail -dEQP-VK.glsl.texture_functions.query.texturequerylod.sampler1darray_float_fragment,Fail -dEQP-VK.glsl.texture_functions.query.texturequerylod.sampler1dshadow_fragment,Fail -dEQP-VK.glsl.texture_functions.query.texturequerylod.sampler2d_fixed_fragment,Fail -dEQP-VK.glsl.texture_functions.query.texturequerylod.sampler2darray_fixed_fragment,Fail -dEQP-VK.glsl.texture_functions.query.texturequerylod.sampler2darrayshadow_fragment,Fail -dEQP-VK.glsl.texture_functions.query.texturequerylod.sampler2dshadow_fragment,Fail -dEQP-VK.glsl.texture_functions.query.texturequerylod.usampler1darray_fragment,Fail dEQP-VK.rasterization.primitives.static_stipple.rectangular_line_strip_wide,Fail dEQP-VK.rasterization.primitives_multisample_4_bit.dynamic_stipple.line_strip_wide,Fail diff --git a/src/gallium/frontends/lavapipe/lvp_device.c b/src/gallium/frontends/lavapipe/lvp_device.c index 42329c8..0a98731 100644 --- a/src/gallium/frontends/lavapipe/lvp_device.c +++ b/src/gallium/frontends/lavapipe/lvp_device.c @@ -764,7 +764,7 @@ VKAPI_ATTR void VKAPI_CALL lvp_GetPhysicalDeviceProperties(VkPhysicalDevice phys .maxComputeWorkGroupSize = { block_size[0], block_size[1], block_size[2] }, .subPixelPrecisionBits = pdevice->pscreen->get_param(pdevice->pscreen, PIPE_CAP_RASTERIZER_SUBPIXEL_BITS), .subTexelPrecisionBits = 8, - .mipmapPrecisionBits = 8, + .mipmapPrecisionBits = 4, .maxDrawIndexedIndexValue = UINT32_MAX, .maxDrawIndirectCount = UINT32_MAX, .maxSamplerLodBias = 16, -- 2.7.4