7,152
社区成员
发帖
与我相关
我的任务
分享在 Snapdragon 手机上做 Vulkan 游戏开发时,Adreno GPU 的 subpass 合并条件是什么?怎么写 RenderPass 才能触发 Tile-based 合并?
Adreno GPU 会在满足以下条件时合并 subpass:
1)后续 subpass 仅通过 input attachment 读取前一 subpass 的输出(而非采样纹理);
2)attachment 的 loadOp/storeOp 配置合理(中间 attachment 用 DONT_CARE);
3)所有 subpass 的 framebuffer 分辨率一致。实践建议:将 G-Buffer 生成和光照计算放在同一 RenderPass 的不同 subpass 中,使用 input attachment 传递数据;在 Snapdragon Profiler 中查看 "Render Pass" 面板确认是否合并成功,未合并时会显示多次 tile load/store。