Re: [r300] [patches] debugging lockups

2005-06-03 Thread Aapo Tahkola
On Fri, 3 Jun 2005 14:57:37 +0200
Nicolai Haehnle <[EMAIL PROTECTED]> wrote:

> On Friday 03 June 2005 10:28, Aapo Tahkola wrote:
> > > On Thursday 02 June 2005 13:08, Boris Peterbarg wrote:
> > >> Aapo Tahkola wrote:
> > >> > I did some figuring on the CB_DPATH problem.
> > >> > After little testing it turns out that the lock up with
> > >> > progs/demos/isosurf goes away when the pacifier sequences are applied
> > >> to
> > >> > clearbuffer.
> > >> >
> > >> > Im starting to think that this sequence is needed whenever 
> overwriting
> > >> > certain states rather than whenever 3d operation begins and ends.
> > >
> > > Perhaps. I don't think it's just the pacifier sequence, though. I've 
> been
> > > running applications with RADEON_DEBUG=sync, which causes idle calls
> > > between cmdbuf calls, and I've been seeing lockups where the read 
> pointer
> > > sits after the beginning of what cmdbuf emits and long before the first
> > > rendering commands.
> > 
> > I dont know if packet3 was issued before since I tweaked isosurf to dump
> > each frame portion of RADEON_DEBUG info into files using freopen.
> > But "DISCARD BUF" was really the only key difference in these logs.
> > 
> > > This indicates that at least one lockup is cause by
> > > one
> > > of the following:
> > > - intial pacifier sequence in r300_cp_cmdbuf
> > > - emission of cliprects or
> > Cliprects seem to be little off scale when compairing progs/samples/logo
> > against software rendering.
> > Perhaps near plane is negative ?
> > 
> > > - initial unchecked_state commands sent by the client
> > This is bad as you can see from first frame drawn by texwrap...
> > Sticking:
> > r300_setup_textures(ctx);
> > r300_setup_rs_unit(ctx);
> > 
> > r300SetupVertexShader(rmesa);
> > r300SetupPixelShader(rmesa);
> > or resethwstate to r300_run_vb_render should fix it.
> 
> I'm not sure we're talking about the same thing here. This happens when the 
> client sends a command buffer where all the state blocks (from r300->hw) 
> are sent to the hardware *anyway*. It's actually the *order* of emission 
> (e.g. the order in which insert_at_tail is called for state bits) that can 
> make a difference. The thing is, while the order definitely *does* affect 
> the probability of lockups, lockups will not go away completely even if I 
> use the exact same order that fglrx uses. So I'm beginning to believe that 
> we can't trust radeon_do_cp_idle to completely idle the chip, or that 
> whatever is wrong is pretty fundamentally wrong (some wrong bits in how the 
> memory is configured?).

Remember that because of reemiting, those states arent in perfect order.
Fortunately taking out lines 206-212  of r300_context.c doesnt seem to have any 
side effects on rv350.

-- 
Aapo Tahkola


---
This SF.Net email is sponsored by Yahoo.
Introducing Yahoo! Search Developer Network - Create apps using Yahoo!
Search APIs Find out how you can build Yahoo! directly into your own
Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: [r300] [patches] debugging lockups

2005-06-03 Thread Nicolai Haehnle
On Friday 03 June 2005 00:25, Benjamin Herrenschmidt wrote:
> > >
> > > You guys seem to be getting closer...
> > > When I had X + xfce4 + quake3 running (with this patch + 
> > > patch.drm-cmdbuf-more-pacifiers + patch.remove-userspace-pacifiers) X 
> > > locked up within 2 minutes.
> > > However, X + quake3 (no window manager), I went thirty minutes before 
> > > my first problem.  Quake3Arena crashed, and X quit.  There was some 
> > > message on the terminal about radeon_wait and "IRQ 16".  
> > 
> > 
> > Here it is:
> > 
> > radeonWaitIrq: drmRadeonIrqWait: -16
> 
> Have you tried David Airlie's or my latest DRM IRQ fixes ?

It is unlikely that the problem is related, especially when X locks up, too. 
If you see this message and X is continuing to run fine (i.e. no complete 
lockup), you should indeed consider looking at the IRQ code.

However, if X locks up completely, the most likely reason for this message 
is simply that the R300 locks up before it encounters the IRQ EMIT command 
in the ring buffer. It just happens then that the DRI client waits for an 
IRQ instead of busy-looping for the chip to idle.

So it is perfectly likely that this message appears even when the IRQ 
handling code is working fine. Nevertheless, testing that patch can't hurt.

cu,
Nicolai


pgp5KDqFMYqUZ.pgp
Description: PGP signature


Re: [r300] [patches] debugging lockups

2005-06-03 Thread Nicolai Haehnle
On Friday 03 June 2005 10:28, Aapo Tahkola wrote:
> > On Thursday 02 June 2005 13:08, Boris Peterbarg wrote:
> >> Aapo Tahkola wrote:
> >> > I did some figuring on the CB_DPATH problem.
> >> > After little testing it turns out that the lock up with
> >> > progs/demos/isosurf goes away when the pacifier sequences are applied
> >> to
> >> > clearbuffer.
> >> >
> >> > Im starting to think that this sequence is needed whenever 
overwriting
> >> > certain states rather than whenever 3d operation begins and ends.
> >
> > Perhaps. I don't think it's just the pacifier sequence, though. I've 
been
> > running applications with RADEON_DEBUG=sync, which causes idle calls
> > between cmdbuf calls, and I've been seeing lockups where the read 
pointer
> > sits after the beginning of what cmdbuf emits and long before the first
> > rendering commands.
> 
> I dont know if packet3 was issued before since I tweaked isosurf to dump
> each frame portion of RADEON_DEBUG info into files using freopen.
> But "DISCARD BUF" was really the only key difference in these logs.
> 
> > This indicates that at least one lockup is cause by
> > one
> > of the following:
> > - intial pacifier sequence in r300_cp_cmdbuf
> > - emission of cliprects or
> Cliprects seem to be little off scale when compairing progs/samples/logo
> against software rendering.
> Perhaps near plane is negative ?
> 
> > - initial unchecked_state commands sent by the client
> This is bad as you can see from first frame drawn by texwrap...
> Sticking:
>   r300_setup_textures(ctx);
>   r300_setup_rs_unit(ctx);
> 
>   r300SetupVertexShader(rmesa);
>   r300SetupPixelShader(rmesa);
> or resethwstate to r300_run_vb_render should fix it.

I'm not sure we're talking about the same thing here. This happens when the 
client sends a command buffer where all the state blocks (from r300->hw) 
are sent to the hardware *anyway*. It's actually the *order* of emission 
(e.g. the order in which insert_at_tail is called for state bits) that can 
make a difference. The thing is, while the order definitely *does* affect 
the probability of lockups, lockups will not go away completely even if I 
use the exact same order that fglrx uses. So I'm beginning to believe that 
we can't trust radeon_do_cp_idle to completely idle the chip, or that 
whatever is wrong is pretty fundamentally wrong (some wrong bits in how the 
memory is configured?).

cu,
Nicolai


pgprQzzlJLfsA.pgp
Description: PGP signature


[Bug 3460] dri-20050601 [r200] americas army crash after start

2005-06-03 Thread bugzilla-daemon
Please do not reply to this email: if you want to comment on the bug, go to
   
the URL shown below and enter yourcomments there. 
   
https://bugs.freedesktop.org/show_bug.cgi?id=3460  
 




--- Additional Comments From [EMAIL PROTECTED]  2005-06-03 05:28 ---
I forgot to put dmesg:
 [drm] Initialized drm 1.0.0 20040925
 [drm] Initialized radeon 1.16.0 20050311 on minor 0: ATI Technologies Inc
Radeon  R200 QL [Radeon 8500 LE]
 [drm] Loading R200 Microcode
  
 
 
--   
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email 
 
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.


---
This SF.Net email is sponsored by Yahoo.
Introducing Yahoo! Search Developer Network - Create apps using Yahoo!
Search APIs Find out how you can build Yahoo! directly into your own
Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


[Bug 3460] dri-20050601 [r200] americas army crash after start

2005-06-03 Thread bugzilla-daemon
Please do not reply to this email: if you want to comment on the bug, go to
   
the URL shown below and enter yourcomments there. 
   
https://bugs.freedesktop.org/show_bug.cgi?id=3460  
 




--- Additional Comments From [EMAIL PROTECTED]  2005-06-03 05:22 ---
I have build drm and mesa from source.
I run some tests and I get this:

test:/Mesa/progs/tests# ./arbfptest1
program 0:
glGetError = 1280
errorpos: 11
!ARBfp1.0
TEMP R0, R

test:/Mesa/progs/tests# ./arbfptexture:
Error: GL_ARB_fragment_program not supported!

test:/Mesa/progs/tests# ./arbvptest1
glGetError = 0
glGetError = 0
glGetError = 0
glGetError = 0

test:/Mesa/progs/tests# ./crossbar
   Sorry, this program requires GL_ARB_multitexture and either
   GL_ARB_texture_env_combine or GL_EXT_texture_env_combine (or OpenGL 1.3).
   Either GL_ARB_texture_env_crossbar or GL_NV_texture_env_combine4 (or
   OpenGL 1.4) are also required.

Some tests runs fine: ./antialias ./bufferobj

//
//
Tests say that I don't have some GL librarys.
But glxinfo says:

server glx 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
client glx vendor string: SGI
client glx version string: 1.4
client glx extensions:
GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, 
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_allocate_memory, 
GLX_MESA_swap_control, GLX_MESA_swap_frame_usage, GLX_OML_swap_method, 
GLX_OML_sync_control, GLX_SGI_make_current_read, GLX_SGI_swap_control, 
GLX_SGI_video_sync, GLX_SGIS_multisample, GLX_SGIX_fbconfig, 
GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group
GLX extensions:
GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, 
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_allocate_memory, 
GLX_MESA_swap_control, GLX_MESA_swap_frame_usage, GLX_OML_swap_method, 
GLX_SGI_video_sync, GLX_SGIS_multisample, GLX_SGIX_fbconfig, 
GLX_SGIX_visual_select_group
OpenGL vendor string: Tungsten Graphics, Inc.
OpenGL renderer string: Mesa DRI R200 20041207 AGP 4x x86/MMX+/3DNow!+/SSE TCL
OpenGL version string: 1.3 Mesa 6.3
OpenGL extensions:
GL_ARB_imaging, GL_ARB_multisample, GL_ARB_multitexture, 
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_dot3, 
GL_ARB_texture_mirrored_repeat, GL_ARB_texture_rectangle, 
GL_ARB_transpose_matrix, GL_ARB_vertex_buffer_object, 
GL_ARB_vertex_program, 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_minmax, GL_EXT_blend_subtract, 
GL_EXT_clip_volume_hint, GL_EXT_compiled_vertex_array, GL_EXT_convolution, 
GL_EXT_copy_texture, GL_EXT_draw_range_elements, GL_EXT_fog_coord, 
GL_EXT_histogram, GL_EXT_packed_pixels, GL_EXT_polygon_offset, 
GL_EXT_rescale_normal, GL_EXT_secondary_color, 
GL_EXT_separate_specular_color, GL_EXT_stencil_wrap, GL_EXT_subtexture, 
GL_EXT_texture, GL_EXT_texture3D, 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_mirror_clamp, 
GL_EXT_texture_object, GL_EXT_texture_rectangle, GL_EXT_vertex_array, 
GL_APPLE_packed_pixels, GL_ATI_blend_equation_separate, 
GL_ATI_texture_env_combine3, GL_ATI_texture_mirror_once, 
GL_IBM_rasterpos_clip, GL_IBM_texture_mirrored_repeat, 
GL_INGR_blend_func_separate, GL_MESA_pack_invert, GL_MESA_ycbcr_texture, 
GL_MESA_window_pos, GL_NV_blend_square, GL_NV_light_max_exponent, 
GL_NV_texture_rectangle, GL_NV_texgen_reflection, GL_OES_read_format, 
GL_SGI_color_matrix, GL_SGI_color_table, GL_SGIS_generate_mipmap, 
GL_SGIS_texture_border_clamp, GL_SGIS_texture_edge_clamp, 
GL_SGIS_texture_lod
glu version: 1.3
glu extensions:
GLU_EXT_nurbs_tessellator, GLU_EXT_object_space_tess

/

So something is wrong.
I hope you will find out how to fix this.  
 
 
--   
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email 
 
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.


---
This SF.Net email is sponsored by Yahoo.
Introducing Yahoo! Search Developer Network - Create apps using Yahoo!
Search APIs Find out how you can build Yahoo! directly into your own
Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005
--
_

Re: [r300] [patches] debugging lockups

2005-06-03 Thread Aapo Tahkola
> On Thursday 02 June 2005 13:08, Boris Peterbarg wrote:
>> Aapo Tahkola wrote:
>> > I did some figuring on the CB_DPATH problem.
>> > After little testing it turns out that the lock up with
>> > progs/demos/isosurf goes away when the pacifier sequences are applied
>> to
>> > clearbuffer.
>> >
>> > Im starting to think that this sequence is needed whenever overwriting
>> > certain states rather than whenever 3d operation begins and ends.
>
> Perhaps. I don't think it's just the pacifier sequence, though. I've been
> running applications with RADEON_DEBUG=sync, which causes idle calls
> between cmdbuf calls, and I've been seeing lockups where the read pointer
> sits after the beginning of what cmdbuf emits and long before the first
> rendering commands.

I dont know if packet3 was issued before since I tweaked isosurf to dump
each frame portion of RADEON_DEBUG info into files using freopen.
But "DISCARD BUF" was really the only key difference in these logs.

> This indicates that at least one lockup is cause by
> one
> of the following:
> - intial pacifier sequence in r300_cp_cmdbuf
> - emission of cliprects or
Cliprects seem to be little off scale when compairing progs/samples/logo
against software rendering.
Perhaps near plane is negative ?

> - initial unchecked_state commands sent by the client
This is bad as you can see from first frame drawn by texwrap...
Sticking:
r300_setup_textures(ctx);
r300_setup_rs_unit(ctx);

r300SetupVertexShader(rmesa);
r300SetupPixelShader(rmesa);
or resethwstate to r300_run_vb_render should fix it.


-- 
Aapo Tahkola



---
This SF.Net email is sponsored by Yahoo.
Introducing Yahoo! Search Developer Network - Create apps using Yahoo!
Search APIs Find out how you can build Yahoo! directly into your own
Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel