Bug 101406 - [BSW] CarChase benchmark misrenders
Summary: [BSW] CarChase benchmark misrenders
Status: RESOLVED DUPLICATE of bug 108787
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i965 (show other bugs)
Version: git
Hardware: Other All
: medium normal
Assignee: Intel 3D Bugs Mailing List
QA Contact: Intel 3D Bugs Mailing List
Depends on: 108787
  Show dependency treegraph
Reported: 2017-06-13 15:59 UTC by Eero Tamminen
Modified: 2019-03-13 15:30 UTC (History)
0 users

See Also:
i915 platform:
i915 features:

Screenshot of the problem (348.13 KB, image/png)
2017-06-13 15:59 UTC, Eero Tamminen

Description Eero Tamminen 2017-06-13 15:59:55 UTC
Created attachment 131926 [details]
Screenshot of the problem

- Ubuntu 16.04
- BSW NUC (N3050)
- Latest 3D stack (kernel, X, Mesa)
- GfxBench v4 from gfxbench.com

- Run GfxBench CarChase ("gl_4") test

Expected outcome:
- Renders fine like on other platforms, and like the other GfxBench tests

Actual outcome:
- Mountains and some tree trunks are not rendered, bushes hang in the sky
  (see attached screenshot)

I'm not sure whether this is a regression, or has this just been broken since Mesa started supporting GL 4.3, and this benchmark started working on other platforms (it uses compute shaders & tessellation).  I went back several months and the same issue is visible at least already in mid February.

(There's also some issue with cursor planes on BSW, cursor gets duplicated when you move it, but that's kernel/X problem and I think unrelated.)
Comment 1 Eero Tamminen 2017-08-21 10:42:04 UTC
Fix to bug 102289 didn't help with this.

(I guess CS is used for post-processing effects in CarChase and this issue is before that.)
Comment 2 Eero Tamminen 2017-10-24 08:33:29 UTC
CarChase misrendering still happens with the latest mesa git and drm-tip kernel.

(kernel or X cursor plane issue has disappeared in the meanwhile.)
Comment 3 Mark Janes 2018-02-12 23:55:09 UTC
Eero, please bisect this.
Comment 4 Eero Tamminen 2018-02-13 17:16:53 UTC
- As speculated in first comment, Mesa has never rendered CarChase correctly on BSW.


Here's an abbreviated list of Mesa versions I tested with 4.15 drm-tip kernel (as 2015 & early 2016 kernels had issues on BSW too):
- mesa-11.0.9
- mesa-11.1.4
  [...CarChase shader compilation fails...]
- a5038427c3 i965: Add tessellation evaluation shaders -> test start fail
- 24be658d13 i965: Add tessellation control shaders -> Mesa build fail
  [...month of Mesa build fails due to bool vs. int* mismatch...]
- 13b87e02b9 freedreno/a4xx: Add support for adreno 430 -> Mesa build fail
- 263f829d2e i965/vec4/tcs: Return NULL instead of false in brw_compile_tcs() -> test runs
- mesa-11.2.0-rc1
- mesa-11.2.0
- mesa-11.2.1
- mesa-11.2.2
- mesa-12.0.0
- mesa-12.0.6
- mesa-13.0.0
- mesa-13.0.6
- mesa-17.0.0
- mesa-17.0.7 (tested both with 4.15 & Ubuntu 16.04 4.4 kernel)
- mesa git head

CarChase doesn't start with 2015 11.2.0-pre commits, even with tessellation override.  When the necessary tessellation support was added in end of Dec 2015, Mesa build was broken, and it took a month until that got fixed. First successfully building Jan 2016 Mesa git commit already shows the issue.

Mesa 11.2.0 is the first release version which can actually start CarChase.  It needs GL 4.3 & compute overrides as CarChase requests GL 4.3 context which is officially supported only in Mesa 12.0.0.

Mesa 17.0.0 is the first version that doesn't have additional rendering issues (see screenshot in bug 96743) besides this bug.

Note: I tried applying the Mesa build fix 263f829d2e to 24be658d13 (Add tessellation control shaders), and while that is the first commit that can run CarChase, it doesn't render it correctly at all, tessellation is still too broken.  Quite a few fixes to that went in during Jan 2016.
Comment 5 Eero Tamminen 2018-03-07 14:20:31 UTC
Scratch buffer size fix for bug 104636 doesn't affect this bug.
Comment 6 Eero Tamminen 2019-03-07 15:08:21 UTC
When asserts are enabled, one gets:
testfw_app: src/intel/common/gen_urb_config.c:152: gen_get_urb_config: Assertion `total_needs <= urb_chunks' failed.

This might explain the misrendering.  On details why there aren't enough URBs, see: https://bugs.freedesktop.org/show_bug.cgi?id=108787#c6
Comment 7 Mark Janes 2019-03-13 15:30:37 UTC
The discussion in a newer bug has more analysis than this one.

*** This bug has been marked as a duplicate of bug 108787 ***

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.