ATI R300 출시 24년 후, 오픈 소스 R300 드라이버의 대대적인 재작업 지속
요약
오픈 소스 기여자 Pavel Ondračka가 24년 된 ATI R300 GPU 드라이버의 기술 부채를 해결하기 위해 TGSI 중간 표현을 NIR로 교체하는 작업을 진행 중입니다. Mesa 26.2를 위한 초기 병합이 완료되었으며, 이 과정에서 Codex와 같은 AI 도구가 활용되었습니다.
핵심 포인트
- R300g 드라이버의 TGSI를 현대적인 NIR로 교체하는 대규모 재작업 진행
- Mesa 26.2를 위한 첫 번째 파트 병합 완료
- 기술 부채 제거를 위해 Codex(AI)를 활용한 패치 작업 수행
- 오래된 하드웨어의 오픈 소스 유지보수 중요성 강조
ATI R300 출시 24년 후, 오픈 소스 R300 드라이버의 대대적인 재작업 지속

독립적인 오픈 소스 기여자(contributor)인 Pavel Ondračka는 R300g 드라이버 작업을 계속하고 있으며, TGSI 사용을 제거하고 이를 NIR로 교체하는 거대한 과업을 추진해 왔습니다. TGSI는 과거 Tungsten Graphics에서 시작한 최초의 Gallium3D 중간 표현(intermediate representation)이지만, 이후 모든 현대적인 Mesa 드라이버는 더 나은 NIR 중간 표현을 사용하는 것으로 전환되었습니다. Pavel은 R300g가 TGSI를 거치지 않고 직접 NIR을 사용하도록 적응시키는 큰 작업을 진행 중입니다.
이 과업은 이번 달 초 Phoronix를 통해 처음 보고되었으나, 오늘 전해진 흥미로운 이정표는 Mesa 26.2를 위한 초기 병합(merge)이 완료되었다는 점입니다. Pavel은 첫 번째 파트 병합 요청(merge request)에서 다음과 같이 설명했습니다:
"여기 r300에서 TGSI를 제거하는 첫 번째 파트가 있으며, draw swtcl 경로를 제외한 모든 것에 대한 중노동을 수행합니다. 이 중 많은 부분이 Mike의 연례적인 '오래된 것 제거' 불평이 나오기를 기다리며 1년 넘게 브랜치에 머물러 있었습니다. 이 MR(Merge Request)은 기술적으로 NIR 기반 백엔드(backend)를 도입하는 것은 아닙니다. 그것은 사실 !23437(!23437, 병합됨)을 통해 이미 어느 정도 이루어졌습니다. 당시 저는 백엔드에서 NIR로 많은 lowering 작업을 옮기려고 했으나, 커스텀 finalize_nir이 몇 가지 옵션을 제공하긴 했지만 ntt의 고정된 패스(pass) 순서에는 많은 제한 사항이 있었습니다. 몇 가지 접근 방식을 더 시도해 보았지만, 결국 대부분 ntt를 r300으로 복사하고, 불필요한 부분을 제거한 다음, 시간이 지나면서 NIR 패스를 대폭 수정하고 새로운 하드웨어(HW) 전용 패스를 추가했습니다. 하지만 최종 번역은 여전히 NIR->TGSI->RC 방식이었습니다. 따라서 일반적으로 이 시리즈의 대부분은 제가 처음에는 기술적으로 숙련되지 않았거나 의욕이 부족하여 수행하지 못했던 기술 부채(technical debt)를 지루하게 제거하는 과정입니다. 백엔드 IR(쌍 번역 전)은 어쨌든 상수 swizzles, 채널별 negate 등과 같은 몇 가지 추가적인 하드웨어 전용 요소를 제외하면 대부분 TGSI와 1:1로 일치합니다."
따라서 이것이 상당히 큰 차이(diff)이기는 하지만, 대부분은 TGSI ureg_* 부분을 백엔드(backend)의 상응하는 조각들로 교체하는 다소 지루한 작업입니다. 후반부의 검색 및 교체(search-and-replace) 방식의 패치들 대부분에는 Codex가 사용되었습니다.
20년이 넘은 GPU를 위한 이러한 패치 작업에 ChatGPT의 Codex가 도움을 주고 있는 것을 보니 흥미롭습니다.
R300g를 위한 이 TGSI 제거(gutting) 여정은 아직 끝나지 않았지만, 결승선에 가까워지며 계속 진행되는 모습을 보니 매우 반갑습니다. Pavel의 진행 중인 작업은 r300_no_tgsi Git 브랜치를 통해 확인할 수 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Phoronix의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기