From 76424950e373d3b04ac3dd13019151bfba3e8423 Mon Sep 17 00:00:00 2001 From: sumuel Date: Mon, 17 Aug 2026 20:44:55 +0000 Subject: Add the files --- scripts/gen-amdgpuids.py | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100755 scripts/gen-amdgpuids.py (limited to 'scripts/gen-amdgpuids.py') diff --git a/scripts/gen-amdgpuids.py b/scripts/gen-amdgpuids.py new file mode 100755 index 0000000..d84c133 --- /dev/null +++ b/scripts/gen-amdgpuids.py @@ -0,0 +1,46 @@ +#!/usr/bin/env python3 + +import sys + +def main(amdgpu_ids_path: str): + with open(amdgpu_ids_path, 'r') as f: + full_text = f.read() + + if full_text == '': + sys.exit(f'Error: {amdgpu_ids_path} file is empty') + + products = [] + for line in full_text.split('\n'): + if not line or line[0] == '#' or not ',\t' in line: + continue + device, revision, name = line.split(',\t', maxsplit=2) + products.append((device, revision, name)) + + code = """\ +// SPDX-License-Identifier: MIT +// https://opensource.org/license/mit +// Generated from https://gitlab.freedesktop.org/mesa/drm/-/raw/main/data/amdgpu.ids + +#include +#include + +typedef struct FFArmGpuProduct +{ + const uint32_t id; // device << 8 | revision + const char* name; +} FFArmGpuProduct; + +const FFArmGpuProduct ffAmdGpuProducts[] = { +""" + + for device, revision, name in products: + code += f" {{ 0x{device} << 8 | 0x{revision}, \"{name}\" }},\n" + + code += "};\n" + + print(code) + +if __name__ == '__main__': + len(sys.argv) == 2 or sys.exit('Usage: gen-amdgpuids.py ') + + main(sys.argv[1]) -- cgit v1.2.3