Panfrost는 이제 Mali GPU에 대한 OpenGL 3.1 지원을 제공합니다.

Collabora 개발자는 작업을 중단하지 않았으며 최근 몇 달 동안 이야기 할 내용이 많았으며 이번에는 예외가 아닙니다. OpenGL 3.1 지원의 Panfrost 드라이버 구현 발표 발표 Midgard GPU (Mali-T6xx, Mali-T7xx, Mali-T8xx) 및 Bifrost GPU (Mali G3x, G5x, G7x) 및 Bifrost GPU에 대한 OpenGL ES 3.0 지원.

이러한 변화 Mesa 21.0 릴리스에 포함될 예정현재 출시 후보 단계에 있습니다.

Collabora 개발자는 테이블 용 컨트롤러 구현에 대해 오랫동안 작업 해 왔으며 이에 대한 예는 과거입니다. 갈륨 탁상 컨트롤러, 중간 레이어를 구현하는 OpenCL 1.2 및 OpenGL 3.3 API 구성 DirectX 12 (D3D12)를 지원하는 드라이버와 해당 소스 코드가 MIT 라이선스에 따라 출시된다는 사실을 알 수 있습니다.

제안 된 컨트롤러 장치에서 Mesa를 사용할 수 있습니다. 처음에는 호환되지 않습니다. OpenCL 및 OpenGL 사용 또한 OpenGL / OpenCL 애플리케이션을 D3D12에서 작동하도록 이식하는 시작 위치로 사용됩니다.

새로운 Panfrost 드라이버의 일부에서 GPU Midgard와 Bifrost는 공통 데이터 구조를 공유합니다. 고정 기능 용이지만 Bifrost는 근본적으로 다른 지침을 사용합니다., 이는 GPU 데이터에 대한 기능의 동기 구현을 어렵게 만듭니다.

구조적으로 Bifrost는 대부분의 고정 기능 데이터 구조를 Midgard와 공유하지만 새로운 지침 세트를 도입합니다. OpenGL ES 3.0을 Bifrost에 도입하려는 우리의 작업은이 부분을 반영합니다.

인스턴스화 및 변환 피드백과 같은 일부 고정 기능 기능은 Midgard에서 이미 수행 한 것처럼 특정 Bifrost 변경없이 작동했습니다. 균일 한 버퍼 개체와 같은 다른 셰이더 기능은 Bifrost 컴파일러의 "처음부터"구현이 필요했습니다.이 작업은 일류 빌드 지원을 통해 컴파일러의 성숙한 중간 표현으로 쉽게 만들어졌습니다.

Midgard를 위해 이미 구현 된 고정 기능'변환 피드백'과 같은 변경없이 Bifrost로 전송할 수 있습니다. MRT (Multiple Render Targets)와 같은 기능은 일부 특정 Bifrost 변경으로 제한됩니다.

동시에 통합 버퍼 개체와 같은 다른 셰이더 작업에는 Bifrost 셰이더 컴파일러에 대한 스크래치 구현이 필요합니다.

이는 여름에 상륙 한 Midgard의 OpenGL ES 3.0 지원과 최근 Bifrost 용으로 데뷔 한 초기 OpenGL ES 2.0 지원을 따릅니다. OpenGL ES 3.0은 이제 Mesa의 Continuous Integration에서 Mali G52에서 테스트되어 해당 DrawElements 품질 프로그램 테스트에서 99.9 % 통과율을 달성했습니다.

그러나 다중 렌더링 대상과 같은 다른 기능에는 Midgard와 공유되는 다른 코드를 활용하면서 Bifrost의 특정 코드가 필요했습니다. 그럼에도 불구하고 작업은 공유 코드의 힘에 대한 증거인 두 번째로 훨씬 빠르게 진행되었습니다. 그러나 공유를 Panfrost GPU로 제한 할 필요는 없습니다. 오픈 소스 드라이버는 공급 업체간에 코드를 공유 할 수 있습니다.

또한 발표에서 컴파일러에서 중간 표현을 사용하여 작업의 일부 중복을 피했습니다. 공유 코드와 함께 개발 속도를 크게 높이고이 접근 방식을 사용하면 코드를 한 GPU 제품군뿐만 아니라 다른 컨트롤러에도 사용할 수 있습니다.

특히, 개발자들은 데스크탑 시스템에서 OpenGL을 구현하기 위해 Panfrost 드라이버가 즉시 사용 가능한 Mesa 구성 요소를 사용해야한다고 언급 한 반면 Mali 용 독점 드라이버는 OpenGL ES 만 지원하도록 제한되어 있습니다.

그러나 데스크톱 OpenGL 3.1 지원은 공통 인프라를 활용하여 업스트림 Mesa 컨트롤러로서 우리에게 거의 "무료"입니다.

마지막으로, 그것에 대해 더 많이 알고 싶다면 Collabora 개발자가 제안한 새로운 Panfrost 구현에 대한 자세한 내용은 다음 링크에서.


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자: AB Internet Networks 2008 SL
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.