I’m noticing a lot of my programs, both fragment and vertex, take fairly significantly different amounts of resources on a GeForce or Radeon. Not just ALU instructions, but temporaries, attributes, parameters, and texture instructions. The only thing consistant between them is attributes and texture indirections.
Something may take 17 ALU instructions on a Radeon, but 23 or a GeForce. It seems there is a couple free instructions on a GeForce and some tex instructions on a Radeon are ALU on a GeForce.
Is anybody else finding this? I don’t want to create a 40 ALU instruction program and find it expands to 49 instructions on some card in the future that only supports the minimum required by the standard.
BTW why does the XGI Volari report -1 native instructions?
I didn’t know those things were even out, or had real OpenGL implementations. Maybe its a bug in their drivers. Given the other parameters, (which aren’t really trustworthy since the -1’s are in there too), we can see that these XGI cards are pretty crappy. 96 per-vertex parameters isn’t a reasonable number. I think DX9 itself requires 256 at a minimum, and I certainly won’t accept anything less.