<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - OpenCL/Clover: AMD Turks: corrupt output buffer (depending on dimension order?)"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=103586#c12">Comment # 12</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - OpenCL/Clover: AMD Turks: corrupt output buffer (depending on dimension order?)"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=103586">bug 103586</a>
              from <span class="vcard"><a class="email" href="mailto:freedesktop@treblig.org" title="Dave Gilbert <freedesktop@treblig.org>"> <span class="fn">Dave Gilbert</span></a>
</span></b>
        <pre>(In reply to Jan Vesely from <a href="show_bug.cgi?id=103586#c11">comment #11</a>)
<span class="quote">> (In reply to Dave Gilbert from <a href="show_bug.cgi?id=103586#c10">comment #10</a>)
> > I believe I'm still seeing this:
> > 
> > dg@hath:~/ocl2$ clinfo 
> > Number of platforms                               1
> >   Platform Name                                   Clover
> >   Platform Vendor                                 Mesa
> >   Platform Version                                OpenCL 1.1 Mesa
> > 17.4.0-devel (git-a16dc04ad5)
> > ....
> > dg@hath:~/ocl2$ echo $LD_LIBRARY_PATH 
> > /home/dg/mesa/try/lib:
> > 
> > so I *think* it's using my build.

> yes, that looks OK.

> > and I believe I'm still seeing it.
> > Is my test valid or do I really need that finish?

> it should be OK. Can you replace the clFinish with clWaitForEvents (or the
> respective C++ method) to wait for kernel execution?
> It looks to me that clover creates new map without waiting for all the dep
> events.</span >

It doesn't seem to help, if I add:
--- a/ocl.cpp
+++ b/ocl.cpp
@@ -74,6 +74,7 @@ static int got_dev(cl::Platform &plat,
std::vector<cl::Device> &devices, cl::Dev
     cl::Event eventBarrier2;
     queue.enqueueBarrierWithWaitList(NULL,&eventBarrier2);
     std::cerr << __func__ << "enqueueMapBuffer gave: " << err << std::endl;
+    event.wait();
     eventMap.wait();
     eventBarrier2.wait();


that doesn't seem to help and I think event is the event triggered by the
kernel.</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the assignee for the bug.</li>
          <li>You are the QA Contact for the bug.</li>
      </ul>
    </body>
</html>