TECHARTNOMAD | TECHARTFLOWIO.COM

UNREAL ENGINE

일부 휴대폰에서 VulkanRHI를 사용할 때 GPUSort 결과가 정확하지 않는 이슈.

jplee 2025. 9. 12. 16:33

오늘 고객사에 출근 했는데 니아그라 이펙트에 문제가 있는걸 TA 분이 테스트 하고 있더군요.

 

部分手机上,使用VulkanRHI时,GPUSort的结果不正确

Soc: Snapdragon 8gen3,GPU:Adreno 750

forums.unrealengine.com

아무튼 문제는

갤럭시 S24 에서 니아그라 GPU Sort 에 문제가 있는 점을 발견. 해결 해 나가는 과정에서 위 쓰레드를 이성학 사원이 발견.

결론적으로 갤럭시 24 그러니까 아드레노 740 만 문제가 있으며 이 문제는 엔진 레벨에서 수정 해 봐야 의미가 없음.

하드웨어 벤더 레벨에서 드라이버 수정을 해도(퀄컴에서 수정을 해도) 이게 삼성 갤럭시 S24를 제작하는 삼성 개발팀에서 퀄컴으로 부터 패치를 받아서 삼성 OS 에 통합을 해서 시스템 업데이트로 배포를 해야만 하는 것이라 현실적으로 개발팀에서 해결하는 건 불가능.

2012년 즈음에 자체엔진 개발팀을 서포트 할 때에도 퀄컴 드라이버에 문제점을 발견해서 퀄컴 엔지니어링팀(본사) 과 소통을 했을 때도 마찬가지 피드백을 받았던 기억이 있다. 그때는 LG 스마트폰에서 문제를 발견 했었는데 결국 퀄컴 엔지니어링쪽에서 문제를 해결 했지만 LG 개발팀에서 패치를 적용하고 시스템 업데이트와 함께 패포 해야만 해결되는 문제라고 최종 답을 주었다. 그때는 샤오미 창업주가 안드로이드 UI 해킹그룹에서 활동하던 곳 까지 뒤져서 핵킹 해서 드라이버 패치를 하려고 했지만 어차피 스마트폰 사용자들을 그렇게 할 수도 없어서 포기 했던 기억.

Technical Issue: Niagara GPU Sort Performance Degradation on Galaxy S24 (Adreno 740)

Recently encountered a critical GPU sorting issue specific to Samsung Galaxy S24 devices running Adreno 740. During the debugging process, our team member discovered relevant discussions in technical forums that confirmed this was a widespread hardware-specific problem.

Root Cause Analysis:

  • The issue is isolated to Adreno 740 GPU architecture
  • Engine-level workarounds prove ineffective due to the nature of the driver bug
  • Requires driver-level fix from Qualcomm, followed by OEM integration

Technical Constraints: Even if Qualcomm releases a driver patch, the deployment pipeline requires:

  1. Samsung's firmware team to integrate the patch
  2. Comprehensive testing across their OS layer
  3. Distribution via official system OTA updates

This creates a significant bottleneck for game developers, as we cannot directly implement fixes for end-users.

Historical Context: I've encountered similar challenges in 2012 while supporting our proprietary engine development. We identified critical driver bugs on LG devices and engaged directly with Qualcomm's engineering team. Despite Qualcomm providing a fix, the dependency on OEM update cycles remained the primary blocker.

Back then, we explored alternative solutions including custom driver injection methods (similar to approaches used in the Android modding community), but these weren't viable for production deployment due to security constraints and user accessibility concerns.

Key Takeaway: Hardware vendor bugs remain one of the most challenging issues in mobile game development, as they sit outside our direct control and require coordination across multiple stakeholders in the mobile ecosystem.