sdm: Use fence utility for buffer fences management

Change-Id: I08746d36aa869938ebf60248e2ada5880e2f44a9
CRs-Fixed: 2579548
diff --git a/composer/hwc_tonemapper.h b/composer/hwc_tonemapper.h
index bc564eb..c82470e 100644
--- a/composer/hwc_tonemapper.h
+++ b/composer/hwc_tonemapper.h
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2016 - 2018, The Linux Foundation. All rights reserved.
+* Copyright (c) 2016 - 2018, 2020 The Linux Foundation. All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
@@ -58,8 +58,8 @@
 
 struct ToneMapBlitContext : public SyncTask<ToneMapTaskCode>::TaskContext {
   Layer *layer = nullptr;
-  int merged_fd = -1;
-  int fence_fd = -1;
+  shared_ptr<Fence> merged = nullptr;
+  shared_ptr<Fence> fence = nullptr;
 };
 
 struct ToneMapConfig {
@@ -76,8 +76,8 @@
   ~ToneMapSession();
   DisplayError AllocateIntermediateBuffers(const Layer *layer);
   void FreeIntermediateBuffers();
-  void UpdateBuffer(int acquire_fence, LayerBuffer *buffer);
-  void SetReleaseFence(int fd);
+  void UpdateBuffer(const shared_ptr<Fence> &acquire_fence, LayerBuffer *buffer);
+  void SetReleaseFence(const shared_ptr<Fence> &fd);
   void SetToneMapConfig(Layer *layer, PrimariesTransfer blend_cs);
   bool IsSameToneMapConfig(Layer *layer, PrimariesTransfer blend_cs);
 
@@ -92,7 +92,7 @@
   ToneMapConfig tone_map_config_ = {};
   uint8_t current_buffer_index_ = 0;
   std::vector<BufferInfo> buffer_info_ = {};
-  int release_fence_fd_[kNumIntermediateBuffers] = {-1, -1};
+  shared_ptr<Fence> release_fence_[kNumIntermediateBuffers] = {nullptr, nullptr};
   bool acquired_ = false;
   int layer_index_ = -1;
 };
@@ -111,7 +111,7 @@
  private:
   void ToneMap(Layer *layer, ToneMapSession *session);
   DisplayError AcquireToneMapSession(Layer *layer, uint32_t *sess_idx, PrimariesTransfer blend_cs);
-  void DumpToneMapOutput(ToneMapSession *session, int *acquire_fence);
+  void DumpToneMapOutput(ToneMapSession *session, shared_ptr<sdm::Fence> acquire_fence);
 
   std::vector<ToneMapSession*> tone_map_sessions_;
   HWCBufferSyncHandler buffer_sync_handler_ = {};