Module: Mesa Branch: main Commit: d0dd973fe2711f99797b9be00fabd8fe53f5da95 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d0dd973fe2711f99797b9be00fabd8fe53f5da95
Author: Mike Blumenkrantz <[email protected]> Date: Thu Sep 28 08:14:28 2023 -0400 zink: move v3dv scalarBlockLayout workaround this isn't actually device-level workaround, it's just error suppression fixes #9895 Fixes: 2978b85789c ("zink: don't warn about missing scalarBlockLayout on v3dv") Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25456> --- src/gallium/drivers/zink/zink_screen.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/gallium/drivers/zink/zink_screen.c b/src/gallium/drivers/zink/zink_screen.c index 6e55838f917..e472755e3b3 100644 --- a/src/gallium/drivers/zink/zink_screen.c +++ b/src/gallium/drivers/zink/zink_screen.c @@ -2615,6 +2615,13 @@ check_base_requirements(struct zink_screen *screen) { if (zink_debug & ZINK_DEBUG_QUIET) return; + if (screen->info.driver_props.driverID == VK_DRIVER_ID_MESA_V3DV) { + /* v3dv doesn't support straddling i/o, but zink doesn't do that so this is effectively supported: + * don't spam errors in this case + */ + screen->info.feats12.scalarBlockLayout = true; + screen->info.have_EXT_scalar_block_layout = true; + } if (!screen->info.feats.features.logicOp || !screen->info.feats.features.fillModeNonSolid || !screen->info.feats.features.shaderClipDistance || @@ -2639,6 +2646,10 @@ check_base_requirements(struct zink_screen *screen) CHECK_OR_PRINT(have_EXT_line_rasterization); fprintf(stderr, "\n"); } + if (screen->info.driver_props.driverID == VK_DRIVER_ID_MESA_V3DV) { + screen->info.feats12.scalarBlockLayout = false; + screen->info.have_EXT_scalar_block_layout = false; + } } static void @@ -2837,14 +2848,6 @@ init_driver_workarounds(struct zink_screen *screen) abort(); } - if (screen->info.driver_props.driverID == VK_DRIVER_ID_MESA_V3DV) { - /* v3dv doesn't support straddling i/o, but zink doesn't do that so this is effectively supported: - * don't spam errors in this case - */ - screen->info.feats12.scalarBlockLayout = true; - screen->info.have_EXT_scalar_block_layout = true; - } - /* these drivers benefit from renderpass optimization */ switch (screen->info.driver_props.driverID) { case VK_DRIVER_ID_MESA_LLVMPIPE:
