Re: glInterleavedArrays locks vertex memory?



jbwest schrieb:
"Ralph Kern" <usenet03@xxxxxxxx> wrote in message news:g7u8hq$ioa$1@xxxxxxxxxxxx
hi,

i have the following problem on a NVidia Quadro FX1700:
After using glInterleavedArrays and glDrawArrays the vertex field is write protected.

Driver: ForceWare 169.96, WinXP SP2

my code is:

glInterleavedArrays(GL_V3F, 0, &light->gl->aVert[0]);
for (s = 0; s < light->gl->aShellTrans.size(); s++)
{
Card32 nFirst = light->gl->aShellTrans[s].nFirst;
Card32 nLast = nFirst+light->gl->aShellTrans[s].nDraw;

SetupTrans(light->gl->aShellTrans[s].rShell, &info);
for (i = nFirst; i < nLast; i++)
{
glDrawArrays(light->gl->aDraw[i].mode, light->gl->aDraw[i].first, light->gl->aDraw[i].count);
}
glPopMatrix();
}

The aVert field is a std::vector of a xyz float struct.

After that any write acess on the vertex field gives "access violation". ie. light->gl->aVert[0].x = 0.0;

I tried to unlock using several commands, but with no use:

glInterleavedArrays(GL_V3F, 0, NULL);
glDisableClientState(GL_VERTEX_ARRAY);
glVertexPointer(4,GL_FLOAT,0,NULL);
glFinish();

Is that expected behaviour? Any tip for me?

thanks in advance
Ralph Kern



use a tool to check for a program memory bug, methinks you have one.

jbw



no, I checked the page access protection using VirtualQuery() Win32 API, and it clearly shows the protection changes from PAGE_READWRITE to PAGE_READONLY.

I nowhere use any write protected pages, so it's obviously done by the driver. The vertex field is just a std::vector<>.

In addition it is also happening when I replace the glInterleavedArrays/glDrawArrays by glBegin/glVertex3fv(&)/glEnd.

It doesn't happen when I use glBegin/glVertex3f(x,y,z)/glEnd. (Clearly the driver then does not know where my vertices are...)

regards Ralph

.



Relevant Pages

  • Re: glInterleavedArrays locks vertex memory?
    ... Driver: ForceWare 169.96, WinXP SP2 ... After that any write acess on the vertex field gives "access violation". ... use a tool to check for a program memory bug, ... no, I checked the page access protection using VirtualQueryWin32 API, ...
    (comp.graphics.api.opengl)
  • Re: OT: And so it begins...
    ... a protection scheme owned by ... driver. ... Player needed to be upgraded to play the CD. ... mandatory requirement to use godawful highschool-reject programmers to ...
    (comp.sys.ibm.pc.games.action)
  • Re: On my head be it if I dont wear a helmet
    ... So that they are better made and offer better protection to cyclists ... unreasonable speed for a fit cyclist), 30mph crashes (easily ... I can remember the days when if a driver gave you a lift and fastened his own seat-belt, it made you suspect that he was a nervous driver, lacking in confidence in his own skills and experience- because you perceived him as actively preparing to have a collision. ...
    (uk.rec.cycling)
  • Re: Kernel support for peer-to-peer protection models...
    ... Kernel support for peer-to-peer protection models... ... > Just FYI - Linux has been ported to several architectures with similar ... the owner of the page will have exposed the page to the driver before or as ...
    (Linux-Kernel)
  • [NT] Bypassing Pedestal Software Integrity Protection Driver (Time Vulnerability)
    ... This driver was created to provide protection against Rootkit ... To give administrator ability to uninstall IPD, ... which fixes this vulnerability. ...
    (Securiteam)