Problem with IndexedVertexList.delete crashing video driver

59 views
Skip to first unread message

Joe Cross

unread,
Dec 4, 2011, 1:54:49 AM12/4/11
to pyglet...@googlegroups.com
Posted this to the wrong address twice, off to a good start.  Here we go...

I've been working on this for a while, and simply can't figure out what's up.

The short version is when I call a bunch of deletes on VertexLists in the same batch, I seem to be crashing the driver.
Is this expected behavior? I think I'm trying to delete a few hundred at a time, and when I don't call delete, it has no problems.
Also, if I do the draws to unique batches and then draw those batches immediately, no problems. (Besides the giant performance drop that I'm trying to avoid.)

Also, if I comment out lines 679-682 in pyglet/graphics/vertexdomain.
py:
elif primcount == 1:
                # Common case
                glDrawElements(mode, sizes[0], self.index_gl_type,
                    self.index_buffer.ptr + starts[0])
That also takes care of the problem- doesn't matter what I do, with those lines commented out (and the code falling through to the next case) it runs fine.

I'm not yet sure how to make a succinct demo to run, but if any of you have the time, the github is:
https://github.com/numberoverzero/Game-Framework-for-Pyglet/tree/6d01416702f7b75581616d74b243185db4d7d669

To set it up, edit the path in Game-Framework-for-Pyglet/Testing/ExplosionMaker/__init__.py to reflect the directory that you cloned the repo to.
Then, run /Testing/CurrentTest.py

There is a bunch of "Explosion updated a particle" output to console, because I wanted to make sure that I wasn't calling delete twice on a particle anywhere.

Thanks for any help, and I'll work on getting a small demo script together so it's easier to test.

Joe Cross

unread,
Dec 4, 2011, 11:58:58 AM12/4/11
to pyglet-users
Hello,

Much simpler demo here.

https://github.com/numberoverzero/BatchDrawExample

Simply import Example and click around.

Main runs the window and update, and Shape takes care of rectangle
updating.
The reason for getters/setters on each variable is so that when they
change, verts are updated correctly.

Thanks again for any help,

Joe

On Dec 4, 1:54 am, Joe Cross <joe.mcr...@gmail.com> wrote:
> Posted this to the wrong address twice, off to a good start.  Here we go...
>
> I've been working on this for a while, and simply can't figure out what's
> up.
>
> The short version is when I call a bunch of deletes on VertexLists in the
> same batch, I seem to be crashing the driver.
> Is this expected behavior? I think I'm trying to delete a few hundred at a
> time, and when I don't call delete, it has no problems.
> Also, if I do the draws to unique batches and then draw those batches
> immediately, no problems. (Besides the giant performance drop that I'm
> trying to avoid.)
>
> Also, if I comment out lines 679-682 in pyglet/graphics/vertexdomain.
> py:
> elif primcount == 1:
>                 # Common case
>                 glDrawElements(mode, sizes[0], self.index_gl_type,
>                     self.index_buffer.ptr + starts[0])
> That also takes care of the problem- doesn't matter what I do, with those
> lines commented out (and the code falling through to the next case) it runs
> fine.
>
> I'm not yet sure how to make a succinct demo to run, but if any of you have

> the time, the github is:https://github.com/numberoverzero/Game-Framework-for-Pyglet/tree/6d01...

Joe Cross

unread,
Dec 4, 2011, 1:13:45 PM12/4/11
to pyglet-users
I think the problem is in the verts.delete call.
To demonstrate:
in Example/Shapes.Rectangle.delete, comment out the line
"self.verts.delete()"
(Shapes.py line 150)
The problem does not occur, and I cannot get it to crash again.

claudio canepa

unread,
Dec 4, 2011, 1:14:10 PM12/4/11
to pyglet...@googlegroups.com
On Sun, Dec 4, 2011 at 1:58 PM, Joe Cross <joe.m...@gmail.com> wrote:
Hello,

Much simpler demo here.

https://github.com/numberoverzero/BatchDrawExample

Simply import Example and click around.

Main runs the window and update, and Shape takes care of rectangle
updating.
The reason for getters/setters on each variable is so that when they
change, verts are updated correctly.

Thanks again for any help,

Joe



I see this app spawning some red quads at each lclick, which disappear in some time, and text counting the deleted quads.
Clicking fast or slow I see no 'crash' ( at least at 2000+ deleted ).

windows xp sp3,
python 2.6,
pyglet 1.2dev changeset: 2619:44f25d6bb97b
ati radeon 4650 with catalyst 11.5 drivers. 

Two things:

   - pyglet 1.1.3 had a bug like that ( deleting vertex list parts have problems, including crashes), see
and the follows up.
This was fixed for pyglet 1.1.4
So, what pyglet version are you running ?

 
  - sometimes it is a driver issue, so telling your OS and driver may ring a bell for some people.

--
claudio

claudio canepa

unread,
Dec 4, 2011, 1:23:48 PM12/4/11
to pyglet...@googlegroups.com


---------- Forwarded message ----------
From: Joe Cross <joe.m...@gmail.com>
Date: Sun, Dec 4, 2011 at 3:20 PM
Subject: Re: Problem with IndexedVertexList.delete crashing video driver
To: claudio canepa <ccan...@gmail.com>


Thanks for the info.

Windows 7 64bit, SP1,
python 2.7,
pyglet 1.1.4,
(main display) nvidia gtx580 with driver 285.62,
(second display, not used in tests) nvidia gtx 280 with driver 285.62

Here's the output of pyglet/info.py, let me know if there's anything
else that would be helpful.

Python
------------------------------------------------------------------------------
sys.version: 2.7.1 (r271:86832, Nov 27 2010, 18:30:46) [MSC v.1500 32
bit (Intel)]
sys.platform: win32
os.getcwd(): C:\Python27\Lib\site-packages\pyglet

pyglet
------------------------------------------------------------------------------
pyglet.version: 1.1.4
pyglet.__file__: C:\Python27\lib\site-packages\pyglet\__init__.pyc
pyglet.options['debug_trace_depth'] = 1
pyglet.options['font'] = ('gdiplus', 'win32')
pyglet.options['xsync'] = True
pyglet.options['debug_trace_flush'] = True
pyglet.options['debug_win32'] = False
pyglet.options['debug_gl_trace'] = False
pyglet.options['debug_x11'] = False
pyglet.options['shadow_window'] = True
pyglet.options['debug_font'] = False
pyglet.options['debug_media'] = False
pyglet.options['debug_trace'] = False
pyglet.options['debug_lib'] = False
pyglet.options['graphics_vbo'] = True
pyglet.options['vsync'] = None
pyglet.options['debug_trace_args'] = False
pyglet.options['debug_gl'] = False
pyglet.options['debug_graphics_batch'] = False
pyglet.options['audio'] = ('directsound', 'openal', 'alsa', 'silent')
pyglet.options['debug_texture'] = False
pyglet.options['debug_gl_trace_args'] = False

pyglet.window
------------------------------------------------------------------------------
platform: <pyglet.window.win32.Win32Platform object at 0x02C70170>
display: <pyglet.window.win32.Win32Display object at 0x02C701F0>
screens[0]: Win32Screen(x=0, y=0, width=1920, height=1080)
config['double_buffer'] = True
config['stereo'] = False
config['buffer_size'] = 32
config['aux_buffers'] = 4
config['sample_buffers'] = 0
config['samples'] = 0
config['red_size'] = 8
config['green_size'] = 8
config['blue_size'] = 8
config['alpha_size'] = 0
config['depth_size'] = 24
config['stencil_size'] = 0
config['accum_red_size'] = 16
config['accum_green_size'] = 16
config['accum_blue_size'] = 16
config['accum_alpha_size'] = 16
context: Win32Context()

pyglet.gl.gl_info
------------------------------------------------------------------------------
gl_info.get_version(): 4.2.0
gl_info.get_vendor(): NVIDIA Corporation
gl_info.get_renderer(): GeForce GTX 580/PCI/SSE2
gl_info.get_extensions():
  GL_ARB_ES2_compatibility
  GL_ARB_base_instance
  GL_ARB_blend_func_extended
  GL_ARB_color_buffer_float
  GL_ARB_compatibility
  GL_ARB_compressed_texture_pixel_storage
  GL_ARB_conservative_depth
  GL_ARB_copy_buffer
  GL_ARB_depth_buffer_float
  GL_ARB_depth_clamp
  GL_ARB_depth_texture
  GL_ARB_draw_buffers
  GL_ARB_draw_buffers_blend
  GL_ARB_draw_elements_base_vertex
  GL_ARB_draw_indirect
  GL_ARB_draw_instanced
  GL_ARB_explicit_attrib_location
  GL_ARB_fragment_coord_conventions
  GL_ARB_fragment_program
  GL_ARB_fragment_program_shadow
  GL_ARB_fragment_shader
  GL_ARB_framebuffer_object
  GL_ARB_framebuffer_sRGB
  GL_ARB_geometry_shader4
  GL_ARB_get_program_binary
  GL_ARB_gpu_shader5
  GL_ARB_gpu_shader_fp64
  GL_ARB_half_float_pixel
  GL_ARB_half_float_vertex
  GL_ARB_imaging
  GL_ARB_instanced_arrays
  GL_ARB_internalformat_query
  GL_ARB_map_buffer_alignment
  GL_ARB_map_buffer_range
  GL_ARB_multisample
  GL_ARB_multitexture
  GL_ARB_occlusion_query
  GL_ARB_occlusion_query2
  GL_ARB_pixel_buffer_object
  GL_ARB_point_parameters
  GL_ARB_point_sprite
  GL_ARB_provoking_vertex
  GL_ARB_robustness
  GL_ARB_sample_shading
  GL_ARB_sampler_objects
  GL_ARB_seamless_cube_map
  GL_ARB_separate_shader_objects
  GL_ARB_shader_atomic_counters
  GL_ARB_shader_bit_encoding
  GL_ARB_shader_image_load_store
  GL_ARB_shader_objects
  GL_ARB_shader_precision
  GL_ARB_shader_subroutine
  GL_ARB_shading_language_100
  GL_ARB_shading_language_420pack
  GL_ARB_shading_language_include
  GL_ARB_shading_language_packing
  GL_ARB_shadow
  GL_ARB_sync
  GL_ARB_tessellation_shader
  GL_ARB_texture_border_clamp
  GL_ARB_texture_buffer_object
  GL_ARB_texture_buffer_object_rgb32
  GL_ARB_texture_compression
  GL_ARB_texture_compression_bptc
  GL_ARB_texture_compression_rgtc
  GL_ARB_texture_cube_map
  GL_ARB_texture_cube_map_array
  GL_ARB_texture_env_add
  GL_ARB_texture_env_combine
  GL_ARB_texture_env_crossbar
  GL_ARB_texture_env_dot3
  GL_ARB_texture_float
  GL_ARB_texture_gather
  GL_ARB_texture_mirrored_repeat
  GL_ARB_texture_multisample
  GL_ARB_texture_non_power_of_two
  GL_ARB_texture_query_lod
  GL_ARB_texture_rectangle
  GL_ARB_texture_rg
  GL_ARB_texture_rgb10_a2ui
  GL_ARB_texture_storage
  GL_ARB_texture_swizzle
  GL_ARB_timer_query
  GL_ARB_transform_feedback2
  GL_ARB_transform_feedback3
  GL_ARB_transform_feedback_instanced
  GL_ARB_transpose_matrix
  GL_ARB_uniform_buffer_object
  GL_ARB_vertex_array_bgra
  GL_ARB_vertex_array_object
  GL_ARB_vertex_attrib_64bit
  GL_ARB_vertex_buffer_object
  GL_ARB_vertex_program
  GL_ARB_vertex_shader
  GL_ARB_vertex_type_2_10_10_10_rev
  GL_ARB_viewport_array
  GL_ARB_window_pos
  GL_ATI_draw_buffers
  GL_ATI_texture_float
  GL_ATI_texture_mirror_once
  GL_EXTX_framebuffer_mixed_formats
  GL_EXT_Cg_shader
  GL_EXT_abgr
  GL_EXT_bgra
  GL_EXT_bindable_uniform
  GL_EXT_blend_color
  GL_EXT_blend_equation_separate
  GL_EXT_blend_func_separate
  GL_EXT_blend_minmax
  GL_EXT_blend_subtract
  GL_EXT_compiled_vertex_array
  GL_EXT_depth_bounds_test
  GL_EXT_direct_state_access
  GL_EXT_draw_buffers2
  GL_EXT_draw_instanced
  GL_EXT_draw_range_elements
  GL_EXT_fog_coord
  GL_EXT_framebuffer_blit
  GL_EXT_framebuffer_multisample
  GL_EXT_framebuffer_object
  GL_EXT_framebuffer_sRGB
  GL_EXT_geometry_shader4
  GL_EXT_gpu_program_parameters
  GL_EXT_gpu_shader4
  GL_EXT_import_sync_object
  GL_EXT_multi_draw_arrays
  GL_EXT_packed_depth_stencil
  GL_EXT_packed_float
  GL_EXT_packed_pixels
  GL_EXT_pixel_buffer_object
  GL_EXT_point_parameters
  GL_EXT_provoking_vertex
  GL_EXT_rescale_normal
  GL_EXT_secondary_color
  GL_EXT_separate_shader_objects
  GL_EXT_separate_specular_color
  GL_EXT_shader_image_load_store
  GL_EXT_shadow_funcs
  GL_EXT_stencil_two_side
  GL_EXT_stencil_wrap
  GL_EXT_texture3D
  GL_EXT_texture_array
  GL_EXT_texture_buffer_object
  GL_EXT_texture_compression_dxt1
  GL_EXT_texture_compression_latc
  GL_EXT_texture_compression_rgtc
  GL_EXT_texture_compression_s3tc
  GL_EXT_texture_cube_map
  GL_EXT_texture_edge_clamp
  GL_EXT_texture_env_add
  GL_EXT_texture_env_combine
  GL_EXT_texture_env_dot3
  GL_EXT_texture_filter_anisotropic
  GL_EXT_texture_format_BGRA8888
  GL_EXT_texture_integer
  GL_EXT_texture_lod
  GL_EXT_texture_lod_bias
  GL_EXT_texture_mirror_clamp
  GL_EXT_texture_object
  GL_EXT_texture_sRGB
  GL_EXT_texture_sRGB_decode
  GL_EXT_texture_shared_exponent
  GL_EXT_texture_storage
  GL_EXT_texture_swizzle
  GL_EXT_texture_type_2_10_10_10_REV
  GL_EXT_timer_query
  GL_EXT_transform_feedback2
  GL_EXT_vertex_array
  GL_EXT_vertex_array_bgra
  GL_EXT_vertex_attrib_64bit
  GL_IBM_rasterpos_clip
  GL_IBM_texture_mirrored_repeat
  GL_KTX_buffer_region
  GL_NVX_conditional_render
  GL_NVX_gpu_memory_info
  GL_NV_alpha_test
  GL_NV_blend_minmax
  GL_NV_blend_square
  GL_NV_complex_primitives
  GL_NV_conditional_render
  GL_NV_copy_depth_to_color
  GL_NV_copy_image
  GL_NV_depth_buffer_float
  GL_NV_depth_clamp
  GL_NV_explicit_multisample
  GL_NV_fbo_color_attachments
  GL_NV_fence
  GL_NV_float_buffer
  GL_NV_fog_distance
  GL_NV_fragdepth
  GL_NV_fragment_program
  GL_NV_fragment_program2
  GL_NV_fragment_program_option
  GL_NV_framebuffer_multisample_coverage
  GL_NV_geometry_shader4
  GL_NV_gpu_program4
  GL_NV_gpu_program4_1
  GL_NV_gpu_program5
  GL_NV_gpu_program_fp64
  GL_NV_gpu_shader5
  GL_NV_half_float
  GL_NV_light_max_exponent
  GL_NV_multisample_coverage
  GL_NV_multisample_filter_hint
  GL_NV_occlusion_query
  GL_NV_packed_depth_stencil
  GL_NV_parameter_buffer_object
  GL_NV_parameter_buffer_object2
  GL_NV_path_rendering
  GL_NV_pixel_data_range
  GL_NV_point_sprite
  GL_NV_primitive_restart
  GL_NV_register_combiners
  GL_NV_register_combiners2
  GL_NV_shader_atomic_counters
  GL_NV_shader_buffer_load
  GL_NV_texgen_reflection
  GL_NV_texture_barrier
  GL_NV_texture_compression_vtc
  GL_NV_texture_env_combine4
  GL_NV_texture_expand_normal
  GL_NV_texture_lod_clamp
  GL_NV_texture_multisample
  GL_NV_texture_rectangle
  GL_NV_texture_shader
  GL_NV_texture_shader2
  GL_NV_texture_shader3
  GL_NV_transform_feedback
  GL_NV_transform_feedback2
  GL_NV_vertex_array_range
  GL_NV_vertex_array_range2
  GL_NV_vertex_attrib_integer_64bit
  GL_NV_vertex_buffer_unified_memory
  GL_NV_vertex_program
  GL_NV_vertex_program1_1
  GL_NV_vertex_program2
  GL_NV_vertex_program2_option
  GL_NV_vertex_program3
  GL_OES_depth24
  GL_OES_depth32
  GL_OES_depth_texture
  GL_OES_element_index_uint
  GL_OES_fbo_render_mipmap
  GL_OES_get_program_binary
  GL_OES_mapbuffer
  GL_OES_packed_depth_stencil
  GL_OES_rgb8_rgba8
  GL_OES_standard_derivatives
  GL_OES_texture_3D
  GL_OES_texture_float
  GL_OES_texture_float_linear
  GL_OES_texture_half_float
  GL_OES_texture_half_float_linear
  GL_OES_texture_npot
  GL_OES_vertex_array_object
  GL_OES_vertex_half_float
  GL_S3_s3tc
  GL_SGIS_generate_mipmap
  GL_SGIS_texture_lod
  GL_SGIX_depth_texture
  GL_SGIX_shadow
  GL_SUN_slice_accum
  GL_WIN_swap_hint
  WGL_EXT_swap_control

pyglet.gl.glu_info
------------------------------------------------------------------------------
glu_info.get_version(): 1.2.2.0 Microsoft Corporation
glu_info.get_extensions():
  GL_EXT_bgra

pyglet.gl.glx_info
------------------------------------------------------------------------------
GLX not available.

pyglet.media
------------------------------------------------------------------------------
driver: pyglet.media.drivers.directsound

pyglet.media.avbin
------------------------------------------------------------------------------
AVbin not available.

pyglet.media.drivers.openal
------------------------------------------------------------------------------
OpenAL not available.

Joe


On Dec 4, 1:14 pm, claudio canepa <ccanep...@gmail.com> wrote:

> On Sun, Dec 4, 2011 at 1:58 PM, Joe Cross <joe.mcr...@gmail.com> wrote:
> > Hello,
>
> > Much simpler demo here.
>
> >https://github.com/numberoverzero/BatchDrawExample
>
> > Simply import Example and click around.
>
> > Main runs the window and update, and Shape takes care of rectangle
> > updating.
> > The reason for getters/setters on each variable is so that when they
> > change, verts are updated correctly.
>
> > Thanks again for any help,
>
> > Joe
>
> I see this app spawning some red quads at each lclick, which disappear in
> some time, and text counting the deleted quads.
> Clicking fast or slow I see no 'crash' ( at least at 2000+ deleted ).
>
> windows xp sp3,
> python 2.6,
> pyglet 1.2dev changeset: 2619:44f25d6bb97b
> ati radeon 4650 with catalyst 11.5 drivers.
>
> Two things:
>
>    - pyglet 1.1.3 had a bug like that ( deleting vertex list parts have
> problems, including crashes), seehttp://thread.gmane.org/gmane.comp.python.pyglet.user/3123/focus=3194

claudio canepa

unread,
Dec 4, 2011, 1:38:24 PM12/4/11
to pyglet...@googlegroups.com
On Sun, Dec 4, 2011 at 3:23 PM, claudio canepa <ccan...@gmail.com> wrote:


---------- Forwarded message ----------
From: Joe Cross <joe.m...@gmail.com>
Date: Sun, Dec 4, 2011 at 3:20 PM
Subject: Re: Problem with IndexedVertexList.delete crashing video driver
To: claudio canepa <ccan...@gmail.com>


Thanks for the info.

Windows 7 64bit, SP1,
python 2.7,
pyglet 1.1.4,
(main display) nvidia gtx580 with driver 285.62,
(second display, not used in tests) nvidia gtx 280 with driver 285.62

For win64 + python 64bits I know there is a patch (issue 510).

I don't remember the current status for win64 + python 32bits.
Someone in the list knows ?  

Anyone in win64 + python 32bits can test  Joe Cross script ?

--
claudio

Joe Cross

unread,
Dec 19, 2011, 6:06:52 AM12/19/11
to pyglet-users
Not much of an update, but I had someone else try running the demo,
and it crashed them out quickly.
Commenting out the verts.delete() call in the Rectangle's delete
method prevented the crash for them as well.
I didn't take down all their info at the time (dumb) but they were
also python x32, win7 x64. They were using an nvidia 570 (I believe)
with latest non-beta drivers.
Anyone else able to check win64 + python32, I would really appreciate
it.


Joe

On Dec 4, 1:38 pm, claudio canepa <ccanep...@gmail.com> wrote:

Joe Cross

unread,
Dec 19, 2011, 5:08:16 PM12/19/11
to pyglet-users
Hunted around a bit, some possibly-related info here:

http://code.google.com/p/pyglet/issues/detail?id=423. This was closed
in August 2009 as fixed, but sounds very similar to what i'm seeing.

I can't test now, but the OP had this workaround:

"Workaround -- simply disable the branch of the if..else... which
attempts
to call glMultiDrawElements. The remaining branches of the if will
correctly handle the drawing without attempting to optimize things
with a
call to glMultiDrawElements"

One of the comments (http://code.google.com/p/pyglet/issues/detail?
id=423#c1)
mentions:

"I've got the same symptoms in a game I'm working on. It happened when
I created an
indexed vertex list in a batch, then called delete() on the vertex
list, then tried
to draw the batch again. Workaround suggested above works, thanks."

I'll test when I can- anyone have an ideas as to why I might be seeing
this again (with glMultiDrawElements NOT commented out)?

Jake b

unread,
Dec 19, 2011, 10:23:28 PM12/19/11
to pyglet...@googlegroups.com
There's a property() decorator as of python2.6  : http://docs.python.org/library/functions.html#property

On Sun, Dec 4, 2011 at 10:58 AM, Joe Cross <joe.m...@gmail.com> wrote:
Hello,

Much simpler demo here.

https://github.com/numberoverzero/BatchDrawExample

Simply import Example and click around.

Main runs the window and update, and Shape takes care of rectangle
updating.
The reason for getters/setters on each variable is so that when they
change, verts are updated correctly.

--
Jake

Joe Cross

unread,
Dec 20, 2011, 12:10:33 AM12/20/11
to pyglet-users
Thanks! I have properties in there, they're below the get/set
methods.
This was a quick demo, so I used PyDev's auto naming, and forgot to
privatize them. But yes, there's properties in there =)

On Dec 19, 10:23 pm, Jake b <ninmonk...@gmail.com> wrote:
> There's a property() decorator as of python2.6  :http://docs.python.org/library/functions.html#property
>

Joe Cross

unread,
Dec 20, 2011, 12:17:16 AM12/20/11
to pyglet-users
Just tested commenting out code in pyglet/graphics/vertexdomain.py:

#elif primcount == 1:
# # Common case
# glDrawElements(mode, sizes[0], self.index_gl_type,
# self.index_buffer.ptr + starts[0])

this forces it to use glMultiDrawElements, and I'm not able to crash
the demo on the computer I originally ran into a problem with.
It happily deletes vertices all day.

does this help at all? Is this suggesting card/driver problem, or
32/64 problem? I'm not familiar enough with OpenGL to know what the
significance of MultiDrawElements vs DrawElements is....
I'll see what I can find.

Joe

Joe Cross

unread,
Dec 21, 2011, 5:44:53 PM12/21/11
to pyglet-users
Had some time to get info together from my laptop- win64 py32 2.7.1
Note: Commenting out the section from previous reply also seems to
prevent the crash on the laptop.

However, I'm getting an actual error on my laptop (integrated
graphics) and I'm not having the screen freeze to black and restart.
Here's the message:

Traceback (most recent call last):
File "C:\Users\Joe Laptop\git\numberoverzero\BatchDrawExample\src
\Example\__init__.py", line 6, in <module>
TestWindow.run()
File "C:\Users\Joe Laptop\git\numberoverzero\BatchDrawExample\src
\Example\Main.py", line 74, in run
self.batch.draw()
File "c:\Python27\lib\site-packages\pyglet\graphics\__init__.py",
line 538, in draw
func()
File "c:\Python27\lib\site-packages\pyglet\graphics\__init__.py",
line 470, in <lambda>
(lambda d, m: lambda: d.draw(m))(domain, mode))
File "c:\Python27\lib\site-packages\pyglet\graphics
\vertexdomain.py", line 681, in draw
self.index_buffer.ptr + starts[0])
WindowsError: exception: access violation reading 0x0810D860


pyglet/info.py:
pyglet.options['debug_gl'] = True
pyglet.options['debug_graphics_batch'] = False
pyglet.options['audio'] = ('directsound', 'openal', 'alsa', 'silent')
pyglet.options['debug_texture'] = False
pyglet.options['debug_gl_trace_args'] = False

pyglet.window
------------------------------------------------------------------------------
platform: <pyglet.window.win32.Win32Platform object at 0x02D4A170>
display: <pyglet.window.win32.Win32Display object at 0x02D4A1F0>
screens[0]: Win32Screen(x=0, y=0, width=1440, height=900)
config['double_buffer'] = True
config['stereo'] = False
config['buffer_size'] = 32
config['aux_buffers'] = 0
config['sample_buffers'] = 0
config['samples'] = 0
config['red_size'] = 8
config['green_size'] = 8
config['blue_size'] = 8
config['alpha_size'] = 8
config['depth_size'] = 24
config['stencil_size'] = 8
config['accum_red_size'] = 16
config['accum_green_size'] = 16
config['accum_blue_size'] = 16
config['accum_alpha_size'] = 16
context: Win32Context()

pyglet.gl.gl_info
------------------------------------------------------------------------------
gl_info.get_version(): 2.1.0 - Build 8.15.10.2401
gl_info.get_vendor(): Intel
gl_info.get_renderer(): Intel(R) HD Graphics
gl_info.get_extensions():
GL_3DFX_texture_compression_FXT1
GL_ARB_color_buffer_float
GL_ARB_compatibility
GL_ARB_copy_buffer
GL_ARB_depth_buffer_float
GL_ARB_depth_clamp
GL_ARB_depth_texture
GL_ARB_draw_buffers
GL_ARB_draw_elements_base_vertex
GL_ARB_draw_instanced
GL_ARB_fragment_program
GL_ARB_fragment_shader
GL_ARB_framebuffer_object
GL_ARB_framebuffer_sRGB
GL_ARB_half_float_pixel
GL_ARB_half_float_vertex
GL_ARB_map_buffer_range
GL_ARB_multitexture
GL_ARB_occlusion_query
GL_ARB_pixel_buffer_object
GL_ARB_point_parameters
GL_ARB_point_sprite
GL_ARB_sampler_objects
GL_ARB_seamless_cube_map
GL_ARB_shader_objects
GL_ARB_shading_language_100
GL_ARB_shadow
GL_ARB_sync
GL_ARB_texture_border_clamp
GL_ARB_texture_compression
GL_ARB_texture_compression_rgtc
GL_ARB_texture_cube_map
GL_ARB_texture_env_add
GL_ARB_texture_env_combine
GL_ARB_texture_env_crossbar
GL_ARB_texture_env_dot3
GL_ARB_texture_float
GL_ARB_texture_non_power_of_two
GL_ARB_texture_rectangle
GL_ARB_texture_rg
GL_ARB_transpose_matrix
GL_ARB_uniform_buffer_object
GL_ARB_vertex_array_bgra
GL_ARB_vertex_array_object
GL_ARB_vertex_buffer_object
GL_ARB_vertex_program
GL_ARB_vertex_shader
GL_ARB_window_pos
GL_ATI_separate_stencil
GL_EXT_abgr
GL_EXT_bgra
GL_EXT_blend_color
GL_EXT_blend_equation_separate
GL_EXT_blend_func_separate
GL_EXT_blend_minmax
GL_EXT_blend_subtract
GL_EXT_clip_volume_hint
GL_EXT_compiled_vertex_array
GL_EXT_draw_buffers2
GL_EXT_draw_range_elements
GL_EXT_fog_coord
GL_EXT_framebuffer_blit
GL_EXT_framebuffer_object
GL_EXT_gpu_program_parameters
GL_EXT_multi_draw_arrays
GL_EXT_packed_depth_stencil
GL_EXT_packed_float
GL_EXT_packed_pixels
GL_EXT_rescale_normal
GL_EXT_secondary_color
GL_EXT_separate_specular_color
GL_EXT_shadow_funcs
GL_EXT_stencil_two_side
GL_EXT_stencil_wrap
GL_EXT_texture3D
GL_EXT_texture_array
GL_EXT_texture_compression_s3tc
GL_EXT_texture_edge_clamp
GL_EXT_texture_env_add
GL_EXT_texture_env_combine
GL_EXT_texture_filter_anisotropic
GL_EXT_texture_lod_bias
GL_EXT_texture_rectangle
GL_EXT_texture_sRGB
GL_EXT_texture_shared_exponent
GL_EXT_texture_snorm
GL_EXT_texture_swizzle
GL_EXT_transform_feedback
GL_IBM_texture_mirrored_repeat
GL_INTEL_performance_queries
GL_NV_blend_square
GL_NV_conditional_render
GL_NV_primitive_restart
GL_NV_texgen_reflection
GL_SGIS_generate_mipmap
GL_SGIS_texture_edge_clamp
GL_SGIS_texture_lod
GL_WIN_swap_hint

pyglet.gl.glu_info
------------------------------------------------------------------------------
glu_info.get_version(): 1.2.2.0 Microsoft Corporation
glu_info.get_extensions():
GL_EXT_bgra

pyglet.gl.glx_info
------------------------------------------------------------------------------
GLX not available.

pyglet.media
------------------------------------------------------------------------------
driver: pyglet.media.drivers.directsound

pyglet.media.avbin
------------------------------------------------------------------------------
AVbin not available.

pyglet.media.drivers.openal
------------------------------------------------------------------------------
OpenAL not available.

Andrew Coleman

unread,
Dec 21, 2011, 5:49:06 PM12/21/11
to pyglet...@googlegroups.com
I was the tester, and you got all the information of my setup and testing correct. Apologies for not posting to this thread sooner, I got distracted. :-) Imagine my surprise reading about myself.

--
You received this message because you are subscribed to the Google Groups "pyglet-users" group.
To post to this group, send email to pyglet...@googlegroups.com.
To unsubscribe from this group, send email to pyglet-users...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/pyglet-users?hl=en.




--
---
Andrew Coleman
Reply all
Reply to author
Forward
0 new messages