[Mesa-dev] [PATCH 17/34] i965: Support images with offset aux buffers

Ben Widawsky ben at bwidawsk.net
Sat Jan 28 17:51:10 UTC 2017


On 17-01-25 21:05:15, Topi Pohjolainen Topi Pohjolainen wrote:
>On Wed, Jan 25, 2017 at 09:01:56PM +0200, Pohjolainen, Topi wrote:
>> On Mon, Jan 23, 2017 at 10:21:40PM -0800, Ben Widawsky wrote:
>> > Previously our aux buffers (MCS, and HiZ) never had an offset because
>> > they were in their own buffer object. When using the CCS lossless
>> > compression feature, it's desirable to store the data at an offset from
>> > the main framebuffer, ie. share a buffer object. This patch just makes
>> > having an aux offset possible.
>> >
>> > Signed-off-by: Ben Widawsky <ben at bwidawsk.net>
>> > Acked-by: Daniel Stone <daniels at collabora.com>
>> > ---
>> >  src/mesa/drivers/dri/i965/intel_image.h  | 3 +++
>> >  src/mesa/drivers/dri/i965/intel_screen.c | 5 +++++
>> >  2 files changed, 8 insertions(+)
>> >
>> > diff --git a/src/mesa/drivers/dri/i965/intel_image.h b/src/mesa/drivers/dri/i965/intel_image.h
>> > index 3a35487dc4..6814970295 100644
>> > --- a/src/mesa/drivers/dri/i965/intel_image.h
>> > +++ b/src/mesa/drivers/dri/i965/intel_image.h
>> > @@ -92,6 +92,9 @@ struct __DRIimageRec {
>> >     /** The image was created with EGL_EXT_image_dma_buf_import. */
>> >     bool dma_buf_imported;
>> >
>> > +   /** The image has some ancillary data associated with it at offset. */
>>
>> Haa, another word for aux :)
>>
>> Seriously though, do we need to bump the dri version number?
>
>Oh, you do that in patch 15? Shouldn't this be squashed?
>

I think you're right. I just need to reorder these. Originally (in v1 and v2) I
think I had the ordering correct, but I split the patches and it got messed up.

>>
>> > +   uint32_t aux_offset;
>> > +
>> >     /**
>> >      * Provided by EGL_EXT_image_dma_buf_import.
>> >      * \{
>> > diff --git a/src/mesa/drivers/dri/i965/intel_screen.c b/src/mesa/drivers/dri/i965/intel_screen.c
>> > index e3fe2a468f..8c46a62529 100644
>> > --- a/src/mesa/drivers/dri/i965/intel_screen.c
>> > +++ b/src/mesa/drivers/dri/i965/intel_screen.c
>> > @@ -638,6 +638,11 @@ create_image_with_modifier(struct intel_screen *screen,
>> >     image->pitch = pitch;
>> >     image->modifier = modifier;
>> >
>> > +   if (image->planar_format)
>> > +      assert(image->planar_format->nplanes == 1);
>> > +
>> > +   image->aux_offset = 0; /* y_tiled_height * pitch; */
>> > +
>> >     return true;
>> >  }
>> >
>> > --
>> > 2.11.0
>> >
>> > _______________________________________________
>> > mesa-dev mailing list
>> > mesa-dev at lists.freedesktop.org
>> > https://lists.freedesktop.org/mailman/listinfo/mesa-dev

-- 
Ben Widawsky, Intel Open Source Technology Center


More information about the mesa-dev mailing list