vk_semaphore_reset_temporary(device, semaphore);
-#ifndef _WIN32
+#ifdef HAVE_LIBDRM
VkResult result = wsi_create_sync_for_dma_buf_wait(chain, image,
VK_SYNC_FEATURE_GPU_WAIT,
&semaphore->temporary);
vk_fence_reset_temporary(device, fence);
-#ifndef _WIN32
+#ifdef HAVE_LIBDRM
VkResult result = wsi_create_sync_for_dma_buf_wait(chain, image,
VK_SYNC_FEATURE_CPU_WAIT,
&fence->temporary);
VkFence fence = swapchain->fences[image_index];
bool has_signal_dma_buf = false;
-#ifndef _WIN32
+#ifdef HAVE_LIBDRM
result = wsi_prepare_signal_dma_buf_from_semaphore(swapchain, image);
if (result == VK_SUCCESS) {
assert(submit_info.signalSemaphoreCount == 0);
if (result != VK_SUCCESS)
goto fail_present;
-#ifndef _WIN32
+#ifdef HAVE_LIBDRM
if (has_signal_dma_buf) {
result = wsi_signal_dma_buf_from_semaphore(swapchain, image);
if (result != VK_SUCCESS)
wsi_destroy_image(const struct wsi_swapchain *chain,
struct wsi_image *image);
+#ifdef HAVE_LIBDRM
VkResult
wsi_prepare_signal_dma_buf_from_semaphore(struct wsi_swapchain *chain,
const struct wsi_image *image);
const struct wsi_image *image,
enum vk_sync_features sync_features,
struct vk_sync **sync_out);
+#endif
struct wsi_interface {
VkResult (*get_support)(VkIcdSurfaceBase *surface,