Bug 27571

Summary: Regression: r600 CS checker rejects GL_DEPTH_TEST w/o depth buffer.
Product: DRI Reporter: Nick Bowler <nbowler>
Component: DRM/RadeonAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED FIXED QA Contact:
Severity: major    
Priority: medium    
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Test case.
none
Full kernel log.
none
Actual full kernel log. none

Description Nick Bowler 2010-04-09 21:57:23 UTC
Created attachment 34858 [details]
Test case.

The command stream checker recently added to the radeon driver kills
programs which render to a target which does not have a depth buffer
whilst GL_DEPTH_TEST is enabled.  Instead of simply not performing
depth buffer operations, the result is program termination and some
rather cryptic error messages:

  drmRadeonCmdBuffer: -22. Kernel failed to parse or rejected command
  stream.  See dmesg for more info.

and in dmesg:
  radeon 0000:03:00.0: z/stencil with no depth buffer
  radeon 0000:03:00.0: r600_packet3_check:1109 invalid cmd stream 815
  [drm:radeon_cs_ioctl] *ERROR* Invalid command stream !

I first noticed this when a program that works using 2.6.33 died
rendering to a FBO, but it is trivially reproducible without using
anything fancy.  A test case is attached which works normally with
either Linux 2.6.33, the software rasterizer, or the intel driver.
The failure is reproducible with both mesa 7.8.1 and git master.
Comment 1 Nick Bowler 2010-04-09 21:58:27 UTC
Created attachment 34859 [details]
Full kernel log.

Just in case it's needed.
Comment 2 Nick Bowler 2010-04-11 17:00:36 UTC
The fbo-nodepth piglit test also triggers this issue.
Comment 3 Nick Bowler 2010-04-12 18:54:00 UTC
Created attachment 34947 [details]
Actual full kernel log.

I just realized that the previous "Full kernel log" was truncated and hence wasn't so full, after all.

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.