[Mesa-dev] [PATCH 3/3] r600g: re-enable single-sample fast clear
Dieter Nützel
Dieter at nuetzel-hh.de
Sun Aug 2 12:03:26 PDT 2015
Am 02.08.2015 19:54, schrieb Dieter Nützel:
> 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
Tested-by: Dieter Nützel <Dieter at nuetzel-hh.de>
OK,
I retested with
git revert 97ec2c6 (r600g: disable single-sample fast color clear due to
hangs)
Speed is back (I put all three results together in the below table)
BTW I hadn't any hangs on Evergreen (Turks) with old version.
Any specific test I should try?
-Dieter
> Without fast clear: with new fixed version:
> git revert 97ec2c6
> ./objview bobcat.obj &
> 1130.967407 FPS 1299.925171 FPS
> 1393.750000 FPS
> 1171.957153 FPS 1328.500000 FPS
> 1391.750000 FPS
> 1170.750000 FPS 1328.500000 FPS
> 1392.250000 FPS
>
> ./objview buddha.obj &
> 533.250000 FPS 560.609985 FPS
> 602.599487 FPS
> 543.364258 FPS 574.463013 FPS
> 601.849670 FPS
> 542.864380 FPS 574.000000 FPS
> 601.500000 FPS
>
> ./objview bunny.obj &
> 743.250000 FPS 811.250000 FPS
> 867.283325 FPS
> 768.000000 FPS 825.500000 FPS
> 865.000000 FPS
> 765.500000 FPS 826.750000 FPS
> 865.000000 FPS
>
> ./objview GreatLakesBiplaneHP.obj &
> 604.848938 FPS 644.000000 FPS
> 688.750000 FPS
> 617.691406 FPS 658.500000 FPS
> 689.500000 FPS
> 618.250000 FPS 658.500000 FPS
> 690.000000 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)
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list