There are a few restrictions you can strike at:
- maximum shader length
- maximum number of texture constraints (this is the most easily crossed limit)
- using unsupported features
Technically, the X800 is a shader model 2 GPU, which is exactly what GLSL 1.20 provides. When I started programming shaders using the Radeon 9800, and the X800 was just the technically advanced 9800, I quickly abandoned the idea of ββdoing this with GLSL. It was too limited. And so often, when the computer has only limited resources and capabilities, the output was using the assembly. In this case, I mean the assembly provided by the ARB_fragment_program extension.
source share