[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