]> git.cworth.org Git - apitrace/blobdiff - cli/trace_analyzer.cpp
trim: Avoid trimming textures when referenced by a framebuffer object
[apitrace] / cli / trace_analyzer.cpp
index afca8026f1a62e6465c847b2812ca6d4a1139cc9..9a4553edc1895418ea9b745ad4a9562a34dd986d 100644 (file)
@@ -319,6 +319,20 @@ TraceAnalyzer::recordSideEffects(trace::Call *call)
         return;
     }
 
+    /* FIXME: When we start tracking framebuffer objects as their own
+     * resources, we will want to link the FBO to the given texture
+     * resource, (and to this call). For now, just link render state
+     * to the texture, and force this call to be required. */
+    if (strcmp(name, "glFramebufferTexture2D") == 0) {
+        GLuint texture;
+
+        texture = call->arg(3).toUInt();
+
+        linkf("render-state", "texture-", texture);
+
+        required.insert(call->no);
+    }
+
     if (strcmp(name, "glBindTexture") == 0) {
         GLenum target;
         GLuint texture;