the class TestMRTShader implement some basic MRT function.
the source code of shader are store in folder "./source/STEngineNew/shader/test MRT"
It bind output location in following manner (see TestMRTShader::bindOutputLocation)

At least I want to be confirmed if this is a bug or not to continue my development.

Please.

Groovounet

05-10-2010, 03:19 AM

I guess you just did in a perfect manner.
Sometime, both AMD and nVidia lack of feedback from bug report beside bug fixed.

frank li

05-10-2010, 07:38 PM

I will help to verify it. As the download link is unavailable, could you please provide the test program?

Thanks
Frank

somboon

05-11-2010, 01:58 AM

This is the new link that fix archive's CRC error

http://www.mediafire.com/download.php?wdikfxrmnhm

frank li

05-17-2010, 02:08 AM

The website "http://www.mediafire.com/" is forbidden in our network. Could you please send me the program? I have send my email by PM. It seems you missed it:)

Thanks
Frank

somboon

05-27-2010, 04:49 PM

Look like the this strange bug/change in behavior is still presents in catalyst 10.5 and I still don't recived any comment from ATI :sorrow:

frank li

05-27-2010, 07:46 PM

This bug could be reproduced. It's a regression according to what you said. We are going to looking into it. I will tell you if the bug is fixed.

Thanks
Frank

somboon

05-28-2010, 01:30 AM

Thanks , Mr. frank. :)

somboon

06-04-2010, 05:23 PM

Hi MR frank.

Are you an ATI driver developer ?

If you are , I have some question about OpenGL 3.3.
Is this bug also in OpenGL 3.3 core profile ?
I would like to port my APP from OpenGL 3.2 core profile to OpenGL 3.3 core profile but if this bug also in 3.3 I will wait for the next release of driver instead.

Thanks in advance.

somboon

06-05-2010, 07:39 AM

********UPDATE********

I have found the cause of problem.
It look like I call glBindFragDataLocation in the wrong place.

I alway call this function after linking which is suppose to be wrong.

May be in old version of the driver the predefined output location accidently match my parameter (redChannel = 0,greenChannel = 1 1 etc..).

Calling the function before linking as it suppose to be totally fix the problem.

Still have to test this on my brother's NVIDIA 9800GT card

Heiko

06-05-2010, 09:03 AM

Ah, of course. Funny how none of us noticed that! glBindFragDataLocation must indeed be called before the program is linked. If nVidia allows it after binding, you were probably lucky it worked on nVidia, or it is a driver bug on their side that they allow calling the function after linking.

somboon

06-05-2010, 11:00 AM

In my other topic about transform feedback not working on GF9800GT , I also do the same mistake by calling glTransformFeedbackVarying after linking which is allowed on ATI catalyst 10.3 but generate error
on NVIDIA 197.45 (hadn't test with newer version so I dont know if catalyst 10.4/10.5 still allow this)

frank li

06-08-2010, 10:08 PM

Hi Somboon,
That's great that you have found the root cause and it won't block your work right now. I'm an ATI driver developer. We will give you better feedback next time:)
The reason it works on nVidia is luck. If you swap the locations of "greenChannel" and "yellowChannel", it fails on nVidia too.

frank li

06-10-2010, 10:48 PM

I think it's allowed that we call glTransformFeedbackVarying after linking, but without any effect. Why did you say it's disallowed?
It's also strange to generate an error against it, could you please tell me what kind of error is generated.