[Mesa-dev] [PATCH] i965: Enable fast clears on non-8x4-aligned sizes.

Chad Versace chad.versace at linux.intel.com
Fri May 3 14:12:29 PDT 2013


On 05/02/2013 04:58 PM, Kenneth Graunke wrote:
> On 05/02/2013 01:58 PM, Eric Anholt wrote:
>> Improves glb2.7 performance at a misaligned size by 2.3% +/- 0.7% (n=11).
>> The workaround was to avoid bad primitive/surface sizes, but that's worked
>> around as of a14dc4f92cdad6177d83f051a088a66e31a973bc.  (One might note
>> that pre-gen7 we don't know that the right half of an 8x4 at the right
>> edge is actually our pixels, but we're already clobbering those pixels for
>> depth resolves anyway and more work would be required to avoid that).
>> ---
>>   src/mesa/drivers/dri/i965/brw_clear.c | 13 -------------
>>   1 file changed, 13 deletions(-)
>>
>> diff --git a/src/mesa/drivers/dri/i965/brw_clear.c b/src/mesa/drivers/dri/i965/brw_clear.c
>> index 4ee456a..2b999bf 100644
>> --- a/src/mesa/drivers/dri/i965/brw_clear.c
>> +++ b/src/mesa/drivers/dri/i965/brw_clear.c
>> @@ -128,19 +128,6 @@ brw_fast_clear_depth(struct gl_context *ctx)
>>         return false;
>>      }
>>
>> -   /* The rendered area has to be 8x4 samples, not resolved pixels, so we look
>> -    * at the miptree slice dimensions instead of renderbuffer size.
>> -    */
>> -   if (mt->level[depth_irb->mt_level].width % 8 != 0 ||
>> -       mt->level[depth_irb->mt_level].height % 4 != 0) {
>> -      perf_debug("Failed to fast clear depth due to width/height %d,%d not "
>> -                 "being aligned to 8,4.  Possible 5%% performance win if "
>> -                 "avoided\n",
>> -                 mt->level[depth_irb->mt_level].width,
>> -                 mt->level[depth_irb->mt_level].height);
>> -      return false;
>> -   }
>> -
>>      uint32_t depth_clear_value;
>>      switch (mt->format) {
>>      case MESA_FORMAT_Z32_FLOAT_X24S8:
>>
>
> Would be worth regression testing on Gen6.
>
> Really glad to see this working.
> Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

Reviewed-by: Chad Versace <chad.versace at linux.intel.com>



More information about the mesa-dev mailing list