execom_rt
04-13-2005, 10:57 AM
I'm trying to convert some DX PS1.4 code to OpenGL for ATI 8500/9200
I'm using this nice tool : PS14toATIfs (http://nifelheim.dyndns.org/~cocidius/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,0xc72f aac)
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_NO NE,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_G REEN_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_SWIZZL E_STR_ATI)
glPassTexCoordATI(GL_REG_1_ATI,GL_REG_1_ATI,GL_SWI ZZLE_STR_ATI)
glPassTexCoordATI(GL_REG_2_ATI,GL_REG_2_ATI,GL_SWI ZZLE_STR_ATI)
glAlphaFragmentOp2ATI(GL_DOT3_ATI,GL_REG_0_ATI,GL_ SATURATE_BIT_ATI,GL_REG_2_ATI,GL_NONE,GL_2X_BIT_AT I | 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_N ONE,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_N ONE,GL_NONE,GL_REG_3_ATI,GL_RED,GL_NONE,GL_CON_2_A TI,GL_NONE,GL_NONE,GL_REG_0_ATI,GL_NONE,GL_NONE)
glEndFragmentShaderATI()
I'm using this nice tool : PS14toATIfs (http://nifelheim.dyndns.org/~cocidius/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,0xc72f aac)
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_NO NE,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_G REEN_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_SWIZZL E_STR_ATI)
glPassTexCoordATI(GL_REG_1_ATI,GL_REG_1_ATI,GL_SWI ZZLE_STR_ATI)
glPassTexCoordATI(GL_REG_2_ATI,GL_REG_2_ATI,GL_SWI ZZLE_STR_ATI)
glAlphaFragmentOp2ATI(GL_DOT3_ATI,GL_REG_0_ATI,GL_ SATURATE_BIT_ATI,GL_REG_2_ATI,GL_NONE,GL_2X_BIT_AT I | 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_N ONE,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_N ONE,GL_NONE,GL_REG_3_ATI,GL_RED,GL_NONE,GL_CON_2_A TI,GL_NONE,GL_NONE,GL_REG_0_ATI,GL_NONE,GL_NONE)
glEndFragmentShaderATI()