diff --git a/src/gallium/frontends/lavapipe/lvp_device.c b/src/gallium/frontends/lavapipe/lvp_device.c index b6a3ca58f08..72975314c0c 100644 --- a/src/gallium/frontends/lavapipe/lvp_device.c +++ b/src/gallium/frontends/lavapipe/lvp_device.c @@ -342,7 +342,7 @@ lvp_device_memory_type_for_handle_types(const struct lvp_physical_device *pdevic assert(!(types & ~(VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT | VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT))); -#ifdef HAVE_LIBDRM +#if defined(HAVE_LIBDRM) && defined(HAVE_LINUX_UDMABUF_H) int dmabuf_bits = DRM_PRIME_CAP_EXPORT | DRM_PRIME_CAP_IMPORT; if ((pdevice->pscreen->caps.dmabuf & dmabuf_bits) == dmabuf_bits) { /* If we have full dma-buf support, everything is a dma-buf */ @@ -1441,7 +1441,7 @@ lvp_physical_device_init(struct lvp_physical_device *device, device->max_images = device->pscreen->shader_caps[MESA_SHADER_FRAGMENT].max_shader_images; device->vk.supported_extensions = lvp_device_extensions_supported; -#ifdef HAVE_LIBDRM +#if defined(HAVE_LIBDRM) && defined(HAVE_LINUX_UDMABUF_H) int dmabuf_bits = DRM_PRIME_CAP_EXPORT | DRM_PRIME_CAP_IMPORT; int supported_dmabuf_bits = device->pscreen->caps.dmabuf; /* if import or export is supported then EXT_external_memory_dma_buf is supported */ diff --git a/src/gallium/frontends/lavapipe/lvp_formats.c b/src/gallium/frontends/lavapipe/lvp_formats.c index a78407c9952..9a1c417f29d 100644 --- a/src/gallium/frontends/lavapipe/lvp_formats.c +++ b/src/gallium/frontends/lavapipe/lvp_formats.c @@ -492,7 +492,7 @@ VKAPI_ATTR VkResult VKAPI_CALL lvp_GetPhysicalDeviceImageFormatProperties2( VkExternalMemoryHandleTypeFlags compat_flags = 0; switch (external_info->handleType) { -#ifdef HAVE_LIBDRM +#if defined(HAVE_LIBDRM) && defined(HAVE_LINUX_UDMABUF_H) case VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT: { int params = physical_device->pscreen->caps.dmabuf; flags = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT; @@ -663,7 +663,7 @@ VKAPI_ATTR void VKAPI_CALL lvp_GetPhysicalDeviceExternalBufferProperties( VkExternalMemoryHandleTypeFlags export_flags = 0; VkExternalMemoryHandleTypeFlags compat_flags = 0; switch (pExternalBufferInfo->handleType) { -#ifdef HAVE_LIBDRM +#if defined(HAVE_LIBDRM) && defined(HAVE_LINUX_UDMABUF_H) case VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT: { VK_FROM_HANDLE(lvp_physical_device, physical_device, physicalDevice); int params = physical_device->pscreen->caps.dmabuf;