X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fgraphics%2Fgles-impl%2Fgles-graphics-reflection.h;h=06cfba15c296e878103eb4e8f2bb0739c81af81d;hb=104c70b668902c007f9f684ed4aa6b3673da073d;hp=1781ffa3c0fdf9e22c47a436e21249b00c7dd428;hpb=f8f6b02f0dfdbe91ab344ac43fdec3369813748b;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git diff --git a/dali/internal/graphics/gles-impl/gles-graphics-reflection.h b/dali/internal/graphics/gles-impl/gles-graphics-reflection.h index 1781ffa..06cfba1 100644 --- a/dali/internal/graphics/gles-impl/gles-graphics-reflection.h +++ b/dali/internal/graphics/gles-impl/gles-graphics-reflection.h @@ -186,7 +186,7 @@ public: * * @return A vector of the sampler uniforms */ - [[nodiscard]] std::vector GetSamplers() const override; + const std::vector& GetSamplers() const override; // Language @@ -203,17 +203,28 @@ public: */ struct UniformExtraInfo { - UniformExtraInfo(uint32_t location, uint32_t size, GLenum type) + UniformExtraInfo(uint32_t location, uint32_t size, uint32_t offset, uint32_t arraySize, GLenum type) : location(location), size(size), + offset(offset), + arraySize(arraySize), type(type){}; - uint32_t location; ///< Location of uniform - uint32_t size; ///< size of uniform - GLenum type; ///< type of uniform + uint32_t location; ///< Location of uniform + uint32_t size; ///< size of uniform + uint32_t offset; ///< offset of uniform within UBO + uint32_t arraySize; ///< number of array elements (1 for non-arrays) + GLenum type; ///< type of uniform }; /** + * @brief Returns array of additional info about standalone uniforms + * + * @return Array of internal uniform data + */ + [[nodiscard]] const std::vector& GetStandaloneUniformExtraInfo() const; + + /** * @brief Build the reflection of vertex attributes */ void BuildVertexAttributeReflection(); @@ -228,6 +239,11 @@ public: */ void BuildUniformBlockReflection(); + /** + * Sort the samplers by their lexical location in the frag shader source code. + */ + void SortOpaques(); + protected: Reflection(Reflection&&) = default; Reflection& operator=(Reflection&&) = default;