Bug 96762

Summary: [radeonsi,apitrace] Firewatch: nothing rendered in scrollable (text) areas
Product: Mesa Reporter: Kai <kai>
Component: Drivers/Gallium/radeonsiAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED FIXED QA Contact: Default DRI bug account <dri-devel>
Severity: normal    
Priority: medium    
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard: apitrace
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 77449    
Attachments: Graphics settings menu for Firewatch: no resolution options are rendered in the scrollable area
Firewatch: the notes reader doesn't show the text

Description Kai 2016-07-01 14:22:52 UTC
Created attachment 124836 [details]
Graphics settings menu for Firewatch: no resolution options are rendered in the scrollable area

Before I start with the description: this might be a duplicate of either bug 96672 or bug 95551 or both if those two are duplicates of each other as well. Feel free to resolve it that way.

When playing Firewatch with the stack detailed below, scrollable text areas (for example the resolution selection in the settings menu (see attached screenshot) or the "notes reader" menu for notes you've collected are lacking any visible text. The text area's border as well as scrolling controls are rendered.

Most likely unrelated/a different issue, but I'd like to note, that the start-up of the game is *really* slow and for at least a minute or so you see the main menu screen go from black to the fully rendered screen with background animation frame by frame (the same issue can be observed, when Alt-Tabing out and back into the game). It almost feels like the process has frozen. Once it's loaded everything runs smooth. (Btw: launching the game with MESA_GLSL_VERSION_OVERRIDE=300 MESA_GL_VERSION_OVERRIDE=3.0 avoids this issue entirely, but still nothing rendered in scrollable areas)

In any case, the Player.log of the underlying Unity engine shows a couple of shader-related warnings:
> WARNING: Shader Unsupported: 'Marmoset/Transparent/Cutout/Diffuse IBL' - Pass 'FORWARD' has no vertex shader
> WARNING: Shader Unsupported: 'Marmoset/Transparent/Cutout/Diffuse IBL' - Pass 'FORWARD' has no vertex shader
> WARNING: Shader Unsupported: 'Marmoset/Transparent/Cutout/Diffuse IBL' - Pass 'PREPASS' has no vertex shader
> WARNING: Shader Unsupported: 'Marmoset/Transparent/Cutout/Diffuse IBL' - Pass 'PREPASS' has no vertex shader
> WARNING: Shader Unsupported: 'Marmoset/Transparent/Cutout/Diffuse IBL' - Pass 'DEFERRED' has no vertex shader
> WARNING: Shader Unsupported: 'Marmoset/Transparent/Cutout/Diffuse IBL' - All passes removed
> WARNING: Shader Unsupported: 'Marmoset/Transparent/Cutout/Bumped Diffuse IBL' - Pass 'FORWARD' has no vertex shader
> WARNING: Shader Unsupported: 'Marmoset/Transparent/Cutout/Bumped Diffuse IBL' - Pass 'FORWARD' has no vertex shader
> WARNING: Shader Unsupported: 'Marmoset/Transparent/Cutout/Bumped Diffuse IBL' - Pass 'PREPASS' has no vertex shader
> WARNING: Shader Unsupported: 'Marmoset/Transparent/Cutout/Bumped Diffuse IBL' - Pass 'PREPASS' has no vertex shader
> WARNING: Shader Unsupported: 'Marmoset/Transparent/Cutout/Bumped Diffuse IBL' - Pass 'DEFERRED' has no vertex shader
> WARNING: Shader Unsupported: 'Marmoset/Transparent/Cutout/Bumped Diffuse IBL' - All passes removed
> WARNING: Shader Unsupported: 'Marmoset/Transparent/Cutout/Bumped Diffuse IBL Trees' - Pass 'FORWARD' has no vertex shader
> WARNING: Shader Unsupported: 'Marmoset/Transparent/Cutout/Bumped Diffuse IBL Trees' - Pass 'FORWARD' has no vertex shader
> WARNING: Shader Unsupported: 'Marmoset/Transparent/Cutout/Bumped Diffuse IBL Trees' - Pass 'PREPASS' has no vertex shader
> WARNING: Shader Unsupported: 'Marmoset/Transparent/Cutout/Bumped Diffuse IBL Trees' - Pass 'PREPASS' has no vertex shader
> WARNING: Shader Unsupported: 'Marmoset/Transparent/Cutout/Bumped Diffuse IBL Trees' - Pass 'DEFERRED' has no vertex shader
> WARNING: Shader Unsupported: 'Marmoset/Transparent/Cutout/Bumped Diffuse IBL Cross Cards' - Pass 'FORWARD' has no vertex shader
> WARNING: Shader Unsupported: 'Marmoset/Transparent/Cutout/Bumped Diffuse IBL Cross Cards' - Pass 'FORWARD' has no vertex shader
> WARNING: Shader Unsupported: 'Marmoset/Transparent/Cutout/Bumped Diffuse IBL Cross Cards' - Pass 'PREPASS' has no vertex shader
> WARNING: Shader Unsupported: 'Marmoset/Transparent/Cutout/Bumped Diffuse IBL Cross Cards' - Pass 'PREPASS' has no vertex shader
> WARNING: Shader Unsupported: 'Marmoset/Transparent/Cutout/Bumped Diffuse IBL Cross Cards' - Pass 'DEFERRED' has no vertex shader
> WARNING: Shader Unsupported: 'Marmoset/Transparent/Cutout/Bumped Diffuse IBL Cross Cards' - All passes removed
> WARNING: Shader Unsupported: 'Marmoset/Transparent/Cutout/Bumped Diffuse IBL Double Faces' - Pass 'FORWARD' has no vertex shader
> WARNING: Shader Unsupported: 'Marmoset/Transparent/Cutout/Bumped Diffuse IBL Double Faces' - Pass 'FORWARD' has no vertex shader
> WARNING: Shader Unsupported: 'Marmoset/Transparent/Cutout/Bumped Diffuse IBL Double Faces' - Pass 'PREPASS' has no vertex shader
> WARNING: Shader Unsupported: 'Marmoset/Transparent/Cutout/Bumped Diffuse IBL Double Faces' - Pass 'PREPASS' has no vertex shader
> WARNING: Shader Unsupported: 'Marmoset/Transparent/Cutout/Bumped Diffuse IBL Double Faces' - Pass 'DEFERRED' has no vertex shader
> WARNING: Shader Unsupported: 'Marmoset/Transparent/Cutout/Specular IBL' - Pass 'FORWARD' has no vertex shader
> WARNING: Shader Unsupported: 'Marmoset/Transparent/Cutout/Specular IBL' - Pass 'FORWARD' has no vertex shader
> WARNING: Shader Unsupported: 'Marmoset/Transparent/Cutout/Specular IBL' - Pass 'PREPASS' has no vertex shader
> WARNING: Shader Unsupported: 'Marmoset/Transparent/Cutout/Specular IBL' - Pass 'PREPASS' has no vertex shader
> WARNING: Shader Unsupported: 'Marmoset/Transparent/Cutout/Specular IBL' - Pass 'DEFERRED' has no vertex shader
> WARNING: Shader Unsupported: 'Marmoset/Transparent/Cutout/Specular IBL' - All passes removed
> WARNING: Shader Unsupported: 'Marmoset/Transparent/Cutout/Bumped Specular IBL' - Pass 'FORWARD' has no vertex shader
> WARNING: Shader Unsupported: 'Marmoset/Transparent/Cutout/Bumped Specular IBL' - Pass 'FORWARD' has no vertex shader
> WARNING: Shader Unsupported: 'Marmoset/Transparent/Cutout/Bumped Specular IBL' - Pass 'PREPASS' has no vertex shader
> WARNING: Shader Unsupported: 'Marmoset/Transparent/Cutout/Bumped Specular IBL' - Pass 'PREPASS' has no vertex shader
> WARNING: Shader Unsupported: 'Marmoset/Transparent/Cutout/Bumped Specular IBL' - Pass 'DEFERRED' has no vertex shader
> WARNING: Shader Unsupported: 'Marmoset/Transparent/Cutout/Bumped Specular IBL' - All passes removed
> WARNING: Shader Unsupported: 'Hidden/Dof/DX11Dof' - Pass '' has no vertex shader
> WARNING: Shader Unsupported: 'Hidden/Dof/DX11Dof' - Setting to default shader.
> WARNING: Shader Unsupported: 'Hidden/NoiseAndGrainDX11' - Pass '' has no vertex shader
> WARNING: Shader Unsupported: 'Hidden/NoiseAndGrainDX11' - Setting to default shader.

There is also a couple of audio-related (WWise) warnings and a null pointer exception in there, but the exception is probably "on close" as it's the very last entry in the log. Let me know, if you want to see the full log file from Unity3D.

The stack used was (Debian testing, fully updated, as a base):
GPU: Hawaii PRO [Radeon R9 290] (ChipID = 0x67b1)
Mesa: Git:master/d8d6091a84
libdrm: 2.4.68-1
LLVM: SVN:trunk/r274279 (3.9 devel) + <http://reviews.llvm.org/D21551?id=61349&download=true>
X.Org: 2:1.18.3-1
Linux: 4.6.3
Firmware: firmware-amd-graphics/20160110-1
libclc: Git:master/20d977a3e6
DDX: 1:7.7.0-1

Let me know, if you need something else (shader dump, apitrace, etc.). Please specify if you want me to provide these with or without the override variables mentioned above.
Comment 1 Kai 2016-07-01 14:23:39 UTC
Created attachment 124837 [details]
Firewatch: the notes reader doesn't show the text
Comment 2 Nicolai Hähnle 2016-07-01 15:51:54 UTC
Do you see the issue also in an apitrace? If so, could you upload it? If not, yes, probably a duplicate to bug 95551.
Comment 3 Kai 2016-07-01 17:55:38 UTC
(In reply to Nicolai Hähnle from comment #2)
> Do you see the issue also in an apitrace? If so, could you upload it?

Yes, I can! Find the trace at <http://dev.carbon-project.org/debian/mesa.bugs/96762/firewatch.trace>. You'll need your login credentials – you should have from a previous trace file – to download it (I just want to prevent needless traffic, if I should reset your password, let me know and I e-mail you a new one); other known Mesa developers without login credentials can contact me by private e-mail and I'm happy to set them up.

The trace shows the launch of the game and then the graphics settings menu as shown in attachment 124836 [details].

Let me know, if you need something else.
Comment 4 Kai 2016-07-01 18:17:33 UTC
NB: IMHO the "Keywords" field should be extended to also allow "apitrace"
Comment 5 Nicolai Hähnle 2016-07-04 15:44:31 UTC
Thanks. I can reproduce the empty "Resolutions" scroll area.
Comment 6 Kai 2016-07-24 10:40:49 UTC
Still an issue with a current stack (Debian testing, fully updated, as a base):
GPU: Hawaii PRO [Radeon R9 290] (ChipID = 0x67b1)
Mesa: Git:master/3d69357da9
libdrm: 2.4.68-1
LLVM: SVN:trunk/r276522 (4.0 devel)
X.Org: 2:1.18.4-1
Linux: 4.6.4
Firmware: firmware-amd-graphics/20160110-1
libclc: Git:master/785bfd3719
DDX: 1:7.7.0-1
Comment 7 Nicolai Hähnle 2016-07-26 05:45:35 UTC
The discard statement in shaderObj = 53 is miscompiled, which leads to a mask for those UI elements to be discarded entirely. I'm investigating further.
Comment 8 Nicolai Hähnle 2016-07-26 08:15:25 UTC
The patch at https://patchwork.freedesktop.org/patch/100834/ fixes the trace for me.
Comment 9 Kai 2016-07-26 17:24:24 UTC
(In reply to Nicolai Hähnle from comment #8)
> The patch at https://patchwork.freedesktop.org/patch/100834/ fixes the trace
> for me.

I can confirm, that this patch fixes the issue for me, with the stack detailed below (Debian testing as a base):
GPU: Hawaii PRO [Radeon R9 290] (ChipID = 0x67b1)
Mesa: Git:master/5d76690f17 + <https://patchwork.freedesktop.org/patch/100834/raw/>
libdrm: 2.4.68-1
LLVM: SVN:trunk/r276522 (4.0 devel)
X.Org: 2:1.18.4-1
Linux: 4.6.4
Firmware: firmware-amd-graphics/20160110-1
libclc: Git:master/785bfd3719
DDX: 1:7.7.0-1

You can have my
 Tested-by: Kai Wasserbäch <kai@dev.carbon-project.org>

Thanks a lot for investigating and fixing this!
Comment 10 Nicolai Hähnle 2016-07-28 10:05:19 UTC
The fix has been pushed to Mesa master.

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.