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.antogno...@intel.com> > wrote: > > On Tue, Oct 02, 2018 at 07:16:01PM +0300, asimiklit.w...@gmail.com wrote: > > From: Andrii Simiklit <andrii.simik...@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.simik...@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@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