<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [HSW] intel_do_flush_locked failed: Invalid argument in dEQP-GLES31.functional.compute.indirect_dispatch.upload_buffer.single_invocation"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=94080#c3">Comment # 3</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [HSW] intel_do_flush_locked failed: Invalid argument in dEQP-GLES31.functional.compute.indirect_dispatch.upload_buffer.single_invocation"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=94080">bug 94080</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 Kenneth Graunke from <a href="show_bug.cgi?id=94080#c2">comment #2</a>)
<span class="quote">> I actually addressed (a) in bd21b5460761560 ("i965: Only turn on
> ARB_compute_shader if we can write registers."), but only for desktop GL. 
> Presumably we need something that stops us from advertising ES 3.1 as well.</span >

I was force-enabling GLES 3.1. However GL_ARB_compute_shader was exposed for me
in Linux kernel 4.3.0. I guess there's more to it? This specifically had to do
with indirect compute dispatch, I believe separately from indirect draws.

<span class="quote">> 
> Regarding (b)...we've always done that.  We don't really know why the kernel
> returned an error from the execbuf2 ioctl, but several options are: 1) the
> GPU is toast (can't really continue).  2) the kernel has revoked our rights
> to talk to the GPU after hosing it repeatedly (shouldn't continue).  3) some
> out of memory condition (who knows what to do?).  4) the new command parser
> rejected our batch for doing bogus things (a bug in Mesa, so kind of like an
> assert).

> The last reason is the sketchiest.  IMHO the command parser is misdesigned -
> platforms with the hardware checker simply MI_NOOP disallowed things - but
> the Gen7/7.5-only software checker -EINVALs your program.  I think it should
> mimic the hardware behavior.  But, others disagree.

> So, that's where we're at.  *shrug*</span >

Yeah, dealing with unexpected errors sucks. I think the ultimate move is to
tear down the context and start from scratch. And start returning errors if you
can't bring things up properly. You're going to have to deal with this for
proper robustness support eventually, but I agree this is a giant pain :)</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>