shim은 일반적으로 렌더링을 실행하지 않습니다
Mesa drm-shim은 DRM 장치와 ioctl 응답을 모사해 사용자 공간 코드 경로를 실행하게 합니다. 일반적인 구현은 렌더링을 하지 않으며, 문서는 simulator를 사용하는 shim을 예외로 구분합니다. Panfrost shim의 shader-db 실행은 컴파일러 경로를 확인하는 데 쓰이지만 픽셀 정확성을 증명하지 않습니다.
따라서 통과 기록에 실제 실행한 층을 적습니다. packing 단위 테스트는 예상한 인코딩과의 일치를, shim은 자신이 구현한 응답 아래의 코드 실행을 확인합니다. 예상값과 mock이 같은 잘못된 가정을 공유하면 두 시험이 함께 통과할 수 있습니다.
호스트 결함과 실제 GPU 결함을 나눕니다
Collabora의 2022년 Valhall 개발기는 Linux 드라이버를 시험할 대상 하드웨어가 부족했던 상황입니다. Android 기기에서 독점 드라이버 출력을 관찰한 경험까지 없었다는 뜻은 아닙니다. 하드코딩한 4 KiB mmap 오프셋 문제는 실제 Mali 실행이 아니라 16 KiB 페이지를 쓰는 M1 호스트에서 먼저 드러났습니다.
실제 Mali-G57 시스템에서는 coherency 경로, 누락된 clock·power-domain 기술, 더 엄격한 정렬 조건 같은 다른 문제가 드러났습니다. 당시 특정 SoC의 ACP 비트나 진단용 우회 옵션은 일반적인 해결책이 아닙니다. 이 사례는 현재 Mali 지원 목록이나 보드 설정 절차를 제공하지 않습니다.
완료된 단계만 결과로 남깁니다
결과 표에는 compiler·packing 시험, shim 실행, 실제 장치의 job 완료, 참조 결과와 렌더링 비교를 별도 행으로 둡니다. 각 행에 드라이버 커밋, 하드웨어·커널·페이지 크기, 실행한 시험과 실패 로그를 연결합니다. 버전과 플랫폼이 다른 통과 결과는 자동으로 이어 붙이지 않습니다.
job 완료는 결과 이미지가 맞다는 뜻이 아니고, 결과 이미지 하나가 맞는 것도 전체 적합성 통과는 아닙니다. 반대로 하드웨어가 없다고 단위 테스트가 무의미한 것은 아닙니다. 이 글은 시험 범위를 구분하며 Mesa 실행·GPU 측정·적합성 인증을 수행한 기록은 아닙니다.
- 코드와 모델
단위 테스트·shim
- 실제 장치
메모리·전원·job
- 렌더링 판정
기대 결과·회귀 범위