<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - GL_ARB_separate_shader_objects is buggy (PCSX2)"
href="https://bugs.freedesktop.org/show_bug.cgi?id=93650#c1">Comment # 1</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - GL_ARB_separate_shader_objects is buggy (PCSX2)"
href="https://bugs.freedesktop.org/show_bug.cgi?id=93650">bug 93650</a>
from <span class="vcard"><a class="email" href="mailto:imirkin@alum.mit.edu" title="Ilia Mirkin <imirkin@alum.mit.edu>"> <span class="fn">Ilia Mirkin</span></a>
</span></b>
<pre>in SHADER
{
vec4 t;
vec4 c;
flat vec4 fc;
} GSin[];
decl_var shader_in INTERP_QUALIFIER_FLAT vec4[2] c (VARYING_SLOT_VAR0, 26)
decl_var shader_in INTERP_QUALIFIER_FLAT vec4[2] fc (VARYING_SLOT_VAR2, 28)
decl_var shader_in INTERP_QUALIFIER_FLAT vec4[2] t (VARYING_SLOT_VAR4, 30)
I would have expected these to be packed tightly. At the end you end up with
GS Input VUE map (7 slots, SSO)
[0] VARYING_SLOT_PSIZ
[1] VARYING_SLOT_POS
[2] VARYING_SLOT_VAR0
[3] BRW_VARYING_SLOT_PAD
[4] VARYING_SLOT_VAR2
[5] BRW_VARYING_SLOT_PAD
[6] VARYING_SLOT_VAR4
I believe the matching VS shader has
out SHADER
{
vec4 t;
vec4 c;
flat vec4 fc;
} VSout;
and at the end prints
VS Output VUE map (5 slots, SSO)
[0] VARYING_SLOT_PSIZ
[1] VARYING_SLOT_POS
[2] VARYING_SLOT_VAR0
[3] VARYING_SLOT_VAR1
[4] VARYING_SLOT_VAR2
which makes sense. I think the issue is that glsl_to_nir (or a higher level) is
treating the interface array as actually multiple VAR slots instead of one
each.
Unfortunately the trace requires ARB_shader_image_load_store so I can't test
with other mesa-based drivers.</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>