Summary: | [Regression bisected] Ogles1conform Automatic mipmap generation test is fail | ||
---|---|---|---|
Product: | Mesa | Reporter: | cprigent <christophe.prigent> |
Component: | Drivers/DRI/i965 | Assignee: | Ian Romanick <idr> |
Status: | RESOLVED FIXED | QA Contact: | Intel 3D Bugs Mailing List <intel-3d-bugs> |
Severity: | normal | ||
Priority: | medium | ||
Version: | 11.0 | ||
Hardware: | x86-64 (AMD64) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
skl-y_mipgen.c_tool-log
skl-y_mipgen.c_kern.log |
Description
cprigent
2015-12-02 16:59:41 UTC
Created attachment 120277 [details]
skl-y_mipgen.c_kern.log
This bug is not specific to SKL. It affects all platforms that use meta. I bisected this to: commit acbaa3d0fcd2a0d357a4c7539d12877f9838548a Author: Ian Romanick <ian.d.romanick@intel.com> Date: Fri Nov 13 11:58:41 2015 -0800 meta/generate_mipmap: Only modify the draw framebuffer binding in fallback_required Previously GL_FRAMEBUFFER was used. However, if GL_EXT_framebuffer_blit is supported (note: it is supported by every Mesa driver), this is *sometimes* an alias for GL_DRAW_FRAMEBUFFER (getters) and *sometimes* an alias for *both* GL_DRAW_FRAMEBUFFER and GL_READ_FRAMEBUFFER (setters). As a result, the code saved one binding but modified both. If the bindings were different, the GL_READ_FRAMEBUFFER would be incorrect on exit. Fixes the piglit fbo-generatemipmap-versus-READ_FRAMEBUFFER test. Ideally this function would use DSA functions and not modify the binding at all. However, that would be a much more intrusive change because _mesa_meta_bind_fbo_image would also need to be modified. _mesa_meta_bind_fbo_image has a lot of callers. Much of this code is about to get a major rework due to bug #92363, so I don't think it matters too much. In fact, I discovered this bug while working on the other bug. Le bon temps! Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com> Cc: "10.6 11.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit c40a88b6c5a698e5297957e28cccf2ce23820caa) Patch sent to mesa-dev mailing list: http://patchwork.freedesktop.org/patch/67061/ This should be fixed by the commit below. This commit should be in Mesa 11.0.8 and Mesa 11.1.1. commit 96dc732ed81f48d8bbc7aa6fb4d9c2833b691189 Author: Ian Romanick <ian.d.romanick@intel.com> Date: Thu Dec 3 12:22:23 2015 -0800 meta/generate_mipmap: Work-around GLES 1.x problem with GL_DRAW_FRAMEBUFFER GL_DRAW_FRAMEBUFFER does not exist in OpenGL ES 1.x, and since _mesa_meta_begin hasn't been called yet, we have to work-around API difficulties. The whole reason that GL_DRAW_FRAMEBUFFER is used instead of GL_FRAMEBUFFER is that the read framebuffer may be different. This is moot in OpenGL ES 1.x. I have another patch series that would also fix this (by removing the calls to _mesa_BindFramebuffer and friends), but it's not quite ready yet... and I think it may be a bit heavy for some stable branches. Consider this a stop-gap fix. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93215 Cc: "11.0 11.1" <mesa-stable@lists.freedesktop.org> Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com> |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.