<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [IVB] GLSL compiler doesn't recognize uniform layout format"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=93437">93437</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>[IVB] GLSL compiler doesn't recognize uniform layout format
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>Mesa
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>git
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>Other
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>medium
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Drivers/DRI/i965
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>idr@freedesktop.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>deveee@gmail.com
          </td>
        </tr>

        <tr>
          <th>QA Contact</th>
          <td>intel-3d-bugs@lists.freedesktop.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>The ARB_compute_shader extension has been added recently for ivybridge and
newer graphics cards (commit d04612b60d98ff785646affaffc3d7243deecb74).

But during compilation a shader, it fails on this line:

uniform layout(r16f) volatile restrict writeonly image2D dest;

The format r16f (and also other formats) are not recognized. 

The log from console:

[info   ] shader: Compiling shader : bilateralH.comp
[error  ] GLWrap: Error in shader bilateralH.comp
[error  ] GLWrap: 0:78(16): error: unrecognized layout identifier `r16f'

[error  ] GLWrapp: Error when linking these shaders :
[error  ] shader: bilateralH.comp
[error  ] GLWrapp: error: linking with uncompiled shader

These formats are handled in glsl_parser.cpp:

      if (state->ARB_shader_image_load_store_enable ||
          state->is_version(420, 310)) {

(...)
            } map[] = {
               { "rgba32f", GL_RGBA32F, GLSL_TYPE_FLOAT, 130, 310 },
               { "rgba16f", GL_RGBA16F, GLSL_TYPE_FLOAT, 130, 310 },
               { "rg32f", GL_RG32F, GLSL_TYPE_FLOAT, 130, 0 },
               { "rg16f", GL_RG16F, GLSL_TYPE_FLOAT, 130, 0 },
               { "r11f_g11f_b10f", GL_R11F_G11F_B10F, GLSL_TYPE_FLOAT, 130, 0
},

But it looks like state->ARB_shader_image_load_store_enable is never true.

Based on GL3.txt document, the ARB_shader_image_load_store extension is done
for intel graphics cards. Also glew library reports us that this extension is
available, so it looks that it should work.

It can be reproduced with Supertuxkart 0.9.1 or current git with enabled
ambient occlusion in options.</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>