[Bug 93650] GL_ARB_separate_shader_objects is buggy (PCSX2)

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Jan 20 07:19:27 PST 2016


https://bugs.freedesktop.org/show_bug.cgi?id=93650

--- Comment #1 from Ilia Mirkin <imirkin at alum.mit.edu> ---
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.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/intel-3d-bugs/attachments/20160120/99cbf207/attachment.html>


More information about the intel-3d-bugs mailing list