When I build to Windows platform I see graphics corruption.
The output log file shows a few warnings that might be related, i.e. “WARNING: Shader Unsupported: ‘Standard’ - Pass ‘META’ has no vertex shader”. But from past experience I believe the “no vertex shader” warning may be ignored. For example, the standard shader also throws this warning.
Unity 2018.3.12.f:
Player (Standalone PC):
Editor:
Log File:
Initialize engine version: 2018.3.12f1 (8afd630d1f5b)
GfxDevice: creating device client; threaded=1
Direct3D:
Version: Direct3D 11.0 [level 11.1]
Renderer: NVIDIA GeForce GTX 1060 (ID=0x1c20)
Vendor:
VRAM: 6054 MB
Driver: 23.21.13.9140
Begin MonoManager ReloadAssembly
- Completed reload, in 0.113 seconds
<RI> Initializing input.
<RI> Input initialized.
<RI> Initialized touch support.
WARNING: Shader Unsupported: 'Standard' - Pass 'META' has no vertex shader
WARNING: Shader Unsupported: 'Standard' - Pass 'META' has no vertex shader
WARNING: Shader Unsupported: 'Standard (Specular setup)' - Pass 'META' has no vertex shader
WARNING: Shader Unsupported: 'Standard (Specular setup)' - Pass 'META' has no vertex shader
UnloadTime: 0.566800 ms
WARNING: Shader Unsupported: 'Legacy Shaders/Diffuse' - Pass 'Meta' has no vertex shader
WARNING: Shader Unsupported: 'Custom/Dissolve' - Pass 'Meta' has no vertex shader
WARNING: Shader Unsupported: 'Custom/Respawn' - Pass 'Meta' has no vertex shader
Resource Cache Size: 0
Fallback handler could not load library PC-Mono/xxx_Data/Mono/libc
Fallback handler could not load library PC-Mono/xxx_Data/Mono/libc.dll
Fallback handler could not load library PC-Mono/xxx_Data/Mono/libc
Has anyone seen this before or have any thoughts on where I might look to fix?
I’m struggling to understand what could cause this behavior at runtime. In the past, I’ve had trouble with assets in \resources not being included in the build, such as shaders.
Does this also happen if you force a different graphics API, like Vulkan or D3D12?
Thanks Tautvydas – this is useful advice. It appears the same with D3D12. I’m just not sure where to tweak to test this better. The ship shown to the right is the standard Unity shader, which I think might help me rule out store assets that somehow have legacy or unsupported shaders. Maybe post-processing V1 is causing this, I don’t know. I’ll try disabling that next.
D3D12 Log
Initialize engine version: 2018.3.12f1 (8afd630d1f5b)
GfxDevice: creating device client; threaded=1
d3d12: loaded!
Direct3D:
Version: Direct3D 12 [level 12.1]
Renderer: NVIDIA GeForce GTX 1060 (ID=0x1c20)
Vendor:
VRAM: 6054 MB
App VRAM Budget: 5145 MB
Driver: 23.21.13.9140
Begin MonoManager ReloadAssembly
- Completed reload, in 0.179 seconds
<RI> Initializing input.
<RI> Input initialized.
<RI> Initialized touch support.
WARNING: Shader Unsupported: 'Standard' - Pass 'META' has no vertex shader
WARNING: Shader Unsupported: 'Standard' - Pass 'META' has no vertex shader
WARNING: Shader Unsupported: 'Standard (Specular setup)' - Pass 'META' has no vertex shader
WARNING: Shader Unsupported: 'Standard (Specular setup)' - Pass 'META' has no vertex shader
UnloadTime: 10.177300 ms
WARNING: Shader Unsupported: 'Legacy Shaders/Diffuse' - Pass 'Meta' has no vertex shader
WARNING: Shader Unsupported: 'Custom/Dissolve' - Pass 'Meta' has no vertex shader
WARNING: Shader Unsupported: 'Custom/Respawn' - Pass 'Meta' has no vertex shader
Resource Cache Size: 0
(Filename: C:\buildslave\unity\build\Runtime/Export/Debug.bindings.h Line: 45)
Fallback handler could not load library C:/Users/stons/GitHub/-New/Builds/PC-Mono/_Data/Mono/libc
Fallback handler could not load library C:/Users/stons/GitHub/-New/Builds/PC-Mono/_Data/Mono/libc.dll
Fallback handler could not load library C:/Users/stons/GitHub/-New/Builds/PC-Mono/_Data/Mono/libc
WARNING: Shader Unsupported: 'FORGE3D/Planets HD/Sun Corona' - Pass 'Meta' has no vertex shader
WARNING: Shader Unsupported: 'FORGE3D/Planets HD/Sun' - Pass 'Meta' has no vertex shader
WARNING: Shader Unsupported: 'FORGE3D/Planets HD/Oceanic' - Pass 'Meta' has no vertex shader
WARNING: Shader Unsupported: 'FORGE3D/Planets HD/Atmosphere' - Pass 'Meta' has no vertex shader
WARNING: Shader Unsupported: 'FORGE3D/Planets HD/Ring Transparent' - Pass 'Meta' has no vertex shader
WARNING: Shader Unsupported: 'FORGE3D/Planets HD/Gas' - Pass 'Meta' has no vertex shader
Setting up 4 worker threads for Enlighten.
Thread -> id: 4d1c -> priority: 1
Thread -> id: 17e4 -> priority: 1
Thread -> id: d80 -> priority: 1
Thread -> id: 2880 -> priority: 1
Not D3D11 vs D3D12.
Not post-processing.
Not caused by two cameras with different depth layers.
Not IL2CPP vs .NET scripting backend.
Not Static Batching, Dynamic Batching, GPU Skinning, Graphics Jobs.
Not Development vs Release Build
Could you by any chance extract that game object/material into another scene and report a bug so we could dig in? Something is super bizarre.
Another thing you could try is to use VS graphics debugger to see if any of the textures on that object got into the GPU incorrectly.
Tautvydas – I believe this is the likely culprit and the graphics corruption looks similar: Bug: 4GB limit to Textures in standalone build
I’ll update the thread here once I break up my assets into smaller bundles. I’m completely surprised the build process allows a bugged player to be created.
Ouch. That sucks. I’ve read the whole thread and was shocked to see that this has been an active issue since 2016… While this isn’t helpful, I wanted to say I’m sorry you hit this.
2 Likes