On Wed, Jan 25, 2017 at 10:58 AM, Pohjolainen, Topi < topi.pohjolai...@gmail.com> wrote:
> On Mon, Jan 23, 2017 at 10:21:41PM -0800, Ben Widawsky wrote: > > This provides a common function or creating miptrees when there is an > > existing DRIimage to use. That provides an easy way to add CCS > > allocation. > > > > Signed-off-by: Ben Widawsky <b...@bwidawsk.net> > > Acked-by: Daniel Stone <dani...@collabora.com> > > --- > > src/mesa/drivers/dri/i965/intel_fbo.c | 17 ++++++++--------- > > src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 25 > ++++++++++++++++++++++++- > > src/mesa/drivers/dri/i965/intel_mipmap_tree.h | 10 ++++++++++ > > src/mesa/drivers/dri/i965/intel_tex_image.c | 17 ++++++++--------- > > 4 files changed, 50 insertions(+), 19 deletions(-) > > > > diff --git a/src/mesa/drivers/dri/i965/intel_fbo.c > b/src/mesa/drivers/dri/i965/intel_fbo.c > > index de0cd6aca2..f6e17599b8 100644 > > --- a/src/mesa/drivers/dri/i965/intel_fbo.c > > +++ b/src/mesa/drivers/dri/i965/intel_fbo.c > > @@ -362,15 +362,14 @@ intel_image_target_renderbuffer_storage(struct > gl_context *ctx, > > * buffer's content to the main buffer nor for invalidating the aux > buffer's > > * content. > > */ > > - irb->mt = intel_miptree_create_for_bo(brw, > > - image->bo, > > - image->format, > > - image->offset, > > - image->width, > > - image->height, > > - 1, > > - image->pitch, > > - MIPTREE_LAYOUT_DISABLE_AUX); > > + irb->mt = intel_miptree_create_for_image(brw, > > + image, > > + image->format, > > + image->offset, > > + image->width, > > + image->height, > > + image->pitch, > > + 0); > > if (!irb->mt) > > return; > > > > diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c > b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c > > index ed514239e2..34b6591eb0 100644 > > --- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c > > +++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c > > @@ -24,7 +24,6 @@ > > */ > > > > #include <GL/gl.h> > > -#include <GL/internal/dri_interface.h> > > > > #include "intel_batchbuffer.h" > > #include "intel_mipmap_tree.h" > > @@ -32,6 +31,7 @@ > > #include "intel_tex.h" > > #include "intel_blit.h" > > #include "intel_fbo.h" > > +#include "intel_image.h" > > > > #include "brw_blorp.h" > > #include "brw_context.h" > > @@ -810,6 +810,29 @@ intel_miptree_create_for_bo(struct brw_context > *brw, > > return mt; > > } > > > > +struct intel_mipmap_tree * > > +intel_miptree_create_for_image(struct brw_context *intel, > > + __DRIimage *image, > > + mesa_format format, > > + uint32_t offset, > > + uint32_t width, > > + uint32_t height, > > + uint32_t pitch, > > + uint32_t layout_flags) > > +{ > > + layout_flags = (layout_flags & MIPTREE_LAYOUT_FOR_SCANOUT) ? > > + MIPTREE_LAYOUT_FOR_SCANOUT : MIPTREE_LAYOUT_DISABLE_AUX; > > Before flags were unconditionally MIPTREE_LAYOUT_DISABLE_AUX. This should > be > mentioned in the commit message. And probably that functionally aux gets > disabled because current logic does that for scanout? > Yeah, I don't really get this either. > > + return intel_miptree_create_for_bo(intel, > > + image->bo, > > + format, > > + offset, > > + width, > > + height, > > + 1, > > + pitch, > > + layout_flags); > > +} > > + > > /** > > * For a singlesample renderbuffer, this simply wraps the given BO with > a > > * miptree. > > diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.h > b/src/mesa/drivers/dri/i965/intel_mipmap_tree.h > > index 476c46b135..cf8f1a7687 100644 > > --- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.h > > +++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.h > > @@ -720,6 +720,16 @@ intel_miptree_create_for_bo(struct brw_context > *brw, > > int pitch, > > uint32_t layout_flags); > > > > +struct intel_mipmap_tree * > > +intel_miptree_create_for_image(struct brw_context *intel, > > + __DRIimage *image, > > + mesa_format format, > > + uint32_t offset, > > + uint32_t width, > > + uint32_t height, > > + uint32_t pitch, > > + uint32_t layout_flags); > > + > > void > > intel_update_winsys_renderbuffer_miptree(struct brw_context *intel, > > struct intel_renderbuffer *irb, > > diff --git a/src/mesa/drivers/dri/i965/intel_tex_image.c > b/src/mesa/drivers/dri/i965/intel_tex_image.c > > index 141996f707..2d79183b16 100644 > > --- a/src/mesa/drivers/dri/i965/intel_tex_image.c > > +++ b/src/mesa/drivers/dri/i965/intel_tex_image.c > > @@ -221,11 +221,11 @@ create_mt_for_planar_dri_image(struct brw_context > *brw, > > * invalidating the aux buffer's content. > > */ > > struct intel_mipmap_tree *mt = > > - intel_miptree_create_for_bo(brw, image->bo, format, > > - image->offsets[index], > > - width, height, 1, > > - image->strides[index], > > - MIPTREE_LAYOUT_DISABLE_AUX); > > + intel_miptree_create_for_image(brw, image, format, > > + image->offsets[index], > > + width, height, > > + image->strides[index], > > + 0); > > if (mt == NULL) > > return NULL; > > > > @@ -259,10 +259,9 @@ create_mt_for_dri_image(struct brw_context *brw, > > * buffer's content to the main buffer nor for invalidating the aux > buffer's > > * content. > > */ > > - mt = intel_miptree_create_for_bo(brw, image->bo, image->format, > > - 0, image->width, image->height, 1, > > - image->pitch, > > - MIPTREE_LAYOUT_DISABLE_AUX); > > + mt = intel_miptree_create_for_image(brw, image, image->format, > > + 0, image->width, image->height, > > + image->pitch, 0); > > if (mt == NULL) > > return NULL; > > > > -- > > 2.11.0 > > > > _______________________________________________ > > mesa-dev mailing list > > mesa-dev@lists.freedesktop.org > > https://lists.freedesktop.org/mailman/listinfo/mesa-dev > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev