Skip to content

etnaviv: Introduce a full blown hardware database (hwdb)

Christian Gmeiner requested to merge austriancoder/mesa:hwdb into main

What does this MR do and why?

This MR adds support for a full blown hardware database (hwdb) based on official headers from SoC vendors.

There is some Python magic as the headers are based on different versions of galcore.

Here is a brief look at the differences:

amlogic/gc_feature_database.h (autogenerated at 2021-04-12 17:20:00, 733 struct members, 8 entries)
nxp/gc_feature_database.h (autogenerated at 2023-10-24 16:06:00, 861 struct members, 27 entries)
stm/gc_feature_database.h (autogenerated at 2022-12-29 11:13:00, 833 struct members, 4 entries)

These header files are generated and adhere to a specific structure. Therefore, all we need to do is write an intelligent Python script capable of merging the struct members into a single consolidated struct. This script will also convert the old struct entries to the new format and generate a header file that we can use.

Merge request reports