<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Drivers/DRI/swrast"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=89586#c9">Comment # 9</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Drivers/DRI/swrast"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=89586">bug 89586</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 reply to Dan Sebald from <a href="show_bug.cgi?id=89586#c8">comment #8</a>)
<span class="quote">> I cloned the piglit repository and will see if I can write a program.  It
> shouldn't be difficult once I figure out the source tree organization, but
> it might take me a couple days.</span >

Basically the way it works is... find a simple test, and copy it. I recently
wrote tests/spec/ext_polygon_offset_clamp/*.c -- iirc 2 tests, both very
simple. Not sure when glPixelZoom came about, but it would probably go into
tests/spec/gl-1.0 or gl-2.0 or whatever. Add it to the CMakeFile.gl.txt and
you're good to go -- rerun 'cmake .' and then you should be able to do 'make
your-great-test-name'. Feel free to ask for help if you get stuck... it's all a
bit annoying as it uses cmake. At least waffle has made it to most distro's
packaging systems by now.

<span class="quote">> 
> I see the transition happening away from swrast to Gallium, but I'm guessing
> linux bundles might still be relying on swrast as I know the other folks who
> mentioned the lines keep their systems more up-to-date.  There is also at
> least one driver in Gallium that will fall back on swrast under certain
> circumstances.</span >

No. Gallium drivers can't fall back on swrast. There is a 'draw' module which
is used by a few drivers though to handle some (or all, in case of i915g)
vertex shader matters. Note that there's a lot of confusion with the 'swrast'
name, since the gallium software renderers can also be called swrast, and there
are 2 of them.

<span class="quote">> 
> I was just in the process of creating a bug report for a related type of
> problem in the Gallium driver for glPixelZoom.  However, the Gallium
> organization isn't so straightforward and I've not yet figured out exactly
> which code gets run via Gallium.  Whatever is compiled is also named
> swrast_dri.so in the lib/gallium subdirectory, but it is clearly a different
> implementation of pixel zoom.  (Only the first 8192 pixels zoomed appear in
> the image while the rest is background-color, in both x and y dimensions. 
> So I can't tell if there are dropped pixels in that case just yet.)  I will
> look through softpipe and llvmpipe for the source code.</span >

Take a look at src/mesa/state_tracker/st_cb_drawpixels.c. This is the "state
tracker" which is effectively an adapter between the OpenGL and Gallium APIs.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the QA Contact for the bug.</li>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>