On 21/02/18 13:21, Ilia Mirkin wrote:
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.
Yes the st will need a change too as it will be enable for any driver
that enables the disk cache (which is most drivers). The qt bug has been
observed on radeonsi.
On Tue, Feb 20, 2018 at 9:12 PM, Jordan Justen
<[email protected]> 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" <[email protected]>
Cc: Mark Janes <[email protected]>
Cc: Kenneth Graunke <[email protected]>
Cc: Scott D Phillips <[email protected]>
Signed-off-by: Jordan Justen <[email protected]>
---
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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev
_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev
_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev