zink: use hardware int64 when supported
authorErik Faye-Lund <erik.faye-lund@collabora.com>
Sun, 10 Jan 2021 12:57:15 +0000 (13:57 +0100)
committerMarge Bot <eric+marge@anholt.net>
Mon, 11 Jan 2021 10:47:58 +0000 (10:47 +0000)
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8403>

src/gallium/drivers/zink/zink_compiler.c

index cde2957..87f62fa 100644 (file)
@@ -222,12 +222,15 @@ zink_screen_init_compiler(struct zink_screen *screen)
       .lower_pack_64_2x32_split = true,
       .lower_unpack_64_2x32_split = true,
       .use_scoped_barrier = true,
-      .lower_int64_options = ~0,
+      .lower_int64_options = 0,
       .lower_doubles_options = ~nir_lower_fp64_full_software,
    };
 
    screen->nir_options = default_options;
 
+   if (!screen->info.feats.features.shaderInt64)
+      screen->nir_options.lower_int64_options = ~0;
+
    if (!screen->info.feats.features.shaderFloat64)
       screen->nir_options.lower_doubles_options = ~0;
 }