Re: access violation when calling glGenFramebuffers
Patrick Dietrich <[email protected]> Thu, 04 Apr 2013 17:05:10 +0200
| Newsgroups | gmane.comp.python.opengl.user |
|---|---|
| Message-ID | <[email protected]> |
Hi Cyrille, I have tested my program on MacOSX 10.7.5 with NVIDIA GeForce 9400M with PyOpenGL 3.0.2a5. It runs fine there. On a third machine running Windows 7 with 32 bit python, PyOpenGL 3.0.2b2 and "Intel HD Graphics" (don't know which one) the program runs but doesn't display what it's supposed to display (which may be a bug in my program). My guess is that the problem is either restricted to 64 bit python on Windows or to 64 bit python with my specific Intel graphics drivers. Are there other configurations with 64 bit python on Windows 7 on which glGenFramebuffers is reported to work? If it's a problem with the Intel drivers it should also occure when I use the native C interface of OpenGL shouldn't it? So if I write a litte C test program and compile it once in 32 bit mode and once in 64 bit mode I could see if it works, couldn't I? I would be surprised if it didn't though since some game developer would have stumbled upon this driver bug already, I guess. What do you think? I'm writing a scientific program for point cloud processing. While at the moment my datasets as well as the memory required for the algorithms fit into 4 GB of RAM this may change within the near future (my machine has 8 GB). So 32 bit python is only a temporary solution for me. At the moment most of my algorithms are CPU based, therefore the graphics hardware is mainly needed for display purposes. Therefor the moderately fast onboard Intel chip is suficient at the moment. On the other hand it even has support for OpenCL which makes it usefull for OpenCL algorithm development. Cheers, Patrick Am 03.04.2013 19:24, schrieb Cyrille Rossant: > Do you have the possibility to test your program on another > configuration? I had a program working perfectly well on multiple > configurations (Windows, Mac, Linux, etc.), except a particular one > (Windows 8 64 bits, Python 64 bits, Intel HD 3000). So this bug might > be due to some interaction between the Intel Windows drivers and > PyOpenGL/Python 64 bits. I fear that this bug may be very hard to fix > (especially if the drivers contain a bug somewhere). > > How much RAM do you have? If you have an Intel HD card I suppose that > you don't have so much memory that you absolutely need Python 64 bits > (with 32 bits you're probably limited to ~4GB objects). Those who will > really need a 64 bits distribution will probably have a better > graphics card anyway and may be able to use your program. > > Cyrille > > 2013/4/3 Patrick Dietrich <[email protected] > <mailto:[email protected]>> > > > As I'm trying to get my program fit for the future, I would like to > avoid "downgrading" to 32 bit python. > > I tracked the problem a bit further: > > I replaced > > self.framebuffer_id = glGenFramebuffers(1); > > with > > fbo = ctypes.c_uint(1) > OpenGL.raw.GL.EXT.framebuffer_object.glGenFramebuffersEXT(1, > ctypes.byref(fbo)) > self.framebuffer_id = int(fbo.value) > > I'm not sure if the code is ctype-wise correct but I think that > doesn't > make a real difference for the error: > > Traceback (most recent call last): > ... > File "C:\Users\Patrick\Dev\PCT\open_gl_widgets.py", line 203, > in __init__ > OpenGL.raw.GL.EXT.framebuffer_object.glGenFramebuffersEXT(1, > ctypes.byref(fbo)) > File > "C:\Python27\lib\site-packages\OpenGL\platform\baseplatform.py", > line 379, in __call__ > return self( *args, **named ) > WindowsError: exception: access violation writing 0xFFFFFFFFE812A790 > > Could anyone from the developers please help me track down the problem > further? I'm very happy to assist in fixing this problem! > > Cheers, > Patrick > > > Am 03.04.2013 17 <tel:03.04.2013%2017>:50, schrieb Cyrille Rossant: > > I had a similar problem with a similar configuration and a similar > > graphics card. I couldn't solve the problem, so I ended up > removing my > > whole 64 bits Python distribution and reinstalling everything with > > Python 32 bits... and it worked. > > > > Cyrille > > > ------------------------------------------------------------------------------ Minimize network downtime and maximize team effectiveness. Reduce network management and security costs.Learn how to hire the most talented Cisco Certified professionals. Visit the Employer Resources Portal http://www.cisco.com/web/learning/employer_resources/index.html _______________________________________________ PyOpenGL Homepage http://pyopengl.sourceforge.net