<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>