You can subscribe to this list here.
1999 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(59) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2000 |
Jan
(467) |
Feb
(445) |
Mar
(274) |
Apr
(212) |
May
(526) |
Jun
(365) |
Jul
(299) |
Aug
(239) |
Sep
(255) |
Oct
(268) |
Nov
(183) |
Dec
(120) |
2001 |
Jan
(174) |
Feb
(221) |
Mar
(316) |
Apr
(196) |
May
(195) |
Jun
(163) |
Jul
(39) |
Aug
(81) |
Sep
(62) |
Oct
(73) |
Nov
(77) |
Dec
(56) |
2002 |
Jan
(36) |
Feb
(130) |
Mar
(129) |
Apr
(170) |
May
(151) |
Jun
(183) |
Jul
(199) |
Aug
(192) |
Sep
(171) |
Oct
(188) |
Nov
(194) |
Dec
(119) |
2003 |
Jan
(119) |
Feb
(165) |
Mar
(198) |
Apr
(284) |
May
(277) |
Jun
(204) |
Jul
(67) |
Aug
(78) |
Sep
(201) |
Oct
(100) |
Nov
(30) |
Dec
(170) |
2004 |
Jan
(69) |
Feb
(111) |
Mar
(82) |
Apr
(88) |
May
(63) |
Jun
(56) |
Jul
(30) |
Aug
(59) |
Sep
(57) |
Oct
(58) |
Nov
(39) |
Dec
(18) |
2005 |
Jan
(44) |
Feb
(34) |
Mar
(22) |
Apr
(12) |
May
(16) |
Jun
(54) |
Jul
(15) |
Aug
(44) |
Sep
(24) |
Oct
(21) |
Nov
(57) |
Dec
(13) |
2006 |
Jan
(37) |
Feb
(36) |
Mar
(45) |
Apr
(11) |
May
(12) |
Jun
(16) |
Jul
(11) |
Aug
(55) |
Sep
(44) |
Oct
(43) |
Nov
(23) |
Dec
(34) |
2007 |
Jan
(59) |
Feb
(42) |
Mar
(38) |
Apr
(109) |
May
(45) |
Jun
(54) |
Jul
(65) |
Aug
(75) |
Sep
(44) |
Oct
(95) |
Nov
(82) |
Dec
(41) |
2008 |
Jan
(58) |
Feb
(64) |
Mar
(82) |
Apr
(37) |
May
(51) |
Jun
(112) |
Jul
(95) |
Aug
(53) |
Sep
(34) |
Oct
(43) |
Nov
(21) |
Dec
(25) |
2009 |
Jan
(25) |
Feb
(94) |
Mar
(46) |
Apr
(20) |
May
(16) |
Jun
(10) |
Jul
(20) |
Aug
(17) |
Sep
(8) |
Oct
(22) |
Nov
(29) |
Dec
(27) |
2010 |
Jan
(22) |
Feb
(19) |
Mar
(22) |
Apr
(10) |
May
(6) |
Jun
(14) |
Jul
(2) |
Aug
(4) |
Sep
(8) |
Oct
(6) |
Nov
(4) |
Dec
(6) |
2011 |
Jan
(2) |
Feb
(4) |
Mar
(5) |
Apr
(2) |
May
(1) |
Jun
(3) |
Jul
(2) |
Aug
(1) |
Sep
(6) |
Oct
(6) |
Nov
(3) |
Dec
(16) |
2012 |
Jan
(9) |
Feb
(13) |
Mar
(14) |
Apr
(8) |
May
(7) |
Jun
(22) |
Jul
(7) |
Aug
(19) |
Sep
(8) |
Oct
(9) |
Nov
(9) |
Dec
|
2013 |
Jan
(14) |
Feb
(7) |
Mar
(12) |
Apr
(11) |
May
(9) |
Jun
(4) |
Jul
(6) |
Aug
(4) |
Sep
(8) |
Oct
(5) |
Nov
(19) |
Dec
(6) |
2014 |
Jan
(14) |
Feb
(1) |
Mar
(4) |
Apr
(9) |
May
(7) |
Jun
(4) |
Jul
(10) |
Aug
(5) |
Sep
(17) |
Oct
|
Nov
(7) |
Dec
|
2015 |
Jan
(9) |
Feb
(10) |
Mar
(25) |
Apr
(8) |
May
(11) |
Jun
(5) |
Jul
(5) |
Aug
(32) |
Sep
(15) |
Oct
(4) |
Nov
(6) |
Dec
(6) |
2016 |
Jan
(9) |
Feb
(11) |
Mar
(3) |
Apr
(7) |
May
(1) |
Jun
(6) |
Jul
(13) |
Aug
(4) |
Sep
(8) |
Oct
(8) |
Nov
(16) |
Dec
(5) |
2017 |
Jan
(17) |
Feb
(6) |
Mar
(8) |
Apr
(29) |
May
(9) |
Jun
(11) |
Jul
(8) |
Aug
(13) |
Sep
(5) |
Oct
(21) |
Nov
(16) |
Dec
(9) |
2018 |
Jan
(19) |
Feb
(27) |
Mar
(24) |
Apr
(4) |
May
(8) |
Jun
(2) |
Jul
(7) |
Aug
(21) |
Sep
(55) |
Oct
(11) |
Nov
(5) |
Dec
(6) |
2019 |
Jan
(7) |
Feb
(9) |
Mar
(5) |
Apr
(9) |
May
(3) |
Jun
(7) |
Jul
(8) |
Aug
(2) |
Sep
(4) |
Oct
(11) |
Nov
(8) |
Dec
(12) |
2020 |
Jan
(7) |
Feb
(5) |
Mar
(4) |
Apr
(12) |
May
(9) |
Jun
(3) |
Jul
(1) |
Aug
(4) |
Sep
(1) |
Oct
|
Nov
(3) |
Dec
(7) |
2021 |
Jan
(9) |
Feb
(9) |
Mar
(6) |
Apr
(12) |
May
(4) |
Jun
(8) |
Jul
(5) |
Aug
(6) |
Sep
(7) |
Oct
(3) |
Nov
(12) |
Dec
(6) |
2022 |
Jan
(5) |
Feb
(4) |
Mar
(6) |
Apr
(3) |
May
(4) |
Jun
(5) |
Jul
(8) |
Aug
(16) |
Sep
(1) |
Oct
(7) |
Nov
(8) |
Dec
(2) |
2023 |
Jan
(1) |
Feb
(5) |
Mar
(4) |
Apr
|
May
(2) |
Jun
|
Jul
(6) |
Aug
(4) |
Sep
(13) |
Oct
(7) |
Nov
(6) |
Dec
(2) |
2024 |
Jan
(5) |
Feb
(8) |
Mar
(5) |
Apr
(3) |
May
(2) |
Jun
(13) |
Jul
(2) |
Aug
(5) |
Sep
(2) |
Oct
|
Nov
|
Dec
|
From: GitLab M. <git...@ke...> - 2024-09-08 09:16:57
|
meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit bea14386bc73a6c076fd4029353a5a2dcdc80860 Author: Simon Ser <co...@em...> Date: Wed Jun 26 21:51:08 2024 +0200 build: simplify Linux system check No need for contains() here. Signed-off-by: Simon Ser <co...@em...> diff --git a/meson.build b/meson.build index 27e40e75..ecc18a48 100644 --- a/meson.build +++ b/meson.build @@ -169,7 +169,7 @@ else endif # The header is not required on Linux, and is in fact deprecated in glibc 2.30+ -if ['linux'].contains(host_machine.system()) +if host_machine.system() == 'linux' config.set10('HAVE_SYS_SYSCTL_H', false) else # From Niclas Zeising: |
From: GitLab M. <git...@ke...> - 2024-09-08 09:12:37
|
tests/util/kms.c | 75 +++++++++++++++++++++++++------------------------------ 1 file changed, 35 insertions(+), 40 deletions(-) New commits: commit 887fec2c288f291454a0f165a5e66c740524a764 Author: Marijn Suijten <mar...@so...> Date: Wed May 8 01:13:34 2024 +0200 tests/util: Call `drmGetDevices2()` instead of `drmOpen()`ing all modules Whenever `util_open()` is called to open a device for the first matching module, it will skip devices for the `nvidia_drm` kernel module which is not in the list. We could add this module for now, but keeping this list of DRM modules up to date is cumbersome. At the same time walking a list of modules and calling `drmOpen()` for each of them is incredibly expensive (when the user doesn't explicitly specify one with `-M`), as each each call opens every DRM node just to see if they are associated to the requested module. And for no good reason: all we want is the first `DRM_NODE_PRIMARY` (which is what `drmOpen()` also returns) to use by default. For example on the `"msm"` driver, which used to be the 9th in the modules list, all nodes are opened for the 9th time before e.g. `modetest` returns a useful result, which takes ages unless the user painstakingly provides the module for the currently known device on the cmdline. This is very simply solved by calling `drmGetDevices(2)()`, which iterates through all DRM nodes only once and allows us to immediately find + `open()` the first device that has a PRIMARY node. A random search for the error shows that this was also attempted in (a fork of?) kmscube: https://git.ti.com/cgit/glsdk/kmscube/commit/?id=456cabc661caac5c60729751d45efd668faa8e97 Finally we add a `drmIsKMS()` check to make sure we only include primary nodes that actually support rendering, and also print the values from `drmGetVersion()` on success to make it easier to identify the device. In the future we could extrapolate this feature by letting query commands like `modetest -c` list connectors for every device/module, not just the first PRIMARY node that we found. diff --git a/tests/util/kms.c b/tests/util/kms.c index 8bbc2275..5c66da3f 100644 --- a/tests/util/kms.c +++ b/tests/util/kms.c @@ -42,6 +42,8 @@ #include <stdio.h> #include <stdlib.h> #include <string.h> +#include <fcntl.h> +#include <unistd.h> #include "xf86drm.h" #include "xf86drmMode.h" @@ -96,59 +98,42 @@ const char *util_lookup_connector_status_name(unsigned int status) ARRAY_SIZE(connector_status_names)); } -static const char * const modules[] = { - "i915", - "amdgpu", - "radeon", - "nouveau", - "vmwgfx", - "omapdrm", - "exynos", - "tilcdc", - "msm", - "sti", - "tegra", - "imx-drm", - "rockchip", - "atmel-hlcdc", - "fsl-dcu-drm", - "vc4", - "virtio_gpu", - "mediatek", - "meson", - "pl111", - "stm", - "sun4i-drm", - "armada-drm", - "komeda", - "imx-dcss", - "mxsfb-drm", - "simpledrm", - "imx-lcdif", - "vkms", - "tidss", -}; - int util_open(const char *device, const char *module) { - int fd; + int fd = -1; + drmVersionPtr version; - if (module) { + if (module || device) { fd = drmOpen(module, device); if (fd < 0) { - fprintf(stderr, "failed to open device '%s': %s\n", - module, strerror(errno)); + fprintf(stderr, "failed to open device '%s' with busid '%s': %s\n", + module, device, strerror(errno)); return -errno; } } else { unsigned int i; + drmDevicePtr devices[64]; + int num_devices = drmGetDevices2(0, devices, ARRAY_SIZE(devices)); + if (num_devices < 0) { + fprintf(stderr, "drmGetDevices2() failed with %s\n", strerror(num_devices)); + return num_devices; + } - for (i = 0; i < ARRAY_SIZE(modules); i++) { - printf("trying to open device '%s'...", modules[i]); + for (i = 0; i < num_devices; i++) { + drmDevicePtr device = devices[i]; + // Select only primary nodes + if ((device->available_nodes & 1 << DRM_NODE_PRIMARY) == 0) + continue; + + printf("trying to open device '%s'... ", device->nodes[DRM_NODE_PRIMARY]); + fd = open(device->nodes[DRM_NODE_PRIMARY], O_RDWR | O_CLOEXEC); - fd = drmOpen(modules[i], device); if (fd < 0) { printf("failed\n"); + } else if (!drmIsKMS(fd)) { + printf("is not a KMS device\n"); + close(fd); + fd = -1; } else { printf("done\n"); break; @@ -161,5 +146,15 @@ int util_open(const char *device, const char *module) } } + version = drmGetVersion(fd); + printf("opened device `%s` on driver `%s` (version %d.%d.%d at %s)\n", + version->desc, + version->name, + version->version_major, + version->version_minor, + version->version_patchlevel, + version->date); + drmFreeVersion(version); + return fd; } |
From: GitLab M. <git...@ke...> - 2024-08-26 20:23:41
|
Tag 'libdrm-2.4.123' created by Matt Turner <mat...@gm...> at 2024-08-26 20:19 +0000 libdrm-2.4.123 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iNUEABYKAH0WIQReryEEmoa4pUzLG/qs6yl0DJpOlwUCZszjbl8UgAAAAAAuAChp c3N1ZXItZnByQG5vdGF0aW9ucy5vcGVucGdwLmZpZnRoaG9yc2VtYW4ubmV0NUVB RjIxMDQ5QTg2QjhBNTRDQ0IxQkZBQUNFQjI5NzQwQzlBNEU5NwAKCRCs6yl0DJpO l+qZAP98p4zeWSGcJhadf0WKJKpuWHzczp+p+a4qHF6bs9vruwD+LHUXmS7rQSDh GNAPU4JqESZkj6VrnTqGrdaLssvAwQc= =yI8e -----END PGP SIGNATURE----- Changes since libdrm-2.4.122: Alex Deucher (2): amdgpu: add new marketing names amdgpu: add new marketing names Dan Willemsen (1): Convert to Android.bp Daniel Stone (1): libs: Tie DSO minor versions to libdrm version Elliott Hughes (1): readdir_r is deprecated. Enrico Weigelt, metux IT consult (1): Fix FTBS on undefined clock_gettime() and asprintf() Inseob Kim (1): Export include dirs with -isystem Jason Macnak (2): Makes libdrm available on host Adds libdrm_headers Jerry Zhang (1): Make libdrm recovery_available Jiyong Park (2): add crosvm to com.android.virt Enable GPU in crosvm John Stultz (1): Android.bp: Add include exports for android dir Mark Collins (1): Disable ioctl signed overload for Bionic libc Matt Turner (1): build: bump version to 2.4.123 Su Hong Koo (2): Delete all Makefile.sources files tests: Make modetest and proptest cc_binary in Android.bp --- Android.bp | 85 ++++++++++++++++++++++++++++++++++++++ Android.common.mk | 22 --------- Android.mk | 74 --------------------------------- Android.sources.bp | 12 +++++ Android.sources.bp.mk | 25 +++++++++++ Makefile.sources | 45 -------------------- amdgpu/Android.bp | 16 +++++++ amdgpu/Android.mk | 19 -------- amdgpu/Android.sources.bp | 15 ++++++ amdgpu/Makefile.sources | 14 ------ amdgpu/meson.build | 2 data/Android.bp | 6 ++ data/Android.mk | 10 ---- data/amdgpu.ids | 11 ++++ etnaviv/Android.bp | 11 ++++ etnaviv/Android.mk | 14 ------ etnaviv/Android.sources.bp | 13 +++++ etnaviv/Makefile.sources | 13 ----- etnaviv/meson.build | 2 exynos/meson.build | 2 freedreno/Android.mk | 14 ------ freedreno/Makefile.sources | 25 ----------- freedreno/meson.build | 2 intel/Android.bp | 36 ++++++++++++++++ intel/Android.mk | 38 ---------------- intel/Android.sources.bp | 12 +++++ intel/Makefile.sources | 15 ------ intel/meson.build | 2 meson.build | 21 ++++++++- nouveau/Android.bp | 11 ++++ nouveau/Android.mk | 14 ------ nouveau/Android.sources.bp | 11 ++++ nouveau/Makefile.sources | 9 ---- nouveau/meson.build | 2 omap/Android.bp | 12 +++++ omap/Android.mk | 13 ----- omap/Android.sources.bp | 8 +++ omap/meson.build | 2 radeon/Android.bp | 11 ++++ radeon/Android.mk | 14 ------ radeon/Android.sources.bp | 13 +++++ radeon/Makefile.sources | 21 --------- radeon/meson.build | 2 tegra/Android.bp | 14 ++++++ tegra/meson.build | 2 tests/Android.bp | 6 ++ tests/Android.mk | 1 tests/modetest/Android.bp | 12 +++++ tests/modetest/Android.mk | 14 ------ tests/modetest/Android.sources.bp | 10 ++++ tests/modetest/Makefile.sources | 6 -- tests/proptest/Android.bp | 8 +++ tests/proptest/Android.mk | 14 ------ tests/proptest/Makefile.sources | 2 tests/util/Android.bp | 35 +++++++++++++++ tests/util/Android.mk | 38 ---------------- tests/util/Android.sources.bp | 10 ++++ tests/util/Makefile.sources | 8 --- vc4/Makefile.sources | 3 - 59 files changed, 431 insertions(+), 471 deletions(-) --- |
From: GitLab M. <git...@ke...> - 2024-08-26 20:16:42
|
meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit 25dec5b91fe4d2638787d033a0b22b6c1dc145e0 Author: Matt Turner <mat...@gm...> Date: Mon Aug 26 13:10:22 2024 -0700 build: bump version to 2.4.123 diff --git a/meson.build b/meson.build index 225f09aa..27e40e75 100644 --- a/meson.build +++ b/meson.build @@ -26,7 +26,7 @@ project( 'libdrm', ['c'], - version : '2.4.122', + version : '2.4.123', license : 'MIT', meson_version : '>= 0.59', default_options : ['buildtype=debugoptimized', 'c_std=c11'], |
From: GitLab M. <git...@ke...> - 2024-08-26 18:55:24
|
meson.build | 4 ++++ 1 file changed, 4 insertions(+) New commits: commit f3f56f41bb97a3876c209d12c2a2a565c326def8 Author: Mark Collins <ma...@ig...> Date: Thu Aug 22 18:40:48 2024 +0000 Disable ioctl signed overload for Bionic libc Bionic libc ships with `ioctl` that has two signatures, one with an unsigned `request` parameter and one with a signed request parameter. This leads to compilation failing due to `__typeof__(ioctl)` being used by DRM which fails to resolve which overload to use, this has been fixed by defining `BIONIC_IOCTL_NO_SIGNEDNESS_OVERLOAD` on Android. Signed-off-by: Mark Collins <ma...@ig...> diff --git a/meson.build b/meson.build index 7b26d7eb..225f09aa 100644 --- a/meson.build +++ b/meson.build @@ -243,6 +243,10 @@ if target_machine.endian() == 'big' config.set('HAVE_BIG_ENDIAN', 1) endif +if android + config.set('BIONIC_IOCTL_NO_SIGNEDNESS_OVERLOAD', 1) +endif + config_file = configure_file( configuration : config, output : 'config.h', |
From: GitLab M. <git...@ke...> - 2024-08-01 15:28:31
|
tests/modetest/Android.bp | 2 +- tests/proptest/Android.bp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) New commits: commit 88db6114985ebcfe14f592930d82d01a3d973101 Author: Su Hong Koo <su...@go...> Date: Thu Aug 1 10:08:08 2024 -0400 tests: Make modetest and proptest cc_binary in Android.bp Change module type of modetest and proptest from cc_test to cc_binary, as neither are tests. Signed-off-by: Su Hong Koo <su...@go...> diff --git a/tests/modetest/Android.bp b/tests/modetest/Android.bp index ca811fee..02688da2 100644 --- a/tests/modetest/Android.bp +++ b/tests/modetest/Android.bp @@ -1,6 +1,6 @@ build = ["Android.sources.bp"] -cc_test { +cc_binary { name: "modetest", defaults: [ "libdrm_defaults", diff --git a/tests/proptest/Android.bp b/tests/proptest/Android.bp index 28c87e91..379e08c1 100644 --- a/tests/proptest/Android.bp +++ b/tests/proptest/Android.bp @@ -1,4 +1,4 @@ -cc_test { +cc_binary { name: "proptest", defaults: ["libdrm_defaults"], srcs: ["proptest.c"], |
From: GitLab M. <git...@ke...> - 2024-08-01 12:30:26
|
amdgpu/meson.build | 2 +- etnaviv/meson.build | 2 +- exynos/meson.build | 2 +- freedreno/meson.build | 2 +- intel/meson.build | 2 +- meson.build | 9 ++++++++- nouveau/meson.build | 2 +- omap/meson.build | 2 +- radeon/meson.build | 2 +- tegra/meson.build | 2 +- 10 files changed, 17 insertions(+), 10 deletions(-) New commits: commit b0815faac0d80577a8efcfe45094b5bdc4c6a34b Author: Daniel Stone <da...@co...> Date: Wed Jul 17 13:07:00 2024 +0100 libs: Tie DSO minor versions to libdrm version There is an excellent writeup explaining this requirement here: https://gitlab.freedesktop.org/wayland/wayland/-/issues/175 In short, for mixed environments such as the Steam Runtime and other container-like environments, choosing which libdrm to link into the client's address space is a hard problem. If the runtime has a newer libdrm than the host, then it should be preferred, because the client may be using newly-added symbols. But if the host has a newer libdrm, then that should be used, because drivers may be depending on those. Bumping the DSO minor version is transparent to all users because apps only link against the major version, e.g. DT_NEEDED libdrm.so.2; the fact that libdrm.so.2 is a link to libdrm.so.2.122.0 is a detail known only to the loader, but it does let a smart runtime make better decisions. Signed-off-by: Daniel Stone <da...@co...> diff --git a/amdgpu/meson.build b/amdgpu/meson.build index 679de94d..dd65fbb3 100644 --- a/amdgpu/meson.build +++ b/amdgpu/meson.build @@ -37,7 +37,7 @@ libdrm_amdgpu = library( include_directories : [inc_root, inc_drm], link_with : libdrm, dependencies : [dep_threads, dep_atomic_ops, dep_rt], - version : '1.0.0', + version : '1.@0@.0'.format(patch_ver), install : true, ) diff --git a/etnaviv/meson.build b/etnaviv/meson.build index b9650961..10861351 100644 --- a/etnaviv/meson.build +++ b/etnaviv/meson.build @@ -33,7 +33,7 @@ libdrm_etnaviv = library( c_args : libdrm_c_args, gnu_symbol_visibility : 'hidden', dependencies : [dep_threads, dep_rt, dep_atomic_ops], - version : '1.0.0', + version : '1.@0@.0'.format(patch_ver), install : true, ) diff --git a/exynos/meson.build b/exynos/meson.build index c87be6b1..6a790f49 100644 --- a/exynos/meson.build +++ b/exynos/meson.build @@ -26,7 +26,7 @@ libdrm_exynos = library( include_directories : [inc_root, inc_drm], link_with : libdrm, dependencies : [dep_threads], - version : '1.0.0', + version : '1.@0@.0'.format(patch_ver), install : true, ) diff --git a/freedreno/meson.build b/freedreno/meson.build index 1d1bd820..311f5794 100644 --- a/freedreno/meson.build +++ b/freedreno/meson.build @@ -46,7 +46,7 @@ libdrm_freedreno = library( include_directories : [inc_root, inc_drm], dependencies : [dep_valgrind, dep_threads, dep_rt, dep_atomic_ops], link_with : libdrm, - version : '1.0.0', + version : '1.@0@.0'.format(patch_ver), install : true, ) diff --git a/intel/meson.build b/intel/meson.build index e609449c..2aa9c288 100644 --- a/intel/meson.build +++ b/intel/meson.build @@ -32,7 +32,7 @@ libdrm_intel = library( dependencies : [dep_pciaccess, dep_threads, dep_rt, dep_valgrind, dep_atomic_ops], c_args : libdrm_c_args, gnu_symbol_visibility : 'hidden', - version : '1.0.0', + version : '1.@0@.0'.format(patch_ver), install : true, ) diff --git a/meson.build b/meson.build index 8fd0a196..7b26d7eb 100644 --- a/meson.build +++ b/meson.build @@ -18,6 +18,11 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. +# The versioning should always stay at 2.4.x. If bumping away from this, +# you must ensure that all users of patch_ver are changed such that DSO versions +# continuously increment (e.g. blindly bumping from 2.4.122 to 2.5.0 would +# roll the libdrm DSO versioning from libdrm.so.2.122.0 back to libdrm.so.2.0.0 +# which would be bad) project( 'libdrm', ['c'], @@ -27,6 +32,8 @@ project( default_options : ['buildtype=debugoptimized', 'c_std=c11'], ) +patch_ver = meson.project_version().split('.')[2] + if ['windows', 'darwin'].contains(host_machine.system()) error('unsupported OS: @0@'.format(host_machine.system())) endif @@ -256,7 +263,7 @@ libdrm_files = [files( if android libdrm_kw = {} else - libdrm_kw = {'version' : '2.4.0'} + libdrm_kw = { 'version' : '2.@0@.0'.format(patch_ver) } endif libdrm = library( diff --git a/nouveau/meson.build b/nouveau/meson.build index 71c8f552..ec28dd2d 100644 --- a/nouveau/meson.build +++ b/nouveau/meson.build @@ -27,7 +27,7 @@ libdrm_nouveau = library( include_directories : [inc_root, inc_drm], link_with : libdrm, dependencies : [dep_threads, dep_atomic_ops], - version : '2.0.0', + version : '2.@0@.0'.format(patch_ver), install : true, ) diff --git a/omap/meson.build b/omap/meson.build index 8856d4ab..8187825a 100644 --- a/omap/meson.build +++ b/omap/meson.build @@ -26,7 +26,7 @@ libdrm_omap = library( gnu_symbol_visibility : 'hidden', link_with : libdrm, dependencies : [dep_threads, dep_atomic_ops], - version : '1.0.0', + version : '1.@0@.0'.format(patch_ver), install : true, ) diff --git a/radeon/meson.build b/radeon/meson.build index 7aa9b705..bcf3239c 100644 --- a/radeon/meson.build +++ b/radeon/meson.build @@ -33,7 +33,7 @@ libdrm_radeon = library( include_directories : [inc_root, inc_drm], link_with : libdrm, dependencies : [dep_threads, dep_atomic_ops], - version : '1.0.1', + version : '1.@0@.0'.format(patch_ver), install : true, ) diff --git a/tegra/meson.build b/tegra/meson.build index 11ce217b..dfec91d0 100644 --- a/tegra/meson.build +++ b/tegra/meson.build @@ -31,7 +31,7 @@ libdrm_tegra = library( dependencies : [dep_threads, dep_atomic_ops], c_args : libdrm_c_args, gnu_symbol_visibility : 'hidden', - version : '0.0.0', + version : '0.@0@.0'.format(patch_ver), install : true, ) |
From: GitLab M. <git...@ke...> - 2024-07-31 20:58:41
|
Android.bp | 85 ++++++++++++++++++++++++++++++++++++++ Android.common.mk | 22 --------- Android.mk | 74 --------------------------------- Android.sources.bp | 12 +++++ Android.sources.bp.mk | 25 +++++++++++ Makefile.sources | 45 -------------------- amdgpu/Android.bp | 16 +++++++ amdgpu/Android.mk | 19 -------- amdgpu/Android.sources.bp | 15 ++++++ amdgpu/Makefile.sources | 14 ------ data/Android.bp | 6 ++ data/Android.mk | 10 ---- etnaviv/Android.bp | 11 ++++ etnaviv/Android.mk | 14 ------ etnaviv/Android.sources.bp | 13 +++++ etnaviv/Makefile.sources | 13 ----- freedreno/Android.mk | 14 ------ freedreno/Makefile.sources | 25 ----------- intel/Android.bp | 36 ++++++++++++++++ intel/Android.mk | 38 ---------------- intel/Android.sources.bp | 12 +++++ intel/Makefile.sources | 15 ------ nouveau/Android.bp | 11 ++++ nouveau/Android.mk | 14 ------ nouveau/Android.sources.bp | 11 ++++ nouveau/Makefile.sources | 9 ---- omap/Android.bp | 12 +++++ omap/Android.mk | 13 ----- omap/Android.sources.bp | 8 +++ radeon/Android.bp | 11 ++++ radeon/Android.mk | 14 ------ radeon/Android.sources.bp | 13 +++++ radeon/Makefile.sources | 21 --------- tegra/Android.bp | 14 ++++++ tests/Android.bp | 6 ++ tests/Android.mk | 1 tests/modetest/Android.bp | 12 +++++ tests/modetest/Android.mk | 14 ------ tests/modetest/Android.sources.bp | 10 ++++ tests/modetest/Makefile.sources | 6 -- tests/proptest/Android.bp | 8 +++ tests/proptest/Android.mk | 14 ------ tests/proptest/Makefile.sources | 2 tests/util/Android.bp | 35 +++++++++++++++ tests/util/Android.mk | 38 ---------------- tests/util/Android.sources.bp | 10 ++++ tests/util/Makefile.sources | 8 --- vc4/Makefile.sources | 3 - 48 files changed, 392 insertions(+), 460 deletions(-) New commits: commit 4bd09d78df0bf7dd78a698c14ba5ea2f3a69e4ea Author: Jiyong Park <ji...@go...> Date: Thu Oct 12 10:15:46 2023 +0900 Enable GPU in crosvm When the GPU feature is turned on in crosvm, these modules are added as dependencies. Since crosvm is included in the virt APEX, add the APEX to the apex_available properties of the modules to make them available in the APEX. diff --git a/Android.bp b/Android.bp index b512fc2f..5e0763c7 100644 --- a/Android.bp +++ b/Android.bp @@ -53,6 +53,10 @@ cc_library_headers { host_supported: true, defaults: ["libdrm_defaults"], export_include_dirs: ["include/drm", "android"], + apex_available: [ + "//apex_available:platform", + "com.android.virt", + ], } // Library for the device commit d9043a256f4fdf15e7219c87a22801870499d1d5 Author: Jiyong Park <ji...@go...> Date: Mon Dec 7 15:08:36 2020 +0900 add crosvm to com.android.virt To do so, crosvm and its dependencies have the apex_available property set to "//apex_available:platform", "com.android.virt" to explicitly acknowledge the joining. diff --git a/Android.bp b/Android.bp index d398426f..b512fc2f 100644 --- a/Android.bp +++ b/Android.bp @@ -74,4 +74,8 @@ cc_library { "-Wno-sign-compare", "-Wno-tautological-compare", ], + apex_available: [ + "//apex_available:platform", + "com.android.virt", + ], } commit f22956a4e92401ab3914e8b81611dad97e4a0ae5 Author: Jason Macnak <na...@go...> Date: Mon Nov 16 09:58:07 2020 -0800 Adds libdrm_headers ... as being able to use cc_library in header_libs is not intended and does not work on all branches which blocks aosp/1497292. diff --git a/Android.bp b/Android.bp index 158f2660..d398426f 100644 --- a/Android.bp +++ b/Android.bp @@ -47,6 +47,14 @@ cc_defaults { export_system_include_dirs: ["."], } +cc_library_headers { + name: "libdrm_headers", + vendor_available: true, + host_supported: true, + defaults: ["libdrm_defaults"], + export_include_dirs: ["include/drm", "android"], +} + // Library for the device cc_library { name: "libdrm", commit 460f7907de443131cfaad670ce2fb199da1ebf95 Author: Inseob Kim <in...@go...> Date: Thu Jun 11 14:05:17 2020 +0900 Export include dirs with -isystem drm_property_type_is function in xf86drmMode.h file can cause compiler error because it performs unsigned to signed conversion. Some Android.mk modules have been avoiding this by adding "-isystem external/libdrm" flag, because warnings from system headers are suppressed. This changes exported_include_dirs to export_system_include_dirs to workaround the potential error with the same manner above. diff --git a/Android.bp b/Android.bp index 8b264cd3..158f2660 100644 --- a/Android.bp +++ b/Android.bp @@ -44,7 +44,7 @@ cc_defaults { "-Wno-unused-parameter", "-Wno-unused-variable", ], - export_include_dirs: ["."], + export_system_include_dirs: ["."], } // Library for the device commit dcb14fe0c6d6cc955d543ba18150bfeef78b00ad Author: Jason Macnak <na...@go...> Date: Mon Dec 2 22:56:55 2019 -0800 Makes libdrm available on host ... to make drm format header visible for host wayland server. Adds -Wno-implicit-function-declaration for vasprintf() on xf86drm.c:2965. Adds -Wno-int-conversion for drm_mmap() on libdrm_macros.h:60. Also, drive-by alphabetize cflags. diff --git a/Android.bp b/Android.bp index 6fe434c6..8b264cd3 100644 --- a/Android.bp +++ b/Android.bp @@ -37,10 +37,12 @@ cc_defaults { "-Wno-deprecated-declarations", "-Wno-format", "-Wno-gnu-variable-sized-type-not-at-end", + "-Wno-implicit-function-declaration", + "-Wno-int-conversion", + "-Wno-missing-field-initializers", "-Wno-pointer-arith", "-Wno-unused-parameter", "-Wno-unused-variable", - "-Wno-missing-field-initializers", ], export_include_dirs: ["."], } @@ -50,6 +52,7 @@ cc_library { name: "libdrm", recovery_available: true, vendor_available: true, + host_supported: true, defaults: [ "libdrm_defaults", "libdrm_sources", commit 6aa6411c5a336d0aed785a49d3df92702cbc6abd Author: Jerry Zhang <zha...@go...> Date: Tue Jul 17 12:17:19 2018 -0700 Make libdrm recovery_available diff --git a/Android.bp b/Android.bp index 9121068a..6fe434c6 100644 --- a/Android.bp +++ b/Android.bp @@ -48,6 +48,7 @@ cc_defaults { // Library for the device cc_library { name: "libdrm", + recovery_available: true, vendor_available: true, defaults: [ "libdrm_defaults", commit c2b5759a2f2d22367f8736c657f4cf07da03c7f5 Author: John Stultz <joh...@li...> Date: Fri Apr 13 16:26:43 2018 -0700 Android.bp: Add include exports for android dir This forward ports Stefan Schake's patch 32ee9c0e0566 "android: Add missing include exports" to the Android.bp file. diff --git a/Android.bp b/Android.bp index 429c22cc..9121068a 100644 --- a/Android.bp +++ b/Android.bp @@ -54,7 +54,7 @@ cc_library { "libdrm_sources", ], - export_include_dirs: ["include/drm"], + export_include_dirs: ["include/drm", "android"], cflags: [ "-Wno-enum-conversion", commit aef24b66d9713a701775e6c1d4777616afcb56ac Author: Elliott Hughes <en...@go...> Date: Thu Jan 11 14:09:24 2018 -0800 readdir_r is deprecated. Add -Wno-deprecated-declarations to suppress compiler warning about using readdir_r, which is deprecated. diff --git a/Android.bp b/Android.bp index 6a90c389..429c22cc 100644 --- a/Android.bp +++ b/Android.bp @@ -34,6 +34,7 @@ cc_defaults { "-Wall", "-Werror", + "-Wno-deprecated-declarations", "-Wno-format", "-Wno-gnu-variable-sized-type-not-at-end", "-Wno-pointer-arith", commit aefb5fa98757e34a7288ed596c96d37cd3869020 Author: Su Hong Koo <su...@go...> Date: Mon Jul 29 13:15:17 2024 -0400 Delete all Makefile.sources files Delete all Makefile.sources as all the makefiles that use them have been replaced with Android.*.bp files for Soong. diff --git a/Makefile.sources b/Makefile.sources deleted file mode 100644 index 55290fe9..00000000 --- a/Makefile.sources +++ /dev/null @@ -1,45 +0,0 @@ -LIBDRM_FILES := \ - xf86drm.c \ - xf86drmHash.c \ - xf86drmHash.h \ - xf86drmRandom.c \ - xf86drmRandom.h \ - xf86drmSL.c \ - xf86drmMode.c \ - xf86atomic.h \ - libdrm_macros.h \ - libdrm_lists.h \ - util_double_list.h \ - util_math.h - -LIBDRM_H_FILES := \ - libsync.h \ - xf86drm.h \ - xf86drmMode.h - -LIBDRM_INCLUDE_H_FILES := \ - include/drm/drm.h \ - include/drm/drm_fourcc.h \ - include/drm/drm_mode.h \ - include/drm/drm_sarea.h \ - include/drm/i915_drm.h \ - include/drm/mach64_drm.h \ - include/drm/mga_drm.h \ - include/drm/msm_drm.h \ - include/drm/nouveau_drm.h \ - include/drm/qxl_drm.h \ - include/drm/r128_drm.h \ - include/drm/radeon_drm.h \ - include/drm/amdgpu_drm.h \ - include/drm/savage_drm.h \ - include/drm/sis_drm.h \ - include/drm/tegra_drm.h \ - include/drm/vc4_drm.h \ - include/drm/via_drm.h \ - include/drm/virtgpu_drm.h - -LIBDRM_INCLUDE_ANDROID_H_FILES := \ - android/gralloc_handle.h - -LIBDRM_INCLUDE_VMWGFX_H_FILES := \ - include/drm/vmwgfx_drm.h diff --git a/amdgpu/Makefile.sources b/amdgpu/Makefile.sources deleted file mode 100644 index d6df324a..00000000 --- a/amdgpu/Makefile.sources +++ /dev/null @@ -1,14 +0,0 @@ -LIBDRM_AMDGPU_FILES := \ - amdgpu_asic_id.c \ - amdgpu_bo.c \ - amdgpu_cs.c \ - amdgpu_device.c \ - amdgpu_gpu_info.c \ - amdgpu_internal.h \ - amdgpu_vamgr.c \ - amdgpu_vm.c \ - handle_table.c \ - handle_table.h - -LIBDRM_AMDGPU_H_FILES := \ - amdgpu.h diff --git a/etnaviv/Makefile.sources b/etnaviv/Makefile.sources deleted file mode 100644 index 0eb73783..00000000 --- a/etnaviv/Makefile.sources +++ /dev/null @@ -1,13 +0,0 @@ -LIBDRM_ETNAVIV_FILES := \ - etnaviv_device.c \ - etnaviv_gpu.c \ - etnaviv_bo.c \ - etnaviv_bo_cache.c \ - etnaviv_perfmon.c \ - etnaviv_pipe.c \ - etnaviv_cmd_stream.c \ - etnaviv_drm.h \ - etnaviv_priv.h - -LIBDRM_ETNAVIV_H_FILES := \ - etnaviv_drmif.h diff --git a/freedreno/Makefile.sources b/freedreno/Makefile.sources deleted file mode 100644 index ca89511a..00000000 --- a/freedreno/Makefile.sources +++ /dev/null @@ -1,25 +0,0 @@ -LIBDRM_FREEDRENO_FILES := \ - freedreno_device.c \ - freedreno_pipe.c \ - freedreno_priv.h \ - freedreno_ringbuffer.c \ - freedreno_bo.c \ - freedreno_bo_cache.c \ - msm/msm_bo.c \ - msm/msm_device.c \ - msm/msm_pipe.c \ - msm/msm_priv.h \ - msm/msm_ringbuffer.c - -LIBDRM_FREEDRENO_KGSL_FILES := \ - kgsl/kgsl_bo.c \ - kgsl/kgsl_device.c \ - kgsl/kgsl_drm.h \ - kgsl/kgsl_pipe.c \ - kgsl/kgsl_priv.h \ - kgsl/kgsl_ringbuffer.c \ - kgsl/msm_kgsl.h - -LIBDRM_FREEDRENO_H_FILES := \ - freedreno_drmif.h \ - freedreno_ringbuffer.h diff --git a/intel/Makefile.sources b/intel/Makefile.sources deleted file mode 100644 index 6947ab74..00000000 --- a/intel/Makefile.sources +++ /dev/null @@ -1,15 +0,0 @@ -LIBDRM_INTEL_FILES := \ - intel_bufmgr.c \ - intel_bufmgr_priv.h \ - intel_bufmgr_fake.c \ - intel_bufmgr_gem.c \ - intel_decode.c \ - intel_chipset.h \ - mm.c \ - mm.h \ - uthash.h - -LIBDRM_INTEL_H_FILES := \ - intel_bufmgr.h \ - intel_aub.h \ - intel_debug.h diff --git a/nouveau/Makefile.sources b/nouveau/Makefile.sources deleted file mode 100644 index 89f2a2b5..00000000 --- a/nouveau/Makefile.sources +++ /dev/null @@ -1,9 +0,0 @@ -LIBDRM_NOUVEAU_FILES := \ - nouveau.c \ - pushbuf.c \ - bufctx.c \ - abi16.c \ - private.h - -LIBDRM_NOUVEAU_H_FILES := \ - nouveau.h diff --git a/radeon/Makefile.sources b/radeon/Makefile.sources deleted file mode 100644 index 1cf482a4..00000000 --- a/radeon/Makefile.sources +++ /dev/null @@ -1,21 +0,0 @@ -LIBDRM_RADEON_FILES := \ - radeon_bo_gem.c \ - radeon_cs_gem.c \ - radeon_cs_space.c \ - radeon_bo.c \ - radeon_cs.c \ - radeon_surface.c - -LIBDRM_RADEON_H_FILES := \ - radeon_bo.h \ - radeon_cs.h \ - radeon_surface.h \ - radeon_bo_gem.h \ - radeon_cs_gem.h \ - radeon_bo_int.h \ - radeon_cs_int.h \ - r600_pci_ids.h - -LIBDRM_RADEON_BOF_FILES := \ - bof.c \ - bof.h diff --git a/tests/modetest/Makefile.sources b/tests/modetest/Makefile.sources deleted file mode 100644 index 399af0df..00000000 --- a/tests/modetest/Makefile.sources +++ /dev/null @@ -1,6 +0,0 @@ -MODETEST_FILES := \ - buffers.c \ - buffers.h \ - cursor.c \ - cursor.h \ - modetest.c diff --git a/tests/proptest/Makefile.sources b/tests/proptest/Makefile.sources deleted file mode 100644 index 446110d6..00000000 --- a/tests/proptest/Makefile.sources +++ /dev/null @@ -1,2 +0,0 @@ -PROPTEST_FILES := \ - proptest.c diff --git a/tests/util/Makefile.sources b/tests/util/Makefile.sources deleted file mode 100644 index e5f85113..00000000 --- a/tests/util/Makefile.sources +++ /dev/null @@ -1,8 +0,0 @@ -UTIL_FILES := \ - common.h \ - format.c \ - format.h \ - kms.c \ - kms.h \ - pattern.c \ - pattern.h diff --git a/vc4/Makefile.sources b/vc4/Makefile.sources deleted file mode 100644 index 8bf97ff1..00000000 --- a/vc4/Makefile.sources +++ /dev/null @@ -1,3 +0,0 @@ -LIBDRM_VC4_H_FILES := \ - vc4_packet.h \ - vc4_qpu_defines.h commit 21ac1816a4101190dd8d91ed37c43203ff0cf940 Author: Dan Willemsen <dwi...@go...> Date: Thu Oct 19 22:18:23 2017 -0700 Convert to Android.bp See build/soong/README.md for more information about Soong. Removes BOARD_GPU_DRIVERS, which wasn't affecting anything, since none of the HAVE_* macros are defined. Even if they were, we'd prefer to compile all of them so that a single library can support multiple boards. diff --git a/Android.bp b/Android.bp new file mode 100644 index 00000000..6a90c389 --- /dev/null +++ b/Android.bp @@ -0,0 +1,64 @@ +// +// Copyright © 2011-2012 Intel Corporation +// +// 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 (including the next +// paragraph) 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. +// + +subdirs = ["*"] +build = ["Android.sources.bp"] + +cc_defaults { + name: "libdrm_defaults", + cflags: [ + // XXX: Consider moving these to config.h analogous to autoconf. + "-DMAJOR_IN_SYSMACROS=1", + "-DHAVE_VISIBILITY=1", + "-DHAVE_LIBDRM_ATOMIC_PRIMITIVES=1", + + "-Wall", + "-Werror", + "-Wno-format", + "-Wno-gnu-variable-sized-type-not-at-end", + "-Wno-pointer-arith", + "-Wno-unused-parameter", + "-Wno-unused-variable", + "-Wno-missing-field-initializers", + ], + export_include_dirs: ["."], +} + +// Library for the device +cc_library { + name: "libdrm", + vendor_available: true, + defaults: [ + "libdrm_defaults", + "libdrm_sources", + ], + + export_include_dirs: ["include/drm"], + + cflags: [ + "-Wno-enum-conversion", + "-Wno-pointer-arith", + "-Wno-sign-compare", + "-Wno-tautological-compare", + ], +} diff --git a/Android.common.mk b/Android.common.mk deleted file mode 100644 index 37c2b23a..00000000 --- a/Android.common.mk +++ /dev/null @@ -1,22 +0,0 @@ -# XXX: Consider moving these to config.h analogous to autoconf. -LOCAL_CFLAGS += \ - -DMAJOR_IN_SYSMACROS=1 \ - -DHAVE_ALLOCA_H=0 \ - -DHAVE_SYS_SELECT_H=0 \ - -DHAVE_SYS_SYSCTL_H=0 \ - -DHAVE_VISIBILITY=1 \ - -fvisibility=hidden \ - -DHAVE_LIBDRM_ATOMIC_PRIMITIVES=1 - -LOCAL_CFLAGS += \ - -Wno-error \ - -Wno-unused-parameter \ - -Wno-missing-field-initializers \ - -Wno-pointer-arith \ - -Wno-enum-conversion - -# Quiet down the build system and remove any .h files from the sources -LOCAL_SRC_FILES := $(patsubst %.h, , $(LOCAL_SRC_FILES)) -LOCAL_EXPORT_C_INCLUDE_DIRS += $(LOCAL_PATH) - -LOCAL_PROPRIETARY_MODULE := true diff --git a/Android.mk b/Android.mk deleted file mode 100644 index 0ab6f0f9..00000000 --- a/Android.mk +++ /dev/null @@ -1,74 +0,0 @@ -# -# Copyright © 2011-2012 Intel Corporation -# -# 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 (including the next -# paragraph) 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. -# - -LIBDRM_ANDROID_MAJOR_VERSION := $(word 1, $(subst ., , $(PLATFORM_VERSION))) -ifneq ($(filter 2 4, $(LIBDRM_ANDROID_MAJOR_VERSION)),) -$(error "Android 4.4 and earlier not supported") -endif - -LIBDRM_COMMON_MK := $(call my-dir)/Android.common.mk - -LOCAL_PATH := $(call my-dir) -LIBDRM_TOP := $(LOCAL_PATH) - -include $(CLEAR_VARS) - -# Import variables LIBDRM_{,H,INCLUDE_H,INCLUDE_ANDROID_H,INCLUDE_VMWGFX_H}_FILES -include $(LOCAL_PATH)/Makefile.sources - -#static library for the device (recovery) -include $(CLEAR_VARS) -LOCAL_MODULE := libdrm - -LOCAL_SRC_FILES := $(LIBDRM_FILES) -LOCAL_EXPORT_C_INCLUDE_DIRS := \ - $(LOCAL_PATH) \ - $(LOCAL_PATH)/include/drm \ - $(LOCAL_PATH)/android - -LOCAL_C_INCLUDES := \ - $(LOCAL_PATH)/include/drm - -include $(LIBDRM_COMMON_MK) -include $(BUILD_STATIC_LIBRARY) - -# Shared library for the device -include $(CLEAR_VARS) -LOCAL_MODULE := libdrm - -LOCAL_SRC_FILES := $(LIBDRM_FILES) -LOCAL_EXPORT_C_INCLUDE_DIRS := \ - $(LOCAL_PATH) \ - $(LOCAL_PATH)/include/drm \ - $(LOCAL_PATH)/android - -LOCAL_SHARED_LIBRARIES := \ - libcutils - -LOCAL_C_INCLUDES := \ - $(LOCAL_PATH)/include/drm - -include $(LIBDRM_COMMON_MK) -include $(BUILD_SHARED_LIBRARY) - -include $(call all-makefiles-under,$(LOCAL_PATH)) diff --git a/Android.sources.bp b/Android.sources.bp new file mode 100644 index 00000000..73356dd8 --- /dev/null +++ b/Android.sources.bp @@ -0,0 +1,12 @@ +// Autogenerated with Android.sources.bp.mk + +cc_defaults { + name: "libdrm_sources", + srcs: [ + "xf86drm.c", + "xf86drmHash.c", + "xf86drmRandom.c", + "xf86drmSL.c", + "xf86drmMode.c", + ], +} diff --git a/Android.sources.bp.mk b/Android.sources.bp.mk new file mode 100644 index 00000000..26b61c1e --- /dev/null +++ b/Android.sources.bp.mk @@ -0,0 +1,25 @@ +# Usage: make -f path/to/Android.sources.bp.mk NAMES=<> >Android.sources.bp +# +# It will read the Makefile.sources in the current directory, and +# write <NAME>_FILES to stdout as an Android.bp cc_defaults module. + +.PHONY: all +all: + @# Do nothing + +include Makefile.sources + +empty := +indent := $(empty) $(empty) + +$(info // Autogenerated with Android.sources.bp.mk) +$(foreach NAME,$(NAMES), \ + $(eval lower_name := $(shell echo $(PREFIX)$(NAME) | tr 'A-Z' 'a-z')) \ + $(info ) \ + $(info cc_defaults {) \ + $(info $(indent)name: "$(lower_name)_sources",) \ + $(info $(indent)srcs: [) \ + $(foreach f,$(filter %.c,$($(NAME)_FILES)), \ + $(info $(indent)$(indent)"$(f)",)) \ + $(info $(indent)],) \ + $(info })) diff --git a/amdgpu/Android.bp b/amdgpu/Android.bp new file mode 100644 index 00000000..976f03e9 --- /dev/null +++ b/amdgpu/Android.bp @@ -0,0 +1,16 @@ +build = ["Android.sources.bp"] + +cc_library_shared { + name: "libdrm_amdgpu", + + cflags: [ + "-DAMDGPU_ASIC_ID_TABLE=\"/vendor/etc/hwdata/amdgpu.ids\"" + ], + + defaults: [ + "libdrm_defaults", + "libdrm_amdgpu_sources", + ], + vendor: true, + shared_libs: ["libdrm"], +} diff --git a/amdgpu/Android.mk b/amdgpu/Android.mk deleted file mode 100644 index 1f028d0b..00000000 --- a/amdgpu/Android.mk +++ /dev/null @@ -1,19 +0,0 @@ -LOCAL_PATH := $(call my-dir) -include $(CLEAR_VARS) - -# Import variables LIBDRM_AMDGPU_FILES, LIBDRM_AMDGPU_H_FILES -include $(LOCAL_PATH)/Makefile.sources - -LOCAL_MODULE := libdrm_amdgpu - -LOCAL_SHARED_LIBRARIES := libdrm - -LOCAL_SRC_FILES := $(LIBDRM_AMDGPU_FILES) - -LOCAL_CFLAGS := \ - -DAMDGPU_ASIC_ID_TABLE=\"/vendor/etc/hwdata/amdgpu.ids\" - -LOCAL_REQUIRED_MODULES := amdgpu.ids - -include $(LIBDRM_COMMON_MK) -include $(BUILD_SHARED_LIBRARY) diff --git a/amdgpu/Android.sources.bp b/amdgpu/Android.sources.bp new file mode 100644 index 00000000..e2a2888b --- /dev/null +++ b/amdgpu/Android.sources.bp @@ -0,0 +1,15 @@ +// Autogenerated with Android.sources.bp.mk + +cc_defaults { + name: "libdrm_amdgpu_sources", + srcs: [ + "amdgpu_asic_id.c", + "amdgpu_bo.c", + "amdgpu_cs.c", + "amdgpu_device.c", + "amdgpu_gpu_info.c", + "amdgpu_vamgr.c", + "amdgpu_vm.c", + "handle_table.c", + ], +} diff --git a/data/Android.bp b/data/Android.bp new file mode 100644 index 00000000..47f64371 --- /dev/null +++ b/data/Android.bp @@ -0,0 +1,6 @@ +prebuilt_etc { + name: "amdgpu.ids", + proprietary: true, + sub_dir: "hwdata", + src: "amdgpu.ids", +} diff --git a/data/Android.mk b/data/Android.mk deleted file mode 100644 index 62013f0c..00000000 --- a/data/Android.mk +++ /dev/null @@ -1,10 +0,0 @@ -LOCAL_PATH := $(call my-dir) - -include $(CLEAR_VARS) -LOCAL_MODULE := amdgpu.ids -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := ETC -LOCAL_PROPRIETARY_MODULE := true -LOCAL_MODULE_RELATIVE_PATH := hwdata -LOCAL_SRC_FILES := $(LOCAL_MODULE) -include $(BUILD_PREBUILT) diff --git a/etnaviv/Android.bp b/etnaviv/Android.bp new file mode 100644 index 00000000..21deda99 --- /dev/null +++ b/etnaviv/Android.bp @@ -0,0 +1,11 @@ +build = ["Android.sources.bp"] + +cc_library_shared { + name: "libdrm_etnaviv", + defaults: [ + "libdrm_defaults", + "libdrm_etnaviv_sources", + ], + vendor: true, + shared_libs: ["libdrm"], +} diff --git a/etnaviv/Android.mk b/etnaviv/Android.mk deleted file mode 100644 index 390f9a98..00000000 --- a/etnaviv/Android.mk +++ /dev/null @@ -1,14 +0,0 @@ -LOCAL_PATH := $(call my-dir) -include $(CLEAR_VARS) - -# Import variables LIBDRM_ETNAVIV_FILES, LIBDRM_ETNAVIV_H_FILES -include $(LOCAL_PATH)/Makefile.sources - -LOCAL_MODULE := libdrm_etnaviv - -LOCAL_SHARED_LIBRARIES := libdrm - -LOCAL_SRC_FILES := $(LIBDRM_ETNAVIV_FILES) - -include $(LIBDRM_COMMON_MK) -include $(BUILD_SHARED_LIBRARY) diff --git a/etnaviv/Android.sources.bp b/etnaviv/Android.sources.bp new file mode 100644 index 00000000..aa828900 --- /dev/null +++ b/etnaviv/Android.sources.bp @@ -0,0 +1,13 @@ +// Autogenerated with Android.sources.bp.mk + +cc_defaults { + name: "libdrm_etnaviv_sources", + srcs: [ + "etnaviv_device.c", + "etnaviv_gpu.c", + "etnaviv_bo.c", + "etnaviv_bo_cache.c", + "etnaviv_pipe.c", + "etnaviv_cmd_stream.c", + ], +} diff --git a/freedreno/Android.mk b/freedreno/Android.mk deleted file mode 100644 index 2b582aed..00000000 --- a/freedreno/Android.mk +++ /dev/null @@ -1,14 +0,0 @@ -LOCAL_PATH := $(call my-dir) -include $(CLEAR_VARS) - -# Import variables LIBDRM_FREEDRENO_FILES, LIBDRM_FREEDRENO_H_FILES -include $(LOCAL_PATH)/Makefile.sources - -LOCAL_MODULE := libdrm_freedreno - -LOCAL_SHARED_LIBRARIES := libdrm - -LOCAL_SRC_FILES := $(LIBDRM_FREEDRENO_FILES) - -include $(LIBDRM_COMMON_MK) -include $(BUILD_SHARED_LIBRARY) diff --git a/intel/Android.bp b/intel/Android.bp new file mode 100644 index 00000000..22713acc --- /dev/null +++ b/intel/Android.bp @@ -0,0 +1,36 @@ +// +// Copyright © 2011 Intel Corporation +// +// 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 (including the next +// paragraph) 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. +// + +build = ["Android.sources.bp"] + +cc_library_shared { + name: "libdrm_intel", + defaults: [ + "libdrm_defaults", + "libdrm_intel_sources", + ], + vendor: true, + + // Removed dependency to libpciaccess: not used on Android + shared_libs: ["libdrm"], +} diff --git a/intel/Android.mk b/intel/Android.mk deleted file mode 100644 index f45312dd..00000000 --- a/intel/Android.mk +++ /dev/null @@ -1,38 +0,0 @@ -# -# Copyright © 2011 Intel Corporation -# -# 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 (including the next -# paragraph) 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. -# - -LOCAL_PATH := $(call my-dir) -include $(CLEAR_VARS) - -# Import variables LIBDRM_INTEL_FILES, LIBDRM_INTEL_H_FILES -include $(LOCAL_PATH)/Makefile.sources - -LOCAL_MODULE := libdrm_intel - -LOCAL_SRC_FILES := $(LIBDRM_INTEL_FILES) - -LOCAL_SHARED_LIBRARIES := \ - libdrm - -include $(LIBDRM_COMMON_MK) -include $(BUILD_SHARED_LIBRARY) diff --git a/intel/Android.sources.bp b/intel/Android.sources.bp new file mode 100644 index 00000000..459c070f --- /dev/null +++ b/intel/Android.sources.bp @@ -0,0 +1,12 @@ +// Autogenerated with Android.sources.bp.mk + +cc_defaults { + name: "libdrm_intel_sources", + srcs: [ + "intel_bufmgr.c", + "intel_bufmgr_fake.c", + "intel_bufmgr_gem.c", + "intel_decode.c", + "mm.c", + ], +} diff --git a/nouveau/Android.bp b/nouveau/Android.bp new file mode 100644 index 00000000..12c37e3d --- /dev/null +++ b/nouveau/Android.bp @@ -0,0 +1,11 @@ +build = ["Android.sources.bp"] + +cc_library_shared { + name: "libdrm_nouveau", + defaults: [ + "libdrm_defaults", + "libdrm_nouveau_sources", + ], + vendor: true, + shared_libs: ["libdrm"], +} diff --git a/nouveau/Android.mk b/nouveau/Android.mk deleted file mode 100644 index b430af4f..00000000 --- a/nouveau/Android.mk +++ /dev/null @@ -1,14 +0,0 @@ -LOCAL_PATH := $(call my-dir) -include $(CLEAR_VARS) - -# Import variables LIBDRM_NOUVEAU_FILES, LIBDRM_NOUVEAU_H_FILES -include $(LOCAL_PATH)/Makefile.sources - -LOCAL_MODULE := libdrm_nouveau - -LOCAL_SHARED_LIBRARIES := libdrm - -LOCAL_SRC_FILES := $(LIBDRM_NOUVEAU_FILES) - -include $(LIBDRM_COMMON_MK) -include $(BUILD_SHARED_LIBRARY) diff --git a/nouveau/Android.sources.bp b/nouveau/Android.sources.bp new file mode 100644 index 00000000..5ecdb53c --- /dev/null +++ b/nouveau/Android.sources.bp @@ -0,0 +1,11 @@ +// Autogenerated with Android.sources.bp.mk + +cc_defaults { + name: "libdrm_nouveau_sources", + srcs: [ + "nouveau.c", + "pushbuf.c", + "bufctx.c", + "abi16.c", + ], +} diff --git a/omap/Android.bp b/omap/Android.bp new file mode 100644 index 00000000..05ca7d2d --- /dev/null +++ b/omap/Android.bp @@ -0,0 +1,12 @@ +build = ["Android.sources.bp"] + +cc_library_shared { + name: "libdrm_omap", + defaults: [ + "libdrm_defaults", + "libdrm_omap_sources", + ], + vendor: true, + + shared_libs: ["libdrm"], +} diff --git a/omap/Android.mk b/omap/Android.mk deleted file mode 100644 index b25cca13..00000000 --- a/omap/Android.mk +++ /dev/null @@ -1,13 +0,0 @@ -LOCAL_PATH := $(call my-dir) -include $(CLEAR_VARS) - -LOCAL_MODULE := libdrm_omap -LOCAL_VENDOR_MODULE := true - -LOCAL_SRC_FILES := omap_drm.c - -LOCAL_SHARED_LIBRARIES := libdrm - -include $(LIBDRM_COMMON_MK) - -include $(BUILD_SHARED_LIBRARY) diff --git a/omap/Android.sources.bp b/omap/Android.sources.bp new file mode 100644 index 00000000..3c7da94a --- /dev/null +++ b/omap/Android.sources.bp @@ -0,0 +1,8 @@ +// Autogenerated with Android.sources.bp.mk + +cc_defaults { + name: "libdrm_omap_sources", + srcs: [ + "omap_drm.c", + ], +} diff --git a/radeon/Android.bp b/radeon/Android.bp new file mode 100644 index 00000000..9d0a09ec --- /dev/null +++ b/radeon/Android.bp @@ -0,0 +1,11 @@ +build = ["Android.sources.bp"] + +cc_library_shared { + name: "libdrm_radeon", + defaults: [ + "libdrm_defaults", + "libdrm_radeon_sources", + ], + vendor: true, + shared_libs: ["libdrm"], +} diff --git a/radeon/Android.mk b/radeon/Android.mk deleted file mode 100644 index 71040dab..00000000 --- a/radeon/Android.mk +++ /dev/null @@ -1,14 +0,0 @@ -LOCAL_PATH := $(call my-dir) -include $(CLEAR_VARS) - -# Import variables LIBDRM_RADEON_FILES, LIBDRM_RADEON_H_FILES -include $(LOCAL_PATH)/Makefile.sources - -LOCAL_MODULE := libdrm_radeon - -LOCAL_SHARED_LIBRARIES := libdrm - -LOCAL_SRC_FILES := $(LIBDRM_RADEON_FILES) - -include $(LIBDRM_COMMON_MK) -include $(BUILD_SHARED_LIBRARY) diff --git a/radeon/Android.sources.bp b/radeon/Android.sources.bp new file mode 100644 index 00000000..820ac4d6 --- /dev/null +++ b/radeon/Android.sources.bp @@ -0,0 +1,13 @@ +// Autogenerated with Android.sources.bp.mk + +cc_defaults { + name: "libdrm_radeon_sources", + srcs: [ + "radeon_bo_gem.c", + "radeon_cs_gem.c", + "radeon_cs_space.c", + "radeon_bo.c", + "radeon_cs.c", + "radeon_surface.c", + ], +} diff --git a/tegra/Android.bp b/tegra/Android.bp new file mode 100644 index 00000000..33eaf6c5 --- /dev/null +++ b/tegra/Android.bp @@ -0,0 +1,14 @@ +cc_library_shared { + name: "libdrm_tegra", + vendor: true, + shared_libs: ["libdrm"], + + srcs: ["tegra.c"], + + cflags: [ + "-DHAVE_LIBDRM_ATOMIC_PRIMITIVES=1", + "-Wall", + "-Werror", + "-Wno-unused-variable", + ], +} diff --git a/tests/Android.bp b/tests/Android.bp new file mode 100644 index 00000000..cdc6c2cf --- /dev/null +++ b/tests/Android.bp @@ -0,0 +1,6 @@ +subdirs = ["*"] + +cc_library_headers { + name: "libdrm_test_headers", + export_include_dirs: ["."], +} diff --git a/tests/Android.mk b/tests/Android.mk deleted file mode 100644 index 5053e7d6..00000000 --- a/tests/Android.mk +++ /dev/null @@ -1 +0,0 @@ -include $(call all-subdir-makefiles) diff --git a/tests/modetest/Android.bp b/tests/modetest/Android.bp new file mode 100644 index 00000000..ca811fee --- /dev/null +++ b/tests/modetest/Android.bp @@ -0,0 +1,12 @@ +build = ["Android.sources.bp"] + +cc_test { + name: "modetest", + defaults: [ + "libdrm_defaults", + "modetest_sources", + ], + + shared_libs: ["libdrm"], + static_libs: ["libdrm_util"], +} diff --git a/tests/modetest/Android.mk b/tests/modetest/Android.mk deleted file mode 100644 index c1a71fd9..00000000 --- a/tests/modetest/Android.mk +++ /dev/null @@ -1,14 +0,0 @@ -LOCAL_PATH := $(call my-dir) - -include $(CLEAR_VARS) -include $(LOCAL_PATH)/Makefile.sources - -LOCAL_SRC_FILES := $(MODETEST_FILES) - -LOCAL_MODULE := modetest - -LOCAL_SHARED_LIBRARIES := libdrm -LOCAL_STATIC_LIBRARIES := libdrm_util - -include $(LIBDRM_COMMON_MK) -include $(BUILD_EXECUTABLE) diff --git a/tests/modetest/Android.sources.bp b/tests/modetest/Android.sources.bp new file mode 100644 index 00000000..c6aca2ef --- /dev/null +++ b/tests/modetest/Android.sources.bp @@ -0,0 +1,10 @@ +// Autogenerated with Android.sources.bp.mk + +cc_defaults { + name: "modetest_sources", + srcs: [ + "buffers.c", + "cursor.c", + "modetest.c", + ], +} diff --git a/tests/proptest/Android.bp b/tests/proptest/Android.bp new file mode 100644 index 00000000..28c87e91 --- /dev/null +++ b/tests/proptest/Android.bp @@ -0,0 +1,8 @@ +cc_test { + name: "proptest", + defaults: ["libdrm_defaults"], + srcs: ["proptest.c"], + + shared_libs: ["libdrm"], + static_libs: ["libdrm_util"], +} diff --git a/tests/proptest/Android.mk b/tests/proptest/Android.mk deleted file mode 100644 index 91a590fc..00000000 --- a/tests/proptest/Android.mk +++ /dev/null @@ -1,14 +0,0 @@ -LOCAL_PATH := $(call my-dir) - -include $(CLEAR_VARS) -include $(LOCAL_PATH)/Makefile.sources - -LOCAL_SRC_FILES := $(PROPTEST_FILES) - -LOCAL_MODULE := proptest - -LOCAL_SHARED_LIBRARIES := libdrm -LOCAL_STATIC_LIBRARIES := libdrm_util - -include $(LIBDRM_COMMON_MK) -include $(BUILD_EXECUTABLE) diff --git a/tests/util/Android.bp b/tests/util/Android.bp new file mode 100644 index 00000000..36d18206 --- /dev/null +++ b/tests/util/Android.bp @@ -0,0 +1,35 @@ +// +// Copyright © 2015 NVIDIA Corporation +// +// 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 (including the next +// paragraph) 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. +// + +build = ["Android.sources.bp"] + +cc_library_static { + name: "libdrm_util", + defaults: [ + "libdrm_defaults", + "libdrm_util_sources", + ], + shared_libs: ["libdrm"], + header_libs: ["libdrm_test_headers"], + export_header_lib_headers: ["libdrm_test_headers"], +} diff --git a/tests/util/Android.mk b/tests/util/Android.mk deleted file mode 100644 index 12eccb42..00000000 --- a/tests/util/Android.mk +++ /dev/null @@ -1,38 +0,0 @@ -# -# Copyright © 2015 NVIDIA Corporation -# -# 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 (including the next -# paragraph) 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. -# - -LOCAL_PATH := $(call my-dir) - -include $(CLEAR_VARS) -include $(LOCAL_PATH)/Makefile.sources - -LOCAL_MODULE := libdrm_util - -LOCAL_SHARED_LIBRARIES := libdrm - -LOCAL_SRC_FILES := $(UTIL_FILES) - -LOCAL_EXPORT_C_INCLUDE_DIRS := $(LIBDRM_TOP)/tests - -include $(LIBDRM_COMMON_MK) -include $(BUILD_STATIC_LIBRARY) diff --git a/tests/util/Android.sources.bp b/tests/util/Android.sources.bp new file mode 100644 index 00000000..529e1124 --- /dev/null +++ b/tests/util/Android.sources.bp @@ -0,0 +1,10 @@ +// Autogenerated with Android.sources.bp.mk + +cc_defaults { + name: "libdrm_util_sources", + srcs: [ + "format.c", + "kms.c", + "pattern.c", + ], +} |
From: GitLab M. <git...@ke...> - 2024-07-12 02:28:42
|
data/amdgpu.ids | 11 +++++++++++ 1 file changed, 11 insertions(+) New commits: commit 11cafdd8d64e2fcb0b170a2a1df11a896231de67 Author: Alex Deucher <ale...@am...> Date: Thu Jul 11 21:45:46 2024 -0400 amdgpu: add new marketing names Updated from 6.1 branch. Signed-off-by: Alex Deucher <ale...@am...> diff --git a/data/amdgpu.ids b/data/amdgpu.ids index d689c33d..914d0e56 100644 --- a/data/amdgpu.ids +++ b/data/amdgpu.ids @@ -466,11 +466,14 @@ 743F, D3, AMD Radeon RX 6550M 743F, D7, AMD Radeon RX 6400 7448, 00, AMD Radeon Pro W7900 +744A, 00, AMD Radeon Pro W7900 Dual Slot 744C, C8, AMD Radeon RX 7900 XTX 744C, CC, AMD Radeon RX 7900 XT 744C, CE, AMD Radeon RX 7900 GRE 744C, CF, AMD Radeon RX 7900M 745E, CC, AMD Radeon Pro W7800 +7460, 00, AMD Radeon Pro V710 +7461, 00, AMD Radeon Pro V710 7470, 00, AMD Radeon Pro W7700 747E, C8, AMD Radeon RX 7800 XT 747E, FF, AMD Radeon RX 7700 XT @@ -484,6 +487,7 @@ 7489, 00, AMD Radeon Pro W7500 74A0, 00, AMD Instinct MI300A 74A1, 00, AMD Instinct MI300X +74B5, 00, AMD Instinct MI300X VF 9830, 00, AMD Radeon HD 8400 / R3 Series 9831, 00, AMD Radeon HD 8400E 9832, 00, AMD Radeon HD 8330 commit 5e1e7c4d71addecb55fc823583a65e2206ed530a Author: Alex Deucher <ale...@am...> Date: Thu Mar 7 14:51:09 2024 -0500 amdgpu: add new marketing names https://www.amd.com/en/processors/ryzen-processors-laptop-business https://www.amd.com/en/products/ryzen-pro-processors-laptop Signed-off-by: Alex Deucher <ale...@am...> diff --git a/data/amdgpu.ids b/data/amdgpu.ids index f2a4fc1b..d689c33d 100644 --- a/data/amdgpu.ids +++ b/data/amdgpu.ids @@ -51,6 +51,9 @@ 15BF, CB, AMD Radeon 760M 15BF, CD, AMD Radeon 760M 15BF, CF, AMD Radeon 780M +15BF, D0, AMD Radeon 780M +15BF, D1, AMD Radeon 780M +15BF, D2, AMD Radeon 760M 15BF, D3, AMD Radeon 780M 15BF, D4, AMD Radeon 780M 15BF, D5, AMD Radeon 760M @@ -60,15 +63,19 @@ 15BF, D9, AMD Radeon 780M 15BF, DA, AMD Radeon 780M 15BF, DB, AMD Radeon 760M +15BF, DC, AMD Radeon 780M 15BF, DD, AMD Radeon 780M 15BF, DE, AMD Radeon 740M +15BF, DF, AMD Radeon 760M 15BF, F0, AMD Radeon 760M 15C8, C1, AMD Radeon 740M 15C8, C2, AMD Radeon 740M 15C8, C3, AMD Radeon 740M 15C8, C4, AMD Radeon 740M 15C8, D1, AMD Radeon 740M +15C8, D2, AMD Radeon 740M 15C8, D3, AMD Radeon 740M +15C8, D4, AMD Radeon 740M 15D8, 00, AMD Radeon RX Vega 8 Graphics WS 15D8, 91, AMD Radeon Vega 3 Graphics 15D8, 91, AMD Ryzen Embedded R1606G with Radeon Vega Gfx |
From: GitLab M. <git...@ke...> - 2024-06-27 09:26:20
|
meson.build | 6 ++++++ 1 file changed, 6 insertions(+) New commits: commit b065dbc5cc91bab36856c7f7d6610ddf0a3bfd75 Author: Enrico Weigelt, metux IT consult <in...@me...> Date: Fri Jun 21 18:51:53 2024 +0200 Fix FTBS on undefined clock_gettime() and asprintf() Some platforms (eg. SunOS) explicitly need extra symbols in order to define those functions. There're many files needing the __EXTENSIONS__ symbol, so doing this on a global scale. Signed-off-by: Enrico Weigelt, metux IT consult <in...@me...> diff --git a/meson.build b/meson.build index 8100702e..8fd0a196 100644 --- a/meson.build +++ b/meson.build @@ -46,6 +46,12 @@ cc = meson.get_compiler('c') android = cc.compiles('''int func() { return __ANDROID__; }''') +# Solaris / Illumos +if host_machine.system() == 'sunos' + add_global_arguments('-D__EXTENSIONS__', language : 'c') + add_global_arguments('-D_POSIX_C_SOURCE=3', language : 'c') +endif + symbols_check = find_program('symbols-check.py') prog_nm = find_program('nm') |
From: GitLab M. <git...@ke...> - 2024-06-26 08:14:48
|
Tag 'libdrm-2.4.122' created by Simon Ser <co...@em...> at 2024-06-26 08:14 +0000 libdrm-2.4.122 -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEENP+VJs/vDpejQOLkD9574OiPXkgFAmZ7zd0ACgkQD9574OiP XkjMhhAAt6SeI2xTXZpDWY6rEvAPSVEzSTtJDAYNpMuBLOb4ObM535GlIo6McKPq yNE2CODV583Cxt+Ue9tZNEEbRZXuIqqQuU+hIJLR3eLVxLNUYDeF2WGw4gabJhHD i9vwfB/IfD/2LwAeoALgCDBi90yqyYOwsS/LtJhjaVTRNCdogEb5nhLCk4ssx+Sd aOY1mJrTCEgr7VuIjNMYUGUdiDcV5emHFyUXMFDUY53k/cPrA+P8xl3THX4vzo1+ BYEAkfKZ60vMrwDmrv3Zbqe3PXzyHOm7wwv08G2N/MI/WvnZ5x1Zw0WmgZhWdBAf Ibqba7SX/6Yocqy6NV2EhxyWM91eNz0KqthWhZ/kFnnbIsUXpyY31fhZ+BjbUOCT d+BJyMmVWAVAXzaLbUNWC/UwSuQJZzcrJn8aT36LGzJmPQKndqlvPsfcGXzxQWfx LhpbQ/vNZcYOyHhUk7A85JB6NPEBWXIMzOG56E6BDjG2+/pgxh+rtzyCMqCorvTe bH88M8NlpVehPw44FopG9dTuPUZQixqSP6KxC3PMYMz1rxGSrSSaKxNedAYJno3k tgvJi7hISxWxu0+s7YPryhgtvS38ITHQcrAAe2/5jvkwm6odqeXDz/qRTfLMCXGB 3V4nE6q4bEZEhYX+zDJRzDzCFbW9q4Btf1p2O0v1ogGdV/xlegk= =WWuL -----END PGP SIGNATURE----- Changes since libdrm-2.4.121: Enrico Weigelt, metux IT consult (6): OpenBSD: fix FTBS on misspelled and missing variables fix FTBS on FreeBSD (or non-Linux in general) freedreno: fix FTBS on non-Linux platforms (unused header) etnaviv: fix FTBS on undefined linux/* headers on non-Linux platforms. ci: upgrade debian container to bookworm ci: upgrade FreeBSD VM to 14.1 Nicolas Caramelli (1): Remove libm in libdrm dependencies Simon Ser (2): Sync headers with drm-next build: bump version to 2.4.122 --- .gitlab-ci.yml | 11 +++++------ etnaviv/etnaviv_device.c | 3 +-- exynos/exynos_drm.c | 1 - exynos/exynos_fimg2d.c | 1 - freedreno/kgsl/kgsl_bo.c | 2 -- include/drm/drm_fourcc.h | 29 ++++++++++++++++++++++++----- include/drm/drm_mode.h | 29 ++++++++++++++++++++--------- meson.build | 5 ++--- omap/omap_drm.c | 1 - tests/exynos/exynos_fimg2d_test.c | 1 - xf86drm.c | 6 +++--- 11 files changed, 55 insertions(+), 34 deletions(-) --- |
From: GitLab M. <git...@ke...> - 2024-06-26 08:14:18
|
meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit ad78bb591d02162d3b90890aa4d0a238b2a37cde Author: Simon Ser <co...@em...> Date: Wed Jun 26 10:13:31 2024 +0200 build: bump version to 2.4.122 Signed-off-by: Simon Ser <co...@em...> diff --git a/meson.build b/meson.build index 6d8121ec..8100702e 100644 --- a/meson.build +++ b/meson.build @@ -21,7 +21,7 @@ project( 'libdrm', ['c'], - version : '2.4.121', + version : '2.4.122', license : 'MIT', meson_version : '>= 0.59', default_options : ['buildtype=debugoptimized', 'c_std=c11'], |
From: GitLab M. <git...@ke...> - 2024-06-26 08:10:45
|
include/drm/drm_fourcc.h | 29 ++++++++++++++++++++++++----- include/drm/drm_mode.h | 29 ++++++++++++++++++++--------- 2 files changed, 44 insertions(+), 14 deletions(-) New commits: commit 998d2a2e81e11043781672494dc3d294c1ecfce0 Author: Simon Ser <co...@em...> Date: Tue May 21 12:45:49 2024 +0200 Sync headers with drm-next Synchronize drm_fourcc.h and drm_mode.h to drm-next. Generated using make headers_install. Generated from drm-next branch commit 541b1b0a8fc235bca355921eb7f3f59a8efa3e9a Signed-off-by: Simon Ser <co...@em...> diff --git a/include/drm/drm_fourcc.h b/include/drm/drm_fourcc.h index 9b250480..8a9c54b5 100644 --- a/include/drm/drm_fourcc.h +++ b/include/drm/drm_fourcc.h @@ -54,7 +54,7 @@ extern "C" { * Format modifiers may change any property of the buffer, including the number * of planes and/or the required allocation size. Format modifiers are * vendor-namespaced, and as such the relationship between a fourcc code and a - * modifier is specific to the modifer being used. For example, some modifiers + * modifier is specific to the modifier being used. For example, some modifiers * may preserve meaning - such as number of planes - from the fourcc code, * whereas others may not. * @@ -79,7 +79,7 @@ extern "C" { * format. * - Higher-level programs interfacing with KMS/GBM/EGL/Vulkan/etc: these users * see modifiers as opaque tokens they can check for equality and intersect. - * These users musn't need to know to reason about the modifier value + * These users mustn't need to know to reason about the modifier value * (i.e. they are not expected to extract information out of the modifier). * * Vendors should document their modifier usage in as much detail as @@ -540,7 +540,7 @@ extern "C" { * This is a tiled layout using 4Kb tiles in row-major layout. * Within the tile pixels are laid out in 16 256 byte units / sub-tiles which * are arranged in four groups (two wide, two high) with column-major layout. - * Each group therefore consits out of four 256 byte units, which are also laid + * Each group therefore consists out of four 256 byte units, which are also laid * out as 2x2 column-major. * 256 byte units are made out of four 64 byte blocks of pixels, producing * either a square block or a 2:1 unit. @@ -1103,7 +1103,7 @@ drm_fourcc_canonicalize_nvidia_format_mod(__u64 modifier) */ /* - * The top 4 bits (out of the 56 bits alloted for specifying vendor specific + * The top 4 bits (out of the 56 bits allotted for specifying vendor specific * modifiers) denote the category for modifiers. Currently we have three * categories of modifiers ie AFBC, MISC and AFRC. We can have a maximum of * sixteen different categories. @@ -1419,7 +1419,7 @@ drm_fourcc_canonicalize_nvidia_format_mod(__u64 modifier) * Amlogic FBC Memory Saving mode * * Indicates the storage is packed when pixel size is multiple of word - * boudaries, i.e. 8bit should be stored in this mode to save allocation + * boundaries, i.e. 8bit should be stored in this mode to save allocation * memory. * * This mode reduces body layout to 3072 bytes per 64x32 superblock with @@ -1476,6 +1476,7 @@ drm_fourcc_canonicalize_nvidia_format_mod(__u64 modifier) #define AMD_FMT_MOD_TILE_VER_GFX10 2 #define AMD_FMT_MOD_TILE_VER_GFX10_RBPLUS 3 #define AMD_FMT_MOD_TILE_VER_GFX11 4 +#define AMD_FMT_MOD_TILE_VER_GFX12 5 /* * 64K_S is the same for GFX9/GFX10/GFX10_RBPLUS and hence has GFX9 as canonical @@ -1486,6 +1487,8 @@ drm_fourcc_canonicalize_nvidia_format_mod(__u64 modifier) /* * 64K_D for non-32 bpp is the same for GFX9/GFX10/GFX10_RBPLUS and hence has * GFX9 as canonical version. + * + * 64K_D_2D on GFX12 is identical to 64K_D on GFX11. */ #define AMD_FMT_MOD_TILE_GFX9_64K_D 10 #define AMD_FMT_MOD_TILE_GFX9_64K_S_X 25 @@ -1493,6 +1496,19 @@ drm_fourcc_canonicalize_nvidia_format_mod(__u64 modifier) #define AMD_FMT_MOD_TILE_GFX9_64K_R_X 27 #define AMD_FMT_MOD_TILE_GFX11_256K_R_X 31 +/* Gfx12 swizzle modes: + * 0 - LINEAR + * 1 - 256B_2D - 2D block dimensions + * 2 - 4KB_2D + * 3 - 64KB_2D + * 4 - 256KB_2D + * 5 - 4KB_3D - 3D block dimensions + * 6 - 64KB_3D + * 7 - 256KB_3D + */ +#define AMD_FMT_MOD_TILE_GFX12_64K_2D 3 +#define AMD_FMT_MOD_TILE_GFX12_256K_2D 4 + #define AMD_FMT_MOD_DCC_BLOCK_64B 0 #define AMD_FMT_MOD_DCC_BLOCK_128B 1 #define AMD_FMT_MOD_DCC_BLOCK_256B 2 @@ -1524,6 +1540,9 @@ drm_fourcc_canonicalize_nvidia_format_mod(__u64 modifier) #define AMD_FMT_MOD_DCC_MAX_COMPRESSED_BLOCK_SHIFT 18 #define AMD_FMT_MOD_DCC_MAX_COMPRESSED_BLOCK_MASK 0x3 +#define AMD_FMT_MOD_GFX12_DCC_MAX_COMPRESSED_BLOCK_SHIFT 3 +#define AMD_FMT_MOD_GFX12_DCC_MAX_COMPRESSED_BLOCK_MASK 0x3 /* 0:64B, 1:128B, 2:256B */ + /* * DCC supports embedding some clear colors directly in the DCC surface. * However, on older GPUs the rendering HW ignores the embedded clear color diff --git a/include/drm/drm_mode.h b/include/drm/drm_mode.h index 95630f17..d390011b 100644 --- a/include/drm/drm_mode.h +++ b/include/drm/drm_mode.h @@ -36,10 +36,10 @@ extern "C" { /** * DOC: overview * - * DRM exposes many UAPI and structure definition to have a consistent - * and standardized interface with user. + * DRM exposes many UAPI and structure definitions to have a consistent + * and standardized interface with users. * Userspace can refer to these structure definitions and UAPI formats - * to communicate to driver + * to communicate to drivers. */ #define DRM_CONNECTOR_NAME_LEN 32 @@ -540,7 +540,7 @@ struct drm_mode_get_connector { /* the PROP_ATOMIC flag is used to hide properties from userspace that * is not aware of atomic properties. This is mostly to work around * older userspace (DDX drivers) that read/write each prop they find, - * witout being aware that this could be triggering a lengthy modeset. + * without being aware that this could be triggering a lengthy modeset. */ #define DRM_MODE_PROP_ATOMIC 0x80000000 @@ -664,7 +664,7 @@ struct drm_mode_fb_cmd { }; #define DRM_MODE_FB_INTERLACED (1<<0) /* for interlaced framebuffers */ -#define DRM_MODE_FB_MODIFIERS (1<<1) /* enables ->modifer[] */ +#define DRM_MODE_FB_MODIFIERS (1<<1) /* enables ->modifier[] */ /** * struct drm_mode_fb_cmd2 - Frame-buffer metadata. @@ -857,6 +857,17 @@ struct drm_color_lut { __u16 reserved; }; +/** + * struct drm_plane_size_hint - Plane size hints + * + * The plane SIZE_HINTS property blob contains an + * array of struct drm_plane_size_hint. + */ +struct drm_plane_size_hint { + __u16 width; + __u16 height; +}; + /** * struct hdr_metadata_infoframe - HDR Metadata Infoframe Data. * @@ -881,8 +892,8 @@ struct hdr_metadata_infoframe { * These are coded as unsigned 16-bit values in units of * 0.00002, where 0x0000 represents zero and 0xC350 * represents 1.0000. - * @display_primaries.x: X cordinate of color primary. - * @display_primaries.y: Y cordinate of color primary. + * @display_primaries.x: X coordinate of color primary. + * @display_primaries.y: Y coordinate of color primary. */ struct { __u16 x, y; @@ -892,8 +903,8 @@ struct hdr_metadata_infoframe { * These are coded as unsigned 16-bit values in units of * 0.00002, where 0x0000 represents zero and 0xC350 * represents 1.0000. - * @white_point.x: X cordinate of whitepoint of color primary. - * @white_point.y: Y cordinate of whitepoint of color primary. + * @white_point.x: X coordinate of whitepoint of color primary. + * @white_point.y: Y coordinate of whitepoint of color primary. */ struct { __u16 x, y; |
From: GitLab M. <git...@ke...> - 2024-06-25 12:04:34
|
.gitlab-ci.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) New commits: commit a97bd7b4ac9809364688ee5feee8456e1f2c873c Author: Enrico Weigelt, metux IT consult <in...@me...> Date: Tue Jun 25 12:56:54 2024 +0200 ci: upgrade FreeBSD VM to 14.1 Signed-off-by: Enrico Weigelt, metux IT consult <in...@me...> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 18980837..ca8972cb 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -66,11 +66,11 @@ stages: .os-freebsd: variables: BUILD_OS: freebsd - FDO_DISTRIBUTION_VERSION: "13.2" + FDO_DISTRIBUTION_VERSION: "14.1" FDO_DISTRIBUTION_PACKAGES: 'meson ninja pkgconf libpciaccess py39-docutils cairo' # bump this tag every time you change something which requires rebuilding the # base image - FDO_DISTRIBUTION_TAG: "2023-07-20.0" + FDO_DISTRIBUTION_TAG: "2026-26-25.0" .freebsd-x86_64: extends: commit d096affbaa6c5ccd01cfa9fbd52a0acf3b68b4e5 Author: Enrico Weigelt, metux IT consult <in...@me...> Date: Tue Jun 25 12:43:32 2024 +0200 ci: upgrade debian container to bookworm Buster is oldoldstable and EOL in a few days. Bookworm is the current stable. Signed-off-by: Enrico Weigelt, metux IT consult <in...@me...> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4c07ae98..18980837 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -12,7 +12,7 @@ # main repository, it's recommended to remove the image from the source # repository's container registry, so that the image from the main # repository's registry will be used there as well. -.templates_sha: &template_sha 567700e483aabed992d0a4fea84994a0472deff6 # see https://docs.gitlab.com/ee/ci/yaml/#includefile +.templates_sha: &template_sha b61a03cabbf308e81289f7aaaf0b5a80a34ffb99 # see https://docs.gitlab.com/ee/ci/yaml/#includefile include: - project: 'freedesktop/ci-templates' @@ -39,12 +39,11 @@ stages: .os-debian: variables: BUILD_OS: debian - FDO_DISTRIBUTION_VERSION: buster + FDO_DISTRIBUTION_VERSION: bookworm FDO_DISTRIBUTION_PACKAGES: 'build-essential docbook-xsl libatomic-ops-dev libcairo2-dev libcunit1-dev libpciaccess-dev meson ninja-build pkg-config python3 python3-pip python3-wheel python3-setuptools python3-docutils valgrind' - FDO_DISTRIBUTION_EXEC: 'pip3 install meson==0.59.0' # bump this tag every time you change something which requires rebuilding the # base image - FDO_DISTRIBUTION_TAG: "2023-09-01.0" + FDO_DISTRIBUTION_TAG: "2024-06-25.0" .debian-x86_64: extends: |
From: GitLab M. <git...@ke...> - 2024-06-25 08:46:39
|
etnaviv/etnaviv_device.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit 589f8e86f1a4f6c03f3387cf366a56e5a2b9c3ad Author: Enrico Weigelt, metux IT consult <in...@me...> Date: Mon Jun 24 13:11:45 2024 +0200 etnaviv: fix FTBS on undefined linux/* headers on non-Linux platforms. Using C standard headers instead. Signed-off-by: Enrico Weigelt, metux IT consult <in...@me...> diff --git a/etnaviv/etnaviv_device.c b/etnaviv/etnaviv_device.c index a63bd15d..052a2e20 100644 --- a/etnaviv/etnaviv_device.c +++ b/etnaviv/etnaviv_device.c @@ -25,7 +25,7 @@ */ #include <stdlib.h> -#include <linux/types.h> +#include <sys/types.h> #include <errno.h> #include <sys/mman.h> #include <fcntl.h> |
From: GitLab M. <git...@ke...> - 2024-06-24 17:48:10
|
freedreno/kgsl/kgsl_bo.c | 2 -- 1 file changed, 2 deletions(-) New commits: commit b7338fc842f1284522200bd768de963dd92fb149 Author: Enrico Weigelt, metux IT consult <in...@me...> Date: Mon Jun 24 11:29:12 2024 +0200 freedreno: fix FTBS on non-Linux platforms (unused header) The <linux/fb.h> header only exists on Linux, but isn't used anymore, so drop it entirely. Signed-off-by: Enrico Weigelt, metux IT consult <in...@me...> diff --git a/freedreno/kgsl/kgsl_bo.c b/freedreno/kgsl/kgsl_bo.c index 7a6af2f0..55b6e5c0 100644 --- a/freedreno/kgsl/kgsl_bo.c +++ b/freedreno/kgsl/kgsl_bo.c @@ -28,8 +28,6 @@ #include "kgsl_priv.h" -#include <linux/fb.h> - static int set_memtype(struct fd_device *dev, uint32_t handle, uint32_t flags) { struct drm_kgsl_gem_memtype req = { |
From: GitLab M. <git...@ke...> - 2024-06-24 17:27:29
|
etnaviv/etnaviv_device.c | 1 - exynos/exynos_drm.c | 1 - exynos/exynos_fimg2d.c | 1 - omap/omap_drm.c | 1 - tests/exynos/exynos_fimg2d_test.c | 1 - 5 files changed, 5 deletions(-) New commits: commit 90c1a35f2a6708011484145eb7f620dd61e083ae Author: Enrico Weigelt, metux IT consult <in...@me...> Date: Fri Jun 7 15:18:47 2024 +0200 fix FTBS on FreeBSD (or non-Linux in general) Several drivers still including <linux/stddef.h>, but not using anything from it, thus breaking build on non-Linux platforms (eg. FreeBSD). Since not needed at all, just stop including it. Signed-off-by: Enrico Weigelt, metux IT consult <in...@me...> diff --git a/etnaviv/etnaviv_device.c b/etnaviv/etnaviv_device.c index 699df256..a63bd15d 100644 --- a/etnaviv/etnaviv_device.c +++ b/etnaviv/etnaviv_device.c @@ -25,7 +25,6 @@ */ #include <stdlib.h> -#include <linux/stddef.h> #include <linux/types.h> #include <errno.h> #include <sys/mman.h> diff --git a/exynos/exynos_drm.c b/exynos/exynos_drm.c index 3e322a17..fb4cd8de 100644 --- a/exynos/exynos_drm.c +++ b/exynos/exynos_drm.c @@ -31,7 +31,6 @@ #include <unistd.h> #include <sys/mman.h> -#include <linux/stddef.h> #include <xf86drm.h> diff --git a/exynos/exynos_fimg2d.c b/exynos/exynos_fimg2d.c index ac6fa687..f0aee962 100644 --- a/exynos/exynos_fimg2d.c +++ b/exynos/exynos_fimg2d.c @@ -30,7 +30,6 @@ #include <assert.h> #include <sys/mman.h> -#include <linux/stddef.h> #include <xf86drm.h> diff --git a/omap/omap_drm.c b/omap/omap_drm.c index aa273660..42d35ef7 100644 --- a/omap/omap_drm.c +++ b/omap/omap_drm.c @@ -27,7 +27,6 @@ */ #include <stdlib.h> -#include <linux/stddef.h> #include <linux/types.h> #include <errno.h> #include <sys/mman.h> diff --git a/tests/exynos/exynos_fimg2d_test.c b/tests/exynos/exynos_fimg2d_test.c index d85e2f6b..b1baa503 100644 --- a/tests/exynos/exynos_fimg2d_test.c +++ b/tests/exynos/exynos_fimg2d_test.c @@ -31,7 +31,6 @@ #include <unistd.h> #include <sys/mman.h> -#include <linux/stddef.h> #include <xf86drm.h> #include <xf86drmMode.h> |
From: GitLab M. <git...@ke...> - 2024-06-24 17:23:31
|
xf86drm.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) New commits: commit 0cd18d0dfb360b0bf2f822d8e5458f6db92f6916 Author: Enrico Weigelt, metux IT consult <in...@me...> Date: Wed Jun 19 13:48:57 2024 +0200 OpenBSD: fix FTBS on misspelled and missing variables ../xf86drm.c:4622:9: error: use of undeclared identifier 'written'; did you mean 'write'? if (written + 1 > max_node_length) ^~~~~~~ write ../xf86drm.c:4624:21: error: use of undeclared identifier 'sbuf'; did you mean 'sbrk'? if (stat(node, &sbuf)) ^~~~ Signed-off-by: Enrico Weigelt, metux IT consult <in...@me...> diff --git a/xf86drm.c b/xf86drm.c index eff4150d..5f0eddc4 100644 --- a/xf86drm.c +++ b/xf86drm.c @@ -4595,6 +4595,7 @@ drm_public int drmGetDeviceFromDevId(dev_t find_rdev, uint32_t flags, drmDeviceP int node_type, subsystem_type; int maj, min, n, ret; const int max_node_length = ALIGN(drmGetMaxNodeName(), sizeof(void *)); + struct stat sbuf; if (device == NULL) return -EINVAL; @@ -4619,8 +4620,8 @@ drm_public int drmGetDeviceFromDevId(dev_t find_rdev, uint32_t flags, drmDeviceP n = snprintf(node, PATH_MAX, dev_name, DRM_DIR_NAME, min); if (n == -1 || n >= PATH_MAX) return -errno; - if (written + 1 > max_node_length) - return -EINVAL + if (n + 1 > max_node_length) + return -EINVAL; if (stat(node, &sbuf)) return -EINVAL; |
From: GitLab M. <git...@ke...> - 2024-06-02 22:12:39
|
meson.build | 3 +-- xf86drm.c | 1 - 2 files changed, 1 insertion(+), 3 deletions(-) New commits: commit 7f20912b1be52ec65bc917dcd27515e905f9f567 Author: Nicolas Caramelli <car...@gm...> Date: Wed May 15 08:38:15 2024 +0200 Remove libm in libdrm dependencies Signed-off-by: Nicolas Caramelli <car...@gm...> diff --git a/meson.build b/meson.build index f0839578..6d8121ec 100644 --- a/meson.build +++ b/meson.build @@ -154,7 +154,6 @@ if not cc.has_function('clock_gettime', prefix : '#define _GNU_SOURCE\n#include else dep_rt = [] endif -dep_m = cc.find_library('m', required : false) # The header is not required on Linux, and is in fact deprecated in glibc 2.30+ if ['linux'].contains(host_machine.system()) @@ -258,7 +257,7 @@ libdrm = library( 'drm', libdrm_files, c_args : libdrm_c_args, - dependencies : [dep_valgrind, dep_rt, dep_m], + dependencies : [dep_valgrind, dep_rt], include_directories : inc_drm, install : true, kwargs : libdrm_kw, diff --git a/xf86drm.c b/xf86drm.c index 1c871106..eff4150d 100644 --- a/xf86drm.c +++ b/xf86drm.c @@ -60,7 +60,6 @@ #if HAVE_SYS_SYSCTL_H #include <sys/sysctl.h> #endif -#include <math.h> #include <inttypes.h> #if defined(__FreeBSD__) |
From: GitLab M. <git...@ke...> - 2024-06-01 17:36:49
|
Tag 'libdrm-2.4.121' created by Marek Olšák <mar...@am...> at 2024-06-01 17:36 +0000 libdrm-2.4.121 -----BEGIN PGP SIGNATURE----- iQGzBAABCgAdFiEE86UtuOzp654zvEjGkXo+6XoPzRoFAmZbXCIACgkQkXo+6XoP zRrzVQv+OZUvmGsQjEIsj9HY/fIdAt4bTjP68wg7LFrKqkYfuegOhuCiOYWSeDMM DOS5k7MDyJmm/vAx/IJya55teyNTi1AzD0HyGVQ/fci7SluZWyBer3Zzmw+P6ypD 2p1/j9bEJe+hX5M01+QD+J3/mW5G4tnXwRGE1aY7TE4xa3lSyb8Iqta5Q6Jpkl13 w5vZKdCi5sLu5i/2yMiTuc/VYmPWl8SGvYWJekRb8fN84zrZrwvNvETBLiU1XCxM gtLIn5cqCjrxPVz0xa5Vq8HFq8splRpCdOLDCyMOTTtZy4REP6EmCEAZTnEVOpak OxL0Mffi2K2oZmNxQa1kJMxrBAlYmrf1LIQK7y1v8h4JRUmweieEOjpfr7ASZu9E qX8KdHzSjS2oEMswPnMetUiz5NT+UsCL8JfRdLgDM0xnUcYlJk4AmSrtccI8Jomw maNX1vmgFW2o2u97NZo1R/VKOUpsvnH7fkR8YBCSTcF8H9wFvnR/ARUjPC9bN2FV 1PaFchOe =yDOq -----END PGP SIGNATURE----- Changes since libdrm-2.4.120: Adrián Larumbe (1): meson: make build system happy by replacing deprecated feature David Heidelberg (1): include poll.h instead of sys/poll.h David Rosca (1): amdgpu: Make amdgpu_device_deinitialize thread-safe Dylan Baker (2): Revert "xf86drm: ignore symlinks in process_device()" xf86drm: Don't consider node names longer than the maximum allowed Flora Cui (3): tests/amdgpu: fix compile warning with the guard enum value tests/amdgpu: fix compile error with gcc7.5 tests/amdgpu: fix compile error with gcc14 Francesco Valla (1): tests/util: add tidss driver Joaquim Monteiro (2): meson: Replace usages of deprecated ExternalProgram.path() meson: Fix broken str.format usage Jonathan Gray (6): amdgpu: add marketing names from Adrenalin 23.11.1 amdgpu: add marketing names from PRO Edition for W7700 amdgpu: add marketing names from Windows Steam Deck OLED APU driver amdgpu: add marketing names from amd-6.0 amdgpu: add marketing name for Radeon RX 6550M amdgpu: add marketing names from amd-6.0.1 José Expósito (1): amdgpu: Make amdgpu_cs_signal_semaphore() thread-safe Marek Olšák (2): amdgpu: sync amdgpu_drm.h Bump version to 2.4.121 Matt Turner (2): symbols-check: Add _GLOBAL_OFFSET_TABLE_ symbols-check: Add _fbss, _fdata, _ftext Pierre-Eric Pelloux-Prayer (5): amdgpu: add amdgpu_va_manager amdgpu: expose amdgpu_va_manager publicly amdgpu: add amdgpu_va_range_alloc2 amdgpu: add amdgpu_device_initialize2 amdgpu: fix deinit logic Simon Ser (3): ci: build with meson --fatal-meson-warnings ci: use "meson setup" sub-command xf86drm: document drmDevicesEqual() Tobias Jakobi (1): xf86drm: ignore symlinks in process_device() --- .gitlab-ci.yml | 6 +- amdgpu/amdgpu-symbols.txt | 5 + amdgpu/amdgpu.h | 51 +++++++++++++++++++ amdgpu/amdgpu_cs.c | 15 ++++- amdgpu/amdgpu_device.c | 103 +++++++++++++++++++++------------------ amdgpu/amdgpu_internal.h | 21 ++++--- amdgpu/amdgpu_vamgr.c | 71 ++++++++++++++++++++++++-- data/amdgpu.ids | 67 +++++++++++++++++++++++++ etnaviv/meson.build | 2 exynos/meson.build | 2 freedreno/meson.build | 2 include/drm/amdgpu_drm.h | 26 +++++++++ intel/meson.build | 2 libsync.h | 2 meson.build | 4 - omap/meson.build | 2 symbols-check.py | 4 + tegra/job.c | 2 tegra/meson.build | 2 tests/amdgpu/shader_code.h | 8 +-- tests/amdgpu/shader_code_gfx10.h | 20 +++---- tests/amdgpu/shader_code_gfx11.h | 22 ++++---- tests/amdgpu/shader_code_gfx9.h | 21 ++++--- tests/amdgpu/shader_test_util.c | 28 ++++++++++ tests/util/kms.c | 1 xf86drm.c | 20 ++++++- xf86drm.h | 5 + 27 files changed, 398 insertions(+), 116 deletions(-) --- |
From: GitLab M. <git...@ke...> - 2024-06-01 17:34:08
|
meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit 70c4f836ccffa972978bc58c9cc0434f85984be8 Author: Marek Olšák <mar...@am...> Date: Sat Jun 1 13:31:41 2024 -0400 Bump version to 2.4.121 diff --git a/meson.build b/meson.build index b961b661..f0839578 100644 --- a/meson.build +++ b/meson.build @@ -21,7 +21,7 @@ project( 'libdrm', ['c'], - version : '2.4.120', + version : '2.4.121', license : 'MIT', meson_version : '>= 0.59', default_options : ['buildtype=debugoptimized', 'c_std=c11'], |
From: GitLab M. <git...@ke...> - 2024-06-01 17:30:17
|
include/drm/amdgpu_drm.h | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) New commits: commit 93d037cdd4afa38c9aba168fac488ea8f0d41565 Author: Marek Olšák <mar...@am...> Date: Sat Jun 1 13:27:04 2024 -0400 amdgpu: sync amdgpu_drm.h diff --git a/include/drm/amdgpu_drm.h b/include/drm/amdgpu_drm.h index ad21c613..ae3f4e27 100644 --- a/include/drm/amdgpu_drm.h +++ b/include/drm/amdgpu_drm.h @@ -392,7 +392,7 @@ struct drm_amdgpu_gem_userptr { #define AMDGPU_TILING_NUM_BANKS_SHIFT 21 #define AMDGPU_TILING_NUM_BANKS_MASK 0x3 -/* GFX9 and later: */ +/* GFX9 - GFX11: */ #define AMDGPU_TILING_SWIZZLE_MODE_SHIFT 0 #define AMDGPU_TILING_SWIZZLE_MODE_MASK 0x1f #define AMDGPU_TILING_DCC_OFFSET_256B_SHIFT 5 @@ -406,6 +406,17 @@ struct drm_amdgpu_gem_userptr { #define AMDGPU_TILING_SCANOUT_SHIFT 63 #define AMDGPU_TILING_SCANOUT_MASK 0x1 +/* GFX12 and later: */ +#define AMDGPU_TILING_GFX12_SWIZZLE_MODE_SHIFT 0 +#define AMDGPU_TILING_GFX12_SWIZZLE_MODE_MASK 0x7 +/* These are DCC recompression setting for memory management: */ +#define AMDGPU_TILING_GFX12_DCC_MAX_COMPRESSED_BLOCK_SHIFT 3 +#define AMDGPU_TILING_GFX12_DCC_MAX_COMPRESSED_BLOCK_MASK 0x3 /* 0:64B, 1:128B, 2:256B */ +#define AMDGPU_TILING_GFX12_DCC_NUMBER_TYPE_SHIFT 5 +#define AMDGPU_TILING_GFX12_DCC_NUMBER_TYPE_MASK 0x7 /* CB_COLOR0_INFO.NUMBER_TYPE */ +#define AMDGPU_TILING_GFX12_DCC_DATA_FORMAT_SHIFT 8 +#define AMDGPU_TILING_GFX12_DCC_DATA_FORMAT_MASK 0x3f /* [0:4]:CB_COLOR0_INFO.FORMAT, [5]:MM */ + /* Set/Get helpers for tiling flags. */ #define AMDGPU_TILING_SET(field, value) \ (((__u64)(value) & AMDGPU_TILING_##field##_MASK) << AMDGPU_TILING_##field##_SHIFT) @@ -743,6 +754,16 @@ struct drm_amdgpu_cs_chunk_cp_gfx_shadow { #define AMDGPU_IDS_FLAGS_TMZ 0x4 #define AMDGPU_IDS_FLAGS_CONFORMANT_TRUNC_COORD 0x8 +/* + * Query h/w info: Flag identifying VF/PF/PT mode + * + */ +#define AMDGPU_IDS_FLAGS_MODE_MASK 0x300 +#define AMDGPU_IDS_FLAGS_MODE_SHIFT 0x8 +#define AMDGPU_IDS_FLAGS_MODE_PF 0x0 +#define AMDGPU_IDS_FLAGS_MODE_VF 0x1 +#define AMDGPU_IDS_FLAGS_MODE_PT 0x2 + /* indicate if acceleration can be working */ #define AMDGPU_INFO_ACCEL_WORKING 0x00 /* get the crtc_id from the mode object id? */ @@ -865,6 +886,8 @@ struct drm_amdgpu_cs_chunk_cp_gfx_shadow { #define AMDGPU_INFO_SENSOR_PEAK_PSTATE_GFX_SCLK 0xa /* Subquery id: Query GPU peak pstate memory clock */ #define AMDGPU_INFO_SENSOR_PEAK_PSTATE_GFX_MCLK 0xb + /* Subquery id: Query input GPU power */ + #define AMDGPU_INFO_SENSOR_GPU_INPUT_POWER 0xc /* Number of VRAM page faults on CPU access. */ #define AMDGPU_INFO_NUM_VRAM_CPU_PAGE_FAULTS 0x1E #define AMDGPU_INFO_VRAM_LOST_COUNTER 0x1F @@ -1266,6 +1289,7 @@ struct drm_amdgpu_info_gpuvm_fault { #define AMDGPU_FAMILY_GC_10_3_6 149 /* GC 10.3.6 */ #define AMDGPU_FAMILY_GC_10_3_7 151 /* GC 10.3.7 */ #define AMDGPU_FAMILY_GC_11_5_0 150 /* GC 11.5.0 */ +#define AMDGPU_FAMILY_GC_12_0_0 152 /* GC 12.0.0 */ #if defined(__cplusplus) } |
From: GitLab M. <git...@ke...> - 2024-05-28 17:12:51
|
tests/amdgpu/shader_code.h | 8 ++++---- tests/amdgpu/shader_code_gfx10.h | 20 ++++++++++---------- tests/amdgpu/shader_code_gfx11.h | 22 +++++++++++----------- tests/amdgpu/shader_code_gfx9.h | 21 +++++++++++---------- tests/amdgpu/shader_test_util.c | 28 ++++++++++++++++++++++++++++ 5 files changed, 64 insertions(+), 35 deletions(-) New commits: commit 37265ab0ad36af456b664b8656e126a6c770e61a Author: Flora Cui <flo...@am...> Date: Thu May 23 15:15:56 2024 +0800 tests/amdgpu: fix compile error with gcc14 ../../drm/tests/amdgpu/shader_code.h:114:9: error: initialization of ‘const uint32_t *’ {aka ‘const unsigned int *’} from incompatible pointer type ‘const uint32_t (*)[10][6]’ {aka ‘const unsigned int (*)[10][6]’} [-Wincompatible-pointer-types] 114 | ps_##_ps##_shader_patchinfo_code_gfx##_n, \ | ^~~ ../../drm/tests/amdgpu/shader_code.h:119:10: note: in expansion of macro ‘SHADER_PS_INFO’ 119 | {SHADER_PS_INFO(const, 9), SHADER_PS_INFO(tex, 9)}, | ^~~~~~~~~~~~~~ Signed-off-by: Flora Cui <flo...@am...> Reviewed-by: Marek Olšák <mar...@am...> diff --git a/tests/amdgpu/shader_code.h b/tests/amdgpu/shader_code.h index 601d16a7..164c6193 100644 --- a/tests/amdgpu/shader_code.h +++ b/tests/amdgpu/shader_code.h @@ -111,7 +111,7 @@ static const struct shader_test_cs_shader shader_test_cs[AMDGPU_TEST_GFX_MAX][2] #define SHADER_PS_INFO(_ps, _n) \ {ps_##_ps##_shader_gfx##_n, sizeof(ps_##_ps##_shader_gfx##_n), \ ps_##_ps##_shader_patchinfo_code_size_gfx##_n, \ - ps_##_ps##_shader_patchinfo_code_gfx##_n, \ + &(ps_##_ps##_shader_patchinfo_code_gfx##_n)[0][0][0], \ ps_##_ps##_shader_patchinfo_offset_gfx##_n, \ ps_##_ps##_sh_registers_gfx##_n, ps_##_ps##_num_sh_registers_gfx##_n, \ ps_##_ps##_context_registers_gfx##_n, ps_##_ps##_num_context_registers_gfx##_n} commit cee441f32d65f25bda510669cf46f87f3dce1f0e Author: Flora Cui <flo...@am...> Date: Wed Aug 24 11:28:23 2022 +0800 tests/amdgpu: fix compile error with gcc7.5 fix commit cc3c80c6("tests/amdgpu: refactor dispatch/draw test") ../../SOURCES/drm/tests/amdgpu/shader_code.h:113:2: error: initializer element is not constant ps_##_ps##_shader_patchinfo_code_size_gfx##_n, \ ^ Signed-off-by: Flora Cui <flo...@am...> Reviewed-by: Marek Olšák <mar...@am...> diff --git a/tests/amdgpu/shader_code.h b/tests/amdgpu/shader_code.h index 74d32bb5..601d16a7 100644 --- a/tests/amdgpu/shader_code.h +++ b/tests/amdgpu/shader_code.h @@ -75,13 +75,13 @@ struct shader_test_cs_shader { struct shader_test_ps_shader { const uint32_t *shader; unsigned shader_size; - const uint32_t patchinfo_code_size; + uint32_t patchinfo_code_size; const uint32_t *patchinfo_code; const uint32_t *patchinfo_code_offset; const struct reg_info *sh_reg; - const uint32_t num_sh_reg; + uint32_t num_sh_reg; const struct reg_info *context_reg; - const uint32_t num_context_reg; + uint32_t num_context_reg; }; struct shader_test_vs_shader { diff --git a/tests/amdgpu/shader_code_gfx10.h b/tests/amdgpu/shader_code_gfx10.h index 4849bbc9..1e7c8f96 100644 --- a/tests/amdgpu/shader_code_gfx10.h +++ b/tests/amdgpu/shader_code_gfx10.h @@ -41,7 +41,7 @@ static const uint32_t ps_const_shader_gfx10[] = { 0xF8001C0F, 0x00000100, 0xBF810000 }; -static const uint32_t ps_const_shader_patchinfo_code_size_gfx10 = 6; +#define ps_const_shader_patchinfo_code_size_gfx10 6 static const uint32_t ps_const_shader_patchinfo_code_gfx10[][10][6] = { {{ 0xBF800000, 0xBF800000, 0xBF800000, 0xBF800000, 0xF8001890, 0x00000000 }, @@ -61,7 +61,7 @@ static const uint32_t ps_const_shader_patchinfo_offset_gfx10[] = { 0x00000004 }; -static const uint32_t ps_const_num_sh_registers_gfx10 = 2; +#define ps_const_num_sh_registers_gfx10 2 static const struct reg_info ps_const_sh_registers_gfx10[] = { {0x2C0A, 0x000C0000},//{ mmSPI_SHADER_PGM_RSRC1_PS, 0x000C0000 }, @@ -79,7 +79,7 @@ static const struct reg_info ps_const_context_registers_gfx10[] = {0xA1C5, 0x00000004}, //{ mmSPI_SHADER_COL_FORMAT, 0x00000004 /* SI_EXPORT_FMT_FP16_ABGR */ } }; -static const uint32_t ps_const_num_context_registers_gfx10 = 7; +#define ps_const_num_context_registers_gfx10 7 static const uint32_t ps_tex_shader_gfx10[] = { 0xBEFC030C, 0xBE8E047E, 0xBEFE0A7E, 0xC8080000, @@ -93,7 +93,7 @@ static const uint32_t ps_tex_shader_patchinfo_offset_gfx10[] = { 0x0000000C }; -static const uint32_t ps_tex_shader_patchinfo_code_size_gfx10 = 6; +#define ps_tex_shader_patchinfo_code_size_gfx10 6 static const uint32_t ps_tex_shader_patchinfo_code_gfx10[][10][6] = { {{ 0xBF800000, 0xBF800000, 0xBF800000, 0xBF800000, 0xF8001890, 0x00000000 }, @@ -115,7 +115,7 @@ static const struct reg_info ps_tex_sh_registers_gfx10[] = {0x2C0B, 0x00000018 }, //{ mmSPI_SHADER_PGM_RSRC2_PS, 0x00000018 } }; -static const uint32_t ps_tex_num_sh_registers_gfx10 = 2; +#define ps_tex_num_sh_registers_gfx10 2 // Holds Context Register Information static const struct reg_info ps_tex_context_registers_gfx10[] = @@ -129,7 +129,7 @@ static const struct reg_info ps_tex_context_registers_gfx10[] = {0xA1C5, 0x00000004}, //{ mmSPI_SHADER_COL_FORMAT, 0x00000004 /* SI_EXPORT_FMT_FP16_ABGR */ } }; -static const uint32_t ps_tex_num_context_registers_gfx10 = 7; +#define ps_tex_num_context_registers_gfx10 7 static const uint32_t vs_RectPosTexFast_shader_gfx10[] = { 0x7E000B00, 0x060000F3, 0x7E020202, 0x7E040206, @@ -148,7 +148,7 @@ static const struct reg_info vs_RectPosTexFast_sh_registers_gfx10[] = {0x2C4B, 0x00000018 }, //{ mmSPI_SHADER_PGM_RSRC2_VS, 0x00000018 } }; -static const uint32_t vs_RectPosTexFast_num_sh_registers_gfx10 = 2; +#define vs_RectPosTexFast_num_sh_registers_gfx10 2 // Holds Context Register Information static const struct reg_info vs_RectPosTexFast_context_registers_gfx10[] = @@ -157,7 +157,7 @@ static const struct reg_info vs_RectPosTexFast_context_registers_gfx10[] = {0xA1C3, 0x00000000}, //{ mmSPI_SHADER_POS_FORMAT, 0x00000000 /* Always 0 for now */} }; -static const uint32_t vs_RectPosTexFast_num_context_registers_gfx10 = 2; +#define vs_RectPosTexFast_num_context_registers_gfx10 2 static const uint32_t preamblecache_gfx10[] = { 0xc0026900, 0x81, 0x80000000, 0x40004000, 0xc0026900, 0x8c, 0xaa99aaaa, 0x0, @@ -196,7 +196,7 @@ static const uint32_t cached_cmd_gfx10[] = { 0xc0026900, 0x2b0, 0x0, 0x0, 0xc0016900, 0x2f8, 0x0 }; -static const uint32_t sh_reg_base_gfx10 = 0x2C00; -static const uint32_t context_reg_base_gfx10 = 0xA000; +#define sh_reg_base_gfx10 0x2C00 +#define context_reg_base_gfx10 0xA000 #endif diff --git a/tests/amdgpu/shader_code_gfx11.h b/tests/amdgpu/shader_code_gfx11.h index d9ee0a7c..8a998ae8 100644 --- a/tests/amdgpu/shader_code_gfx11.h +++ b/tests/amdgpu/shader_code_gfx11.h @@ -101,7 +101,7 @@ static const uint32_t ps_const_shader_gfx11[] = { 0xBF9F0000 }; -static const uint32_t ps_const_shader_patchinfo_code_size_gfx11 = 6; +#define ps_const_shader_patchinfo_code_size_gfx11 6 static const uint32_t ps_const_shader_patchinfo_code_gfx11[][10][6] = { {{ 0xBF800000, 0xBF800000, 0xBF800000, 0xBF800000, 0xF8000890, 0x00000000 }, // SI_EXPORT_FMT_ZERO @@ -121,7 +121,7 @@ static const uint32_t ps_const_shader_patchinfo_offset_gfx11[] = { 0x00000006 }; -static const uint32_t ps_const_num_sh_registers_gfx11 = 2; +#define ps_const_num_sh_registers_gfx11 2 static const struct reg_info ps_const_sh_registers_gfx11[] = { {0x2C0A, 0x020C0000}, //{ mmSPI_SHADER_PGM_RSRC1_PS, 0x020C0000 }, @@ -138,7 +138,7 @@ static const struct reg_info ps_const_context_registers_gfx11[] = { {0xA1C5, 0x00000004 }, //{ mmSPI_SHADER_COL_FORMAT, 0x00000004 /* SI_EXPORT_FMT_FP16_ABGR */ } }; -static const uint32_t ps_const_num_context_registers_gfx11 = 7; +#define ps_const_num_context_registers_gfx11 7 static const uint32_t ps_tex_shader_gfx11[] = { @@ -174,7 +174,7 @@ static const uint32_t ps_tex_shader_patchinfo_offset_gfx11[] = }; // Denotes the Patch Info Code Length -static const uint32_t ps_tex_shader_patchinfo_code_size_gfx11 = 6; +#define ps_tex_shader_patchinfo_code_size_gfx11 6 static const uint32_t ps_tex_shader_patchinfo_code_gfx11[][10][6] = { @@ -197,7 +197,7 @@ static const struct reg_info ps_tex_sh_registers_gfx11[] = {0x2C0B, 0x00000018 } //{ mmSPI_SHADER_PGM_RSRC2_PS, 0x00000018 } }; -static const uint32_t ps_tex_num_sh_registers_gfx11 = 2; +#define ps_tex_num_sh_registers_gfx11 2 // Holds Context Register Information static const struct reg_info ps_tex_context_registers_gfx11[] = @@ -211,8 +211,7 @@ static const struct reg_info ps_tex_context_registers_gfx11[] = {0xA1C5, 0x00000004 } //{ mmSPI_SHADER_COL_FORMAT, 0x00000004 /* SI_EXPORT_FMT_FP16_ABGR */ } }; -static const uint32_t ps_tex_num_context_registers_gfx11 = 7; - +#define ps_tex_num_context_registers_gfx11 7 static const uint32_t vs_RectPosTexFast_shader_gfx11[] = { @@ -261,7 +260,7 @@ static const struct reg_info vs_RectPosTexFast_sh_registers_gfx11[] = {0x2C8B, 0x0008001C}, //{ mmSPI_SHADER_PGM_RSRC2_GS, 0x0008001C } }; -static const uint32_t vs_RectPosTexFast_num_sh_registers_gfx11 = 2; +#define vs_RectPosTexFast_num_sh_registers_gfx11 2 // Holds Context Register Information static const struct reg_info vs_RectPosTexFast_context_registers_gfx11[] = @@ -274,7 +273,7 @@ static const struct reg_info vs_RectPosTexFast_context_registers_gfx11[] = {0xA2CE, 0x00000001}, //{ mmVGT_GS_MAX_VERT_OUT, 0x00000001 } }; -static const uint32_t vs_RectPosTexFast_num_context_registers_gfx11 = 6; +#define vs_RectPosTexFast_num_context_registers_gfx11 6 static const uint32_t preamblecache_gfx11[] = { 0xc0026900, 0x81, 0x80000000, 0x40004000, 0xc0026900, 0x8c, 0xaa99aaaa, 0x0, @@ -314,7 +313,8 @@ static const uint32_t cached_cmd_gfx11[] = { 0xc0046900, 0x1d5, 0x0, 0x0, 0x0, 0x0, 0xc0016900, 0x104, 0x4a00005, 0xc0016900, 0x1f, 0xf2a0055, 0xc0017900, 0x266, 0x4 }; -static const uint32_t sh_reg_base_gfx11 = 0x2C00; -static const uint32_t context_reg_base_gfx11 = 0xA000; + +#define sh_reg_base_gfx11 0x2C00 +#define context_reg_base_gfx11 0xA000 #endif diff --git a/tests/amdgpu/shader_code_gfx9.h b/tests/amdgpu/shader_code_gfx9.h index 3ad1ca8f..1cb6582f 100644 --- a/tests/amdgpu/shader_code_gfx9.h +++ b/tests/amdgpu/shader_code_gfx9.h @@ -51,7 +51,7 @@ static const uint32_t ps_const_shader_gfx9[] = { 0xC4001C0F, 0x00000100, 0xBF810000 }; -static const uint32_t ps_const_shader_patchinfo_code_size_gfx9 = 6; +#define ps_const_shader_patchinfo_code_size_gfx9 6 static const uint32_t ps_const_shader_patchinfo_code_gfx9[][10][6] = { {{ 0xBF800000, 0xBF800000, 0xBF800000, 0xBF800000, 0xC4001890, 0x00000000 }, @@ -71,14 +71,14 @@ static const uint32_t ps_const_shader_patchinfo_offset_gfx9[] = { 0x00000004 }; -static const uint32_t ps_const_num_sh_registers_gfx9 = 2; +#define ps_const_num_sh_registers_gfx9 2 static const struct reg_info ps_const_sh_registers_gfx9[] = { {0x2C0A, 0x000C0040},//{ mmSPI_SHADER_PGM_RSRC1_PS, 0x000C0040 }, {0x2C0B, 0x00000008}, //{ mmSPI_SHADER_PGM_RSRC2_PS, 0x00000008 } }; -static const uint32_t ps_const_num_context_registers_gfx9 = 7; +#define ps_const_num_context_registers_gfx9 7 static const struct reg_info ps_const_context_registers_gfx9[] = { {0xA1B4, 0x00000002}, //{ mmSPI_PS_INPUT_ADDR, 0x00000002 }, @@ -102,7 +102,7 @@ static const uint32_t ps_tex_shader_patchinfo_offset_gfx9[] = { 0x0000000B }; -static const uint32_t ps_tex_shader_patchinfo_code_size_gfx9 = 6; +#define ps_tex_shader_patchinfo_code_size_gfx9 6 static const uint32_t ps_tex_shader_patchinfo_code_gfx9[][10][6] = { {{ 0xBF800000, 0xBF800000, 0xBF800000, 0xBF800000, 0xC4001890, 0x00000000 }, @@ -118,13 +118,14 @@ static const uint32_t ps_tex_shader_patchinfo_code_gfx9[][10][6] = { } }; -static const uint32_t ps_tex_num_sh_registers_gfx9 = 2; +#define ps_tex_num_sh_registers_gfx9 2 + static const struct reg_info ps_tex_sh_registers_gfx9[] = { {0x2C0A, 0x000C0081},//{ mmSPI_SHADER_PGM_RSRC1_PS, 0x000C0081 }, {0x2C0B, 0x00000018}, //{ mmSPI_SHADER_PGM_RSRC2_PS, 0x00000018 } }; -static const uint32_t ps_tex_num_context_registers_gfx9 = 7; +#define ps_tex_num_context_registers_gfx9 7 static const struct reg_info ps_tex_context_registers_gfx9[] = { {0xA1B4, 0x00000002}, //{ mmSPI_PS_INPUT_ADDR, 0x00000002 }, @@ -153,7 +154,7 @@ static const struct reg_info vs_RectPosTexFast_sh_registers_gfx9[] = {0x2C4B, 0x00000018}, //{ mmSPI_SHADER_PGM_RSRC2_VS, 0x00000018 } }; -static const uint32_t vs_RectPosTexFast_num_sh_registers_gfx9 = 2; +#define vs_RectPosTexFast_num_sh_registers_gfx9 2 // Holds Context Register Information static const struct reg_info vs_RectPosTexFast_context_registers_gfx9[] = @@ -162,7 +163,7 @@ static const struct reg_info vs_RectPosTexFast_context_registers_gfx9[] = {0xA1C3, 0x00000000}, //{ mmSPI_SHADER_POS_FORMAT, 0x00000000 /* Always 0 for now */} }; -static const uint32_t vs_RectPosTexFast_num_context_registers_gfx9 = 2; +#define vs_RectPosTexFast_num_context_registers_gfx9 2 static const uint32_t preamblecache_gfx9[] = { 0xc0026900, 0x81, 0x80000000, 0x40004000, 0xc0026900, 0x8c, 0xaa99aaaa, 0x0, @@ -198,7 +199,7 @@ static const uint32_t cached_cmd_gfx9[] = { 0xc0026900, 0x2b0, 0x0, 0x0, 0xc0016900, 0x2f8, 0x0 }; -static const uint32_t sh_reg_base_gfx9 = 0x2C00; -static const uint32_t context_reg_base_gfx9 = 0xA000; +#define sh_reg_base_gfx9 0x2C00 +#define context_reg_base_gfx9 0xA000 #endif commit 058a04de62f9a4f71511ff9172f4f219a63d29f2 Author: Flora Cui <flo...@am...> Date: Thu May 23 15:02:13 2024 +0800 tests/amdgpu: fix compile warning with the guard enum value ../../drm/tests/amdgpu/shader_test_util.c: In function ‘amdgpu_dispatch_init’: ../../drm/tests/amdgpu/shader_test_util.c:296:9: warning: enumeration value ‘AMDGPU_TEST_GFX_MAX’ not handled in switch [-Wswitch] 296 | switch (test_priv->info->version) { | ^~~~~~ Signed-off-by: Flora Cui <flo...@am...> Reviewed-by: Marek Olšák <mar...@am...> diff --git a/tests/amdgpu/shader_test_util.c b/tests/amdgpu/shader_test_util.c index 60148fb8..8a19f59f 100644 --- a/tests/amdgpu/shader_test_util.c +++ b/tests/amdgpu/shader_test_util.c @@ -4,6 +4,7 @@ #include <sys/types.h> #include <sys/stat.h> #include <string.h> +#include <assert.h> #include "CUnit/Basic.h" #include "amdgpu_test.h" @@ -303,6 +304,9 @@ static void amdgpu_dispatch_init(struct shader_test_priv *test_priv) case AMDGPU_TEST_GFX_V11: amdgpu_dispatch_init_gfx11(test_priv); break; + case AMDGPU_TEST_GFX_MAX: + assert(1 && "Not Support gfx, never go here"); + break; } } @@ -338,6 +342,9 @@ static void amdgpu_dispatch_write_cumask(struct shader_test_priv *test_priv) ptr[i++] = 0xffffffff; ptr[i++] = 0xffffffff; break; + case AMDGPU_TEST_GFX_MAX: + assert(1 && "Not Support gfx, never go here"); + break; } test_priv->cmd_curr = i; @@ -541,6 +548,9 @@ static void amdgpu_dispatch_write2hw(struct shader_test_priv *test_priv) case AMDGPU_TEST_GFX_V11: amdgpu_dispatch_write2hw_gfx11(test_priv); break; + case AMDGPU_TEST_GFX_MAX: + assert(1 && "Not Support gfx, never go here"); + break; } } @@ -1168,6 +1178,9 @@ static void amdgpu_draw_setup_and_write_drawblt_surf_info(struct shader_test_pri case AMDGPU_TEST_GFX_V11: amdgpu_draw_setup_and_write_drawblt_surf_info_gfx11(test_priv); break; + case AMDGPU_TEST_GFX_MAX: + assert(1 && "Not Support gfx, never go here"); + break; } } @@ -1298,6 +1311,9 @@ static void amdgpu_draw_setup_and_write_drawblt_state(struct shader_test_priv *t case AMDGPU_TEST_GFX_V11: amdgpu_draw_setup_and_write_drawblt_state_gfx11(test_priv); break; + case AMDGPU_TEST_GFX_MAX: + assert(1 && "Not Support gfx, never go here"); + break; } } @@ -1546,6 +1562,9 @@ static void amdgpu_draw_vs_RectPosTexFast_write2hw(struct shader_test_priv *test case AMDGPU_TEST_GFX_V11: amdgpu_draw_vs_RectPosTexFast_write2hw_gfx11(test_priv); break; + case AMDGPU_TEST_GFX_MAX: + assert(1 && "Not Support gfx, never go here"); + break; } } @@ -1679,6 +1698,9 @@ static void amdgpu_draw_ps_write2hw(struct shader_test_priv *test_priv) case AMDGPU_TEST_GFX_V11: amdgpu_draw_ps_write2hw_gfx11(test_priv); break; + case AMDGPU_TEST_GFX_MAX: + assert(1 && "Not Support gfx, never go here"); + break; } } @@ -1718,6 +1740,9 @@ static void amdgpu_draw_draw(struct shader_test_priv *test_priv) ptr[i++] = 0x242; ptr[i++] = 0x11; break; + case AMDGPU_TEST_GFX_MAX: + assert(1 && "Not Support gfx, never go here"); + break; } ptr[i++] = PACKET3(PACKET3_DRAW_INDEX_AUTO, 1); @@ -2010,6 +2035,9 @@ static void amdgpu_memcpy_draw_test(struct shader_test_info *test_info) ptr_cmd[i++] = 0x400; i++; break; + case AMDGPU_TEST_GFX_MAX: + assert(1 && "Not Support gfx, never go here"); + break; } ptr_cmd[i++] = PACKET3(PACKET3_SET_SH_REG, 4); |
From: GitLab M. <git...@ke...> - 2024-05-23 19:17:48
|
amdgpu/amdgpu_cs.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) New commits: commit 4df9173595dcc65662516b634f9d10001fd060e2 Author: José Expósito <jex...@re...> Date: Thu Mar 21 11:41:18 2024 +0100 amdgpu: Make amdgpu_cs_signal_semaphore() thread-safe The issue was found by a static analysis tool: Error: LOCK_EVASION (CWE-543): libdrm-2.4.115/amdgpu/amdgpu_cs.c:596: thread1_checks_field: Thread1 uses the value read from field "context" in the condition "sem->signal_fence.context". It sees that the condition is false. Control is switched to Thread2. libdrm-2.4.115/amdgpu/amdgpu_cs.c:596: thread2_checks_field: Thread2 uses the value read from field "context" in the condition "sem->signal_fence.context". It sees that the condition is false. libdrm-2.4.115/amdgpu/amdgpu_cs.c:598: thread2_acquires_lock: Thread2 acquires lock "amdgpu_context.sequence_mutex". libdrm-2.4.115/amdgpu/amdgpu_cs.c:599: thread2_modifies_field: Thread2 sets "context" to a new value. Note that this write can be reordered at runtime to occur before instructions that do not access this field within this locked region. After Thread2 leaves the critical section, control is switched back to Thread1. libdrm-2.4.115/amdgpu/amdgpu_cs.c:598: thread1_acquires_lock: Thread1 acquires lock "amdgpu_context.sequence_mutex". libdrm-2.4.115/amdgpu/amdgpu_cs.c:599: thread1_overwrites_value_in_field: Thread1 sets "context" to a new value. Now the two threads have an inconsistent view of "context" and updates to fields of "context" or fields correlated with "context" may be lost. libdrm-2.4.115/amdgpu/amdgpu_cs.c:596: use_same_locks_for_read_and_modify: Guard the modification of "context" and the read used to decide whether to modify "context" with the same set of locks. # 597| return -EINVAL; # 598| pthread_mutex_lock(&ctx->sequence_mutex); # 599|-> sem->signal_fence.context = ctx; # 600| sem->signal_fence.ip_type = ip_type; # 601| sem->signal_fence.ip_instance = ip_instance; Check `sem->signal_fence.context` in the locked region to avoid a race condition. Reviewed-by: Pierre-Eric Pelloux-Prayer <pie...@am...> Signed-off-by: José Expósito <jex...@re...> diff --git a/amdgpu/amdgpu_cs.c b/amdgpu/amdgpu_cs.c index 49fc16c3..2db49675 100644 --- a/amdgpu/amdgpu_cs.c +++ b/amdgpu/amdgpu_cs.c @@ -598,24 +598,31 @@ drm_public int amdgpu_cs_signal_semaphore(amdgpu_context_handle ctx, uint32_t ring, amdgpu_semaphore_handle sem) { + int ret; + if (!ctx || !sem) return -EINVAL; if (ip_type >= AMDGPU_HW_IP_NUM) return -EINVAL; if (ring >= AMDGPU_CS_MAX_RINGS) return -EINVAL; - /* sem has been signaled */ - if (sem->signal_fence.context) - return -EINVAL; + pthread_mutex_lock(&ctx->sequence_mutex); + /* sem has been signaled */ + if (sem->signal_fence.context) { + ret = -EINVAL; + goto unlock; + } sem->signal_fence.context = ctx; sem->signal_fence.ip_type = ip_type; sem->signal_fence.ip_instance = ip_instance; sem->signal_fence.ring = ring; sem->signal_fence.fence = ctx->last_seq[ip_type][ip_instance][ring]; update_references(NULL, &sem->refcount); + ret = 0; +unlock: pthread_mutex_unlock(&ctx->sequence_mutex); - return 0; + return ret; } drm_public int amdgpu_cs_wait_semaphore(amdgpu_context_handle ctx, |
From: GitLab M. <git...@ke...> - 2024-04-17 11:27:28
|
xf86drm.h | 5 +++++ 1 file changed, 5 insertions(+) New commits: commit 362b5b0a886bdfbb92d2f78708ac7a67ee449b2d Author: Simon Ser <co...@em...> Date: Thu Apr 11 12:11:30 2024 +0200 xf86drm: document drmDevicesEqual() I always need to double-check what the return value means when using that function (since it's not a bool). Signed-off-by: Simon Ser <co...@em...> diff --git a/xf86drm.h b/xf86drm.h index 2cb14156..6d91dfbd 100644 --- a/xf86drm.h +++ b/xf86drm.h @@ -926,6 +926,11 @@ extern int drmGetDeviceFromDevId(dev_t dev_id, uint32_t flags, drmDevicePtr *dev */ extern int drmGetNodeTypeFromDevId(dev_t devid); +/** + * Check if two drmDevice pointers represent the same DRM device. + * + * Returns 1 if the devices are equal, 0 otherwise. + */ extern int drmDevicesEqual(drmDevicePtr a, drmDevicePtr b); extern int drmSyncobjCreate(int fd, uint32_t flags, uint32_t *handle); |