[Mesa-dev] [PATCH] i965: consider a 'base level' when calculating width0, height0, depth0
andrey simiklit
asimiklit.work at gmail.com
Fri Oct 12 07:50:26 UTC 2018
Hi,
Thanks for your advices.
I will be on vacation from 13.10.2018 till 20.10.2018
so I will try to do it after vacation.
Thanks,
Andrii.
On Thu, Oct 11, 2018 at 6:10 PM Rafael Antognolli <
rafael.antognolli at intel.com> wrote:
> On Thu, Oct 11, 2018 at 03:12:08PM +0300, andrey simiklit wrote:
> > Hi,
> >
> > Thanks for reviewing.
> > This 'simple reproducer' just can cause assertion
> > in the debug mesa version but I don't know
> > how to check things which cause it using opengl api at the moment.
> > I mean it can be some internal mesa things inaccessible outside
> > but anyway I am going to try to do it.
>
> I don't think you need to check for the assertion. You can simply write
> the piglit test that does the same thing as your simple reproducer does,
> and if the test causes an assertion, then if I'm not wrong piglit will
> report that test as a "crash". So we would have coverage. And if your
> test gets to the end of the execution without crashing, you can assume
> it's a pass.
>
> You probably can write some comments by the end of the test stating that
> if it has reached that point, then things should be fine.
>
> As an extra thing, I think the test could additionally check that
> everything rendered correctly (check some colors from the framebuffer).
>
> Anyway, just some ideas.
>
> Thanks,
> Rafael
>
> > Regards,
> > Andrii.
> > On Mon, Oct 8, 2018 at 11:46 PM Rafael Antognolli <
> rafael.antognolli at intel.com>
> > wrote:
> >
> > On Tue, Oct 02, 2018 at 07:16:01PM +0300, asimiklit.work at gmail.com
> wrote:
> > > From: Andrii Simiklit <andrii.simiklit at globallogic.com>
> > >
> > > I guess that when we calculating the width0, height0, depth0
> > > to use for function 'intel_miptree_create' we need to consider
> > > the 'base level' like it is done in the
> > 'intel_miptree_create_for_teximage'
> > > function.
> >
> > Hi Andrii, this makes sense to me. I'm also not familiar with this
> code,
> > so I'm not sure this is the right way to solve the issue, but at
> least
> > it's a way.
> >
> > You added a simple test case in the bug, do you think you could make
> > that a piglit test?
> >
> >
> > Thanks,
> > Rafael
> >
> > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107987
> > > Signed-off-by: Andrii Simiklit <andrii.simiklit at globallogic.com>
> > > ---
> > > .../drivers/dri/i965/intel_tex_validate.c | 26
> ++++++++++++++++++-
> > > 1 file changed, 25 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/src/mesa/drivers/dri/i965/intel_tex_validate.c
> b/src/mesa/
> > drivers/dri/i965/intel_tex_validate.c
> > > index 72ce83c7ce..37aa8f43ec 100644
> > > --- a/src/mesa/drivers/dri/i965/intel_tex_validate.c
> > > +++ b/src/mesa/drivers/dri/i965/intel_tex_validate.c
> > > @@ -119,8 +119,32 @@ intel_finalize_mipmap_tree(struct brw_context
> *brw,
> > > /* May need to create a new tree:
> > > */
> > > if (!intelObj->mt) {
> > > + const unsigned level = firstImage->base.Base.Level;
> > > intel_get_image_dims(&firstImage->base.Base, &width,
> &height, &
> > depth);
> > > -
> > > + /* Figure out image dimensions at start level. */
> > > + switch(intelObj->base.Target) {
> > > + case GL_TEXTURE_2D_MULTISAMPLE:
> > > + case GL_TEXTURE_2D_MULTISAMPLE_ARRAY:
> > > + case GL_TEXTURE_RECTANGLE:
> > > + case GL_TEXTURE_EXTERNAL_OES:
> > > + assert(level == 0);
> > > + break;
> > > + case GL_TEXTURE_3D:
> > > + depth = depth << level;
> > > + /* Fall through */
> > > + case GL_TEXTURE_2D:
> > > + case GL_TEXTURE_2D_ARRAY:
> > > + case GL_TEXTURE_CUBE_MAP:
> > > + case GL_TEXTURE_CUBE_MAP_ARRAY:
> > > + height = height << level;
> > > + /* Fall through */
> > > + case GL_TEXTURE_1D:
> > > + case GL_TEXTURE_1D_ARRAY:
> > > + width = width << level;
> > > + break;
> > > + default:
> > > + unreachable("Unexpected target");
> > > + }
> > > perf_debug("Creating new %s %dx%dx%d %d-level miptree to
> handle "
> > > "finalized texture miptree.\n",
> > >
> _mesa_get_format_name(firstImage->base.Base.TexFormat),
> > > --
> > > 2.17.1
> > >
> > > _______________________________________________
> > > mesa-dev mailing list
> > > mesa-dev at lists.freedesktop.org
> > > https://lists.freedesktop.org/mailman/listinfo/mesa-dev
> >
>
> > _______________________________________________
> > mesa-dev mailing list
> > mesa-dev at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20181012/55af7841/attachment-0001.html>
More information about the mesa-dev
mailing list