Summary: | ir_constant_expression.cpp:138: virtual ir_constant* ir_expression::constant_expression_value(): Assertion `0' failed. | ||
---|---|---|---|
Product: | Mesa | Reporter: | Vinson Lee <vlee> |
Component: | glsl-compiler | Assignee: | Ian Romanick <idr> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | critical | ||
Priority: | medium | Keywords: | NEEDINFO |
Version: | git | ||
Hardware: | All | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: | piglit test case |
Description
Vinson Lee
2011-11-09 11:52:25 UTC
Does this patch fix the bug for you? http://lists.freedesktop.org/archives/mesa-dev/2011-December/016452.html Fix by the following commit on master (and commit 7722a54e60c9da080b557d6596e4c9d363ead515 on 7.11): commit 39464489510270bbe472d11f7614c04ce1b6ae33 Author: Ian Romanick <ian.d.romanick@intel.com> Date: Fri Dec 23 17:16:43 2011 -0800 glsl: Don't use base type for bit-not when there's an error Other parts of the compiler assume that expressions will have well-formed types or the error type. Just using the type of the thing being operated on can cause expressions like ~3.14 or ~false to not have a well-formed type. This could then result in an assertion failure in the context epxression handler. If there is an error processing the expression, set the type of the IR expression to error. Fixes piglit's bit-not-0[789].frag tests. NOTE: This is a candidate for the 7.11 branch. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=42755 Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Cc: Vinson Lee <vlee@vmware.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.