<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - X crashes on current master (optimus setup, csgo game)"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=88814#c2">Comment # 2</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - X crashes on current master (optimus setup, csgo game)"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=88814">bug 88814</a>
              from <span class="vcard"><a class="email" href="mailto:chris@chris-wilson.co.uk" title="Chris Wilson <chris@chris-wilson.co.uk>"> <span class="fn">Chris Wilson</span></a>
</span></b>
        <pre>Hmm. I think that means that sna_pixmap_get_buffer() is NULL, if so the full
debug log will just explode as well. Quite possibly that it is NULL after a
composite redirect - I will have to think about that.

If you apply

diff --git a/src/sna/sna_dri2.c b/src/sna/sna_dri2.c
index fd3edcc..1c26131 100644
--- a/src/sna/sna_dri2.c
+++ b/src/sna/sna_dri2.c
@@ -150,6 +150,8 @@ sna_dri2_get_back(struct sna *sna,
        int flags;
        bool reuse;

+       assert(sna_pixmap_get_buffer(get_drawable_pixmap(draw)));
+
        DBG(("%s: draw size=%dx%d, buffer size=%dx%d, is-scanout? %d, pitch=%d,
front pitch=%d\n",
             __FUNCTION__, draw->width, draw->height,
             get_private(back)->size & 0xffff, get_private(back)->size >> 16,

and compile with --enable-debug (no need for =full, we just want to enable the
assertions), that will confirm the theory.</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>