Is this worth doing for st/mesa as well? Some quick grepping suggests it's enabled on the 18.0 branch there too, but it's behind a conditional which perhaps is never set.
On Tue, Feb 20, 2018 at 9:12 PM, Jordan Justen <jordan.l.jus...@intel.com> wrote: > The QT framework has a bug in their shader program cache, which is > built on GL_ARB_get_program_binary. > > In an effort to allow them to fix the bug we don't enable more than 1 > binary format for compatibility profiles. > > This is only being done on the 18.0 release branch. > > Ref: https://bugreports.qt.io/browse/QTBUG-66420 > Ref: https://bugs.freedesktop.org/show_bug.cgi?id=105065 > Cc: "18.0" <mesa-sta...@lists.freedesktop.org> > Cc: Mark Janes <mark.a.ja...@intel.com> > Cc: Kenneth Graunke <kenn...@whitecape.org> > Cc: Scott D Phillips <scott.d.phill...@intel.com> > Signed-off-by: Jordan Justen <jordan.l.jus...@intel.com> > --- > docs/relnotes/17.4.0.html | 2 +- > src/mesa/drivers/dri/i965/brw_context.c | 9 ++++++++- > 2 files changed, 9 insertions(+), 2 deletions(-) > > diff --git a/docs/relnotes/17.4.0.html b/docs/relnotes/17.4.0.html > index 412c0fc455e..fecdfe77969 100644 > --- a/docs/relnotes/17.4.0.html > +++ b/docs/relnotes/17.4.0.html > @@ -53,7 +53,7 @@ Note: some of the new features are only available with > certain drivers. > <li>GL_ARB_enhanced_layouts on r600/evergreen+</li> > <li>GL_ARB_bindless_texture on nvc0/kepler</li> > <li>OpenGL 4.3 on r600/evergreen with hw fp64 support</li> > -<li>Support 1 binary format for GL_ARB_get_program_binary on i965</li> > +<li>Support 1 binary format for GL_ARB_get_program_binary on i965 (except in > GL compatibility profiles)</li> > </ul> > > <h2>Bug fixes</h2> > diff --git a/src/mesa/drivers/dri/i965/brw_context.c > b/src/mesa/drivers/dri/i965/brw_context.c > index e9358b7bc9c..58527d77263 100644 > --- a/src/mesa/drivers/dri/i965/brw_context.c > +++ b/src/mesa/drivers/dri/i965/brw_context.c > @@ -704,7 +704,14 @@ brw_initialize_context_constants(struct brw_context *brw) > ctx->Const.AllowMappedBuffersDuringExecution = true; > > /* GL_ARB_get_program_binary */ > - ctx->Const.NumProgramBinaryFormats = 1; > + /* The QT framework has a bug in their shader program cache, which is > built > + * on GL_ARB_get_program_binary. In an effort to allow them to fix the bug > + * we don't enable more than 1 binary format for compatibility profiles. > + * This is only being done on the 18.0 release branch. > + */ > + if (ctx->API != API_OPENGL_COMPAT) { > + ctx->Const.NumProgramBinaryFormats = 1; > + } > } > > static void > -- > 2.16.1 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev