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