技术栈

amdgpu igt

DeeplyMind
3 小时前
amdgpu igt·pm4
6.4 命令字组装:PM4 与 cmd_base上一篇准备好了内存,这一篇解决 6.1 里的第一个难题:GPU 命令不是函数调用,而是一段按格式排布的二进制 packet。要让 GPU 干活,你得往一段内存里逐个 32-bit dword 拼出 PM4(Programmable Machine 4)packet,再把这段内存当成 IB 提交。这一篇讲两件事:amd_PM4.h 提供的 packet 编码宏,以及 amdgpu_cmd_base 这个「往 buffer 里安全追加 dword」的小抽象。
DeeplyMind
5 天前
amdgpu igt
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() 就能拿到对的实现。
我是有底线的