public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
From: Abdiel Janulgue <abdiel.janulgue@linux.intel.com>
To: Daniel Vetter <daniel@ffwll.ch>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [RFC] xf86-video-intel: enable hw-generated binding tables
Date: Wed, 23 Apr 2014 14:21:19 +0300	[thread overview]
Message-ID: <2708085.fAZvMqpTni@abj-desktop> (raw)
In-Reply-To: <20140422172058.GW10722@phenom.ffwll.local>

On Tuesday, April 22, 2014 07:20:58 PM Daniel Vetter wrote:
> On Tue, Apr 22, 2014 at 04:23:12PM +0100, Chris Wilson wrote:
> > On Tue, Apr 22, 2014 at 06:16:34PM +0300, Abdiel Janulgue wrote:
> > > This patch series enables resource streamer for xf86-video-intel UXA.
> > > 
> > > Fixes i965 Mesa driver that makes use of resource streamer optimization
> > > to survive a full piglit run without bricking the machine. Previously,
> > > I get random hungs when doing a full piglit round when enabling RS.
> > > After months of head-scratching, I noticed I didn't quite pay attention
> > > 
> > > to this small detail in bspec:
> > >  "The binding table generator feature has a simple all or nothing
> > >  
> > >   model. If HW generated binding tables are enabled, the driver must
> > >   enable
> > >   the pool and use 3D_HW_BINDING_TABLE_POINTER_* commands."
> > > 
> > > I realized that our xf86-video-intel driver is piping out 3D commands
> > > as well that used the older manual-generated binding table format
> > > that caused a conflict when Mesa is using the hw-generated binding table
> > > format.
> > 
> > This has to be per-context right? Otherwise how do you intend to
> > coordinate multiple clients submitting to the kernel using incompatible
> > command sets? Even in the restricted X/DRI sense, how do you intend to
> > negotiate which to use?
> 
> Hm, I've thought that the MI_BB_START should synchronize with the
> asynchronous RS parsing/processing? Is there no way to disable RS again
> for the next batch in a different context?

I've already tried disabling RS at the end of every batch so that next batch 
in different context can continue to use older non-RS format. That does not 
work either and still causes hangs. 

What I've seen so far, it seems GPU does not like switching the format of 
commands from RS-format to non-RS format. It's either one way or the other. If 
switched on, it affects subsequent contexes henceforth expecting RS-format 
commands until the GPU gets reset. That's probably the note in bspec:
"the binding table generator feature has a simple all or nothing model".

> 
> If there's no way to solve this with contexts or some manual reset trick
> using LRIs then we're pretty decently screwed up. Worst case we need to
> stop the gpu and reset it to keep backwards compat :(

  reply	other threads:[~2014-04-23 11:15 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-22 15:16 [RFC] xf86-video-intel: enable hw-generated binding tables Abdiel Janulgue
2014-04-22 15:16 ` [RFC PATCH 1/2] xf86-video-intel: Add "ResourceStreamer" option Abdiel Janulgue
2014-04-22 15:16 ` [RFC PATCH 2/2] xf86-video-intel: Enable hw-generated binding tables for UXA Abdiel Janulgue
2014-04-22 15:23 ` [RFC] xf86-video-intel: enable hw-generated binding tables Chris Wilson
2014-04-22 17:20   ` Daniel Vetter
2014-04-23 11:21     ` Abdiel Janulgue [this message]
2014-04-23 16:52       ` Daniel Vetter
2014-04-23 17:50         ` Ville Syrjälä
2014-04-24  6:08           ` Abdiel Janulgue
2014-04-24  6:06             ` Chris Wilson
2014-04-24  8:25               ` Abdiel Janulgue
2014-04-24 10:04                 ` Daniel Vetter
2014-04-24 10:17                 ` Ville Syrjälä
2014-04-24 11:22                   ` Abdiel Janulgue
2014-05-02 18:24                   ` Abdiel Janulgue

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2708085.fAZvMqpTni@abj-desktop \
    --to=abdiel.janulgue@linux.intel.com \
    --cc=daniel@ffwll.ch \
    --cc=intel-gfx@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox