[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