<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
    <style type="text/css">
<!--
body {
        font-family: Helvetica,Arial,'DejaVu Sans','Liberation Sans',Freesans,sans-serif;
        font-weight: normal;
        color: #555555;
        margin: 1.25cm; 
        max-width: 50em;
        counter-reset: chapter;
        text-align: justify;
}

h1 {
        color: #00A6A6;
}

h1.title {
        text-align: center;
}

h2, h3, h4, h5, h6 {
  color: #146A68;
}

a {
  text-decoration: none;
}

/* The following a: pseudo-class order is necessary in
 * order to be effective.
 */
a:link {
  color: #009999;
}

a:visited {
  color: #006699;
}

a:hover {
  color: #00CCCC;
}

a:active {
  color: #0000FF;
}

code.code {
  white-space: nowrap;
}

div.footnote {
  font-size: small;
}

div.legalnotice {
  font-size: x-small;
}

table {
  border-collapse: separate;
  border-spacing: 0;
  border-style: ridge;
}

caption {
  background-color: #146A68;
  color: #FFFF33;
}

td {
  padding: 0.3em;
}

th {
  padding: 0.3em;
  /* background-color: #FFDEAD; */
  background-color: #EBD8AF;
}

th:first-child {
  /* background-color: #EFEFEF; */
  background-color: #EBE57B;
}

.informalexample {
  background-color: #F7F9F9;
  border: thin dashed #146A68;
}

.footnote {
  font-size: x-small;
  border-top: thin solid #146A68;
  border-right: thin none #146A68;
  border-bottom: thin none #146A68;
  border-left: thin none #146A68;
}

code {
  font-family: "Courier New", Courier, mono;
  white-space: pre;
}
-->
</style>
  </head>
  <body>
    <br>
    <br>
    On 07/04/2012 01:13, Florian Bösch wrote:<br>
    <blockquote type="cite">I think the whole idea of context lost is
      perverted and broken. If a system process runs out of memory. It
      gets sigtermed, if it oversteps its memory, it gets sighalted, no
      reasonably programming scheme would do things like silently free
      memory you've been using. It's why virtual memory managers, swap,
      protected memory etc. have been invented oh roundabouts 1970 and
      been thoroughly implemented on all personal computing hardware to
      around 1985, to being fully supported by any OS by around 1995.
      GPUs context lost is a barbaric regression to the glory days of
      1950 or thereabouts in this regard.</blockquote>
     ...<br>
    <blockquote class=" cite"
id="mid_CAOK8ODj4TxEyDJJkz7qS8rhnG_gq70_o_6bSv6_jGL8a59mbxA_mail_gmail_com"
cite="mid:CAOK8ODj4TxEyDJJkz7qS8rhnG-gq70=o-6bSv6+jGL8a59mbxA@mail.gmail.com"
      type="cite">On Fri, Apr 6, 2012 at 6:04 PM, Benoit Jacob <span
        dir="ltr"><<a moz-do-not-send="true"
          href="mailto:bjacob@mozilla.com">bjacob@mozilla.com</a>></span>
      wrote:<br>
      <div class="gmail_quote">
        <blockquote id="Cite_12" class="gmail_quote cite"
          style="margin:0 0 0 .8ex;border-left:1px #ccc
          solid;padding-left:1ex">
          <div>
            <div style="font-size:12pt;font-family:times new roman,new
              york,times,serif">On mobile devices at least, we have no
              choice. First, EGL contexts get lost when (that's why
              EGL_CONTEXT_LOST exists) so the problem exists anyway and
              WebGL context lost/restored events are just giving content
              a chance to recover.<br>
            </div>
          </div>
        </blockquote>
        <div>I agree that you have no choice on current mobile hardware,
          and it's not the failing of WebGL to try to handle it. It is
          still a stupendously bad idea from a hardware/programming
          point of view, but unfortunately one we can't do anything
          about until in oh, 20 or 50 years or so when GPUs have arrived
          in the age of real programmable machines.</div>
      </div>
    </blockquote>
    <p>Back in 1988 we virtualized IRIS GL contexts on the Silicon
      Graphics IRIS 4D GT. The hardware supported 16 contexts; if more
      were needed they would be swapped in and out.<br>
    </p>
    <p>Unfortunately there is no requirement in today's OpenGL for
      drivers to do this. Since there is no way to get a complete dump
      of the GL state the only way for an application/OS to do it for
      itself is to shadow the GL state.<br>
    </p>
    <p>BTW EGL_CONTEXT_LOST stems from the days of devices such as early
      Qualcomm hardware where OpenGL ES ran partially on the DSP and
      when that was needed to process an incoming call -
      EGL_CONTEXT_LOST. I agree it is a very inelegant design.<br>
    </p>
    <p>Regards</p>
    <blockquote>
      <p>-Mark<br>
      </p>
    </blockquote>
    <p><br>
    </p>
    <blockquote>
    </blockquote>
  </body>
</html>