OSDN Git Service

drm_hwcomposer: fill hwc_display_contents retireFenceFd
authorZach Reizner <zachr@google.com>
Tue, 6 Oct 2015 22:39:09 +0000 (15:39 -0700)
committerZach Reizner <zachr@google.com>
Wed, 7 Oct 2015 22:02:50 +0000 (15:02 -0700)
This restores the behavior of "drm_hwcomposer: Populate retireFenceFd"

The retire fence is triggered when all releaseFenceFd's of the display's
layers are triggered.

Change-Id: Id06f2df03dcb9638ccbae23f46c42b05551fae6d

hwcomposer.cpp

index 5181d84..3035362 100644 (file)
@@ -516,6 +516,20 @@ static int hwc_set(hwc_composer_device_1_t *dev, size_t num_displays,
     return -EINVAL;
   }
 
+  for (size_t i = 0; i < num_displays; ++i) {
+    hwc_display_contents_1_t *dc = sf_display_contents[i];
+    if (!dc)
+      continue;
+
+    size_t num_dc_layers = dc->numHwLayers;
+    for (size_t j = 0; j < num_dc_layers; ++j) {
+      hwc_layer_1_t *layer = &dc->hwLayers[j];
+      if (layer->flags & HWC_SKIP_LAYER)
+        continue;
+      hwc_add_layer_to_retire_fence(layer, dc);
+    }
+  }
+
   composition.reset(NULL);
 
   return ret;