<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [IVB,HSW] piglit.spec.arb_program_interface_query.arb_program_interface_query-getprogramresourceiv crashes"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=93336#c2">Comment # 2</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [IVB,HSW] piglit.spec.arb_program_interface_query.arb_program_interface_query-getprogramresourceiv crashes"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=93336">bug 93336</a>
              from <span class="vcard"><a class="email" href="mailto:apinheiro@igalia.com" title="Alejandro Piņeiro (freenode IRC: apinheiro) <apinheiro@igalia.com>"> <span class="fn">Alejandro Piņeiro (freenode IRC: apinheiro)</span></a>
</span></b>
        <pre>(In reply to Alejandro Piņeiro (freenode IRC: apinheiro) from <a href="show_bug.cgi?id=93336#c1">comment #1</a>)
<span class="quote">> I took a brief look to this one. Two quick notes.

> (In reply to Mark Janes from <a href="show_bug.cgi?id=93336#c0">comment #0</a>)

> > Failed to compile compute shader: 0:9(8): error: unrecognized layout
> > identifier `size4x32'

> <skip>

> > uniform cs_uniform_block {
> >       uniform vec4 cs_test;
> > };
> > layout(size4x32) uniform image2D tex;

> Using "layout(rgba32f)" gets the shader being compiled without problem, and
> the subtest passing (the test itself still fails). After a skim reading on
> EXT_shader_image_load_store and ARB_shader_image_load_store (the latter
> depends on the former), that layout should be allowed, and it is also more
> general (for example, using rgba32i fails due a format mismatch). So I
> suspect that this is a bug on the implementation for those extensions. The
> problem was hidden until now because this shader needed compute shader.

> Using glslangValidator with that shader also prints a "unrecognized layout
> identifier". Having said so, it prints several other errors.

> NVIDIA proprietary drivers handle that shader without problems (as pointed
> on the commit log of those tests)

> Will keep investigating to check if the problem is in the shader. In that
> case, the bug would be on the piglit test.</span >

Ok, after a more deep reading on the spec, from ARB_shader_image_load_store
spec:

    "(0) How does this extension differ from the similar
        EXT_shader_image_load_store?

      RESOLVED:  The functionality provided by this extension is very similar
      to that provided by EXT_shader_image_load_stores.  There are some
      functional differences.

        * "size" layout qualifiers replaced with "format" qualifiers."

So, layout(size4x32) was valid for EXT_shader_image_load_store but not for
ARB_shader_image_load_store.

About why this doesn't fail on NVIDIA drivers, at the same spec:
"Dependencies on EXT_shader_image_load_store

    Both this extension and EXT_shader_image_load_store provide nearly the
    identical functionality.

    If both extensions are enabled in the shading language, the "size*" layout
    qualifiers are treated as format qualifiers, and are mapped to equivalent
    format qualifiers in the table below, according to the type of image
    variable. "

So I understand that if both extensions are enabled, size* is still allowed,
but mapped to the format qualifiers. NVIDIA supports both extensions while
hsw/i965 only the ARB one, explaining the difference between both.

So. I think that the way to solve this would be change the layout at the test,
to one using the format qualifier, as is the one required by the ARB version of
the extension.</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>