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.