From 2015a109ff287cdf04607d5acc540aae2e87daa3 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Mon, 19 Oct 2020 22:36:07 -0500 Subject: [PATCH] anv,iris: Use the data cache for UBO pulls on Gen12+ Now that we have the HDC, using the data cache for UBO pulls seems to help things quite a bit: GTA V DXVK 104.0% Talos Principle GL 102.8% Rise of Tomb Raider VK 102.8% Dark Souls 3 DXVK 101.4% Witcher3 DXVK 101.3% Bioshock Infinite GL 100.5% Doom 2016 VK 97.7% Doom is a bit of a loss but it helps enough other stuff, it's probably worth the hit. Reviewed-by: Kenneth Graunke Part-of: --- src/gallium/drivers/iris/iris_screen.c | 1 + src/intel/vulkan/anv_device.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/iris/iris_screen.c b/src/gallium/drivers/iris/iris_screen.c index 985eecf6798..4d615f631d1 100644 --- a/src/gallium/drivers/iris/iris_screen.c +++ b/src/gallium/drivers/iris/iris_screen.c @@ -805,6 +805,7 @@ iris_screen_create(int fd, const struct pipe_screen_config *config) screen->compiler->supports_pull_constants = false; screen->compiler->supports_shader_constants = true; screen->compiler->compact_params = false; + screen->compiler->indirect_ubos_use_sampler = screen->devinfo.gen < 12; screen->l3_config_3d = iris_get_default_l3_config(&screen->devinfo, false); screen->l3_config_cs = iris_get_default_l3_config(&screen->devinfo, true); diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c index c4e932cc4f4..893713ea094 100644 --- a/src/intel/vulkan/anv_device.c +++ b/src/intel/vulkan/anv_device.c @@ -513,7 +513,7 @@ anv_physical_device_try_create(struct anv_instance *instance, device->info.gen < 8 || !device->has_context_isolation; device->compiler->supports_shader_constants = true; device->compiler->compact_params = false; - device->compiler->indirect_ubos_use_sampler = true; + device->compiler->indirect_ubos_use_sampler = device->info.gen < 12; /* Broadwell PRM says: *