From a28d2e87d347b94c41ad9299c7e88978faf7174c Mon Sep 17 00:00:00 2001 From: Emma Anholt Date: Mon, 2 May 2022 16:22:37 -0700 Subject: [PATCH] turnip: Make RelaxedPrecision-decorated ALU ops 16-bit. Improves gfxbench vk-5-normal performance 5.5%. Fixes: #6346 Reviewed-by: Matt Turner Part-of: --- src/freedreno/vulkan/tu_shader.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/freedreno/vulkan/tu_shader.c b/src/freedreno/vulkan/tu_shader.c index c977b1d8566..2d41900f84e 100644 --- a/src/freedreno/vulkan/tu_shader.c +++ b/src/freedreno/vulkan/tu_shader.c @@ -54,6 +54,9 @@ tu_spirv_to_nir(struct tu_device *dev, /* Accessed via stg/ldg (not used with Vulkan?) */ .global_addr_format = nir_address_format_64bit_global, + /* Use 16-bit math for RelaxedPrecision ALU ops */ + .mediump_16bit_alu = true, + /* ViewID is a sysval in geometry stages and an input in the FS */ .view_index_is_input = stage == MESA_SHADER_FRAGMENT, .caps = {