Subclasses Compiler2Pass to provide a ps_1_x compiler that takes DirectX pixel shader assembly and converts it to a form that can be used by ATI_fragment_shader OpenGL API.
All ps_1_1, ps_1_2, ps_1_3, ps_1_4 assembly instructions are recognized but not all are passed on to ATI_fragment_shader. ATI_fragment_shader does not have an equivelant directive for texkill or texdepth instructions.

The user must provide the GL binding interfaces.

A Test method is provided to verify the basic operation of the compiler which outputs the test results to a file.

Inheritance: Compiler2Pass
		protected override void LoadFromSource()
		{
			var assembler = new PixelShader();

			//bool testError = assembler.RunTests();

			bool error = !assembler.Compile( Source );

			if ( !error )
			{
				Gl.glBindFragmentShaderATI( programId );
				Gl.glBeginFragmentShaderATI();

				// Compile and issue shader commands
				error = !assembler.BindAllMachineInstToFragmentShader();

				Gl.glEndFragmentShaderATI();
			}
			else
			{
			}
		}