https://bugs.freedesktop.org/show_bug.cgi?id=36723
Summary: [r300g, bisected] Unigine Sanctuary: fog is not rendered properly Product: Mesa Version: git Platform: All URL: http://www.unigine.com/download/#sanctuary OS/Version: Linux (All) Status: NEW Keywords: regression Severity: minor Priority: medium Component: Drivers/Gallium/r300 AssignedTo: dri-devel@lists.freedesktop.org ReportedBy: pavel.ondracka@email.cz
Created an attachment (id=46198) --> (https://bugs.freedesktop.org/attachment.cgi?id=46198) screenshot of the problem
Fog in Unigine Sanctuary is not rendered properly, there are some "stripes" in the fog, which weren't present before. Screenshot attached.
fe622bac0c1b5b9f2a9fcf9f35b51232a06bea42 is the first bad commit commit fe622bac0c1b5b9f2a9fcf9f35b51232a06bea42 Author: Tom Stellard tstellar@gmail.com Date: Tue Jan 11 00:05:08 2011 -0800
r300/compiler: Rewrite register allocator
The new allocator uses ra and does swizzle packing.
Also, a data structure (struct rc_variable) and associated functions have been added for generating UD and DU chains.
This may also be related to the floating textures, since the fog wasn't rendered at all before the floating work was committed.
GPU: RV530 mesa: d7cf9833d7138daa1c2acdc489ab0c86c2ea7e41 kernel: 2.6.38.2
https://bugs.freedesktop.org/show_bug.cgi?id=36723
--- Comment #1 from Pavel Ondračka pavel.ondracka@email.cz 2011-08-29 02:44:41 PDT --- Since "linker: Reject shaders that use too many varyings" most of the fog is not rendered at all and the rest is fine.
Terminal output: GLShader::compile(): error: shader uses too many varying components (36 > 32) Material::create_shader(): can't compile "core/shaders/volumes/vertex_box_fog_ambient.shader" vertex shader defines: UNKNOWN,QUALITY_LOW,MULTISAMPLE_0,USE_INSTANCING,USE_DEFERRED,OPENGL,USE_PSEUDO_INSTANCING,USE_PSEUDO_TRANSFORM,,NOISE,HEIGHT��� Material::create_shader(): can't compile "core/shaders/volumes/fragment_box_fog_ambient.shader" fragment shader defines: UNKNOWN,QUALITY_LOW,MULTISAMPLE_0,USE_INSTANCING,USE_DEFERRED,OPENGL,USE_PSEUDO_INSTANCING,USE_PSEUDO_TRANSFORM,,NOISE,HEIGHT��� GLShader::compile(): error: shader uses too many varying components (36 > 32) Material::create_shader(): can't compile "core/shaders/volumes/vertex_sphere_fog_ambient.shader" vertex shader defines: UNKNOWN,QUALITY_LOW,MULTISAMPLE_0,USE_INSTANCING,USE_DEFERRED,OPENGL,USE_PSEUDO_INSTANCING,USE_PSEUDO_TRANSFORM,,NOISE,HEIGHT��� Material::create_shader(): can't compile "core/shaders/volumes/fragment_sphere_fog_ambient.shader" fragment shader defines: UNKNOWN,QUALITY_LOW,MULTISAMPLE_0,USE_INSTANCING,USE_DEFERRED,OPENGL,USE_PSEUDO_INSTANCING,USE_PSEUDO_TRANSFORM,,NOISE,HEIGHT���
So the original bug is gone and the new one is a different problem. Is this too many varying message a WONTFIX?
https://bugs.freedesktop.org/show_bug.cgi?id=36723
--- Comment #2 from Tomasz P. son_of_the_osiris@interia.pl --- The problem still exists with current mesa-git ?
https://bugs.freedesktop.org/show_bug.cgi?id=36723
--- Comment #3 from Pavel Ondračka pavel.ondracka@email.cz --- (In reply to comment #2)
The problem still exists with current mesa-git ?
Yeah, the broken fog is still there.
https://bugs.freedesktop.org/show_bug.cgi?id=36723
--- Comment #4 from Marek Olšák maraeo@gmail.com --- This is not a compiler issue. The fog isn't rendered properly, because there are not enough varyings. I have a patch that reuses unused color varyings for texcoords. It fixes the fog, but it also breaks a lot of other things.
https://bugs.freedesktop.org/show_bug.cgi?id=36723
Marek Olšák maraeo@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED
--- Comment #5 from Marek Olšák maraeo@gmail.com --- Fixed with 85efb2fff0d4de56c31e414fd05a37d212211da1. Closing.
dri-devel@lists.freedesktop.org