diff --git a/src/intel/common/intel_urb_config.c b/src/intel/common/intel_urb_config.c index 600a4607eb61c7c36e5d0f4990739ca5a62f44f4..82ba3804690374aca6a87adae0925852da189e09 100644 --- a/src/intel/common/intel_urb_config.c +++ b/src/intel/common/intel_urb_config.c @@ -122,17 +122,11 @@ intel_get_urb_config(const struct intel_device_info *devinfo, [MESA_SHADER_VERTEX] = tess_present && devinfo->ver == 8 ? 192 : devinfo->urb.min_entries[MESA_SHADER_VERTEX], - /* There are two constraints on the minimum amount of URB space we can - * allocate: - * - * (1) We need room for at least 2 URB entries, since we always operate - * the GS in DUAL_OBJECT mode. - * - * (2) We can't allocate less than nr_gs_entries_granularity. - */ - [MESA_SHADER_GEOMETRY] = gs_present ? 2 : 0, + [MESA_SHADER_GEOMETRY] = gs_present ? + devinfo->urb.min_entries[MESA_SHADER_GEOMETRY] : 0, - [MESA_SHADER_TESS_CTRL] = tess_present ? 1 : 0, + [MESA_SHADER_TESS_CTRL] = tess_present ? + MAX2(devinfo->urb.min_entries[MESA_SHADER_TESS_CTRL], 1) : 0, [MESA_SHADER_TESS_EVAL] = tess_present ? devinfo->urb.min_entries[MESA_SHADER_TESS_EVAL] : 0,