2015-05-24 04:55:12 +00:00
|
|
|
// Copyright 2008 Dolphin Emulator Project
|
2021-07-05 01:22:19 +00:00
|
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
2008-12-08 04:46:09 +00:00
|
|
|
|
2014-02-10 18:54:46 +00:00
|
|
|
#pragma once
|
2008-12-08 04:46:09 +00:00
|
|
|
|
2014-09-08 01:06:58 +00:00
|
|
|
#include "Common/CommonTypes.h"
|
2008-12-08 04:46:09 +00:00
|
|
|
|
2015-09-12 07:04:40 +00:00
|
|
|
constexpr u8 Convert3To8(u8 v)
|
2009-07-30 20:29:52 +00:00
|
|
|
{
|
|
|
|
// Swizzle bits: 00000123 -> 12312312
|
|
|
|
return (v << 5) | (v << 2) | (v >> 1);
|
|
|
|
}
|
|
|
|
|
2015-09-12 07:04:40 +00:00
|
|
|
constexpr u8 Convert4To8(u8 v)
|
2009-07-30 20:29:52 +00:00
|
|
|
{
|
|
|
|
// Swizzle bits: 00001234 -> 12341234
|
|
|
|
return (v << 4) | v;
|
|
|
|
}
|
|
|
|
|
2015-09-12 07:04:40 +00:00
|
|
|
constexpr u8 Convert5To8(u8 v)
|
2009-07-30 20:29:52 +00:00
|
|
|
{
|
|
|
|
// Swizzle bits: 00012345 -> 12345123
|
|
|
|
return (v << 3) | (v >> 2);
|
|
|
|
}
|
|
|
|
|
2015-09-12 07:04:40 +00:00
|
|
|
constexpr u8 Convert6To8(u8 v)
|
2009-07-30 20:29:52 +00:00
|
|
|
{
|
|
|
|
// Swizzle bits: 00123456 -> 12345612
|
|
|
|
return (v << 2) | (v >> 4);
|
|
|
|
}
|