2015-05-23 22:55:12 -06:00
|
|
|
// Copyright 2008 Dolphin Emulator Project
|
2021-07-04 19:22:19 -06:00
|
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
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
|
|
|
}
|