Cleaned up some of the circular dependency between GLES::Context & GLES::GraphicsCont...
[platform/core/uifw/dali-adaptor.git] / dali / internal / graphics / gles-impl / gles-context.h
index 2345458..f4cde6d 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_GRAPHICS_GLES_CONTEXT_H
 
 /*
- * Copyright (c) 2022 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.
@@ -39,7 +39,7 @@ class TextureDependencyChecker;
 class Context
 {
 public:
-  explicit Context(EglGraphicsController& controller);
+  explicit Context(EglGraphicsController& controller, Integration::GlAbstraction* glAbstraction);
 
   ~Context();
 
@@ -129,6 +129,11 @@ public:
   void ResolveStandaloneUniforms();
 
   /**
+   * @brief Resolves GPU-based uniform buffers
+   */
+  void ResolveGpuUniformBuffers();
+
+  /**
    * @brief Begins render pass for specified render target
    *
    * @param[in] renderPass render pass object to begin
@@ -189,7 +194,13 @@ public:
   void ActiveTexture(uint32_t textureBindingIndex);
   void BindTexture(GLenum target, BoundTextureType textureTypeId, uint32_t textureId);
   void GenerateMipmap(GLenum target);
-  void BindBuffer(GLenum target, uint32_t bufferId);
+
+  /**
+   * Binds the buffer.
+   * @return true if the buffer was actually bound, false if it's cached
+   */
+  bool BindBuffer(GLenum target, uint32_t bufferId);
+
   void DrawBuffers(uint32_t count, const GLenum* buffers);
   void BindFrameBuffer(GLenum target, uint32_t bufferId);
   void GenFramebuffers(uint32_t count, uint32_t* framebuffers);