GLSL片段着色器if条件异常:无else分支时条件恒为真
GLSL 400片段着色器在Intel Iris Plus显卡上的条件判断异常
问题场景
设备:2020款Intel MacBook Pro(搭载Intel Iris Plus显卡),系统:macOS Ventura 13
运行GLSL 400片段着色器时出现以下异常行为:
- 当if语句无else分支时,即使将变量
stackptr设为-1.0,条件stackptr > 0.0仍恒为真,执行块内代码输出黄色 - 给if语句添加else分支后,条件判断恢复正常,能根据
stackptr的实际值输出对应颜色 - 直接在条件中使用常量
-1.0(如if (-1.0 > 0.0))时,判断逻辑完全正常
初步判断与后续计划
怀疑该异常是Intel Iris Plus显卡的macOS驱动问题,接下来将在Windows平台的Nvidia GPU上测试同款着色器,验证是否存在同样问题。此前已有类似未解决的同类型驱动相关问题记录。
内容的提问来源于stack exchange,提问作者col__panic
相关产品推荐
相关产品推荐

