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