[Mesa-dev] [PATCH 12/12] i965: Assert that blorp always handles color blits

Ian Romanick idr at freedesktop.org
Tue Jun 27 18:12:54 UTC 2017


On 06/27/2017 10:53 AM, Kenneth Graunke wrote:
> On Monday, June 26, 2017 4:22:45 PM PDT Ian Romanick wrote:
>> From: Ian Romanick <ian.d.romanick at intel.com>
>>
>> ---
>>  src/mesa/drivers/dri/i965/brw_blorp.c | 2 ++
>>  src/mesa/drivers/dri/i965/intel_fbo.c | 3 +++
>>  2 files changed, 5 insertions(+)
>>
>> diff --git a/src/mesa/drivers/dri/i965/brw_blorp.c b/src/mesa/drivers/dri/i965/brw_blorp.c
>> index 92d1d2a..9c9b859 100644
>> --- a/src/mesa/drivers/dri/i965/brw_blorp.c
>> +++ b/src/mesa/drivers/dri/i965/brw_blorp.c
>> @@ -707,6 +707,8 @@ brw_blorp_framebuffer(struct brw_context *brw,
>>        }
>>     }
>>  
>> +   /* try_blorp_blit should always be successful for color blits. */
>> +   assert(!(mask & GL_COLOR_BUFFER_BIT));
>>     return mask;
>>  }
>>  
>> diff --git a/src/mesa/drivers/dri/i965/intel_fbo.c b/src/mesa/drivers/dri/i965/intel_fbo.c
>> index caf182c..f0f87bb 100644
>> --- a/src/mesa/drivers/dri/i965/intel_fbo.c
>> +++ b/src/mesa/drivers/dri/i965/intel_fbo.c
>> @@ -932,6 +932,9 @@ intel_blit_framebuffer(struct gl_context *ctx,
>>     if (mask == 0x0)
>>        return;
>>  
>> +   /* brw_blorp_framebuffer should always be successful for color blits. */
>> +   assert(!(mask & GL_COLOR_BUFFER_BIT));
>> +
>>     mask = _mesa_meta_BlitFramebuffer(ctx, readFb, drawFb,
>>                                       srcX0, srcY0, srcX1, srcY1,
>>                                       dstX0, dstY0, dstX1, dstY1,
>>
> 
> Is that true?  I suppose scaling and filtering isn't a problem, because
> that will apply to the source formats, which should all be texturable.
> Format conversion ought to work as long as the destination is renderable.
> 
> If all non-renderable formats result in an incomplete FBO - which I imagine
> they do - then this ought to work.
> 
> I know Jason had code to support RGB9E5 and other non-renderable formats,
> with shader fixups.

I looked through the blorp code, and I didn't see any way for it to not
return success for a color blit.  The assertion also didn't trigger on
the CI, but that may just mean we have a testing hole.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20170627/a85e2a8e/attachment.sig>


More information about the mesa-dev mailing list