[PyOpenGL-Devel] contextdata.py 'Unhashable type' error with OSMesa
Brought to you by:
mcfletch
|
From: paul m. <pau...@gm...> - 2014-11-11 22:33:34
|
Howdy,
I am using PyOpenGL 3.1.0 with OSMesa for off-screen rendering. This worked
fine until I attempted to use the ARB_fragment_program extension to use a
custom fragment program (please don't question my use of ARB_vertex_program
- I need to support an ancient OpenGL configuration).
When calling OpenGL.GL.ARB.fragment_program.glGenProgramsARB, my program
crashes with an 'Unhashable type' error:
File "/.../glimage_funcs.py", line 126, in init
glimg.fragmentProgram = arbfp.glGenProgramsARB(1)
File "/.../python2.7/site-packages/OpenGL/latebind.py", line 45, in
__call__
return self._finalCall( *args, **named )
File "/.../python2.7/site-packages/OpenGL/wrapper.py", line 657, in
wrapperCall
result = wrappedOperation( *cArguments )
File "/.../python2.7/site-packages/OpenGL/platform/baseplatform.py", line
401, in __call__
if self.load():
File "/.../python2.7/site-packages/OpenGL/platform/baseplatform.py", line
390, in load
error_checker = self.error_checker,
File "/.../python2.7/site-packages/OpenGL/platform/baseplatform.py", line
148, in constructFunction
if (not is_core) and not self.checkExtension( extension ):
File "/.../python2.7/site-packages/OpenGL/platform/baseplatform.py", line
261, in checkExtension
set = contextdata.getValue( 'extensions', context=context )
File "/.../python2.7/site-packages/OpenGL/contextdata.py", line 106, in
getValue
contextStorage = storage.get( context )
TypeError: unhashable type
I have tried disabling OpenGL.contextdata with:
OpenGL.ERROR_ON_COPY = True
OpenGL.STORE_POINTERS = False
(as detailed in the OpenGL.contextdata module documentation), but this has
no effect.
Any ideas on how to overcome this?
Thanks very much,
Paul McCarthy
|