mirror of
https://github.com/Mathewnd/Astral.git
synced 2026-10-27 20:58:22 +00:00
128 lines
5.0 KiB
Diff
128 lines
5.0 KiB
Diff
diff --git mesa-clean/include/drm-uapi/drm.h mesa-workdir/include/drm-uapi/drm.h
|
|
index 4e4f7c2..2e4d3e2 100644
|
|
--- mesa-clean/include/drm-uapi/drm.h
|
|
+++ mesa-workdir/include/drm-uapi/drm.h
|
|
@@ -44,7 +44,7 @@ typedef unsigned int drm_handle_t;
|
|
#else /* One of the BSDs */
|
|
|
|
#include <stdint.h>
|
|
-#include <sys/ioccom.h>
|
|
+//#include <sys/ioccom.h>
|
|
#include <sys/types.h>
|
|
typedef int8_t __s8;
|
|
typedef uint8_t __u8;
|
|
diff --git mesa-clean/meson.build mesa-workdir/meson.build
|
|
index 9fb4160..1a1a827 100644
|
|
--- mesa-clean/meson.build
|
|
+++ mesa-workdir/meson.build
|
|
@@ -1040,7 +1040,7 @@ if cc.has_function('fmemopen')
|
|
endif
|
|
|
|
# TODO: this is very incomplete
|
|
-if ['linux', 'cygwin', 'gnu', 'freebsd', 'gnu/kfreebsd', 'haiku', 'android', 'managarm'].contains(host_machine.system())
|
|
+if ['linux', 'cygwin', 'gnu', 'freebsd', 'gnu/kfreebsd', 'haiku', 'android', 'managarm', 'astral'].contains(host_machine.system())
|
|
pre_args += '-D_GNU_SOURCE'
|
|
elif host_machine.system() == 'sunos'
|
|
pre_args += '-D__EXTENSIONS__'
|
|
diff --git mesa-clean/src/gallium/drivers/llvmpipe/lp_screen.c mesa-workdir/src/gallium/drivers/llvmpipe/lp_screen.c
|
|
index 7daa531..6b6dd7b 100644
|
|
--- mesa-clean/src/gallium/drivers/llvmpipe/lp_screen.c
|
|
+++ mesa-workdir/src/gallium/drivers/llvmpipe/lp_screen.c
|
|
@@ -128,7 +128,7 @@ llvmpipe_get_param(struct pipe_screen *screen, enum pipe_cap param)
|
|
#endif
|
|
|
|
switch (param) {
|
|
-#ifdef HAVE_LINUX_UDMABUF_H
|
|
+#if defined(HAVE_LINUX_UDMABUF_H) && defined(__linux__)
|
|
case PIPE_CAP_DMABUF:
|
|
if (lscreen->udmabuf_fd != -1)
|
|
return DRM_PRIME_CAP_IMPORT | DRM_PRIME_CAP_EXPORT;
|
|
@@ -1173,7 +1173,7 @@ llvmpipe_create_screen(struct sw_winsys *winsys)
|
|
screen->num_threads);
|
|
screen->num_threads = MIN2(screen->num_threads, LP_MAX_THREADS);
|
|
|
|
-#ifdef HAVE_LINUX_UDMABUF_H
|
|
+#if defined(HAVE_LINUX_UDMABUF_H) && defined(__linux__)
|
|
screen->udmabuf_fd = open("/dev/udmabuf", O_RDWR);
|
|
#endif
|
|
|
|
diff --git mesa-clean/src/gallium/drivers/llvmpipe/lp_texture.c mesa-workdir/src/gallium/drivers/llvmpipe/lp_texture.c
|
|
index 2aab5bf..e8f9d69 100644
|
|
--- mesa-clean/src/gallium/drivers/llvmpipe/lp_texture.c
|
|
+++ mesa-workdir/src/gallium/drivers/llvmpipe/lp_texture.c
|
|
@@ -63,6 +63,10 @@
|
|
#include "drm-uapi/drm_fourcc.h"
|
|
#endif
|
|
|
|
+#ifdef __astral__
|
|
+#undef HAVE_LINUX_UDMABUF_H
|
|
+#endif
|
|
+
|
|
#ifdef HAVE_LINUX_UDMABUF_H
|
|
#include <fcntl.h>
|
|
#include <sys/mman.h>
|
|
diff --git mesa-clean/src/util/detect_os.h mesa-workdir/src/util/detect_os.h
|
|
index 86286df..f3a5106 100644
|
|
--- mesa-clean/src/util/detect_os.h
|
|
+++ mesa-workdir/src/util/detect_os.h
|
|
@@ -91,6 +91,11 @@
|
|
#define DETECT_OS_POSIX 1
|
|
#endif
|
|
|
|
+#if defined(__astral__)
|
|
+#define DETECT_OS_ASTRAL 1
|
|
+#define DETECT_OS_POSIX 1
|
|
+#endif
|
|
+
|
|
|
|
/*
|
|
* Make sure DETECT_OS_* are always defined, so that they can be used with #if
|
|
diff --git mesa-clean/src/util/os_misc.c mesa-workdir/src/util/os_misc.c
|
|
index f529318..a61cd93 100644
|
|
--- mesa-clean/src/util/os_misc.c
|
|
+++ mesa-workdir/src/util/os_misc.c
|
|
@@ -57,7 +57,7 @@
|
|
# include <unistd.h>
|
|
# include <log/log.h>
|
|
# include <cutils/properties.h>
|
|
-#elif DETECT_OS_LINUX || DETECT_OS_CYGWIN || DETECT_OS_SOLARIS || DETECT_OS_HURD || DETECT_OS_MANAGARM
|
|
+#elif DETECT_OS_LINUX || DETECT_OS_CYGWIN || DETECT_OS_SOLARIS || DETECT_OS_HURD || DETECT_OS_MANAGARM || DETECT_OS_ASTRAL
|
|
# include <unistd.h>
|
|
#elif DETECT_OS_OPENBSD || DETECT_OS_FREEBSD
|
|
# include <sys/resource.h>
|
|
@@ -274,7 +274,7 @@ exit_mutex:
|
|
bool
|
|
os_get_total_physical_memory(uint64_t *size)
|
|
{
|
|
-#if DETECT_OS_LINUX || DETECT_OS_CYGWIN || DETECT_OS_SOLARIS || DETECT_OS_HURD || DETECT_OS_MANAGARM
|
|
+#if DETECT_OS_LINUX || DETECT_OS_CYGWIN || DETECT_OS_SOLARIS || DETECT_OS_HURD || DETECT_OS_MANAGARM || DETECT_OS_ASTRAL
|
|
const long phys_pages = sysconf(_SC_PHYS_PAGES);
|
|
const long page_size = sysconf(_SC_PAGE_SIZE);
|
|
|
|
diff --git mesa-clean/src/util/os_time.c mesa-workdir/src/util/os_time.c
|
|
index da8ad7a..001cc3a 100644
|
|
--- mesa-clean/src/util/os_time.c
|
|
+++ mesa-workdir/src/util/os_time.c
|
|
@@ -65,7 +65,7 @@ os_time_get_nano(void)
|
|
void
|
|
os_time_sleep(int64_t usecs)
|
|
{
|
|
-#if DETECT_OS_LINUX || DETECT_OS_MANAGARM || DETECT_OS_FUCHSIA
|
|
+#if DETECT_OS_LINUX || DETECT_OS_MANAGARM || DETECT_OS_FUCHSIA || DETECT_OS_ASTRAL
|
|
struct timespec time;
|
|
time.tv_sec = usecs / 1000000;
|
|
time.tv_nsec = (usecs % 1000000) * 1000;
|
|
diff --git mesa-clean/src/util/u_thread.c mesa-workdir/src/util/u_thread.c
|
|
index 255c5f6..a532705 100644
|
|
--- mesa-clean/src/util/u_thread.c
|
|
+++ mesa-workdir/src/util/u_thread.c
|
|
@@ -75,7 +75,7 @@ int u_thread_create(thrd_t *thrd, int (*routine)(void *), void *param)
|
|
void u_thread_setname( const char *name )
|
|
{
|
|
#if defined(HAVE_PTHREAD)
|
|
-#if DETECT_OS_LINUX || DETECT_OS_CYGWIN || DETECT_OS_SOLARIS || defined(__GLIBC__) || DETECT_OS_MANAGARM || DETECT_OS_FUCHSIA
|
|
+#if DETECT_OS_LINUX || DETECT_OS_CYGWIN || DETECT_OS_SOLARIS || defined(__GLIBC__) || DETECT_OS_MANAGARM || DETECT_OS_FUCHSIA || DETECT_OS_ASTRAL
|
|
int ret = pthread_setname_np(pthread_self(), name);
|
|
if (ret == ERANGE) {
|
|
char buf[16];
|