[Bug 93717] Meta mipmap generation can corrupt texture state

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Jan 14 12:33:40 PST 2016


https://bugs.freedesktop.org/show_bug.cgi?id=93717

            Bug ID: 93717
           Summary: Meta mipmap generation can corrupt texture state
           Product: Mesa
           Version: git
          Hardware: Other
                OS: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: Drivers/DRI/i965
          Assignee: idr at freedesktop.org
          Reporter: idr at freedesktop.org
        QA Contact: intel-3d-bugs at lists.freedesktop.org

At the end of _mesa_meta_GenerateMipmap, is the following sequence:

   _mesa_meta_end(ctx);

   _mesa_TexParameteri(target, GL_TEXTURE_MAX_LEVEL, maxLevelSave);
   if (genMipmapSave)
      _mesa_TexParameteri(target, GL_GENERATE_MIPMAP, genMipmapSave);
   if (swizzleSaved)
      _mesa_TexParameteriv(target, GL_TEXTURE_SWIZZLE_RGBA, swizzle);

maxLevelSave, genMipmapSave, and swizzle all came from the texture object
passed into the function.  This may not be the texture bound to
ctx->Texture.CurrentUnit when the function is called!

We need a simple test case to verify this bug.

1. Create two textures, A and B, and fill each with some data.

2. Bind A and set GL_TEXTURE_MAX_LEVEL, GL_GENERATE_MIPMAP, and
GL_TEXTURE_SWIZZLE_RGBA (assuming either GL_EXT_texture_swizzle or
GL_ARB_texture_swizzle is supported).

3. While A is bound (but B is not bound), call glGenerateMipmaps on B.

4. Verify the GL_TEXTURE_MAX_LEVEL, GL_GENERATE_MIPMAP, and
GL_TEXTURE_SWIZZLE_RGBA state of A.

It may be worth making this test generic so that other meta operations (and
other texture state) could be tested in the future.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/intel-3d-bugs/attachments/20160114/cac27c6e/attachment.html>


More information about the intel-3d-bugs mailing list