AMD bug: GL 3.x glClearBuffer - access violation

Has anyone else noticed, but none of the newer GL 3.x versions of glClear work. Each time they are executed I get an access violation - yet they work fine on my Geforce 8600m.

I’m using a GL 3.3 compatability profile, Catalyst 11.10 preview2 drivers with a Radeon 4850.
The same problem has existed on all catalyst versions ever since GL 3 was introduced; I have tried Cat 10.3, 10.7, 10.9,11.1,11.9 and now 11.10 p2 Catalyst drivers - all with the same result.

I have coded around the issue in my main part of the rendering engine with the following (testing for AMD h/w):


   if (glwindow.RunTime.RendererInfo.SupportedExtensions.GL[Opengl_30]) AND (NOT glwindow.RunTime.RendererInfo.VendorATI) then
   begin
       glClearBufferfi (GL_DEPTH_STENCIL, 0, 1.0, 0);
       glClearBufferfv (GL_COLOR, 0, @scenevariables.ClearColor.r);    //mrt color
       if MRT_RENDER_ENABLE then
       begin
           glClearBufferfv (GL_COLOR, 1, @MRT_Normal_Clear.r);    //mrt normal
           glClearBufferfv (GL_COLOR, 2, @MRT_Position_Clear.r);    //mrt position
       end;
   end else
   begin
       glClearDepth (1.0);
       glclearstencil (0);
       glClearColor (scenevariables.ClearColor.r, scenevariables.ClearColor.g, scenevariables.ClearColor.b , scenevariables.ClearColor.a);
       glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT or GL_STENCIL_BUFFER_BIT);
   end;

but now that I’ve created an RGBA unsigned Integer texture (GL_RGBA32UI internal format) for object picking and selection, the same issue has cropped up again.

glClearBufferuiv (GL_COLOR, 0, @Black_ClearColorUI.X)    //Black_ClearColorUI: TVertex4ui = (X:6;Y:1;Z:100;W:0);

So basically, on AMD drivers, calling either glClearBufferuiv or glClearBufferfv causes an access violation.

Anyone else have the same issue?
can someone from AMD fix this please.

yet again I doubt the robustness of the opengl language binding. I am not saying it is not problem of the driver, but it should not be the problem of these two functions. The real criminal should be elsewhere in the driver, I guess.

If possible, could you send me the faulty code?

The code I posted above will cause the problem. Do you want me to send some sample binary - I could but it’s surely easy to reproduce?

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.