Opened 14 years ago
Closed 14 years ago
#7395 closed defect (fixed)
glGetVertexAttrib[if]v returns superfluous data -> memory corruption -> Fixed in SVN
Reported by: | kuroneko | Owned by: | |
---|---|---|---|
Component: | 3D support | Version: | VirtualBox 3.2.8 |
Keywords: | Cc: | ||
Guest type: | other | Host type: | other |
Description
Host: Windows Vista, guest: Windows XP/SP3 with guest additions 3.2.8r64453
I'm aware that 3D support is experimental but so far I did't have any issues apart from the memory corruption caused by glGetVertexAttrib[if]v.
This function allows for 7 different name parameters:
GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING GL_VERTEX_ATTRIB_ARRAY_ENABLED GL_VERTEX_ATTRIB_ARRAY_SIZE GL_VERTEX_ATTRIB_ARRAY_STRIDE GL_VERTEX_ATTRIB_ARRAY_TYPE GL_VERTEX_ATTRIB_ARRAY_NORMALIZED GL_CURRENT_VERTEX_ATTRIB
The first 6 return a *single* GLint/GLfloat, the last one returns 4. What I experience is that the first 6 names return 4 parameters as well (the real one and garbage), therefore corrupting program variable/stack info which usually kills my program. This does not happen when running natively under Vista or XP.
As a side note, using GL_CURRENT_VERTEX_ATTRIB for index 0 should fail.
I'll attach a modified NeHe lesson (#6) which issues the relevant call (around line 200) and asserts when too much data is returned.
Attachments (2)
Change History (4)
by , 14 years ago
Attachment: | validation-2010-08-30-09-36-10.log added |
---|
comment:1 by , 14 years ago
Summary: | glGetVertexAttrib[if]v returns superfluous data -> memory corruption → glGetVertexAttrib[if]v returns superfluous data -> memory corruption -> Fixed in SVN |
---|
Thank you for report, fixed in the tree.
comment:2 by , 14 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
VM log