cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

Melanikus
Journeyman III

ATI Mobility Radeon problems (OpenGL)

So, I'm making this opensource didactic examples to help a teacher to show CG tecniques with interactive examples. Two of them are related to cube-mapping and another one has a phong shader. I'm having problems. 

I've made the samples on my desktop with a NVidia 9800 GTX+ and tried them on my laptop which is a HP DV-4 with a HD 4200 Mobility Radeon card, two problems arised, first, texture border does not work on the HD4200, no erros, just freezes, also, when I'm using shaders, I get a error linking the shaders, if I ignore it, the shader still runs perfectly even tho GL_LINK_STATUS returns 0 (both problems do not happen on my desktop). Also, no infolog is returned after I link the shaders

I can live with both problems but I want to make it right, first, is there any way to check if texture border is availible? as far as I know there's not texture border extension (to be checked) and it should be part of usual OpenGL implementation (1.3 if I'm not mistaken)

I've looked alot for a way to check, updated drivers and still got nothing. Any ideas? Thanks alot!

0 Likes
5 Replies
frali
Staff

Could you please post the shader? I would like to see what's wrong with the shader. Sometimes the shader is written in nvidia style which is not standard so that it failes to compile/link on amd card.

0 Likes

I'm very sorry frali, there's nothing wrong at all, I was checking the shader link status with glGetShaderiv instead of glGetProgramiv =/

 

 

Originally posted by: pboudier are you trying to use the 1-texel wide texture border ? that is indeed not HW accelerated for AMD, so it is recommended not to use it.

Pierre B/

 

Yes, exactly! 

When texture border is active there's no actual CRASH, the functions are just DEAD slow (10s to  > 1min to return) even "non-related" calls like glLightfv() , I just never bothered to see if the scene is actually rendered since some calls seemed to not return at all, would it be rendered in software then?

Anyway, thanks ALOT guys, you've been very helpful, now, is there a way to check if I'm using NVIDIA or ATI with OpenGL? I'm making it portable to Windows/Linux and Mac in the future and don't want to make any system or specific library call =/ 

 

0 Likes

i think glGetString() with GL_VENDOR or GL_RENDERER and check if it contain ATI or NVIDIA

0 Likes

Originally posted by: nou i think glGetString() with GL_VENDOR or GL_RENDERER and check if it contain ATI or NVIDIA

GL_VENDOR returns the maker of OpenGL implementation, thank you!

0 Likes
pboudier
Staff

are you trying to use the 1-texel wide texture border ? that is indeed not HW accelerated for AMD, so it is recommended not to use it.

 

Pierre B/

0 Likes