Summary: | [bisected]oglc glsl-autointconv subcase negative.function.ambiguousMatch failed | ||
---|---|---|---|
Product: | Mesa | Reporter: | fangxun <xunx.fang> |
Component: | Drivers/DRI/i965 | Assignee: | Kenneth Graunke <kenneth> |
Status: | VERIFIED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | high | CC: | idr, kenneth |
Version: | git | ||
Hardware: | All | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: | output of glsl-autointconv(negative.function.ambiguousMatch) |
Description
fangxun
2011-07-05 03:35:43 UTC
I'm curious to see which signature matched for the 3rd call to 'func'. This regression only happens on mesa master branch. @Ian: It matched the first one (which is what I expected my code to do). I implemented the wrong policy. Page 42 (49 of the PDF) prohibits ambiguous function calls (no exact match and multiple inexact matches). I've sent a patch to the mailing list for review which fixes the issue. Subject line is: [Mesa-dev] glsl: Reject ambiguous function calls (multiple inexact matches). commit 7304909d6537e00252347a10d0bae54ffd77ff91 Author: Kenneth Graunke <kenneth@whitecape.org> Date: Sat Jul 9 00:20:34 2011 -0700 glsl: Reject ambiguous function calls (multiple inexact matches). According to the GLSL 1.20 specification, "it is a semantic error if there are multiple ways to apply [implicit] conversions [...] such that the call can be made to match multiple signatures." Fixes a regression caused by 60eb63a855cb89962f2d5bb91e238ff2d1ab8702, which implemented the wrong policy of finding a "closest" match. However, this is not a revert, since the original code failed to continue looking for an exact match once it found two inexact matches. It's OK to have multiple inexact matches if there's also an exact match. NOTE: This is a candidate for the 7.10 and 7.11 branches. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=38971 Reviewed-by: Eric Anholt <eric@anholt.net> Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Verified with mesa master commit 02c8ee202f5a159659a027deae4721ff05cd1530. |
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.