On Sun, May 12, 2013 at 7:49 AM, Isaac Freeman <[email protected]> wrote:
> 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/<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/<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/<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. > > > -- 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.
