Summary: | [glsl2] piglit test preprocess-01.frag fails | ||
---|---|---|---|
Product: | Mesa | Reporter: | Ian Romanick <idr> |
Component: | Mesa core | Assignee: | mesa-dev |
Status: | RESOLVED FIXED | QA Contact: | Kenneth Graunke <kenneth> |
Severity: | normal | ||
Priority: | medium | CC: | cworth, thomas.jones |
Version: | git | ||
Hardware: | All | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: |
Description
Ian Romanick
2010-08-10 12:21:12 UTC
Thanks, Thomas and Ian for the new test case. I recently pushed code to the glsl2 branch that fixes this problem. It's careful to avoid doing any evaluation of an #if or #elif expression if that expression is skipped entirely, (within an #if/#ifdef/#ifndef/#elif block evaluated as false), or irrelevant, (subsequent to an expression that has already evaluated as true). Below are the headers of the two key commits for the fix. -Carl commit 764e096647ec8c0f20ea3b5191499af806ad23f8 Author: Carl Worth <cworth@cworth.org> Date: Wed Aug 11 12:45:55 2010 -0700 glcpp: Regenerate glcpp-parse.c After a recent change to glcpp-parse.y commit 48ba058e7a4b808271ca987b1553efd7e9792da9 Author: Carl Worth <cworth@cworth.org> Date: Wed Aug 11 12:43:44 2010 -0700 glcpp: Additional fixes for not evaluating skipped #if/#elif expressions. This adds a couple of test cases to expand our coverage of invalid #if and being skipped, (either by being nested inside an #if/#elif that evaluates to zero or by being after an #if/#elif that evaluates to non-zero). |
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.