I’m trying to convert some DX PS1.4 code to OpenGL for ATI 8500/9200
I’m using this nice tool : PS14toATIfs
But I have some problem: a PS1.4 shader i’m trying to do is not working properly. The tool reports that compilation is OK, but it failed around the glAlphaFragmentOp2ATI:
Is anyone used this extension before and encounters such problem ? (code was generated by glIntercept)
ATI Radeon 9800/Cat 5.4
glBeginFragmentShaderATI()
glSetFragmentShaderConstantATI(GL_CON_3_ATI,0xc72faac)
glSampleMapATI(GL_REG_0_ATI,GL_TEXTURE1,GL_SWIZZLE_STR_ATI)
glSampleMapATI(GL_REG_1_ATI,GL_TEXTURE3,GL_SWIZZLE_STR_ATI)
glSampleMapATI(GL_REG_2_ATI,GL_TEXTURE2,GL_SWIZZLE_STR_ATI)
glColorFragmentOp2ATI(GL_DOT3_ATI,GL_REG_1_ATI,GL_RED_BIT_ATI,GL_SATURATE_BIT_ATI,GL_REG_1_ATI,GL_NONE,GL_2X_BIT_ATI | GL_BIAS_BIT_ATI,GL_REG_0_ATI,GL_NONE,GL_2X_BIT_ATI | GL_BIAS_BIT_ATI)
glColorFragmentOp1ATI(GL_MOV_ATI,GL_REG_1_ATI,GL_GREEN_BIT_ATI,GL_NONE,GL_CON_3_ATI,GL_GREEN,GL_NONE)
glSampleMapATI(GL_REG_0_ATI,GL_TEXTURE0,GL_SWIZZLE_STR_ATI)
glSampleMapATI(GL_REG_3_ATI,GL_REG_1_ATI,GL_SWIZZLE_STR_ATI)
glPassTexCoordATI(GL_REG_1_ATI,GL_REG_1_ATI,GL_SWIZZLE_STR_ATI)
glPassTexCoordATI(GL_REG_2_ATI,GL_REG_2_ATI,GL_SWIZZLE_STR_ATI)
glAlphaFragmentOp2ATI(GL_DOT3_ATI,GL_REG_0_ATI,GL_SATURATE_BIT_ATI,GL_REG_2_ATI,GL_NONE,GL_2X_BIT_ATI | GL_BIAS_BIT_ATI,GL_REG_0_ATI,GL_NONE,GL_2X_BIT_ATI | GL_BIAS_BIT_ATI) glGetError() =GL_INVALID_OPERATION
glColorFragmentOp3ATI(GL_MAD_ATI,GL_REG_0_ATI,GL_NONE,GL_NONE,GL_REG_0_ATI,GL_ALPHA,GL_NONE,GL_CON_1_ATI,GL_NONE,GL_NONE,GL_CON_0_ATI,GL_NONE,GL_NONE)
glColorFragmentOp3ATI(GL_MAD_ATI,GL_REG_0_ATI,GL_NONE,GL_NONE,GL_REG_3_ATI,GL_RED,GL_NONE,GL_CON_2_ATI,GL_NONE,GL_NONE,GL_REG_0_ATI,GL_NONE,GL_NONE)
glEndFragmentShaderATI()