Summary: | assertion fails when starting vdrift 2010 release with shaders enabled | ||
---|---|---|---|
Product: | Mesa | Reporter: | almos <aaalmosss> |
Component: | glsl-compiler | Assignee: | Ian Romanick <idr> |
Status: | RESOLVED DUPLICATE | QA Contact: | |
Severity: | normal | ||
Priority: | medium | CC: | chadversary, kenneth |
Version: | git | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: |
Description
almos
2010-12-09 10:05:28 UTC
Is the shader source for this application available? Something strange is happening here. The assertion that is hit occurs while the compiler is trying to constant-fold int-to-float operations. The type of the source should be int, but it's not. Can you run this application in GDB and 'up' until GDB says it's in ir_expression::constant_expression_value. Then 'print op[0]->type->name' and 'print op[0]->type->base_type'. The shader sources are available in the data/shaders dir in the game tarball. gdb says it tried to compile data/shaders/lightaccumulate/fragment.glsl when the assert happened. the types according to gdb: (gdb) f 4 #4 0xabd722cf in ir_expression::constant_expression_value (this=0x8535620) at ir_constant_expression.cpp:134 134 assert(op[0]->type->base_type == GLSL_TYPE_INT); (gdb) print op[0]->type->name $1 = 0x83bd168 "float" (gdb) print op[0]->type->base_type $2 = GLSL_TYPE_FLOAT This bug has *NOTHING* to do with the r300 driver. The issue is completely in the GLSL compiler. Please don't change the component back. I set the component to glsl-compiler intentionally. Sorry, I didn't do it intentionally. I had the bug opened in a tab, got your mail, did a refresh before posting the reply and the checkbox remained at r300g instead of changing into your setting. I hope it stays OK now. It looks like this is the same problem as bug #32287. Could you check to see if the commit mentioned there fixes this problem? If that commit fixes this problem, we'll close this bug as a duplicate of #32287. That bug is remaining open until the patch is cherry-picked back to 7.10 and 7.9 release branches. Yes, that commit fixed this problem. |
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.