<html>
<head>
<base href="https://bugs.freedesktop.org/">
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_ASSIGNED "
title="ASSIGNED - SSO: wrong interface validation between GS and VS (regresion due to latest gles 3.1)"
href="https://bugs.freedesktop.org/show_bug.cgi?id=96358#c6">Comment # 6</a>
on <a class="bz_bug_link
bz_status_ASSIGNED "
title="ASSIGNED - SSO: wrong interface validation between GS and VS (regresion due to latest gles 3.1)"
href="https://bugs.freedesktop.org/show_bug.cgi?id=96358">bug 96358</a>
from <span class="vcard"><a class="email" href="mailto:gregory.hainaut@gmail.com" title="gregory.hainaut@gmail.com">gregory.hainaut@gmail.com</a>
</span></b>
<pre>Using "strcpy(s, t + 1)" is better. But another check is failling below.
if (producer_var->type != consumer_var->type ||
producer_var->interpolation != consumer_var->interpolation ||
producer_var->precision != consumer_var->precision) {
valid = false;
goto out;
}
Here some debug info. So you can't compare type pointer due to arrayness. And I
don't know what interpolation is different it ought to be the same. Likely Mesa
set the FLAT status to some IO.
(gdb) p *producer_var
$18 = {
type = 0xf4c0d5e0 <glsl_type::_vec4_type>,
interface_type = 0x8b08d38,
outermost_struct_type = 0x0,
name = 0x8b02028 "SHADER.c",
location = -1,
component = 0,
index = 0,
patch = 0,
mode = 5,
interpolation = 0,
explicit_location = 0,
precision = 0
}
(gdb) p *consumer_var
$19 = {
type = 0x8ac14e8,
interface_type = 0x8b0fb80,
outermost_struct_type = 0x0,
name = 0x8ad36a0 "SHADER[2].c",
location = -1,
component = 0,
index = 0,
patch = 0,
mode = 4,
interpolation = 2,
explicit_location = 0,
precision = 0
}
(gdb) p *consumer_var->type
$25 = {
gl_type = 35666,
base_type = GLSL_TYPE_ARRAY,
sampler_dimensionality = 0,
sampler_shadow = 0,
sampler_array = 0,
sampled_type = 0,
interface_packing = 0,
vector_elements = 0 '\000',
matrix_columns = 0 '\000',
length = 2,
name = 0x8ac1520 "vec4[2]",
fields = {
array = 0xf4c0d5e0 <glsl_type::_vec4_type>,
parameters = 0xf4c0d5e0 <glsl_type::_vec4_type>,
structure = 0xf4c0d5e0 <glsl_type::_vec4_type>
},
(gdb) p *producer_var->type
$27 = {
gl_type = 35666,
base_type = GLSL_TYPE_FLOAT,
sampler_dimensionality = 0,
sampler_shadow = 0,
sampler_array = 0,
sampled_type = 0,
interface_packing = 0,
vector_elements = 4 '\004',
matrix_columns = 1 '\001',
length = 0,
name = 0x87932c8 "vec4",
fields = {
array = 0x0,
parameters = 0x0,
structure = 0x0
},</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
</ul>
</body>
</html>