Summary: | [glsl] ast_to_hir.cpp:3016: virtual ir_rvalue* ast_jump_statement::hir(exec_list*, _mesa_glsl_parse_state*): Assertion `ret != __null' failed. | ||
---|---|---|---|
Product: | Mesa | Reporter: | Vinson Lee <vlee> |
Component: | glsl-compiler | Assignee: | Ian Romanick <idr> |
Status: | CLOSED FIXED | QA Contact: | |
Severity: | critical | ||
Priority: | medium | ||
Version: | 7.10 | ||
Hardware: | All | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: |
Description
Vinson Lee
2011-01-20 15:37:19 UTC
This should be fixed on master by the following commit. It will be cherry-picked over to 7.9 and 7.10 in the next week or so. commit 2db46fe5f0145a6afff5b8edc2f00b8c734bb640 Author: Ian Romanick <ian.d.romanick@intel.com> Date: Sat Jan 22 17:47:05 2011 -0800 glsl: Don't assert when the value returned by a function has no rvalue The rvalue of the returned value can be NULL if the shader says 'return foo();' and foo() is a function that returns void. Existing GLSL specs do *NOT* say that this is an error. The type of the return value is void. If the return type of the function is also void, then this should compile without error. I expect that future versions of the GLSL spec will fix this (wink, wink, nudge, nudge). Fixes piglit test glsl-1.10/compiler/expressions/return-01.vert and bugzilla #33308. NOTE: This is a candidate for the 7.9 and 7.10 branches. Fixed by 1f34edbb (7.9) and b51b8db4 (7.10). mesa: 56ef62d9885f805bbfb2243dc860ff425d5b4d3b (master) Verified fixed. |
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.