public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Abdiel Janulgue <abdiel.janulgue@linux.intel.com>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 1/2] rendercopy/bdw: Enable hw-generated binding tables
Date: Thu, 8 May 2014 12:54:47 +0300	[thread overview]
Message-ID: <20140508095447.GO18465@intel.com> (raw)
In-Reply-To: <3751304.js4FzVGZxl@abj-desktop>

On Wed, May 07, 2014 at 11:59:23PM +0300, Abdiel Janulgue wrote:
> On Wednesday, May 07, 2014 02:49:31 PM Ville Syrjälä wrote:
> > I quickly cobbled together a hsw version of this and gave it a whirl on
> > one machine. Seems to work just fine here, and no lockups when switching
> > between hw and sw binding tables. Did you get the lockups on hsw even
> > with rendercopy?
> > 
> > Here's my hsw version:
> > 
> > 
> > +static void
> > +gen7_hw_binding_table(struct intel_batchbuffer *batch, bool enable)
> > +{
> > +	if (!enable) {
> > +		OUT_BATCH(MI_RS_CONTROL | 0x0);
> > +
> > +		OUT_BATCH(HSW_3DSTATE_BINDING_TABLE_POOL_ALLOC | (3 - 2));
> > +		/* binding table pool base address */
> 
> This bit I missed and the source of my troubles for the past few months.
> 
> > +		OUT_BATCH(3 << 5);
> 
> Yep, I confirm toggling on HSW does work quite well now. I'll now update the 
> patches to include HSW path on the kernel. I also take back my previous 
> statement that RS is broken on HSW! :)

Excellent.

I was wondering a bit if we need to make the kernel turn off the hw
binding tables between batches, but since we now have per fd default
contexts and 3DSTATE_BINDING_TABLE_POOL_ALLOC should be saved in the
context, maybe we don't actually need to do that. Although it seems
like that would cause problems when we switch to the global default
context since we use the restore_inhibit flag there. So maybe we need
to special case the default context here and force the hw binding
tables off when switching to it.

Would be nice to have some igts for this to test how things work when
you combine rs vs. no-rs in different ways using single context,
multiple contexts, and multiple fds.

> 
> Thanks a lot Ville!

I'm glad I could help.

> 
> 
> > +		/* Upper bound */
> > +		OUT_BATCH(0);
> > +
> > +		OUT_BATCH(GEN7_PIPE_CONTROL | (4 - 2));
> > +		OUT_BATCH(GEN7_PIPE_CONTROL_CS_STALL |
> > GEN7_PIPE_CONTROL_STALL_AT_SCOREBOARD); +		OUT_BATCH(0);
> > +		OUT_BATCH(0);
> > +
> > +		OUT_BATCH(GEN7_PIPE_CONTROL | (4 - 2));
> > +		OUT_BATCH(GEN7_PIPE_CONTROL_SC_INVALIDATE);
> > +		OUT_BATCH(0);
> > +		OUT_BATCH(0);
> > +
> > +		return;
> > +        }

-- 
Ville Syrjälä
Intel OTC

  reply	other threads:[~2014-05-08  9:54 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-06 19:48 igt tests/rendercopy: Add option to test resource streamer functionality Abdiel Janulgue
2014-05-06 19:48 ` [PATCH 1/2] rendercopy/bdw: Enable hw-generated binding tables Abdiel Janulgue
2014-05-06 21:38   ` Ville Syrjälä
2014-05-06 22:09     ` Abdiel Janulgue
2014-05-07 11:49   ` Ville Syrjälä
2014-05-07 11:55     ` Chris Wilson
2014-05-07 20:59     ` Abdiel Janulgue
2014-05-08  9:54       ` Ville Syrjälä [this message]
2014-05-08 10:18         ` Ville Syrjälä
2014-05-12 16:40           ` Daniel Vetter
2014-05-16 11:36             ` Chris Wilson
2014-05-16 14:27               ` Daniel Vetter
2014-05-16 14:45                 ` Chris Wilson
2014-05-16 15:07                   ` Daniel Vetter
2014-05-06 19:48 ` [PATCH 2/2] tests/gem_render_copy: Add option to test resource streamer Abdiel Janulgue
2014-05-06 20:19 ` igt tests/rendercopy: Add option to test resource streamer functionality Daniel Vetter

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=20140508095447.GO18465@intel.com \
    --to=ville.syrjala@linux.intel.com \
    --cc=abdiel.janulgue@linux.intel.com \
    --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