Valve의 Marek Olšák, 일부 VRS 케이스에서 '성능을 두 배로' 높일 수 있는 RADV 코드 반영
요약
Valve의 Marek Olšák이 Radeon RADV Vulkan 드라이버의 VRS(가변 레이트 쉐이딩) 코드를 재작성하여 성능을 대폭 개선했습니다. 이번 업데이트는 특정 케이스에서 성능을 최대 두 배까지 높일 수 있으며, Steam Play(Proton) 및 VKD3D 환경에 큰 이점을 제공합니다.
핵심 포인트
- VRS 상태 최적화를 통해 특정 케이스에서 성능을 2배 향상
- RADV Vulkan 드라이버의 VRS 상태 코드 재작성 및 단순화
- VKD3D 및 Steam Play(Proton) 환경의 성능 이득 기대
- Mesa 26.2 릴리스에 포함될 예정
Valve의 Marek Olšák, 일부 VRS 케이스에서 "성능을 두 배로" 높일 수 있는 RADV 코드 반영

가변 레이트 쉐이딩 (Variable rate shading, VRS)은 프레임의 덜 중요한 영역에서 픽셀 쉐이딩 레이트 (pixel shading rate)를 줄일 수 있게 해주는 현대적인 그래픽 기능입니다. Marek은 기존의 버그를 수정하고 성능을 향상시키는 동시에 코드를 단순화하기 위해 Radeon RADV Vulkan 드라이버의 VRS 상태 코드를 부분적으로 재작성했습니다. 이 RADV VRS 작업은 Steam Play (Proton)와 같은 환경을 위한 Vulkan 기반의 Direct3D 12 API인 VKD3D에도 이점을 제공합니다.
Marek은 이 매력적인 성능 개선 작업의 머지 리퀘스트 (merge request)에서 다음과 같이 언급했습니다:
-
VRS가 동적 상태 (dynamic state)이거나 파이프라인 오브젝트 (pipeline object)에서 정적으로 활성화되어 있더라도, 이제 VRS 플랫 쉐이딩 (flat shading) 최적화 활성화를 방해하지 않으며, 해당 케이스에서는 성능을 두 배로 높일 수 있습니다. 이는 주로 VKD3D에 이점을 줍니다. 프래그먼트 쉐이더 (Fragment shaders)가 이 효과를 얻으려면 여전히 플랫 쉐이딩을 수행해야 합니다.
-
SampleMaskIn으로 인해 또는 MSAA 없이 샘플 쉐이딩 (sample shading)이 활성화되어 VRS가 강제로 비활성화되는 경우에도 더 이상 RB+가 비활성화되지 않으며, 이 케이스에서도 성능을 두 배로 높일 수 있습니다. 다만, 이 부분은 애플리케이션이 마주칠 가능성이 낮은 매우 예외적인 케이스(edge case)라고 생각합니다.
-
VRS 상태가 오버라이드 (overridden)될지 여부를 컴파일 타임에 알 수 있는 경우가 있으므로, 해당 경우에는 VRS 레이트 쉐이더 출력 (VRS rate shader output)이 제거되며 마찬가지로 정점당 VRS 레이트 출력 (per-vertex VRS rate output)도 추가되지 않습니다.
이 머지 리퀘스트를 구성하는 22개의 패치는 8월에 출시될 예정인 Mesa 26.2 릴리스에 포함됩니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Phoronix의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기