<div dir="auto">You can just add a function to initialize the cache that drivers can optionally call. Then you don't need the const flag.<div dir="auto"><br></div><div dir="auto">Marek</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Feb 2, 2017 11:45 AM, "Timothy Arceri" <<a href="mailto:tarceri@itsqueeze.com">tarceri@itsqueeze.com</a>> wrote:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Thu, 2 Feb 2017 17:32:58 +1100<br>
<div class="quoted-text">Timothy Arceri <<a href="mailto:tarceri@itsqueeze.com">tarceri@itsqueeze.com</a>> wrote:<br>
<br>
> On Thu,  2 Feb 2017 16:17:02 +1100<br>
> Timothy Arceri <<a href="mailto:tarceri@itsqueeze.com">tarceri@itsqueeze.com</a>> wrote:<br>
><br>
> > This will stop people enabling the shader cache on drivers that<br>
> > don't support it via the env vars. Also this will be required once<br>
> > support is enabled by default to stop drivers without support from<br>
> > breaking.<br>
> > ---<br>
> >  src/mesa/main/context.c | 3 ++-<br>
> >  src/mesa/main/mtypes.h  | 3 +++<br>
> >  2 files changed, 5 insertions(+), 1 deletion(-)<br>
> ><br>
> > diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c<br>
> > index 7ecd241..085cec9 100644<br>
> > --- a/src/mesa/main/context.c<br>
> > +++ b/src/mesa/main/context.c<br>
> > @@ -1230,7 +1230,8 @@ _mesa_initialize_context(<wbr>struct gl_context<br>
> > *ctx, memset(&ctx-><wbr>TextureFormatSupported, GL_TRUE,<br>
> >       sizeof(ctx-><wbr>TextureFormatSupported));<br>
> ><br>
> > -   ctx->Cache = disk_cache_create();<br>
> > +   if (ctx->Const.DiskShaderCache)<br>
><br>
> Actually I think this gets set too late from the driver. I need to<br>
> think about this some more.<br>
<br>
</div>Ok this patch is fine I just need to set DiskShaderCache before<br>
_mesa_initialize_context() in the drivers that want to enable this<br>
which should be fine. We do the same for driver functions.<br>
<div class="elided-text"><br>
><br>
><br>
> > +      ctx->Cache = disk_cache_create();<br>
> ><br>
> >     switch (ctx->API) {<br>
> >     case API_OPENGL_COMPAT:<br>
> > diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h<br>
> > index 3dcc23d..8a0c180 100644<br>
> > --- a/src/mesa/main/mtypes.h<br>
> > +++ b/src/mesa/main/mtypes.h<br>
> > @@ -3762,6 +3762,9 @@ struct gl_constants<br>
> ><br>
> >     /** GL_OES_primitive_bounding_box */<br>
> >     bool NoPrimitiveBoundingBoxOutput;<br>
> > +<br>
> > +   /** Does this driver support an on-disk shader cache */<br>
> > +   bool DiskShaderCache;<br>
> >  };<br>
> ><br>
> ><br>
><br>
> ______________________________<wbr>_________________<br>
> mesa-dev mailing list<br>
> <a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
> <a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer" target="_blank">https://lists.freedesktop.org/<wbr>mailman/listinfo/mesa-dev</a><br>
<br>
______________________________<wbr>_________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer" target="_blank">https://lists.freedesktop.org/<wbr>mailman/listinfo/mesa-dev</a><br>
</div></blockquote></div><br></div>