Updated GLI version used in GLM tests
This commit is contained in:
112
test/external/gli/core/copy.inl
vendored
Normal file
112
test/external/gli/core/copy.inl
vendored
Normal file
@@ -0,0 +1,112 @@
|
||||
#include "../type.hpp"
|
||||
#include <cstring>
|
||||
|
||||
namespace gli
|
||||
{
|
||||
template <typename texture_src_type, typename texture_dst_type>
|
||||
void copy
|
||||
(
|
||||
texture_src_type const& TextureSrc, size_t LayerSrc, size_t FaceSrc, size_t LevelSrc,
|
||||
texture_dst_type& TextureDst, size_t LayerDst, size_t FaceDst, size_t LevelDst
|
||||
)
|
||||
{
|
||||
TextureDst.copy(TextureSrc, LayerSrc, FaceSrc, LevelSrc, LayerDst, FaceDst, LevelDst);
|
||||
}
|
||||
|
||||
template <typename texture_src_type, typename texture_dst_type>
|
||||
void copy
|
||||
(
|
||||
texture_src_type const& TextureSrc,
|
||||
texture_dst_type& TextureDst
|
||||
)
|
||||
{
|
||||
copy_layer(TextureSrc, 0, TextureDst, 0, TextureDst.layers());
|
||||
}
|
||||
|
||||
template <typename texture_src_type, typename texture_dst_type>
|
||||
void copy_level
|
||||
(
|
||||
texture_src_type const& TextureSrc, size_t BaseLevelSrc,
|
||||
texture_dst_type& TextureDst, size_t BaseLevelDst,
|
||||
size_t LevelCount
|
||||
)
|
||||
{
|
||||
for(size_t LayerIndex = 0, LayerCount = TextureSrc.layers(); LayerIndex < LayerCount; ++LayerIndex)
|
||||
for(size_t FaceIndex = 0, FaceCount = TextureSrc.faces(); FaceIndex < FaceCount; ++FaceIndex)
|
||||
for(size_t LevelIndex = 0; LevelIndex < LevelCount; ++LevelIndex)
|
||||
{
|
||||
TextureDst.copy(
|
||||
TextureSrc,
|
||||
LayerIndex, FaceIndex, BaseLevelSrc + LevelIndex,
|
||||
LayerIndex, FaceIndex, BaseLevelDst + LevelIndex);
|
||||
}
|
||||
}
|
||||
|
||||
template <typename texture_src_type, typename texture_dst_type>
|
||||
void copy_level
|
||||
(
|
||||
texture_src_type const& TextureSrc, size_t BaseLevelSrc,
|
||||
texture_dst_type& TextureDst, size_t BaseLevelDst
|
||||
)
|
||||
{
|
||||
copy_level(TextureSrc, BaseLevelSrc, TextureDst, BaseLevelDst, 1);
|
||||
}
|
||||
|
||||
template <typename texture_src_type, typename texture_dst_type>
|
||||
void copy_face
|
||||
(
|
||||
texture_src_type const& TextureSrc, size_t BaseFaceSrc,
|
||||
texture_dst_type& TextureDst, size_t BaseFaceDst,
|
||||
size_t FaceCount
|
||||
)
|
||||
{
|
||||
for(size_t LayerIndex = 0, LayerCount = TextureSrc.layers(); LayerIndex < LayerCount; ++LayerIndex)
|
||||
for(size_t FaceIndex = 0; FaceIndex < FaceCount; ++FaceIndex)
|
||||
for(size_t LevelIndex = 0, LevelCount = TextureSrc.levels(); LevelIndex < LevelCount; ++LevelIndex)
|
||||
{
|
||||
TextureDst.copy(
|
||||
TextureSrc,
|
||||
LayerIndex, BaseFaceSrc + FaceIndex, LevelIndex,
|
||||
LayerIndex, BaseFaceDst + FaceIndex, LevelIndex);
|
||||
}
|
||||
}
|
||||
|
||||
template <typename texture_src_type, typename texture_dst_type>
|
||||
void copy_face
|
||||
(
|
||||
texture_src_type const& TextureSrc, size_t BaseFaceSrc,
|
||||
texture_dst_type& TextureDst, size_t BaseFaceDst
|
||||
)
|
||||
{
|
||||
copy_face(TextureSrc, BaseFaceSrc, TextureDst, BaseFaceDst, 1);
|
||||
}
|
||||
|
||||
template <typename texture_src_type, typename texture_dst_type>
|
||||
void copy_layer
|
||||
(
|
||||
texture_src_type const& TextureSrc, size_t BaseLayerSrc,
|
||||
texture_dst_type& TextureDst, size_t BaseLayerDst,
|
||||
size_t LayerCount
|
||||
)
|
||||
{
|
||||
for(size_t LayerIndex = 0; LayerIndex < LayerCount; ++LayerIndex)
|
||||
for(size_t FaceIndex = 0, FaceCount = TextureSrc.faces(); FaceIndex < FaceCount; ++FaceIndex)
|
||||
for(size_t LevelIndex = 0, LevelCount = TextureSrc.levels(); LevelIndex < LevelCount; ++LevelIndex)
|
||||
{
|
||||
TextureDst.copy(
|
||||
TextureSrc,
|
||||
BaseLayerSrc + LayerIndex, FaceIndex, LevelIndex,
|
||||
BaseLayerDst + LayerIndex, FaceIndex, LevelIndex);
|
||||
}
|
||||
}
|
||||
|
||||
template <typename texture_src_type, typename texture_dst_type>
|
||||
void copy_layer
|
||||
(
|
||||
texture_src_type const& TextureSrc, size_t BaseLayerSrc,
|
||||
texture_dst_type& TextureDst, size_t BaseLayerDst
|
||||
)
|
||||
{
|
||||
copy_layer(TextureSrc, BaseLayerSrc, TextureDst, BaseLayerDst, 1);
|
||||
}
|
||||
}//namespace gli
|
||||
Reference in New Issue
Block a user