diff options
author | Gonzalo Exequiel Pedone | 2025-03-20 17:44:50 -0300 |
---|---|---|
committer | Gonzalo Exequiel Pedone | 2025-03-20 17:44:50 -0300 |
commit | 7a3e2ffdb8d08fda9e3a86a32929e6a5cd8eaf88 (patch) | |
tree | 54366ce1539336f96cc98a21a10e3a4c272778b9 | |
parent | 60d0aa395f9db7ff6ecf4b10e275b582d129295e (diff) | |
download | aur-android-aarch64-libdrm.tar.gz |
Package updated to 2.4.124.
-rw-r--r-- | .SRCINFO | 9 | ||||
-rw-r--r-- | 0001-Disable-open_memstream.patch | 174 | ||||
-rw-r--r-- | PKGBUILD | 7 |
3 files changed, 136 insertions, 54 deletions
@@ -1,9 +1,10 @@ pkgbase = android-aarch64-libdrm pkgdesc = Userspace interface to kernel DRM services (Android aarch64) - pkgver = 2.4.123 + pkgver = 2.4.124 pkgrel = 1 url = https://dri.freedesktop.org/ arch = any + groups = android-libdrm license = custom makedepends = android-meson depends = android-aarch64-libpciaccess @@ -11,9 +12,9 @@ pkgbase = android-aarch64-libdrm options = !buildflags options = staticlibs options = !emptydirs - source = https://dri.freedesktop.org/libdrm/libdrm-2.4.123.tar.xz + source = https://dri.freedesktop.org/libdrm/libdrm-2.4.124.tar.xz source = 0001-Disable-open_memstream.patch - md5sums = 322f5ffe2d3adc2f6ecaab52ae64ba4a - md5sums = b01f3f9e59e04924adcc3385e634c8dc + md5sums = 78f7f7ee6aff711696d4b34465b40728 + md5sums = f7835471a1b6ec93215dc61339dfb117 pkgname = android-aarch64-libdrm diff --git a/0001-Disable-open_memstream.patch b/0001-Disable-open_memstream.patch index a9bd1bb0b90e..7003de567ee1 100644 --- a/0001-Disable-open_memstream.patch +++ b/0001-Disable-open_memstream.patch @@ -1,6 +1,6 @@ --- a/xf86drm.c +++ b/xf86drm.c -@@ -310,38 +310,7 @@ +@@ -297,38 +297,7 @@ static char * drmGetFormatModifierNameFromArm(uint64_t modifier) { @@ -39,80 +39,160 @@ } static char * -@@ -451,79 +420,7 @@ +@@ -359,159 +328,7 @@ static char * drmGetFormatModifierNameFromAmd(uint64_t modifier) { -- uint64_t tile, tile_version, dcc; +- static const char *gfx9_gfx11_tile_strings[32] = { +- "LINEAR", +- "256B_S", +- "256B_D", +- "256B_R", +- "4KB_Z", +- "4KB_S", +- "4KB_D", +- "4KB_R", +- "64KB_Z", +- "64KB_S", +- "64KB_D", +- "64KB_R", +- "INVALID12", +- "INVALID13", +- "INVALID14", +- "INVALID15", +- "64KB_Z_T", +- "64KB_S_T", +- "64KB_D_T", +- "64KB_R_T", +- "4KB_Z_X", +- "4KB_S_X", +- "4KB_D_X", +- "4KB_R_X", +- "64KB_Z_X", +- "64KB_S_X", +- "64KB_D_X", +- "64KB_R_X", +- "256KB_Z_X", +- "256KB_S_X", +- "256KB_D_X", +- "256KB_R_X", +- }; +- static const char *gfx12_tile_strings[32] = { +- "LINEAR", +- "256B_2D", +- "4KB_2D", +- "64KB_2D", +- "256KB_2D", +- "4KB_3D", +- "64KB_3D", +- "256KB_3D", +- /* other values are unused */ +- }; +- uint64_t tile_version = AMD_FMT_MOD_GET(TILE_VERSION, modifier); - FILE *fp; - char *mod_amd = NULL; - size_t size = 0; - -- const char *str_tile = NULL; -- const char *str_tile_version = NULL; -- -- tile = AMD_FMT_MOD_GET(TILE, modifier); -- tile_version = AMD_FMT_MOD_GET(TILE_VERSION, modifier); -- dcc = AMD_FMT_MOD_GET(DCC, modifier); -- - fp = open_memstream(&mod_amd, &size); - if (!fp) return NULL; - -- /* add tile */ - switch (tile_version) { - case AMD_FMT_MOD_TILE_VER_GFX9: -- str_tile_version = "GFX9"; +- fprintf(fp, "GFX9"); - break; - case AMD_FMT_MOD_TILE_VER_GFX10: -- str_tile_version = "GFX10"; +- fprintf(fp, "GFX10"); - break; - case AMD_FMT_MOD_TILE_VER_GFX10_RBPLUS: -- str_tile_version = "GFX10_RBPLUS"; +- fprintf(fp, "GFX10_RBPLUS"); - break; - case AMD_FMT_MOD_TILE_VER_GFX11: -- str_tile_version = "GFX11"; +- fprintf(fp, "GFX11"); - break; -- } -- -- if (str_tile_version) { -- fprintf(fp, "%s", str_tile_version); -- } else { +- case AMD_FMT_MOD_TILE_VER_GFX12: +- fprintf(fp, "GFX12"); +- break; +- default: - fclose(fp); - free(mod_amd); - return NULL; - } - -- /* add tile str */ -- switch (tile) { -- case AMD_FMT_MOD_TILE_GFX9_64K_S: -- str_tile = "GFX9_64K_S"; -- break; -- case AMD_FMT_MOD_TILE_GFX9_64K_D: -- str_tile = "GFX9_64K_D"; -- break; -- case AMD_FMT_MOD_TILE_GFX9_64K_S_X: -- str_tile = "GFX9_64K_S_X"; -- break; -- case AMD_FMT_MOD_TILE_GFX9_64K_D_X: -- str_tile = "GFX9_64K_D_X"; -- break; -- case AMD_FMT_MOD_TILE_GFX9_64K_R_X: -- str_tile = "GFX9_64K_R_X"; -- break; -- case AMD_FMT_MOD_TILE_GFX11_256K_R_X: -- str_tile = "GFX11_256K_R_X"; -- break; -- } +- if (tile_version >= AMD_FMT_MOD_TILE_VER_GFX12) { +- unsigned tile = AMD_FMT_MOD_GET(TILE, modifier); - -- if (str_tile) -- fprintf(fp, ",%s", str_tile); +- fprintf(fp, ",%s", gfx12_tile_strings[tile]); - -- if (dcc) -- drmGetFormatModifierNameFromAmdDcc(modifier, fp); +- if (AMD_FMT_MOD_GET(DCC, modifier)) { +- fprintf(fp, ",DCC,DCC_MAX_COMPRESSED_BLOCK=%uB", +- 64 << AMD_FMT_MOD_GET(DCC_MAX_COMPRESSED_BLOCK, modifier)); - -- if (tile_version >= AMD_FMT_MOD_TILE_VER_GFX9 && is_x_t_amd_gfx9_tile(tile)) -- drmGetFormatModifierNameFromAmdTile(modifier, fp); +- /* Other DCC fields are unused by GFX12. */ +- } +- } else { +- unsigned tile = AMD_FMT_MOD_GET(TILE, modifier); +- +- fprintf(fp, ",%s", gfx9_gfx11_tile_strings[tile]); +- +- /* All *_T and *_X modes are affected by chip-specific fields. */ +- if (tile >= 16) { +- fprintf(fp, ",PIPE_XOR_BITS=%u", +- (unsigned)AMD_FMT_MOD_GET(PIPE_XOR_BITS, modifier)); +- +- switch (tile_version) { +- case AMD_FMT_MOD_TILE_VER_GFX9: +- fprintf(fp, ",BANK_XOR_BITS=%u", +- (unsigned)AMD_FMT_MOD_GET(BANK_XOR_BITS, modifier)); +- break; +- +- case AMD_FMT_MOD_TILE_VER_GFX10: +- /* Nothing else for GFX10. */ +- break; +- +- case AMD_FMT_MOD_TILE_VER_GFX10_RBPLUS: +- case AMD_FMT_MOD_TILE_VER_GFX11: +- /* This also determines the DCC layout, but DCC is only legal +- * with tile=27 and tile=31 (*_R_X modes). +- */ +- fprintf(fp, ",PACKERS=%u", +- (unsigned)AMD_FMT_MOD_GET(PACKERS, modifier)); +- break; +- } +- } +- +- if (AMD_FMT_MOD_GET(DCC, modifier)) { +- if (tile_version == AMD_FMT_MOD_TILE_VER_GFX9 && +- (AMD_FMT_MOD_GET(DCC_PIPE_ALIGN, modifier) || +- AMD_FMT_MOD_GET(DCC_RETILE, modifier))) { +- /* These two only determine the layout of +- * the non-displayable DCC plane. +- */ +- fprintf(fp, ",RB=%u", +- (unsigned)AMD_FMT_MOD_GET(RB, modifier)); +- fprintf(fp, ",PIPE=%u", +- (unsigned)AMD_FMT_MOD_GET(PIPE, modifier)); +- } +- +- fprintf(fp, ",DCC,DCC_MAX_COMPRESSED_BLOCK=%uB", +- 64 << AMD_FMT_MOD_GET(DCC_MAX_COMPRESSED_BLOCK, modifier)); +- +- if (AMD_FMT_MOD_GET(DCC_INDEPENDENT_64B, modifier)) +- fprintf(fp, ",DCC_INDEPENDENT_64B"); +- +- if (AMD_FMT_MOD_GET(DCC_INDEPENDENT_128B, modifier)) +- fprintf(fp, ",DCC_INDEPENDENT_128B"); +- +- if (AMD_FMT_MOD_GET(DCC_CONSTANT_ENCODE, modifier)) +- fprintf(fp, ",DCC_CONSTANT_ENCODE"); +- +- if (AMD_FMT_MOD_GET(DCC_PIPE_ALIGN, modifier)) +- fprintf(fp, ",DCC_PIPE_ALIGN"); +- +- if (AMD_FMT_MOD_GET(DCC_RETILE, modifier)) +- fprintf(fp, ",DCC_RETILE"); +- } +- } - - fclose(fp); - return mod_amd; @@ -4,19 +4,20 @@ _android_arch=aarch64 pkgname=android-${_android_arch}-libdrm -pkgver=2.4.123 +pkgver=2.4.124 pkgrel=1 arch=('any') pkgdesc="Userspace interface to kernel DRM services (Android ${_android_arch})" url="https://dri.freedesktop.org/" license=('custom') +groups=('android-libdrm') depends=("android-${_android_arch}-libpciaccess") makedepends=('android-meson') options=(!strip !buildflags staticlibs !emptydirs) source=("https://dri.freedesktop.org/libdrm/libdrm-${pkgver}.tar.xz" '0001-Disable-open_memstream.patch') -md5sums=('322f5ffe2d3adc2f6ecaab52ae64ba4a' - 'b01f3f9e59e04924adcc3385e634c8dc') +md5sums=('78f7f7ee6aff711696d4b34465b40728' + 'f7835471a1b6ec93215dc61339dfb117') prepare() { cd "${srcdir}/libdrm-${pkgver}" |