From 5d503bf783d879c12154968fb7876c822db81fe8 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Mon, 22 Feb 2021 14:42:49 -0500 Subject: [PATCH] zink: force 128 fs input components on intel drivers the hardware supports it, the driver supports it, but the driver reports a lower value due to subtracting some usage that we shouldn't exceed anyway Acked-by: Jason Ekstrand Part-of: --- src/gallium/drivers/zink/zink_screen.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/gallium/drivers/zink/zink_screen.c b/src/gallium/drivers/zink/zink_screen.c index f03b00530e4..1433f90af1f 100644 --- a/src/gallium/drivers/zink/zink_screen.c +++ b/src/gallium/drivers/zink/zink_screen.c @@ -574,6 +574,12 @@ zink_get_shader_param(struct pipe_screen *pscreen, max = screen->info.props.limits.maxGeometryInputComponents; break; case PIPE_SHADER_FRAGMENT: + /* intel drivers report fewer components, but it's a value that's compatible + * with what we need for GL, so we can still force a conformant value here + */ + if (screen->info.driver_props.driverID == VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR || + screen->info.driver_props.driverID == VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR) + return 32; max = screen->info.props.limits.maxFragmentInputComponents / 4; break; default: