2015-05-23 22:55:12 -06:00
|
|
|
// Copyright 2008 Dolphin Emulator Project
|
2015-05-17 17:08:10 -06:00
|
|
|
// Licensed under GPLv2+
|
2013-04-17 21:09:55 -06:00
|
|
|
// Refer to the license.txt file included.
|
2008-12-07 21:46:09 -07:00
|
|
|
|
2014-02-10 11:54:46 -07:00
|
|
|
#pragma once
|
2008-12-07 21:46:09 -07:00
|
|
|
|
2014-09-07 19:06:58 -06:00
|
|
|
#include "Common/CommonTypes.h"
|
2008-12-07 21:46:09 -07:00
|
|
|
|
2015-09-12 01:04:40 -06:00
|
|
|
constexpr u8 Convert3To8(u8 v)
|
2009-07-30 14:29:52 -06:00
|
|
|
{
|
2016-06-24 02:43:46 -06:00
|
|
|
// Swizzle bits: 00000123 -> 12312312
|
|
|
|
return (v << 5) | (v << 2) | (v >> 1);
|
2009-07-30 14:29:52 -06:00
|
|
|
}
|
|
|
|
|
2015-09-12 01:04:40 -06:00
|
|
|
constexpr u8 Convert4To8(u8 v)
|
2009-07-30 14:29:52 -06:00
|
|
|
{
|
2016-06-24 02:43:46 -06:00
|
|
|
// Swizzle bits: 00001234 -> 12341234
|
|
|
|
return (v << 4) | v;
|
2009-07-30 14:29:52 -06:00
|
|
|
}
|
|
|
|
|
2015-09-12 01:04:40 -06:00
|
|
|
constexpr u8 Convert5To8(u8 v)
|
2009-07-30 14:29:52 -06:00
|
|
|
{
|
2016-06-24 02:43:46 -06:00
|
|
|
// Swizzle bits: 00012345 -> 12345123
|
|
|
|
return (v << 3) | (v >> 2);
|
2009-07-30 14:29:52 -06:00
|
|
|
}
|
|
|
|
|
2015-09-12 01:04:40 -06:00
|
|
|
constexpr u8 Convert6To8(u8 v)
|
2009-07-30 14:29:52 -06:00
|
|
|
{
|
2016-06-24 02:43:46 -06:00
|
|
|
// Swizzle bits: 00123456 -> 12345612
|
|
|
|
return (v << 2) | (v >> 4);
|
2009-07-30 14:29:52 -06:00
|
|
|
}
|