Merge branch '0.9.5' into nohalf

This commit is contained in:
Christophe Riccio
2013-08-27 10:39:34 +02:00
6 changed files with 63 additions and 91 deletions

View File

@@ -170,15 +170,7 @@ namespace findMSB
{0x08000000, 27},
{0x10000000, 28},
{0x20000000, 29},
{0x40000000, 30},
{0x80000000, 30},
{0xffffffff, -1},
{0xfffffffe, 0},
{0xfffffffd, 1},
{0xfffffffc, 1},
{0xfffffffb, 2},
{0xfffffffa, 2},
{0xfffffff0, 3}
{0x40000000, 30}
};
int test()
@@ -209,8 +201,7 @@ namespace findLSB
{
{0x00000001, 0},
{0x00000003, 0},
{0x00000002, 1},
{0x80000000, 31}
{0x00000002, 1}
};
int test()

View File

@@ -123,8 +123,8 @@ namespace gli
glm::byte * DstData = DstMipmap.data();
glm::byte const * const SrcData = SrcMipmap.data();
std::size_t SizeX = std::min(std::size_t(SrcSize.x + SrcPosition.x), std::size_t(DstMipmap.dimensions().x + DstPosition.x));
std::size_t SizeY = std::min(std::size_t(SrcSize.y + SrcPosition.y), std::size_t(DstMipmap.dimensions().y + DstPosition.y));
std::size_t SizeX = glm::min(std::size_t(SrcSize.x + SrcPosition.x), std::size_t(DstMipmap.dimensions().x + DstPosition.x));
std::size_t SizeY = glm::min(std::size_t(SrcSize.y + SrcPosition.y), std::size_t(DstMipmap.dimensions().y + DstPosition.y));
for(std::size_t j = 0; j < SizeY; ++j)
{

View File

@@ -361,8 +361,8 @@ namespace bitfieldInterleave
int test()
{
glm::uint32 x_max = 1 << 13;
glm::uint32 y_max = 1 << 12;
glm::uint32 x_max = 1 << 11;
glm::uint32 y_max = 1 << 10;
// ALU
std::vector<glm::uint64> Data(x_max * y_max);
@@ -493,17 +493,14 @@ namespace bitfieldInterleave
# if(GLM_ARCH != GLM_ARCH_PURE)
{
// SIMD
glm::int32 simd_x_max = 1 << 13;
glm::int32 simd_y_max = 1 << 12;
std::vector<__m128i> SimdData(x_max * y_max);
std::vector<__m128i> SimdParam(x_max * y_max);
for(int i = 0; i < SimdParam.size(); ++i)
SimdParam[i] = _mm_set_epi32(i % simd_x_max, 0, i / simd_y_max, 0);
SimdParam[i] = _mm_set_epi32(i % x_max, 0, i / y_max, 0);
std::clock_t LastTime = std::clock();
for(std::size_t i = 0; i < Data.size(); ++i)
for(std::size_t i = 0; i < SimdData.size(); ++i)
SimdData[i] = glm::detail::_mm_bit_interleave_si128(SimdParam[i]);
std::clock_t Time = std::clock() - LastTime;