diff --git a/src/gallium/drivers/iris/iris_program.c b/src/gallium/drivers/iris/iris_program.c index f006bcd6cd3..9846533675e 100644 --- a/src/gallium/drivers/iris/iris_program.c +++ b/src/gallium/drivers/iris/iris_program.c @@ -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); } } diff --git a/src/intel/compiler/brw_compiler.c b/src/intel/compiler/brw_compiler.c index fb2397897a7..9bb19f08f01 100644 --- a/src/intel/compiler/brw_compiler.c +++ b/src/intel/compiler/brw_compiler.c @@ -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) || diff --git a/src/intel/vulkan/anv_physical_device.c b/src/intel/vulkan/anv_physical_device.c index b6e707ee655..381e5d289d0 100644 --- a/src/intel/vulkan/anv_physical_device.c +++ b/src/intel/vulkan/anv_physical_device.c @@ -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 = diff --git a/src/intel/vulkan_hasvk/anv_device.c b/src/intel/vulkan_hasvk/anv_device.c index 8231a8d5c74..810803120eb 100644 --- a/src/intel/vulkan_hasvk/anv_device.c +++ b/src/intel/vulkan_hasvk/anv_device.c @@ -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);