Using glAccum causes laptop freezing

Does anyone have an idea why my laptop keeps freezing when I invoke
simple uses of OpenGLs accumulation buffer function, for example the
attached file from “the Red book”?

Compiled as follows,

gcc -Wall -O3 dof.c -lglut -L/usr/X11R6/lib -lGLU -lGL -lXmu -lXi

-lXext -lX11 -lm -o dof

I do not get any core dumps or logs because it freezes so hard and fast.
Any suggestions would be great.

Thanks,

LDB

Here is the following configuration from fglrxinfo -t:

display: :0.0 screen:0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: MOBILITY RADEON 9600 Generic
OpenGL version string: 1.3.5272 (X4.3.0-8.16.20)
OpenGL extensions:
GL_ARB_multitexture, GL_EXT_texture_env_add,
GL_EXT_compiled_vertex_array,
GL_S3_s3tc, GL_ARB_depth_texture, GL_ARB_fragment_program,
GL_ARB_fragment_program_shadow, GL_ARB_fragment_shader,
GL_ARB_multisample, GL_ARB_occlusion_query, GL_ARB_point_parameters,
GL_ARB_point_sprite, GL_ARB_shader_objects,
GL_ARB_shading_language_100,
GL_ARB_shadow, GL_ARB_shadow_ambient, GL_ARB_texture_border_clamp,
GL_ARB_texture_compression, 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_mirrored_repeat, GL_ARB_transpose_matrix,
GL_ARB_vertex_blend, GL_ARB_vertex_buffer_object,
GL_ARB_vertex_program,
GL_ARB_vertex_shader, GL_ARB_window_pos, GL_ATI_draw_buffers,
GL_ATI_element_array, GL_ATI_envmap_bumpmap, GL_ATI_fragment_shader,
GL_ATI_map_object_buffer, GL_ATI_separate_stencil,
GL_ATI_texture_env_combine3, GL_ATI_texture_float,
GL_ATI_texture_mirror_once, GL_ATI_vertex_array_object,
GL_ATI_vertex_attrib_array_object, GL_ATI_vertex_streams,
GL_ATIX_texture_env_combine3, GL_ATIX_texture_env_route,
GL_ATIX_vertex_shader_output_point_size, GL_EXT_abgr, GL_EXT_bgra,
GL_EXT_blend_color, GL_EXT_blend_func_separate, GL_EXT_blend_minmax,
GL_EXT_blend_subtract, GL_EXT_clip_volume_hint,
GL_EXT_draw_range_elements, GL_EXT_fog_coord,
GL_EXT_framebuffer_object,
GL_EXT_multi_draw_arrays, GL_EXT_packed_pixels,
GL_EXT_point_parameters,
GL_EXT_rescale_normal, GL_EXT_secondary_color,
GL_EXT_separate_specular_color, GL_EXT_shadow_funcs,
GL_EXT_stencil_wrap,
GL_EXT_texgen_reflection, GL_EXT_texture3D,
GL_EXT_texture_compression_s3tc, GL_EXT_texture_cube_map,
GL_EXT_texture_edge_clamp, GL_EXT_texture_env_combine,
GL_EXT_texture_env_dot3, GL_EXT_texture_filter_anisotropic,
GL_EXT_texture_lod_bias, GL_EXT_texture_mirror_clamp,
GL_EXT_texture_object, GL_EXT_texture_rectangle, GL_EXT_vertex_array,
GL_EXT_vertex_shader, GL_HP_occlusion_test, GL_NV_blend_square,
GL_NV_occlusion_query, GL_NV_texgen_reflection, GL_SGI_color_matrix,
GL_SGIS_generate_mipmap, GL_SGIS_texture_border_clamp,
GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod,
GL_SUN_multi_draw_arrays
glx server vendor string: SGI
glx server version string: 1.2
glx server extensions:
GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating,
GLX_EXT_import_context, GLX_OML_swap_method, GLX_SGI_make_current_read,
GLX_SGIS_multisample, GLX_SGIX_fbconfig
glx client version: 1.3
glx client extensions:
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context,
GLX_ARB_get_proc_address, GLX_ARB_multisample,
GLX_ATI_pixel_format_float,
GLX_ATI_render_texture
glx extensions:
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context,
GLX_ARB_multisample

Vis Vis Visual Trans buff lev render DB ste r g b a aux dep
ste accum buffers MS MS
ID Depth Type parent size el type reo sz sz sz sz buf th
ncl r g b a num bufs

0x25 24 TrueColor 0 32 0 rgba 1 0 8 8 8 8 0 24
8 16 16 16 16 1 0
0x26 24 TrueColor 0 32 0 rgba 0 0 8 8 8 8 0 24
8 16 16 16 16 1 0
0x27 24 TrueColor 0 32 0 rgba 1 0 8 8 8 8 0 24
0 16 16 16 16 1 0
0x28 24 TrueColor 0 32 0 rgba 0 0 8 8 8 8 0 24
0 16 16 16 16 1 0
0x29 24 TrueColor 0 32 0 rgba 1 0 8 8 8 8 0 24
8 0 0 0 0 1 0
0x2a 24 TrueColor 0 32 0 rgba 0 0 8 8 8 8 0 24
8 0 0 0 0 1 0
0x2b 24 TrueColor 0 32 0 rgba 1 0 8 8 8 8 0 24
0 0 0 0 0 1 0
0x2c 24 TrueColor 0 32 0 rgba 0 0 8 8 8 8 0 24
0 0 0 0 0 1 0
0x2d 24 DirectColor 0 32 0 rgba 1 0 8 8 8 8 0 24
8 16 16 16 16 1 0
0x2e 24 DirectColor 0 32 0 rgba 0 0 8 8 8 8 0 24
8 16 16 16 16 1 0
0x2f 24 DirectColor 0 32 0 rgba 1 0 8 8 8 8 0 24
0 16 16 16 16 1 0
0x30 24 DirectColor 0 32 0 rgba 0 0 8 8 8 8 0 24
0 16 16 16 16 1 0
0x31 24 DirectColor 0 32 0 rgba 1 0 8 8 8 8 0 24
8 0 0 0 0 1 0
0x32 24 DirectColor 0 32 0 rgba 0 0 8 8 8 8 0 24
8 0 0 0 0 1 0
0x33 24 DirectColor 0 32 0 rgba 1 0 8 8 8 8 0 24
0 0 0 0 0 1 0
0x34 24 DirectColor 0 32 0 rgba 0 0 8 8 8 8 0 24
0 0 0 0 0 1 0
0x35 8 PseudoColor 0 8 1 ci 1 0 0 0 0 0 0 0
0 0 0 0 0 1 0
0x36 8 PseudoColor 0 8 1 ci 0 0 0 0 0 0 0 0
0 0 0 0 0 1 0
0x37 8 GrayScale 0 8 1 ci 1 0 0 0 0 0 0 0
0 0 0 0 0 1 0
0x38 8 GrayScale 0 8 1 ci 0 0 0 0 0 0 0 0
0 0 0 0 0 1 0

The reason is that you’re trying to use an ATI card under Linux. You’re lucky that your laptop hasn’t spontaneously burst into flames :-/

The only thing I can think of would be to check that you’ve allocated a visual with an accumulation buffer. I once inadvertantly created a single buffer pixelbuffer and my machine froze everytime I tried to write to the back buffer. That was painful trying to figure out what went wrong too, for exactly the same reason. Hence, I suggest you make absolutely sure you have a pixelformat with accumultion support. At the very least you can try running glxinfo to make sure you have at least one compatible format, and go from there.

good luck.

cheers
John

ah, of course, you’ve already posted your glxinfo to confirm acc support.

gees, you work fast :slight_smile:

Thank you for the reply. I found out from the SuSE mailing list that this is a known issue on some ATI cards. The issue arises when

glClear(GL_ACCUM_BUFFER_BIT)

is used.

I will not be using it or anything related to the
accumulation buffer for two different reasons now. :slight_smile:

LDB

hi,

good work on finding the solution. Why do you want to ever clear the accumulation buffer, though? I just load my first image to initialise the buffer; that stomps allover the previous image and saves a clear

cheers
John

The original inquiry stemmed from code in the “Red Book” pertaining to the accumulation buffer. I am not using functions related the accumulation buffer per se in one of my programs, but was just wondering what was causing the freezing. :slight_smile:

Thanks for the help.

LDB

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.