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 <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7230>
This commit is contained in:
Jason Ekstrand 2020-10-19 22:36:07 -05:00 committed by Marge Bot
parent cdc546ae7f
commit 2015a109ff
2 changed files with 2 additions and 1 deletions

View File

@ -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);

View File

@ -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:
*