nvk: Enable the new UAPI

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>
This commit is contained in:
Faith Ekstrand
2023-08-03 18:32:45 -05:00
committed by Marge Bot
parent b2fe4c7729
commit 8c62b3938a
4 changed files with 23 additions and 3 deletions

View 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

View 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.'
)

View 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],

View 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 */