编写shader遇到的问题?
在编译运行shader的时候遇到了这样的问题
err0r X5608:Compiled shader code uses too many arithmetic slots(73).Max.allowed by the target(ps_2_0) is 64.
是用指令过多?麻烦大虾解释下这个错误 怎么解决?
[解决办法]
楼主是用太多的arithmetic slot了吧,2.0对多支持64个吧
[解决办法]
使用了超过64条的算术指令。运算步骤太多了吧。可以修改算法,也可以改用ps_3_0
[解决办法]
你用ps_3_0来编译
非要用ps_2_0,需要优化下你的shader,你现在有73个,优化到64个还是有可能的,方法是竟量用vector和matrix计算的并行能力,把4次运算可以归并的一次运算。比如
float data[4];float sum = data[0] + data[1] + data[2] + data[3];
[解决办法]
用3.0吧,我的垃圾显卡(nvidia 7100GS)都能支持