Bug 27043 - [bisected DRI1] drmRadeonCmdBuffer: -22. Kernel failed to parse or rejected command stream. See dmesg for more info.
Summary: [bisected DRI1] drmRadeonCmdBuffer: -22. Kernel failed to parse or rejected c...
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/r300 (show other bugs)
Version: git
Hardware: x86 (IA32) Linux (All)
: medium major
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-03-12 03:15 UTC by Fabio Pedretti
Modified: 2010-03-24 12:45 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
enable meta ops for draw/coopy pixels (3.83 KB, patch)
2010-03-12 12:09 UTC, Alex Deucher
Details | Splinter Review

Description Fabio Pedretti 2010-03-12 03:15:08 UTC
This commit:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=67108b5d12e0526ebedcdf2dbeeadfdbd0782161
make sauerbraten (at least on map douze) crash on UMS/DRI1 with:
drmRadeonCmdBuffer: -22. Kernel failed to parse or rejected command stream. See dmesg for more info.

Note: commit e5c691f445e1c02e6e2f75b817b13d7024f7a3a6 have to be reverted, however bug #26954 is hit.

Card:
GL_RENDERER   = Mesa DRI R300 (RV530 71C5) 20090101 x86/MMX/SSE2 TCL
Comment 1 Fabio Pedretti 2010-03-12 06:13:30 UTC
This is what dmesg shows:
[drm:r300_do_cp_cmdbuf] *ERROR* bad cmd_type 148 at e666f878
Comment 2 Alex Deucher 2010-03-12 08:23:29 UTC
should be fixed in d1ca1599f0319f5c99852ce24420aa592e806db0
Comment 3 Fabio Pedretti 2010-03-12 08:43:09 UTC
(In reply to comment #2)
> should be fixed in d1ca1599f0319f5c99852ce24420aa592e806db0
> 

It's fixed, but I noticed that it would work also with:

functions->CopyPixels = _mesa_meta_CopyPixels;
functions->DrawPixels = _mesa_meta_DrawPixels;
if (radeon->radeonScreen->kernel_mm) {
    functions->ReadPixels = radeonReadPixels;
}

Is this better than current?

if (radeon->radeonScreen->kernel_mm) {
    functions->CopyPixels = _mesa_meta_CopyPixels;
    functions->DrawPixels = _mesa_meta_DrawPixels;
    functions->ReadPixels = radeonReadPixels;
}
Comment 4 Alex Deucher 2010-03-12 10:53:26 UTC
(In reply to comment #3)
> (In reply to comment #2)
> > should be fixed in d1ca1599f0319f5c99852ce24420aa592e806db0
> > 
> 
> It's fixed, but I noticed that it would work also with:
> 
> functions->CopyPixels = _mesa_meta_CopyPixels;
> functions->DrawPixels = _mesa_meta_DrawPixels;
> if (radeon->radeonScreen->kernel_mm) {
>     functions->ReadPixels = radeonReadPixels;
> }
> 
> Is this better than current?
> 
> if (radeon->radeonScreen->kernel_mm) {
>     functions->CopyPixels = _mesa_meta_CopyPixels;
>     functions->DrawPixels = _mesa_meta_DrawPixels;
>     functions->ReadPixels = radeonReadPixels;
> }
> 

Should be fine.  Care to create a patch?
Comment 5 Michel Dänzer 2010-03-12 10:58:05 UTC
(In reply to comment #3)
> functions->CopyPixels = _mesa_meta_CopyPixels;
> functions->DrawPixels = _mesa_meta_DrawPixels;
> if (radeon->radeonScreen->kernel_mm) {
>     functions->ReadPixels = radeonReadPixels;
> }

Did you actually test glReadPixels() with that?
Comment 6 Michel Dänzer 2010-03-12 11:02:17 UTC
(In reply to comment #5)
> Did you actually test glReadPixels() with that?

Err, I mean glCopyPixels and glDrawPixels.
Comment 7 Alex Deucher 2010-03-12 12:09:02 UTC
Created attachment 34007 [details] [review]
enable meta ops for draw/coopy pixels

Seems to work ok here.
Comment 8 Fabio Pedretti 2010-03-15 01:55:25 UTC
(In reply to comment #6)
> (In reply to comment #5)
> > Did you actually test glReadPixels() with that?
> 
> Err, I mean glCopyPixels and glDrawPixels.

I tested only the game, but shouldn't _mesa_meta_DrawPixels and _mesa_meta_CopyPixels be already the default BTW?
Comment 9 Alex Deucher 2010-03-15 08:08:46 UTC
(In reply to comment #8)
> > Err, I mean glCopyPixels and glDrawPixels.
> 
> I tested only the game, but shouldn't _mesa_meta_DrawPixels and
> _mesa_meta_CopyPixels be already the default BTW?
> 

They weren't enabled until that patch.
Comment 10 Alex Deucher 2010-03-24 12:45:51 UTC
pushed the patch in comment 7.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.