From 1478dd7470c1215daf8cee2e2082d0c30ebb9aba Mon Sep 17 00:00:00 2001
From: Allan Sandfeld Jensen <allan.jensen@qt.io>
Date: Mon, 9 Apr 2018 15:02:59 +0200
Subject: [PATCH] Find and hold mask texture of render passes
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Even if we don't yet implement handling it, we need to hold it to not
assert later on it missing from held resources.

Task-number: QTBUG-67414
Change-Id: Ic14efba383ba7f1809238768b386b2254fad7121
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
Reviewed-by: Viktor Engelmann <viktor.engelmann@qt.io>
---
 src/core/delegated_frame_node.cpp | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/core/delegated_frame_node.cpp b/src/core/delegated_frame_node.cpp
index 83a39ba22..a59e5a847 100644
--- a/src/core/delegated_frame_node.cpp
+++ b/src/core/delegated_frame_node.cpp
@@ -1086,6 +1086,10 @@ void DelegatedFrameNode::handleQuad(
     switch (quad->material) {
     case viz::DrawQuad::RENDER_PASS: {
         const viz::RenderPassDrawQuad *renderPassQuad = viz::RenderPassDrawQuad::MaterialCast(quad);
+        if (!renderPassQuad->mask_texture_size.IsEmpty()) {
+            ResourceHolder *resource = findAndHoldResource(renderPassQuad->mask_resource_id(), resourceCandidates);
+            Q_UNUSED(resource); // FIXME
+        }
         QSGTexture *layer =
             findRenderPassLayer(renderPassQuad->render_pass_id, m_sgObjects.renderPassLayers).data();
 
-- 
GitLab