6.2 ASIC 无关抽象:amd_ip_blocks上一篇(6.1)提到 lib/amdgpu 要回答的第二个难题:寄存器布局、dispatch 细节、compute pipeline 编程方式,全都随 ASIC(GFX9/10/11/12)变化。如果每个测试都写死某代硬件的魔数,加一款新芯片就得改一大片。这一篇把 amd_ip_blocks.{c,h} + amd_ip_blocks_ex.c 这套抽象讲透:它长什么样、初始化时发生了什么、测试代码为什么只需要一句 get_ip_block() 就能拿到对的实现。