이 기사는 메사(Mesa) 그래픽 라이브러리에 새로운 '셰이더 통계 프레임워크'가 도입된 내용을 다루고 있으며, 이는 다양한 그래픽 드라이버, 특히 OpenGL(GL)과 Vulkan(VK) 간의 셰이더 통계 보고를 통합하는 것을 목표로 하고 있습니다. 이전에는 셰이더 통계가 서로 다른 드라이버에서 일관되지 않게 보고되어 중복된 로직과 C 언어에서의 취약한 문자열 처리가 발생했습니다. 새로운 프레임워크는 모든 통계를 정의하기 위해 공통 XML 파일을 사용하여 각 명령어 집합 아키텍처(ISA)에 대한 구조체와 보고 함수가 포함된 C 헤더를 자동으로 생성할 수 있게 합니다. 이를 통해 드라이버 통합에 필요한 보일러플레이트 코드가 크게 줄어들며, 개발자는 통계 구조체를 작성하고 생성된 함수를 호출하기만 하면 됩니다. 이 구현은 Panfrost/PanVK 및 Asahi/Honeykrisp의 세 가지 드라이버 계열에 대한 완전한 예제를 포함하고 있으며, 이제 GL 드라이버와 동일한 통계를 보고합니다. Turnip 드라이버는 부분적으로 통합되어 Vulkan 통계에 대한 보일러플레이트가 줄어드는 혜택을 보고 있지만, 아직 ir3/gallium 프레임워크 내에서 완전히 작동하지는 않습니다. 이러한 통합은 개발 프로세스를 간소화하고 다양한 그래픽 드라이버 간의 셰이더 통계 보고의 일관성을 향상시킬 것으로 기대됩니다.
* 이 글은
phoronix.com의 기사를 요약한 것입니다. 전체 기사의 내용은
이곳에서 확인하실 수 있습니다.