feature: adapt x86 build
Change-Id: Ia07adacad7f2af149b3bf195162194101e486f53
This commit is contained in:
5
.gitignore
vendored
5
.gitignore
vendored
@@ -1,4 +1,7 @@
|
|||||||
*.pyc
|
*.pyc
|
||||||
*.pyo
|
*.pyo
|
||||||
*.out
|
*.out
|
||||||
/build
|
build-ohos
|
||||||
|
cross_file
|
||||||
|
pkgconfig/
|
||||||
|
/build
|
133
cross_file
133
cross_file
@@ -3,39 +3,129 @@
|
|||||||
needs_exe_wrapper = true
|
needs_exe_wrapper = true
|
||||||
|
|
||||||
c_args = [
|
c_args = [
|
||||||
'--target=aarch64-linux-ohosmusl',
|
'-march=x86-64',
|
||||||
'--sysroot=/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release/out/dyrk3568/obj/third_party/musl',
|
'--target=x86_64-linux-ohosmusl',
|
||||||
'-fno-emulated-tls',
|
'--sysroot=/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release/out/surface/obj/third_party/musl',
|
||||||
'-fPIC']
|
'-fPIC',
|
||||||
|
'-fno-emulated-tls']
|
||||||
|
|
||||||
cpp_args = [
|
cpp_args = [
|
||||||
'--target=aarch64-linux-ohosmusl',
|
'-march=x86-64',
|
||||||
'--sysroot=/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release/out/dyrk3568/obj/third_party/musl',
|
'--target=x86_64-linux-ohosmusl',
|
||||||
'-fno-emulated-tls',
|
'--sysroot=/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release/out/surface/obj/third_party/musl',
|
||||||
'-fPIC']
|
'-fPIC',
|
||||||
|
'-fno-emulated-tls']
|
||||||
|
|
||||||
c_link_args = [
|
c_link_args = [
|
||||||
'--target=aarch64-linux-ohosmusl',
|
'-march=x86-64',
|
||||||
|
'--target=x86_64-linux-ohosmusl',
|
||||||
'-fPIC',
|
'-fPIC',
|
||||||
'--sysroot=/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release/out/dyrk3568/obj/third_party/musl',
|
'--sysroot=/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release/out/surface/obj/third_party/musl',
|
||||||
'-L/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release/out/dyrk3568/obj/third_party/musl/usr/lib/aarch64-linux-ohos',
|
'-L/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release/out/surface/obj/third_party/musl/usr/lib/x86_64-linux-ohos',
|
||||||
'-L/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release/prebuilts/clang/ohos/linux-x86_64/llvm/lib/clang/current/lib/aarch64-linux-ohos',
|
'-L/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release/prebuilts/clang/ohos/linux-x86_64/15.0.4/lib/x86_64-linux-ohos',
|
||||||
'-L/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release/prebuilts/clang/ohos/linux-x86_64/llvm/lib/aarch64-linux-ohos/c++',
|
'-L/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release/prebuilts/clang/ohos/linux-x86_64/15.0.4/llvm/include/x86_64-linux-ohos/c++',
|
||||||
'--rtlib=compiler-rt',
|
'--rtlib=compiler-rt',
|
||||||
]
|
]
|
||||||
|
|
||||||
cpp_link_args = [
|
cpp_link_args = [
|
||||||
'--target=aarch64-linux-ohosmusl',
|
'-march=x86-64',
|
||||||
'--sysroot=/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release/out/dyrk3568/obj/third_party/musl',
|
'--target=x86_64-linux-ohosmusl',
|
||||||
'-L/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release/out/dyrk3568/obj/third_party/musl/usr/lib/aarch64-linux-ohos',
|
'--sysroot=/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release/out/surface/obj/third_party/musl',
|
||||||
'-L/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release/prebuilts/clang/ohos/linux-x86_64/llvm/lib/clang/current/lib/aarch64-linux-ohos',
|
|
||||||
'-L/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release/prebuilts/clang/ohos/linux-x86_64/llvm/lib/aarch64-linux-ohos/c++',
|
|
||||||
'-fPIC',
|
'-fPIC',
|
||||||
|
'-L/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release/out/surface/obj/third_party/musl/usr/lib/x86_64-linux-ohos',
|
||||||
|
'-L/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release/prebuilts/clang/ohos/linux-x86_64/llvm/lib/clang/15.0.4/lib/x86_64-linux-ohos',
|
||||||
|
'-L/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release/prebuilts/clang/ohos/linux-x86_64/llvm/lib/include/x86_64-linux-ohos/c++',
|
||||||
'-Wl,--exclude-libs=libunwind_llvm.a',
|
'-Wl,--exclude-libs=libunwind_llvm.a',
|
||||||
'-Wl,--exclude-libs=libc++_static.a',
|
'-Wl,--exclude-libs=libc++_static.a',
|
||||||
'-Wl,--exclude-libs=libvpx_assembly_arm.a',
|
|
||||||
'-Wl,--warn-shared-textrel',
|
'-Wl,--warn-shared-textrel',
|
||||||
'--rtlib=compiler-rt',
|
'--rtlib=compiler-rt',
|
||||||
|
'-L/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release/third_party/mesa3d/subprojects/llvm',
|
||||||
|
'-lLLVMMCDisassembler',
|
||||||
|
'-lLLVMSelectionDAG',
|
||||||
|
'-lLLVMExtensions',
|
||||||
|
'-lLLVMRemarks',
|
||||||
|
'-lLLVMRuntimeDyld',
|
||||||
|
'-lLLVMDemangle',
|
||||||
|
'-lLLVMBinaryFormat',
|
||||||
|
'-lLLVMAsmParser',
|
||||||
|
'-lLLVMTarget',
|
||||||
|
'-lLLVMX86Disassembler',
|
||||||
|
'-lLLVMInterfaceStub',
|
||||||
|
'-lLLVMX86Info',
|
||||||
|
'-lLLVMLTO',
|
||||||
|
'-lLLVMMCA',
|
||||||
|
'-lLLVMOption',
|
||||||
|
'-lLLVMFuzzerCLI',
|
||||||
|
'-lLLVMDlltoolDriver',
|
||||||
|
'-lLLVMDebugInfoPDB',
|
||||||
|
'-lLLVMTextAPI',
|
||||||
|
'-lLLVMMCJIT',
|
||||||
|
'-lLLVMAggressiveInstCombine',
|
||||||
|
'-lLLVMCore',
|
||||||
|
'-lLLVMOrcTargetProcess',
|
||||||
|
'-lLLVMAnalysis',
|
||||||
|
'-lLLVMBitWriter',
|
||||||
|
'-lLLVMObjCopy',
|
||||||
|
'-lLLVMBitstreamReader',
|
||||||
|
'-lLLVMTransformUtils',
|
||||||
|
'-lLLVMExecutionEngine',
|
||||||
|
'-lLLVMObjCARCOpts',
|
||||||
|
'-lLLVMAMDGPUCodeGen',
|
||||||
|
'-lLLVMFrontendOpenACC',
|
||||||
|
'-lLLVMAMDGPUInfo',
|
||||||
|
'-lLLVMDWARFLinker',
|
||||||
|
'-lLLVMTableGen',
|
||||||
|
'-lLLVMX86Desc',
|
||||||
|
'-lLLVMMCParser',
|
||||||
|
'-lLLVMInstrumentation',
|
||||||
|
'-lLLVMOrcShared',
|
||||||
|
'-lLLVMInstCombine',
|
||||||
|
'-lLLVMSupport',
|
||||||
|
'-lLLVMAsmPrinter',
|
||||||
|
'-lLLVMWindowsManifest',
|
||||||
|
'-lLLVMLineEditor',
|
||||||
|
'-lLLVMAMDGPUDisassembler',
|
||||||
|
'-lLLVMDebugInfoGSYM',
|
||||||
|
'-lLLVMDebugInfoCodeView',
|
||||||
|
'-lLLVMInterpreter',
|
||||||
|
'-lLLVMVectorize',
|
||||||
|
'-lLLVMX86CodeGen',
|
||||||
|
'-lLLVMAMDGPUUtils',
|
||||||
|
'-lLLVMParts',
|
||||||
|
'-lLLVMDebugInfoMSF',
|
||||||
|
'-lLLVMXRay',
|
||||||
|
'-lLLVMPasses',
|
||||||
|
'-lLLVMTableGenGlobalISel',
|
||||||
|
'-lLLVMGlobalISel',
|
||||||
|
'-lLLVMBitReader',
|
||||||
|
'-lLLVMipo',
|
||||||
|
'-lLLVMLinker',
|
||||||
|
'-lLLVMX86TargetMCA',
|
||||||
|
'-lLLVMProfileData',
|
||||||
|
'-lLLVMCoroutines',
|
||||||
|
'-lLLVMScalarOpts',
|
||||||
|
'-lLLVMCodeGen',
|
||||||
|
'-lLLVMObject',
|
||||||
|
'-lLLVMWindowsDriver',
|
||||||
|
'-lLLVMCFGuard',
|
||||||
|
'-lLLVMDebugInfoDWARF',
|
||||||
|
'-lLLVMAMDGPUAsmParser',
|
||||||
|
'-lLLVMFrontendOpenMP',
|
||||||
|
'-lLLVMJITLink',
|
||||||
|
'-lLLVMIRReader',
|
||||||
|
'-lLLVMX86AsmParser',
|
||||||
|
'-lLLVMMC',
|
||||||
|
'-lLLVMSymbolize',
|
||||||
|
'-lLLVMLibDriver',
|
||||||
|
'-lLLVMObjectYAML',
|
||||||
|
'-lLLVMFileCheck',
|
||||||
|
'-lLLVMDWP',
|
||||||
|
'-lLLVMAMDGPUTargetMCA',
|
||||||
|
'-lLLVMMIRParser',
|
||||||
|
'-lLLVMAMDGPUDesc',
|
||||||
|
'-lLLVMFuzzMutate',
|
||||||
|
'-lLLVMCoverage',
|
||||||
|
'-lLLVMOrcJIT',
|
||||||
]
|
]
|
||||||
|
|
||||||
[binaries]
|
[binaries]
|
||||||
@@ -45,10 +135,11 @@ cpp = ['ccache', '/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release/prebuilts/cl
|
|||||||
c_ld= 'lld'
|
c_ld= 'lld'
|
||||||
cpp_ld = 'lld'
|
cpp_ld = 'lld'
|
||||||
strip = '/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release/prebuilts/clang/ohos/linux-x86_64/llvm/bin/llvm-strip'
|
strip = '/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release/prebuilts/clang/ohos/linux-x86_64/llvm/bin/llvm-strip'
|
||||||
|
llvm-config = '/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release/prebuilts/clang/ohos/linux-x86_64/llvm/bin/llvm-config'
|
||||||
pkgconfig = '/usr/bin/pkg-config'
|
pkgconfig = '/usr/bin/pkg-config'
|
||||||
|
|
||||||
[host_machine]
|
[host_machine]
|
||||||
system = 'linux'
|
system = 'linux'
|
||||||
cpu_family = 'arm'
|
cpu_family = 'x86_64'
|
||||||
cpu = 'armv8'
|
cpu = 'x86_64'
|
||||||
endian = 'little'
|
endian = 'little'
|
||||||
|
@@ -134,7 +134,7 @@ typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESYNCKHRPROC) (EGLDisplay dpy, EGLen
|
|||||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync);
|
typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync);
|
||||||
typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
|
typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
|
||||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value);
|
typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value);
|
||||||
#ifdef EGL_EGLEXT_PROTOTYPES
|
#if defined(EGL_EGLEXT_PROTOTYPES) || defined(HAVE_OHOS_PLATFORM)
|
||||||
EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSyncKHR (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);
|
EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSyncKHR (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);
|
||||||
EGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncKHR (EGLDisplay dpy, EGLSyncKHR sync);
|
EGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncKHR (EGLDisplay dpy, EGLSyncKHR sync);
|
||||||
EGLAPI EGLint EGLAPIENTRY eglClientWaitSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
|
EGLAPI EGLint EGLAPIENTRY eglClientWaitSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
|
||||||
@@ -188,7 +188,7 @@ typedef void *EGLImageKHR;
|
|||||||
#define EGL_NO_IMAGE_KHR EGL_CAST(EGLImageKHR,0)
|
#define EGL_NO_IMAGE_KHR EGL_CAST(EGLImageKHR,0)
|
||||||
typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEIMAGEKHRPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);
|
typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEIMAGEKHRPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);
|
||||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEKHRPROC) (EGLDisplay dpy, EGLImageKHR image);
|
typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEKHRPROC) (EGLDisplay dpy, EGLImageKHR image);
|
||||||
#ifdef EGL_EGLEXT_PROTOTYPES
|
#if defined(EGL_EGLEXT_PROTOTYPES) || defined(HAVE_OHOS_PLATFORM)
|
||||||
EGLAPI EGLImageKHR EGLAPIENTRY eglCreateImageKHR (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);
|
EGLAPI EGLImageKHR EGLAPIENTRY eglCreateImageKHR (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);
|
||||||
EGLAPI EGLBoolean EGLAPIENTRY eglDestroyImageKHR (EGLDisplay dpy, EGLImageKHR image);
|
EGLAPI EGLBoolean EGLAPIENTRY eglDestroyImageKHR (EGLDisplay dpy, EGLImageKHR image);
|
||||||
#endif
|
#endif
|
||||||
@@ -443,7 +443,7 @@ EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersWithDamageKHR (EGLDisplay dpy, EGLSu
|
|||||||
#ifndef EGL_KHR_wait_sync
|
#ifndef EGL_KHR_wait_sync
|
||||||
#define EGL_KHR_wait_sync 1
|
#define EGL_KHR_wait_sync 1
|
||||||
typedef EGLint (EGLAPIENTRYP PFNEGLWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags);
|
typedef EGLint (EGLAPIENTRYP PFNEGLWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags);
|
||||||
#ifdef EGL_EGLEXT_PROTOTYPES
|
#if defined(EGL_EGLEXT_PROTOTYPES) || defined(HAVE_OHOS_PLATFORM)
|
||||||
EGLAPI EGLint EGLAPIENTRY eglWaitSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags);
|
EGLAPI EGLint EGLAPIENTRY eglWaitSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags);
|
||||||
#endif
|
#endif
|
||||||
#endif /* EGL_KHR_wait_sync */
|
#endif /* EGL_KHR_wait_sync */
|
||||||
@@ -538,7 +538,7 @@ EGLAPI EGLClientBuffer EGLAPIENTRY eglGetNativeClientBufferANDROID (const struct
|
|||||||
#define EGL_SYNC_NATIVE_FENCE_SIGNALED_ANDROID 0x3146
|
#define EGL_SYNC_NATIVE_FENCE_SIGNALED_ANDROID 0x3146
|
||||||
#define EGL_NO_NATIVE_FENCE_FD_ANDROID -1
|
#define EGL_NO_NATIVE_FENCE_FD_ANDROID -1
|
||||||
typedef EGLint (EGLAPIENTRYP PFNEGLDUPNATIVEFENCEFDANDROIDPROC) (EGLDisplay dpy, EGLSyncKHR sync);
|
typedef EGLint (EGLAPIENTRYP PFNEGLDUPNATIVEFENCEFDANDROIDPROC) (EGLDisplay dpy, EGLSyncKHR sync);
|
||||||
#ifdef EGL_EGLEXT_PROTOTYPES
|
#if defined(EGL_EGLEXT_PROTOTYPES) || defined(HAVE_OHOS_PLATFORM)
|
||||||
EGLAPI EGLint EGLAPIENTRY eglDupNativeFenceFDANDROID (EGLDisplay dpy, EGLSyncKHR sync);
|
EGLAPI EGLint EGLAPIENTRY eglDupNativeFenceFDANDROID (EGLDisplay dpy, EGLSyncKHR sync);
|
||||||
#endif
|
#endif
|
||||||
#endif /* EGL_ANDROID_native_fence_sync */
|
#endif /* EGL_ANDROID_native_fence_sync */
|
||||||
|
@@ -2085,7 +2085,7 @@ typedef void* GLeglImageOES;
|
|||||||
|
|
||||||
#ifndef GL_OES_EGL_image
|
#ifndef GL_OES_EGL_image
|
||||||
#define GL_OES_EGL_image 1
|
#define GL_OES_EGL_image 1
|
||||||
#ifdef GL_GLEXT_PROTOTYPES
|
#if defined(GL_GLEXT_PROTOTYPES) || defined(HAVE_OHOS_PLATFORM)
|
||||||
GLAPI void APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
|
GLAPI void APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
|
||||||
GLAPI void APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
|
GLAPI void APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
|
||||||
#endif
|
#endif
|
||||||
|
@@ -108,7 +108,7 @@
|
|||||||
#elif defined (__SYMBIAN32__)
|
#elif defined (__SYMBIAN32__)
|
||||||
# define KHRONOS_APICALL IMPORT_C
|
# define KHRONOS_APICALL IMPORT_C
|
||||||
#elif (defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 303) \
|
#elif (defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 303) \
|
||||||
|| (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590))
|
|| (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)) || (defined(HAVE_OHOS_PLATFORM))
|
||||||
/* KHRONOS_APIATTRIBUTES is not used by the client API headers yet */
|
/* KHRONOS_APIATTRIBUTES is not used by the client API headers yet */
|
||||||
# define KHRONOS_APICALL __attribute__((visibility("default")))
|
# define KHRONOS_APICALL __attribute__((visibility("default")))
|
||||||
#else
|
#else
|
||||||
|
@@ -173,7 +173,7 @@ with_any_opengl = with_opengl or with_gles1 or with_gles2
|
|||||||
# Only build shared_glapi if at least one OpenGL API is enabled
|
# Only build shared_glapi if at least one OpenGL API is enabled
|
||||||
with_shared_glapi = with_shared_glapi and with_any_opengl
|
with_shared_glapi = with_shared_glapi and with_any_opengl
|
||||||
|
|
||||||
system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd', 'gnu/kfreebsd', 'dragonfly', 'linux', 'sunos'].contains(host_machine.system())
|
system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd', 'gnu/kfreebsd', 'dragonfly', 'linux', 'sunos', 'android', 'ohos'].contains(host_machine.system())
|
||||||
|
|
||||||
dri_drivers = get_option('dri-drivers')
|
dri_drivers = get_option('dri-drivers')
|
||||||
if dri_drivers.length() != 0
|
if dri_drivers.length() != 0
|
||||||
@@ -1660,7 +1660,7 @@ dep_libdrm_intel = null_dep
|
|||||||
_drm_amdgpu_ver = '2.4.110'
|
_drm_amdgpu_ver = '2.4.110'
|
||||||
_drm_radeon_ver = '2.4.71'
|
_drm_radeon_ver = '2.4.71'
|
||||||
_drm_nouveau_ver = '2.4.102'
|
_drm_nouveau_ver = '2.4.102'
|
||||||
_drm_intel_ver = '2.4.75'
|
_drm_intel_ver = '2.4.111'
|
||||||
_drm_ver = '2.4.109'
|
_drm_ver = '2.4.109'
|
||||||
|
|
||||||
_libdrm_checks = [
|
_libdrm_checks = [
|
||||||
@@ -1723,7 +1723,7 @@ endif
|
|||||||
|
|
||||||
dep_libudev = dependency('libudev', required : false)
|
dep_libudev = dependency('libudev', required : false)
|
||||||
if dep_libudev.found()
|
if dep_libudev.found()
|
||||||
pre_args += '-DHAVE_LIBUDEV'
|
# pre_args += '-DHAVE_LIBUDEV'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
llvm_modules = ['bitwriter', 'engine', 'mcdisassembler', 'mcjit', 'core', 'executionengine', 'scalaropts', 'transformutils', 'instcombine']
|
llvm_modules = ['bitwriter', 'engine', 'mcdisassembler', 'mcjit', 'core', 'executionengine', 'scalaropts', 'transformutils', 'instcombine']
|
||||||
|
43
ohos/build_ohos_x86.py
Normal file
43
ohos/build_ohos_x86.py
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
# Copyright (c) 2022 Huawei Device Co., Ltd.
|
||||||
|
|
||||||
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
# of this software and associated documentation files (the "Software"), to deal
|
||||||
|
# in the Software without restriction, including without limitation the rights
|
||||||
|
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
# copies of the Software, and to permit persons to whom the Software is
|
||||||
|
# furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
# The above copyright notice and this permission notice shall be included in
|
||||||
|
# all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
# SOFTWARE.
|
||||||
|
import sys
|
||||||
|
import ntpath
|
||||||
|
import os
|
||||||
|
if __name__ == '__main__':
|
||||||
|
if len(sys.argv) < 4:
|
||||||
|
print("must input the OpenHarmony directory and the product name and the source dir")
|
||||||
|
exit(-1)
|
||||||
|
script_dir = os.path.split(os.path.abspath( __file__))[0]
|
||||||
|
run_cross_pross_cmd = 'python3 ' + script_dir + '/meson_cross_process_x86.py ' + sys.argv[1] + ' ' + sys.argv[2]
|
||||||
|
os.system(run_cross_pross_cmd)
|
||||||
|
|
||||||
|
run_build_cmd = 'PKG_CONFIG_PATH=./pkgconfig '
|
||||||
|
run_build_cmd += 'meson setup '+ sys.argv[3] + ' build-ohos '
|
||||||
|
run_build_cmd += '-Dplatforms=ohos -Degl-native-platform=ohos -Ddri-drivers= -Dgallium-drivers=crocus,iris \
|
||||||
|
-Dvulkan-drivers= -Dgbm=enabled -Degl=enabled -Dcpp_rtti=false -Dglx=disabled -Dtools=intel -Ddri-search-path=/vendor/lib64/chipsetsdk '
|
||||||
|
run_build_cmd += '--cross-file=cross_file '
|
||||||
|
run_build_cmd += '--prefix=' + os.getcwd() + '/build-ohos/install'
|
||||||
|
print("build command: %s" %run_build_cmd)
|
||||||
|
os.system(run_build_cmd)
|
||||||
|
os.system('ninja -C build-ohos -j26')
|
||||||
|
os.system('ninja -C build-ohos install')
|
219
ohos/meson_cross_process_x86.py
Normal file
219
ohos/meson_cross_process_x86.py
Normal file
@@ -0,0 +1,219 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
# Copyright (c) 2022 Huawei Device Co., Ltd.
|
||||||
|
|
||||||
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
# of this software and associated documentation files (the "Software"), to deal
|
||||||
|
# in the Software without restriction, including without limitation the rights
|
||||||
|
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
# copies of the Software, and to permit persons to whom the Software is
|
||||||
|
# furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
# The above copyright notice and this permission notice shall be included in
|
||||||
|
# all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
# SOFTWARE.
|
||||||
|
|
||||||
|
import sys
|
||||||
|
import ntpath
|
||||||
|
import os
|
||||||
|
|
||||||
|
sysroot_stub = 'sysroot_stub'
|
||||||
|
project_stub = 'project_stub'
|
||||||
|
|
||||||
|
corss_file_content='''
|
||||||
|
[properties]
|
||||||
|
needs_exe_wrapper = true
|
||||||
|
|
||||||
|
c_args = [
|
||||||
|
'-march=x86-64',
|
||||||
|
'--target=x86_64-linux-ohosmusl',
|
||||||
|
'--sysroot=sysroot_stub',
|
||||||
|
'-fPIC',
|
||||||
|
'-fno-emulated-tls']
|
||||||
|
|
||||||
|
cpp_args = [
|
||||||
|
'-march=x86-64',
|
||||||
|
'--target=x86_64-linux-ohosmusl',
|
||||||
|
'--sysroot=sysroot_stub',
|
||||||
|
'-fPIC',
|
||||||
|
'-fno-emulated-tls']
|
||||||
|
|
||||||
|
c_link_args = [
|
||||||
|
'-march=x86-64',
|
||||||
|
'--target=x86_64-linux-ohosmusl',
|
||||||
|
'-fPIC',
|
||||||
|
'--sysroot=sysroot_stub',
|
||||||
|
'-Lsysroot_stub/usr/lib/x86_64-linux-ohos',
|
||||||
|
'-Lproject_stub/prebuilts/clang/ohos/linux-x86_64/15.0.4/lib/x86_64-linux-ohos',
|
||||||
|
'-Lproject_stub/prebuilts/clang/ohos/linux-x86_64/15.0.4/llvm/include/x86_64-linux-ohos/c++',
|
||||||
|
'--rtlib=compiler-rt',
|
||||||
|
]
|
||||||
|
|
||||||
|
cpp_link_args = [
|
||||||
|
'-march=x86-64',
|
||||||
|
'--target=x86_64-linux-ohosmusl',
|
||||||
|
'--sysroot=sysroot_stub',
|
||||||
|
'-fPIC',
|
||||||
|
'-Lsysroot_stub/usr/lib/x86_64-linux-ohos',
|
||||||
|
'-Lproject_stub/prebuilts/clang/ohos/linux-x86_64/llvm/lib/clang/15.0.4/lib/x86_64-linux-ohos',
|
||||||
|
'-Lproject_stub/prebuilts/clang/ohos/linux-x86_64/llvm/lib/include/x86_64-linux-ohos/c++',
|
||||||
|
'-Wl,--exclude-libs=libunwind_llvm.a',
|
||||||
|
'-Wl,--exclude-libs=libc++_static.a',
|
||||||
|
'-Wl,--warn-shared-textrel',
|
||||||
|
'--rtlib=compiler-rt',
|
||||||
|
'-Lproject_stub/third_party/mesa3d/subprojects/llvm',
|
||||||
|
'-lLLVMMCDisassembler',
|
||||||
|
'-lLLVMSelectionDAG',
|
||||||
|
'-lLLVMExtensions',
|
||||||
|
'-lLLVMRemarks',
|
||||||
|
'-lLLVMRuntimeDyld',
|
||||||
|
'-lLLVMDemangle',
|
||||||
|
'-lLLVMBinaryFormat',
|
||||||
|
'-lLLVMAsmParser',
|
||||||
|
'-lLLVMTarget',
|
||||||
|
'-lLLVMX86Disassembler',
|
||||||
|
'-lLLVMInterfaceStub',
|
||||||
|
'-lLLVMX86Info',
|
||||||
|
'-lLLVMLTO',
|
||||||
|
'-lLLVMMCA',
|
||||||
|
'-lLLVMOption',
|
||||||
|
'-lLLVMFuzzerCLI',
|
||||||
|
'-lLLVMDlltoolDriver',
|
||||||
|
'-lLLVMDebugInfoPDB',
|
||||||
|
'-lLLVMTextAPI',
|
||||||
|
'-lLLVMMCJIT',
|
||||||
|
'-lLLVMAggressiveInstCombine',
|
||||||
|
'-lLLVMCore',
|
||||||
|
'-lLLVMOrcTargetProcess',
|
||||||
|
'-lLLVMAnalysis',
|
||||||
|
'-lLLVMBitWriter',
|
||||||
|
'-lLLVMObjCopy',
|
||||||
|
'-lLLVMBitstreamReader',
|
||||||
|
'-lLLVMTransformUtils',
|
||||||
|
'-lLLVMExecutionEngine',
|
||||||
|
'-lLLVMObjCARCOpts',
|
||||||
|
'-lLLVMAMDGPUCodeGen',
|
||||||
|
'-lLLVMFrontendOpenACC',
|
||||||
|
'-lLLVMAMDGPUInfo',
|
||||||
|
'-lLLVMDWARFLinker',
|
||||||
|
'-lLLVMTableGen',
|
||||||
|
'-lLLVMX86Desc',
|
||||||
|
'-lLLVMMCParser',
|
||||||
|
'-lLLVMInstrumentation',
|
||||||
|
'-lLLVMOrcShared',
|
||||||
|
'-lLLVMInstCombine',
|
||||||
|
'-lLLVMSupport',
|
||||||
|
'-lLLVMAsmPrinter',
|
||||||
|
'-lLLVMWindowsManifest',
|
||||||
|
'-lLLVMLineEditor',
|
||||||
|
'-lLLVMAMDGPUDisassembler',
|
||||||
|
'-lLLVMDebugInfoGSYM',
|
||||||
|
'-lLLVMDebugInfoCodeView',
|
||||||
|
'-lLLVMInterpreter',
|
||||||
|
'-lLLVMVectorize',
|
||||||
|
'-lLLVMX86CodeGen',
|
||||||
|
'-lLLVMAMDGPUUtils',
|
||||||
|
'-lLLVMParts',
|
||||||
|
'-lLLVMDebugInfoMSF',
|
||||||
|
'-lLLVMXRay',
|
||||||
|
'-lLLVMPasses',
|
||||||
|
'-lLLVMTableGenGlobalISel',
|
||||||
|
'-lLLVMGlobalISel',
|
||||||
|
'-lLLVMBitReader',
|
||||||
|
'-lLLVMipo',
|
||||||
|
'-lLLVMLinker',
|
||||||
|
'-lLLVMX86TargetMCA',
|
||||||
|
'-lLLVMProfileData',
|
||||||
|
'-lLLVMCoroutines',
|
||||||
|
'-lLLVMScalarOpts',
|
||||||
|
'-lLLVMCodeGen',
|
||||||
|
'-lLLVMObject',
|
||||||
|
'-lLLVMWindowsDriver',
|
||||||
|
'-lLLVMCFGuard',
|
||||||
|
'-lLLVMDebugInfoDWARF',
|
||||||
|
'-lLLVMAMDGPUAsmParser',
|
||||||
|
'-lLLVMFrontendOpenMP',
|
||||||
|
'-lLLVMJITLink',
|
||||||
|
'-lLLVMIRReader',
|
||||||
|
'-lLLVMX86AsmParser',
|
||||||
|
'-lLLVMMC',
|
||||||
|
'-lLLVMSymbolize',
|
||||||
|
'-lLLVMLibDriver',
|
||||||
|
'-lLLVMObjectYAML',
|
||||||
|
'-lLLVMFileCheck',
|
||||||
|
'-lLLVMDWP',
|
||||||
|
'-lLLVMAMDGPUTargetMCA',
|
||||||
|
'-lLLVMMIRParser',
|
||||||
|
'-lLLVMAMDGPUDesc',
|
||||||
|
'-lLLVMFuzzMutate',
|
||||||
|
'-lLLVMCoverage',
|
||||||
|
'-lLLVMOrcJIT',
|
||||||
|
]
|
||||||
|
|
||||||
|
[binaries]
|
||||||
|
ar = 'project_stub/prebuilts/clang/ohos/linux-x86_64/llvm/bin/llvm-ar'
|
||||||
|
c = ['ccache', 'project_stub/prebuilts/clang/ohos/linux-x86_64/llvm/bin/clang']
|
||||||
|
cpp = ['ccache', 'project_stub/prebuilts/clang/ohos/linux-x86_64/llvm/bin/clang++']
|
||||||
|
c_ld= 'lld'
|
||||||
|
cpp_ld = 'lld'
|
||||||
|
strip = 'project_stub/prebuilts/clang/ohos/linux-x86_64/llvm/bin/llvm-strip'
|
||||||
|
llvm-config = 'project_stub/prebuilts/clang/ohos/linux-x86_64/llvm/bin/llvm-config'
|
||||||
|
pkgconfig = '/usr/bin/pkg-config'
|
||||||
|
|
||||||
|
[host_machine]
|
||||||
|
system = 'linux'
|
||||||
|
cpu_family = 'x86_64'
|
||||||
|
cpu = 'x86_64'
|
||||||
|
endian = 'little'
|
||||||
|
'''
|
||||||
|
|
||||||
|
def generate_cross_file(project_stub_in, sysroot_stub_in):
|
||||||
|
with open("cross_file", 'w+') as file:
|
||||||
|
result = corss_file_content.replace("project_stub", project_stub_in)
|
||||||
|
result = result.replace("sysroot_stub", sysroot_stub_in)
|
||||||
|
file.write(result)
|
||||||
|
print("generate_cross_file")
|
||||||
|
|
||||||
|
def generate_pc_file(file_raw, project_dir, product_name):
|
||||||
|
print(file_raw)
|
||||||
|
if not os.path.exists('pkgconfig'):
|
||||||
|
os.makedirs('pkgconfig')
|
||||||
|
filename = 'pkgconfig/'+ ntpath.basename(file_raw)
|
||||||
|
with open(file_raw, 'r+') as file_raw:
|
||||||
|
with open(filename, "w+") as pc_file:
|
||||||
|
raw_content = file_raw.read()
|
||||||
|
raw_content = raw_content.replace("ohos_project_directory_stub", project_dir)
|
||||||
|
raw_content = raw_content.replace("ohos-arm-release", product_name)
|
||||||
|
pc_file.write(raw_content)
|
||||||
|
print("generate_pc_file")
|
||||||
|
|
||||||
|
def process_pkgconfig(project_dir, product_name):
|
||||||
|
template_dir = os.path.split(os.path.abspath( __file__))[0] + r"/pkgconfig_template"
|
||||||
|
templates = os.listdir(template_dir)
|
||||||
|
for template in templates:
|
||||||
|
if not os.path.isdir(template):
|
||||||
|
generate_pc_file(template_dir + '/' + template, project_dir, product_name)
|
||||||
|
print("process_pkgconfig")
|
||||||
|
|
||||||
|
def prepare_environment(project_path, product):
|
||||||
|
global project_stub
|
||||||
|
global sysroot_stub
|
||||||
|
product = product.lower()
|
||||||
|
project_stub = project_path
|
||||||
|
sysroot_stub = os.path.join(project_stub, "out", product, "obj", "third_party", "musl")
|
||||||
|
generate_cross_file(project_path, sysroot_stub)
|
||||||
|
process_pkgconfig(project_path, product)
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
if len(sys.argv) < 3:
|
||||||
|
print("must input the OpenHarmony directory and the product name")
|
||||||
|
exit(-1)
|
||||||
|
prepare_environment(sys.argv[1], sys.argv[2])
|
9
ohos/pkgconfig_template/libdrm_amdgpu.pc
Normal file
9
ohos/pkgconfig_template/libdrm_amdgpu.pc
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
ohos_project_dir=ohos_project_directory_stub
|
||||||
|
libdir=${ohos_project_dir}/out/ohos-arm-release/vortexnova_soc_products/vortexnova_x86_general/
|
||||||
|
includedir=${ohos_project_dir}/third_party/libdrm
|
||||||
|
|
||||||
|
Name: libdrm_amdgpu
|
||||||
|
Description: Userspace interface to kernel DRM services
|
||||||
|
Version: 2.5.109
|
||||||
|
Libs: -L${libdir} -ldrm_amdgpu
|
||||||
|
Cflags: -I${includedir} -I${includedir}/include/drm/ -I${includedir}/amdgpu
|
9
ohos/pkgconfig_template/libdrm_radeon.pc
Normal file
9
ohos/pkgconfig_template/libdrm_radeon.pc
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
ohos_project_dir=ohos_project_directory_stub
|
||||||
|
libdir=${ohos_project_dir}/out/ohos-arm-release/vortexnova_soc_products/vortexnova_x86_general/
|
||||||
|
includedir=${ohos_project_dir}/third_party/libdrm
|
||||||
|
|
||||||
|
Name: libdrm_radeon
|
||||||
|
Description: Userspace interface to kernel DRM services
|
||||||
|
Version: 2.5.109
|
||||||
|
Libs: -L${libdir} -ldrm_radeon
|
||||||
|
Cflags: -I${includedir} -I${includedir}/include/drm/ -I${includedir}/radeon
|
9
ohos/pkgconfig_template/libelf.pc
Normal file
9
ohos/pkgconfig_template/libelf.pc
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
ohos_project_dir=ohos_project_directory_stub
|
||||||
|
libdir=${ohos_project_dir}/out/ohos-arm-release/vortexnova_soc_products/vortexnova_x86_general/
|
||||||
|
includedir=${ohos_project_dir}/third_party/elfutils/libelf/
|
||||||
|
|
||||||
|
Name: libelf
|
||||||
|
Description: elfutils libelf library to read and write ELF files
|
||||||
|
Version: 0.185
|
||||||
|
Libs: -L${libdir} -lelf
|
||||||
|
Cflags: -I${includedir}
|
@@ -1,6 +1,6 @@
|
|||||||
ohos_project_dir=ohos_project_directory_stub
|
ohos_project_dir=ohos_project_directory_stub
|
||||||
libdir=${ohos_project_dir}/out/ohos-arm-release/obj/third_party/libjpeg/
|
libdir=${ohos_project_dir}/out/ohos-arm-release/obj/third_party/libjpeg-turbo/
|
||||||
includedir=${ohos_project_dir}/third_party/libjpeg
|
includedir=${ohos_project_dir}/third_party/libjpeg-turbo
|
||||||
|
|
||||||
Name: jpeg
|
Name: jpeg
|
||||||
Description: jpeg
|
Description: jpeg
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
ohos_project_dir=ohos_project_directory_stub
|
ohos_project_dir=ohos_project_directory_stub
|
||||||
libdir=${ohos_project_dir}/out//ohos-arm-release/common/graphic_2d/
|
libdir=${ohos_project_dir}/out/ohos-arm-release/thirdparty/libpng/
|
||||||
includedir=${ohos_project_dir}/third_party/libpng
|
includedir=${ohos_project_dir}/third_party/libpng
|
||||||
|
|
||||||
Name: png
|
Name: png
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
ohos_project_dir=ohos_project_directory_stub
|
ohos_project_dir=ohos_project_directory_stub
|
||||||
libdir=${ohos_project_dir}/out/ohos-arm-release/graphic/graphic_surface/
|
libdir=${ohos_project_dir}/out/ohos-arm-release/graphic/graphic_surface/
|
||||||
includedir=${ohos_project_dir}/out/ohos-arm-release/innerkits/ohos-arm/graphic_surface/surface/include/
|
includedir=${ohos_project_dir}/out/ohos-arm-release/innerkits/ohos-x86_64/graphic_surface/surface/include/
|
||||||
|
|
||||||
Name: libsurface
|
Name: libsurface
|
||||||
Version: 2.4.1
|
Version: 2.4.1
|
||||||
|
@@ -1,9 +1,9 @@
|
|||||||
ohos_project_dir=ohos_project_directory_stub
|
ohos_project_dir=ohos_project_directory_stub
|
||||||
libdir=${ohos_project_dir}/out/ohos-arm-release/packages/phone/system/lib/
|
libdir=${ohos_project_dir}/out/ohos-arm-release/obj/foundation/multimodalinput/input/libudev/
|
||||||
includedir=${ohos_project_dir}/third_party/eudev/export_include
|
includedir=${ohos_project_dir}/foundation/multimodalinput/input/libudev/include/
|
||||||
|
|
||||||
Name: eudev
|
Name: udev
|
||||||
Description: eudev
|
Description: udev
|
||||||
Version: 2.5.109
|
Version: 2.5.109
|
||||||
Libs: -L${libdir} -ludev.z
|
Libs: -L${libdir} -lmmi_libudev
|
||||||
Cflags: -I${includedir}
|
Cflags: -I${includedir}
|
9
ohos/pkgconfig_template/libxml2.pc
Normal file
9
ohos/pkgconfig_template/libxml2.pc
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
ohos_project_dir=ohos_project_directory_stub
|
||||||
|
libdir=${ohos_project_dir}/out/ohos-arm-release/thirdparty/libxml2/
|
||||||
|
includedir=${ohos_project_dir}/third_party/libxml2/include
|
||||||
|
|
||||||
|
Name: xml2
|
||||||
|
Description: xml2
|
||||||
|
Version: 2.9.13
|
||||||
|
Libs: -L${libdir} -lxml2.z
|
||||||
|
Cflags: -I${includedir}
|
@@ -1,5 +1,5 @@
|
|||||||
ohos_project_dir=/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release
|
ohos_project_dir=/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release
|
||||||
libdir=${ohos_project_dir}/out/dyrk3568/obj/third_party/skia/third_party/expat
|
libdir=${ohos_project_dir}/out/surface/obj/third_party/skia/third_party/expat
|
||||||
includedir=${ohos_project_dir}/third_party/skia/third_party/externals/expat/expat/lib
|
includedir=${ohos_project_dir}/third_party/skia/third_party/externals/expat/expat/lib
|
||||||
|
|
||||||
Name: expat
|
Name: expat
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
ohos_project_dir=/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release
|
ohos_project_dir=/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release
|
||||||
libdir=${ohos_project_dir}/out/dyrk3568/thirdparty/libdrm/
|
libdir=${ohos_project_dir}/out/surface/thirdparty/libdrm/
|
||||||
includedir=${ohos_project_dir}/third_party/libdrm
|
includedir=${ohos_project_dir}/third_party/libdrm
|
||||||
|
|
||||||
Name: libdrm
|
Name: libdrm
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
ohos_project_dir=/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release
|
ohos_project_dir=/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release
|
||||||
libdir=${ohos_project_dir}/out/dyrk3568/hiviewdfx/hilog
|
libdir=${ohos_project_dir}/out/surface/hiviewdfx/hilog
|
||||||
includedir=${ohos_project_dir}/base/hiviewdfx/hilog/interfaces/native/innerkits/include
|
includedir=${ohos_project_dir}/base/hiviewdfx/hilog/interfaces/native/innerkits/include
|
||||||
|
|
||||||
Name: libhilog
|
Name: libhilog
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
ohos_project_dir=/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release
|
ohos_project_dir=/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release
|
||||||
libdir=${ohos_project_dir}/out/dyrk3568/obj/third_party/libjpeg/
|
libdir=${ohos_project_dir}/out/surface/obj/third_party/libjpeg-turbo/
|
||||||
includedir=${ohos_project_dir}/third_party/libjpeg
|
includedir=${ohos_project_dir}/third_party/libjpeg-turbo
|
||||||
|
|
||||||
Name: jpeg
|
Name: jpeg
|
||||||
Description: jpeg
|
Description: jpeg
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
ohos_project_dir=/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release
|
ohos_project_dir=/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release
|
||||||
libdir=${ohos_project_dir}/out//dyrk3568/common/graphic_2d/
|
libdir=${ohos_project_dir}/out/surface/thirdparty/libpng/
|
||||||
includedir=${ohos_project_dir}/third_party/libpng
|
includedir=${ohos_project_dir}/third_party/libpng
|
||||||
|
|
||||||
Name: png
|
Name: png
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
ohos_project_dir=/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release
|
ohos_project_dir=/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release
|
||||||
libdir=${ohos_project_dir}/out/dyrk3568/graphic/graphic_surface/
|
libdir=${ohos_project_dir}/out/surface/graphic/graphic_surface/
|
||||||
includedir=${ohos_project_dir}/out/dyrk3568/innerkits/ohos-arm64/graphic_surface/surface/include/
|
includedir=${ohos_project_dir}/out/surface/innerkits/ohos-x86_64/graphic_surface/surface/include/
|
||||||
|
|
||||||
Name: libsurface
|
Name: libsurface
|
||||||
Version: 2.4.1
|
Version: 2.4.1
|
||||||
|
@@ -1,9 +1,9 @@
|
|||||||
ohos_project_dir=/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release
|
ohos_project_dir=/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release
|
||||||
libdir=${ohos_project_dir}/out/dyrk3568/packages/phone/system/lib/
|
libdir=${ohos_project_dir}/out/surface/obj/foundation/multimodalinput/input/libudev/
|
||||||
includedir=${ohos_project_dir}/third_party/eudev/export_include
|
includedir=${ohos_project_dir}/foundation/multimodalinput/input/libudev/include/
|
||||||
|
|
||||||
Name: eudev
|
Name: udev
|
||||||
Description: eudev
|
Description: udev
|
||||||
Version: 2.5.109
|
Version: 2.5.109
|
||||||
Libs: -L${libdir} -ludev.z
|
Libs: -L${libdir} -lmmi_libudev
|
||||||
Cflags: -I${includedir}
|
Cflags: -I${includedir}
|
@@ -1,11 +1,11 @@
|
|||||||
prefix=/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release
|
prefix=/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release
|
||||||
datarootdir=${prefix}/share
|
datarootdir=${prefix}/share
|
||||||
pkgdatadir=${datarootdir}/wayland
|
pkgdatadir=${datarootdir}/wayland
|
||||||
libdir=${prefix}/out/dyrk3568/graphic/graphic_2d
|
libdir=${prefix}/out/surface/graphic/graphic_2d
|
||||||
includedir=${prefix}/third_party/wayland_standard/src
|
includedir=${prefix}/third_party/wayland_standard/src
|
||||||
|
|
||||||
Name: Wayland Client
|
Name: Wayland Client
|
||||||
Description: Server side implementation of the Wayland protocol
|
Description: Server side implementation of the Wayland protocol
|
||||||
Version: 1.18.0
|
Version: 1.18.0
|
||||||
Cflags: -I${includedir} -I${prefix}/out/dyrk3568/gen/third_party/wayland_standard/protocol
|
Cflags: -I${includedir} -I${prefix}/out/surface/gen/third_party/wayland_standard/protocol
|
||||||
Libs: -L${libdir} -lwayland_client.0.z
|
Libs: -L${libdir} -lwayland_client.0.z
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
prefix=/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release
|
prefix=/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release
|
||||||
libdir=${prefix}/out/dyrk3568/obj/third_party/wayland_standard/
|
libdir=${prefix}/out/surface/obj/third_party/wayland_standard/
|
||||||
includedir=${prefix}/third_party/wayland_standard/cursor
|
includedir=${prefix}/third_party/wayland_standard/cursor
|
||||||
|
|
||||||
Name: wayland_cursor
|
Name: wayland_cursor
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
prefix=/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release
|
prefix=/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release
|
||||||
exec_prefix=${prefix}
|
exec_prefix=${prefix}
|
||||||
libdir=${prefix}/out/dyrk3568/graphic/graphic_2d/
|
libdir=${prefix}/out/surface/graphic/graphic_2d/
|
||||||
includedir=${prefix}/third_party/wayland_standard/egl
|
includedir=${prefix}/third_party/wayland_standard/egl
|
||||||
|
|
||||||
Name: wayland-egl
|
Name: wayland-egl
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
prefix=/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release
|
prefix=/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release
|
||||||
datarootdir=${prefix}/third_party
|
datarootdir=${prefix}/third_party
|
||||||
pkgdatadir=${datarootdir}/wayland-protocols_standard
|
pkgdatadir=${datarootdir}/wayland-protocols_standard
|
||||||
includedir = ${prefix}/out/dyrk3568/gen/third_party/wayland_standard/protocol
|
includedir = ${prefix}/out/surface/gen/third_party/wayland_standard/protocol
|
||||||
Name: Wayland Protocols
|
Name: Wayland Protocols
|
||||||
Description: Wayland protocol files
|
Description: Wayland protocol files
|
||||||
Version: 1.24
|
Version: 1.24
|
||||||
|
@@ -2,7 +2,7 @@ prefix=/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release
|
|||||||
exec_prefix=${prefix}
|
exec_prefix=${prefix}
|
||||||
datarootdir=${prefix}/share
|
datarootdir=${prefix}/share
|
||||||
pkgdatadir=${datarootdir}/wayland
|
pkgdatadir=${datarootdir}/wayland
|
||||||
wayland_scanner=${prefix}/out/dyrk3568/clang_x64/graphic/graphic_2d/wayland_scanner
|
wayland_scanner=${prefix}/out/surface/clang_x64/graphic/graphic_2d/wayland_scanner
|
||||||
|
|
||||||
Name: Wayland Scanner
|
Name: Wayland Scanner
|
||||||
Description: Wayland scanner
|
Description: Wayland scanner
|
||||||
|
@@ -2,11 +2,11 @@ prefix=/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release
|
|||||||
exec_prefix=${prefix}
|
exec_prefix=${prefix}
|
||||||
datarootdir=${prefix}/share
|
datarootdir=${prefix}/share
|
||||||
pkgdatadir=${datarootdir}/wayland
|
pkgdatadir=${datarootdir}/wayland
|
||||||
libdir=${prefix}/out/dyrk3568/graphic/graphic_2d
|
libdir=${prefix}/out/surface/graphic/graphic_2d
|
||||||
includedir=${prefix}/third_party/wayland_standard/src
|
includedir=${prefix}/third_party/wayland_standard/src
|
||||||
|
|
||||||
Name: Wayland Server
|
Name: Wayland Server
|
||||||
Description: Server side implementation of the Wayland protocol
|
Description: Server side implementation of the Wayland protocol
|
||||||
Version: 1.18.0
|
Version: 1.18.0
|
||||||
Cflags: -I${includedir} -I${prefix}/out/dyrk3568/gen/third_party/wayland_standard/protocol
|
Cflags: -I${includedir} -I${prefix}/out/surface/gen/third_party/wayland_standard/protocol
|
||||||
Libs: -L${libdir} -lwayland_server.0.z
|
Libs: -L${libdir} -lwayland_server.0.z
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
prefix=/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release
|
prefix=/home/geekyharmony/ohsc/OpenHarmony-5.1.0-Release
|
||||||
exec_prefix=${prefix}
|
exec_prefix=${prefix}
|
||||||
libdir=${prefix}/out/dyrk3568/obj/third_party/zlib
|
libdir=${prefix}/out/surface/obj/third_party/zlib
|
||||||
sharedlibdir=${libdir}
|
sharedlibdir=${libdir}
|
||||||
includedir=${prefix}/third_party/zlib
|
includedir=${prefix}/third_party/zlib
|
||||||
|
|
||||||
|
@@ -1293,3 +1293,5 @@ cleanup:
|
|||||||
dri2_display_destroy(disp);
|
dri2_display_destroy(disp);
|
||||||
return _eglError(EGL_NOT_INITIALIZED, err);
|
return _eglError(EGL_NOT_INITIALIZED, err);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GLAPI void APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image){}
|
@@ -50,7 +50,7 @@ ANativeWindow_acquire(struct ANativeWindow *window)
|
|||||||
static inline void
|
static inline void
|
||||||
ANativeWindow_release(struct ANativeWindow *window)
|
ANativeWindow_release(struct ANativeWindow *window)
|
||||||
{
|
{
|
||||||
NativeObjectReference(window);
|
NativeObjectUnreference(window);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int32_t
|
static inline int32_t
|
||||||
@@ -66,7 +66,9 @@ ANativeWindow_dequeueBuffer(struct ANativeWindow *window,
|
|||||||
struct ANativeWindowBuffer **buffer,
|
struct ANativeWindowBuffer **buffer,
|
||||||
int *fenceFd)
|
int *fenceFd)
|
||||||
{
|
{
|
||||||
return NativeWindowRequestBuffer(window, buffer, fenceFd);
|
int32_t ret = NativeWindowRequestBuffer(window, buffer, fenceFd);
|
||||||
|
NativeObjectReference(*buffer);
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int32_t
|
static inline int32_t
|
||||||
@@ -77,7 +79,9 @@ ANativeWindow_queueBuffer(struct ANativeWindow *window,
|
|||||||
struct Region dirty;
|
struct Region dirty;
|
||||||
dirty.rectNumber = 0;
|
dirty.rectNumber = 0;
|
||||||
dirty.rects = NULL;
|
dirty.rects = NULL;
|
||||||
return NativeWindowFlushBuffer(window, buffer, fenceFd, dirty);
|
int32_t ret = NativeWindowFlushBuffer(window, buffer, fenceFd, dirty);
|
||||||
|
NativeObjectUnreference(buffer);
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int32_t
|
static inline int32_t
|
||||||
|
@@ -1764,7 +1764,7 @@ _eglCreateImageCommon(_EGLDisplay *disp, EGLContext ctx, EGLenum target,
|
|||||||
RETURN_EGL_EVAL(disp, ret);
|
RETURN_EGL_EVAL(disp, ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
static EGLImage EGLAPIENTRY
|
EGLAPI EGLImage EGLAPIENTRY
|
||||||
eglCreateImageKHR(EGLDisplay dpy, EGLContext ctx, EGLenum target,
|
eglCreateImageKHR(EGLDisplay dpy, EGLContext ctx, EGLenum target,
|
||||||
EGLClientBuffer buffer, const EGLint *attr_list)
|
EGLClientBuffer buffer, const EGLint *attr_list)
|
||||||
{
|
{
|
||||||
@@ -1820,7 +1820,7 @@ eglDestroyImage(EGLDisplay dpy, EGLImage image)
|
|||||||
return _eglDestroyImageCommon(disp, img);
|
return _eglDestroyImageCommon(disp, img);
|
||||||
}
|
}
|
||||||
|
|
||||||
static EGLBoolean EGLAPIENTRY
|
EGLAPI EGLBoolean EGLAPIENTRY
|
||||||
eglDestroyImageKHR(EGLDisplay dpy, EGLImage image)
|
eglDestroyImageKHR(EGLDisplay dpy, EGLImage image)
|
||||||
{
|
{
|
||||||
_EGLDisplay *disp = _eglLockDisplay(dpy);
|
_EGLDisplay *disp = _eglLockDisplay(dpy);
|
||||||
@@ -1896,7 +1896,7 @@ _eglCreateSync(_EGLDisplay *disp, EGLenum type, const EGLAttrib *attrib_list,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static EGLSync EGLAPIENTRY
|
EGLAPI EGLSync EGLAPIENTRY
|
||||||
eglCreateSyncKHR(EGLDisplay dpy, EGLenum type, const EGLint *int_list)
|
eglCreateSyncKHR(EGLDisplay dpy, EGLenum type, const EGLint *int_list)
|
||||||
{
|
{
|
||||||
_EGLDisplay *disp = _eglLockDisplay(dpy);
|
_EGLDisplay *disp = _eglLockDisplay(dpy);
|
||||||
@@ -1970,7 +1970,7 @@ eglDestroySync(EGLDisplay dpy, EGLSync sync)
|
|||||||
return _eglDestroySync(disp, s);
|
return _eglDestroySync(disp, s);
|
||||||
}
|
}
|
||||||
|
|
||||||
static EGLBoolean EGLAPIENTRY
|
EGLAPI EGLBoolean EGLAPIENTRY
|
||||||
eglDestroySyncKHR(EGLDisplay dpy, EGLSync sync)
|
eglDestroySyncKHR(EGLDisplay dpy, EGLSync sync)
|
||||||
{
|
{
|
||||||
_EGLDisplay *disp = _eglLockDisplay(dpy);
|
_EGLDisplay *disp = _eglLockDisplay(dpy);
|
||||||
@@ -2024,7 +2024,7 @@ eglClientWaitSync(EGLDisplay dpy, EGLSync sync,
|
|||||||
return _eglClientWaitSyncCommon(disp, dpy, s, flags, timeout);
|
return _eglClientWaitSyncCommon(disp, dpy, s, flags, timeout);
|
||||||
}
|
}
|
||||||
|
|
||||||
static EGLint EGLAPIENTRY
|
EGLAPI EGLint EGLAPIENTRY
|
||||||
eglClientWaitSyncKHR(EGLDisplay dpy, EGLSync sync,
|
eglClientWaitSyncKHR(EGLDisplay dpy, EGLSync sync,
|
||||||
EGLint flags, EGLTime timeout)
|
EGLint flags, EGLTime timeout)
|
||||||
{
|
{
|
||||||
@@ -2059,7 +2059,7 @@ _eglWaitSyncCommon(_EGLDisplay *disp, _EGLSync *s, EGLint flags)
|
|||||||
RETURN_EGL_EVAL(disp, ret);
|
RETURN_EGL_EVAL(disp, ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
static EGLint EGLAPIENTRY
|
EGLAPI EGLint EGLAPIENTRY
|
||||||
eglWaitSyncKHR(EGLDisplay dpy, EGLSync sync, EGLint flags)
|
eglWaitSyncKHR(EGLDisplay dpy, EGLSync sync, EGLint flags)
|
||||||
{
|
{
|
||||||
_EGLDisplay *disp = _eglLockDisplay(dpy);
|
_EGLDisplay *disp = _eglLockDisplay(dpy);
|
||||||
@@ -2129,7 +2129,7 @@ eglGetSyncAttrib(EGLDisplay dpy, EGLSync sync, EGLint attribute, EGLAttrib *valu
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static EGLBoolean EGLAPIENTRY
|
EGLAPI EGLBoolean EGLAPIENTRY
|
||||||
eglGetSyncAttribKHR(EGLDisplay dpy, EGLSync sync, EGLint attribute, EGLint *value)
|
eglGetSyncAttribKHR(EGLDisplay dpy, EGLSync sync, EGLint attribute, EGLint *value)
|
||||||
{
|
{
|
||||||
_EGLDisplay *disp = _eglLockDisplay(dpy);
|
_EGLDisplay *disp = _eglLockDisplay(dpy);
|
||||||
@@ -2156,7 +2156,7 @@ eglGetSyncAttribKHR(EGLDisplay dpy, EGLSync sync, EGLint attribute, EGLint *valu
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
static EGLint EGLAPIENTRY
|
EGLAPI EGLint EGLAPIENTRY
|
||||||
eglDupNativeFenceFDANDROID(EGLDisplay dpy, EGLSync sync)
|
eglDupNativeFenceFDANDROID(EGLDisplay dpy, EGLSync sync)
|
||||||
{
|
{
|
||||||
_EGLDisplay *disp = _eglLockDisplay(dpy);
|
_EGLDisplay *disp = _eglLockDisplay(dpy);
|
||||||
|
@@ -529,7 +529,7 @@ libgallium = static_library(
|
|||||||
gnu_symbol_visibility : 'hidden',
|
gnu_symbol_visibility : 'hidden',
|
||||||
dependencies : [
|
dependencies : [
|
||||||
dep_libdrm, dep_llvm, dep_dl, dep_m, dep_thread, dep_lmsensors, dep_ws2_32,
|
dep_libdrm, dep_llvm, dep_dl, dep_m, dep_thread, dep_lmsensors, dep_ws2_32,
|
||||||
idep_nir, idep_nir_headers, idep_mesautil,
|
idep_nir, idep_nir_headers, idep_mesautil, dep_unwind,
|
||||||
],
|
],
|
||||||
build_by_default : false
|
build_by_default : false
|
||||||
)
|
)
|
||||||
|
@@ -79,7 +79,7 @@ if install_intel_gpu_tests and not with_tests
|
|||||||
error('`install-intel-gpu-tests` requires `build-tests`')
|
error('`install-intel-gpu-tests` requires `build-tests`')
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if with_tests and not with_platform_android
|
if with_tests and not with_platform_android and not with_platform_ohos
|
||||||
gentest_xml = files('tests/gentest.xml')
|
gentest_xml = files('tests/gentest.xml')
|
||||||
_name = 'gentest_pack.h'
|
_name = 'gentest_pack.h'
|
||||||
gentest_pack = custom_target(
|
gentest_pack = custom_target(
|
||||||
|
@@ -496,8 +496,8 @@ maybe_init(int fd)
|
|||||||
output_filename, device, devinfo.ver);
|
output_filename, device, devinfo.ver);
|
||||||
}
|
}
|
||||||
|
|
||||||
__attribute__ ((visibility ("default"))) int
|
__attribute__ ((visibility ("default"))) static int
|
||||||
ioctl(int fd, unsigned long request, ...)
|
inte_dump_gpu_ioctl(int fd, unsigned long request, ...)
|
||||||
{
|
{
|
||||||
va_list args;
|
va_list args;
|
||||||
void *argp;
|
void *argp;
|
||||||
|
@@ -317,8 +317,8 @@ is_i915(int fd) {
|
|||||||
return strcmp("i915", name) == 0;
|
return strcmp("i915", name) == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
__attribute__ ((visibility ("default"))) int
|
__attribute__ ((visibility ("default"))) static int
|
||||||
open(const char *path, int flags, ...)
|
intel_sanitize_gpu_open(const char *path, int flags, ...)
|
||||||
{
|
{
|
||||||
va_list args;
|
va_list args;
|
||||||
mode_t mode;
|
mode_t mode;
|
||||||
@@ -339,11 +339,11 @@ open(const char *path, int flags, ...)
|
|||||||
return fd;
|
return fd;
|
||||||
}
|
}
|
||||||
|
|
||||||
__attribute__ ((visibility ("default"), alias ("open"))) int
|
__attribute__ ((visibility ("default"), alias ("intel_sanitize_gpu_open"))) static int
|
||||||
open64(const char *path, int flags, ...);
|
intel_sanitize_gpu_open64(const char *path, int flags, ...);
|
||||||
|
|
||||||
__attribute__ ((visibility ("default"))) int
|
__attribute__ ((visibility ("default"))) static int
|
||||||
close(int fd)
|
intel_sanitize_gpu_close(int fd)
|
||||||
{
|
{
|
||||||
MUTEX_LOCK();
|
MUTEX_LOCK();
|
||||||
|
|
||||||
@@ -355,8 +355,8 @@ close(int fd)
|
|||||||
return libc_close(fd);
|
return libc_close(fd);
|
||||||
}
|
}
|
||||||
|
|
||||||
__attribute__ ((visibility ("default"))) int
|
__attribute__ ((visibility ("default"))) static int
|
||||||
fcntl(int fd, int cmd, ...)
|
intel_sanitize_gpu_fcntl(int fd, int cmd, ...)
|
||||||
{
|
{
|
||||||
va_list args;
|
va_list args;
|
||||||
int param;
|
int param;
|
||||||
@@ -377,8 +377,8 @@ fcntl(int fd, int cmd, ...)
|
|||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
__attribute__ ((visibility ("default"))) int
|
__attribute__ ((visibility ("default"))) static int
|
||||||
ioctl(int fd, unsigned long request, ...)
|
intel_sanitize_gpu_ioctl(int fd, unsigned long request, ...)
|
||||||
{
|
{
|
||||||
int res;
|
int res;
|
||||||
va_list args;
|
va_list args;
|
||||||
|
@@ -89,7 +89,7 @@ static void ohos_logger(int level, const char *fmt, ...)
|
|||||||
char log_string[MAX_BUFFER_LEN];
|
char log_string[MAX_BUFFER_LEN];
|
||||||
va_list args;
|
va_list args;
|
||||||
va_start(args, fmt);
|
va_start(args, fmt);
|
||||||
(void)snprintf(log_string, MAX_BUFFER_LEN, fmt, args);
|
(void)vsnprintf(log_string, MAX_BUFFER_LEN, fmt, args);
|
||||||
va_end(args);
|
va_end(args);
|
||||||
switch (level) {
|
switch (level) {
|
||||||
case _LOADER_WARNING:
|
case _LOADER_WARNING:
|
||||||
|
@@ -245,19 +245,6 @@ panfrost_supports_compressed_format(struct panfrost_device *dev, unsigned fmt)
|
|||||||
return dev->compressed_formats & (1 << idx);
|
return dev->compressed_formats & (1 << idx);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Check for AFBC hardware support. AFBC is introduced in v5. Implementations
|
|
||||||
* may omit it, signaled as a nonzero value in the AFBC_FEATURES property. */
|
|
||||||
|
|
||||||
static bool
|
|
||||||
panfrost_query_afbc(int fd, unsigned arch)
|
|
||||||
{
|
|
||||||
unsigned reg = panfrost_query_raw(fd,
|
|
||||||
DRM_PANFROST_PARAM_AFBC_FEATURES,
|
|
||||||
false, 0);
|
|
||||||
|
|
||||||
return (arch >= 5) && (reg == 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* To pipeline multiple tiles, a given tile may use at most half of the tile
|
* To pipeline multiple tiles, a given tile may use at most half of the tile
|
||||||
* buffer. This function returns the optimal size (assuming pipelining).
|
* buffer. This function returns the optimal size (assuming pipelining).
|
||||||
@@ -277,6 +264,19 @@ panfrost_query_optimal_tib_size(const struct panfrost_device *dev)
|
|||||||
return dev->model->tilebuffer_size / 2;
|
return dev->model->tilebuffer_size / 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Check for AFBC hardware support. AFBC is introduced in v5. Implementations
|
||||||
|
* may omit it, signaled as a nonzero value in the AFBC_FEATURES property. */
|
||||||
|
|
||||||
|
static bool
|
||||||
|
panfrost_query_afbc(int fd, unsigned arch)
|
||||||
|
{
|
||||||
|
unsigned reg = panfrost_query_raw(fd,
|
||||||
|
DRM_PANFROST_PARAM_AFBC_FEATURES,
|
||||||
|
false, 0);
|
||||||
|
|
||||||
|
return (arch >= 5) && (reg == 0);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
panfrost_open_device(void *memctx, int fd, struct panfrost_device *dev)
|
panfrost_open_device(void *memctx, int fd, struct panfrost_device *dev)
|
||||||
{
|
{
|
||||||
|
@@ -79,7 +79,7 @@ build_id_find_nhdr_callback(struct dl_phdr_info *info, size_t size, void *data_)
|
|||||||
info->dlpi_phdr[i].p_vaddr);
|
info->dlpi_phdr[i].p_vaddr);
|
||||||
ptrdiff_t len = info->dlpi_phdr[i].p_filesz;
|
ptrdiff_t len = info->dlpi_phdr[i].p_filesz;
|
||||||
|
|
||||||
while (len >= sizeof(struct build_id_note)) {
|
while (len >= (int)(sizeof(struct build_id_note))) {
|
||||||
if (note->nhdr.n_type == NT_GNU_BUILD_ID &&
|
if (note->nhdr.n_type == NT_GNU_BUILD_ID &&
|
||||||
note->nhdr.n_descsz != 0 &&
|
note->nhdr.n_descsz != 0 &&
|
||||||
note->nhdr.n_namesz == 4 &&
|
note->nhdr.n_namesz == 4 &&
|
||||||
@@ -91,13 +91,6 @@ build_id_find_nhdr_callback(struct dl_phdr_info *info, size_t size, void *data_)
|
|||||||
size_t offset = sizeof(ElfW(Nhdr)) +
|
size_t offset = sizeof(ElfW(Nhdr)) +
|
||||||
ALIGN_POT(note->nhdr.n_namesz, 4) +
|
ALIGN_POT(note->nhdr.n_namesz, 4) +
|
||||||
ALIGN_POT(note->nhdr.n_descsz, 4);
|
ALIGN_POT(note->nhdr.n_descsz, 4);
|
||||||
|
|
||||||
// 05 00 00 00 04 00 00 00 4f 48 4f 53 00 01 00 00 00 00 00 00
|
|
||||||
if ((note->nhdr.n_type == 0x534f484f) && (len > 20)) {
|
|
||||||
// .note.ohos.ident is not a valid PT_NOTE section, use offset in section header later
|
|
||||||
offset = 20;
|
|
||||||
}
|
|
||||||
|
|
||||||
note = (struct build_id_note *)((char *)note + offset);
|
note = (struct build_id_note *)((char *)note + offset);
|
||||||
len -= offset;
|
len -= offset;
|
||||||
}
|
}
|
||||||
|
@@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
#ifdef HAVE_LIBUNWIND
|
#ifdef HAVE_LIBUNWIND
|
||||||
#define UNW_LOCAL_ONLY
|
#define UNW_LOCAL_ONLY
|
||||||
#include <libunwind.h>
|
#include "libunwind.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user