2015-09-04 82 views
2

当我在我的机器上开发着色器代码时,我经常发现自己处于着色器在我的机器上完美工作的情况,但在其他显卡,驱动程序,操作系统等中没有。测试着色器的兼容性

如何实现着色器的兼容性?

我看到几个approches:在许多不同的系统

  • 测试。但是选择哪个系统?每个操作系统和每个驱动程序上的每张卡都进行测试并不现实。也许我们可以假设供应商关心向后兼容性?在这种情况下,用旧卡和驱动程序进行测试可能就足够了。

  • 向驱动程序询问特定的版本和核心配置文件。这有点帮助,但驱动程序显得非常宽松,允许我编写不符合规范的东西。

  • 代码检查程序检查代码是否与某个规范严格兼容。没有看到有这样的工具。

  • 不要打扰并等待来自用户的错误报告。即使驱动程序生成的错误消息也相当差,并且观察到的行为可能与黑屏一样没有洞察力。

我针对Win/Linux/OSX平台。不是控制台。

+0

您是否遇到了正在出现的特定错误?我们无法真正帮助通用建议。 – Xirema

+0

这不是关于特定的错误(在函数参数中缺少“in”就是一个)。我更感兴趣的是如何处理兼容性问题,例如,纪念应用程序。许多问题也出现在着色器之外。也许着色器始终在原位进行测试。这将进一步扩大问题的范围。 – Stefan

+0

答案也很大程度上取决于您定位的硬件。对于控制台来说,测试更容易,因为只有非常有限的配置可用。对于PC/Mac,我会再次测试三大硬件厂商(NVIDIA,AMD,Intel)的最新驱动程序。 – BDL

回答