From 5a35dc806d3f0f846232014534295c577275dc4c Mon Sep 17 00:00:00 2001 From: Kimmo Hoikka Date: Mon, 15 Aug 2016 18:47:55 +0100 Subject: [PATCH] [3.0] remove Uniform name cache as its no longer used Change-Id: Idd00992e0834e6aa919a58adefbb87f30d83a10f --- dali/internal/file.list | 1 - dali/internal/render/common/render-manager.cpp | 6 +- .../render/data-providers/uniform-name-cache.cpp | 67 ------------------ .../render/data-providers/uniform-name-cache.h | 82 ---------------------- dali/internal/render/renderers/render-renderer.cpp | 5 +- dali/internal/render/renderers/render-renderer.h | 9 +-- dali/internal/render/renderers/render-texture.h | 9 --- 7 files changed, 6 insertions(+), 173 deletions(-) delete mode 100644 dali/internal/render/data-providers/uniform-name-cache.cpp delete mode 100644 dali/internal/render/data-providers/uniform-name-cache.h diff --git a/dali/internal/file.list b/dali/internal/file.list index 92a2e1f..f7bcf2b 100644 --- a/dali/internal/file.list +++ b/dali/internal/file.list @@ -104,7 +104,6 @@ internal_src_files = \ $(internal_src_dir)/render/common/render-tracker.cpp \ $(internal_src_dir)/render/common/render-manager.cpp \ $(internal_src_dir)/render/data-providers/render-data-provider.cpp \ - $(internal_src_dir)/render/data-providers/uniform-name-cache.cpp \ $(internal_src_dir)/render/gl-resources/bitmap-texture.cpp \ $(internal_src_dir)/render/gl-resources/context.cpp \ $(internal_src_dir)/render/gl-resources/frame-buffer-state-cache.cpp \ diff --git a/dali/internal/render/common/render-manager.cpp b/dali/internal/render/common/render-manager.cpp index a4281eb..96ab1ff 100644 --- a/dali/internal/render/common/render-manager.cpp +++ b/dali/internal/render/common/render-manager.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015 Samsung Electronics Co., Ltd. + * Copyright (c) 2016 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. @@ -31,7 +31,6 @@ #include #include #include -#include #include #include #include @@ -140,7 +139,6 @@ struct RenderManager::Impl Integration::GlSyncAbstraction& glSyncAbstraction; ///< GL sync abstraction RenderQueue renderQueue; ///< A message queue for receiving messages from the update-thread. TextureCache textureCache; ///< Cache for all GL textures - Render::UniformNameCache uniformNameCache; ///< Cache to provide unique indices for uniforms LockedResourceQueue& textureUploadedQueue; ///< A queue for requesting resource post processing in update thread // Render instructions describe what should be rendered during RenderManager::Render() @@ -264,7 +262,7 @@ void RenderManager::SetDefaultSurfaceRect(const Rect& rect) void RenderManager::AddRenderer( Render::Renderer* renderer ) { // Initialize the renderer as we are now in render thread - renderer->Initialize( mImpl->context, mImpl->textureCache, mImpl->uniformNameCache ); + renderer->Initialize( mImpl->context, mImpl->textureCache ); mImpl->rendererContainer.PushBack( renderer ); diff --git a/dali/internal/render/data-providers/uniform-name-cache.cpp b/dali/internal/render/data-providers/uniform-name-cache.cpp deleted file mode 100644 index a98c171..0000000 --- a/dali/internal/render/data-providers/uniform-name-cache.cpp +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright (c) 2015 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. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -// CLASS HEADER -#include - -// INTERNAL INCLUDES -#include - -namespace Dali -{ -namespace Internal -{ -namespace Render -{ - -UniformNameCache::UniformNameCache() -{} - -UniformNameCache::~UniformNameCache() -{ // OwnerContainer cleans up -} - -int32_t UniformNameCache::GetSamplerUniformUniqueIndex( const std::string& uniformName ) -{ - OwnerContainer< UniformEntry* >::SizeType index = 0; - const OwnerContainer< UniformEntry* >::SizeType end = mSamplerUniformCache.Size(); - - const std::size_t hash = Dali::CalculateHash( uniformName ); - - for( ;index < end; ++index ) - { - // check hash first - if( hash == mSamplerUniformCache[ index ]->nameHash ) - { - // check full name in case of collision - if( mSamplerUniformCache[ index ]->uniformName == uniformName ) - { - // match, return the index - return index; - } - } - } - // no match found, add new entry to cache - mSamplerUniformCache.PushBack( new UniformEntry( uniformName, hash ) ); - - return end; -} - -} // namespace Render - -} // namespace Internal - -} // namespace Dali diff --git a/dali/internal/render/data-providers/uniform-name-cache.h b/dali/internal/render/data-providers/uniform-name-cache.h deleted file mode 100644 index d251117..0000000 --- a/dali/internal/render/data-providers/uniform-name-cache.h +++ /dev/null @@ -1,82 +0,0 @@ -#ifndef DALI_INTERNAL_UNIFORM_NAME_CACHE_H -#define DALI_INTERNAL_UNIFORM_NAME_CACHE_H - -/* - * Copyright (c) 2015 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. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -// EXTERNAL INCLUDES -#include - -// INTERNAL INCLUDES -#include - -namespace Dali -{ - -namespace Internal -{ - -namespace Render -{ - -/** - * This class maps uniform names to unique indices that can be used to cache the GL uniform - * index values in programs and only do the costly string lookup once - */ -class UniformNameCache -{ -public: - - /** - * Constructor - */ - UniformNameCache(); - - /** - * Destructor - */ - ~UniformNameCache(); - - /** - * This method can be used to query a cache for the unique index for a sampler uniform - * @param uniformName to get the index for - * @return a unique index for this sampler uniform - */ - int32_t GetSamplerUniformUniqueIndex( const std::string& uniformName ); - -private: // Data - - struct UniformEntry - { - UniformEntry( const std::string& name, std::size_t hash ) - : uniformName( name ), - nameHash( hash ) - { } - std::string uniformName; - std::size_t nameHash; - }; - - OwnerContainer< UniformEntry* > mSamplerUniformCache; - -}; - -} // namespace Render - -} // namespace Internal - -} // namespace Dali - -#endif // DALI_INTERNAL_UNIFORM_NAME_CACHE_H diff --git a/dali/internal/render/renderers/render-renderer.cpp b/dali/internal/render/renderers/render-renderer.cpp index cbad8bb..82e4a69 100644 --- a/dali/internal/render/renderers/render-renderer.cpp +++ b/dali/internal/render/renderers/render-renderer.cpp @@ -25,7 +25,6 @@ #include #include #include -#include #include #include #include @@ -140,7 +139,6 @@ Renderer::Renderer( SceneGraph::RenderDataProvider* dataProvider, : mRenderDataProvider( dataProvider ), mContext( NULL), mTextureCache( NULL ), - mUniformNameCache( NULL ), mGeometry( geometry ), mUniformIndexMap(), mAttributesLocation(), @@ -167,11 +165,10 @@ Renderer::Renderer( SceneGraph::RenderDataProvider* dataProvider, } } -void Renderer::Initialize( Context& context, SceneGraph::TextureCache& textureCache, Render::UniformNameCache& uniformNameCache ) +void Renderer::Initialize( Context& context, SceneGraph::TextureCache& textureCache ) { mContext = &context; mTextureCache = &textureCache; - mUniformNameCache = &uniformNameCache; } Renderer::~Renderer() diff --git a/dali/internal/render/renderers/render-renderer.h b/dali/internal/render/renderers/render-renderer.h index d7e6575..628b078 100644 --- a/dali/internal/render/renderers/render-renderer.h +++ b/dali/internal/render/renderers/render-renderer.h @@ -53,7 +53,6 @@ class NodeDataProvider; namespace Render { -class UniformNameCache; /** * Renderers are used to render meshes @@ -169,11 +168,10 @@ public: /** * Second-phase construction. * This is called when the renderer is inside render thread - * @param[in] context to use - * @param[in] textureCache to use - * @param[in] uniformNameCache to use + * @param[in] context Context used by the renderer + * @param[in] textureCache The texture cache to use */ - void Initialize( Context& context, SceneGraph::TextureCache& textureCache, Render::UniformNameCache& uniformNameCache ); + void Initialize( Context& context, SceneGraph::TextureCache& textureCache ); /** * Destructor @@ -441,7 +439,6 @@ private: Context* mContext; SceneGraph::TextureCache* mTextureCache; - Render::UniformNameCache* mUniformNameCache; Render::Geometry* mGeometry; struct UniformIndexMap diff --git a/dali/internal/render/renderers/render-texture.h b/dali/internal/render/renderers/render-texture.h index 35efb2e..8e3dc3d 100644 --- a/dali/internal/render/renderers/render-texture.h +++ b/dali/internal/render/renderers/render-texture.h @@ -45,14 +45,6 @@ class Texture public: /** - * Enumeration to tell that this sampler does not have a unique index yet - */ - enum - { - NOT_INITIALIZED = -1 - }; - - /** * Constructor */ Texture() @@ -86,7 +78,6 @@ public: public: // called from RenderThread /** - * @param[in] buffer A vector wit * Get the texture ID * @return the id of the associated texture */ -- 2.7.4