intel: Let compiler set indirect_ubos_use_sampler

This option is used for Gfx < 12, elk already set it to true,
so set it in brw and change the drivers to not set it anymore.

Because the dual-compiler support in Iris, the helper function
there had to change to consult the right compiler value instead.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30393>
This commit is contained in:
Caio Oliveira
2024-07-26 21:34:49 -07:00
committed by Marge Bot
parent f1680c262c
commit 52be72e676
4 changed files with 7 additions and 7 deletions
+6 -3
View File
@@ -3879,7 +3879,12 @@ iris_use_tcs_multi_patch(struct iris_screen *screen)
bool
iris_indirect_ubos_use_sampler(struct iris_screen *screen)
{
return screen->devinfo->ver < 12;
if (screen->brw) {
return screen->brw->indirect_ubos_use_sampler;
} else {
assert(screen->elk);
return screen->elk->indirect_ubos_use_sampler;
}
}
static void
@@ -3941,12 +3946,10 @@ iris_compiler_init(struct iris_screen *screen)
screen->brw = brw_compiler_create(screen, screen->devinfo);
screen->brw->shader_debug_log = iris_shader_debug_log;
screen->brw->shader_perf_log = iris_shader_perf_log;
screen->brw->indirect_ubos_use_sampler = iris_indirect_ubos_use_sampler(screen);
} else {
screen->elk = elk_compiler_create(screen, screen->devinfo);
screen->elk->shader_debug_log = iris_shader_debug_log;
screen->elk->shader_perf_log = iris_shader_perf_log;
screen->elk->supports_shader_constants = true;
screen->elk->indirect_ubos_use_sampler = iris_indirect_ubos_use_sampler(screen);
}
}
+1 -2
View File
@@ -97,8 +97,7 @@ brw_compiler_create(void *mem_ctx, const struct intel_device_info *devinfo)
compiler->use_tcs_multi_patch = devinfo->ver >= 12;
/* Default to the sampler since that's what we've done since forever */
compiler->indirect_ubos_use_sampler = true;
compiler->indirect_ubos_use_sampler = devinfo->ver < 12;
compiler->lower_dpas = devinfo->verx10 < 125 ||
intel_device_info_is_mtl(devinfo) ||
-1
View File
@@ -2416,7 +2416,6 @@ anv_physical_device_try_create(struct vk_instance *vk_instance,
}
device->compiler->shader_debug_log = compiler_debug_log;
device->compiler->shader_perf_log = compiler_perf_log;
device->compiler->indirect_ubos_use_sampler = device->info.ver < 12;
device->compiler->extended_bindless_surface_offset = device->uses_ex_bso;
device->compiler->use_bindless_sampler_offset = false;
device->compiler->spilling_rate =
-1
View File
@@ -1778,7 +1778,6 @@ anv_physical_device_try_create(struct vk_instance *vk_instance,
device->compiler->constant_buffer_0_is_relative =
device->info.ver < 8 || !device->info.has_context_isolation;
device->compiler->supports_shader_constants = true;
device->compiler->indirect_ubos_use_sampler = device->info.ver < 12;
isl_device_init(&device->isl_dev, &device->info);