[Bug 93840] [i965] Compiler backend uses too much stack with Alien: Isolation

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Feb 15 08:46:30 UTC 2017


https://bugs.freedesktop.org/show_bug.cgi?id=93840

--- Comment #28 from Eero Tamminen <eero.t.tamminen at intel.com> ---
(In reply to Darius Spitznagel from comment #27)
> > (The first CS shader takes at least 10 min to compile before getting to game
> > menus, and same, or similar shader takes another 10 min when starting game
> > from the menu.)

Sorry, I should have properly measured it.   The whole startup to menu is ~9
min, and ~9 min from menu to game, on SKL i5 with default Mesa compile options
(no debug, -O2).

Based on INTEL_DEBUG=perf output, I would guess that the indicated single
compute shader takes maybe half of that time (and few other compute shaders are
quite slow to compile too), i.e. I was off by factor of 2.


> this really confuse me.
> 
> With my Intel Haswell Iris Pro 5200 system I need less then 3 Minutes to get
> into the game and play (continue from save).
>
> I use Matts patch of course.

At least in my case, on SKL GT2 with Mesa git from earlier this week, Matt's
patch isn't enough, if Alien Isolation compiles also compute shaders.  It will
then just run out of stack in another function


Are you forcing GL 4.3 / compute on, like earlier? [1]

If not, which Mesa version do you use?  Haswell officially provides GL 4.2 in
Mesa 17.0.0 (required FP64 came on Jan 12th), which was released 2 days ago.   
Only with latest Mesa git version Haswell officially supports GL 4.5 (Jan 16th
commit).  Compute shaders come in GL 4.3.

[1] Game will start, but doesn't render correctly if compute shader support is
missing:
  https://bugs.freedesktop.org/show_bug.cgi?id=93144#c31


Also, which exact CPU model do you have?


> What I see is that video-play and shader compilation all run on one cpu core
> out of 8. What a waste!
> The videos (original from the movie) are all blocked by shader compilation.
> I don't think this is the intention from the game developers.
> To split video and shader compile into at least two threads should already
> bring better loading times and makes total sense.

Game needs to know when the parallel shader compilation has finished.  That's
an extension on top of GL 4.5:
https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_parallel_shader_compile.txt

Game needs to specifically have support for that.


> And as far as I know this is the part of the OpenGL driver and not the
> application.
> 
> Mesa+radeonsi seems to run fine, look here...
> https://bugs.freedesktop.org/show_bug.cgi?id=93144

That uses gallium / LLVM backend.  Maybe it uses less stack, or used at that
point, and would now also run out of stack.

300-400 KB of stack is ridiculously low amount of stack if there's something
that actually uses it.  Game cannot assume that driver will use less than that
(game itself will use some of that stack too).

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-3d-bugs/attachments/20170215/92d523f5/attachment.html>


More information about the intel-3d-bugs mailing list