Bug 91778

Summary: white screen in unigine tropics and sanctuary with 11RC1
Product: Mesa Reporter: Hleb Valoshka <375gnu>
Component: Drivers/Gallium/radeonsiAssignee: mesa-dev
Status: RESOLVED DUPLICATE QA Contact: mesa-dev
Severity: normal    
Priority: medium CC: b.bellec
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: stdout+stderr combined from tropics

Description Hleb Valoshka 2015-08-27 18:18:19 UTC
Created attachment 117949 [details]
stdout+stderr combined from tropics

After upgrade to mesa 11RC1 with llvm 3.7RC3 unigine tropics and sanctuary show only blank white screen instead of 3d scene (buttons, fps counter and logo are shown).

Stderr is full of messages like 

GLShader::loadFragment(): error in "core/shaders/render/fragment_fade.shader" file
defines: UNKNOWN,QUALITY_LOW,QUALITY_MEDIUM,QUALITY_HIGH,MULTISAMPLE_0,USE_INSTANCING,USE_TEXTURE_ARRAY,USE_DEFERRED,USE_REFLECTION,OPENGL,USE_PSEUDO_INSTANCING,USE_PSEUDO_TRANSFORM,USE_ARB_SAMPLE_SHADING,USE_ARB_TEXTURE_MULTISAMPLE,HAS_ARB_DRAW_INSTANCED
0:129(7): error: syntax error, unexpected SAMPLE, expecting ',' or ';'

It was fine with mesa 10.6.3 and llvm 3.5.

My HW is radeon 7750, so I'm using radeonsi.
Comment 1 Benjamin Bellec 2015-08-29 09:53:05 UTC
Not reproducible with r600g.

Tested with :
OpenGL renderer: Gallium 0.4 on AMD CYPRESS (DRM 2.42.0)
OpenGL core version: 3.3 (Core Profile) Mesa 11.1.0-devel (git-c8a61ea)
Comment 2 Ilia Mirkin 2015-08-29 16:38:11 UTC
It's due to ARB_gpu_shader5 getting enabled, which introduces the 'sample' keyword. However the tropics shader has a variable called 'sample', which was legal back then.

ARB_gpu_shader5, in turn, gets enabled because of

<option name="force_glsl_extensions_warn" value="true" />

So ideally there'd be an extra override to disable ARB_gpu_shader5.
Comment 3 Kenneth Graunke 2015-08-29 20:31:45 UTC

*** This bug has been marked as a duplicate of bug 82897 ***

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.