1 #ifndef DALI_INTERNAL_UNIFORM_NAME_CACHE_H
2 #define DALI_INTERNAL_UNIFORM_NAME_CACHE_H
5 * Copyright (c) 2015 Samsung Electronics Co., Ltd.
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
24 #include <dali/devel-api/common/owner-container.h>
36 * This class maps uniform names to unique indices that can be used to cache the GL uniform
37 * index values in programs and only do the costly string lookup once
39 class UniformNameCache
54 * This method can be used to query a cache for the unique index for a sampler uniform
55 * @param uniformName to get the index for
56 * @return a unique index for this sampler uniform
58 int32_t GetSamplerUniformUniqueIndex( const std::string& uniformName );
64 UniformEntry( const std::string& name, std::size_t hash )
65 : uniformName( name ),
68 std::string uniformName;
72 OwnerContainer< UniformEntry* > mSamplerUniformCache;
78 } // namespace Internal
82 #endif // DALI_INTERNAL_UNIFORM_NAME_CACHE_H