Summary: | [bisected SNB] piglit spec/glsl-1.10/execution/built-in-functions/fs-op-div-int-int fails | ||
---|---|---|---|
Product: | Mesa | Reporter: | fangxun <xunx.fang> |
Component: | Drivers/DRI/i965 | Assignee: | Ian Romanick <idr> |
Status: | VERIFIED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | high | ||
Version: | git | ||
Hardware: | All | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Bug Depends on: | |||
Bug Blocks: | 42993 |
Description
fangxun
2011-11-24 01:49:05 UTC
This should be fixed by the following commit in Mesa master (and 8.0 branch): commit 1c177452005a0366db01629d875da553f7949ddd Author: Ian Romanick <ian.d.romanick@intel.com> Date: Fri Jan 6 16:26:49 2012 -0800 i965: Don't use _mesa_ir_link_shader to do our dirty work Instead, do the uniform setting and input / output mapping directly in brw_link_shader. Hurray for not generating Mesa IR! However, once the i965 driver stops calling _mesa_ir_link_shader, UsesClipDistance and UsesKill are no longer set. Ideally gen6_upload_vs_push_constants should use the gl_shader_program, but I don't see a way to propagate the information there. The other alternative, since this is the only usage, is to move gl_vertex_program::UsesClipDistance to brw_vertex_program. The compile (and precompile) stages use UsesKill to determine the cache key for the shader. This is then used to determine whether or not to compile the shader. Calculating this data during compilation is too late. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Acked-by: Kenneth Graunke <kenneth@whitecape.org> Acked-by: Eric Anholt <eric@anholt.net> System Environment: -------------------------- Libdrm: (master)2.4.30-18-gb643b0713aefdc0611e47654e88263b53b0de6f5 Mesa: (8.0)caebd7929dca802ece8ef36b0f85094d66133b57 Xserver: (server-1.11-branch)xorg-server-1.11.3 Xf86_video_intel: (master)2.17.0-599-gca252e5b51d7b2f5a7b2c2e0d8fdb024b08096db verify with mesa 8.0 branch, this case passed on huronriver. (In reply to comment #1) > This should be fixed by the following commit in Mesa master (and 8.0 branch): > commit 1c177452005a0366db01629d875da553f7949ddd > Author: Ian Romanick <ian.d.romanick@intel.com> > Date: Fri Jan 6 16:26:49 2012 -0800 > i965: Don't use _mesa_ir_link_shader to do our dirty work > Instead, do the uniform setting and input / output mapping directly in > brw_link_shader. Hurray for not generating Mesa IR! However, once > the i965 driver stops calling _mesa_ir_link_shader, UsesClipDistance > and UsesKill are no longer set. > Ideally gen6_upload_vs_push_constants should use the > gl_shader_program, but I don't see a way to propagate the information > there. The other alternative, since this is the only usage, is to > move gl_vertex_program::UsesClipDistance to brw_vertex_program. > The compile (and precompile) stages use UsesKill to determine the > cache key for the shader. This is then used to determine whether or > not to compile the shader. Calculating this data during compilation > is too late. > Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> > Acked-by: Kenneth Graunke <kenneth@whitecape.org> > Acked-by: Eric Anholt <eric@anholt.net> |
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.