Merge "[AT-SPI] Rework intercepting key events" into devel/master
[platform/core/uifw/dali-adaptor.git] / dali / internal / graphics / gles-impl / gles2-graphics-memory.cpp
index a514a34..6ad22f8 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2024 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -45,7 +45,7 @@ Memory2::Memory2(const Graphics::MapTextureInfo& mapInfo, EglGraphicsController&
 
 Memory2::~Memory2()
 {
-  //Unlock(true);
+  Unlock(true);
 }
 
 void* Memory2::LockRegion(uint32_t offset, uint32_t size)
@@ -63,8 +63,12 @@ void* Memory2::LockRegion(uint32_t offset, uint32_t size)
     }
     else
     {
-      auto retval         = malloc(size);
-      mMappedPointer      = retval;
+      auto retval    = malloc(size);
+      mMappedPointer = retval;
+      if(DALI_UNLIKELY(mMappedPointer == nullptr))
+      {
+        DALI_LOG_ERROR("malloc is failed. request malloc size : %u\n", size);
+      }
       mIsAllocatedLocally = true;
     }
   }
@@ -74,29 +78,29 @@ void* Memory2::LockRegion(uint32_t offset, uint32_t size)
 
 void Memory2::Unlock(bool flush)
 {
-  auto gl = mController.GetGL();
-
-  // for buffer...
-  if(mMapObjectType == MapObjectType::BUFFER && mMappedPointer)
+  if(auto gl = mController.GetGL())
   {
-    auto buffer = static_cast<GLES::Buffer*>(mMapBufferInfo.buffer);
-    if(!buffer->IsCPUAllocated())
+    // for buffer...
+    if(mMapObjectType == MapObjectType::BUFFER && mMappedPointer)
     {
-
-      buffer->Bind(BufferUsage::VERTEX_BUFFER);
-      gl->BufferSubData(GL_ARRAY_BUFFER, mMapBufferInfo.offset, mMapBufferInfo.size, mMappedPointer);
+      auto buffer = static_cast<GLES::Buffer*>(mMapBufferInfo.buffer);
+      if(!buffer->IsCPUAllocated())
+      {
+        buffer->Bind(BufferUsage::VERTEX_BUFFER);
+        gl->BufferSubData(GL_ARRAY_BUFFER, GLintptr(mMapBufferInfo.offset), GLsizeiptr(mMapBufferInfo.size), mMappedPointer);
+      }
     }
-  }
 
-  if(mIsAllocatedLocally)
-  {
-    free(mMappedPointer);
-    mMappedPointer = nullptr;
-  }
+    if(mIsAllocatedLocally)
+    {
+      free(mMappedPointer);
+      mMappedPointer = nullptr;
+    }
 
-  if(flush)
-  {
-    Flush();
+    if(flush)
+    {
+      Flush();
+    }
   }
 }
 
@@ -105,4 +109,4 @@ void Memory2::Flush()
   // TODO:
 }
 
-} // namespace Dali::Graphics::GLES
\ No newline at end of file
+} // namespace Dali::Graphics::GLES