Re: [Intel-gfx] [PATCH] drm/i915: Use PIPE_CONTROL for flushing on gen6+.

2011-10-16 Thread Ben Widawsky
On Sun, 16 Oct 2011 10:23:31 +0200 Daniel Vetter wrote: > From: Jesse Barnes > > v2 by danvet: Use a new flag to flush the render target cache on gen6+ > (hw reuses the old write flush bit), as suggested by Ben Widawsdy. > > Signed-off-by: Jesse Barnes > Signed-off-by: Kenneth Graunke > [dan

[Intel-gfx] [PATCH] drm/i915: Use PIPE_CONTROL for flushing on gen6+.

2011-10-16 Thread Daniel Vetter
From: Jesse Barnes v2 by danvet: Use a new flag to flush the render target cache on gen6+ (hw reuses the old write flush bit), as suggested by Ben Widawsdy. Signed-off-by: Jesse Barnes Signed-off-by: Kenneth Graunke [danvet: this seems to fix cairo-perf-trace hangs on my snb] Signed-Off-by: Da

Re: [Intel-gfx] [PATCH] drm/i915: Use PIPE_CONTROL for flushing on gen6+.

2011-10-03 Thread Jesse Barnes
On Mon, 03 Oct 2011 15:59:29 -0700 Eric Anholt wrote: > On Mon, 3 Oct 2011 13:00:16 -0700, Jesse Barnes > wrote: > > On Mon, 26 Sep 2011 11:59:23 -0700 > > Kenneth Graunke wrote: > > > > > + /* Just flush everything for now */ > > > + flags |= PIPE_CONTROL_WC_FLUSH; > > > + flags |= PIPE_CONT

Re: [Intel-gfx] [PATCH] drm/i915: Use PIPE_CONTROL for flushing on gen6+.

2011-10-03 Thread Eric Anholt
On Mon, 3 Oct 2011 13:00:16 -0700, Jesse Barnes wrote: > On Mon, 26 Sep 2011 11:59:23 -0700 > Kenneth Graunke wrote: > > > + /* Just flush everything for now */ > > + flags |= PIPE_CONTROL_WC_FLUSH; > > + flags |= PIPE_CONTROL_IS_FLUSH; > > + flags |= PIPE_CONTROL_TC_FLUSH; > > + flag

Re: [Intel-gfx] [PATCH] drm/i915: Use PIPE_CONTROL for flushing on gen6+.

2011-10-03 Thread Jesse Barnes
On Mon, 03 Oct 2011 14:14:53 -0700 Keith Packard wrote: > On Mon, 3 Oct 2011 13:00:16 -0700, Jesse Barnes > wrote: > > > This is the only bit I'd like to see changed. While we still have the > > domain tracking code we may as well try to honor it and limit our > > flushing here like we do wit

Re: [Intel-gfx] [PATCH] drm/i915: Use PIPE_CONTROL for flushing on gen6+.

2011-10-03 Thread Keith Packard
On Mon, 3 Oct 2011 13:00:16 -0700, Jesse Barnes wrote: > This is the only bit I'd like to see changed. While we still have the > domain tracking code we may as well try to honor it and limit our > flushing here like we do with MI_FLUSH. I'd like to see this patch put in place, and then any 'op

Re: [Intel-gfx] [PATCH] drm/i915: Use PIPE_CONTROL for flushing on gen6+.

2011-10-03 Thread Jesse Barnes
On Mon, 26 Sep 2011 11:59:23 -0700 Kenneth Graunke wrote: > + /* Just flush everything for now */ > + flags |= PIPE_CONTROL_WC_FLUSH; > + flags |= PIPE_CONTROL_IS_FLUSH; > + flags |= PIPE_CONTROL_TC_FLUSH; > + flags |= PIPE_CONTROL_DEPTH_FLUSH; > + flags |= PIPE_CONTROL_VF

Re: [Intel-gfx] [PATCH] drm/i915: Use PIPE_CONTROL for flushing on gen6+.

2011-09-26 Thread Eric Anholt
On Mon, 26 Sep 2011 13:38:26 -0700, Kenneth Graunke wrote: > On 09/26/2011 01:31 PM, Daniel Vetter wrote: > > On Mon, Sep 26, 2011 at 11:59:23AM -0700, Kenneth Graunke wrote: > >> +static int > >> +gen6_render_ring_flush(struct intel_ring_buffer *ring, > >> + u32 invalidat

Re: [Intel-gfx] [PATCH] drm/i915: Use PIPE_CONTROL for flushing on gen6+.

2011-09-26 Thread Kenneth Graunke
On 09/26/2011 01:31 PM, Daniel Vetter wrote: > On Mon, Sep 26, 2011 at 11:59:23AM -0700, Kenneth Graunke wrote: >> +static int >> +gen6_render_ring_flush(struct intel_ring_buffer *ring, >> + u32 invalidate_domains, u32 flush_domains) >> +{ >> +u32 flags = 0; >> +stru

Re: [Intel-gfx] [PATCH] drm/i915: Use PIPE_CONTROL for flushing on gen6+.

2011-09-26 Thread Daniel Vetter
On Mon, Sep 26, 2011 at 11:59:23AM -0700, Kenneth Graunke wrote: > +static int > +gen6_render_ring_flush(struct intel_ring_buffer *ring, > + u32 invalidate_domains, u32 flush_domains) > +{ > + u32 flags = 0; > + struct pipe_control *pc = ring->private; > + u32 sc

Re: [Intel-gfx] [PATCH] drm/i915: Use PIPE_CONTROL for flushing on gen6+.

2011-09-26 Thread Kenneth Graunke
On 09/26/2011 12:16 PM, Chris Wilson wrote: > On Mon, 26 Sep 2011 11:59:23 -0700, Kenneth Graunke > wrote: >> From: Jesse Barnes > > From the school of "If ain't broke, don't fix it" there needs to be a real > explanation of why this change is required here. > > PIPE_CONTROL and its workaround

Re: [Intel-gfx] [PATCH] drm/i915: Use PIPE_CONTROL for flushing on gen6+.

2011-09-26 Thread Keith Packard
On Mon, 26 Sep 2011 20:16:04 +0100, Chris Wilson wrote: > PIPE_CONTROL and its workarounds is a very bitter pill to swallow if > MI_FLUSH continues to function. If you look at the simulator source code, you'll see that it implements MI_FLUSH as a specific kind of PIPE_CONTROL. And that MI_FLUSH

Re: [Intel-gfx] [PATCH] drm/i915: Use PIPE_CONTROL for flushing on gen6+.

2011-09-26 Thread Chris Wilson
On Mon, 26 Sep 2011 21:23:02 +0200, Daniel Vetter wrote: > On Mon, Sep 26, 2011 at 08:16:04PM +0100, Chris Wilson wrote: > > On Mon, 26 Sep 2011 11:59:23 -0700, Kenneth Graunke > > wrote: > > > From: Jesse Barnes > > > > From the school of "If ain't broke, don't fix it" there needs to be a rea

Re: [Intel-gfx] [PATCH] drm/i915: Use PIPE_CONTROL for flushing on gen6+.

2011-09-26 Thread Daniel Vetter
On Mon, Sep 26, 2011 at 08:16:04PM +0100, Chris Wilson wrote: > On Mon, 26 Sep 2011 11:59:23 -0700, Kenneth Graunke > wrote: > > From: Jesse Barnes > > From the school of "If ain't broke, don't fix it" there needs to be a real > explanation of why this change is required here. > > PIPE_CONTROL

Re: [Intel-gfx] [PATCH] drm/i915: Use PIPE_CONTROL for flushing on gen6+.

2011-09-26 Thread Chris Wilson
On Mon, 26 Sep 2011 11:59:23 -0700, Kenneth Graunke wrote: > From: Jesse Barnes >From the school of "If ain't broke, don't fix it" there needs to be a real explanation of why this change is required here. PIPE_CONTROL and its workarounds is a very bitter pill to swallow if MI_FLUSH continues t

[Intel-gfx] [PATCH] drm/i915: Use PIPE_CONTROL for flushing on gen6+.

2011-09-26 Thread Kenneth Graunke
From: Jesse Barnes Signed-off-by: Jesse Barnes Signed-off-by: Kenneth Graunke Tested-by: Kenneth Graunke --- drivers/gpu/drm/i915/i915_reg.h |7 +- drivers/gpu/drm/i915/intel_ringbuffer.c | 131 --- 2 files changed, 124 insertions(+), 14 deletions(-)