nvk: Enable the new UAPI
authorFaith Ekstrand <faith.ekstrand@collabora.com>
Thu, 3 Aug 2023 23:32:45 +0000 (18:32 -0500)
committerMarge Bot <emma+marge@anholt.net>
Fri, 4 Aug 2023 21:32:07 +0000 (21:32 +0000)
We also add a meson option to disable it and re-enable the legacy API.
This code probably won't last long but it gives developers the option.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>

meson.build
meson_options.txt
src/nouveau/vulkan/meson.build
src/nouveau/winsys/nouveau_device.h

index 248eadf..83f4e9c 100644 (file)
@@ -261,6 +261,12 @@ with_any_intel = [
 ].contains(true)
 with_any_nouveau = with_gallium_nouveau or with_nouveau_vk
 
+if with_nouveau_vk and get_option('nvk-legacy-uapi')
+  pre_args += '-DNVK_NEW_UAPI=0'
+else
+  pre_args += '-DNVK_NEW_UAPI=1'
+endif
+
 if with_swrast_vk and not with_gallium_softpipe
   error('swrast vulkan requires gallium swrast')
 endif
index f940b4b..512e05d 100644 (file)
@@ -671,3 +671,10 @@ option (
   value : 'disabled',
   description: 'Enable Intel Xe KMD support.'
 )
+
+option(
+  'nvk-legacy-uapi',
+  type : 'boolean',
+  value : 'false',
+  description : 'Build support for legacy kernel uAPI.'
+)
index 78afd27..b3c8db6 100644 (file)
@@ -1,7 +1,5 @@
 nvk_files = files(
   '../../gallium/auxiliary/tgsi/tgsi_from_mesa.c',
-  'nvk_bo_sync.c',
-  'nvk_bo_sync.h',
   'nvk_buffer.c',
   'nvk_buffer.h',
   'nvk_buffer_view.c',
@@ -60,6 +58,13 @@ nvk_files = files(
   'nvk_wsi.h'
 )
 
+if get_option('nvk-legacy-uapi')
+  nvk_files += files(
+    'nvk_bo_sync.c',
+    'nvk_bo_sync.h',
+  )
+endif
+
 nvk_entrypoints = custom_target(
   'nvk_entrypoints',
   input : [vk_entrypoints_gen, vk_api_xml],
index db30e8c..0468c14 100644 (file)
@@ -15,7 +15,9 @@ struct hash_table;
 extern "C" {
 #endif
 
-#define NVK_NEW_UAPI 0
+#ifndef NVK_NEW_UAPI
+#define NVK_NEW_UAPI 1
+#endif
 
 enum nvk_debug {
    /* dumps all push buffers after submission */