我们是一个小的开发团队,与一些可能太大的旧图形卡无法编译的GLSL一起工作。当基于错误类型发生这种情况时,我们希望向用户显示一条合理的错误消息(而不仅仅是转储信息日志或输出一条通用的“此明暗器不工作”类型的消息)。
问题是,对于这些错误消息,ATI和NVIDIA有不同的约定,我找到的决定明暗器的错误类型的唯一方法是解析glgetshaderinfo生成的错误字符串。
考虑到这一点,是否有一个列表,或者有人知道ATI和Nvidia卡的错误输出是什么样子的?或者有更好的方法来检测何时超过了指令限制?
即使您现在知道错误信息的外观,Nvidia和ATI也没有义务在下一个版本的驱动程序中保持相同。除了调试之外,基本上不能依赖它们。
我将查看供应商扩展是否能够为您提供更具体的诊断信息。