diff --git a/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c b/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c index a242acf9935..2d4067b1eff 100644 --- a/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c +++ b/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c @@ -7,12 +7,22 @@ */ #include "amdgpu_cs.h" +#include "util/detect_os.h" #include "util/os_time.h" #include #include #include "amd/common/sid.h" +/* Some BSDs don't define ENODATA (and ENODATA is replaced with different error + * codes in the kernel). + */ +#if DETECT_OS_OPENBSD +#define ENODATA ENOTSUP +#elif DETECT_OS_FREEBSD || DETECT_OS_DRAGONFLY +#define ENODATA ECONNREFUSED +#endif + /* FENCES */ void amdgpu_fence_destroy(struct amdgpu_fence *fence)