#define DALI_GRAPHICS_GLES_PROGRAM_H
/*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2023 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.
uint32_t Release();
/**
+ * @brief Retrieves ref count
+ * @return Refcount value
+ */
+ [[nodiscard]] uint32_t GetRefCount() const;
+
+ /**
* @brief Returns reflection
*
* @return Valid reflection associated with the Program
*/
bool GetParameter(uint32_t parameterId, void* out);
+ /**
+ * @brief Updates standalone uniforms
+ *
+ * Updates standalone uniforms (issues the GL calls) and
+ * updates internal uniform cache
+ *
+ * @param[in] ptr Valid pointer to the uniform block memory
+ */
+ void UpdateStandaloneUniformBlock(const char* ptr);
+
+ /**
+ * @brief Builds standalone uniform cache
+ *
+ * This function allocates cache memory and
+ * gathers a list of GL functions per uniform type.
+ */
+ void BuildStandaloneUniformCache();
+
private:
friend class Program;
///////////////////////////////////////////////////////////////
/**
- * @brief Wrapper for the pipeline implementation
+ * @brief Wrapper for the program implementation
*
* This object is returned back to the client-side
*/