Bug 92236

Summary: [ColorTiling2D] R600 BARTS radeon: pipe_context->clear with color tiling enabled doesn't immediately affect color buffer
Product: Mesa Reporter: Patrick Rudolph <siro>
Component: Mesa coreAssignee: mesa-dev
Status: RESOLVED NOTOURBUG QA Contact: mesa-dev
Severity: normal    
Priority: medium    
Version: git   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Patrick Rudolph 2015-10-02 08:04:01 UTC
There's an open Gallium nine bug: https://github.com/iXit/Mesa-3D/issues/138

It looks like pipe_context->clear called with PIPE_CLEAR_COLOR isn't applied immediately to the buffer.
As nine mimics swap-chains, the buffer is reused after some frames resulting in "delayed" presentation.

The problem doesn't exist with R600_DEBUG=notiling and it doesn't exists when using pipe_context->clear_render_target instead.

Tested with mesa git: https://github.com/iXit/Mesa-3D/
Comment 1 Michel Dänzer 2015-10-02 08:16:29 UTC
(In reply to Patrick Rudolph from comment #0)
> There's an open Gallium nine bug: https://github.com/iXit/Mesa-3D/issues/138
> 
> It looks like pipe_context->clear called with PIPE_CLEAR_COLOR isn't applied
> immediately to the buffer.

That's correct. nine needs to resolve the clear using the pipe->flush_resource hook.


> The problem doesn't exist with R600_DEBUG=notiling

Fast clear only works with tiled surfaces.


> and it doesn't exists when using pipe_context->clear_render_target instead.

IIRC that's currently a software fallback.
Comment 2 Axel Davy 2015-10-02 08:25:53 UTC
(In reply to Michel Dänzer from comment #1)
> That's correct. nine needs to resolve the clear using the
> pipe->flush_resource hook.
> 

Nine does call it before sending the buffer to the server.
Comment 3 Axel Davy 2015-10-02 08:42:52 UTC
Ok, after discussion with Michel we realized the problem is that flush_resource should be called before flushing, and not after.

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.