[3.0] remove Uniform name cache as its no longer used 01/84901/1 accepted/tizen/common/20160830.150426 accepted/tizen/ivi/20160830.235916 accepted/tizen/mobile/20160830.235737 accepted/tizen/tv/20160830.235811 accepted/tizen/wearable/20160830.235842 submit/tizen/20160830.090852
authorKimmo Hoikka <kimmo.hoikka@samsung.com>
Mon, 15 Aug 2016 17:47:55 +0000 (18:47 +0100)
committerAgnelo Vaz <agnelo.vaz@samsung.com>
Mon, 22 Aug 2016 17:11:32 +0000 (18:11 +0100)
Change-Id: Idd00992e0834e6aa919a58adefbb87f30d83a10f

dali/internal/file.list
dali/internal/render/common/render-manager.cpp
dali/internal/render/data-providers/uniform-name-cache.cpp [deleted file]
dali/internal/render/data-providers/uniform-name-cache.h [deleted file]
dali/internal/render/renderers/render-renderer.cpp
dali/internal/render/renderers/render-renderer.h
dali/internal/render/renderers/render-texture.h

index 92a2e1f..f7bcf2b 100644 (file)
@@ -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 \
index a4281eb..96ab1ff 100644 (file)
@@ -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 <dali/internal/render/common/render-tracker.h>
 #include <dali/internal/render/common/render-instruction-container.h>
 #include <dali/internal/render/common/render-instruction.h>
-#include <dali/internal/render/data-providers/uniform-name-cache.h>
 #include <dali/internal/render/gl-resources/context.h>
 #include <dali/internal/render/gl-resources/frame-buffer-texture.h>
 #include <dali/internal/render/gl-resources/texture-cache.h>
@@ -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<int>& 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 (file)
index a98c171..0000000
+++ /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 <dali/internal/render/data-providers/uniform-name-cache.h>
-
-// INTERNAL INCLUDES
-#include <dali/devel-api/common/hash.h>
-
-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 (file)
index d251117..0000000
+++ /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 <string>
-
-// INTERNAL INCLUDES
-#include <dali/devel-api/common/owner-container.h>
-
-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
index cbad8bb..82e4a69 100644 (file)
@@ -25,7 +25,6 @@
 #include <dali/internal/render/shaders/scene-graph-shader.h>
 #include <dali/internal/render/shaders/program.h>
 #include <dali/internal/render/data-providers/node-data-provider.h>
-#include <dali/internal/render/data-providers/uniform-name-cache.h>
 #include <dali/internal/render/gl-resources/texture-cache.h>
 #include <dali/public-api/actors/blending.h>
 #include <dali/internal/render/gl-resources/gl-texture.h>
@@ -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()
index d7e6575..628b078 100644 (file)
@@ -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
index 35efb2e..8e3dc3d 100644 (file)
@@ -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
    */