Almamu / linux-wallpaperengine

Wallpaper Engine backgrounds for Linux!
GNU General Public License v3.0
1.69k stars 61 forks source link

[BGFIX] 2685564485 #100

Closed mihawk90 closed 2 years ago

mihawk90 commented 2 years ago

Wallpaper Engine Background(s)

2685564485

Console output

z% wallengine --fps 30 /home/tarulia/.steam/steam/steamapps/workshop/content/431960/2685564485
Detected scene.pkg file at /home/tarulia/.local/share/Steam/steamapps/workshop/content/431960/2685564485/scene.pkg. Adding to list of searchable paths
Found wallpaper engine's assets at /home/tarulia/.local/share/Steam/steamapps/common/wallpaper_engine/assets
terminate called after throwing an instance of 'std::runtime_error'
  what():  0:29(19): error: `g_Texture0' undeclared
0:29(9): error: no matching function for call to `texture2D(error, vec2)'; candidates are:
0:29(9): error:    vec4 texture2D(sampler2D, vec2)
0:29(9): error:    vec4 texture2D(sampler2D, vec2, float)
0:29(9): error: type mismatch
0:29(9): error: operands to arithmetic operators must be numeric
0:30(14): error: `g_Texture0' undeclared
0:30(4): error: no matching function for call to `texture2D(error, vec2)'; candidates are:
0:30(4): error:    vec4 texture2D(sampler2D, vec2)
0:30(4): error:    vec4 texture2D(sampler2D, vec2, float)
0:30(4): error: type mismatch
0:30(4): error: operands to arithmetic operators must be numeric
0:29(9): error: operands to arithmetic operators must be numeric
0:31(14): error: `g_Texture0' undeclared
0:31(4): error: no matching function for call to `texture2D(error, vec2)'; candidates are:
0:31(4): error:    vec4 texture2D(sampler2D, vec2)
0:31(4): error:    vec4 texture2D(sampler2D, vec2, float)
0:31(4): error: type mismatch
0:31(4): error: operands to arithmetic operators must be numeric
0:29(9): error: operands to arithmetic operators must be numeric
0:32(14): error: `g_Texture0' undeclared
0:32(4): error: no matching function for call to `texture2D(error, vec2)'; candidates are:
0:32(4): error:    vec4 texture2D(sampler2D, vec2)
0:32(4): error:    vec4 texture2D(sampler2D, vec2, float)
0:32(4): error: type mismatch
0:32(4): error: operands to arithmetic operators must be numeric
0:29(9): error: operands to arithmetic operators must be numeric
0:33(14): error: `g_Texture0' undeclared
0:33(4): error: no matching function for call to `texture2D(error, vec2)'; candidates are:
0:33(4): error:    vec4 texture2D(sampler2D, vec2)
0:33(4): error:    vec4 texture2D(sampler2D, vec2, float)
0:33(4): error: type mismatch
0:33(4): error: operands to arithmetic operators must be numeric
0:29(9): error: operands to arithmetic operators must be numeric
0:34(14): error: `g_Texture0' undeclared
0:34(4): error: no matching function for call to `texture2D(error, vec2)'; candidates are:
0:34(4): error:    vec4 texture2D(sampler2D, vec2)
0:34(4): error:    vec4 texture2D(sampler2D, vec2, float)
0:34(4): error: type mismatch
0:34(4): error: operands to arithmetic operators must be numeric
0:29(9): error: operands to arithmetic operators must be numeric
0:35(14): error: `g_Texture0' undeclared
0:35(4): error: no matching function for call to `texture2D(error, vec2)'; candidates are:
0:35(4): error:    vec4 texture2D(sampler2D, vec2)
0:35(4): error:    vec4 texture2D(sampler2D, vec2, float)
0:35(4): error: type mismatch
0:35(4): error: operands to arithmetic operators must be numeric
0:29(9): error: operands to arithmetic operators must be numeric
0:29(2): error: `return' with wrong type error, in function `blur13' returning vec3
0:43(19): error: `g_Texture0' undeclared
0:43(9): error: no matching function for call to `texture2D(error, vec2)'; candidates are:
0:43(9): error:    vec4 texture2D(sampler2D, vec2)
0:43(9): error:    vec4 texture2D(sampler2D, vec2, float)
0:43(9): error: type mismatch
0:43(9): error: operands to arithmetic operators must be numeric
0:44(14): error: `g_Texture0' undeclared
0:44(4): error: no matching function for call to `texture2D(error, vec2)'; candidates are:
0:44(4): error:    vec4 texture2D(sampler2D, vec2)
0:44(4): error:    vec4 texture2D(sampler2D, vec2, float)
0:44(4): error: type mismatch
0:44(4): error: operands to arithmetic operators must be numeric
0:43(9): error: operands to arithmetic operators must be numeric
0:45(14): error: `g_Texture0' undeclared
0:45(4): error: no matching function for call to `texture2D(error, vec2)'; candidates are:
0:45(4): error:    vec4 texture2D(sampler2D, vec2)
0:45(4): error:    vec4 texture2D(sampler2D, vec2, float)
0:45(4): error: type mismatch
0:45(4): error: operands to arithmetic operators must be numeric
0:43(9): error: operands to arithmetic operators must be numeric
0:46(14): error: `g_Texture0' undeclared
0:46(4): error: no matching function for call to `texture2D(error, vec2)'; candidates are:
0:46(4): error:    vec4 texture2D(sampler2D, vec2)
0:46(4): error:    vec4 texture2D(sampler2D, vec2, float)
0:46(4): error: type mismatch
0:46(4): error: operands to arithmetic operators must be numeric
0:43(9): error: operands to arithmetic operators must be numeric
0:43(2): error: `return' with wrong type error, in function `blur7' returning vec3
0:50(19): error: `g_Texture0' undeclared
0:50(9): error: no matching function for call to `texture2D(error, vec2)'; candidates are:
0:50(9): error:    vec4 texture2D(sampler2D, vec2)
0:50(9): error:    vec4 texture2D(sampler2D, vec2, float)
0:50(9): error: type mismatch
0:50(9): error: operands to arithmetic operators must be numeric
0:51(14): error: `g_Texture0' undeclared
0:51(4): error: no matching function for call to `texture2D(error, vec2)'; candidates are:
0:51(4): error:    vec4 texture2D(sampler2D, vec2)
0:51(4): error:    vec4 texture2D(sampler2D, vec2, float)
0:51(4): error: type mismatch
0:51(4): error: operands to arithmetic operators must be numeric
0:50(9): error: operands to arithmetic operators must be numeric
0:52(14): error: `g_Texture0' undeclared
0:52(4): error: no matching function for call to `texture2D(error, vec2)'; candidates are:
0:52(4): error:    vec4 texture2D(sampler2D, vec2)
0:52(4): error:    vec4 texture2D(sampler2D, vec2, float)
0:52(4): error: type mismatch
0:52(4): error: operands to arithmetic operators must be numeric
0:50(9): error: operands to arithmetic operators must be numeric
0:50(2): error: `return' with wrong type error, in function `blur3' returning vec3
0:59(19): error: `g_Texture0' undeclared
0:59(9): error: no matching function for call to `texture2D(error, vec2)'; candidates are:
0:59(9): error:    vec4 texture2D(sampler2D, vec2)
0:59(9): error:    vec4 texture2D(sampler2D, vec2, float)
0:59(9): error: operands to arithmetic operators must be numeric
0:60(14): error: `g_Texture0' undeclared
0:60(4): error: no matching function for call to `texture2D(error, vec2)'; candidates are:
0:60(4): error:    vec4 texture2D(sampler2D, vec2)
0:60(4): error:    vec4 texture2D(sampler2D, vec2, float)
0:60(4): error: operands to arithmetic operators must be numeric
0:59(9): error: operands to arithmetic operators must be numeric
0:61(14): error: `g_Texture0' undeclared
0:61(4): error: no matching function for call to `texture2D(error, vec2)'; candidates are:
0:61(4): error:    vec4 texture2D(sampler2D, vec2)
0:61(4): error:    vec4 texture2D(sampler2D, vec2, float)
0:61(4): error: operands to arithmetic operators must be numeric
0:59(9): error: operands to arithmetic operators must be numeric
0:62(14): error: `g_Texture0' undeclared
0:62(4): error: no matching function for call to `texture2D(error, vec2)'; candidates are:
0:62(4): error:    vec4 texture2D(sampler2D, vec2)
0:62(4): error:    vec4 texture2D(sampler2D, vec2, float)
0:62(4): error: operands to arithmetic operators must be numeric
0:59(9): error: operands to arithmetic operators must be numeric
0:63(14): error: `g_Texture0' undeclared
0:63(4): error: no matching function for call to `texture2D(error, vec2)'; candidates are:
0:63(4): error:    vec4 texture2D(sampler2D, vec2)
0:63(4): error:    vec4 texture2D(sampler2D, vec2, float)
0:63(4): error: operands to arithmetic operators must be numeric
0:59(9): error: operands to arithmetic operators must be numeric
0:64(14): error: `g_Texture0' undeclared
0:64(4): error: no matching function for call to `texture2D(error, vec2)'; candidates are:
0:64(4): error:    vec4 texture2D(sampler2D, vec2)
0:64(4): error:    vec4 texture2D(sampler2D, vec2, float)
0:64(4): error: operands to arithmetic operators must be numeric
0:59(9): error: operands to arithmetic operators must be numeric
0:65(14): error: `g_Texture0' undeclared
0:65(4): error: no matching function for call to `texture2D(error, vec2)'; candidates are:
0:65(4): error:    vec4 texture2D(sampler2D, vec2)
0:65(4): error:    vec4 texture2D(sampler2D, vec2, float)
0:65(4): error: operands to arithmetic operators must be numeric
0:59(9): error: operands to arithmetic operators must be numeric
0:59(2): error: `return' with wrong type error, in function `blur13a' returning vec4
0:73(19): error: `g_Texture0' undeclared
0:73(9): error: no matching function for call to `texture2D(error, vec2)'; candidates are:
0:73(9): error:    vec4 texture2D(sampler2D, vec2)
0:73(9): error:    vec4 texture2D(sampler2D, vec2, float)
0:73(9): error: operands to arithmetic operators must be numeric
0:74(14): error: `g_Texture0' undeclared
0:74(4): error: no matching function for call to `texture2D(error, vec2)'; candidates are:
0:74(4): error:    vec4 texture2D(sampler2D, vec2)
0:74(4): error:    vec4 texture2D(sampler2D, vec2, float)
0:74(4): error: operands to arithmetic operators must be numeric
0:73(9): error: operands to arithmetic operators must be numeric
0:75(14): error: `g_Texture0' undeclared
0:75(4): error: no matching function for call to `texture2D(error, vec2)'; candidates are:
0:75(4): error:    vec4 texture2D(sampler2D, vec2)
0:75(4): error:    vec4 texture2D(sampler2D, vec2, float)
0:75(4): error: operands to arithmetic operators must be numeric
0:73(9): error: operands to arithmetic operators must be numeric
0:76(14): error: `g_Texture0' undeclared
0:76(4): error: no matching function for call to `texture2D(error, vec2)'; candidates are:
0:76(4): error:    vec4 texture2D(sampler2D, vec2)
0:76(4): error:    vec4 texture2D(sampler2D, vec2, float)
0:76(4): error: operands to arithmetic operators must be numeric
0:73(9): error: operands to arithmetic operators must be numeric
0:73(2): error: `return' with wrong type error, in function `blur7a' returning vec4
0:80(19): error: `g_Texture0' undeclared
0:80(9): error: no matching function for call to `texture2D(error, vec2)'; candidates are:
0:80(9): error:    vec4 texture2D(sampler2D, vec2)
0:80(9): error:    vec4 texture2D(sampler2D, vec2, float)
0:80(9): error: operands to arithmetic operators must be numeric
0:81(14): error: `g_Texture0' undeclared
0:81(4): error: no matching function for call to `texture2D(error, vec2)'; candidates are:
0:81(4): error:    vec4 texture2D(sampler2D, vec2)
0:81(4): error:    vec4 texture2D(sampler2D, vec2, float)
0:81(4): error: operands to arithmetic operators must be numeric
0:80(9): error: operands to arithmetic operators must be numeric
0:82(14): error: `g_Texture0' undeclared
0:82(4): error: no matching function for call to `texture2D(error, vec2)'; candidates are:
0:82(4): error:    vec4 texture2D(sampler2D, vec2)
0:82(4): error:    vec4 texture2D(sampler2D, vec2, float)
0:82(4): error: operands to arithmetic operators must be numeric
0:80(9): error: operands to arithmetic operators must be numeric
0:80(2): error: `return' with wrong type error, in function `blur3a' returning vec4

Compiled source code:
#version 120
#define highp
#define mediump
#define lowp
#define mul(x, y) (y * x)
#define max(x, y) max (y, x)
#define frac fract
#define CAST2(x) (vec2(x))
#define CAST3(x) (vec3(x))
#define CAST4(x) (vec4(x))
#define CAST3X3(x) (mat3(x))
#define saturate(x) (clamp(x, 0.0, 1.0))
#define texSample2D texture2D
#define texSample2DLod texture2DLod
#define texture2DLod texture2D
#define atan2 atan
#define ddx dFdx
#define ddy(x) dFdy(-(x))
#define GLSL 1

#define KERNEL 0

// begin of included from file common_blur.h
vec3 blur13(vec2 u, vec2 d)
{
        vec2 o1 = CAST2(1.4091998770852122) * d;
        vec2 o2 = CAST2(3.2979348079914822) * d;
        vec2 o3 = CAST2(5.2062900776825969) * d;
        return texSample2D(g_Texture0, u).rgb * 0.1976406528809576
        + texSample2D(g_Texture0, u + o1).rgb * 0.2959855056006557
        + texSample2D(g_Texture0, u - o1).rgb * 0.2959855056006557
        + texSample2D(g_Texture0, u + o2).rgb * 0.0935333619980593
        + texSample2D(g_Texture0, u - o2).rgb * 0.0935333619980593
        + texSample2D(g_Texture0, u + o3).rgb * 0.0116608059608062
        + texSample2D(g_Texture0, u - o3).rgb * 0.0116608059608062;
}
vec3 blur7(vec2 u, vec2 d)
{
        vec2 o1 = CAST2(2.3515644035337887) * d;
        vec2 o2 = CAST2(0.469433779698372) * d;
        vec2 o3 = CAST2(1.4091998770852121) * d;
        vec2 o4 = CAST2(3) * d;
        return texSample2D(g_Texture0, u + o1).rgb * 0.2028175528299753
        + texSample2D(g_Texture0, u + o2).rgb * 0.4044856614512112
        + texSample2D(g_Texture0, u - o3).rgb * 0.3213933537319605
        + texSample2D(g_Texture0, u - o4).rgb * 0.0713034319868530;
}
vec3 blur3(vec2 u, vec2 d)
{
        return texSample2D(g_Texture0, u + d).rgb * 0.25
        + texSample2D(g_Texture0, u).rgb * 0.5
        + texSample2D(g_Texture0, u - d).rgb * 0.25;
}
vec4 blur13a(vec2 u, vec2 d)
{
        vec2 o1 = CAST2(1.4091998770852122) * d;
        vec2 o2 = CAST2(3.2979348079914822) * d;
        vec2 o3 = CAST2(5.2062900776825969) * d;
        return texSample2D(g_Texture0, u) * 0.1976406528809576
        + texSample2D(g_Texture0, u + o1) * 0.2959855056006557
        + texSample2D(g_Texture0, u - o1) * 0.2959855056006557
        + texSample2D(g_Texture0, u + o2) * 0.0935333619980593
        + texSample2D(g_Texture0, u - o2) * 0.0935333619980593
        + texSample2D(g_Texture0, u + o3) * 0.0116608059608062
        + texSample2D(g_Texture0, u - o3) * 0.0116608059608062;
}
vec4 blur7a(vec2 u, vec2 d)
{
        vec2 o1 = CAST2(2.3515644035337887) * d;
        vec2 o2 = CAST2(0.469433779698372) * d;
        vec2 o3 = CAST2(1.4091998770852121) * d;
        vec2 o4 = CAST2(3) * d;
        return texSample2D(g_Texture0, u + o1) * 0.2028175528299753
        + texSample2D(g_Texture0, u + o2) * 0.4044856614512112
        + texSample2D(g_Texture0, u - o3) * 0.3213933537319605
        + texSample2D(g_Texture0, u - o4) * 0.0713034319868530;
}
vec4 blur3a(vec2 u, vec2 d)
{
        return texSample2D(g_Texture0, u + d) * 0.25
        + texSample2D(g_Texture0, u) * 0.5
        + texSample2D(g_Texture0, u - d) * 0.25;
}
// end of included from file common_blur.h

varying vec4 v_TexCoord;

uniform sampler2D g_Texture0; // {"hidden":true}

void main() {
#if KERNEL == 0
        gl_FragColor = blur13a(v_TexCoord.xy, v_TexCoord.zw);
#endif
#if KERNEL == 1
        gl_FragColor = blur7a(v_TexCoord.xy, v_TexCoord.zw);
#endif
#if KERNEL == 2
        gl_FragColor = blur3a(v_TexCoord.xy, v_TexCoord.zw);
#endif
}

zsh: IOT instruction (core dumped)  wallengine --fps 30

Screenshots

-

Desktop (please complete the following information):

Additional context

-

Almamu commented 2 years ago

Please re-open the issue if the problem persists, should be fixed in 7acac874fa79c576146e07066b4b4f83e27f4d6d

mihawk90 commented 2 years ago

Unfortunately not quite :(

z% wallengine 2685564485
Detected scene.pkg file at /home/tarulia/.local/share/Steam/steamapps/workshop/content/431960/2685564485/scene.pkg. Adding to list of searchable paths
Found wallpaper engine's assets at /home/tarulia/.local/share/Steam/steamapps/common/wallpaper_engine/assets
terminate called after throwing an instance of 'std::runtime_error'
  what():  0:105(22): error: `M_PI' undeclared
0:105(22): error: operands to arithmetic operators must be numeric
0:105(22): error: operands to arithmetic operators must be numeric
0:105(9): error: operands to arithmetic operators must be numeric
0:105(2): error: `return' with wrong type error, in function `Distribution_GGX' returning float
0:146(29): error: `M_PI' undeclared
0:146(10): error: operands to arithmetic operators must be numeric
0:146(10): error: operands to arithmetic operators must be numeric
0:146(9): error: operands to arithmetic operators must be numeric
0:146(9): error: operands to arithmetic operators must be numeric
0:146(2): error: `return' with wrong type error, in function `ComputePBRLight' returning vec3

Compiled source code:
#version 120
#define highp
#define mediump
#define lowp
#define mul(x, y) (y * x)
#define max(x, y) max (y, x)
#define frac fract
#define CAST2(x) (vec2(x))
#define CAST3(x) (vec3(x))
#define CAST4(x) (vec4(x))
#define CAST3X3(x) (mat3(x))
#define saturate(x) (clamp(x, 0.0, 1.0))
#define texSample2D texture2D
#define texSample2DLod texture2D
#define atan2 atan
#define ddx dFdx
#define ddy(x) dFdy(-(x))
#define GLSL 1
#define HLSL 1
#define LIGHTING 0
#define NORMALMAP 1
#define PBRMASKS 1
#define REFLECTION 0
#define VERSION 2

uniform sampler2D g_Texture0; // {"label":"ui_editor_properties_albedo","nonremovable":true}

#ifndef VERSION
uniform float g_Brightness; // {"material":"Brightness","label":"ui_editor_properties_brightness","default":1,"range":[0,2]}
uniform float g_UserAlpha; // {"material":"Alpha","label":"ui_editor_properties_alpha","default":1,"range":[0,1]}
#else
uniform float g_Alpha;
uniform vec3 g_Color;
#endif

#if PBRMASKS
varying vec4 v_TexCoord;
#else
varying vec2 v_TexCoord;
#endif

#if LIGHTING || REFLECTION
uniform sampler2D g_Texture1; // {"label":"ui_editor_properties_normal_map","combo":"NORMALMAP","format":"rg88","mode":"normal","requireany":true,"require":{"LIGHTING":1,"REFLECTION":1}}
uniform sampler2D g_Texture2; // {"combo":"PBRMASKS","mode":"opacitymask","paintdefaultcolor":"0 0 0 1","components":[{"label":"ui_editor_properties_metallic_map","combo":"METALLIC_MAP"},{"label":"ui_editor_properties_roughness_map","combo":"ROUGHNESS_MAP"},{"label":"ui_editor_properties_reflection_map","combo":"REFLECTION_MAP"}],"requireany":true,"require":{"LIGHTING":1,"REFLECTION":1}}
uniform float g_Roughness; // {"material":"roughness","label":"ui_editor_properties_roughness","default":0.5,"range":[0,1],"nobindings":true}
uniform float g_Metallic; // {"material":"metallic","label":"ui_editor_properties_metallic","default":0.5,"range":[0,1],"nobindings":true}
#endif

#if LIGHTING
uniform vec4 g_LightsColorPremultiplied[3];
uniform vec3 g_LightAmbientColor;

varying vec4 v_Light0DirectionL3X;
varying vec4 v_Light1DirectionL3Y;
varying vec4 v_Light2DirectionL3Z;
#endif

// Local space normal direction and precomputed tangent space in light vectors
#if (LIGHTING || REFLECTION) && NORMALMAP == 0
// World space normal direction without normal map
varying vec3 v_Normal;
#endif

#if REFLECTION && NORMALMAP
uniform vec3 g_Screen;
uniform sampler2D g_Texture3; // {"hidden":true,"default":"_rt_MipMappedFrameBuffer"}
uniform float g_Reflectivity; // {"material":"reflectivity","label":"ui_editor_properties_reflectivity","default":1,"range":[0,1],"nobindings":true}
uniform float g_Texture3MipMapInfo;

varying vec3 v_Tangent;
varying vec3 v_Bitangent;
varying vec3 v_ScreenPos;
#endif

#if BLENDMODE
uniform sampler2D g_Texture4; // {"hidden":true,"default":"_rt_FullFrameBuffer"}
varying vec3 v_ScreenCoord;
#endif

// begin of included from file common_pbr.h

vec3 FresnelSchlick(float lightTheta, vec3 baseReflectance)
{
        return baseReflectance + (1.0 - baseReflectance) * pow(max(1.0 - lightTheta, 0.001), 5.0);
}

float Distribution_GGX(vec3 N, vec3 H, float roughness)
{
        float rSqr = roughness * roughness;
        float rSqr2 = rSqr * rSqr;

        float NH = max(dot(N, H), 0.0);
        float NH2 = NH * NH;

        float numerator = rSqr2;
        float denominator = (NH2 * (rSqr2 - 1.0) + 1.0);

        return numerator / (M_PI * denominator * denominator);
}

float Schlick_GGX(float NV, float roughness)
{
        float roughnessBase = roughness + 1.0;
        float roughnessScaled = (roughnessBase * roughnessBase) / 8.0;
        float denominator = NV * (1.0 - roughnessScaled) + roughnessScaled;
        return NV / denominator;
}

float GeoSmith(vec3 N, vec3 V, vec3 L, float roughness)
{
        float NV = max(dot(N, V), 0.001);
        float NL = max(dot(N, L), 0.001);
        return Schlick_GGX(NV, roughness) * Schlick_GGX(NL, roughness);
}

vec3 ComputePBRLight(vec3 normalVector, vec3 worldToLightVector, vec3 worldToViewVector,
        vec3 albedo, vec3 lightColor, vec3 baseReflectance, float roughness, float metallic)
{
        float distance = length(worldToLightVector);
        vec3 L = worldToLightVector / distance;
        vec3 H = normalize(worldToViewVector + L);
        vec3 N = normalVector;
        vec3 V = worldToViewVector;

        vec3 radiance = lightColor / (distance * distance);

        float NDF = Distribution_GGX(N, H, roughness);
        float G = GeoSmith(N, V, L, roughness);
        vec3 F = FresnelSchlick(max(dot(H, V), 0.0), baseReflectance);

        vec3 diffuse = CAST3(1.0) - F;
        diffuse *= 1.0 - metallic;

        vec3 numerator = NDF * G * F;
        float denominator = 4.0 * max(dot(N, V), 0.0) * max(dot(N, L), 0.0);
        vec3 specular = numerator / max(denominator, 0.001);

        float NL = max(dot(N, L), 0.0);
        return (diffuse * albedo / M_PI + specular) * radiance * NL;
}

// end of included from file common_pbr.h
// begin of included from file common_blending.h

vec4 Desaturate(vec3 color, float Desaturation)
{
        vec3 grayXfer = vec3(0.3, 0.59, 0.11);
        vec3 gray = CAST3(dot(grayXfer, color));
        return vec4(mix(color, gray, Desaturation), 1.0);
}

vec3 RGBToHSL(vec3 color)
{
        vec3 hsl;
        float fmin = min(min(color.r, color.g), color.b);
        float fmax = max(max(color.r, color.g), color.b);
        float delta = fmax - fmin;
        hsl.z = (fmax + fmin) / 2.0;

        if (delta == 0.0)
        {
                hsl.x = 0.0;
                hsl.y = 0.0;
        }
        else
        {
                if (hsl.z < 0.5)
                        hsl.y = delta / (fmax + fmin);
                else
                        hsl.y = delta / (2.0 - fmax - fmin);
                float deltaR = (((fmax - color.r) / 6.0) + (delta / 2.0)) / delta;
                float deltaG = (((fmax - color.g) / 6.0) + (delta / 2.0)) / delta;
                float deltaB = (((fmax - color.b) / 6.0) + (delta / 2.0)) / delta;
                if (color.r == fmax )
                        hsl.x = deltaB - deltaG;
                else if (color.g == fmax)
                        hsl.x = (1.0 / 3.0) + deltaR - deltaB;
                else if (color.b == fmax)
                        hsl.x = (2.0 / 3.0) + deltaG - deltaR;

                if (hsl.x < 0.0)
                        hsl.x += 1.0;
                else if (hsl.x > 1.0)
                        hsl.x -= 1.0;
        }

        return hsl;
}

float HueToRGB(float f1, float f2, float hue)
{
        if (hue < 0.0)
                hue += 1.0;
        else if (hue > 1.0)
                hue -= 1.0;
        float res;
        if ((6.0 * hue) < 1.0)
                res = f1 + (f2 - f1) * 6.0 * hue;
        else if ((2.0 * hue) < 1.0)
                res = f2;
        else if ((3.0 * hue) < 2.0)
                res = f1 + (f2 - f1) * ((2.0 / 3.0) - hue) * 6.0;
        else
                res = f1;
        return res;
}

vec3 HSLToRGB(vec3 hsl)
{
        vec3 rgb;
        if (hsl.y == 0.0)
                rgb = CAST3(hsl.z);
        else
        {
                float f2;
                if (hsl.z < 0.5)
                        f2 = hsl.z * (1.0 + hsl.y);
                else
                        f2 = (hsl.z + hsl.y) - (hsl.y * hsl.z);
                float f1 = 2.0 * hsl.z - f2;
                rgb.r = HueToRGB(f1, f2, hsl.x + (1.0/3.0));
                rgb.g = HueToRGB(f1, f2, hsl.x);
                rgb.b= HueToRGB(f1, f2, hsl.x - (1.0/3.0));
        }

        return rgb;
}

vec3 ContrastSaturationBrightness(vec3 color, float brt, float sat, float con)
{
        const float AvgLumR = 0.5;
        const float AvgLumG = 0.5;
        const float AvgLumB = 0.5;

        const vec3 LumCoeff = vec3(0.2125, 0.7154, 0.0721);

        vec3 AvgLumin = vec3(AvgLumR, AvgLumG, AvgLumB);
        vec3 brtColor = color * brt;
        vec3 intensity = CAST3(dot(brtColor, LumCoeff));
        vec3 satColor = mix(intensity, brtColor, sat);
        vec3 conColor = mix(AvgLumin, satColor, con);
        return conColor;
}

#define BlendLinearDodgef(base, blend) (base + blend)
#define BlendLinearBurnf(base, blend) max(base + blend - 1.0, 0.0)
#define BlendLightenf(base, blend) max(blend, base)
#define BlendDarkenf(base, blend) min(blend, base)
#define BlendLinearLightf(base, blend) (blend < 0.5 ? BlendLinearBurnf(base, (2.0 * blend)) : BlendLinearDodgef(base, (2.0 * (blend - 0.5))))
#define BlendScreenf(base, blend) (1.0 - ((1.0 - base) * (1.0 - blend)))
#define BlendOverlayf(base, blend) (base < 0.5 ? (2.0 * base * blend) : (1.0 - 2.0 * (1.0 - base) * (1.0 - blend)))
#define BlendSoftLightf(base, blend) ((blend < 0.5) ? (2.0 * base * blend + base * base * (1.0 - 2.0 * blend)) : (sqrt(base) * (2.0 * blend - 1.0) + 2.0 * base * (1.0 - blend)))
#define BlendColorDodgef(base, blend) ((blend == 1.0) ? blend : min(base / (1.0 - blend), 1.0))
#define BlendColorBurnf(base, blend) ((blend == 0.0) ? blend : max((1.0 - ((1.0 - base) / blend)), 0.0))
#define BlendVividLightf(base, blend) ((blend < 0.5) ? BlendColorBurnf(base, (2.0 * blend)) : BlendColorDodgef(base, (2.0 * (blend - 0.5))))
#define BlendPinLightf(base, blend) ((blend < 0.5) ? BlendDarkenf(base, (2.0 * blend)) : BlendLightenf(base, (2.0 *(blend - 0.5))))
#define BlendHardMixf(base, blend) ((BlendVividLightf(base, blend) < 0.5) ? 0.0 : 1.0)
#define BlendReflectf(base, blend) ((blend == 1.0) ? blend : min(base * base / (1.0 - blend), 1.0))
#define BlendNormal(base, blend) (blend)
#define BlendLighten BlendLightenf
#define BlendDarken      BlendDarkenf
#define BlendMultiply(base, blend) (base * blend)
#define BlendAverage(base, blend) ((base + blend) / 2.0)
#define BlendAdd(base, blend) min(base + blend, CAST3(1.0))
#define BlendSubstract(base, blend) max(base + blend - CAST3(1.0), CAST3(0.0))
#define BlendDifference(base, blend) abs(base - blend)
#define BlendNegation(base, blend) (CAST3(1.0) - abs(CAST3(1.0) - base - blend))
#define BlendExclusion(base, blend) (base + blend - 2.0 * base * blend)
#define BlendScreen(base, blend) vec3(BlendScreenf(base.r, blend.r), BlendScreenf(base.g, blend.g), BlendScreenf(base.b, blend.b))
#define BlendOverlay(base, blend) vec3(BlendOverlayf(base.r, blend.r), BlendOverlayf(base.g, blend.g), BlendOverlayf(base.b, blend.b))
#define BlendSoftLight(base, blend) vec3(BlendSoftLightf(base.r, blend.r), BlendSoftLightf(base.g, blend.g), BlendSoftLightf(base.b, blend.b))
#define BlendHardLight(base, blend) BlendOverlay(blend, base)
#define BlendColorDodge(base, blend) vec3(BlendColorDodgef(base.r, blend.r), BlendColorDodgef(base.g, blend.g), BlendColorDodgef(base.b, blend.b))
#define BlendColorBurn(base, blend) vec3(BlendColorBurnf(base.r, blend.r), BlendColorBurnf(base.g, blend.g), BlendColorBurnf(base.b, blend.b))
#define BlendLinearLight(base, blend) vec3(BlendLinearLightf(base.r, blend.r), BlendLinearLightf(base.g, blend.g), BlendLinearLightf(base.b, blend.b))
#define BlendVividLight(base, blend) vec3(BlendVividLightf(base.r, blend.r), BlendVividLightf(base.g, blend.g), BlendVividLightf(base.b, blend.b))
#define BlendPinLight(base, blend) vec3(BlendPinLightf(base.r, blend.r), BlendPinLightf(base.g, blend.g), BlendPinLightf(base.b, blend.b))
#define BlendHardMix(base, blend) vec3(BlendHardMixf(base.r, blend.r), BlendHardMixf(base.g, blend.g), BlendHardMixf(base.b, blend.b))
#define BlendReflect(base, blend) vec3(BlendReflectf(base.r, blend.r), BlendReflectf(base.g, blend.g), BlendReflectf(base.b, blend.b))
#define BlendGlow(base, blend) BlendReflect(blend, base)
#define BlendPhoenix(base, blend) (min(base, blend) - max(base, blend) + CAST3(1.0))
#define BlendOpacity(base, blend, F, O) mix(base, F(base, blend), O)
#define BlendLinearDodge(base, blend) min(base + blend, CAST3(1.0))
#define BlendLinearBurn(base, blend) max(base + blend - CAST3(1.0), CAST3(0.0))
#define BlendTint(base, blend) (CAST3(max(base.x, max(base.y, base.z))) * blend)

vec3 BlendHue(vec3 base, vec3 blend)
{
        vec3 baseHSL = RGBToHSL(base);
        return HSLToRGB(vec3(RGBToHSL(blend).r, baseHSL.g, baseHSL.b));
}

vec3 BlendSaturation(vec3 base, vec3 blend)
{
        vec3 baseHSL = RGBToHSL(base);
        return HSLToRGB(vec3(baseHSL.r, RGBToHSL(blend).g, baseHSL.b));
}

vec3 BlendColor(vec3 base, vec3 blend)
{
        vec3 blendHSL = RGBToHSL(blend);
        return HSLToRGB(vec3(blendHSL.r, blendHSL.g, RGBToHSL(base).b));
}

vec3 BlendLuminosity(vec3 base, vec3 blend)
{
        vec3 baseHSL = RGBToHSL(base);
        return HSLToRGB(vec3(baseHSL.r, baseHSL.g, RGBToHSL(blend).b));
}

vec3 ApplyBlending(const int blendMode, in vec3 A, in vec3 B, in float opacity)
{
#if BLENDMODE == 1
                return mix(A,BlendDarken(A,B),opacity);
#endif
#if BLENDMODE == 2
                return mix(A,BlendMultiply(A,B),opacity);
#endif
#if BLENDMODE == 3
                return mix(A,BlendColorBurn(A,B),opacity);
#endif
#if BLENDMODE == 4
                return mix(A,BlendSubstract(A,B),opacity);
#endif
#if BLENDMODE == 5
                return min(A, B);
#endif
#if BLENDMODE == 6
                return mix(A,BlendLighten(A,B),opacity);
#endif
#if BLENDMODE == 7
                return mix(A,BlendScreen(A,B),opacity);
#endif
#if BLENDMODE == 8
                return mix(A,BlendColorDodge(A,B),opacity);
#endif
#if BLENDMODE == 9
                return mix(A,BlendAdd(A,B),opacity);
#endif
#if BLENDMODE == 10
                return max(A, B);
#endif
#if BLENDMODE == 11
                return mix(A,BlendOverlay(A,B),opacity);
#endif
#if BLENDMODE == 12
                return mix(A,BlendSoftLight(A,B),opacity);
#endif
#if BLENDMODE == 13
                return mix(A,BlendHardLight(A,B),opacity);
#endif
#if BLENDMODE == 14
                return mix(A,BlendVividLight(A,B),opacity);
#endif
#if BLENDMODE == 15
                return mix(A,BlendLinearLight(A,B),opacity);
#endif
#if BLENDMODE == 16
                return mix(A,BlendPinLight(A,B),opacity);
#endif
#if BLENDMODE == 17
                return mix(A,BlendHardMix(A,B),opacity);
#endif
#if BLENDMODE == 18
                return mix(A,BlendDifference(A,B),opacity);
#endif
#if BLENDMODE == 19
                return mix(A,BlendExclusion(A,B),opacity);
#endif
#if BLENDMODE == 20
                return mix(A,BlendSubstract(A,B),opacity);
#endif
#if BLENDMODE == 21
                return mix(A,BlendReflect(A,B),opacity);
#endif
#if BLENDMODE == 22
                return mix(A,BlendGlow(A,B),opacity);
#endif
#if BLENDMODE == 23
                return mix(A,BlendPhoenix(A,B),opacity);
#endif
#if BLENDMODE == 24
                return mix(A,BlendAverage(A,B),opacity);
#endif
#if BLENDMODE == 25
                return mix(A,BlendNegation(A,B),opacity);
#endif
#if BLENDMODE == 26
                return mix(A,BlendHue(A,B),opacity);
#endif
#if BLENDMODE == 27
                return mix(A,BlendSaturation(A,B),opacity);
#endif
#if BLENDMODE == 28
                return mix(A,BlendColor(A,B),opacity);
#endif
#if BLENDMODE == 29
                return mix(A,BlendLuminosity(A,B),opacity);
#endif
#if BLENDMODE == 30
                return mix(A,BlendTint(A,B),opacity);
#endif
#if BLENDMODE == 31
                return A + B * opacity;
#endif
                return mix(A,BlendNormal(A,B),opacity);
}

// end of included from file common_blending.h

void main() {
        vec4 color = texSample2D(g_Texture0, v_TexCoord.xy);

#ifndef VERSION
        color.rgb *= g_Brightness;
        color.a *= g_UserAlpha;
#else
        color.rgb *= g_Color;
        color.a *= g_Alpha;
#endif

#if LIGHTING || REFLECTION
        float metallic = g_Metallic;
        float roughness = g_Roughness;

#if PBRMASKS
        vec3 componentMaps = texSample2D(g_Texture2, v_TexCoord.zw).rgb;
#endif

#if METALLIC_MAP
        metallic = componentMaps.x;
#endif

#if ROUGHNESS_MAP
        roughness = componentMaps.y;
#endif

#if NORMALMAP
        vec2 compressedNormal = texSample2D(g_Texture1, v_TexCoord.xy).xy * 2.0 - 1.0;
        vec3 normal = vec3(compressedNormal,
                sqrt(saturate(1.0 - compressedNormal.x * compressedNormal.x - compressedNormal.y * compressedNormal.y)));
        normal = normalize(normal);
#else
        vec3 normal = normalize(v_Normal);
#endif
        vec3 f0 = CAST3(0.04);
        f0 = mix(f0, color.rgb, metallic);

        // Using the actual view vector is ugly for ortho rendering
        vec3 normalizedViewVector = vec3(0, 0, 1); //normalize(v_ViewDir);
#endif

#if LIGHTING
        vec3 light = ComputePBRLight(normal, v_Light0DirectionL3X.xyz, normalizedViewVector, color.rgb, g_LightsColorPremultiplied[0].rgb, f0, roughness, metallic);
        light += ComputePBRLight(normal, v_Light1DirectionL3Y.xyz, normalizedViewVector, color.rgb, g_LightsColorPremultiplied[1].rgb, f0, roughness, metallic);
        light += ComputePBRLight(normal, v_Light2DirectionL3Z.xyz, normalizedViewVector, color.rgb, g_LightsColorPremultiplied[2].rgb, f0, roughness, metallic);
        light += ComputePBRLight(normal, vec3(v_Light0DirectionL3X.w, v_Light1DirectionL3Y.w, v_Light2DirectionL3Z.w),
                normalizedViewVector, color.rgb,
                vec3(g_LightsColorPremultiplied[0].w, g_LightsColorPremultiplied[1].w, g_LightsColorPremultiplied[2].w),
                f0, roughness, metallic);
        vec3 ambient = max(CAST3(0.001), g_LightAmbientColor) * color.rgb;

        // Why disable HDR with this??
        //vec3 tmp = ambient + light;
#if HDR
        float lightLen = length(light);
        float overbright = (saturate(lightLen - 2.0) * 0.1) / max(0.01, lightLen);
        color.rgb = saturate(ambient + light) + (light * overbright);

        //float overbright = saturate((length(light) - 2.0) * 0.1);
        //color.rgb = saturate(ambient + light) + (normalize(tmp) * overbright);
#else
        color.rgb = ambient + light;
#endif
        // Disables HDR correction
        //color.rgb = ambient + light;
        //color.rgb = vec3(length(g_LightsColorPremultiplied[0].xyz) / 2000.0, 0, 0);
#endif

#if REFLECTION && NORMALMAP
        float reflectivity = g_Reflectivity;

#if REFLECTION_MAP
        reflectivity *= componentMaps.z;
#endif

        vec2 tangent = normalize(v_Tangent.xy);
        vec2 bitangent = normalize(v_Bitangent.xy);
        vec2 screenUV = (v_ScreenPos.xy / v_ScreenPos.z) * 0.5 + 0.5;

        float fresnelTerm = max(0.001, dot(normal, vec3(0, 0, 1)));
#if PLATFORM_ANDROID
        normal.xy = normalize(normal.xy) * vec2(0.25 / g_Screen.z, 0.25);
#else
        // Make consistent on X since the width is usually more variable (multi monitors) - bad for phones tho
        normal.xy = normalize(normal.xy) * vec2(0.15, 0.15 * g_Screen.z);
#endif
        screenUV += (tangent * normal.x + bitangent * normal.y) * fresnelTerm;

        vec3 reflectionColor = texSample2DLod(g_Texture3, screenUV, roughness * g_Texture3MipMapInfo).rgb;
        reflectionColor = reflectionColor * (1.0 - fresnelTerm) * reflectivity;
        reflectionColor = pow(max(CAST3(0.001), reflectionColor), CAST3(2.0 - metallic));

        color.rgb += saturate(reflectionColor);
#endif

        gl_FragColor = color;

#if BLENDMODE
        vec2 screenCoord = v_ScreenCoord.xy / v_ScreenCoord.z * vec2(0.5, 0.5) + 0.5;
        vec4 screen = texSample2D(g_Texture4, screenCoord);

        gl_FragColor.rgb = ApplyBlending(BLENDMODE, screen.rgb, gl_FragColor.rgb, gl_FragColor.a);
        gl_FragColor.a = screen.a;
#endif
}

zsh: IOT instruction (core dumped)  wallengine 2685564485

Can't re-open, just comment ;)

Almamu commented 2 years ago

That's weird, I can launch it properly on my end. I'll look into this.

mihawk90 commented 2 years ago

Here's some more info from the Core dump, maybe that helps:

z% coredumpctl debug 483986
           PID: 483986 (wallengine)
           UID: 1000 (tarulia)
           GID: 1000 (tarulia)
        Signal: 6 (ABRT)
     Timestamp: Thu 2022-06-02 13:17:32 CEST (8min ago)
  Command Line: wallengine /home/tarulia/.steam/steam/steamapps/workshop/content/431960/2685564485
    Executable: /usr/bin/wallengine
 Control Group: /user.slice/user-1000.slice/user@1000.service/app.slice/app-konsole-07962780794b49d6a15a272c427079b2.scope
          Unit: user@1000.service
     User Unit: app-konsole-07962780794b49d6a15a272c427079b2.scope
         Slice: user-1000.slice
     Owner UID: 1000 (tarulia)
       Boot ID: 320b52f1688c450eb27f512d734d5ed6
    Machine ID: 514d37dbc9b846beb68f6931e905b78b
      Hostname: fedora
       Storage: /var/lib/systemd/coredump/core.wallengine.1000.320b52f1688c450eb27f512d734d5ed6.483986.1654168652000000.zst (present)
     Disk Size: 9.8M
       Message: Process 483986 (wallengine) of user 1000 dumped core.

                Module linux-vdso.so.1 with build-id b4a17b6c642acd49fb6eea4e8a4b04bde1ea0e1f
                Module libFLAC.so.8 with build-id b07e698f25b5c96b858a4224a09db7009edfd296
                Metadata for module libFLAC.so.8 owned by FDO found: {
                        "type" : "rpm",
                        "name" : "flac",
                        "version" : "1.3.4-1.fc36",
                        "architecture" : "x86_64",
                        "osCpe" : "cpe:/o:fedoraproject:fedora:36"
                }

                Module libasyncns.so.0 with build-id 4e12c4bfd3608b4e4b69679dbd61bed6e7fd1ab4
                Metadata for module libasyncns.so.0 owned by FDO found: {
                        "type" : "rpm",
                        "name" : "libasyncns",
                        "version" : "0.8-22.fc36",
                        "architecture" : "x86_64",
                        "osCpe" : "cpe:/o:fedoraproject:fedora:36"
                }

                Module libsndfile.so.1 with build-id a3ae47d4cba9a2f0fc45aa01fac8a116fc841e16
                Metadata for module libsndfile.so.1 owned by FDO found: {
                        "type" : "rpm",
                        "name" : "libsndfile",
                        "version" : "1.0.31-7.fc36",
                        "architecture" : "x86_64",
                        "osCpe" : "cpe:/o:fedoraproject:fedora:36"
                }

                Module libpulsecommon-15.0.so with build-id 1b44db205944eb0f35256db3a2affc0c08a6ddf7
                Metadata for module libpulsecommon-15.0.so owned by FDO found: {
                        "type" : "rpm",
                        "name" : "pulseaudio",
                        "version" : "15.0-5.fc36",
                        "architecture" : "x86_64",
                        "osCpe" : "cpe:/o:fedoraproject:fedora:36"
                }

                Module libpulse.so.0 with build-id 47a56fe79c3265aad602438e6ea27960ae796f69
                Metadata for module libpulse.so.0 owned by FDO found: {
                        "type" : "rpm",
                        "name" : "pulseaudio",
                        "version" : "15.0-5.fc36",
                        "architecture" : "x86_64",
                        "osCpe" : "cpe:/o:fedoraproject:fedora:36"
                }

                Module libpulse-simple.so.0 with build-id 3c01fe813c1aa996ec2757e437f0cb7a73d7d1ae
                Metadata for module libpulse-simple.so.0 owned by FDO found: {
                        "type" : "rpm",
                        "name" : "pulseaudio",
                        "version" : "15.0-5.fc36",
                        "architecture" : "x86_64",
                        "osCpe" : "cpe:/o:fedoraproject:fedora:36"
                }

                Module libdbus-1.so.3 with build-id 180fe9c567fe8c90bdbe2a2c9316ef745621e4b2
                Metadata for module libdbus-1.so.3 owned by FDO found: {
                        "type" : "rpm",
                        "name" : "dbus",
                        "version" : "1.14.0-1.fc36",
                        "architecture" : "x86_64",
                        "osCpe" : "cpe:/o:fedoraproject:fedora:36"
                }

                Module libtinfo.so.6 with build-id 954d12f7d8216fde821db122a4768ee255382a63
                Metadata for module libtinfo.so.6 owned by FDO found: {
                        "type" : "rpm",
                        "name" : "ncurses",
                        "version" : "6.2-9.20210508.fc36",
                        "architecture" : "x86_64",
                        "osCpe" : "cpe:/o:fedoraproject:fedora:36"
                }

                Module libedit.so.0 with build-id 786ebbe150c63e27beb2957d717bece33431af6f
                Stack trace of thread 483986:
                #0  0x00007fa4cf54cc3c __pthread_kill_implementation (libc.so.6 + 0x8ec3c)
                #1  0x00007fa4cf4fc9c6 raise (libc.so.6 + 0x3e9c6)
                #2  0x00007fa4cf4e67f4 abort (libc.so.6 + 0x287f4)
                #3  0x00007fa4cf85fb57 _ZN9__gnu_cxx27__verbose_terminate_handlerEv.cold (libstdc++.so.6 + 0xa2b57)
                #4  0x00007fa4cf86b43c _ZN10__cxxabiv111__terminateEPFvvE (libstdc++.so.6 + 0xae43c)
                #5  0x00007fa4cf86b4a7 _ZSt9terminatev (libstdc++.so.6 + 0xae4a7)
                #6  0x00007fa4cf86b708 __cxa_throw (libstdc++.so.6 + 0xae708)
                #7  0x000056462ae6f542 _ZN15WallpaperEngine6Render7Objects7Effects5CPass13compileShaderEPNS0_7Shaders8CompilerEj (wallengine + 0x46542)
                #8  0x000056462ae71d3a _ZN15WallpaperEngine6Render7Objects7Effects5CPass12setupShadersEv (wallengine + 0x48d3a)
                #9  0x000056462ae6730f _ZN15WallpaperEngine6Render7Objects7Effects5CPassC2EPNS2_9CMaterialEPNS_4Core7Objects6Images9Materials5CPassE (wallengine + 0x3e30f)
                #10 0x000056462ae71fb1 _ZN15WallpaperEngine6Render7Objects7Effects9CMaterial14generatePassesEv (wallengine + 0x48fb1)
                #11 0x000056462ae6903e _ZN15WallpaperEngine6Render7Objects6CImage5setupEv (wallengine + 0x4003e)
                #12 0x000056462ae69e09 _ZN15WallpaperEngine6Render6CSceneC2EPNS_4Core6CSceneEPNS_6Assets10CContainerEPNS0_8CContextE (wallengine + 0x40e09)
                #13 0x000056462ae6a16a _ZN15WallpaperEngine6Render10CWallpaper13fromWallpaperEPNS_4Core10CWallpaperEPNS_6Assets10CContainerEPNS0_8CContextE (wallengine + 0x4116a)
                #14 0x000056462ae4bf96 main (wallengine + 0x22f96)
                #15 0x00007fa4cf4e7550 __libc_start_call_main (libc.so.6 + 0x29550)
                #16 0x00007fa4cf4e7609 __libc_start_main@@GLIBC_2.34 (libc.so.6 + 0x29609)
                #17 0x000056462ae4d6e5 _start (wallengine + 0x246e5)

                Stack trace of thread 483988:
                #0  0x00007fa4cf5bee0e fstatat64 (libc.so.6 + 0x100e0e)
                #1  0x00007fa4b6f35854 choose_lru_file_matching (radeonsi_dri.so + 0xb7854)
                #2  0x00007fa4b6f36063 disk_cache_evict_lru_item (radeonsi_dri.so + 0xb8063)
                #3  0x00007fa4b6f34f2d cache_put (radeonsi_dri.so + 0xb6f2d)
                #4  0x00007fa4b6f3c714 util_queue_thread_func (radeonsi_dri.so + 0xbe714)
                #5  0x00007fa4b6f3c29b impl_thrd_routine (radeonsi_dri.so + 0xbe29b)
                #6  0x00007fa4cf54ae1d start_thread (libc.so.6 + 0x8ce1d)
                #7  0x00007fa4cf5d02e0 __clone3 (libc.so.6 + 0x1122e0)

                Stack trace of thread 483989:
                #0  0x00007fa4cf547a19 __futex_abstimed_wait_common (libc.so.6 + 0x89a19)
                #1  0x00007fa4cf54a200 pthread_cond_wait@@GLIBC_2.3.2 (libc.so.6 + 0x8c200)
                #2  0x00007fa4b6f3c64b util_queue_thread_func (radeonsi_dri.so + 0xbe64b)
                #3  0x00007fa4b6f3c29b impl_thrd_routine (radeonsi_dri.so + 0xbe29b)
                #4  0x00007fa4cf54ae1d start_thread (libc.so.6 + 0x8ce1d)
                #5  0x00007fa4cf5d02e0 __clone3 (libc.so.6 + 0x1122e0)

                Stack trace of thread 483987:
                #0  0x00007fa4cf547a19 __futex_abstimed_wait_common (libc.so.6 + 0x89a19)
                #1  0x00007fa4cf54a200 pthread_cond_wait@@GLIBC_2.3.2 (libc.so.6 + 0x8c200)
                #2  0x00007fa4b6f3c64b util_queue_thread_func (radeonsi_dri.so + 0xbe64b)
                #3  0x00007fa4b6f3c29b impl_thrd_routine (radeonsi_dri.so + 0xbe29b)
                #4  0x00007fa4cf54ae1d start_thread (libc.so.6 + 0x8ce1d)
                #5  0x00007fa4cf5d02e0 __clone3 (libc.so.6 + 0x1122e0)

                Stack trace of thread 483992:
                #0  0x00007fa4cf547a19 __futex_abstimed_wait_common (libc.so.6 + 0x89a19)
                #1  0x00007fa4cf54a200 pthread_cond_wait@@GLIBC_2.3.2 (libc.so.6 + 0x8c200)
                #2  0x00007fa4b6f3c64b util_queue_thread_func (radeonsi_dri.so + 0xbe64b)
                #3  0x00007fa4b6f3c29b impl_thrd_routine (radeonsi_dri.so + 0xbe29b)
                #4  0x00007fa4cf54ae1d start_thread (libc.so.6 + 0x8ce1d)
                #5  0x00007fa4cf5d02e0 __clone3 (libc.so.6 + 0x1122e0)

                Stack trace of thread 483991:
                #0  0x00007fa4cf547a19 __futex_abstimed_wait_common (libc.so.6 + 0x89a19)
                #1  0x00007fa4cf54a200 pthread_cond_wait@@GLIBC_2.3.2 (libc.so.6 + 0x8c200)
                #2  0x00007fa4b6f3c64b util_queue_thread_func (radeonsi_dri.so + 0xbe64b)
                #3  0x00007fa4b6f3c29b impl_thrd_routine (radeonsi_dri.so + 0xbe29b)
                #4  0x00007fa4cf54ae1d start_thread (libc.so.6 + 0x8ce1d)
                #5  0x00007fa4cf5d02e0 __clone3 (libc.so.6 + 0x1122e0)

                Stack trace of thread 483998:
                #0  0x00007fa4cf547a19 __futex_abstimed_wait_common (libc.so.6 + 0x89a19)
                #1  0x00007fa4cf54a200 pthread_cond_wait@@GLIBC_2.3.2 (libc.so.6 + 0x8c200)
                #2  0x00007fa4b6f3c64b util_queue_thread_func (radeonsi_dri.so + 0xbe64b)
                #3  0x00007fa4b6f3c29b impl_thrd_routine (radeonsi_dri.so + 0xbe29b)
                #4  0x00007fa4cf54ae1d start_thread (libc.so.6 + 0x8ce1d)
                #5  0x00007fa4cf5d02e0 __clone3 (libc.so.6 + 0x1122e0)

                Stack trace of thread 484002:
                #0  0x00007fa4cf547a19 __futex_abstimed_wait_common (libc.so.6 + 0x89a19)
                #1  0x00007fa4cf54a200 pthread_cond_wait@@GLIBC_2.3.2 (libc.so.6 + 0x8c200)
                #2  0x00007fa4b6f3c64b util_queue_thread_func (radeonsi_dri.so + 0xbe64b)
                #3  0x00007fa4b6f3c29b impl_thrd_routine (radeonsi_dri.so + 0xbe29b)
                #4  0x00007fa4cf54ae1d start_thread (libc.so.6 + 0x8ce1d)
                #5  0x00007fa4cf5d02e0 __clone3 (libc.so.6 + 0x1122e0)

                Stack trace of thread 483995:
                #0  0x00007fa4cf547a19 __futex_abstimed_wait_common (libc.so.6 + 0x89a19)
                #1  0x00007fa4cf54a200 pthread_cond_wait@@GLIBC_2.3.2 (libc.so.6 + 0x8c200)
                #2  0x00007fa4b6f3c64b util_queue_thread_func (radeonsi_dri.so + 0xbe64b)
                #3  0x00007fa4b6f3c29b impl_thrd_routine (radeonsi_dri.so + 0xbe29b)
                #4  0x00007fa4cf54ae1d start_thread (libc.so.6 + 0x8ce1d)
                #5  0x00007fa4cf5d02e0 __clone3 (libc.so.6 + 0x1122e0)

                Stack trace of thread 484000:
                #0  0x00007fa4cf547a19 __futex_abstimed_wait_common (libc.so.6 + 0x89a19)
                #1  0x00007fa4cf54a200 pthread_cond_wait@@GLIBC_2.3.2 (libc.so.6 + 0x8c200)
                #2  0x00007fa4b6f3c64b util_queue_thread_func (radeonsi_dri.so + 0xbe64b)
                #3  0x00007fa4b6f3c29b impl_thrd_routine (radeonsi_dri.so + 0xbe29b)
                #4  0x00007fa4cf54ae1d start_thread (libc.so.6 + 0x8ce1d)
                #5  0x00007fa4cf5d02e0 __clone3 (libc.so.6 + 0x1122e0)

                Stack trace of thread 483997:
                #0  0x00007fa4cf547a19 __futex_abstimed_wait_common (libc.so.6 + 0x89a19)
                #1  0x00007fa4cf54a200 pthread_cond_wait@@GLIBC_2.3.2 (libc.so.6 + 0x8c200)
                #2  0x00007fa4b6f3c64b util_queue_thread_func (radeonsi_dri.so + 0xbe64b)
                #3  0x00007fa4b6f3c29b impl_thrd_routine (radeonsi_dri.so + 0xbe29b)
                #4  0x00007fa4cf54ae1d start_thread (libc.so.6 + 0x8ce1d)
                #5  0x00007fa4cf5d02e0 __clone3 (libc.so.6 + 0x1122e0)

                Stack trace of thread 483990:
                #0  0x00007fa4cf547a19 __futex_abstimed_wait_common (libc.so.6 + 0x89a19)
                #1  0x00007fa4cf54a200 pthread_cond_wait@@GLIBC_2.3.2 (libc.so.6 + 0x8c200)
                #2  0x00007fa4b6f3c64b util_queue_thread_func (radeonsi_dri.so + 0xbe64b)
                #3  0x00007fa4b6f3c29b impl_thrd_routine (radeonsi_dri.so + 0xbe29b)
                #4  0x00007fa4cf54ae1d start_thread (libc.so.6 + 0x8ce1d)
                #5  0x00007fa4cf5d02e0 __clone3 (libc.so.6 + 0x1122e0)

                Stack trace of thread 484004:
                #0  0x00007fa4cf547a19 __futex_abstimed_wait_common (libc.so.6 + 0x89a19)
                #1  0x00007fa4cf54a200 pthread_cond_wait@@GLIBC_2.3.2 (libc.so.6 + 0x8c200)
                #2  0x00007fa4b6f3c64b util_queue_thread_func (radeonsi_dri.so + 0xbe64b)
                #3  0x00007fa4b6f3c29b impl_thrd_routine (radeonsi_dri.so + 0xbe29b)
                #4  0x00007fa4cf54ae1d start_thread (libc.so.6 + 0x8ce1d)
                #5  0x00007fa4cf5d02e0 __clone3 (libc.so.6 + 0x1122e0)

                Stack trace of thread 483994:
                #0  0x00007fa4cf547a19 __futex_abstimed_wait_common (libc.so.6 + 0x89a19)
                #1  0x00007fa4cf54a200 pthread_cond_wait@@GLIBC_2.3.2 (libc.so.6 + 0x8c200)
                #2  0x00007fa4b6f3c64b util_queue_thread_func (radeonsi_dri.so + 0xbe64b)
                #3  0x00007fa4b6f3c29b impl_thrd_routine (radeonsi_dri.so + 0xbe29b)
                #4  0x00007fa4cf54ae1d start_thread (libc.so.6 + 0x8ce1d)
                #5  0x00007fa4cf5d02e0 __clone3 (libc.so.6 + 0x1122e0)

                Stack trace of thread 484006:
                #0  0x00007fa4cf547a19 __futex_abstimed_wait_common (libc.so.6 + 0x89a19)
                #1  0x00007fa4cf54a200 pthread_cond_wait@@GLIBC_2.3.2 (libc.so.6 + 0x8c200)
                #2  0x00007fa4b6f3c64b util_queue_thread_func (radeonsi_dri.so + 0xbe64b)
                #3  0x00007fa4b6f3c29b impl_thrd_routine (radeonsi_dri.so + 0xbe29b)
                #4  0x00007fa4cf54ae1d start_thread (libc.so.6 + 0x8ce1d)
                #5  0x00007fa4cf5d02e0 __clone3 (libc.so.6 + 0x1122e0)

                Stack trace of thread 483993:
                #0  0x00007fa4cf547a19 __futex_abstimed_wait_common (libc.so.6 + 0x89a19)
                #1  0x00007fa4cf54a200 pthread_cond_wait@@GLIBC_2.3.2 (libc.so.6 + 0x8c200)
                #2  0x00007fa4b6f3c64b util_queue_thread_func (radeonsi_dri.so + 0xbe64b)
                #3  0x00007fa4b6f3c29b impl_thrd_routine (radeonsi_dri.so + 0xbe29b)
                #4  0x00007fa4cf54ae1d start_thread (libc.so.6 + 0x8ce1d)
                #5  0x00007fa4cf5d02e0 __clone3 (libc.so.6 + 0x1122e0)

                Stack trace of thread 483996:
                #0  0x00007fa4cf547a19 __futex_abstimed_wait_common (libc.so.6 + 0x89a19)
                #1  0x00007fa4cf54a200 pthread_cond_wait@@GLIBC_2.3.2 (libc.so.6 + 0x8c200)
                #2  0x00007fa4b6f3c64b util_queue_thread_func (radeonsi_dri.so + 0xbe64b)
                #3  0x00007fa4b6f3c29b impl_thrd_routine (radeonsi_dri.so + 0xbe29b)
                #4  0x00007fa4cf54ae1d start_thread (libc.so.6 + 0x8ce1d)
                #5  0x00007fa4cf5d02e0 __clone3 (libc.so.6 + 0x1122e0)

                Stack trace of thread 483999:
                #0  0x00007fa4cf547a19 __futex_abstimed_wait_common (libc.so.6 + 0x89a19)
                #1  0x00007fa4cf54a200 pthread_cond_wait@@GLIBC_2.3.2 (libc.so.6 + 0x8c200)
                #2  0x00007fa4b6f3c64b util_queue_thread_func (radeonsi_dri.so + 0xbe64b)
                #3  0x00007fa4b6f3c29b impl_thrd_routine (radeonsi_dri.so + 0xbe29b)
                #4  0x00007fa4cf54ae1d start_thread (libc.so.6 + 0x8ce1d)
                #5  0x00007fa4cf5d02e0 __clone3 (libc.so.6 + 0x1122e0)

                Stack trace of thread 484001:
                #0  0x00007fa4cf547a19 __futex_abstimed_wait_common (libc.so.6 + 0x89a19)
                #1  0x00007fa4cf54a200 pthread_cond_wait@@GLIBC_2.3.2 (libc.so.6 + 0x8c200)
                #2  0x00007fa4b6f3c64b util_queue_thread_func (radeonsi_dri.so + 0xbe64b)
                #3  0x00007fa4b6f3c29b impl_thrd_routine (radeonsi_dri.so + 0xbe29b)
                #4  0x00007fa4cf54ae1d start_thread (libc.so.6 + 0x8ce1d)
                #5  0x00007fa4cf5d02e0 __clone3 (libc.so.6 + 0x1122e0)

                Stack trace of thread 484003:
                #0  0x00007fa4cf547a19 __futex_abstimed_wait_common (libc.so.6 + 0x89a19)
                #1  0x00007fa4cf54a200 pthread_cond_wait@@GLIBC_2.3.2 (libc.so.6 + 0x8c200)
                #2  0x00007fa4b6f3c64b util_queue_thread_func (radeonsi_dri.so + 0xbe64b)
                #3  0x00007fa4b6f3c29b impl_thrd_routine (radeonsi_dri.so + 0xbe29b)
                #4  0x00007fa4cf54ae1d start_thread (libc.so.6 + 0x8ce1d)
                #5  0x00007fa4cf5d02e0 __clone3 (libc.so.6 + 0x1122e0)

                Stack trace of thread 484005:
                #0  0x00007fa4cf547a19 __futex_abstimed_wait_common (libc.so.6 + 0x89a19)
                #1  0x00007fa4cf54a200 pthread_cond_wait@@GLIBC_2.3.2 (libc.so.6 + 0x8c200)
                #2  0x00007fa4b6f3c64b util_queue_thread_func (radeonsi_dri.so + 0xbe64b)
                #3  0x00007fa4b6f3c29b impl_thrd_routine (radeonsi_dri.so + 0xbe29b)
                #4  0x00007fa4cf54ae1d start_thread (libc.so.6 + 0x8ce1d)
                #5  0x00007fa4cf5d02e0 __clone3 (libc.so.6 + 0x1122e0)

                Stack trace of thread 484007:
                #0  0x00007fa4cf5c39ae ppoll (libc.so.6 + 0x1059ae)
                #1  0x00007fa4ac050341 pa_mainloop_poll (libpulse.so.0 + 0x1e341)
                #2  0x00007fa4ac05aa5a pa_mainloop_iterate (libpulse.so.0 + 0x28a5a)
                #3  0x00007fa4ac05ab00 pa_mainloop_run (libpulse.so.0 + 0x28b00)
                #4  0x00007fa4c61fe0f3 HotplugThread (libSDL2-2.0.so.0 + 0xec0f3)
                #5  0x00007fa4c623f9ef RunThread.lto_priv.0 (libSDL2-2.0.so.0 + 0x12d9ef)
                #6  0x00007fa4cf54ae1d start_thread (libc.so.6 + 0x8ce1d)
                #7  0x00007fa4cf5d02e0 __clone3 (libc.so.6 + 0x1122e0)
                ELF object binary architecture: AMD x86-64

GNU gdb (GDB) Fedora 12.1-1.fc36
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/bin/wallengine...
Reading symbols from /usr/lib/debug/usr/bin/wallengine-0.0.1.46ea8e8-1.fc36.x86_64.debug...

warning: Can't open file /memfd:pulseaudio (deleted) during file-backed mapping note processing

warning: Can't open file /memfd:xshmfence (deleted) during file-backed mapping note processing
[New LWP 483986]
[New LWP 483988]
[New LWP 483989]
[New LWP 483987]
[New LWP 483992]
[New LWP 483991]
[New LWP 483998]
[New LWP 484002]
[New LWP 483995]
[New LWP 484000]
[New LWP 483997]
[New LWP 483990]
[New LWP 484004]
[New LWP 483994]
[New LWP 484006]
[New LWP 483993]
[New LWP 483996]
[New LWP 483999]
[New LWP 484001]
[New LWP 484003]
[New LWP 484005]
[New LWP 484007]

This GDB supports auto-downloading debuginfo from the following URLs:
https://debuginfod.fedoraproject.org/ 
Enable debuginfod for this session? (y or [n]) y
--Type <RET> for more, q to quit, c to continue without paging--c
Debuginfod has been enabled.
To make this setting permanent, add 'set debuginfod enabled on' to .gdbinit.
Error while reading shared library symbols for /lib64/libjbig.so.2.1:
could not find '.gnu_debugaltlink' file for /home/tarulia/.cache/debuginfod_client/208c20ec20c71e7cce019a94027f0c811f89fdba/debuginfo
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `wallengine /home/tarulia/.steam/steam/steamapps/workshop/content/431960/2685564'.
Program terminated with signal SIGABRT, Aborted.
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
44            return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0;
[Current thread is 1 (Thread 0x7fa4c62cc3c0 (LWP 483986))]
mihawk90 commented 2 years ago

Fixed in cf2e31a6062961c706f3db56c7d0264c656d786d, see #103