[Mesa-dev] [PATCH] r300g: Set R300_VAP_CNTL on RSxxx to avoid triangle flickering

Dave Airlie airlied at gmail.com
Fri Sep 9 03:31:58 UTC 2016


On 8 September 2016 at 09:53, Max Staudt <mstaudt at suse.de> wrote:
> On the RSxxx chip series, HW TCL is missing and r300_emit_vs_state()
> is never called.
>
> However, if R300_VAP_CNTL is never set, the hardware (at least the
> RS690 I tested this on) comes up with rendering artifacts, and
> parts that are uploaded before this "fix" remain broken in VRAM.
> This causes artifacts as in fdo#69076 ("triangle flickering").
>
> It seems like this setup needs to happen at least once after power on
> for 3D rendering to work properly. In the DDX with EXA, this happens in
> RADEON_SWITCH_TO_3D() when processing an XRENDER Composite or an
> Xv request. So playing back a video or starting a GTK+2 application
> fixes 3D rendering for the rest of the session. However, this auto-fix
> doesn't happen when EXA is not used, such as with GLAMOR or Wayland.
>
> This patch ensures the register is configured even in absence of
> the DDX's EXA module.
>
> The register setting is taken from:
>   xf86-video-ati  --  RADEONInit3DEngineInternal()
>   mesa/src/mesa/drivers/dri/r300  --  r300EmitClearState()
>
> Tested on RS690.
>
> Signed-off-by: Max Staudt <mstaudt at suse.de>

I've applied and pushed this.

Thanks,
Dave.


More information about the mesa-dev mailing list