Doing some experimentation, if I remove the create_attribute/attrs.enable 
lines and replace them with direct calls to 
glEnableVertexAttribArray/glVertexAttribPointer it works (well, it doesn't 
crash; it did reveal some problems in my understanding of how array buffers 
work, but... :P). So, either I'm using the create_attribute/etc stuff wrong 
(likely), or it's incompatible with my openGL or there is some kind of bug 
in pyglet... If I have some time soon I'll try to dig down in to the pyglet 
code to figure out what's going on (although, my experience with ctypes and 
interacting with C code is a bit thin... which is likely the source of my 
problem).

On Saturday, May 11, 2013 6:02:50 PM UTC-4, Isaac Freeman wrote:
>
> Ohh yeah, here's some system info if that helps:
>
> Linux Mint 14
>
> $ uname -a
> Linux daetonis 3.5.0-17-generic #28-Ubuntu SMP Tue Oct 9 19:31:23 UTC 2012 
> x86_64 x86_64 x86_64 GNU/Linux
>
> $ apt-cache policy python python-pyglet
> python:
>   Installed: 2.7.3-0ubuntu7
>   Candidate: 2.7.3-0ubuntu7
>   Version table:
>  *** 2.7.3-0ubuntu7 0
>         500 http://archive.ubuntu.com/ubuntu/ quantal/main amd64 Packages
>         100 /var/lib/dpkg/status
> python-pyglet:
>   Installed: 1.1.4.dfsg-2build1
>   Candidate: 1.1.4.dfsg-2build1
>   Version table:
>  *** 1.1.4.dfsg-2build1 0
>         500 http://archive.ubuntu.com/ubuntu/ quantal/universe amd64 
> Packages
>         100 /var/lib/dpkg/status
>
> >>> pyglet.__file__
> '/usr/lib/pymodules/python2.7/pyglet/__init__.pyc'
>
> 01:00.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI 
> Turks [Radeon HD 6670]
>
> $ apt-cache policy fglrx-updates
> fglrx-updates:
>   Installed: 2:9.000-0ubuntu3
>   Candidate: 2:9.000-0ubuntu3
>   Version table:
>  *** 2:9.000-0ubuntu3 0
>         500 http://archive.ubuntu.com/ubuntu/ quantal/restricted amd64 
> Packages
>         100 /var/lib/dpkg/status
>
> On Saturday, May 11, 2013 1:47:23 PM UTC-4, Isaac Freeman wrote:
>>
>> I'm getting a strange segfault using VBOs/VAOs when I call glDraw 
>> array.... I've run out of ideas how to fix it.. Any suggestions would be 
>> greatly appreciated.
>>
>> the code is here:
>>
>> http://dpaste.com/1141633/
>>
>> The debug log says:
>>
>> libGL: AtiGetClientDriverName: 9.0.2 fglrx (screen 0)
>> libGL: OpenDriver: trying /usr/lib/fglrx/dri/fglrx_dri.so
>> ukiDynamicMajor: found major device number 250
>> ukiDynamicMajor: found major device number 250
>> ukiOpenByBusid: Searching for BusID PCI:1:0:0
>> ukiOpenDevice: node name is /dev/ati/card0
>> ukiOpenDevice: open result is 10, (OK)
>> ukiOpenByBusid: ukiOpenMinor returns 10
>> ukiOpenByBusid: ukiGetBusid reports PCI:1:0:0
>> glGetString(7936)
>> glGetString(7937)
>> glGetString(7939)
>> glGetString(7938)
>> glGetString(7936)
>> glGetString(7937)
>> glGetString(7939)
>> glGetString(7938)
>> gluGetString(100801)
>> gluGetString(100800)
>> glEnable(2884)
>> glEnable(2929)
>> glGenBuffers(1, <pyglet.gl.gl.LP_c_u)
>> glGetString(7936)
>> glGetString(7937)
>> glGetString(7939)
>> glGetString(7938)
>> glClearColor(0.0, 0.0, 0.0, 1.0)
>>  * Converting cverts to GLfloat data
>>  * Creating VBO
>> glGenBuffers(1, c_uint(2L))
>> glPushClientAttrib(2)
>> glBindBuffer(34962, 2L)
>> glBufferData(34962, 768, None, 35040)
>> glPopClientAttrib()
>>  * Creating VAO
>>  * Compiling shaders
>> glCreateProgram()
>> glCreateShader(35633)
>> glShaderSource(2L, 1, <pyglet.gl.glext_arb, None)
>> glCompileShader(2L)
>> glGetShaderiv(2L, 35713, <cparam 'P' (0x7f750)
>> glAttachShader(1L, 2L)
>> glCreateShader(35632)
>> glShaderSource(3L, 1, <pyglet.gl.glext_arb, None)
>> glCompileShader(3L)
>> glGetShaderiv(3L, 35713, <cparam 'P' (0x19f32)
>> glAttachShader(1L, 3L)
>> glLinkProgram(1L)
>> glGetProgramiv(1L, 35714, <cparam 'P' (0x19f32)
>>  * Binding shaders
>> glUseProgram(1L)
>>  * Starting app loop
>> glViewport(0, 0, 800, 800)
>> glMatrixMode(5889)
>> glLoadIdentity()
>> glOrtho(0, 800, 0, 800, -1, 1)
>> glMatrixMode(5888)
>>  * update called
>> glBindBuffer(34962, 2L)
>> glPushClientAttrib(2)
>> glBindBuffer(34962, 2L)
>> glBufferData(34962, 768, <__main__.c_float_Ar, 35040)
>> glPopClientAttrib()
>> glBindBuffer(34962, 0)
>>  * on_draw called
>> glClearColor(0.0, 0.0, 0.0, 1.0)
>> glClear(16384)
>>    * binding verts
>> glBindBuffer(34962, 2L)
>>    * binding attrs
>> glEnableClientState(32884)
>>    * drawing arrays
>> Segmentation fault
>>
>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"pyglet-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/pyglet-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to