diff options
author | Jonathan Gray <jsg@cvs.openbsd.org> | 2021-02-11 10:16:48 +0000 |
---|---|---|
committer | Jonathan Gray <jsg@cvs.openbsd.org> | 2021-02-11 10:16:48 +0000 |
commit | 0b432e174bc71dbf28f00abd310370c9ec4b7e9b (patch) | |
tree | 69c23fb85801d99698e8c91a29991169bde271fe /lib/libdrm/freedreno | |
parent | 2b16e5a05f7e17f1e05b79aeb569521a363e46a9 (diff) |
Import libdrm 2.4.104
Diffstat (limited to 'lib/libdrm/freedreno')
-rw-r--r-- | lib/libdrm/freedreno/freedreno-symbols.txt | 45 | ||||
-rw-r--r-- | lib/libdrm/freedreno/kgsl/README | 26 | ||||
-rw-r--r-- | lib/libdrm/freedreno/meson.build | 11 |
3 files changed, 78 insertions, 4 deletions
diff --git a/lib/libdrm/freedreno/freedreno-symbols.txt b/lib/libdrm/freedreno/freedreno-symbols.txt new file mode 100644 index 000000000..471ca9974 --- /dev/null +++ b/lib/libdrm/freedreno/freedreno-symbols.txt @@ -0,0 +1,45 @@ +fd_bo_cpu_fini +fd_bo_cpu_prep +fd_bo_del +fd_bo_dmabuf +fd_bo_from_dmabuf +fd_bo_from_fbdev +fd_bo_from_handle +fd_bo_from_name +fd_bo_get_iova +fd_bo_get_name +fd_bo_handle +fd_bo_map +fd_bo_new +fd_bo_put_iova +fd_bo_ref +fd_bo_size +fd_device_del +fd_device_fd +fd_device_new +fd_device_new_dup +fd_device_ref +fd_device_version +fd_pipe_del +fd_pipe_get_param +fd_pipe_new +fd_pipe_new2 +fd_pipe_ref +fd_pipe_wait +fd_pipe_wait_timeout +fd_ringbuffer_cmd_count +fd_ringbuffer_del +fd_ringbuffer_emit_reloc_ring_full +fd_ringbuffer_flush +fd_ringbuffer_grow +fd_ringbuffer_new +fd_ringbuffer_new_flags +fd_ringbuffer_new_object +fd_ringbuffer_ref +fd_ringbuffer_reloc +fd_ringbuffer_reloc2 +fd_ringbuffer_reset +fd_ringbuffer_set_parent +fd_ringbuffer_size +fd_ringbuffer_timestamp +fd_ringbuffer_flush2 diff --git a/lib/libdrm/freedreno/kgsl/README b/lib/libdrm/freedreno/kgsl/README new file mode 100644 index 000000000..c46ba08b9 --- /dev/null +++ b/lib/libdrm/freedreno/kgsl/README @@ -0,0 +1,26 @@ +This is a historical description of what is now the kgsl backend +in libdrm freedreno (before the upstream drm/msm driver). Note +that the kgsl backend requires the "kgsl-drm" shim driver, which +usually is in disrepair (QCOM does not build it for android), and +due to random differences between different downstream android +kernel branches it may or may not work. So YMMV. + +Original README: +---------------- + +Note that current msm kernel driver is a bit strange. It provides a +DRM interface for GEM, which is basically sufficient to have DRI2 +working. But it does not provide KMS. And interface to 2d and 3d +cores is via different other devices (/dev/kgsl-*). This is not +quite how I'd write a DRM driver, but at this stage it is useful for +xf86-video-freedreno and fdre (and eventual gallium driver) to be +able to work on existing kernel driver from QCOM, to allow to +capture cmdstream dumps from the binary blob drivers without having +to reboot. So libdrm_freedreno attempts to hide most of the crazy. +The intention is that when there is a proper kernel driver, it will +be mostly just changes in libdrm_freedreno to adapt the gallium +driver and xf86-video-freedreno (ignoring the fbdev->KMS changes). + +So don't look at freedreno as an example of how to write a libdrm +module or a DRM driver.. it is just an attempt to paper over a non- +standard kernel driver architecture. diff --git a/lib/libdrm/freedreno/meson.build b/lib/libdrm/freedreno/meson.build index 5d8d8e9bb..63b84fc94 100644 --- a/lib/libdrm/freedreno/meson.build +++ b/lib/libdrm/freedreno/meson.build @@ -70,8 +70,11 @@ pkg.generate( ) test( - 'freedreno-symbol-check', - find_program('freedreno-symbol-check'), - env : env_test, - args : libdrm_freedreno, + 'freedreno-symbols-check', + symbols_check, + args : [ + '--lib', libdrm_freedreno, + '--symbols-file', files('freedreno-symbols.txt'), + '--nm', prog_nm.path(), + ], ) |