[Mesa-dev] [PATCH 3/3] r600g: re-enable single-sample fast clear
Dieter Nützel
Dieter at nuetzel-hh.de
Sun Aug 2 10:54:37 PDT 2015
Am 02.08.2015 15:36, schrieb Marek Olšák:
> From: Marek Olšák <marek.olsak at amd.com>
>
> Fixed by the CB_SHADER_MASK fix.
Hurray,
r600g (Turks) ~10% performance drop for Mesa's 'objview' is _mostly_
fixed.
Mostly 'cause it is NOT on par as before (the 'broken') version.
E.g. 'buddha' was stable at 600 FPS (see below).
Thanks,
Dieter
Without fast clear: with new fixed version:
./objview bobcat.obj &
1130.967407 FPS 1299.925171 FPS
1171.957153 FPS 1328.500000 FPS
1170.750000 FPS 1328.500000 FPS
./objview buddha.obj &
533.250000 FPS 560.609985 FPS
543.364258 FPS 574.463013 FPS
542.864380 FPS 574.000000 FPS
./objview bunny.obj &
743.250000 FPS 811.250000 FPS
768.000000 FPS 825.500000 FPS
765.500000 FPS 826.750000 FPS
./objview GreatLakesBiplaneHP.obj &
604.848938 FPS 644.000000 FPS
617.691406 FPS 658.500000 FPS
618.250000 FPS 658.500000 FPS
Taken from former posts with Michel (about enabling DRI3/glamor):
Mesa-demo's 'objview' show this:
bobcat.obj: ~790 => ~1048 fps | ~25% with glamor ~1388 fps
buddha.obj: ~370 => ~527 fps | >33% with glamor ~600 fps
bunny.obj: ~530 => ~720 fps | >25% with glamor ~863 fps
GreatLakesBiplaneHP.obj: ~435 => ~593 fps | >33% with glamor ~687
fps
> ---
> src/gallium/drivers/r600/r600_blit.c | 7 +------
> 1 file changed, 1 insertion(+), 6 deletions(-)
>
> diff --git a/src/gallium/drivers/r600/r600_blit.c
> b/src/gallium/drivers/r600/r600_blit.c
> index 1c59230..8664e03 100644
> --- a/src/gallium/drivers/r600/r600_blit.c
> +++ b/src/gallium/drivers/r600/r600_blit.c
> @@ -393,12 +393,7 @@ static void r600_clear(struct pipe_context *ctx,
> unsigned buffers,
> struct r600_context *rctx = (struct r600_context *)ctx;
> struct pipe_framebuffer_state *fb = &rctx->framebuffer.state;
>
> - /* Single-sample fast color clear is broken on r600g:
> - * https://bugs.freedesktop.org/show_bug.cgi?id=73528
> - * https://bugs.freedesktop.org/show_bug.cgi?id=82186
> - */
> - if (buffers & PIPE_CLEAR_COLOR && rctx->b.chip_class >= EVERGREEN &&
> - rctx->framebuffer.nr_samples > 1) {
> + if (buffers & PIPE_CLEAR_COLOR && rctx->b.chip_class >= EVERGREEN) {
> evergreen_do_fast_color_clear(&rctx->b, fb, &rctx->framebuffer.atom,
> &buffers, color);
> if (!buffers)
More information about the mesa-dev
mailing list