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:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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) ||
|
||||
|
||||
@@ -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 =
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user