summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config.def.lua2
-rw-r--r--pkg/libdrm/gen.lua23
2 files changed, 24 insertions, 1 deletions
diff --git a/config.def.lua b/config.def.lua
index 37ea53c7..20f0f7e5 100644
--- a/config.def.lua
+++ b/config.def.lua
@@ -39,6 +39,6 @@ return {
-- TLS implementation (possible_values: libressl bearssl)
tls='libressl',
- -- GPU driver (possible_values: intel nouveau)
+ -- GPU driver (possible_values: amdgpu intel nouveau)
-- video_drivers={intel=true}
}
diff --git a/pkg/libdrm/gen.lua b/pkg/libdrm/gen.lua
index 2b5a7d75..255f9931 100644
--- a/pkg/libdrm/gen.lua
+++ b/pkg/libdrm/gen.lua
@@ -40,4 +40,27 @@ if config.video_drivers and config.video_drivers['nouveau'] then
]])
end
+if config.video_drivers and config.video_drivers['amdgpu'] then
+ cflags{
+ '-D HAVE_AMDGPU=1',
+ [[-D 'AMDGPU_ASIC_ID_TABLE="/share/libdrm/amdgpu.ids"']],
+ -- grep -Eci '^[0-9a-f]{4},.*[0-9a-f]+,' src/data/amdgpu.ids
+ '-D AMDGPU_ASIC_ID_TABLE_NUM_ENTRIES=154',
+ }
+ lib('libdrm_amdgpu.a', [[
+ amdgpu/(
+ amdgpu_asic_id.c
+ amdgpu_bo.c
+ amdgpu_cs.c
+ amdgpu_device.c
+ amdgpu_gpu_info.c
+ amdgpu_vamgr.c
+ amdgpu_vm.c
+ util_hash.c
+ util_hash_table.c
+ )
+ ]])
+ file('share/libdrm/amdgpu.ids', '644', '$srcdir/data/amdgpu.ids')
+end
+
fetch 'git'