[Mesa-dev] [PATCH 9/9] i965: Drop _mesa_meta_pbo_TexSubImage() even for gen < 6
Pohjolainen, Topi
topi.pohjolainen at gmail.com
Thu Dec 29 06:45:15 UTC 2016
On Thu, Dec 22, 2016 at 03:22:51PM -0800, Anuj Phogat wrote:
> On Tue, Dec 20, 2016 at 6:45 AM, Topi Pohjolainen
> <topi.pohjolainen at gmail.com> wrote:
> >
> > Signed-off-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
> > ---
> > src/mesa/drivers/dri/i965/intel_tex_image.c | 24 +++++++-----------------
> > src/mesa/drivers/dri/i965/intel_tex_subimage.c | 19 +++++--------------
> > 2 files changed, 12 insertions(+), 31 deletions(-)
> >
> > diff --git a/src/mesa/drivers/dri/i965/intel_tex_image.c b/src/mesa/drivers/dri/i965/intel_tex_image.c
> > index 67f83db..e503043 100644
> > --- a/src/mesa/drivers/dri/i965/intel_tex_image.c
> > +++ b/src/mesa/drivers/dri/i965/intel_tex_image.c
> > @@ -127,7 +127,6 @@ intelTexImage(struct gl_context * ctx,
> > {
> > struct brw_context *brw = brw_context(ctx);
> > struct intel_texture_image *intelImage = intel_texture_image(texImage);
> > - bool ok;
> >
> > bool tex_busy = intelImage->mt && drm_intel_bo_busy(intelImage->mt->bo);
> >
> > @@ -156,22 +155,13 @@ intelTexImage(struct gl_context * ctx,
> > format, type, pixels, unpack))
> > return;
> >
> > - if (brw->gen < 6 &&
> > - _mesa_meta_pbo_TexSubImage(ctx, dims, texImage, 0, 0, 0,
> > - texImage->Width, texImage->Height,
> > - texImage->Depth,
> > - format, type, pixels,
> > - tex_busy, unpack))
> > - return;
> > -
> > - ok = intel_texsubimage_tiled_memcpy(ctx, dims, texImage,
> > - 0, 0, 0, /*x,y,z offsets*/
> > - texImage->Width,
> > - texImage->Height,
> > - texImage->Depth,
> > - format, type, pixels, unpack,
> > - false /*allocate_storage*/);
> > - if (ok)
> > + if (intel_texsubimage_tiled_memcpy(ctx, dims, texImage,
> > + 0, 0, 0, /*x,y,z offsets*/
> > + texImage->Width,
> > + texImage->Height,
> > + texImage->Depth,
> > + format, type, pixels, unpack,
> > + false /*allocate_storage*/))
> > return;
> >
> > DBG("%s: upload image %dx%dx%d pixels %p\n",
> > diff --git a/src/mesa/drivers/dri/i965/intel_tex_subimage.c b/src/mesa/drivers/dri/i965/intel_tex_subimage.c
> > index 741637a..60dc862 100644
> > --- a/src/mesa/drivers/dri/i965/intel_tex_subimage.c
> > +++ b/src/mesa/drivers/dri/i965/intel_tex_subimage.c
> > @@ -395,7 +395,6 @@ intelTexSubImage(struct gl_context * ctx,
> > {
> > struct brw_context *brw = brw_context(ctx);
> > struct intel_mipmap_tree *mt = intel_texture_image(texImage)->mt;
> > - bool ok;
> >
> > bool tex_busy = mt && drm_intel_bo_busy(mt->bo);
> >
> > @@ -416,19 +415,11 @@ intelTexSubImage(struct gl_context * ctx,
> > format, type, pixels, packing))
> > return;
> >
> > - ok = _mesa_meta_pbo_TexSubImage(ctx, dims, texImage,
> > - xoffset, yoffset, zoffset,
> > - width, height, depth, format, type,
> > - pixels, tex_busy, packing);
> > - if (ok)
> > - return;
> > -
> > - ok = intel_texsubimage_tiled_memcpy(ctx, dims, texImage,
> > - xoffset, yoffset, zoffset,
> > - width, height, depth,
> > - format, type, pixels, packing,
> > - false /*for_glTexImage*/);
> > - if (ok)
> > + if (intel_texsubimage_tiled_memcpy(ctx, dims, texImage,
> > + xoffset, yoffset, zoffset,
> > + width, height, depth,
> > + format, type, pixels, packing,
> > + false /*for_glTexImage*/))
> > return;
> >
> > _mesa_store_texsubimage(ctx, dims, texImage,
> > --
> > 2.5.5
> >
> > _______________________________________________
> > mesa-dev mailing list
> > mesa-dev at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
> It'll be useful if you can add a commit message explaning why it is
> okay to drop the meta path on pre-gen6 platforms.
Right, it is missing the rational altogether. Like I mentioned in the cover
letter this is more RFC style patch. I was a little worried how well the meta
path will be maintained once it is only used for ILK and older. I also wanted
to highlight that there is no functional regression in jenkins if it gets
dropped also for gen < 6. It is pure optimization for cases where the source
is buffer object or gpu is already busy with the target texture.
More information about the mesa-dev
mailing list