[Bug 108646] error: linking with uncompiled/unspecialized shader
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Sat Nov 3 21:02:19 UTC 2018
https://bugs.freedesktop.org/show_bug.cgi?id=108646
Bug ID: 108646
Summary: error: linking with uncompiled/unspecialized shader
Product: Mesa
Version: 18.2
Hardware: Other
OS: All
Status: NEW
Severity: normal
Priority: medium
Component: Drivers/DRI/i965
Assignee: intel-3d-bugs at lists.freedesktop.org
Reporter: zebob.m at gmail.com
QA Contact: intel-3d-bugs at lists.freedesktop.org
Observed with mesa-18.2.3 and mesa-18.2.4. This is a regression as mesa-18.2.2
works fine.
mpv with OpenGl output (-vo=gpu) started showing errors and displaying a blue
screen:
Using hardware decoding (vaapi).
VO: [gpu] 1280x720 vaapi[nv12]
[vo/gpu/opengl] fragment shader source:
[vo/gpu/opengl] [ 1] #version 440
[vo/gpu/opengl] [ 2] #define tex1D texture
[vo/gpu/opengl] [ 3] #define tex3D texture
[vo/gpu/opengl] [ 4] #define LUT_POS(x, lut_size) mix(0.5 / (lut_size), 1.0 -
0.5 / (lut_size), (x))
[vo/gpu/opengl] [ 5] out vec4 out_color;
[vo/gpu/opengl] [ 6] in vec2 texcoord0;
[vo/gpu/opengl] [ 7] layout(std140, binding=0) uniform UBO {
[vo/gpu/opengl] [ 8] layout(offset=0) vec2 texture_size0;
[vo/gpu/opengl] [ 9] layout(offset=16) mat2 texture_rot0;
[vo/gpu/opengl] [ 10] layout(offset=48) vec2 texture_off0;
[vo/gpu/opengl] [ 11] layout(offset=56) vec2 pixel_size0;
[vo/gpu/opengl] [ 12] };
[vo/gpu/opengl] [ 13] uniform float random;
[vo/gpu/opengl] [ 14] uniform sampler2D texture0;
[vo/gpu/opengl] [ 15] #define HOOKED_raw texture0
[vo/gpu/opengl] [ 16] #define HOOKED_pos texcoord0
[vo/gpu/opengl] [ 17] #define HOOKED_size texture_size0
[vo/gpu/opengl] [ 18] #define HOOKED_rot texture_rot0
[vo/gpu/opengl] [ 19] #define HOOKED_pt pixel_size0
[vo/gpu/opengl] [ 20] #define HOOKED_map texmap0
[vo/gpu/opengl] [ 21] #define HOOKED_mul 1.000000
[vo/gpu/opengl] [ 22] #define HOOKED_tex(pos) (HOOKED_mul *
vec4(texture(HOOKED_raw, pos)).rgba)
[vo/gpu/opengl] [ 23] #define HOOKED_texOff(off) HOOKED_tex(HOOKED_pos +
HOOKED_pt * vec2(off))
[vo/gpu/opengl] [ 24] #define LUMA_raw texture0
[vo/gpu/opengl] [ 25] #define LUMA_pos texcoord0
[vo/gpu/opengl] [ 26] #define LUMA_size texture_size0
[vo/gpu/opengl] [ 27] #define LUMA_rot texture_rot0
[vo/gpu/opengl] [ 28] #define LUMA_pt pixel_size0
[vo/gpu/opengl] [ 29] #define LUMA_map texmap0
[vo/gpu/opengl] [ 30] #define LUMA_mul 1.000000
[vo/gpu/opengl] [ 31] #define LUMA_tex(pos) (LUMA_mul * vec4(texture(LUMA_raw,
pos)).rgba)
[vo/gpu/opengl] [ 32] #define LUMA_texOff(off) LUMA_tex(LUMA_pos + LUMA_pt *
vec2(off))
[vo/gpu/opengl] [ 33] float mod289(float x) { return x - floor(x * 1.0/289.0) *
289.0; }
[vo/gpu/opengl] [ 34] float permute(float x) { return mod289((34.0*x + 1.0) *
x); }
[vo/gpu/opengl] [ 35] float rand(float x) { return fract(x * 1.0/41.0); }
[vo/gpu/opengl] [ 36] vec4 average(float range, inout float h) {
[vo/gpu/opengl] [ 37] float dist = rand(h) * range; h = permute(h);
[vo/gpu/opengl] [ 38] float dir = rand(h) * 6.2831853; h = permute(h);
[vo/gpu/opengl] [ 39] vec2 o = dist * vec2(cos(dir), sin(dir));
[vo/gpu/opengl] [ 40] vec4 ref[4];
[vo/gpu/opengl] [ 41] ref[0] = HOOKED_texOff(vec2( o.x, o.y));
[vo/gpu/opengl] [ 42] ref[1] = HOOKED_texOff(vec2(-o.y, o.x));
[vo/gpu/opengl] [ 43] ref[2] = HOOKED_texOff(vec2(-o.x, -o.y));
[vo/gpu/opengl] [ 44] ref[3] = HOOKED_texOff(vec2( o.y, -o.x));
[vo/gpu/opengl] [ 45] return (ref[0] + ref[1] + ref[2] + ref[3])*0.25;
[vo/gpu/opengl] [ 46] }
[vo/gpu/opengl] [ 47] void main() {
[vo/gpu/opengl] [ 48] vec4 color = vec4(0.0, 0.0, 0.0, 1.0);
[vo/gpu/opengl] [ 49] {
[vo/gpu/opengl] [ 50] vec3 _m = vec3(HOOKED_pos, random) + vec3(1.0);
[vo/gpu/opengl] [ 51] float h = permute(permute(permute(_m.x)+_m.y)+_m.z);
[vo/gpu/opengl] [ 52] color = HOOKED_tex(HOOKED_pos);
[vo/gpu/opengl] [ 53] vec4 avg, diff;
[vo/gpu/opengl] [ 54] avg = average(16.000000, h);
[vo/gpu/opengl] [ 55] diff = abs(color - avg);
[vo/gpu/opengl] [ 56] color = mix(avg, color, greaterThan(diff,
vec4(0.003906)));
[vo/gpu/opengl] [ 57] vec3 noise;
[vo/gpu/opengl] [ 58] noise.x = rand(h); h = permute(h);
[vo/gpu/opengl] [ 59] noise.y = rand(h); h = permute(h);
[vo/gpu/opengl] [ 60] noise.z = rand(h); h = permute(h);
[vo/gpu/opengl] [ 61] color.xyz += 0.005859 * (noise - vec3(0.5));
[vo/gpu/opengl] [ 62] }
[vo/gpu/opengl] [ 63] color.g = 0.000000;
[vo/gpu/opengl] [ 64] color.b = 0.000000;
[vo/gpu/opengl] [ 65] color.a = 1.000000;
[vo/gpu/opengl] [ 66] out_color = color;
[vo/gpu/opengl] [ 67] }
[vo/gpu/opengl] fragment shader compile log (status=0):
[vo/gpu/opengl] 0:36(27): error: invalid input layout qualifier used
[vo/gpu/opengl]
[vo/gpu/opengl] shader link log (status=0): error: linking with
uncompiled/unspecialized shader
[vo/gpu/opengl] fragment shader source:
[vo/gpu/opengl] [ 1] #version 440
[vo/gpu/opengl] [ 2] #define tex1D texture
[vo/gpu/opengl] [ 3] #define tex3D texture
[vo/gpu/opengl] [ 4] #define LUT_POS(x, lut_size) mix(0.5 / (lut_size), 1.0 -
0.5 / (lut_size), (x))
[vo/gpu/opengl] [ 5] out vec4 out_color;
[vo/gpu/opengl] [ 6] in vec2 texcoord0;
[vo/gpu/opengl] [ 7] layout(std140, binding=0) uniform UBO {
[vo/gpu/opengl] [ 8] layout(offset=0) vec2 texture_size0;
[vo/gpu/opengl] [ 9] layout(offset=16) mat2 texture_rot0;
[vo/gpu/opengl] [ 10] layout(offset=48) vec2 texture_off0;
[vo/gpu/opengl] [ 11] layout(offset=56) vec2 pixel_size0;
[vo/gpu/opengl] [ 12] };
[vo/gpu/opengl] [ 13] uniform float random;
[vo/gpu/opengl] [ 14] uniform sampler2D texture0;
[vo/gpu/opengl] [ 15] #define HOOKED_raw texture0
[vo/gpu/opengl] [ 16] #define HOOKED_pos texcoord0
[vo/gpu/opengl] [ 17] #define HOOKED_size texture_size0
[vo/gpu/opengl] [ 18] #define HOOKED_rot texture_rot0
[vo/gpu/opengl] [ 19] #define HOOKED_pt pixel_size0
[vo/gpu/opengl] [ 20] #define HOOKED_map texmap0
[vo/gpu/opengl] [ 21] #define HOOKED_mul 1.000000
[vo/gpu/opengl] [ 22] #define HOOKED_tex(pos) (HOOKED_mul *
vec4(texture(HOOKED_raw, pos)).rgba)
[vo/gpu/opengl] [ 23] #define HOOKED_texOff(off) HOOKED_tex(HOOKED_pos +
HOOKED_pt * vec2(off))
[vo/gpu/opengl] [ 24] #define CHROMA_raw texture0
[vo/gpu/opengl] [ 25] #define CHROMA_pos texcoord0
[vo/gpu/opengl] [ 26] #define CHROMA_size texture_size0
[vo/gpu/opengl] [ 27] #define CHROMA_rot texture_rot0
[vo/gpu/opengl] [ 28] #define CHROMA_pt pixel_size0
[vo/gpu/opengl] [ 29] #define CHROMA_map texmap0
[vo/gpu/opengl] [ 30] #define CHROMA_mul 1.000000
[vo/gpu/opengl] [ 31] #define CHROMA_tex(pos) (CHROMA_mul *
vec4(texture(CHROMA_raw, pos)).rgba)
[vo/gpu/opengl] [ 32] #define CHROMA_texOff(off) CHROMA_tex(CHROMA_pos +
CHROMA_pt * vec2(off))
[vo/gpu/opengl] [ 33] float mod289(float x) { return x - floor(x * 1.0/289.0) *
289.0; }
[vo/gpu/opengl] [ 34] float permute(float x) { return mod289((34.0*x + 1.0) *
x); }
[vo/gpu/opengl] [ 35] float rand(float x) { return fract(x * 1.0/41.0); }
[vo/gpu/opengl] [ 36] vec4 average(float range, inout float h) {
[vo/gpu/opengl] [ 37] float dist = rand(h) * range; h = permute(h);
[vo/gpu/opengl] [ 38] float dir = rand(h) * 6.2831853; h = permute(h);
[vo/gpu/opengl] [ 39] vec2 o = dist * vec2(cos(dir), sin(dir));
[vo/gpu/opengl] [ 40] vec4 ref[4];
[vo/gpu/opengl] [ 41] ref[0] = HOOKED_texOff(vec2( o.x, o.y));
[vo/gpu/opengl] [ 42] ref[1] = HOOKED_texOff(vec2(-o.y, o.x));
[vo/gpu/opengl] [ 43] ref[2] = HOOKED_texOff(vec2(-o.x, -o.y));
[vo/gpu/opengl] [ 44] ref[3] = HOOKED_texOff(vec2( o.y, -o.x));
[vo/gpu/opengl] [ 45] return (ref[0] + ref[1] + ref[2] + ref[3])*0.25;
[vo/gpu/opengl] [ 46] }
[vo/gpu/opengl] [ 47] void main() {
[vo/gpu/opengl] [ 48] vec4 color = vec4(0.0, 0.0, 0.0, 1.0);
[vo/gpu/opengl] [ 49] {
[vo/gpu/opengl] [ 50] vec3 _m = vec3(HOOKED_pos, random) + vec3(1.0);
[vo/gpu/opengl] [ 51] float h = permute(permute(permute(_m.x)+_m.y)+_m.z);
[vo/gpu/opengl] [ 52] color = HOOKED_tex(HOOKED_pos);
[vo/gpu/opengl] [ 53] vec4 avg, diff;
[vo/gpu/opengl] [ 54] avg = average(16.000000, h);
[vo/gpu/opengl] [ 55] diff = abs(color - avg);
[vo/gpu/opengl] [ 56] color = mix(avg, color, greaterThan(diff,
vec4(0.003906)));
[vo/gpu/opengl] [ 57] vec3 noise;
[vo/gpu/opengl] [ 58] noise.x = rand(h); h = permute(h);
[vo/gpu/opengl] [ 59] noise.y = rand(h); h = permute(h);
[vo/gpu/opengl] [ 60] noise.z = rand(h); h = permute(h);
[vo/gpu/opengl] [ 61] color.xyz += 0.005859 * (noise - vec3(0.5));
[vo/gpu/opengl] [ 62] }
[vo/gpu/opengl] [ 63] color.b = 0.000000;
[vo/gpu/opengl] [ 64] color.a = 1.000000;
[vo/gpu/opengl] [ 65] out_color = color;
[vo/gpu/opengl] [ 66] }
[vo/gpu/opengl] fragment shader compile log (status=0):
[vo/gpu/opengl] 0:36(27): error: invalid input layout qualifier used
[vo/gpu/opengl]
[vo/gpu/opengl] shader link log (status=0): error: linking with
uncompiled/unspecialized shader
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-3d-bugs/attachments/20181103/5ff79d3e/attachment-0001.html>
More information about the intel-3d-bugs
mailing list