From 38839b7ee68a63cae3d782368988daabb808bfd1 Mon Sep 17 00:00:00 2001 From: Carl Worth Date: Thu, 16 Aug 2012 11:33:45 -0700 Subject: [PATCH] trim: Never trim any glBindTexture calls. This shouldn't be necessary. I've got a case where trimming out the glBindTexture of an unused texture changes the behavoir, which shouldn't be the case. While I'll still try to track down that bug, this patch provides conservative behavior that hopefully won't break anything. (The only real downside is the potential of an implementation getting confused by a glBindTexture with a value that was not returned by glGenTextures). --- cli/cli_trim.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/cli/cli_trim.cpp b/cli/cli_trim.cpp index 3302dff..f7bc92b 100644 --- a/cli/cli_trim.cpp +++ b/cli/cli_trim.cpp @@ -456,6 +456,20 @@ class TraceAnalyzer { unlinkAll(ss_target.str()); link(ss_target.str(), ss_texture.str()); + /* FIXME: This really shouldn't be necessary. The effect + * this provide() has is that all glBindTexture calls will + * be preserved in the output trace (never trimmed). Carl + * has a trace ("btr") where a glBindTexture call should + * not be necessary at all, (it's immediately followed + * with a glBindTexture to a different texture and no + * intervening texture-related calls), yet this 'provide' + * makes the difference between a trim_stress test failing + * and passing. + * + * More investigation is necessary, but for now, be + * conservative and don't trim. */ + provide("state", call->no); + return; } -- 2.43.0