[Mesa-dev] [PATCH rework] mesa: rework Driver.CopyImageSubData() and related code

Brian Paul brianp at vmware.com
Fri Aug 28 07:43:06 PDT 2015


On 08/28/2015 12:43 AM, Jason Ekstrand wrote:
> On Thu, Aug 27, 2015 at 11:42 PM, Jason Ekstrand <jason at jlekstrand.net> wrote:
>> From: Brian Paul <brianp at vmware.com>
>>
>> Previously, core Mesa's _mesa_CopyImageSubData() created temporary textures
>> to wrap renderbuffer sources/destinations.  This caused a bit of a mess in
>> the Mesa/gallium state tracker because we had to basically undo that
>> wrapping.
>>
>> Instead, change ctx->Driver.CopyImageSubData() to take both gl_renderbuffer
>> and gl_texture_image src/dst pointers (one being null, the other non-null)
>> so the driver can handle renderbuffer vs. texture as needed.
>>
>> For the i965 driver, we basically moved the code that wrapped textures
>> around renderbuffers from copyimage.c down into the driver.  So that
>> approach is still used there as before.
>>
>> The old code in copyimage.c also made some questionable calls to
>> _mesa_BindTexture(), etc. which weren't undone at the end.
>>
>> v2 (Jason Ekstrand): Rework the intel bits
>> ---
>>
>> TBH, I haven't actually reviewed the rest of the patch yet but I figured
>> I'd save Brian the time of guess-and-check implementing it on Intel.  I
>> completely reworked the intel bits so we now use the tex/rb directly and
>> pun the renderbuffer wrapping all the way down to the meta layer where it
>> belongs.
>
> I ran a few quick piglit tests on my Broadwell and it seems to work.
> I also sent it off to our CI system and I'll have those results in the
> morning.

Thanks, Jason!  I appreciate you taking the time to do this.

-Brian




More information about the mesa-dev mailing list