<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Corrupted frame contents with Vulkan version of DOTA2, Talos Principle and Sascha Willems' demos when they're run Vsynched in fullscreen"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=99507#c8">Comment # 8</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Corrupted frame contents with Vulkan version of DOTA2, Talos Principle and Sascha Willems' demos when they're run Vsynched in fullscreen"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=99507">bug 99507</a>
              from <span class="vcard"><a class="email" href="mailto:jason@jlekstrand.net" title="Jason Ekstrand <jason@jlekstrand.net>"> <span class="fn">Jason Ekstrand</span></a>
</span></b>
        <pre>(In reply to Eero Tamminen from <a href="show_bug.cgi?id=99507#c7">comment #7</a>)
<span class="quote">> Is Vulkan using PTE MOCS for buffers that are potentially display surfaces,
> like GL side does in brw_update_renderbuffer_surface() & brw_blorp_init()?</span >

Good question.  Those errors definitely look like a caching problem though I'm
a bit surprised I've never noticed it. :(

Looking at anv_private.h, on BDW, we're using the equivalent of GEN8_MOCS_WB
for everything, not GEN8_MOCS_PTE.  Sky lake is the same story (only the GEN9
equivalents).  That's most likely the problem.  Thanks for pointing it out!

I see a couple of options here.  One would be to do the same thing as the GL
driver does and use PTE for all render targets.  The other would be to only use
PTE if the is_scanout flag is set on the BO.  In the end, I'm not sure there's
actually a huge difference between the two.  We would also need to update the
mocs values we pass to BLORP to also use PTE for render targets.</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>