Posts: 154
Threads: 4
Joined: Jun 2011
Reputation:
5
(06-09-2011, 08:20 PM)gregory Wrote: 2/ Could you try to install fglrx ? you are maybe the first one to uses the opensource driver
3/ to debug more precisely you can use "si" and "ni" which stand for step in asm and next in asm.
2/ is for that other guy right? I don't have an ATI card.
It looks like I was mistaken as to the exact location of the crash (as to be expected, I'm really not any good at this stuff). Take a look at this:
http://pastebin.com/raw.php?i=3VmjS6kC
Using the si command, I was able to verify that both of the first two calls complete successfully. They are the vector::operator[] and vector::size() member functions.
The call that crashes is the third one. esi is not modified anywhere between 0x18be3ec and 0x18be41b, nor by the routines that are called in between. And as you can see, [esi] = 0.
Sponsored links
Posts: 6.069
Threads: 68
Joined: May 2010
Reputation:
167
Location: Grenoble, France
06-10-2011, 09:34 PM
(This post was last modified: 06-10-2011, 09:41 PM by gregory.)
Sorry, I did not get there was 3 different guys
Otherwise very good debug Looking the code in objdump
mov 0x23681c4,%esi give me this symbol __glewGenBuffers
Which version of glew do you have ? Which version do you load in the startup i.e. "ldd bin/plugins/libzzogl.so| grep -i glew" ?
I'm a little lost, which distribution do you have ? 32bits or 64 bits?
Edit:
And I will need the full (from start to crash) zzogl log in debug mode it might print somethings useful.
Posts: 154
Threads: 4
Joined: Jun 2011
Reputation:
5
06-10-2011, 09:44 PM
(This post was last modified: 06-10-2011, 09:48 PM by natt.)
(06-10-2011, 09:34 PM)gregory Wrote: Sorry, I did not get there was 3 different guys
Otherwise very good debug Looking the code in objdump
mov 0x23681c4,%esi give me this symbol __glewGenBuffers
Which version of glew do you have ? Which version do you load in the startup i.e. "ldd bin/plugins/libzzogl.so| grep -i glew" ?
I'm a little lost, which distribution do you have ? 32bits or 64 bits?
I'm running 32 bit ubuntu 11.04
libGLEW.so.1.5 => /usr/lib/libGLEW.so.1.5 (0x009b4000)
(06-10-2011, 09:34 PM)gregory Wrote: Edit:
And I will need the full (from start to crash) zzogl log in debug mode it might print somethings useful.
This is the console output of pcsx2. I don't know if zzogl has a separate log file
Code: ZZogl-PG: Calling GSinit.
ZZogl-PG: GSinit finished.
ZZogl-PG: Calling GSopen.
ZZogl-PG: Using ZZ Ogl PG (Debug) :0.3.0.
ZZogl-PG: Creating ZZOgl window.
ZZogl-PG: Got Doublebuffered Visual!
ZZogl-PG: glX-Version 1.4
ZZogl-PG: You have Direct Rendering!
ZZogl-PG: Resolution 800x600. Depth 24 bpp. Position (0,0)
ZZogl-PG: 135 supported OpenGL Extensions: GL_ARB_copy_buffer, GL_ARB_depth_texture, GL_ARB_draw_buffers, GL_ARB_draw_elements_base_vertex, GL_ARB_explicit_attrib_location, GL_ARB_fragment_program, GL_ARB_fragment_shader, GL_ARB_half_float_pixel, GL_ARB_map_buffer_range, GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_pixel_buffer_object, GL_ARB_point_parameters, GL_ARB_point_sprite, GL_ARB_provoking_vertex, 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_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_texture_non_power_of_two, GL_ARB_texture_rectangle, GL_ARB_transpose_matrix, GL_ARB_vertex_array_object, GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_ARB_window_pos, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color, GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate, GL_EXT_blend_logic_op, GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_compiled_vertex_array, GL_EXT_copy_texture, GL_EXT_draw_range_elements, GL_EXT_fog_coord, GL_EXT_framebuffer_blit, GL_EXT_framebuffer_multisample, GL_EXT_framebuffer_object, GL_EXT_gpu_program_parameters, GL_EXT_multi_draw_arrays, GL_EXT_packed_depth_stencil, GL_EXT_packed_pixels, GL_EXT_pixel_buffer_object, GL_EXT_point_parameters, GL_EXT_polygon_offset, GL_EXT_provoking_vertex, GL_EXT_rescale_normal, GL_EXT_secondary_color, GL_EXT_separate_shader_objects, GL_EXT_separate_specular_color, GL_EXT_shadow_funcs, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap, GL_EXT_subtexture, GL_EXT_texture3D, 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_lod_bias, GL_EXT_texture_object, GL_EXT_texture, GL_EXT_texture_rectangle, GL_EXT_texture_type_2_10_10_10_REV, GL_EXT_vertex_array, GL_OES_blend_equation_separate, GL_OES_blend_func_separate, GL_OES_blend_subtract, GL_OES_byte_coordinates, GL_OES_depth24, GL_OES_depth_texture, GL_OES_EGL_image, GL_OES_element_index_uint, GL_OES_fbo_render_mipmap, GL_OES_fixed_point, GL_OES_framebuffer_object, GL_OES_mapbuffer, GL_OES_matrix_get, GL_OES_packed_depth_stencil, GL_OES_point_size_array, GL_OES_point_sprite, GL_OES_query_matrix, GL_OES_read_format, GL_OES_rgb8_rgba8, GL_OES_single_precision, GL_OES_standard_derivatives, GL_OES_stencil8, GL_OES_stencil_wrap, GL_OES_texture_3D, GL_OES_texture_cube_map, GL_OES_texture_env_crossbar, GL_OES_texture_mirrored_repeat, GL_OES_texture_npot, GL_3DFX_texture_compression_FXT1, GL_APPLE_client_storage, GL_APPLE_object_purgeable, GL_APPLE_packed_pixels, GL_APPLE_vertex_array_object, GL_ATI_blend_equation_separate, GL_ATI_separate_stencil, GL_ATI_texture_env_combine3, GL_IBM_multimode_draw_arrays, GL_IBM_rasterpos_clip, GL_IBM_texture_mirrored_repeat, GL_INGR_blend_func_separate, GL_MESA_pack_invert, GL_MESA_window_pos, GL_MESA_ycbcr_texture, GL_NV_blend_square, GL_NV_light_max_exponent, GL_NV_packed_depth_stencil, GL_NV_texgen_reflection, GL_NV_texture_env_combine4, GL_NV_texture_rectangle, GL_NV_vertex_program1_1, GL_NV_vertex_program, GL_SGIS_generate_mipmap, GL_SGIS_texture_border_clamp, GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod, GL_SUN_multi_draw_arrays
ZZogl-PG: Using multitexturing.
ZZogl-PG: Maximum texture size is 2048 for Tex_2d and 2048 for Tex_NV.
ZZogl-PG: Disabling MRT depth writing.
Posts: 6.069
Threads: 68
Joined: May 2010
Reputation:
167
Location: Grenoble, France
Can you print the output of this command:
dpkg -l | grep -i glew
Posts: 154
Threads: 4
Joined: Jun 2011
Reputation:
5
(06-10-2011, 10:01 PM)gregory Wrote: Can you print the output of this command:
dpkg -l | grep -i glew
Code: moi@zodiark:~/pcsx2/bin$ dpkg -l | grep -i glew
ii glew-utils 1.5.7.is.1.5.2-1ubuntu2 The OpenGL Extension Wrangler - utilities
ii libglew1.5 1.5.7.is.1.5.2-1ubuntu2 The OpenGL Extension Wrangler - runtime environment
ii libglew1.5-dev 1.5.7.is.1.5.2-1ubuntu2 The OpenGL Extension Wrangler - development environment
ii libglewmx1.5 1.5.7.is.1.5.2-1ubuntu2 The OpenGL Extension Wrangler - runtime environment
Posts: 6.069
Threads: 68
Joined: May 2010
Reputation:
167
Location: Grenoble, France
Let's try to sum up glGenBuffers is a pointer to an opengl function. This pointer is not initialized so you segfault.
Normally opengl function are init by glewInit() function which is called before. There is no error print, so it must be done correctly.
Just to be sure, just before the crash in ZZCreate() do
print glClientActiveTexture
print glDepthFunc
print glGenBuffers
print glBindBuffer
Which driver do you have? Maybe your driver is half-installed. Did you have any issue with others 3D program?
Posts: 154
Threads: 4
Joined: Jun 2011
Reputation:
5
it's a glew bug, or a driver bug, or whatever: glewinfo reports everything through GL_VERSION_3_2, which is certainly wrong
i figured this computer might not run pcsx2, but i decided to give it a shot anyway, figuring i'd just get "gl extension or version not supported" message. then when I got a segfault, I figured it was something else so I came here for help. Sorry to have wasted your time.
Posts: 6.069
Threads: 68
Joined: May 2010
Reputation:
167
Location: Grenoble, France
Hum, I did not know about glewinfo By the way, what kind of computers/GPU/drivers do you have?
Posts: 154
Threads: 4
Joined: Jun 2011
Reputation:
5
The card is an intel 945GM, which, according to google, only supports through gl 1.4, so glGenBuffers isn't supported at all.
This is the full output of glewinfo:
http://pastebin.com/e8wURMFh
I encountered this during my googling; it may explain why glew is returning "available" for versions and extensions that aren't:
http://web.archiveorange.com/archive/v/f...Um1GWOiJKk
Quote:In GLX using Mesa's libGL, *ALL* functions "exist". If you call
'glXGetProcAddress("I like ham sandwiches");' it will gladly return a
non-NULL function pointer. Seriously. The dispatch table will have
NULL for that function, so calling the returned function will crash your
application.
It *has to* be implemented this way. glXGetProcAddress can be called
before there's a context bound. Until there's a context bound libGL has
no way to know what functions the driver may export. Since libGL can
load arbitrary drivers, the driver could export anything.
Posts: 6.069
Threads: 68
Joined: May 2010
Reputation:
167
Location: Grenoble, France
Yep functions have some fallback on mesa software rasterizer. However I was expected that it will use them instead of crashing. I do not know how it is working.
I think you are too optimistic to run with a very old intel card A smartphone will do a far better job
|