<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - [Steam] Implement GLSL 1.30 on Ironlake Mobile/HM 55 (Gen5)"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=59187#c5">Comment # 5</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - [Steam] Implement GLSL 1.30 on Ironlake Mobile/HM 55 (Gen5)"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=59187">bug 59187</a>
              from <span class="vcard"><a class="email" href="mailto:stereotype441@gmail.com" title="Paul Berry <stereotype441@gmail.com>"> <span class="fn">Paul Berry</span></a>
</span></b>
        <pre>(In reply to <a href="show_bug.cgi?id=59187#c4">comment #4</a>)
<span class="quote">> (In reply to <a href="show_bug.cgi?id=59187#c3">comment #3</a>)
> > In #60481 Ian Romanick said Source-Games would depend on GL3..
> > I demonstrated that the Source-Games don't need full GL3, but just depend on
> > GLSL 1.30 [0]. I run CS:S using Mesa-9.0's softpipe driver (OpenGL 2.1 &
> > GLSL 1.30). So there is probably just some GLSL 1.30 functionallity missing,
> > which could be implemented as a software fallback or using the graphics
> > hardware (if supported).
> > 
> > Where would we have to implement those missing GLSL 1.30 functions?
> > 
> > [0]
> > <a href="https://github.com/ValveSoftware/Source-1-Games/issues/19#issuecomment">https://github.com/ValveSoftware/Source-1-Games/issues/19#issuecomment</a>-
> > 13801640

> I can't speak to whether Source games require GL 3.0 or not, but here's a
> rough list of what would need to be added to the i965 driver in order to
> support GLSL 1.30 on Ironlake (this is based on section 1.2.1 "Summary of
> Functionality differences from version 1.2" of the GLSL 1.30 spec):

> - Texture size queries*
> - Texture arrays*
> - Texture offsetting*
> - Explicit LOD and derivative controls*
> - "noperspective" and "flat" interpolation qualifiers
> - gl_VertexID 

> *Some of these may already work on IronLake--I'm not terribly familiar with
> the texturing code.</span >

Argh, sorry.  I hit submit before I was finished.  One more item:

- gl_ClipDistance

Of all of these items, the trickiest one is gl_ClipDistance, since it requires
modifying the Gen4/5-specific "clip" program (brw_clip.c) to perform clipping
in a manner more like what happens in Gen6+ (using clip distances provided by
the vertex shader rather than performing dot products in the clip program). 
This is not a project for the faint of heart--the brw_clip.c code isn't
terribly well tested, and has a lot of tricky corner cases in it.

Once those things are done, we would of course want to run the driver through a
pretty thorough round of piglit testing to make sure we hadn't missed any small
details.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>