The console output is the following: radeon: Successfully grabbed chipset info from kernel! radeon: DRM version: 2.0.0 ID: 0x4152 GB: 1 Z: 1 radeon: GART size: 253 MB VRAM size: 128 MB radeon: HyperZ: NO INFO: Display change was successful: 1024x768x32 16z fullscreen=0 INFO: Video card information: Vendor: X.Org R300 Project Renderer: Gallium 0.4 on ATI RV350 Version: 2.1 Mesa 7.10-devel Maximum texture size: 2048 Maximum varying floats: 32 Using GLEW 1.5.4 INFO: Maximum color attachments: 8 INFO: Maximum draw buffers (1 required): 4 INFO: Texture units: 8 full, 16 partial INFO: Loaded shader package simple INFO: Loaded shader package simple, variant simple_premult INFO: Loaded shader package simple, variant simple_gamma_premult INFO: Loaded shader package simple, variant simple_gamma INFO: Loaded shader package simple, variant simplecar INFO: Loaded shader package logluminance INFO: Loaded shader package logluminance, variant logluminance_tiny INFO: Loaded shader package tonemap INFO: Loaded shader package gbufferfill INFO: Loaded shader package gbufferfill, variant gbufferfillcar vdrift: ir_constant_expression.cpp:134: virtual ir_constant* ir_expression::constant_expression_value(): Assertion `op[0]->type->base_type == GLSL_TYPE_INT' failed. SIGABRT detected, releasing the mouse Aborted
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.
*** This bug has been marked as a duplicate of bug 32287 ***
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.